@faststore/core 3.83.0 → 3.84.0
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 +32 -32
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- 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/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +36 -36
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/1911.js +1 -1
- package/.next/server/chunks/2792.js +1 -1
- package/.next/server/chunks/6789.js +1 -1
- package/.next/server/chunks/8474.js +2 -2
- package/.next/server/chunks/948.js +1 -1
- package/.next/server/chunks/9563.js +2 -2
- package/.next/server/chunks/9630.js +10 -7
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/[slug]/p.js +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/en-US/404.html +1 -1
- package/.next/server/pages/en-US/500.html +1 -1
- package/.next/server/pages/en-US/checkout.html +1 -1
- package/.next/server/pages/en-US/login.html +1 -1
- package/.next/server/pages/en-US/s.html +1 -1
- package/.next/server/pages/en-US.html +1 -1
- package/.next/server/pages/s.js +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{irlP2Y8IJEbMTGvY6bTt_ → DhcFFBEwJrYjN9OdXaeMO}/_buildManifest.js +1 -1
- package/.next/static/chunks/3166-b1ac316afe18625b.js +1 -0
- package/.next/static/chunks/3836.c7f8d69a151682bc.js +1 -0
- package/.next/static/chunks/{6393.f13568b0fd5f52f6.js → 6393.4ad395e06f7dbbc6.js} +1 -1
- package/.next/static/chunks/6789.c37c2ec891333684.js +1 -0
- package/.next/static/chunks/7191-d39597fc204602cb.js +1 -0
- package/.next/static/chunks/9781.60f28efd7e165f54.js +1 -0
- package/.next/static/chunks/ProductShelf.ee5cec2ae121df87.js +1 -0
- package/.next/static/chunks/ProductTiles.2bd64de5bcd5f6d8.js +1 -0
- package/.next/static/chunks/pages/[slug]/{p-0287b5a8ac0b92e5.js → p-60dd0938ba92424b.js} +1 -1
- package/.next/static/chunks/pages/_app-423f11b0d7fff185.js +1 -0
- package/.next/static/chunks/pages/s-c624c961a98a1be0.js +1 -0
- package/.next/static/chunks/{webpack-e7151d8bd72a8f2f.js → webpack-92cd0db592faf63b.js} +1 -1
- package/.next/static/css/{4656927d3ebbf5b8.css → 04fb2d4b8924b0c6.css} +1 -1
- package/.next/static/css/24a5e8f6808266fe.css +1 -0
- package/.next/static/css/{62a5153ac7061286.css → 3d7be7043aee15df.css} +1 -1
- package/.next/static/css/{a3ca6a9b63f657be.css → 6cd282d958f613bc.css} +1 -1
- package/.next/static/css/{8f6350925b347380.css → fe0bcc13a2b68605.css} +1 -1
- package/.next/trace +136 -136
- package/.turbo/turbo-build.log +19 -19
- package/.turbo/turbo-test.log +5 -5
- package/@generated/gql.ts +2 -2
- package/@generated/graphql.ts +22 -3
- package/@generated/persisted-documents.json +3 -3
- package/@generated/schema.graphql +8 -0
- package/CHANGELOG.md +12 -0
- package/cms/faststore/content-types.json +32 -0
- package/package.json +5 -5
- package/src/components/product/ProductCard/ProductCard.tsx +14 -0
- package/src/components/sections/ProductTiles/ProductTiles.tsx +15 -1
- package/src/components/templates/SearchPage/SearchPage.tsx +1 -3
- package/src/components/templates/SearchPage/SearchWrapper.tsx +1 -1
- package/src/components/ui/ProductShelf/ProductShelf.tsx +4 -7
- package/src/pages/s.tsx +5 -8
- package/src/sdk/deliveryPromise/useDeliveryPromise.ts +87 -1
- package/src/sdk/product/useLocalizedVariables.ts +2 -6
- package/src/sdk/product/usePageProductsQuery.ts +64 -80
- package/src/utils/globalSettings.ts +7 -0
- package/src/utils/utilities.ts +18 -0
- package/.next/static/chunks/3166-785c61fd0e214905.js +0 -1
- package/.next/static/chunks/3836.63a23109a71dbbdb.js +0 -1
- package/.next/static/chunks/6789.38bef760c1190c23.js +0 -1
- package/.next/static/chunks/7191-102277856f196551.js +0 -1
- package/.next/static/chunks/9781.dd4028663db7414b.js +0 -1
- package/.next/static/chunks/ProductShelf.9f3194be577c7cce.js +0 -1
- package/.next/static/chunks/ProductTiles.e0528e72234381e6.js +0 -1
- package/.next/static/chunks/pages/_app-f8a8608651b3f06b.js +0 -1
- package/.next/static/chunks/pages/s-e7745eef6c834c3e.js +0 -1
- package/.next/static/css/4b8252ed2f23ac67.css +0 -1
- /package/.next/static/{irlP2Y8IJEbMTGvY6bTt_ → DhcFFBEwJrYjN9OdXaeMO}/_ssgManifest.js +0 -0
|
@@ -8,7 +8,10 @@ import {
|
|
|
8
8
|
type SearchState,
|
|
9
9
|
type Session,
|
|
10
10
|
} from '@faststore/sdk'
|
|
11
|
-
import type {
|
|
11
|
+
import type {
|
|
12
|
+
DeliveryPromiseBadge,
|
|
13
|
+
Filter_FacetsFragment,
|
|
14
|
+
} from '@generated/graphql'
|
|
12
15
|
|
|
13
16
|
import type { useFilter } from 'src/sdk/search/useFilter'
|
|
14
17
|
import { useSession } from 'src/sdk/session'
|
|
@@ -31,6 +34,7 @@ export const DELIVERY_OPTIONS_FACET_KEY = 'delivery-options' as const
|
|
|
31
34
|
export const DYNAMIC_ESTIMATE_FACET_KEY = 'dynamic-estimate' as const
|
|
32
35
|
|
|
33
36
|
type Facet = SearchState['selectedFacets'][number]
|
|
37
|
+
type DeliveryType = 'delivery' | 'pickup-in-point'
|
|
34
38
|
|
|
35
39
|
export type PickupPoint = {
|
|
36
40
|
id: string
|
|
@@ -84,6 +88,7 @@ type Props = {
|
|
|
84
88
|
allFacets?: ReturnType<typeof useFilter>['facets']
|
|
85
89
|
fallbackToFirstPickupPoint?: boolean
|
|
86
90
|
selectedFilterFacets?: Facet[]
|
|
91
|
+
deliveryPromiseBadges?: DeliveryPromiseBadge[]
|
|
87
92
|
}
|
|
88
93
|
|
|
89
94
|
/**
|
|
@@ -95,6 +100,7 @@ export function useDeliveryPromise({
|
|
|
95
100
|
selectedFilterFacets = undefined,
|
|
96
101
|
deliveryPromiseSettings,
|
|
97
102
|
fallbackToFirstPickupPoint = true,
|
|
103
|
+
deliveryPromiseBadges,
|
|
98
104
|
}: Props = {}) {
|
|
99
105
|
const { postalCode } = useSession()
|
|
100
106
|
const { state: searchState, setState: setSearchState } = useSearch()
|
|
@@ -435,6 +441,84 @@ export function useDeliveryPromise({
|
|
|
435
441
|
[]
|
|
436
442
|
)
|
|
437
443
|
|
|
444
|
+
function getBadgeLabel(value: DeliveryType, isAvailable: boolean) {
|
|
445
|
+
const labelMap: Record<
|
|
446
|
+
DeliveryType,
|
|
447
|
+
{ available: string; unavailable: string }
|
|
448
|
+
> = {
|
|
449
|
+
delivery: {
|
|
450
|
+
available:
|
|
451
|
+
deliveryPromiseSettings?.deliveryPromiseBadges?.delivery ??
|
|
452
|
+
'Available for shipping',
|
|
453
|
+
unavailable:
|
|
454
|
+
deliveryPromiseSettings?.deliveryPromiseBadges?.deliveryUnavailable ??
|
|
455
|
+
'Unavailable for shipping',
|
|
456
|
+
},
|
|
457
|
+
'pickup-in-point': {
|
|
458
|
+
available:
|
|
459
|
+
deliveryPromiseSettings?.deliveryPromiseBadges?.pickupInPoint ??
|
|
460
|
+
'Available for pickup',
|
|
461
|
+
unavailable:
|
|
462
|
+
deliveryPromiseSettings?.deliveryPromiseBadges
|
|
463
|
+
?.pickupInPointUnavailable ?? 'Unavailable for pickup',
|
|
464
|
+
},
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
return labelMap[value]
|
|
468
|
+
? isAvailable
|
|
469
|
+
? labelMap[value].available
|
|
470
|
+
: labelMap[value].unavailable
|
|
471
|
+
: value
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
function getDeliveryPromiseBadges() {
|
|
475
|
+
// Only add unavailable badges if at least one delivery method is available
|
|
476
|
+
if (!deliveryPromiseBadges || deliveryPromiseBadges.length === 0) return []
|
|
477
|
+
|
|
478
|
+
const badges: Array<{ label: string; availability: boolean }> = []
|
|
479
|
+
|
|
480
|
+
const availableTypeNames = deliveryPromiseBadges?.map(
|
|
481
|
+
(badge) => badge.typeName
|
|
482
|
+
)
|
|
483
|
+
|
|
484
|
+
const hasDelivery = availableTypeNames?.includes('delivery')
|
|
485
|
+
const hasPickupPoint = availableTypeNames?.includes('pickup-in-point')
|
|
486
|
+
|
|
487
|
+
if (hasDelivery) {
|
|
488
|
+
badges.push({
|
|
489
|
+
label: getBadgeLabel('delivery', true),
|
|
490
|
+
availability: true,
|
|
491
|
+
})
|
|
492
|
+
} else {
|
|
493
|
+
badges.push({
|
|
494
|
+
label: getBadgeLabel('delivery', false),
|
|
495
|
+
availability: false,
|
|
496
|
+
})
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
if (hasPickupPoint) {
|
|
500
|
+
badges.push({
|
|
501
|
+
label: getBadgeLabel('pickup-in-point', true),
|
|
502
|
+
availability: true,
|
|
503
|
+
})
|
|
504
|
+
} else {
|
|
505
|
+
badges.push({
|
|
506
|
+
label: getBadgeLabel('pickup-in-point', false),
|
|
507
|
+
availability: false,
|
|
508
|
+
})
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
return badges
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
const badges = getDeliveryPromiseBadges()
|
|
515
|
+
|
|
516
|
+
const shouldDisplayDeliveryPromiseBadges =
|
|
517
|
+
!!postalCode &&
|
|
518
|
+
isDeliveryPromiseEnabled &&
|
|
519
|
+
(deliveryPromiseSettings?.deliveryPromiseBadges?.enabled ?? true) &&
|
|
520
|
+
badges.length > 0
|
|
521
|
+
|
|
438
522
|
return {
|
|
439
523
|
mandatory: deliveryPromiseConfig.mandatory,
|
|
440
524
|
isEnabled: isDeliveryPromiseEnabled,
|
|
@@ -463,6 +547,8 @@ export function useDeliveryPromise({
|
|
|
463
547
|
pickupPoints?.length > 0 &&
|
|
464
548
|
(deliveryPromiseSettings?.deliveryMethods?.pickupAll?.enabled ?? false),
|
|
465
549
|
shouldDisplayDeliveryButton: isDeliveryPromiseEnabled && !postalCode,
|
|
550
|
+
shouldDisplayDeliveryPromiseBadges,
|
|
551
|
+
badges,
|
|
466
552
|
}
|
|
467
553
|
}
|
|
468
554
|
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { useMemo } from 'react'
|
|
2
|
-
import deepmerge from 'deepmerge'
|
|
3
2
|
|
|
4
|
-
import { useSearch, type SearchState } from '@faststore/sdk'
|
|
5
3
|
import type { ClientManyProductsQueryQueryVariables } from '@generated/graphql'
|
|
6
4
|
|
|
7
|
-
import { useSession } from 'src/sdk/session'
|
|
8
5
|
import { ITEMS_PER_SECTION } from 'src/constants'
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Array.isArray(x) ? x : x ? [x] : []
|
|
6
|
+
import { useSession } from 'src/sdk/session'
|
|
7
|
+
import { toArray } from 'src/utils/utilities'
|
|
12
8
|
|
|
13
9
|
export const useLocalizedVariables = ({
|
|
14
10
|
first,
|
|
@@ -18,7 +18,6 @@ import { useQuery } from 'src/sdk/graphql/useQuery'
|
|
|
18
18
|
import { generatedBuildTime } from '../../../next-seo.config'
|
|
19
19
|
import { useLocalizedVariables } from './useLocalizedVariables'
|
|
20
20
|
import { useShouldFetchFirstPage } from './useShouldFetchFirstPage'
|
|
21
|
-
import { useSession } from 'src/sdk/session'
|
|
22
21
|
|
|
23
22
|
export const UseGalleryPageContext = createContext<
|
|
24
23
|
ReturnType<typeof useCreateUseGalleryPage>['useGalleryPage']
|
|
@@ -69,9 +68,8 @@ export const query = gql(`
|
|
|
69
68
|
const getKey = (object: any) => JSON.stringify(object)
|
|
70
69
|
|
|
71
70
|
interface UseCreateUseGalleryPageProps {
|
|
72
|
-
initialPages
|
|
73
|
-
serverManyProductsVariables
|
|
74
|
-
searchTerm?: string
|
|
71
|
+
initialPages: ClientManyProductsQueryQuery
|
|
72
|
+
serverManyProductsVariables: ClientManyProductsQueryQueryVariables
|
|
75
73
|
}
|
|
76
74
|
|
|
77
75
|
/**
|
|
@@ -80,7 +78,6 @@ interface UseCreateUseGalleryPageProps {
|
|
|
80
78
|
export const useCreateUseGalleryPage = (
|
|
81
79
|
params?: UseCreateUseGalleryPageProps
|
|
82
80
|
) => {
|
|
83
|
-
const { postalCode: sessionPostalCode } = useSession()
|
|
84
81
|
const initialPages = params?.initialPages?.search ? [params.initialPages] : []
|
|
85
82
|
const initialVariables = params?.serverManyProductsVariables
|
|
86
83
|
? [getKey(params.serverManyProductsVariables)]
|
|
@@ -91,86 +88,73 @@ export const useCreateUseGalleryPage = (
|
|
|
91
88
|
// We create pagesRef as a mirror of the pages state so we don't have to add pages as a dependency of the useGalleryPage hook
|
|
92
89
|
const pagesRef = useRef<ClientManyProductsQueryQuery[]>(initialPages)
|
|
93
90
|
const pagesCache = useRef<string[]>(initialVariables)
|
|
94
|
-
const postalCodeRef = useRef<string>(sessionPostalCode)
|
|
95
|
-
|
|
96
|
-
const useGalleryPage = useCallback(
|
|
97
|
-
function useGalleryPage(page: number) {
|
|
98
|
-
const {
|
|
99
|
-
state: { sort, term, selectedFacets },
|
|
100
|
-
itemsPerPage,
|
|
101
|
-
} = useSearch()
|
|
102
|
-
|
|
103
|
-
const localizedVariables = useLocalizedVariables({
|
|
104
|
-
first: itemsPerPage,
|
|
105
|
-
after: (itemsPerPage * page).toString(),
|
|
106
|
-
sort,
|
|
107
|
-
term: params?.searchTerm ?? term ?? '',
|
|
108
|
-
selectedFacets,
|
|
109
|
-
})
|
|
110
|
-
|
|
111
|
-
const hasSameVariables = deepEquals(
|
|
112
|
-
pagesCache.current[page],
|
|
113
|
-
getKey(localizedVariables)
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
const shouldFetchFirstPage = useShouldFetchFirstPage({
|
|
117
|
-
page,
|
|
118
|
-
generatedBuildTime,
|
|
119
|
-
})
|
|
120
|
-
|
|
121
|
-
const shouldFetch =
|
|
122
|
-
!hasSameVariables || shouldFetchFirstPage || !!sessionPostalCode
|
|
123
|
-
|
|
124
|
-
const { data, mutate } = useQuery<
|
|
125
|
-
ClientManyProductsQueryQuery,
|
|
126
|
-
ClientManyProductsQueryQueryVariables
|
|
127
|
-
>(query, localizedVariables, {
|
|
128
|
-
fallbackData: null,
|
|
129
|
-
suspense: true,
|
|
130
|
-
doNotRun: !shouldFetch,
|
|
131
|
-
})
|
|
132
|
-
|
|
133
|
-
const shouldUpdatePages = data !== null
|
|
134
91
|
|
|
135
|
-
|
|
136
|
-
|
|
92
|
+
const useGalleryPage = useCallback(function useGalleryPage(page: number) {
|
|
93
|
+
const {
|
|
94
|
+
state: { sort, term, selectedFacets },
|
|
95
|
+
itemsPerPage,
|
|
96
|
+
} = useSearch()
|
|
97
|
+
|
|
98
|
+
const localizedVariables = useLocalizedVariables({
|
|
99
|
+
first: itemsPerPage,
|
|
100
|
+
after: (itemsPerPage * page).toString(),
|
|
101
|
+
sort,
|
|
102
|
+
term: term ?? '',
|
|
103
|
+
selectedFacets,
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
const hasSameVariables = deepEquals(
|
|
107
|
+
pagesCache.current[page],
|
|
108
|
+
getKey(localizedVariables)
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
const shouldFetchFirstPage = useShouldFetchFirstPage({
|
|
112
|
+
page,
|
|
113
|
+
generatedBuildTime,
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
const shouldFetch = !hasSameVariables || shouldFetchFirstPage
|
|
117
|
+
|
|
118
|
+
const { data } = useQuery<
|
|
119
|
+
ClientManyProductsQueryQuery,
|
|
120
|
+
ClientManyProductsQueryQueryVariables
|
|
121
|
+
>(query, localizedVariables, {
|
|
122
|
+
fallbackData: null,
|
|
123
|
+
suspense: true,
|
|
124
|
+
doNotRun: !shouldFetch,
|
|
125
|
+
})
|
|
126
|
+
|
|
127
|
+
const shouldUpdatePages = data !== null
|
|
128
|
+
|
|
129
|
+
if (shouldUpdatePages) {
|
|
130
|
+
pagesCache.current[page] = getKey(localizedVariables)
|
|
131
|
+
|
|
132
|
+
// Update refs
|
|
133
|
+
const newPages = [...pagesRef.current]
|
|
134
|
+
newPages[page] = data
|
|
135
|
+
pagesRef.current = newPages
|
|
136
|
+
}
|
|
137
137
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
// Prevents error: Cannot update a component (`ProductListing`) while rendering a different component (`ProductGalleryPage`).
|
|
139
|
+
useEffect(() => {
|
|
140
|
+
if (shouldUpdatePages) {
|
|
141
|
+
// Update state
|
|
142
|
+
setPages((oldPages) => {
|
|
143
|
+
const newPages = [...oldPages]
|
|
144
|
+
newPages[page] = data
|
|
145
|
+
return newPages
|
|
146
|
+
})
|
|
142
147
|
}
|
|
148
|
+
}, [data, page, shouldUpdatePages])
|
|
143
149
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
setPages((oldPages) => {
|
|
149
|
-
const newPages = [...oldPages]
|
|
150
|
-
newPages[page] = data
|
|
151
|
-
return newPages
|
|
152
|
-
})
|
|
153
|
-
}
|
|
154
|
-
}, [data, page, shouldUpdatePages])
|
|
155
|
-
|
|
156
|
-
// Refetch query with updated regionId
|
|
157
|
-
useEffect(() => {
|
|
158
|
-
if (sessionPostalCode !== postalCodeRef.current) {
|
|
159
|
-
mutate()
|
|
160
|
-
postalCodeRef.current = sessionPostalCode
|
|
161
|
-
}
|
|
162
|
-
}, [sessionPostalCode])
|
|
163
|
-
|
|
164
|
-
return useMemo(() => {
|
|
165
|
-
if (hasSameVariables) {
|
|
166
|
-
return { data: pagesRef.current[page] }
|
|
167
|
-
}
|
|
150
|
+
return useMemo(() => {
|
|
151
|
+
if (hasSameVariables) {
|
|
152
|
+
return { data: pagesRef.current[page] }
|
|
153
|
+
}
|
|
168
154
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
[params?.searchTerm, sessionPostalCode]
|
|
173
|
-
)
|
|
155
|
+
return { data }
|
|
156
|
+
}, [hasSameVariables, data, page])
|
|
157
|
+
}, [])
|
|
174
158
|
|
|
175
159
|
return useMemo(
|
|
176
160
|
() => ({
|
|
@@ -63,6 +63,13 @@ type DeliveryPromiseCmsData = {
|
|
|
63
63
|
title?: string
|
|
64
64
|
allDeliveryOptions?: string
|
|
65
65
|
}
|
|
66
|
+
deliveryPromiseBadges?: {
|
|
67
|
+
enabled?: boolean
|
|
68
|
+
delivery?: string
|
|
69
|
+
deliveryUnavailable?: string
|
|
70
|
+
pickupInPoint?: string
|
|
71
|
+
pickupInPointUnavailable?: string
|
|
72
|
+
}
|
|
66
73
|
}
|
|
67
74
|
|
|
68
75
|
export function getGlobalSettings(
|
package/src/utils/utilities.ts
CHANGED
|
@@ -93,3 +93,21 @@ export const buildFormData = (
|
|
|
93
93
|
|
|
94
94
|
return form
|
|
95
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Converts a value to an array. If the value is already an array, returns it as-is.
|
|
98
|
+
* If the value is undefined or null, returns an empty array.
|
|
99
|
+
* Otherwise, wraps the value in an array.
|
|
100
|
+
*
|
|
101
|
+
* @param x - The value to convert to an array
|
|
102
|
+
* @returns An array containing the value(s)
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
export const toArray = <T>(x: T[] | T | undefined) =>
|
|
106
|
+
Array.isArray(x) ? x : x ? [x] : []
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Array merging strategy from deepmerge that makes source arrays overwrite destination array
|
|
110
|
+
*
|
|
111
|
+
* @see https://www.npmjs.com/package/deepmerge
|
|
112
|
+
*/
|
|
113
|
+
export const overwriteMerge = (_: any[], sourceArray: any[]) => sourceArray
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3166,84],{839:function(e,t,r){"use strict";var n=r(3067),o=r(4235),i=r(5402),c=r(8394),a=r(5167),s=r(547),l=r(4194),u=r(2331),d=r.n(u),p=r(2056),f=r(643),b=r(8563),j=r(1549),O=["product","index","bordered","variant","aspectRatio","imgProps","ratingValue","buttonLabel","onButtonClick","showDiscountBadge","taxesConfiguration","sponsoredLabel","enableCompareCheckbox","compareLabel"];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}t.Z=(0,l.memo)(function(e){var t,r,{product:n,index:u,bordered:y=!0,variant:v="default",aspectRatio:h=1,imgProps:w,ratingValue:m,buttonLabel:g="Add",onButtonClick:_,showDiscountBadge:P=!0,taxesConfiguration:S,sponsoredLabel:x,enableCompareCheckbox:k=!1,compareLabel:D}=e,N=(0,o.Z)(e,O),{sku:Z,isVariantOf:{name:T},image:[B],advertisement:C,offers:{lowPrice:K,lowPriceWithTaxes:E,offers:[{listPrice:L,availability:I,listPriceWithTaxes:V}]}}=n,R=_objectSpread(_objectSpread({},(0,b.w)({product:n,selectedOffer:0,index:u})),{},{as:d(),passHref:!0,legacyBehavior:!1,prefetch:!1}),z=(0,l.useMemo)(()=>"https://schema.org/InStock"!==I,[I]),F=null!=S&&S.usePriceWithTaxes?E:K,M=null!=S&&S.usePriceWithTaxes?V:L,G=C?{"data-van-res-id":C.adResponseId,"data-van-aid":C.adId,"data-van-prod-name":T}:{};return(0,j.jsxs)(j.Fragment,{children:[k&&(0,j.jsx)(i.Z,{label:D,product:n,id:n.id}),(0,j.jsxs)(c.Z,_objectSpread(_objectSpread(_objectSpread({outOfStock:z,bordered:y,variant:v,"data-fs-product-card-sku":Z},G),N),{},{children:[(0,j.jsx)(a.Z,{aspectRatio:h,children:(0,j.jsx)(p.Z,{src:B.url,alt:B.alternateName,sizes:"".concat(null!==(t=null==w?void 0:w.sizes)&&void 0!==t?t:"(max-width: 768px) 40vw, 30vw"),width:null!==(r=null==w?void 0:w.width)&&void 0!==r?r:360,height:Math.round((Number(null==w?void 0:w.height)||360)/h),loading:null==w?void 0:w.loading})}),(0,j.jsx)(s.Z,{title:T,price:{value:F,listPrice:M,formatter:f.P},ratingValue:m,outOfStock:z,onButtonClick:_,linkProps:R,showDiscountBadge:F<=M&&P,includeTaxes:null==S?void 0:S.usePriceWithTaxes,includeTaxesLabel:null==S?void 0:S.taxesLabel,sponsored:!!C,sponsoredLabel:x})]}))]})})},3143:function(e,t,r){"use strict";r.r(t);var n=r(4173),o=r(7272),i=r(1325),c=r(178),a=r.n(c),s=r(1549);function BannerNewsletter(e){var{banner:t,newsletter:r}=e;return(0,s.jsx)(i.Z,{className:"".concat(a().section," section-banner-newsletter"),children:(0,s.jsxs)("div",{"data-fs-banner-text-newsletter":!0,"data-fs-content":"banner-newsletter",children:[(0,s.jsx)(n.OverriddenDefaultBannerText,{title:t.title,caption:t.caption,link:null==t?void 0:t.link,variant:t.variant,colorVariant:t.colorVariant}),(0,s.jsx)(o.OverriddenDefaultNewsletter,{card:!0,colorVariant:r.colorVariant,title:r.title,description:r.description,icon:r.icon,privacyPolicy:r.privacyPolicy,emailInputLabel:r.emailInputLabel,displayNameInput:r.displayNameInput,nameInputLabel:r.nameInputLabel,subscribeButtonLabel:r.subscribeButtonLabel,subscribeButtonLoadingLabel:r.subscribeButtonLoadingLabel,toastSubscribe:r.toastSubscribe,toastSubscribeError:r.toastSubscribeError})]})})}BannerNewsletter.$componentKey="BannerNewsletter",t.default=BannerNewsletter},4173:function(e,t,r){"use strict";r.r(t),r.d(t,{OverriddenDefaultBannerText:function(){return O}});var n=r(3067),o={section:"BannerText"},i=r(1716),c=r(9746),a=r(1325),s=r(7910),l=r.n(s),u=r(3888),d=r.n(u),p=d()(()=>Promise.all([r.e(9666),r.e(4836),r.e(9781),r.e(5890)]).then(r.bind(r,4836)).then(e=>e.BannerText),{loadableGenerated:{webpack:()=>[null]}}),f=d()(()=>Promise.all([r.e(9666),r.e(4836),r.e(9781),r.e(5890)]).then(r.bind(r,4836)).then(e=>e.BannerTextContent),{loadableGenerated:{webpack:()=>[null]}}),b=r(1549);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function BannerText(e){var t,r,{title:n,caption:o,link:{url:i,text:s,linkTargetBlank:u},variant:d,colorVariant:p}=e,{BannerText:f,BannerTextContent:j}=(0,c.r3)();return(0,b.jsx)(a.Z,{className:"".concat(l().section," section-banner layout__section"),children:(0,b.jsx)(f.Component,_objectSpread(_objectSpread({},f.props),{},{variant:null!==(t=null!=d?d:f.props.variant)&&void 0!==t?t:"primary",colorVariant:null!==(r=null!=p?p:f.props.colorVariant)&&void 0!==r?r:"main",children:(0,b.jsx)(j.Component,_objectSpread(_objectSpread({},j.props),{},{title:n,caption:o,link:null!=i?i:j.props.link,linkText:null!=s?s:j.props.linkText,linkTargetBlank:null!=u?u:j.props.linkTargetBlank}))}))})}BannerText.$componentKey="BannerText";var j=(0,i.B)("BannerText",BannerText,{BannerText:p,BannerTextContent:f});function OverriddenDefaultBannerText_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 OverriddenDefaultBannerText_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultBannerText_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultBannerText_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var O=(0,i.v)(OverriddenDefaultBannerText_objectSpread(OverriddenDefaultBannerText_objectSpread(OverriddenDefaultBannerText_objectSpread({},o),o),{},{Section:j}))},5758:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var n=r(3067),o={section:"CrossSellingShelf"},i=r(1716),c=r(4194),a=r(7247),s=r(6410),l=r(6272),u=r(2418),d=r.n(u),p=r(1325),f=r(6737),b=r(839),j=r(6039),O={ProductShelf:f.Z,__experimentalCarousel:j.Z,__experimentalProductCard:b.Z},y=r(1549),CrossSellingShelf=e=>{var t,r,n,{numberOfItems:o,itemsPerPage:i,title:u,kind:f,taxesConfiguration:b}=e,{ref:j,inView:O}=(0,s.YD)(),v=(0,l.al)(),h=null==v?void 0:null===(t=v.data)||void 0===t?void 0:null===(r=t.product)||void 0===r?void 0:null===(n=r.isVariantOf)||void 0===n?void 0:n.productGroupID,w=(0,c.useMemo)(()=>[{key:f,value:h}],[f,h]);return(0,y.jsx)(p.Z,{className:"".concat(d().section," section-product-shelf layout__section"),ref:j,children:(0,y.jsx)(a.Z,{inView:O,numberOfItems:o,itemsPerPage:i,title:u,selectedFacets:w,taxesConfiguration:b})})};CrossSellingShelf.$componentKey="CrossSellingShelf";var v=(0,i.B)("CrossSellingShelf",CrossSellingShelf,O);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var h=(0,i.v)(_objectSpread(_objectSpread(_objectSpread({},o),o),{},{Section:v}))},7272:function(e,t,r){"use strict";r.r(t),r.d(t,{OverriddenDefaultNewsletter:function(){return B}});var n=r(3067),o={section:"Newsletter"},i=r(1716),c=r(4235),a=r(4988),s=r(4194),l=r(6652),u=r(5487),d=r(8098),p=u.HZ,useNewsletter=()=>{var[e,{data:t,error:r,isValidating:n}]=(0,d.t)(p,{data:{name:"",email:""}});return{subscribeUser:e,data:t,error:r,loading:n}},f=r(9746),b=r(1549);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Newsletter_Newsletter=function(e){var t,{icon:{icon:r,alt:n},title:o,description:i,privacyPolicy:c,emailInputLabel:u,displayNameInput:d,nameInputLabel:p,subscribeButtonLabel:j,subscribeButtonLoadingLabel:O,card:y,toastSubscribe:v,toastSubscribeError:h,colorVariant:w}=e,{Button:m,HeaderIcon:g,InputFieldName:_,InputFieldEmail:P,Newsletter:S,NewsletterAddendum:x,NewsletterContent:k,NewsletterForm:D,NewsletterHeader:N,ToastIconError:Z,ToastIconSuccess:T}=(0,f.r3)(),{pushToast:B}=(0,l.l8)(),{subscribeUser:C,loading:K}=useNewsletter(),E=(0,s.useRef)(null),L=(0,s.useRef)(null),I=(0,s.useRef)(null),V=(t=(0,a.Z)(function*(e){e.preventDefault();try{var t,r,n,o,i,c,a,s=yield C({data:{name:null!==(r=null===(n=L.current)||void 0===n?void 0:n.value)&&void 0!==r?r:"",email:null!==(o=null===(i=I.current)||void 0===i?void 0:i.value)&&void 0!==o?o:""}});null!=s&&null!==(c=s.subscribeToNewsletter)&&void 0!==c&&c.id&&(B(_objectSpread(_objectSpread({},v),{},{status:"INFO",icon:(0,b.jsx)(T.Component,_objectSpread(_objectSpread({width:30,height:30},T.props),{},{name:null!==(a=v.icon)&&void 0!==a?a:T.props.name}))})),E.current.reset())}catch(e){B(_objectSpread(_objectSpread({},h),{},{status:"ERROR",icon:(0,b.jsx)(Z.Component,_objectSpread(_objectSpread({width:30,height:30},Z.props),{},{name:null!==(t=v.icon)&&void 0!==t?t:Z.props.name}))}))}}),function(e){return t.apply(this,arguments)});return(0,b.jsx)(S.Component,_objectSpread(_objectSpread({card:y,colorVariant:w},S.props),{},{children:(0,b.jsxs)(D.Component,_objectSpread(_objectSpread({ref:E,onSubmit:V},D.props),{},{children:[(0,b.jsx)(N.Component,_objectSpread({title:o,description:i,icon:(0,b.jsx)(g.Component,_objectSpread(_objectSpread({width:32,height:32},g.props),{},{name:null!=r?r:g.props.name,"aria-label":null!=n?n:g.props["aria-label"]}))},N.props)),(0,b.jsxs)(k.Component,_objectSpread(_objectSpread({},k.props),{},{children:[d&&(0,b.jsx)(_.Component,_objectSpread(_objectSpread({id:"newsletter-name",required:!0},_.props),{},{label:null!=p?p:_.props.label,inputRef:L})),(0,b.jsx)(P.Component,_objectSpread(_objectSpread({id:"newsletter-email",type:"email",required:!0},P.props),{},{label:null!=u?u:P.props.label,inputRef:I})),(0,b.jsx)(x.Component,_objectSpread({addendum:c},x.props)),(0,b.jsx)(m.Component,_objectSpread(_objectSpread({variant:"secondary",inverse:!0,type:"submit"},m.props),{},{children:K?O:j}))]}))]}))}))},j=r(1325),O=r(2037),y=r.n(O),v=r(9009),h=r(2614),w=r(3779),m=r(7115),g=r(4207),_=r(2571),P=r(4796),S=r(1417),x=r.n(S),k=r(2294),D=["addendum"];function NewsletterAddendum_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 N={Button:v.Z,HeaderIcon:h.Z,InputFieldEmail:w.Z,InputFieldName:w.Z,Newsletter:m.Z,NewsletterAddendum:function(e){var{addendum:t}=e,r=(0,c.Z)(e,D);return(0,b.jsx)(k.Z,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?NewsletterAddendum_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):NewsletterAddendum_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({dangerouslySetInnerHTML:{__html:function(e){if(!e)return"";var t=null;try{t=JSON.parse(e)}catch(e){throw Error('Newsletter\'s prop "addendum" is not a JSON string. This is happening because the overridden prop is malformed or the CMS is providing malformed content for that prop.',{cause:e})}return t?x()(t,void 0,void 0,(e,t)=>{var r;return"LINK"!==e.type?null:(r=e.data.url,'\n <a\n data-fs-link="true"\n data-fs-link-variant="inline"\n data-fs-link-inverse="true"\n data-fs-link-size="regular"\n data-testid="fs-link"\n href="'.concat(r,'"\n >').concat(t,"</a>"))}):""}(t)}},r))},NewsletterContent:g.Z,NewsletterForm:_.Z,NewsletterHeader:P.Z,ToastIconError:h.Z,ToastIconSuccess:h.Z},Z=["icon","title","description","privacyPolicy","emailInputLabel","displayNameInput","nameInputLabel","subscribeButtonLabel","subscribeButtonLoadingLabel","card","toastSubscribe","toastSubscribeError","colorVariant"];function Newsletter_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 Newsletter_Newsletter_Newsletter(e){var{icon:t,title:r,description:o,privacyPolicy:i,emailInputLabel:a,displayNameInput:s,nameInputLabel:l,subscribeButtonLabel:u,subscribeButtonLoadingLabel:d,card:p,toastSubscribe:f,toastSubscribeError:O,colorVariant:v}=e,h=(0,c.Z)(e,Z);return(0,b.jsx)(j.Z,{className:"".concat(y().section," section-newsletter layout__section"),children:(0,b.jsx)(Newsletter_Newsletter,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Newsletter_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Newsletter_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({icon:t,title:r,description:o,privacyPolicy:i,emailInputLabel:a,displayNameInput:s,nameInputLabel:l,subscribeButtonLabel:u,subscribeButtonLoadingLabel:d,toastSubscribe:f,toastSubscribeError:O,card:p,colorVariant:v},h))})}Newsletter_Newsletter_Newsletter.$componentKey="Newsletter";var T=(0,i.B)("Newsletter",Newsletter_Newsletter_Newsletter,N);function OverriddenDefaultNewsletter_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 OverriddenDefaultNewsletter_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultNewsletter_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultNewsletter_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var B=(0,i.v)(OverriddenDefaultNewsletter_objectSpread(OverriddenDefaultNewsletter_objectSpread(OverriddenDefaultNewsletter_objectSpread({},o),o),{},{Section:T}))},552:function(e,t,r){"use strict";r.r(t),r.d(t,{OverriddenDefaultProductShelf:function(){return v}});var n=r(3067),o={section:"ProductShelf"},i=r(1716),c=r(6410),a=r(1325),s=r(7247),l=r(2418),u=r.n(l),d=r(3888),p=r.n(d),f=p()(()=>Promise.all([r.e(9666),r.e(4836),r.e(9781),r.e(8587)]).then(r.bind(r,4836)).then(e=>e.ProductShelf),{loadableGenerated:{webpack:()=>[null]}}),b=p()(()=>r.e(294).then(r.bind(r,294)),{loadableGenerated:{webpack:()=>[294]}}),j=p()(()=>r.e(3836).then(r.bind(r,3836)),{loadableGenerated:{webpack:()=>[3836]}}),O=r(1549);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ProductShelfSection(e){var t=Object.assign({},e),{ref:r,inView:o}=(0,c.YD)();return(0,O.jsx)(a.Z,{className:"".concat(u().section," section-product-shelf layout__section"),ref:r,children:(0,O.jsx)(s.Z,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}({inView:o},t))})}ProductShelfSection.$componentKey="ProductShelf";var y=(0,i.B)("ProductShelf",ProductShelfSection,{ProductShelf:f,__experimentalCarousel:b,__experimentalProductCard:j});function OverriddenDefaultProductShelf_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 OverriddenDefaultProductShelf_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultProductShelf_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultProductShelf_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var v=(0,i.v)(OverriddenDefaultProductShelf_objectSpread(OverriddenDefaultProductShelf_objectSpread(OverriddenDefaultProductShelf_objectSpread({},o),o),{},{Section:y}))},5859:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var n=r(4235),o=r(4194),i=r(6410),c=r(839),a=r(3067),s=r(3877),l=r(1549),u=["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,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 ui_Tiles_Tiles=e=>{var{children:t}=e,r=(0,n.Z)(e,u);return(0,l.jsx)(s.Z,_objectSpread(_objectSpread({},r),{},{children:t}))},d=r(7901),p=r(792),ProductTileSkeleton_ProductTileSkeleton=function(e){var{index:t,aspectRatio:r=1}=e;return(0,l.jsxs)("div",{"data-fs-product-tile-skeleton":!0,"data-fs-product-tile-skeleton-index":t,children:[(0,l.jsx)("div",{"data-fs-product-tile-skeleton-image":!0,"data-fs-product-tile-skeleton-index":t,style:{"--fs-product-tile-skeleton-image-aspect-ratio":r},children:(0,l.jsx)(p.Z,{size:{width:"auto",height:"100%"},loading:!0})}),(0,l.jsxs)("div",{"data-fs-product-tile-skeleton-content":!0,"data-fs-product-tile-skeleton-index":t,children:[(0,l.jsxs)("div",{"data-fs-product-tile-skeleton-heading":!0,children:[(0,l.jsx)("div",{"data-fs-product-tile-skeleton-text":!0,"data-fs-product-tile-skeleton-index":t,children:(0,l.jsx)(p.Z,{size:{width:"70%",height:"1.5rem"}})}),(0,l.jsx)("div",{"data-fs-product-tile-skeleton-price":!0,children:(0,l.jsx)(p.Z,{size:{width:"60%",height:"1.5rem"}})})]}),(0,l.jsx)("div",{"data-fs-product-tile-skeleton-badge":!0,"data-fs-product-tile-skeleton-index":t,children:(0,l.jsx)(p.Z,{size:{width:"6rem",height:"2rem"},border:"pill"})})]})]})},getRatio=(e,t)=>3===e&&0===t||2===e&&(0===t||1===t)?5/3:3/4,ProductTilesSkeleton_ProductTilesSkeleton=function(e){var{children:t,loading:r=!0}=e;return r?(0,l.jsx)(ui_Tiles_Tiles,{children:Array.from({length:3},(e,t)=>(0,l.jsx)(d.Z,{children:(0,l.jsx)(ProductTileSkeleton_ProductTileSkeleton,{index:t+1,aspectRatio:getRatio(3,t)})},String(t)))}):(0,l.jsx)(l.Fragment,{children:t})},f=r(1917),b=r(6377),j=r(1325),O=r(4578),y=r.n(O),v=["title","taxesConfiguration"],ProductTiles_getRatio=(e,t)=>3===e&&0===t||2===e&&(0===t||1===t)?5/3:3/4,getSizes=(e,t)=>3===e&&0===t||2===e&&(0===t||1===t)?{width:594,height:364}:{width:284,height:364},ProductTiles=e=>{var t,r,{title:a,taxesConfiguration:s}=e,u=(0,n.Z)(e,v),p=(0,o.useRef)(!1),{ref:O,inView:h}=(0,i.YD)(),w=(0,b.k)(u),m=null==w?void 0:null===(t=w.search)||void 0===t?void 0:t.products,g=null!==(r=null==m?void 0:m.edges)&&void 0!==r?r:[],{sendViewItemListEvent:_}=(0,f.m)({products:g,title:a,page:0,pageSize:0});return((0,o.useEffect)(()=>{h&&!p.current&&g.length&&(_(),p.current=!0)},[h,g.length,_]),(null==m?void 0:m.edges.length)===0)?null:(0,l.jsxs)(j.Z,{className:"".concat(y().section," section-product-tiles layout__section"),ref:O,children:[(0,l.jsx)("h2",{className:"text__title-section layout__content",children:a}),(0,l.jsx)(ProductTilesSkeleton_ProductTilesSkeleton,{loading:!m,children:(0,l.jsx)(ui_Tiles_Tiles,{children:g.map((e,t)=>(0,l.jsx)(d.Z,{children:(0,l.jsx)(c.Z,{"data-testid":"tile-card",product:e.node,index:t+1,variant:"wide",aspectRatio:ProductTiles_getRatio(g.length,t),imgProps:getSizes(g.length,t),taxesConfiguration:s})},e.node.id))})})]})};ProductTiles.$componentKey="ProductTiles";var h=ProductTiles},6039:function(e,t,r){"use strict";var n=r(9237),o=r(679),i=r(1549);t.Z=function(e){var{id:t,testId:r,children:c,itemsPerPage:a,variant:s="scroll",infiniteMode:l=!1}=e,{loading:u,isTablet:d,isMobile:p}=(0,o.Z)();return u?null:(0,i.jsx)(n.Z,{id:t,testId:r,variant:s,infiniteMode:l,itemsPerPage:d||p?1.6:a,children:c})}},7247:function(e,t,r){"use strict";r.d(t,{Z:function(){return ProductShelf_ProductShelf}});var n=r(3067),o=r(4235),i=r(3888),c=r.n(i),a=r(4194),s=r(1917),l=r(9746),u=r(6377),d=r(4018),p=r(9029),pickByKey=e=>t=>{var{key:r}=t;return e.includes(r)},f=r(4876),b=r.n(f),j=r(1549),O=["title","inView","productCardConfiguration","numberOfItems","itemsPerPage","taxesConfiguration"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var y=c()(()=>r.e(4799).then(r.bind(r,4799)),{loadableGenerated:{webpack:()=>[4799]}}),ProductShelf_ProductShelf=function(e){var t,r,{title:n,inView:i,productCardConfiguration:{bordered:c,showDiscountBadge:f}={},numberOfItems:v,itemsPerPage:h=5,taxesConfiguration:w={}}=e,m=(0,o.Z)(e,O),{ProductShelf:g,__experimentalCarousel:_,__experimentalProductCard:P}=(0,l.r3)(),S=(0,d.B5)(n),x=(0,a.useId)(),k=(0,a.useRef)(!1),{deliveryFacets:D}=function(){var e,t,{state:r}=(0,p.R)();return{deliveryFacets:r.selectedFacets.filter(pickByKey(["shipping","pickupPoint"])),shipping:null===(e=r.selectedFacets.filter(pickByKey(["shipping"])))||void 0===e?void 0:e[0],pickupPoint:null===(t=r.selectedFacets.filter(pickByKey(["pickupPoint"])))||void 0===t?void 0:t[0]}}(),N=(0,u.k)(_objectSpread({first:v,selectedFacets:b()(m.selectedFacets,D,{arrayMerge:overwriteMerge})},m)),Z=null==N?void 0:null===(t=N.search)||void 0===t?void 0:t.products,T=null!==(r=null==Z?void 0:Z.edges)&&void 0!==r?r:[],{sendViewItemListEvent:B}=(0,s.m)({products:T,title:n,page:0,pageSize:0});return((0,a.useEffect)(()=>{i&&!k.current&&T.length&&(B(),k.current=!0)},[i,T.length,B]),(null==Z?void 0:Z.edges.length)===0)?null:(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("h2",{className:"text__title-section layout__content",children:n}),(0,j.jsx)(y,{aspectRatio:1,loading:void 0===Z,itemsPerPage:h,children:(0,j.jsx)(g.Component,_objectSpread(_objectSpread({},g.props),{},{children:(0,j.jsx)(_.Component,_objectSpread(_objectSpread({id:S||x,itemsPerPage:h},_.props),{},{children:T.map((e,t)=>(0,a.createElement)(P.Component,_objectSpread(_objectSpread({aspectRatio:1,imgProps:{width:216,height:216,sizes:"(max-width: 768px) 42vw, 30vw"}},P.props),{},{bordered:null!=c?c:P.props.bordered,showDiscountBadge:null!=f?f:P.props.showDiscountBadge,taxesConfiguration:w,key:"".concat(e.node.id),product:e.node,index:t+1})))}))}))})]})},overwriteMerge=(e,t)=>t},1917:function(e,t,r){"use strict";r.d(t,{m:function(){return useViewItemListEvent}});var n=r(4194),o=r(7358),useViewItemListEvent=e=>{var{products:t,title:i,page:c,pageSize:a}=e,{currency:{code:s}}=(0,o.kP)();return{sendViewItemListEvent:(0,n.useCallback)(e=>{var n=null!=t&&t.length?t:null==e?void 0:e.products;n&&0!==n.length&&r.e(6393).then(r.bind(r,6393)).then(e=>{var{sendAnalyticsEvent:t}=e;t({name:"view_item_list",params:{item_list_name:i,item_list_id:i,items:n.map((e,t)=>{var{node:r}=e;return{item_id:r.isVariantOf.productGroupID,item_name:r.isVariantOf.name,item_brand:r.brand.name,item_variant:r.sku,price:r.offers.offers[0].price,index:c*a+t+1,discount:r.offers.offers[0].listPrice-r.offers.offers[0].price,currency:s,item_variant_name:r.name,product_reference_id:r.gtin}})}})})},[s,t,i,c,a])}}},8098:function(e,t,r){"use strict";r.d(t,{t:function(){return useLazyQuery}});var n=r(4988),o=r(6600),i=r(7440),c=r(2693),useLazyQuery=(e,t,r)=>{var a,s=(0,o.ZP)((0,c.km)(e.__meta__.operationName,t),()=>null,c.WN);return[(a=(0,n.Z)(function*(t){var n=yield(0,i.W)(e,t,r);return yield s.mutate(n,!1)}),function(e){return a.apply(this,arguments)}),s]}},8563:function(e,t,r){"use strict";r.d(t,{w:function(){return useProductLink}});var n=r(4194),o=r(7358),useProductLink=e=>{var{index:t,product:i,selectedOffer:c}=e,{slug:a}=i,{currency:{code:s}}=(0,o.kP)(),l=(0,n.useCallback)(()=>{r.e(6393).then(r.bind(r,6393)).then(e=>{var{sendAnalyticsEvent:r}=e;r({name:"select_item",params:{items:[{item_id:i.isVariantOf.productGroupID,item_name:i.isVariantOf.name,item_brand:i.brand.name,item_variant:i.sku,index:t,price:i.offers.offers[c].price,discount:i.offers.offers[c].listPrice-i.offers.offers[c].price,currency:s,item_variant_name:i.name,product_reference_id:i.gtin}]}}),r({name:"search_select_item",params:{url:window.location.href,items:[{item_id:i.isVariantOf.productGroupID,item_variant:i.sku,index:t}]}})})},[s,i,t,c]);return{href:"/".concat(a,"/p"),onClick:l,"data-testid":"product-link"}}},6377:function(e,t,r){"use strict";r.d(t,{k:function(){return useProductsQuery}});var n=r(3067),o=r(5487),i=r(2693),c=r(7772);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 a=o.gU,useProductsQuery=(e,t)=>{var r=(0,c.y)(e),{data:o}=(0,i.aM)(a,r,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}({fallbackData:null,suspense:!0},t));return o}},178:function(e){e.exports={section:"section_section__YBgvV"}},7910:function(e){e.exports={section:"section_section__p_P_L"}},2037:function(e){e.exports={section:"section_section__6iqtV"}},2418:function(e){e.exports={section:"section_section__TjtMz",loading:"section_loading__ffSvt"}},4578:function(e){e.exports={section:"section_section__Wwc_y",loading:"section_loading__7M1Dl"}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3836,6789],{839:function(e,t,r){var a=r(3067),n=r(4235),i=r(5402),c=r(8394),o=r(5167),d=r(547),s=r(4194),l=r(2331),u=r.n(l),f=r(2056),m=r(643),p=r(8563),v=r(1549),b=["product","index","bordered","variant","aspectRatio","imgProps","ratingValue","buttonLabel","onButtonClick","showDiscountBadge","taxesConfiguration","sponsoredLabel","enableCompareCheckbox","compareLabel"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}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}t.Z=(0,s.memo)(function(e){var t,r,{product:a,index:l,bordered:g=!0,variant:h="default",aspectRatio:E=1,imgProps:P,ratingValue:k,buttonLabel:Z="Add",onButtonClick:x,showDiscountBadge:w=!0,taxesConfiguration:y,sponsoredLabel:O,enableCompareCheckbox:S=!1,compareLabel:_}=e,j=(0,n.Z)(e,b),{sku:C,isVariantOf:{name:D},image:[R],advertisement:F,offers:{lowPrice:B,lowPriceWithTaxes:I,offers:[{listPrice:L,availability:T,listPriceWithTaxes:V}]}}=a,M=_objectSpread(_objectSpread({},(0,p.w)({product:a,selectedOffer:0,index:l})),{},{as:u(),passHref:!0,legacyBehavior:!1,prefetch:!1}),z=(0,s.useMemo)(()=>"https://schema.org/InStock"!==T,[T]),A=null!=y&&y.usePriceWithTaxes?I:B,N=null!=y&&y.usePriceWithTaxes?V:L,K=F?{"data-van-res-id":F.adResponseId,"data-van-aid":F.adId,"data-van-prod-name":D}:{};return(0,v.jsxs)(v.Fragment,{children:[S&&(0,v.jsx)(i.Z,{label:_,product:a,id:a.id}),(0,v.jsxs)(c.Z,_objectSpread(_objectSpread(_objectSpread({outOfStock:z,bordered:g,variant:h,"data-fs-product-card-sku":C},K),j),{},{children:[(0,v.jsx)(o.Z,{aspectRatio:E,children:(0,v.jsx)(f.Z,{src:R.url,alt:R.alternateName,sizes:"".concat(null!==(t=null==P?void 0:P.sizes)&&void 0!==t?t:"(max-width: 768px) 40vw, 30vw"),width:null!==(r=null==P?void 0:P.width)&&void 0!==r?r:360,height:Math.round((Number(null==P?void 0:P.height)||360)/E),loading:null==P?void 0:P.loading})}),(0,v.jsx)(d.Z,{title:D,price:{value:A,listPrice:N,formatter:m.P},ratingValue:k,outOfStock:z,onButtonClick:x,linkProps:M,showDiscountBadge:A<=N&&w,includeTaxes:null==y?void 0:y.usePriceWithTaxes,includeTaxesLabel:null==y?void 0:y.taxesLabel,sponsored:!!F,sponsoredLabel:O})]}))]})})},3836:function(e,t,r){r.r(t),r.d(t,{default:function(){return a.Z}});var a=r(839)},643:function(e,t,r){r.d(t,{P:function(){return useFormattedPrice}});var a=r(4194),n=r(7358),usePriceFormatter=function(){var{decimals:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{currency:t,locale:r}=(0,n.kP)();return(0,a.useCallback)(a=>Intl.NumberFormat(r,{style:"currency",currency:t.code,minimumFractionDigits:e?2:0}).format(a),[t.code,r,e])},useFormattedPrice=e=>{var t=usePriceFormatter();return(0,a.useMemo)(()=>t(e),[t,e])}},8563:function(e,t,r){r.d(t,{w:function(){return useProductLink}});var a=r(4194),n=r(7358),useProductLink=e=>{var{index:t,product:i,selectedOffer:c}=e,{slug:o}=i,{currency:{code:d}}=(0,n.kP)(),s=(0,a.useCallback)(()=>{r.e(6393).then(r.bind(r,6393)).then(e=>{var{sendAnalyticsEvent:r}=e;r({name:"select_item",params:{items:[{item_id:i.isVariantOf.productGroupID,item_name:i.isVariantOf.name,item_brand:i.brand.name,item_variant:i.sku,index:t,price:i.offers.offers[c].price,discount:i.offers.offers[c].listPrice-i.offers.offers[c].price,currency:d,item_variant_name:i.name,product_reference_id:i.gtin}]}}),r({name:"search_select_item",params:{url:window.location.href,items:[{item_id:i.isVariantOf.productGroupID,item_variant:i.sku,index:t}]}})})},[d,i,t,c]);return{href:"/".concat(o,"/p"),onClick:s,"data-testid":"product-link"}}},2740:function(e,t,r){var a=r(4194);let n=(0,a.forwardRef)(function({testId:e="fs-checkbox",partial:t,...r},n){return a.createElement("input",{ref:n,"data-fs-checkbox":!0,"data-testid":e,"data-fs-checkbox-partial":t,type:"checkbox",...r})});t.Z=n},9767:function(e,t,r){var a=r(4194),n=r(5450);let i=(0,a.forwardRef)(function({value:e,as:t="span",variant:r="selling",testId:i="fs-price",formatter:c=e=>e,SRText:o,...d},s){let l=c(e,r);return a.createElement(t,{ref:s,"data-fs-price":!0,"data-fs-price-variant":r,"data-testid":i,...d},o&&a.createElement(n.Z,{text:o}),l)});t.Z=i},5450:function(e,t,r){var a=r(4194);t.Z=function({text:e,as:t}){let r=t??"span";return a.createElement(r,{"data-fs-sr-only":!0},e)}},2182:function(e,t,r){r.d(t,{S:function(){return useProductComparison}});var a=r(4194),n=r(2770);function useProductComparison(){let e=(0,a.useContext)(n.A);if(void 0===e)throw Error("useProductComparison must be used within a ProductComparisonProvider");return e}},673:function(e,t,r){var a=r(4194),n=r(2740),i=r(1953);let c=(0,a.forwardRef)(function({testId:e="fs-checkbox-field",id:t,label:r,value:c,name:o,error:d,disabled:s,alignment:l="center",...u},f){let m=!s&&d&&""!==d;return a.createElement("div",{ref:f,"data-testid":e,"data-fs-checkbox-field":!0,"data-fs-checkbox-field-error":d&&""!==d,"data-fs-checkbox-field-alignment":l},a.createElement(n.Z,{id:t,value:c??r,name:o,defaultChecked:u?.checked,disabled:s,...u}),a.createElement("div",{"data-fs-checkbox-field-content":!0},a.createElement(i.Z,{"data-fs-checkbox-field-label":!0,htmlFor:t},r),m&&a.createElement("span",{"data-fs-checkbox-field-error-message":!0},d)))});t.Z=c},2946:function(e,t,r){r.d(t,{Z:function(){return DiscountBadge_DiscountBadge}});var a=r(4194),n=r(276);let useDiscountPercent=(e,t)=>(0,a.useMemo)(()=>{let r=e-t,a=100*r/e;return Math.round(a)},[t,e]);var DiscountBadge_DiscountBadge=({listPrice:e,spotPrice:t,thresholdLow:r=15,thresholdHigh:i=40,size:c,testId:o="fs-discount-badge"})=>{let d=useDiscountPercent(e,t);if(0===d)return a.createElement(a.Fragment,null);let s=d<=r?"low":d<=i?"medium":"high";return a.createElement(n.Z,{"data-fs-discount-badge":!0,"data-fs-discount-badge-variant":s,size:c,"data-testid":o},d,"% off")}},8394:function(e,t,r){var a=r(4194);let n=(0,a.forwardRef)(function({testId:e="fs-product-card",variant:t="default",bordered:r=!1,outOfStock:n,children:i,...c},o){return a.createElement("article",{ref:o,"data-fs-product-card":n?"out-of-stock":"","data-fs-product-card-variant":t,"data-fs-product-card-bordered":r,"data-testid":e,...c},i)});t.Z=n},547:function(e,t,r){var a=r(4194),n=r(727),i=r(9088),c=r(1953),o=r(3024),d=r(2614),s=r(2946),l=r(276),u=r(9009);let f=(0,a.forwardRef)(function({testId:e="fs-product-card-content",title:t,linkProps:r,price:f,outOfStock:m,outOfStockLabel:p="Out of stock",ratingValue:v,showDiscountBadge:b,buttonLabel:g="Add",onButtonClick:h,children:E,includeTaxes:P=!1,includeTaxesLabel:k="Tax included",sponsored:Z=!1,sponsoredLabel:x="Sponsored",...w},y){let O=f?.listPrice?f.listPrice:0,S=f?.value?f.value:0;return a.createElement("section",{ref:y,"data-fs-product-card-content":!0,"data-fs-product-card-badge":b,"data-testid":e,...w},Z&&a.createElement("span",{"data-fs-product-card-sponsored-label":!0},x),a.createElement("div",{"data-fs-product-card-heading":!0},a.createElement("h3",{"data-fs-product-card-title":!0},a.createElement(n.Z,{...r,title:t},a.createElement("span",null,t))),!m&&a.createElement(i.Z,{"data-fs-product-card-prices":!0,value:S,listPrice:O,formatter:f?.formatter}),P&&a.createElement(c.Z,{"data-fs-product-card-taxes-label":!0},k),v&&a.createElement(o.Z,{value:v,icon:a.createElement(d.Z,{name:"Star"})})),b&&!m&&a.createElement(s.Z,{listPrice:O,spotPrice:S}),m&&a.createElement(l.Z,null,p),h&&!m&&a.createElement("div",{"data-fs-product-card-actions":!0},a.createElement(u.Z,{variant:"primary",icon:a.createElement(d.Z,{name:"ShoppingCart"}),iconPosition:"left",size:"small",onClick:h},g)))});t.Z=f},5167:function(e,t,r){var a=r(4194);let n=(0,a.forwardRef)(function({testId:e="fs-product-card-image",aspectRatio:t=1,children:r,...n},i){return a.createElement("div",{ref:i,"data-fs-product-card-image":!0,"data-testid":e,style:{"--fs-product-card-image-aspect-ratio":t},...n},r)});t.Z=n},9088:function(e,t,r){var a=r(4194),n=r(9767);let i=(0,a.forwardRef)(function({testId:e="fs-product-price",value:t,listPrice:r,formatter:i,...c},o){let d=r??0,s=t??0;return a.createElement("div",{ref:o,"data-fs-product-price":!0,"data-testid":e,...c},s!==d&&0!==d?a.createElement(a.Fragment,null,a.createElement(n.Z,{value:d,formatter:i,testId:"list-price","data-value":d,variant:"listing",SRText:"Original price:"}),a.createElement(n.Z,{value:s,formatter:i,testId:"price","data-value":s,variant:"spot",SRText:"Price:"})):a.createElement(n.Z,{value:s,formatter:i,testId:"price","data-value":s,variant:"spot",SRText:"Price:"}))});t.Z=i},3024:function(e,t,r){var a=r(4194),n=r(2614),i=r(7041),c=r(4564);let o=(0,a.forwardRef)(function({children:e,testId:t="fs-rating",length:r=5,value:o=0,icon:d,onChange:s,disabled:l,...u},f){let[m,p]=(0,a.useState)(0),v={"data-fs-rating-icon-outline":!0},b=a.isValidElement(d)?d:a.createElement(n.Z,{name:"Star"});return a.createElement(c.Z,{ref:f,"data-fs-rating":!0,"data-fs-rating-actionable":"function"==typeof s,"data-testid":t,...u},Array.from({length:r}).map((e,r)=>{let c=r+1;return a.createElement("li",{key:`rating-${r}`,"data-fs-rating-item":c<=(m||o)?"full":c-o>0&&c-o<1?"partial":"empty","data-testid":`${t}-item`},s?a.createElement(i.Z,{"data-fs-rating-button":!0,icon:b,size:"small","aria-label":"rate",onClick:()=>{s(c)},onMouseEnter:()=>p(c),onMouseLeave:()=>p(o),disabled:l}):a.createElement(a.Fragment,null,a.createElement("div",{"data-fs-rating-icon-wrapper":!0},b),a.isValidElement(d)?a.cloneElement(d,v):a.createElement(n.Z,{name:"Star","data-fs-rating-icon-outline":!0})))}))});t.Z=o},5402:function(e,t,r){var a=r(4194),n=r(673),i=r(2182);let c=(0,a.forwardRef)(function({id:e,label:t,onChange:r,product:c,...o},d){let{productIds:s,handleProductsIds:l}=(0,i.S)(),u=s.some(e=>e===c.id);return a.createElement("div",{"data-fs-product-comparison-trigger":!0},c.hasSpecifications&&a.createElement(n.Z,{"data-fs-product-comparison-trigger-checkbox-field":!0,ref:d,id:`product-comparison-trigger-${e}`,label:t,checked:u,onClick:e=>{e.stopPropagation()},onChange:e=>{r?.(e),l(c)},...o}))});t.Z=c},2770:function(e,t,r){r.d(t,{A:function(){return n}});var a=r(4194);let n=(0,a.createContext)(void 0);t.Z=function({children:e}){let[t,r]=(0,a.useState)([]),[i,c]=(0,a.useState)([]),[o,d]=(0,a.useState)(!1),s=(0,a.useCallback)(e=>{r(t=>t.includes(e?.id)?t.filter(t=>t!==e.id):[...t,e.id]),c(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},[]);return a.createElement(n.Provider,{value:{isOpen:o,setIsOpen:d,productIds:t,products:i,handleProductsIds:s,handleProductsComparison:function(e){let t=e.map(t=>{let r=e.find(e=>e.id===t.id);return{...t,...r}});c(t)},clearProducts:function(){r([]),c([])}}},e)}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6789],{839:function(e,t,r){var a=r(3067),n=r(4235),i=r(5402),o=r(8394),c=r(5167),s=r(547),d=r(4194),l=r(2331),u=r.n(l),f=r(2056),p=r(643),b=r(8563),m=r(1549),h=["product","index","bordered","variant","aspectRatio","imgProps","ratingValue","buttonLabel","onButtonClick","showDiscountBadge","taxesConfiguration","sponsoredLabel","enableCompareCheckbox","compareLabel"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}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}t.Z=(0,d.memo)(function(e){var t,r,{product:a,index:l,bordered:v=!0,variant:k="default",aspectRatio:g=1,imgProps:x,ratingValue:w,buttonLabel:O="Add",onButtonClick:j,showDiscountBadge:_=!0,taxesConfiguration:P,sponsoredLabel:y,enableCompareCheckbox:Z=!1,compareLabel:S}=e,E=(0,n.Z)(e,h),{sku:C,isVariantOf:{name:D},image:[L],advertisement:R,offers:{lowPrice:V,lowPriceWithTaxes:B,offers:[{listPrice:I,availability:T,listPriceWithTaxes:N}]}}=a,K=_objectSpread(_objectSpread({},(0,b.w)({product:a,selectedOffer:0,index:l})),{},{as:u(),passHref:!0,legacyBehavior:!1,prefetch:!1}),W=(0,d.useMemo)(()=>"https://schema.org/InStock"!==T,[T]),z=null!=P&&P.usePriceWithTaxes?B:V,F=null!=P&&P.usePriceWithTaxes?N:I,G=R?{"data-van-res-id":R.adResponseId,"data-van-aid":R.adId,"data-van-prod-name":D}:{};return(0,m.jsxs)(m.Fragment,{children:[Z&&(0,m.jsx)(i.Z,{label:S,product:a,id:a.id}),(0,m.jsxs)(o.Z,_objectSpread(_objectSpread(_objectSpread({outOfStock:W,bordered:v,variant:k,"data-fs-product-card-sku":C},G),E),{},{children:[(0,m.jsx)(c.Z,{aspectRatio:g,children:(0,m.jsx)(f.Z,{src:L.url,alt:L.alternateName,sizes:"".concat(null!==(t=null==x?void 0:x.sizes)&&void 0!==t?t:"(max-width: 768px) 40vw, 30vw"),width:null!==(r=null==x?void 0:x.width)&&void 0!==r?r:360,height:Math.round((Number(null==x?void 0:x.height)||360)/g),loading:null==x?void 0:x.loading})}),(0,m.jsx)(s.Z,{title:D,price:{value:z,listPrice:F,formatter:p.P},ratingValue:w,outOfStock:W,onButtonClick:j,linkProps:K,showDiscountBadge:z<=F&&_,includeTaxes:null==P?void 0:P.usePriceWithTaxes,includeTaxesLabel:null==P?void 0:P.taxesLabel,sponsored:!!R,sponsoredLabel:y})]}))]})})},3836:function(e,t,r){r.r(t),r.d(t,{default:function(){return a.Z}});var a=r(839)},8563:function(e,t,r){r.d(t,{w:function(){return useProductLink}});var a=r(4194),n=r(7358),useProductLink=e=>{var{index:t,product:i,selectedOffer:o}=e,{slug:c}=i,{currency:{code:s}}=(0,n.kP)(),d=(0,a.useCallback)(()=>{r.e(6393).then(r.bind(r,6393)).then(e=>{var{sendAnalyticsEvent:r}=e;r({name:"select_item",params:{items:[{item_id:i.isVariantOf.productGroupID,item_name:i.isVariantOf.name,item_brand:i.brand.name,item_variant:i.sku,index:t,price:i.offers.offers[o].price,discount:i.offers.offers[o].listPrice-i.offers.offers[o].price,currency:s,item_variant_name:i.name,product_reference_id:i.gtin}]}}),r({name:"search_select_item",params:{url:window.location.href,items:[{item_id:i.isVariantOf.productGroupID,item_variant:i.sku,index:t}]}})})},[s,i,t,o]);return{href:"/".concat(c,"/p"),onClick:d,"data-testid":"product-link"}}},2740:function(e,t,r){var a=r(4194);let n=(0,a.forwardRef)(function({testId:e="fs-checkbox",partial:t,...r},n){return a.createElement("input",{ref:n,"data-fs-checkbox":!0,"data-testid":e,"data-fs-checkbox-partial":t,type:"checkbox",...r})});t.Z=n},673:function(e,t,r){var a=r(4194),n=r(2740),i=r(1953);let o=(0,a.forwardRef)(function({testId:e="fs-checkbox-field",id:t,label:r,value:o,name:c,error:s,disabled:d,alignment:l="center",...u},f){let p=!d&&s&&""!==s;return a.createElement("div",{ref:f,"data-testid":e,"data-fs-checkbox-field":!0,"data-fs-checkbox-field-error":s&&""!==s,"data-fs-checkbox-field-alignment":l},a.createElement(n.Z,{id:t,value:o??r,name:c,defaultChecked:u?.checked,disabled:d,...u}),a.createElement("div",{"data-fs-checkbox-field-content":!0},a.createElement(i.Z,{"data-fs-checkbox-field-label":!0,htmlFor:t},r),p&&a.createElement("span",{"data-fs-checkbox-field-error-message":!0},s)))});t.Z=o},5402:function(e,t,r){var a=r(4194),n=r(673),i=r(2182);let o=(0,a.forwardRef)(function({id:e,label:t,onChange:r,product:o,...c},s){let{productIds:d,handleProductsIds:l}=(0,i.S)(),u=d.some(e=>e===o.id);return a.createElement("div",{"data-fs-product-comparison-trigger":!0},o.hasSpecifications&&a.createElement(n.Z,{"data-fs-product-comparison-trigger-checkbox-field":!0,ref:s,id:`product-comparison-trigger-${e}`,label:t,checked:u,onClick:e=>{e.stopPropagation()},onChange:e=>{r?.(e),l(o)},...c}))});t.Z=o}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7191,4983,1697,4219,6621,9781],{2301:function(e,t,r){"use strict";r.d(t,{j:function(){return P}});var n=r(3067),a={section:"Breadcrumb"},o=r(1716),l=r(4194),i=r(1325),c=r(9746),d=r(6272),s=r(2614),u=r(4235),p=r(1972),f=r(7345),m=r(1549),b=["icon","alt"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var v={Breadcrumb:(0,l.memo)(e=>{var t,{icon:r,alt:n="Go to homepage"}=e,a=(0,u.Z)(e,b),{Breadcrumb:o,Icon:l}=(0,c.r3)();return(0,m.jsx)(p.Z,_objectSpread(_objectSpread({homeLink:(0,m.jsx)(f.Z,{"data-fs-breadcrumb-link":!0,"data-fs-breadcrumb-link-home":!0,"aria-label":n,href:"/",prefetch:!1,children:(0,m.jsx)(l.Component,_objectSpread(_objectSpread({width:18,height:18,weight:"bold"},l.props),{},{name:null!==(t=null!=r?r:l.props.name)&&void 0!==t?t:"Home"}))}),renderLink:e=>{var{itemProps:{item:t,name:r}}=e;return(0,m.jsx)(f.Z,{"data-fs-breadcrumb-link":!0,href:t,prefetch:!1,children:r})}},o.props),a))}),Icon:s.Z},y=r(5501),h=r.n(y);function Breadcrumb_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 BreadcrumbSection(e){var t,r,a,o,l,s,u,p,f,b=Object.assign({},e),{Breadcrumb:v}=(0,c.r3)(),y=(0,d.qt)(),g=(0,d.OJ)(y)?null==y?void 0:null===(t=y.data)||void 0===t?void 0:null===(r=t.collection)||void 0===r?void 0:null===(a=r.seo)||void 0===a?void 0:a.title:"All Products",j=(0,d.tS)(y)?null==y?void 0:null===(o=y.data)||void 0===o?void 0:null===(l=o.product)||void 0===l?void 0:null===(s=l.breadcrumbList)||void 0===s?void 0:s.itemListElement:(0,d.OJ)(y)?null==y?void 0:null===(u=y.data)||void 0===u?void 0:null===(p=u.collection)||void 0===p?void 0:null===(f=p.breadcrumbList)||void 0===f?void 0:f.itemListElement:[{item:"/",name:g,position:1}];return(0,m.jsx)(i.Z,{className:"".concat(h().section," section-breadcrumb"),children:(0,m.jsx)(v.Component,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Breadcrumb_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Breadcrumb_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({breadcrumbList:j},b))})}BreadcrumbSection.$componentKey="Breadcrumb";var g=(0,o.B)("Breadcrumb",BreadcrumbSection,v),j=(0,l.memo)(g);function OverriddenDefaultBreadcrumb_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultBreadcrumb_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultBreadcrumb_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultBreadcrumb_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var P=(0,o.v)(OverriddenDefaultBreadcrumb_objectSpread(OverriddenDefaultBreadcrumb_objectSpread(OverriddenDefaultBreadcrumb_objectSpread({},a),a),{},{Section:j}))},3882:function(e,t,r){"use strict";r.d(t,{V:function(){return y}});var n=r(3067),a={section:"Hero"},o=r(1716),l=r(2056),i=r(9746),c=r(1325),d=r(4399),s=r.n(d),u=r(8957),p=r(4147),f=r(7154),m={Hero:u.Z,HeroImage:p.Z,HeroHeader:f.Z},b=r(1549);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Hero_Hero=e=>{var t,r,{link:n,title:a,subtitle:o,image:d,variant:u,colorVariant:p,icon:f}=e,{Hero:m,HeroImage:v,HeroHeader:y}=(0,i.r3)();return(0,b.jsx)(c.Z,{className:"".concat(s().section," section-hero"),children:(0,b.jsxs)(m.Component,_objectSpread(_objectSpread({},m.props),{},{variant:null!==(t=null!=u?u:m.props.variant)&&void 0!==t?t:"primary",colorVariant:null!==(r=null!=p?p:m.props.colorVariant)&&void 0!==r?r:"main",children:[(0,b.jsx)(v.Component,_objectSpread(_objectSpread({},v.props),{},{children:(0,b.jsx)(l.Z,{loading:"eager",src:d.src,alt:d.alt,width:360,height:240,sizes:"(max-width: 412px) 40vw, (max-width: 768px) 90vw, 50vw",priority:!0})})),(0,b.jsx)(y.Component,_objectSpread({title:a,subtitle:o,link:null==n?void 0:n.url,linkText:null==n?void 0:n.text,linkTargetBlank:null==n?void 0:n.linkTargetBlank,icon:f},y.props))]}))})};Hero_Hero.$componentKey="Hero";var v=(0,o.B)("Hero",Hero_Hero,m);function OverriddenDefaultHero_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultHero_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultHero_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultHero_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var y=(0,o.v)(OverriddenDefaultHero_objectSpread(OverriddenDefaultHero_objectSpread(OverriddenDefaultHero_objectSpread({},a),a),{},{Section:v}))},3954:function(e,t,r){"use strict";r.d(t,{f:function(){return et}});var n=r(3067),a={section:"ProductGallery"},o=r(1716),l=r(4235),i=r(5935),c=r(3888),d=r.n(c),s=r(4194),u=r(9029),p=r(6652),f=r(6335),m=r(1549);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var b={price_desc:"Price, descending",price_asc:"Price, ascending",orders_desc:"Top sales",name_asc:"Name, A-Z",name_desc:"Name, Z-A",release_desc:"Release date",discount_desc:"Discount",score_desc:"Relevance"},v=Object.keys(b),Sort_Sort=function(e){var{label:t="Sort by",options:r=b}=e,{state:n,setState:a}=(0,u.R)(),o=Object.keys(r).reduce((e,t)=>{var n;return e[t]=null!==(n=r[t])&&void 0!==n?n:b[t],e},{});return(0,m.jsx)(f.Z,{id:"sort-select",className:"sort / text__title-mini-alt",label:t,options:o,onChange:e=>{var t=v[e.target.selectedIndex];a(_objectSpread(_objectSpread({},n),{},{sort:t,page:0}))},value:n.sort,testId:"search-sort"})},y=r(7171),h=r(9746),g=r(6272),j=r(5487),P=r(4174),w=r(431),O=r(7440),E=r(2693),S=["cache"],prefetchQuery=(e,t,r)=>{var{cache:n}=r,a=(0,l.Z)(r,S),o=(0,E.km)(e.__meta__.operationName,t);n.get(o)||(0,w.j)(o,(0,O.W)(e,t,a))},_=r(7772);function useProductsPrefetch_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 k=j.gU,useProductsQueryPrefetch=(e,t)=>{var r=(0,_.y)(e),{cache:a}=(0,P.kY)();return(0,s.useCallback)(()=>prefetchQuery(k,r,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?useProductsPrefetch_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):useProductsPrefetch_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({cache:a},t)),[r,a,t])},useProductsPrefetch=e=>{var{itemsPerPage:t,state:{sort:r,term:n,selectedFacets:a}}=(0,u.R)(),o=useProductsQueryPrefetch({first:t,after:(t*(null!=e?e:0)).toString(),sort:r,term:null!=n?n:"",selectedFacets:a});(0,s.useEffect)(()=>{null!==e&&o()},[e,o])},useDelayedFacets=e=>{var t=(0,s.useRef)([]);return(0,s.useMemo)(()=>{if(e){var r;t.current=null===(r=e.search)||void 0===r?void 0:r.facets}return t.current},[e,t])},Z=r(1341),useDelayedPagination=e=>{var t=(0,Z.h)(e),{0:r,1:n}=(0,s.useState)(()=>({next:!1,prev:!1}));return(0,s.useEffect)(()=>{n(t)},[t]),r},x=r(9664),D=["value"];function useFilter_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 useFilter_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?useFilter_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):useFilter_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var reducer=(e,t)=>{var{expanded:r,selected:n}=e,{type:a,payload:o}=t;switch(a){case"toggleExpanded":return r.has(o)?r.delete(o):r.add(o),useFilter_objectSpread(useFilter_objectSpread({},e),{},{expanded:new Set(r)});case"selectFacets":if(o!==n)return useFilter_objectSpread(useFilter_objectSpread({},e),{},{selected:o});break;case"toggleFacet":return useFilter_objectSpread(useFilter_objectSpread({},e),{},{selected:(0,x.wB)(e.selected,o)});case"toggleFacets":return useFilter_objectSpread(useFilter_objectSpread({},e),{},{selected:(0,x.a2)(e.selected,o.facets,o.unique)});case"setFacet":return useFilter_objectSpread(useFilter_objectSpread({},e),{},{selected:(0,x.uL)(e.selected,o.facet,o.unique)});default:throw Error("Action ".concat(a," not implemented"))}return e},useFilter=(e,t)=>{var{state:{selectedFacets:r}}=(0,u.R)(),{0:{selected:n,expanded:a},1:o}=(0,s.useReducer)(reducer,null,()=>({expanded:new Set([]),selected:r})),i=(0,s.useMemo)(()=>n.reduce((e,t)=>{var r;return e.has(t.key)||e.set(t.key,new Map),null===(r=e.get(t.key))||void 0===r||r.set(t.value,t),e},new Map),[n]),c=(0,s.useMemo)(()=>e.map(e=>"StoreFacetBoolean"===e.__typename?useFilter_objectSpread(useFilter_objectSpread({},e),{},{values:e.values.map(t=>{var r,{value:n}=t;return useFilter_objectSpread(useFilter_objectSpread({},(0,l.Z)(t,D)),{},{value:n,selected:!!(null===(r=i.get(e.key))||void 0===r?void 0:r.has(n))})})}):e),[e,i]);return(0,s.useEffect)(()=>{t&&0===n.length&&o({type:"selectFacets",payload:t})},[t,n]),(0,s.useEffect)(()=>{o({type:"selectFacets",payload:r})},[r]),{facets:c,selected:n,expanded:a,dispatch:o}},C=r(679),G=r(643),F=r(2007),B=r.n(F);function ProductGallery_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 ProductGallery_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ProductGallery_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ProductGallery_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var R=(0,s.lazy)(()=>r.e(3399).then(r.bind(r,3399))),K=d()(()=>r.e(866).then(r.bind(r,6624)),{loadableGenerated:{webpack:()=>[6624]}}),z=(0,m.jsx)(y.Z,{loading:!0}),ProductGallery_ProductGallery=function(e){var t,r,n,a,o,l,c,d,f,b,v,y,j,P,w,O,E,S,_,k,Z,x,D,F,I,L,M,T,H,A,N,{title:V,searchTerm:$,totalCount:U,searchTermLabel:q,totalCountLabel:Q,filter:W,previousPageButton:J,loadMorePageButton:X,sortBySelector:Y,productCard:ee,productComparison:et}=e,{FilterButtonSkeleton:er,FilterIcon:en,LinkButtonNext:ea,LinkButtonPrev:eo,MobileFilterButton:el,PrevIcon:ei,ResultsCountSkeleton:ec,SortSkeleton:ed,ToggleField:es,ProductComparison:eu,ProductComparisonToolbar:ep,__experimentalFilterDesktop:ef,__experimentalFilterSlider:em,__experimentalProductComparisonSidebar:eb}=(0,h.r3)(),{openFilter:ev,filter:ey}=(0,p.l8)(),{pages:eh,addNextPage:eg,addPrevPage:ej,itemsPerPage:eP}=(0,u.R)(),ew=(0,g.qt)(),eO=null==ew?void 0:ew.data,eE=null!==(t=useDelayedFacets(eO))&&void 0!==t?t:[],{next:eS,prev:e_}=useDelayedPagination(U),{0:ek,1:eZ}=(0,s.useState)(!1);useProductsPrefetch(e_?e_.cursor:null),useProductsPrefetch(eS?eS.cursor:null);var{isDesktop:ex}=(0,C.Z)(),eD=!!(null==eO?void 0:null===(r=eO.search)||void 0===r?void 0:r.facets),eC=!!(null==eO?void 0:null===(n=eO.search)||void 0===n?void 0:n.products),eG=useFilter(eE,null!==(a=null==eO?void 0:null===(o=eO.collection)||void 0===o?void 0:null===(l=o.meta)||void 0===l?void 0:l.selectedFacets)&&void 0!==a?a:[]);return(0,m.jsxs)("section",{"data-testid":"product-gallery","data-fs-product-listing":!0,children:[$&&(0,m.jsx)("header",{"data-fs-product-listing-search-term":!0,"data-fs-content":"product-gallery",children:(0,m.jsxs)("h1",{children:[q," ",(0,m.jsx)("span",{children:$})]})}),(0,m.jsxs)(eu.Component,{children:[(0,m.jsxs)("div",{"data-fs-product-listing-content-grid":!0,"data-fs-content":"product-gallery",children:[ex&&(0,m.jsx)("div",{"data-fs-product-listing-filters":!0,children:(0,m.jsx)(K,{loading:!eD,children:eD&&(null==eE?void 0:eE.length)>0&&(0,m.jsx)("div",{className:"hidden-mobile",children:(0,m.jsx)(ef.Component,ProductGallery_objectSpread(ProductGallery_objectSpread(ProductGallery_objectSpread({},ef.props),eG),{},{title:null==W?void 0:W.title}))})})}),!ex&&ey&&(0,m.jsx)("div",{"data-fs-product-listing-filters":!0,children:(0,m.jsx)(em.Component,ProductGallery_objectSpread(ProductGallery_objectSpread(ProductGallery_objectSpread({},em.props),eG),{},{title:null==W?void 0:W.title,clearButtonLabel:null==W?void 0:null===(c=W.mobileOnly)||void 0===c?void 0:c.clearButtonLabel,applyButtonLabel:null==W?void 0:null===(d=W.mobileOnly)||void 0===d?void 0:d.applyButtonLabel}))}),(0,m.jsxs)("div",{"data-fs-product-listing-results-count":!0,"data-count":U,children:[(0,m.jsx)(ec.Component,ProductGallery_objectSpread(ProductGallery_objectSpread({"data-fs-product-listing-results-count-skeleton":!0,size:{width:"100%",height:"1.5rem"}},ec.props),{},{loading:!eC,children:(0,m.jsxs)("h2",{"data-testid":"total-product-count",children:[U," ",Q]})})),(null==et?void 0:et.enabled)&&(0,m.jsx)(es.Component,ProductGallery_objectSpread({id:"toggle-field-comparison",label:null==et?void 0:null===(f=et.labels)||void 0===f?void 0:f.compareButton,checked:ek,onChange:()=>eZ(!ek)},es.props))]}),(0,m.jsxs)("div",{"data-fs-product-listing-sort":!0,children:[(0,m.jsx)(ed.Component,ProductGallery_objectSpread(ProductGallery_objectSpread({"data-fs-product-listing-sort-skeleton":!0,size:{width:"auto",height:"1.5rem"}},ed.props),{},{loading:!eC,children:(0,m.jsx)(Sort_Sort,{label:null==Y?void 0:Y.label,options:null==Y?void 0:Y.options})})),(0,m.jsx)(er.Component,ProductGallery_objectSpread(ProductGallery_objectSpread({"data-fs-product-listing-filter-button-skeleton":!0,size:{width:"6rem",height:"1.5rem"}},er.props),{},{loading:!eD,children:eD&&(null==eE?void 0:eE.length)>0&&(0,m.jsx)(el.Component,ProductGallery_objectSpread(ProductGallery_objectSpread({variant:"tertiary","data-testid":"open-filter-button",icon:(0,m.jsx)(en.Component,ProductGallery_objectSpread(ProductGallery_objectSpread({width:16,height:16},en.props),{},{name:null!==(b=null==W?void 0:null===(v=W.mobileOnly)||void 0===v?void 0:null===(y=v.filterButton)||void 0===y?void 0:null===(j=y.icon)||void 0===j?void 0:j.icon)&&void 0!==b?b:en.props.name,"aria-label":null!==(P=null==W?void 0:null===(w=W.mobileOnly)||void 0===w?void 0:null===(O=w.filterButton)||void 0===O?void 0:null===(E=O.icon)||void 0===E?void 0:E.alt)&&void 0!==P?P:en.props["aria-label"]})),iconPosition:"left"},el.props),{},{onClick:ev,children:null==W?void 0:null===(S=W.mobileOnly)||void 0===S?void 0:null===(_=S.filterButton)||void 0===_?void 0:_.label}))}))]}),(0,m.jsxs)("div",{"data-fs-product-listing-results":!0,children:[!!e_&&(0,m.jsxs)("div",{"data-fs-product-listing-pagination":"top",children:[(0,m.jsx)(i.PB,{additionalLinkTags:[{rel:"prev",href:e_.link}]}),(0,m.jsx)(eo.Component,ProductGallery_objectSpread(ProductGallery_objectSpread({rel:"prev",variant:"secondary",iconPosition:"left",icon:(0,m.jsx)(ei.Component,ProductGallery_objectSpread(ProductGallery_objectSpread({width:16,height:16,weight:"bold"},ei.props),{},{name:null!==(k=null==J?void 0:null===(Z=J.icon)||void 0===Z?void 0:Z.icon)&&void 0!==k?k:ei.props.name,"aria-label":null!==(x=null!==(D=null==J?void 0:null===(F=J.icon)||void 0===F?void 0:F.alt)&&void 0!==D?D:null==J?void 0:J.label)&&void 0!==x?x:ei.props["aria-label"]}))},eo.props),{},{onClick:e=>{e.currentTarget.blur(),e.preventDefault(),ej()},href:e_.link,children:null==J?void 0:J.label}))]}),eC?(0,m.jsx)(s.Suspense,{fallback:z,children:eh.map(e=>{var t;return(0,m.jsx)(R,{page:e,title:V,productCard:ee,itemsPerPage:eP,firstPage:eh[0],shouldShowComparison:ek,compareLabel:null==et?void 0:null===(t=et.labels)||void 0===t?void 0:t.compareButton},"gallery-page-".concat(e))})}):z,!1!==eS&&(0,m.jsxs)("div",{"data-fs-product-listing-pagination":"bottom",children:[(0,m.jsx)(i.PB,{additionalLinkTags:[{rel:"next",href:eS.link}]}),(0,m.jsx)(ea.Component,ProductGallery_objectSpread(ProductGallery_objectSpread({testId:"show-more",rel:"next",variant:"secondary"},ea.props),{},{onClick:e=>{e.currentTarget.blur(),e.preventDefault(),eg()},href:eS.link,children:null==X?void 0:X.label}))]})]})]}),ek&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(eb.Component,ProductGallery_objectSpread({direction:"rightSide",size:"partial",priceFormatter:G.P,technicalInformation:{title:null==et?void 0:null===(I=et.labels)||void 0===I?void 0:null===(L=I.technicalInformation)||void 0===L?void 0:L.title,description:null==et?void 0:null===(M=et.labels)||void 0===M?void 0:null===(T=M.technicalInformation)||void 0===T?void 0:T.description},overlayProps:{className:B().section}},et.labels.sidebarComponent)),(0,m.jsx)(ep.Component,{selectionWarningLabel:null==et?void 0:null===(H=et.labels)||void 0===H?void 0:H.selectionWarning,clearSelectionButtonLabel:null==et?void 0:null===(A=et.labels)||void 0===A?void 0:A.clearSelectionButton,compareButtonLabel:null==et?void 0:null===(N=et.labels)||void 0===N?void 0:N.compareButton})]})]})]})},I=r(1325),L=r(9009),M=r(2614),T=r(792),H=r(5660),A=r(9505),N=r(8668),V=r(9947),$=r(3922),U=d()(()=>r.e(6789).then(r.bind(r,3836)),{loadableGenerated:{webpack:()=>[3836]}}),q=d()(()=>r.e(5796).then(r.bind(r,5796)),{loadableGenerated:{webpack:()=>[5796]}}),Q=d()(()=>r.e(3155).then(r.bind(r,3155)),{loadableGenerated:{webpack:()=>[3155]}}),W=d()(()=>r.e(83).then(r.bind(r,83)),{loadableGenerated:{webpack:()=>[83]}}),J=d()(()=>r.e(8325).then(r.bind(r,8325)),{loadableGenerated:{webpack:()=>[8325]}}),X={MobileFilterButton:L.Z,FilterIcon:M.Z,PrevIcon:M.Z,ResultsCountSkeleton:T.Z,SortSkeleton:T.Z,FilterButtonSkeleton:T.Z,ToggleField:H.Z,ProductComparison:A.Z,ProductComparisonSidebar:N.Z,ProductComparisonToolbar:V.Z,LinkButtonPrev:$.Z,LinkButtonNext:$.Z,__experimentalFilterDesktop:Q,__experimentalFilterSlider:W,__experimentalProductCard:U,__experimentalEmptyGallery:q,__experimentalProductComparisonSidebar:J},Y=["emptyGallery"];function ProductGallery_ProductGallery_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 ProductGallery_ProductGallery_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ProductGallery_ProductGallery_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ProductGallery_ProductGallery_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ProductGallerySection(e){var t,r,n,a,o,i,c,d,s,u,p,f,{emptyGallery:b}=e,v=(0,l.Z)(e,Y),{__experimentalEmptyGallery:y}=(0,h.r3)(),j=(0,g.qt)(),[P,w]=(0,g.En)(j)?[null==j?void 0:null===(t=j.data)||void 0===t?void 0:t.title,null==j?void 0:null===(r=j.data)||void 0===r?void 0:r.searchTerm]:(0,g.OJ)(j)?[null==j?void 0:null===(n=j.data)||void 0===n?void 0:null===(a=n.collection)||void 0===a?void 0:null===(o=a.seo)||void 0===o?void 0:o.title]:[""],O=null!==(i=null==j?void 0:null===(c=j.data)||void 0===c?void 0:null===(d=c.search)||void 0===d?void 0:null===(s=d.products)||void 0===s?void 0:null===(u=s.pageInfo)||void 0===u?void 0:u.totalCount)&&void 0!==i?i:0;return null!=j&&null!==(p=j.data)&&void 0!==p&&null!==(f=p.search)&&void 0!==f&&f.products&&0===O?(0,m.jsx)(I.Z,{className:"".concat(B().section," section-product-gallery"),children:(0,m.jsx)("section",{"data-testid":"product-gallery","data-fs-product-listing":!0,children:(0,m.jsx)(y.Component,ProductGallery_ProductGallery_objectSpread({},b))})}):(0,m.jsx)(I.Z,{className:"".concat(B().section," section-product-gallery layout__section"),children:(0,m.jsx)(ProductGallery_ProductGallery,ProductGallery_ProductGallery_objectSpread({title:P,searchTerm:w,totalCount:O},v))})}ProductGallerySection.$componentKey="ProductGallery";var ee=(0,o.B)("ProductGallery",ProductGallerySection,X);function OverriddenDefaultProductGallery_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 OverriddenDefaultProductGallery_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultProductGallery_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultProductGallery_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var et=(0,o.v)(OverriddenDefaultProductGallery_objectSpread(OverriddenDefaultProductGallery_objectSpread(OverriddenDefaultProductGallery_objectSpread({},a),a),{},{Section:ee}))},8335:function(e,t,r){"use strict";var n=r(792),a=r(1549);t.Z=function(e){var{bordered:t,sectioned:r,displayButton:o,aspectRatio:l=1,variant:i="default"}=e;return(0,a.jsxs)("div",{"data-fs-product-card-skeleton":!0,"data-fs-product-card-skeleton-variant":i,"data-fs-product-card-skeleton-bordered":t,"data-fs-product-card-skeleton-sectioned":r,children:[(0,a.jsx)("div",{"data-fs-product-card-skeleton-image":!0,style:{"--fs-product-card-skeleton-image-aspect-ratio":l},children:(0,a.jsx)(n.Z,{size:{width:"100%",height:"100%"}})}),(0,a.jsxs)("div",{"data-fs-product-card-skeleton-content":!0,children:[(0,a.jsx)(n.Z,{"data-fs-product-card-skeleton-text":!0,size:{width:"90%",height:"1.5rem"}}),(0,a.jsx)(n.Z,{"data-fs-product-card-skeleton-text":!0,size:{width:"70%",height:"1.5rem"}}),(0,a.jsx)(n.Z,{"data-fs-product-card-skeleton-badge":!0,size:{width:"6rem",height:"2rem"},border:"pill"}),o&&(0,a.jsx)(n.Z,{"data-fs-product-card-skeleton-button":!0,size:{width:"6rem",height:"2rem"},style:{columnGap:".75rem"}})]})]})}},7171:function(e,t,r){"use strict";var n=r(8132),a=r(8335),o=r(1549);t.Z=function(e){var{children:t,aspectRatio:r,loading:l=!0}=e;return l?(0,o.jsx)("ul",{"data-fs-product-grid":!0,children:Array.from({length:n.gK},(e,t)=>(0,o.jsx)("li",{children:(0,o.jsx)(a.Z,{aspectRatio:r,bordered:!0})},String(t)))}):(0,o.jsx)(o.Fragment,{children:t})}},643:function(e,t,r){"use strict";r.d(t,{P:function(){return useFormattedPrice}});var n=r(4194),a=r(7358),usePriceFormatter=function(){var{decimals:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{currency:t,locale:r}=(0,a.kP)();return(0,n.useCallback)(n=>Intl.NumberFormat(r,{style:"currency",currency:t.code,minimumFractionDigits:e?2:0}).format(n),[t.code,r,e])},useFormattedPrice=e=>{var t=usePriceFormatter();return(0,n.useMemo)(()=>t(e),[t,e])}},7772:function(e,t,r){"use strict";r.d(t,{y:function(){return useLocalizedVariables}});var n=r(4194),a=r(7358),o=r(8132),toArray=e=>Array.isArray(e)?e:e?[e]:[],useLocalizedVariables=e=>{var{first:t,after:r,sort:l,term:i,selectedFacets:c,sponsoredCount:d}=e,{channel:s,locale:u}=(0,a.kP)();return(0,n.useMemo)(()=>({first:null!=t?t:o.KS,after:null!=r?r:"0",sort:null!=l?l:"score_desc",term:null!=i?i:"",selectedFacets:[...toArray(c),{key:"channel",value:null!=s?s:""},{key:"locale",value:u}],sponsoredCount:null!=d?d:3}),[c,t,r,l,i,s,u,d])}},330:function(e,t,r){"use strict";r.d(t,{Bj:function(){return p},Y_:function(){return useCreateUseGalleryPage},__:function(){return useGalleryPage}});var n=r(5487),a=r(9029),o=r(4204),l=r.n(o),i=r(4194),c=r(2693),d=r(5011),s=r(7772);function hasTimeElapsed(e){var{timestamp:t,period:r=3e5}=e;return Date.now()-t>r}var u=r(7358),p=(0,i.createContext)(e=>({data:null})),useGalleryPage=e=>{var t=(0,i.useContext)(p);if(!t)throw Error("Missing UseGalleryPageContext on React tree");return t(e)},f=n.gU,getKey=e=>JSON.stringify(e),useCreateUseGalleryPage=e=>{var t,{postalCode:r}=(0,u.kP)(),n=null!=e&&null!==(t=e.initialPages)&&void 0!==t&&t.search?[e.initialPages]:[],o=null!=e&&e.serverManyProductsVariables?[getKey(e.serverManyProductsVariables)]:[],{0:p,1:m}=(0,i.useState)(n),b=(0,i.useRef)(n),v=(0,i.useRef)(o),y=(0,i.useRef)(r),h=(0,i.useCallback)(function(t){var n,o,{state:{sort:u,term:p,selectedFacets:h},itemsPerPage:g}=(0,a.R)(),j=(0,s.y)({first:g,after:(g*t).toString(),sort:u,term:null!==(n=null!==(o=null==e?void 0:e.searchTerm)&&void 0!==o?o:p)&&void 0!==n?n:"",selectedFacets:h}),P=l()(v.current[t],getKey(j)),w=function(e){var{page:t,generatedBuildTime:r}=e;if(0!==t)return!1;var n=(0,i.useRef)(),a=hasTimeElapsed({timestamp:r,period:3e5}),o=void 0===n.current,l=!o&&hasTimeElapsed({timestamp:n.current,period:3e5});return!!a&&(!!o||!!l)&&(n.current=Date.now(),!0)}({page:t,generatedBuildTime:d.A}),O=!P||w||!!r,{data:E,mutate:S}=(0,c.aM)(f,j,{fallbackData:null,suspense:!0,doNotRun:!O}),_=null!==E;if(_){v.current[t]=getKey(j);var k=[...b.current];k[t]=E,b.current=k}return(0,i.useEffect)(()=>{_&&m(e=>{var r=[...e];return r[t]=E,r})},[E,t,_]),(0,i.useEffect)(()=>{r!==y.current&&(S(),y.current=r)},[r]),(0,i.useMemo)(()=>P?{data:b.current[t]}:{data:E},[P,E,t])},[null==e?void 0:e.searchTerm,r]);return(0,i.useMemo)(()=>({pages:p,useGalleryPage:h}),[p,h])}},7444:function(e,t,r){"use strict";r.d(t,{UO:function(){return useProductGalleryQuery}});var n=r(3067),a=r(5487),o=r(2693),l=r(7358),i=r(7772),c=r(9029);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var d=a.VA,findFacetValue=(e,t)=>{var r,n=e.find(e=>{var{key:r}=e;return r===t});return null!==(r=null==n?void 0:n.value)&&void 0!==r?r:null},useProductGalleryQuery=e=>{var{term:t,sort:n,selectedFacets:a,itemsPerPage:s}=e,{locale:u}=(0,l.kP)(),{state:p,setState:f}=(0,c.R)(),m=(0,i.y)({first:s,after:"0",sort:n,term:null!=t?t:"",selectedFacets:a}),b=(0,o.aM)(d,m,{onSuccess:e=>{var n,o,l=null===(n=e.search.metadata)||void 0===n?void 0:n.fuzzy,i=null===(o=e.search.metadata)||void 0===o?void 0:o.logicalOperator,c=new URLSearchParams(window.location.search),d=c.has("fuzzy"),s=c.has("operator");e&&t&&l&&i&&d&&s&&r.e(9399).then(r.bind(r,6393)).then(r=>{var n,a,{sendAnalyticsEvent:o}=r;o({name:"intelligent_search_query",params:{locale:u,term:t,url:window.location.href,logicalOperator:null!=i?i:"and",isTermMisspelled:null!==(n=null===(a=e.search.metadata)||void 0===a?void 0:a.isTermMisspelled)&&void 0!==n&&n,totalCount:e.search.products.pageInfo.totalCount}})}),function(e){var{selectedFacets:t,updatedFuzzyFacetValue:r,updatedOperatorFacetValue:n,setState:a,state:o}=e,l=findFacetValue(t,"fuzzy"),i=findFacetValue(t,"operator");if(r&&r!==l||n&&n!==i){var c,d,s=t.filter(e=>"fuzzy"!==e.key&&"operator"!==e.key);a(_objectSpread(_objectSpread({},o),{},{selectedFacets:[...s,{key:"fuzzy",value:null!==(c=null!=r?r:l)&&void 0!==c?c:"auto"},{key:"operator",value:null!==(d=null!=n?n:i)&&void 0!==d?d:"and"}]}))}}({selectedFacets:a,updatedFuzzyFacetValue:l,updatedOperatorFacetValue:i,setState:f,state:p})}}),v=findFacetValue(a,"fuzzy"),y=findFacetValue(a,"operator");return b.error||v&&y?b:_objectSpread(_objectSpread({},b),{},{isValidating:!0,data:null})}},8998:function(e,t,r){"use strict";r.d(t,{j:function(){return useApplySearchState}});var n=r(3067),a=r(4194);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var useApplySearchState=()=>(0,a.useCallback)(e=>{var t="".concat(e.pathname).concat(e.search);window.history.replaceState(_objectSpread(_objectSpread({},window.history.state),{},{as:t,url:t}),"",t)},[])},5501:function(e){e.exports={section:"section_section__dvBbv"}},4399:function(e){e.exports={section:"section_section__Pdf2v"}},2007:function(e){e.exports={section:"section_section__4Hqa8",loading:"section_loading__GPzvE"}},9767:function(e,t,r){"use strict";var n=r(4194),a=r(5450);let o=(0,n.forwardRef)(function({value:e,as:t="span",variant:r="selling",testId:o="fs-price",formatter:l=e=>e,SRText:i,...c},d){let s=l(e,r);return n.createElement(t,{ref:d,"data-fs-price":!0,"data-fs-price-variant":r,"data-testid":o,...c},i&&n.createElement(a.Z,{text:i}),s)});t.Z=o},5450:function(e,t,r){"use strict";var n=r(4194);t.Z=function({text:e,as:t}){let r=t??"span";return n.createElement(r,{"data-fs-sr-only":!0},e)}},4873:function(e,t,r){"use strict";var n=r(4194),a=r(2614);let o=(0,n.forwardRef)(function({options:e,id:t,testId:r="fs-select",...o},l){return n.createElement("div",{"data-fs-select":!0},n.createElement("select",{ref:l,id:t,"data-testid":r,...o},Object.keys(e).map(t=>n.createElement("option",{key:t,value:t},e[t]))),n.createElement(a.Z,{"data-fs-select-icon":!0,name:"CaretDown"}))});t.Z=o},792:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({testId:e="fs-skeleton",loading:t=!0,shimmer:r=!0,children:a,size:o,border:l,borderRadius:i,...c},d){let s={width:o.width,height:o.height};return t?n.createElement("div",{ref:d,"data-fs-skeleton":!0,"data-testid":e,"data-fs-skeleton-border":l||null,style:i?{...s,borderRadius:i}:s,...c},r&&n.createElement("div",{"data-fs-skeleton-shimmer":!0})):n.createElement(n.Fragment,null,a)});t.Z=a},2182:function(e,t,r){"use strict";r.d(t,{S:function(){return useProductComparison}});var n=r(4194),a=r(2770);function useProductComparison(){let e=(0,n.useContext)(a.A);if(void 0===e)throw Error("useProductComparison must be used within a ProductComparisonProvider");return e}},1972:function(e,t,r){"use strict";r.d(t,{Z:function(){return Breadcrumb_Breadcrumb}});var n=r(4194),a=r(2614),o=r(727),l=r(6588);let i=(0,n.lazy)(()=>r.e(4983).then(r.bind(r,7169))),c=(0,n.lazy)(()=>r.e(1697).then(r.bind(r,9570))),d=(0,n.lazy)(()=>r.e(4219).then(r.bind(r,5741))),s=(0,n.lazy)(()=>r.e(6621).then(r.bind(r,4451))),u=(0,n.forwardRef)(function({children:e,divider:t="",testId:r="fs-breadcrumb",breadcrumbList:u,isDesktop:p=!1,renderLink:f,homeLink:m,dropdownButtonIcon:b=n.createElement(a.Z,{name:"DotsThree"}),collapsedItemsIcon:v=n.createElement(a.Z,{"data-fs-dropdown-item-icon":!0,name:"ArrowElbowDownRight"}),...y},h){let g=p?u[0]:null,j=p?u.slice(1,-2):u.slice(0,-2),P=u.slice(-2),w=u.length>4,O=(0,n.useCallback)(e=>{let t=f?.(e),r=e.collapsed?{"data-fs-breadcrumb-dropdown-link":!0}:{"data-fs-breadcrumb-link":!0};return t?(0,n.cloneElement)(t,{...r,key:e.itemProps.position}):n.createElement(o.Z,{...r,href:e.itemProps.item,key:e.itemProps.position},e.itemProps.name)},[f]);return n.createElement(l.Z,{ref:h,"data-fs-breadcrumb-is-desktop":p,...y},m,!w&&u.map((e,t)=>u.length===t+1?n.createElement("span",{key:String(e.position)},e.name):O({itemProps:e,collapsed:!1})),w&&g&&O({itemProps:g,collapsed:!1}),w&&n.createElement(n.Suspense,null,n.createElement(i,null,n.createElement(c,{"aria-label":"View More","data-fs-breadcrumb-dropdown-button":!0,size:"small"},b),n.createElement(d,{"data-fs-breadcrumb-dropdown-menu":!0},j.map(e=>n.createElement(s,{"data-fs-breadcrumb-dropdown-item":!0,key:String(e.position),icon:v},O({itemProps:e,collapsed:!0})))))),w&&P.map((e,t)=>P.length===t+1?n.createElement("span",{key:String(e.position)},e.name):O({itemProps:e,collapsed:!1})))});var Breadcrumb_Breadcrumb=({breadcrumbList:e,...t})=>n.createElement(n.Fragment,null,n.createElement(u,{breadcrumbList:e,...t}),n.createElement(u,{breadcrumbList:e,isDesktop:!0,...t}))},6588:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(4194),a=r(4564),Breadcrumb_Divider=({divider:e,testId:t})=>{let r={"data-fs-breadcrumb-divider":!0,"aria-hidden":!0,"data-testid":`${t}-divider`};return n.isValidElement(e)?n.cloneElement(e,r):n.createElement("span",{...r},e??"/")},Breadcrumb_ListItem=({children:e,isLastItem:t,divider:r,testId:a})=>{let o={"data-testid":`${a}-item`,"data-fs-breadcrumb-item":!t||"current","aria-current":t?"page":void 0};return n.isValidElement(e)?n.createElement("li",{"data-fs-breadcrumb-list-item":!0},n.cloneElement(e,o),t?null:n.createElement(Breadcrumb_Divider,{divider:r,testId:a})):n.createElement("li",{"data-fs-breadcrumb-list-item":!0},n.createElement("span",{...o},e,t?null:n.createElement(Breadcrumb_Divider,{divider:r,testId:a})))};let o=(0,n.forwardRef)(function({children:e,divider:t="",testId:r="fs-breadcrumb",...o},l){return n.createElement("nav",{"aria-label":"Breadcrumb",role:"navigation",ref:l,"data-fs-breadcrumb":!0,"data-testid":r,...o},n.createElement(a.Z,{as:"ol","data-fs-breadcrumb-list":!0,"data-fs-content":"breadcrumb"},n.Children.toArray(e).map((e,a,o)=>{let l=a===o.length-1;return n.createElement(Breadcrumb_ListItem,{isLastItem:l,divider:t,key:`breadcrumb-${a}`,testId:r},e)})))});var l=o},2946:function(e,t,r){"use strict";r.d(t,{Z:function(){return DiscountBadge_DiscountBadge}});var n=r(4194),a=r(276);let useDiscountPercent=(e,t)=>(0,n.useMemo)(()=>{let r=e-t,n=100*r/e;return Math.round(n)},[t,e]);var DiscountBadge_DiscountBadge=({listPrice:e,spotPrice:t,thresholdLow:r=15,thresholdHigh:o=40,size:l,testId:i="fs-discount-badge"})=>{let c=useDiscountPercent(e,t);if(0===c)return n.createElement(n.Fragment,null);let d=c<=r?"low":c<=o?"medium":"high";return n.createElement(a.Z,{"data-fs-discount-badge":!0,"data-fs-discount-badge-variant":d,size:l,"data-testid":i},c,"% off")}},7169:function(e,t,r){"use strict";r.r(t);var n=r(4194),a=r(9642);t.default=({children:e,isOpen:t,onDismiss:r,id:o="fs-dropdown"})=>{let[l,i]=(0,n.useState)(!1),c=(0,n.useRef)([]),d=(0,n.useRef)(0),s=(0,n.useRef)(null),u=t??l,p=(0,n.useCallback)(()=>{i(!1),r?.()},[r]),open=()=>{i(!0)},f=(0,n.useCallback)(()=>{i(e=>(e&&(r?.(),s.current?.focus()),!e))},[r]),m=(0,n.useCallback)(e=>{s.current=e},[]);(0,n.useEffect)(()=>{i(t??!1)},[t]),(0,n.useEffect)(()=>{u&&c?.current[0]?.focus()},[u]),(0,n.useEffect)(()=>{let e=!0,event=t=>{let r=c?.current.some(e=>t.target===e||e.contains(t.target));if(e){e=!1;return}r||p()};return u?document.addEventListener("click",event):document.removeEventListener("click",event),()=>{document.removeEventListener("click",event)}},[p,u]);let b=(0,n.useMemo)(()=>({isOpen:u,close:p,open,toggle:f,dropdownTriggerRef:s,addDropdownTriggerRef:m,selectedDropdownItemIndexRef:d,dropdownItemsRef:c,id:o}),[u,p,f,m,o]);return n.createElement(a.Z.Provider,{value:b},e)}},9570:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return i}});var n=r(4194),a=r(9009),o=r(5494);let useDropdownTrigger=({triggerRef:e})=>{let{toggle:t,dropdownTriggerRef:r,addDropdownTriggerRef:a,isOpen:l,id:i}=(0,o.x)();return(0,n.useImperativeHandle)(e,()=>r.current,[r]),{onClick:t,ref:a,"aria-expanded":l,"aria-controls":i,"aria-haspopup":"menu"}},l=(0,n.forwardRef)(function({testId:e="fs-dropdown-button",children:t,asChild:r=!1,...o},l){let i=useDropdownTrigger({triggerRef:l}),c=n.isValidElement(t)?(0,n.cloneElement)(t,{...i,...t.props}):t;return n.createElement(n.Fragment,null,r?c:n.createElement(a.Z,{"data-fs-dropdown-button":!0,"data-testid":e,variant:"tertiary",...i,...o},t))});var i=l},4451:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return l}});var n=r(4194),a=r(5494);let useDropdownItem=({ref:e,onClick:t,dismissOnClick:r=!0})=>{let{dropdownItemsRef:o,selectedDropdownItemIndexRef:l,close:i}=(0,a.x)(),[c,d]=(0,n.useState)(0),s=(0,n.useRef)(),onFocusItem=()=>{l.current=c,o?.current[l.current]?.focus()};return(0,n.useImperativeHandle)(e,()=>s.current,[]),{ref:e=>{e&&!o?.current.includes(e)&&(o?.current.push(e),d(o?.current.findIndex(t=>t===e)??0)),s.current=e},onFocus:onFocusItem,onMouseEnter:onFocusItem,onClick:e=>{t?.(e),r&&i?.()},role:"menuitem",tabIndex:-1,"data-index":c}},o=(0,n.forwardRef)(function({children:e,asChild:t,icon:r,onClick:a,dismissOnClick:o=!0,testId:l="fs-dropdown-item",...i},c){let d=useDropdownItem({ref:c,onClick:a,dismissOnClick:o}),s=n.isValidElement(e)?(0,n.cloneElement)(e,{...d,...e.props}):e;return n.createElement(n.Fragment,null,t?s:n.createElement("button",{"data-fs-dropdown-item":!0,"data-testid":l,...d,...i},!!r&&r,e))});var l=o},5741:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return Dropdown_DropdownMenu}});var n=r(4194),a=r(6321),o=r(5494);let useDropdownPosition=(e="left")=>{let{dropdownTriggerRef:t,isOpen:r}=(0,o.x)(),[a,l]=(0,n.useState)({top:0,left:0,right:"auto",transform:"none",loading:!0});return(0,n.useEffect)(()=>{let updateMenuPosition=()=>{let r="undefined"!=typeof window;if(!t?.current)return;let n=t.current.getBoundingClientRect(),a=n?.top??0,o=n?.height??0,i=n?.left??0,c=n?.width??0,d=r?document?.documentElement?.scrollTop:0,s=r?document?.documentElement?.scrollLeft:0,u=i+s,p="auto",f="none";"right"===e?(p=`${document.documentElement.clientWidth-i-c}px`,u="auto"):"center"===e&&(u=i+c/2+s,f="translateX(-50%)"),l({top:a+o+d,left:u,right:p,transform:f,loading:!1})};return r&&(updateMenuPosition(),window.addEventListener("resize",updateMenuPosition)),()=>{window.removeEventListener("resize",updateMenuPosition)}},[t,r,e]),{...a,position:"absolute"}};var Dropdown_DropdownMenu=({children:e,testId:t="fs-dropdown-menu",size:r="regular",align:l="left",style:i,...c})=>{let{isOpen:d,close:s,dropdownItemsRef:u,selectedDropdownItemIndexRef:p,dropdownTriggerRef:f,id:m}=(0,o.x)(),{loading:b,...v}=useDropdownPosition(l),y=n.Children.toArray(e).length,handleDownPress=()=>{p.current<y-1?p.current++:p.current=0,u?.current[p.current]?.focus()},handleUpPress=()=>{p.current>0?p.current--:p.current=y-1,u?.current[p.current]?.focus()},handleHomePress=()=>{p.current=0,u?.current[p.current]?.focus()},handleEndPress=()=>{p.current=y-1,u?.current[p.current]?.focus()},handleEscapePress=()=>{s?.(),f?.current?.focus()},handleKeyNavigatePress=e=>{let t=u?.current??[],r=p.current,n=[...t.slice(r+1),...t.slice(0,r+1)],a=n.find(t=>t.textContent?.[0]?.toLowerCase()===e.toLowerCase());a&&(p.current=t.indexOf(a),a.focus())};return d&&!b?(0,a.createPortal)(n.createElement("div",{role:"presentation","data-fs-dropdown-overlay":!0,onKeyDown:e=>{if(!e.defaultPrevented&&"Enter"!==e.key&&" "!==e.key){switch(e.preventDefault(),e.key){case"Escape":handleEscapePress();break;case"ArrowDown":handleDownPress();break;case"ArrowUp":handleUpPress();break;case"Home":handleHomePress();break;case"End":handleEndPress();break;default:handleKeyNavigatePress(e.key)}e.stopPropagation()}},"data-testid":`${t}-overlay`},n.createElement("div",{role:"menu","aria-orientation":"vertical","data-fs-dropdown-menu":!0,"data-fs-dropdown-menu-size":r,"data-testid":t,style:{...v,...i},id:m,...c},e)),document.body):(u.current=[],null)}},9642:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.createContext)({isOpen:!1,dropdownTriggerRef:null,selectedDropdownItemIndexRef:null,dropdownItemsRef:null,id:"fs-dropdown"});t.Z=a},5494:function(e,t,r){"use strict";r.d(t,{x:function(){return useDropdown}});var n=r(4194),a=r(9642);let useDropdown=()=>{let e=(0,n.useContext)(a.Z);if(void 0===e)throw Error("Do not use useDropdown hook outside the Dropdown context.");return e}},3922:function(e,t,r){"use strict";var n=r(4194);t.Z=function({icon:e,inverse:t,children:r,disabled:a,iconPosition:o,size:l="regular",variant:i="primary",testId:c="fs-link-button",...d}){let s=(0,n.useRef)(null);return n.createElement("a",{ref:s,"data-fs-button":!0,"data-fs-link-button":!0,"data-fs-button-size":l,"data-fs-button-variant":i,"data-fs-button-inverse":t,"data-fs-button-disabled":a,onFocus:function(e){e.preventDefault(),a&&s.current?.blur()},"data-testid":c,...d},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)))}},8394:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({testId:e="fs-product-card",variant:t="default",bordered:r=!1,outOfStock:a,children:o,...l},i){return n.createElement("article",{ref:i,"data-fs-product-card":a?"out-of-stock":"","data-fs-product-card-variant":t,"data-fs-product-card-bordered":r,"data-testid":e,...l},o)});t.Z=a},547:function(e,t,r){"use strict";var n=r(4194),a=r(727),o=r(9088),l=r(1953),i=r(3024),c=r(2614),d=r(2946),s=r(276),u=r(9009);let p=(0,n.forwardRef)(function({testId:e="fs-product-card-content",title:t,linkProps:r,price:p,outOfStock:f,outOfStockLabel:m="Out of stock",ratingValue:b,showDiscountBadge:v,buttonLabel:y="Add",onButtonClick:h,children:g,includeTaxes:j=!1,includeTaxesLabel:P="Tax included",sponsored:w=!1,sponsoredLabel:O="Sponsored",...E},S){let _=p?.listPrice?p.listPrice:0,k=p?.value?p.value:0;return n.createElement("section",{ref:S,"data-fs-product-card-content":!0,"data-fs-product-card-badge":v,"data-testid":e,...E},w&&n.createElement("span",{"data-fs-product-card-sponsored-label":!0},O),n.createElement("div",{"data-fs-product-card-heading":!0},n.createElement("h3",{"data-fs-product-card-title":!0},n.createElement(a.Z,{...r,title:t},n.createElement("span",null,t))),!f&&n.createElement(o.Z,{"data-fs-product-card-prices":!0,value:k,listPrice:_,formatter:p?.formatter}),j&&n.createElement(l.Z,{"data-fs-product-card-taxes-label":!0},P),b&&n.createElement(i.Z,{value:b,icon:n.createElement(c.Z,{name:"Star"})})),v&&!f&&n.createElement(d.Z,{listPrice:_,spotPrice:k}),f&&n.createElement(s.Z,null,m),h&&!f&&n.createElement("div",{"data-fs-product-card-actions":!0},n.createElement(u.Z,{variant:"primary",icon:n.createElement(c.Z,{name:"ShoppingCart"}),iconPosition:"left",size:"small",onClick:h},y)))});t.Z=p},5167:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({testId:e="fs-product-card-image",aspectRatio:t=1,children:r,...a},o){return n.createElement("div",{ref:o,"data-fs-product-card-image":!0,"data-testid":e,style:{"--fs-product-card-image-aspect-ratio":t},...a},r)});t.Z=a},9088:function(e,t,r){"use strict";var n=r(4194),a=r(9767);let o=(0,n.forwardRef)(function({testId:e="fs-product-price",value:t,listPrice:r,formatter:o,...l},i){let c=r??0,d=t??0;return n.createElement("div",{ref:i,"data-fs-product-price":!0,"data-testid":e,...l},d!==c&&0!==c?n.createElement(n.Fragment,null,n.createElement(a.Z,{value:c,formatter:o,testId:"list-price","data-value":c,variant:"listing",SRText:"Original price:"}),n.createElement(a.Z,{value:d,formatter:o,testId:"price","data-value":d,variant:"spot",SRText:"Price:"})):n.createElement(a.Z,{value:d,formatter:o,testId:"price","data-value":d,variant:"spot",SRText:"Price:"}))});t.Z=o},3024:function(e,t,r){"use strict";var n=r(4194),a=r(2614),o=r(7041),l=r(4564);let i=(0,n.forwardRef)(function({children:e,testId:t="fs-rating",length:r=5,value:i=0,icon:c,onChange:d,disabled:s,...u},p){let[f,m]=(0,n.useState)(0),b={"data-fs-rating-icon-outline":!0},v=n.isValidElement(c)?c:n.createElement(a.Z,{name:"Star"});return n.createElement(l.Z,{ref:p,"data-fs-rating":!0,"data-fs-rating-actionable":"function"==typeof d,"data-testid":t,...u},Array.from({length:r}).map((e,r)=>{let l=r+1;return n.createElement("li",{key:`rating-${r}`,"data-fs-rating-item":l<=(f||i)?"full":l-i>0&&l-i<1?"partial":"empty","data-testid":`${t}-item`},d?n.createElement(o.Z,{"data-fs-rating-button":!0,icon:v,size:"small","aria-label":"rate",onClick:()=>{d(l)},onMouseEnter:()=>m(l),onMouseLeave:()=>m(i),disabled:s}):n.createElement(n.Fragment,null,n.createElement("div",{"data-fs-rating-icon-wrapper":!0},v),n.isValidElement(c)?n.cloneElement(c,b):n.createElement(a.Z,{name:"Star","data-fs-rating-icon-outline":!0})))}))});t.Z=i},6335:function(e,t,r){"use strict";var n=r(4194),a=r(1953),o=r(4873);let l=(0,n.forwardRef)(function({id:e,label:t,options:r,testId:l="fs-select-field",...i},c){return n.createElement("div",{ref:c,"data-fs-select-field":!0},n.createElement(a.Z,{"data-fs-select-field-label":!0,htmlFor:e},t),n.createElement(o.Z,{id:e,options:r,"data-testid":l,...i}))});t.Z=l},7336:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({children:e,variant:t="colored",testId:r="fs-table",...a},o){return n.createElement("div",{"data-fs-table":!0},n.createElement("table",{ref:o,"data-fs-table-content":!0,"data-fs-table-variant":t,"data-testid":r,...a},e))});t.Z=a},9336:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-table-body",...r},a){return n.createElement("tbody",{ref:a,"data-testid":t,"data-fs-table-body":!0,...r},e)});t.Z=a},4256:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({scope:e,align:t,children:r,variant:a="data",testId:o="fs-table-cell",...l},i){return n.createElement("header"===a?"th":"td",{ref:i,"data-fs-table-cell":a,"data-fs-table-cell-align":t,"data-testid":o,scope:e,...l},r)});t.Z=a},411:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-table-head",...r},a){return n.createElement("thead",{ref:a,"data-testid":t,"data-fs-table-head":!0,...r},e)});t.Z=a},4236:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-table-row",...r},a){return n.createElement("tr",{ref:a,"data-fs-table-row":!0,"data-testid":t,...r},e)});t.Z=a},540:function(e,t,r){"use strict";var n=r(4194),a=r(2256),o=r(2614);let l=(0,n.forwardRef)(function({testId:e="fs-toggle",id:t,disabled:r,variant:l="horizontal",...i},c){return n.createElement("div",{"data-fs-toggle":!0,"data-fs-toggle-variant":l,"data-testid":e},n.createElement(a.Z,{ref:c,id:t,role:"switch",type:"checkbox",disabled:r,...i}),n.createElement("span",{"data-fs-toggle-knob":!0},n.createElement(o.Z,{name:"Checked"})))});t.Z=l},5660:function(e,t,r){"use strict";var n=r(4194),a=r(540),o=r(1953),l=r(5450);let i=(0,n.forwardRef)(function({testId:e="fs-toggle-field",id:t,label:r,disabled:i,displayLabel:c=!0,variant:d="horizontal",...s},u){return n.createElement("div",{ref:u,"data-fs-toggle-field":!0,"data-testid":e},n.createElement(a.Z,{id:t,variant:d,disabled:i,...s}),c?n.createElement(o.Z,{"data-fs-toggle-field-label":!0,htmlFor:t},r):n.createElement(l.Z,{text:r}))});t.Z=i},8957:function(e,t,r){"use strict";r.d(t,{u:function(){return useHero}});var n=r(4194);let a=(0,n.createContext)(void 0),o=(0,n.forwardRef)(function({children:e,testId:t="fs-hero",variant:r="primary",colorVariant:o="main",...l},i){return n.createElement(a.Provider,{value:{variant:r,colorVariant:o}},n.createElement("article",{ref:i,"data-fs-hero":!0,"data-fs-hero-variant":r,"data-fs-hero-color-variant":o,"data-testid":t,...l},e))});function useHero(){let e=(0,n.useContext)(a);if(void 0===e)throw Error("Do not use Hero components outside the Hero context.");return e}t.Z=o},7154:function(e,t,r){"use strict";var n=r(4194),a=r(3922),o=r(2614),l=r(8957);let i=(0,n.forwardRef)(function({icon:e,link:t,title:r,linkText:i,linkTargetBlank:c,subtitle:d,children:s,testId:u="fs-hero-heading",...p},f){let{variant:m,colorVariant:b}=(0,l.u)();return n.createElement("header",{ref:f,"data-fs-hero-heading":!0,"data-testid":u,...p},n.createElement("div",{"data-fs-hero-wrapper":!0,"data-fs-content":"hero"},n.createElement("div",{"data-fs-hero-info":!0},n.createElement("h1",{"data-fs-hero-title":!0},r),n.createElement("p",{"data-fs-hero-subtitle":!0},d),!!t&&n.createElement(a.Z,{href:t,inverse:"main"===b,icon:n.createElement(o.Z,{name:"ArrowRight"}),iconPosition:"right",target:c?"_blank":void 0},i)),!!e&&"secondary"===m&&n.createElement("span",{"data-fs-hero-icon":!0},e)))});t.Z=i},4147:function(e,t,r){"use strict";var n=r(4194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-hero-image",...r},a){return n.createElement("div",{ref:a,"data-fs-hero-image":!0,"data-testid":t,...r},e)});t.Z=a},9505:function(e,t,r){"use strict";var n=r(4194),a=r(2770);let o=(0,n.forwardRef)(function({testId:e="fs-product-comparison",children:t,...r},o){return n.createElement("div",{ref:o,"data-testid":e,...r},n.createElement(a.Z,null,t))});t.Z=o},8668:function(e,t,r){"use strict";var n=r(4194),a=r(3666),o=r(2182),l=r(7215),i=r(5049),c=r(7336),d=r(411),s=r(4236),u=r(4256),p=r(9336),f=r(5660),m=r(276),b=r(9009),v=r(4873),y=r(9767),h=r(8394),g=r(5167),j=r(547),P=r(7169),w=r(9570),O=r(5741),E=r(4451),S=r(2614);let ImageComponent=({src:e,alt:t,...r})=>n.createElement("img",{src:e,alt:t,...r}),getAllSpecifications=e=>e?.skuSpecifications?.map(e=>e.field)||[],getDifferences=(e,t)=>{let r=getAllSpecifications(e),n=t.map(e=>e.additionalProperty.map(e=>[e.name,e.value||""]));return r.filter(e=>{let t=n.map(t=>t.find(t=>t[0]===e)?.[1]);return!t.every((e,t,r)=>e===r[0])})||[]};t.Z=function({title:e,sortLabel:t,filterLabel:r,preferencesLabel:_,productNameFilterLabel:k,toggleFieldLabel:Z,priceLabel:x,cartButtonLabel:D,priceWithTaxLabel:C,technicalInformation:G,size:F="partial",direction:B="rightSide",priceFormatter:R,overlayProps:K,sortOptions:z,handleProductToBuy:I,setPendingEvent:L,...M}){let{fade:T}=(0,a.b)(),{isOpen:H,setIsOpen:A,products:N}=(0,o.S)(),[V,$]=(0,n.useState)(!0),[U,q]=(0,n.useState)("productByName"),[Q,W]=(0,n.useState)(!1),handleClickAddCart=(e,t)=>{e.preventDefault(),I(t.id),L(e)},J=(0,n.useMemo)(()=>z?.find(e=>e.value===U)?.onChange(N)??N,[U,N]),{specsToShow:X}=(0,n.useMemo)(()=>{let e=N[0],t=getAllSpecifications(e),r=getDifferences(e,J);return{specsToShow:Q?r:t,allSpecs:t,diffSpecs:r}},[N,J,Q]);(0,n.useEffect)(()=>{if(H){document.body.style.overflow="hidden";return}document.body.style.overflow=""},[H]);let Y=(0,n.useMemo)(()=>z?.reduce((e,t)=>(e[t.value]=t.label,e),{})||{},[z]);return n.createElement(l.Z,{"data-fs-product-comparison-sidebar":!0,fade:T,size:F,direction:B,isOpen:H,overlayProps:K,...M},n.createElement(i.Z,{onClose:()=>A(!1)},n.createElement("div",null,n.createElement("h2",{"data-fs-product-comparison-sidebar-header-title":!0},e),n.createElement(m.Z,{size:"big",variant:"neutral"},N.length))),n.createElement("div",{"data-fs-product-comparison-filters":!0},n.createElement("div",{"data-fs-product-comparison-container":!0},n.createElement("p",{"data-fs-product-comparison-filters-sort-label":!0},t),n.createElement(v.Z,{id:"product-comparison-sort-by",options:Y,value:U,onChange:e=>q(e.target.value)})),n.createElement(f.Z,{id:"product-comparison-show-differences",label:Z,checked:Q,onChange:()=>W(!Q)})),n.createElement(n.Suspense,null,n.createElement(P.default,null,n.createElement(w.default,{"data-fs-product-comparison-dropdown-button":!0},r),n.createElement(O.default,{className:K?.className},n.createElement("div",{"data-fs-product-comparison-dropdown-menu-content":!0},n.createElement(E.default,{asChild:!0,dismissOnClick:!1},n.createElement("div",{"data-fs-product-comparison-dropdown-item-filter-type":!0},n.createElement("span",{"data-fs-product-comparison-dropdown-item-filter-type-text":!0},_))),n.createElement(E.default,{dismissOnClick:!1,asChild:!0,"data-fs-product-comparison-toggle-field-mobile":!0},n.createElement(f.Z,{id:"product-comparison-show-differences",label:Z,checked:Q,onChange:()=>W(!Q)})),n.createElement(E.default,{asChild:!0,dismissOnClick:!1},n.createElement("div",{"data-fs-product-comparison-dropdown-item-filter-type":!0},n.createElement("span",{"data-fs-product-comparison-dropdown-item-filter-type-text":!0},t))),n.createElement(E.default,{dismissOnClick:!1,onClick:()=>q("productByName"),"data-fs-dropdown-filter-selected":"productByName"===U||void 0},"productByName"===U&&n.createElement(S.Z,{name:"Checked",width:16,height:16}),n.createElement("p",null,k)),n.createElement(E.default,{dismissOnClick:!1,onClick:()=>q("productByPrice"),"data-fs-dropdown-filter-selected":"productByPrice"===U||void 0},"productByPrice"===U&&n.createElement(S.Z,{name:"Checked",width:16,height:16}),n.createElement("p",null,x)))))),n.createElement(c.Z,null,n.createElement(d.Z,null,n.createElement(s.Z,null,N.map(e=>n.createElement(u.Z,{key:e.id},n.createElement(h.Z,null,n.createElement(g.Z,{aspectRatio:1},n.createElement(ImageComponent,{src:e.image[0]?.url,alt:e.image[0]?.alternateName})),n.createElement(j.Z,{title:e.name,outOfStock:"https://schema.org/InStock"!==e.offers.offers[0].availability,price:{value:e.offers.offers[0].price,listPrice:e.offers.offers[0].listPrice,formatter:R},buttonLabel:D,showDiscountBadge:!0})),n.createElement(b.Z,{variant:"tertiary",size:"small",onClick:t=>handleClickAddCart(t,e)},D))))),n.createElement(p.Z,null,n.createElement(s.Z,{"data-fs-product-comparison-row-header":!0},n.createElement(u.Z,null,n.createElement(b.Z,{"data-fs-product-comparison-row-header-button":!0,"aria-label":"Toggle technical information",size:"small",iconPosition:"right",icon:n.createElement(S.Z,{name:V?"CaretUp":"CaretDown"}),onClick:function(){$(!V)}},n.createElement("h2",{"data-fs-product-comparison-row-header-button-title":!0},G?.title),n.createElement("h3",{"data-fs-product-comparison-row-header-button-description":!0},G?.description)))),V&&n.createElement(n.Fragment,null,n.createElement(s.Z,null,J.map(e=>n.createElement(u.Z,{key:e.id},n.createElement("span",{"data-fs-product-comparison-row-label":!0},C),n.createElement(y.Z,{"data-fs-product-comparison-row-text":!0,formatter:R,value:e.offers.lowPriceWithTaxes,variant:"selling"})))),X?.map(e=>n.createElement(s.Z,{key:e},J.map(t=>n.createElement(u.Z,{key:t.id},n.createElement("span",{"data-fs-product-comparison-row-label":!0},e),n.createElement("p",{"data-fs-product-comparison-row-text":!0},t.additionalProperty.find(t=>t.name===e&&"SPECIFICATION"===t.valueReference)?.value||"-")))))))))}},9947:function(e,t,r){"use strict";var n=r(4194),a=r(1953),o=r(9009),l=r(2182);let ImageComponent=({src:e,alt:t,...r})=>n.createElement("img",{src:e,alt:t,...r});t.Z=function({clearSelectionButtonLabel:e,compareButtonLabel:t,selectionWarningLabel:r}){let{isOpen:i,setIsOpen:c,products:d,clearProducts:s}=(0,l.S)(),u=d.slice(0,3);return!d.length&&i?null:n.createElement("footer",{"data-fs-product-comparison-toolbar":!0},n.createElement("div",{"data-fs-product-comparison-toolbar-image":!0},u.map(e=>n.createElement(ImageComponent,{key:e.id,src:e.image[0].url,alt:e.name,width:60,height:60})),d.length>3&&n.createElement("div",{"data-fs-product-comparison-toolbar-image-more":!0},n.createElement("p",null,`+${d.length-3}`)),1===d.length&&n.createElement(a.Z,{"data-fs-product-comparison-selection-warning-label":!0},r)),n.createElement(o.Z,{variant:"tertiary",onClick:()=>s()},e),n.createElement(o.Z,{variant:"primary",disabled:d.length<2,onClick:()=>c(!0)},d.length>1?`${t} ${d.length}`:t))}},2770:function(e,t,r){"use strict";r.d(t,{A:function(){return a}});var n=r(4194);let a=(0,n.createContext)(void 0);t.Z=function({children:e}){let[t,r]=(0,n.useState)([]),[o,l]=(0,n.useState)([]),[i,c]=(0,n.useState)(!1),d=(0,n.useCallback)(e=>{r(t=>t.includes(e?.id)?t.filter(t=>t!==e.id):[...t,e.id]),l(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},[]);return n.createElement(a.Provider,{value:{isOpen:i,setIsOpen:c,productIds:t,products:o,handleProductsIds:d,handleProductsComparison:function(e){let t=e.map(t=>{let r=e.find(e=>e.id===t.id);return{...t,...r}});l(t)},clearProducts:function(){r([]),l([])}}},e)}},6763:function(e,t,r){"use strict";r.d(t,{z:function(){return Provider}});var n=r(4194),a=r(1414);(0,n.createContext)(void 0);let Provider=({children:e,itemsPerPage:t,onChange:r,...o})=>{let l=(0,a.X)();return(0,n.useEffect)(()=>a.X.subscribe(()=>{r?.(l.serializedState())}),[r]),(0,n.useEffect)(()=>{let{itemsPerPage:e}=a.X.getState();t&&t!==e&&l.setItemsPerPage(t)},[t]),(0,n.useEffect)(()=>{l.setState(o),l.resetInfiniteScroll(o.page??0)},[]),n.createElement(n.Fragment,null,e)}},1341:function(e,t,r){"use strict";r.d(t,{h:function(){return usePagination}});var n=r(4194),a=r(2339),o=r(9029);let getLink=e=>{let{pathname:t,search:r}=(0,a.Z)(e);return`${t}${r}`},usePagination=e=>{let{pages:t,itemsPerPage:r,state:a}=(0,o.R)(),l=Math.ceil(e/r),i=Number(t[t.length-1])+1,c=t[0]-1;return(0,n.useMemo)(()=>({next:i<l&&{cursor:i,link:getLink({...a,page:i})},prev:c>-1&&{cursor:c,link:getLink({...a,page:c})}}),[i,c,a,l])}}}]);
|