@faststore/core 3.2.1 → 3.3.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 +29 -29
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1gneedd +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +81 -41
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/2295.js +1 -0
- package/.next/server/chunks/2552.js +1 -1
- package/.next/server/chunks/2710.js +1 -0
- package/.next/server/chunks/3779.js +1 -0
- package/.next/server/chunks/4358.js +1 -0
- package/.next/server/chunks/5110.js +1 -0
- package/.next/server/chunks/5342.js +1 -0
- package/.next/server/chunks/5671.js +1 -1
- package/.next/server/chunks/5754.js +1 -1
- package/.next/server/chunks/6335.js +1 -0
- package/.next/server/chunks/64.js +1 -0
- package/.next/server/chunks/7228.js +1 -0
- package/.next/server/chunks/7468.js +1 -0
- package/.next/server/chunks/7986.js +1 -0
- package/.next/server/chunks/9088.js +1 -1
- package/.next/server/chunks/9160.js +1 -0
- package/.next/server/chunks/9410.js +1 -0
- package/.next/server/chunks/945.js +1 -1
- package/.next/server/chunks/9572.js +5 -5
- package/.next/server/chunks/983.js +1 -1
- package/.next/server/chunks/FilterSkeleton.js +1 -0
- package/.next/server/chunks/UIBannerText.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +1 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js.nft.json +1 -1
- package/.next/server/pages/api/health/ready.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js.nft.json +1 -1
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +1 -1
- package/.next/server/pages/en-US/404.json +1 -1
- package/.next/server/pages/en-US/500.html +1 -1
- package/.next/server/pages/en-US/500.json +1 -1
- package/.next/server/pages/en-US/account.html +1 -1
- package/.next/server/pages/en-US/account.json +1 -1
- package/.next/server/pages/en-US/checkout.html +1 -1
- package/.next/server/pages/en-US/checkout.json +1 -1
- package/.next/server/pages/en-US/login.html +1 -1
- package/.next/server/pages/en-US/login.json +1 -1
- package/.next/server/pages/en-US/s.html +1 -1
- package/.next/server/pages/en-US/s.json +1 -1
- package/.next/server/pages/en-US.html +1 -1
- package/.next/server/pages/en-US.json +1 -1
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/U_FZZ36fhz5jUdj4hsVOx/_buildManifest.js +1 -0
- package/.next/static/chunks/{1153.7f616071da309cf5.js → 1153.d7522522b6c917ed.js} +1 -1
- package/.next/static/chunks/1550-630692a9badd8065.js +1 -0
- package/.next/static/chunks/1978.6d1246731da0f1b0.js +1 -0
- package/.next/static/chunks/2552.35321485d927aa08.js +1 -0
- package/.next/static/chunks/299.0f890f8a7e5b1846.js +1 -0
- package/.next/static/chunks/4501-e4bf228242a711bc.js +1 -0
- package/.next/static/chunks/4551.fd8f840c3f6ab36f.js +1 -0
- package/.next/static/chunks/6379-6050cc5d5e5f2fa2.js +1 -0
- package/.next/static/chunks/64.225f7439e13cc375.js +1 -0
- package/.next/static/chunks/9024.a746900e79690cf9.js +1 -0
- package/.next/static/chunks/9160.f23fc2e8b2b6b813.js +1 -0
- package/.next/static/chunks/9540.d020c6959e15207a.js +1 -0
- package/.next/static/chunks/9638-24a86482d4a4b434.js +1 -0
- package/.next/static/chunks/983.c7179ebdb154d450.js +1 -0
- package/.next/static/chunks/BannerNewsletter.86e9f9fcf3d3e173.js +1 -0
- package/.next/static/chunks/BannerText.9822381f787e697d.js +1 -0
- package/.next/static/chunks/CartSidebar.c6b00aa5b0667b40.js +1 -0
- package/.next/static/chunks/FilterSkeleton.5cea0252ed1ff951.js +1 -0
- package/.next/static/chunks/ProductShelf.9341a11c5282b611.js +1 -0
- package/.next/static/chunks/RegionModal.5dc5ba359a7f5350.js +1 -0
- package/.next/static/chunks/Toast.fabbe374f1d57665.js +1 -0
- package/.next/static/chunks/UIBannerText.6284ec1895c33657.js +1 -0
- package/.next/static/chunks/UIToast.1e5aada1a1b104f5.js +1 -0
- package/.next/static/chunks/pages/{[...slug]-c2bf068f3f84b127.js → [...slug]-0203b74377537f7d.js} +1 -1
- package/.next/static/chunks/pages/[slug]/p-d9260cfe3d276855.js +1 -0
- package/.next/static/chunks/pages/s-da1c36b5dafdf07b.js +1 -0
- package/.next/static/chunks/webpack-d4f52bd51f6992df.js +1 -0
- package/.next/trace +97 -98
- package/.turbo/turbo-build.log +11 -11
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +5 -5
- package/CHANGELOG.md +6 -0
- package/package.json +2 -2
- package/src/components/search/Filter/FilterDesktop.tsx +34 -0
- package/src/components/search/Filter/FilterSlider.tsx +38 -9
- package/src/components/search/Filter/index.ts +1 -1
- package/src/components/sections/ProductGallery/DefaultComponents.ts +23 -7
- package/src/components/ui/ProductGallery/ProductGallery.tsx +48 -14
- package/.next/server/chunks/1844.js +0 -1
- package/.next/server/chunks/2195.js +0 -1
- package/.next/server/chunks/3199.js +0 -1
- package/.next/server/chunks/4350.js +0 -1
- package/.next/server/chunks/6150.js +0 -1
- package/.next/server/chunks/7917.js +0 -1
- package/.next/server/chunks/8419.js +0 -1
- package/.next/static/PmpN0_4SJrpkkEJ4TZn7l/_buildManifest.js +0 -1
- package/.next/static/chunks/1550-48e8637718c2dd74.js +0 -1
- package/.next/static/chunks/2552.b245748eb0e40257.js +0 -1
- package/.next/static/chunks/459-404aa12d42b08af1.js +0 -1
- package/.next/static/chunks/5810.470a769e37e4b13b.js +0 -1
- package/.next/static/chunks/6379-1578190b254c09a6.js +0 -1
- package/.next/static/chunks/6999-078369e946149546.js +0 -1
- package/.next/static/chunks/9463.6f5675e44c925bfc.js +0 -1
- package/.next/static/chunks/983.024c2c324d061242.js +0 -1
- package/.next/static/chunks/BannerNewsletter.0b61ee5e562a55e0.js +0 -1
- package/.next/static/chunks/BannerText.a10d4f428fc5cd97.js +0 -1
- package/.next/static/chunks/CartSidebar.dfa8017080b88d46.js +0 -1
- package/.next/static/chunks/ProductShelf.0493dbf6e9982f10.js +0 -1
- package/.next/static/chunks/RegionModal.23513fc5245a511f.js +0 -1
- package/.next/static/chunks/Toast.8635143b7896eb54.js +0 -1
- package/.next/static/chunks/UIBannerText.ac22c6843ac720b8.js +0 -1
- package/.next/static/chunks/UIToast.a3b2b8fb137a7e55.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-fa2418810fa3abeb.js +0 -1
- package/.next/static/chunks/pages/s-c4ff9fe20587e49e.js +0 -1
- package/.next/static/chunks/webpack-fcd6fda2fae47824.js +0 -1
- package/src/components/search/Filter/Filter.tsx +0 -101
- /package/.next/static/{PmpN0_4SJrpkkEJ4TZn7l → U_FZZ36fhz5jUdj4hsVOx}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -48,31 +48,31 @@ Warning: Dynamic Content not found for the page: home. Refer to the Dynamic Cont
|
|
|
48
48
|
Route (pages) Size First Load JS
|
|
49
49
|
┌ ● / 3.21 kB 121 kB
|
|
50
50
|
├ └ css/b1806cbafd0c1f81.css 3.06 kB
|
|
51
|
-
├ /_app 0 B 91.
|
|
52
|
-
├ ● /[...slug] 2 kB
|
|
53
|
-
├ ● /[slug]/p 30.
|
|
51
|
+
├ /_app 0 B 91.8 kB
|
|
52
|
+
├ ● /[...slug] 2 kB 131 kB
|
|
53
|
+
├ ● /[slug]/p 30.5 kB 149 kB
|
|
54
54
|
├ ├ css/bf1560439df2c1a1.css 5.66 kB
|
|
55
55
|
├ ├ css/e3ff5d95518a5c79.css 6.01 kB
|
|
56
56
|
├ └ css/9718991cd57978e9.css 14.8 kB
|
|
57
57
|
├ ○ /404 1.46 kB 120 kB
|
|
58
58
|
├ ● /500 1.46 kB 120 kB
|
|
59
59
|
├ ● /account 712 B 119 kB
|
|
60
|
-
├ λ /api/graphql 0 B 91.
|
|
61
|
-
├ λ /api/health/live 0 B 91.
|
|
62
|
-
├ λ /api/health/ready 0 B 91.
|
|
63
|
-
├ λ /api/preview 0 B 91.
|
|
60
|
+
├ λ /api/graphql 0 B 91.8 kB
|
|
61
|
+
├ λ /api/health/live 0 B 91.8 kB
|
|
62
|
+
├ λ /api/health/ready 0 B 91.8 kB
|
|
63
|
+
├ λ /api/preview 0 B 91.8 kB
|
|
64
64
|
├ ● /checkout 694 B 119 kB
|
|
65
65
|
├ ● /login 1.57 kB 120 kB
|
|
66
|
-
└ ● /s 2.
|
|
67
|
-
+ First Load JS shared by all 94.
|
|
66
|
+
└ ● /s 2.63 kB 132 kB
|
|
67
|
+
+ First Load JS shared by all 94.8 kB
|
|
68
68
|
├ chunks/framework-12a146e94cfcf7c4.js 45.4 kB
|
|
69
69
|
├ chunks/main-209ac4974b020af1.js 33.1 kB
|
|
70
70
|
├ chunks/pages/_app-7d970aad41a57338.js 9.84 kB
|
|
71
|
-
├ chunks/webpack-
|
|
71
|
+
├ chunks/webpack-d4f52bd51f6992df.js 3.48 kB
|
|
72
72
|
└ css/ee0556daedda6306.css 3.07 kB
|
|
73
73
|
|
|
74
74
|
λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
|
|
75
75
|
○ (Static) automatically rendered as static HTML (uses no initial props)
|
|
76
76
|
● (SSG) automatically generated as static HTML + JSON (uses getStaticProps)
|
|
77
77
|
|
|
78
|
-
Done in 70.
|
|
78
|
+
Done in 70.52s.
|
package/.turbo/turbo-lint.log
CHANGED
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
yarn run v1.22.22
|
|
2
2
|
$ jest
|
|
3
|
-
PASS test/
|
|
4
|
-
PASS test/
|
|
5
|
-
PASS test/server/index.test.ts (
|
|
3
|
+
PASS test/server/cms/index.test.ts (38.3 s)
|
|
4
|
+
PASS test/utils/multipleTemplates.test.ts (38.303 s)
|
|
5
|
+
PASS test/server/index.test.ts (42.018 s)
|
|
6
6
|
|
|
7
7
|
Test Suites: 3 passed, 3 total
|
|
8
8
|
Tests: 19 passed, 19 total
|
|
9
9
|
Snapshots: 0 total
|
|
10
|
-
Time:
|
|
10
|
+
Time: 43.199 s
|
|
11
11
|
Ran all test suites.
|
|
12
|
-
Done in
|
|
12
|
+
Done in 44.92s.
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.3.0](https://github.com/vtex/faststore/compare/v3.2.1...v3.3.0) (2024-12-18)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- `Filter` with next/dynamic and lazy import ([#2596](https://github.com/vtex/faststore/issues/2596)) ([73e5496](https://github.com/vtex/faststore/commit/73e54965e656f848c20865cd2760158d634bb0c0))
|
|
11
|
+
|
|
6
12
|
## [3.2.1](https://github.com/vtex/faststore/compare/v3.2.0...v3.2.1) (2024-12-16)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @faststore/core
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -128,5 +128,5 @@
|
|
|
128
128
|
"node": "18.19.0",
|
|
129
129
|
"yarn": "1.19.1"
|
|
130
130
|
},
|
|
131
|
-
"gitHead": "
|
|
131
|
+
"gitHead": "950a3810ce7bb5c482c0ee1332f25669a0585820"
|
|
132
132
|
}
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
FilterFacetRange as UIFilterFacetRange,
|
|
8
8
|
FilterFacets as UIFilterFacets,
|
|
9
9
|
} from '@faststore/ui'
|
|
10
|
+
import { gql } from '@generated/gql'
|
|
10
11
|
import type { Filter_FacetsFragment } from '@generated/graphql'
|
|
11
12
|
import { useFormattedPrice } from 'src/sdk/product/useFormattedPrice'
|
|
12
13
|
import { useFilter } from 'src/sdk/search/useFilter'
|
|
@@ -110,4 +111,37 @@ function FilterDesktop({
|
|
|
110
111
|
)
|
|
111
112
|
}
|
|
112
113
|
|
|
114
|
+
export const fragment = gql(`
|
|
115
|
+
fragment Filter_facets on StoreFacet {
|
|
116
|
+
... on StoreFacetRange {
|
|
117
|
+
key
|
|
118
|
+
label
|
|
119
|
+
|
|
120
|
+
min {
|
|
121
|
+
selected
|
|
122
|
+
absolute
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
max {
|
|
126
|
+
selected
|
|
127
|
+
absolute
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
__typename
|
|
131
|
+
}
|
|
132
|
+
... on StoreFacetBoolean {
|
|
133
|
+
key
|
|
134
|
+
label
|
|
135
|
+
values {
|
|
136
|
+
label
|
|
137
|
+
value
|
|
138
|
+
selected
|
|
139
|
+
quantity
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
__typename
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
`)
|
|
146
|
+
|
|
113
147
|
export default FilterDesktop
|
|
@@ -1,14 +1,43 @@
|
|
|
1
|
+
import dynamic from 'next/dynamic'
|
|
2
|
+
|
|
1
3
|
import { useSearch } from '@faststore/sdk'
|
|
2
|
-
import {
|
|
3
|
-
Filter as UIFilter,
|
|
4
|
-
FilterFacetBoolean as UIFilterFacetBoolean,
|
|
5
|
-
FilterFacetBooleanItem as UIFilterFacetBooleanItem,
|
|
6
|
-
FilterFacetRange as UIFilterFacetRange,
|
|
7
|
-
FilterFacets as UIFilterFacets,
|
|
8
|
-
FilterSlider as UIFilterSlider,
|
|
9
|
-
} from '@faststore/ui'
|
|
10
4
|
import { useFormattedPrice } from 'src/sdk/product/useFormattedPrice'
|
|
11
5
|
|
|
6
|
+
import type {
|
|
7
|
+
FilterFacetBooleanItemProps as UIFilterFacetBooleanItemProps,
|
|
8
|
+
FilterFacetRangeProps as UIFilterFacetRangeProps,
|
|
9
|
+
FilterFacetsProps as UIFilterFacetsProps,
|
|
10
|
+
FilterProps as UIFilterProps,
|
|
11
|
+
FilterSliderProps as UIFilterSliderProps,
|
|
12
|
+
} from '@faststore/ui'
|
|
13
|
+
|
|
14
|
+
const UIFilter = dynamic<{ children: React.ReactNode } & UIFilterProps>(() =>
|
|
15
|
+
/* webpackChunkName: "UIFilter" */
|
|
16
|
+
import('@faststore/ui').then((mod) => mod.Filter)
|
|
17
|
+
)
|
|
18
|
+
const UIFilterFacetBoolean = dynamic<{ children: React.ReactNode }>(() =>
|
|
19
|
+
/* webpackChunkName: "UIFilterFacetBoolean" */
|
|
20
|
+
import('@faststore/ui').then((mod) => mod.FilterFacetBoolean)
|
|
21
|
+
)
|
|
22
|
+
const UIFilterFacetBooleanItem = dynamic<UIFilterFacetBooleanItemProps>(() =>
|
|
23
|
+
/* webpackChunkName: "UIFilterFacetBooleanItem" */
|
|
24
|
+
import('@faststore/ui').then((mod) => mod.FilterFacetBooleanItem)
|
|
25
|
+
)
|
|
26
|
+
const UIFilterFacetRange = dynamic<UIFilterFacetRangeProps>(() =>
|
|
27
|
+
/* webpackChunkName: "UIFilterFacetRange" */
|
|
28
|
+
import('@faststore/ui').then((mod) => mod.FilterFacetRange)
|
|
29
|
+
)
|
|
30
|
+
const UIFilterFacets = dynamic<
|
|
31
|
+
{ children: React.ReactNode } & UIFilterFacetsProps
|
|
32
|
+
>(() =>
|
|
33
|
+
/* webpackChunkName: "UIFilterFacets" */
|
|
34
|
+
import('@faststore/ui').then((mod) => mod.FilterFacets)
|
|
35
|
+
)
|
|
36
|
+
const UIFilterSlider = dynamic<UIFilterSliderProps>(() =>
|
|
37
|
+
/* webpackChunkName: "UIFilterSlider" */
|
|
38
|
+
import('@faststore/ui').then((mod) => mod.FilterSlider)
|
|
39
|
+
)
|
|
40
|
+
|
|
12
41
|
import type { Filter_FacetsFragment } from '@generated/graphql'
|
|
13
42
|
|
|
14
43
|
import type { useFilter } from 'src/sdk/search/useFilter'
|
|
@@ -87,7 +116,7 @@ function FilterSlider({
|
|
|
87
116
|
<UIFilter
|
|
88
117
|
testId={`mobile-${testId}`}
|
|
89
118
|
indicesExpanded={expanded}
|
|
90
|
-
onAccordionChange={(index) =>
|
|
119
|
+
onAccordionChange={(index: number) =>
|
|
91
120
|
dispatch({ type: 'toggleExpanded', payload: index })
|
|
92
121
|
}
|
|
93
122
|
>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default } from './
|
|
1
|
+
export { default as FilterDesktop } from './FilterDesktop'
|
|
2
2
|
export { default as FilterSlider } from './FilterSlider'
|
|
@@ -1,18 +1,34 @@
|
|
|
1
|
-
import { lazy } from 'react'
|
|
2
1
|
import {
|
|
3
2
|
Button as UIButton,
|
|
3
|
+
Icon as UIIcon,
|
|
4
4
|
LinkButton as UILinkButton,
|
|
5
5
|
Skeleton as UISkeleton,
|
|
6
|
-
Icon as UIIcon,
|
|
7
6
|
} from '@faststore/ui'
|
|
8
7
|
|
|
9
|
-
import
|
|
10
|
-
import FilterDesktop from 'src/components/search/Filter/FilterDesktop'
|
|
11
|
-
import EmptyGallery from './EmptyGallery'
|
|
8
|
+
import dynamic from 'next/dynamic'
|
|
12
9
|
|
|
13
|
-
const
|
|
14
|
-
() =>
|
|
10
|
+
const ProductCard = dynamic(
|
|
11
|
+
() =>
|
|
12
|
+
/* webpackChunkName: "ProductCard" */
|
|
13
|
+
import('src/components/product/ProductCard')
|
|
15
14
|
)
|
|
15
|
+
const EmptyGallery = dynamic(
|
|
16
|
+
() =>
|
|
17
|
+
/* webpackChunkName: "EmptyGallery" */
|
|
18
|
+
import('./EmptyGallery')
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
const FilterDesktop = dynamic(
|
|
22
|
+
() =>
|
|
23
|
+
/* webpackChunkName: "FilterDesktop" */
|
|
24
|
+
import('src/components/search/Filter/FilterDesktop')
|
|
25
|
+
)
|
|
26
|
+
const FilterSlider = dynamic(
|
|
27
|
+
() =>
|
|
28
|
+
/* webpackChunkName: "FilterSlider" */
|
|
29
|
+
import('src/components/search/Filter/FilterSlider')
|
|
30
|
+
)
|
|
31
|
+
|
|
16
32
|
export const ProductGalleryDefaultComponents = {
|
|
17
33
|
MobileFilterButton: UIButton,
|
|
18
34
|
FilterIcon: UIIcon,
|
|
@@ -4,11 +4,11 @@ import type { MouseEvent } from 'react'
|
|
|
4
4
|
import { Suspense, lazy } from 'react'
|
|
5
5
|
|
|
6
6
|
import { useUI } from '@faststore/ui'
|
|
7
|
-
import Filter from 'src/components/search/Filter'
|
|
8
7
|
import Sort from 'src/components/search/Sort'
|
|
9
|
-
import FilterSkeleton from 'src/components/skeletons/FilterSkeleton'
|
|
10
8
|
import ProductGridSkeleton from 'src/components/skeletons/ProductGridSkeleton'
|
|
11
9
|
|
|
10
|
+
import dynamic from 'next/dynamic'
|
|
11
|
+
|
|
12
12
|
import { ProductCardProps } from 'src/components/product/ProductCard'
|
|
13
13
|
import { FilterSliderProps } from 'src/components/search/Filter/FilterSlider'
|
|
14
14
|
import { SortProps } from 'src/components/search/Sort/Sort'
|
|
@@ -21,8 +21,18 @@ import {
|
|
|
21
21
|
import { useProductsPrefetch } from 'src/sdk/product/useProductsPrefetch'
|
|
22
22
|
import { useDelayedFacets } from 'src/sdk/search/useDelayedFacets'
|
|
23
23
|
import { useDelayedPagination } from 'src/sdk/search/useDelayedPagination'
|
|
24
|
+
import { useFilter } from 'src/sdk/search/useFilter'
|
|
25
|
+
import useScreenResize from 'src/sdk/ui/useScreenResize'
|
|
24
26
|
|
|
25
27
|
const ProductGalleryPage = lazy(() => import('./ProductGalleryPage'))
|
|
28
|
+
const FilterSkeleton = dynamic(
|
|
29
|
+
() =>
|
|
30
|
+
import(
|
|
31
|
+
/* webpackChunkName: "FilterSkeleton" */
|
|
32
|
+
'src/components/skeletons/FilterSkeleton'
|
|
33
|
+
)
|
|
34
|
+
)
|
|
35
|
+
|
|
26
36
|
const GalleryPageSkeleton = <ProductGridSkeleton loading />
|
|
27
37
|
|
|
28
38
|
export interface ProductGalleryProps {
|
|
@@ -69,7 +79,7 @@ function ProductGallery({
|
|
|
69
79
|
totalCount,
|
|
70
80
|
searchTermLabel,
|
|
71
81
|
totalCountLabel,
|
|
72
|
-
filter,
|
|
82
|
+
filter: filterCmsData,
|
|
73
83
|
previousPageButton,
|
|
74
84
|
loadMorePageButton,
|
|
75
85
|
sortBySelector,
|
|
@@ -84,20 +94,25 @@ function ProductGallery({
|
|
|
84
94
|
PrevIcon,
|
|
85
95
|
ResultsCountSkeleton,
|
|
86
96
|
SortSkeleton,
|
|
97
|
+
__experimentalFilterDesktop: FilterDesktop,
|
|
98
|
+
__experimentalFilterSlider: FilterSlider,
|
|
87
99
|
} = useOverrideComponents<'ProductGallery'>()
|
|
88
100
|
|
|
89
|
-
const { openFilter } = useUI()
|
|
101
|
+
const { openFilter, filter: displayFilter } = useUI()
|
|
90
102
|
const { pages, addNextPage, addPrevPage, itemsPerPage } = useSearch()
|
|
91
103
|
const context = usePage<SearchPageContext | PLPContext>()
|
|
92
104
|
const data = context?.data
|
|
93
105
|
const facets = useDelayedFacets(data) ?? []
|
|
94
106
|
const { next, prev } = useDelayedPagination(totalCount)
|
|
95
107
|
|
|
108
|
+
const { isDesktop } = useScreenResize()
|
|
109
|
+
|
|
96
110
|
useProductsPrefetch(prev ? prev.cursor : null)
|
|
97
111
|
useProductsPrefetch(next ? next.cursor : null)
|
|
98
112
|
|
|
99
113
|
const hasFacetsLoaded = Boolean(data?.search?.facets)
|
|
100
114
|
const hasProductsLoaded = Boolean(data?.search?.products)
|
|
115
|
+
const filter = useFilter(facets)
|
|
101
116
|
|
|
102
117
|
return (
|
|
103
118
|
<section data-testid="product-gallery" data-fs-product-listing>
|
|
@@ -115,13 +130,32 @@ function ProductGallery({
|
|
|
115
130
|
data-fs-product-listing-content-grid
|
|
116
131
|
data-fs-content="product-gallery"
|
|
117
132
|
>
|
|
118
|
-
|
|
119
|
-
<
|
|
120
|
-
{hasFacetsLoaded
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
133
|
+
{isDesktop && (
|
|
134
|
+
<div data-fs-product-listing-filters>
|
|
135
|
+
<FilterSkeleton loading={!hasFacetsLoaded}>
|
|
136
|
+
{hasFacetsLoaded && facets?.length > 0 && (
|
|
137
|
+
<div className="hidden-mobile">
|
|
138
|
+
<FilterDesktop.Component
|
|
139
|
+
{...FilterDesktop.props}
|
|
140
|
+
{...filter}
|
|
141
|
+
title={filterCmsData?.title}
|
|
142
|
+
/>
|
|
143
|
+
</div>
|
|
144
|
+
)}
|
|
145
|
+
</FilterSkeleton>
|
|
146
|
+
</div>
|
|
147
|
+
)}
|
|
148
|
+
{!isDesktop && displayFilter && (
|
|
149
|
+
<div data-fs-product-listing-filters>
|
|
150
|
+
<FilterSlider.Component
|
|
151
|
+
{...FilterSlider.props}
|
|
152
|
+
{...filter}
|
|
153
|
+
title={filterCmsData?.title}
|
|
154
|
+
clearButtonLabel={filterCmsData?.mobileOnly?.clearButtonLabel}
|
|
155
|
+
applyButtonLabel={filterCmsData?.mobileOnly?.applyButtonLabel}
|
|
156
|
+
/>
|
|
157
|
+
</div>
|
|
158
|
+
)}
|
|
125
159
|
<div data-fs-product-listing-results-count data-count={totalCount}>
|
|
126
160
|
<ResultsCountSkeleton.Component
|
|
127
161
|
data-fs-product-listing-results-count-skeleton
|
|
@@ -168,11 +202,11 @@ function ProductGallery({
|
|
|
168
202
|
height={16}
|
|
169
203
|
{...FilterIcon.props}
|
|
170
204
|
name={
|
|
171
|
-
|
|
205
|
+
filterCmsData?.mobileOnly?.filterButton?.icon?.icon ??
|
|
172
206
|
FilterIcon.props.name
|
|
173
207
|
}
|
|
174
208
|
aria-label={
|
|
175
|
-
|
|
209
|
+
filterCmsData?.mobileOnly?.filterButton?.icon?.alt ??
|
|
176
210
|
FilterIcon.props['aria-label']
|
|
177
211
|
}
|
|
178
212
|
/>
|
|
@@ -183,7 +217,7 @@ function ProductGallery({
|
|
|
183
217
|
// This decision can be reviewed later if needed
|
|
184
218
|
onClick={openFilter}
|
|
185
219
|
>
|
|
186
|
-
{
|
|
220
|
+
{filterCmsData?.mobileOnly?.filterButton?.label}
|
|
187
221
|
</MobileFilterButton.Component>
|
|
188
222
|
)}
|
|
189
223
|
</FilterButtonSkeleton.Component>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1844,exports.ids=[1844],exports.modules={1857:(e,t,r)=>{r.d(t,{Z:()=>l});var a=r(6689),n=r.n(a);let o=(0,a.forwardRef)(function({testId:e="fs-overlay",...t},r){return n().createElement("div",{ref:r,"data-fs-overlay":!0,role:"presentation","data-testid":e,...t})}),l=o},3666:(e,t,r)=>{r.d(t,{b:()=>useFadeEffect});var a=r(6689);let useFadeEffect=()=>{let[e,t]=(0,a.useState)("out"),r=(0,a.useCallback)(()=>t("out"),[]),n=(0,a.useCallback)(()=>t("in"),[]);return(0,a.useEffect)(()=>(n(),()=>{r()}),[n,r]),{fade:e,fadeIn:n,fadeOut:r}}},6973:(e,t,r)=>{r.d(t,{E:()=>useTrapFocus});var a=r(6689),n=r(3823);let useTrapFocus=({trapFocusRef:e,beforeElementRef:t,afterElementRef:r})=>{let o=(0,a.useRef)(),l=(0,a.useRef)(document.hasFocus()?document.activeElement:null);(0,a.useEffect)(()=>{let e=l.current;return()=>{e?.focus()}},[l]),(0,a.useEffect)(()=>{if(!e.current)return;o.current||(o.current=(0,n.tabbable)(e.current));let[t]=o.current;if(!t){e.current.focus();return}t.focus()},[e]),(0,a.useEffect)(()=>{if(!e.current||!t.current||!r.current)return;let a=t.current,l=r.current,s=e.current,handleLoopFocus=t=>{document.hasFocus()&&(o.current=(0,n.tabbable)(e.current),o.current.length||s.focus(),t.target===a&&o.current[o.current.length-1]?.focus(),t.target===l&&o.current[0]?.focus())};return a?.addEventListener("focusin",handleLoopFocus),l?.addEventListener("focusin",handleLoopFocus),()=>{a?.removeEventListener("focusin",handleLoopFocus),l?.removeEventListener("focusin",handleLoopFocus)}},[o,r,t,e])}},8373:(e,t,r)=>{r.d(t,{Z:()=>Modal_Modal});var a=r(6689),n=r.n(a),o=r(6405),l=r(1857),s=r(6652),d=r(3666),u=r(6973);let ModalContentPure=({beforeElementRef:e,trapFocusRef:t,afterElementRef:r,testId:a="store-modal-content",children:o,...l})=>n().createElement(n().Fragment,null,n().createElement("div",{ref:e,"data-testid":"beforeElement",tabIndex:0,"aria-hidden":"true"}),n().createElement("div",{"data-fs-modal-content":!0,"data-testid":a,ref:t,"aria-modal":"true",role:"dialog",tabIndex:-1,...l},o),n().createElement("div",{ref:r,"data-testid":"afterElement",tabIndex:0,"aria-hidden":"true"})),Modal_ModalContent=({children:e,...t})=>{let r=(0,a.useRef)(null),o=(0,a.useRef)(null),l=(0,a.useRef)(null);return(0,u.E)({beforeElementRef:o,trapFocusRef:r,afterElementRef:l}),n().createElement(ModalContentPure,{...t,trapFocusRef:r,beforeElementRef:o,afterElementRef:l,onClick:e=>{e.stopPropagation()}},e)},Modal_Modal=({children:e,testId:t="fs-modal",isOpen:r=!0,onDismiss:a,overlayProps:u,...c})=>{let{closeModal:i}=(0,s.l)(),{fade:f,fadeOut:E,fadeIn:m}=(0,d.b)();return r?(0,o.createPortal)(n().createElement(l.Z,{onClick:e=>{e.defaultPrevented||(e.stopPropagation(),E?.(),a?.())},onKeyDown:e=>{"Escape"!==e.key||e.defaultPrevented||(e.stopPropagation(),E?.(),a?.())},...u},n().createElement(Modal_ModalContent,{onTransitionEnd:()=>"out"===f&&i(),"data-fs-modal":!0,"data-fs-modal-state":f,testId:t,...c},"function"==typeof e?e({fade:f,fadeOut:E,fadeIn:m}):e)),document.body):null}},1844:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var a=r(6689),n=r.n(a),o=r(3666),l=r(6652),s=r(7215),d=r(5049),u=r(3339);let __WEBPACK_DEFAULT_EXPORT__=function({title:e,size:t,direction:r,children:a,applyBtnProps:c,clearBtnProps:i,overlayProps:f,onClose:E,...m}){let{fade:_,fadeOut:v}=(0,o.b)(),{closeFilter:p}=(0,l.l)();return n().createElement(s.Z,{"data-fs-filter-slider":!0,isOpen:!0,fade:_,onDismiss:v,size:t,direction:r,onTransitionEnd:()=>"out"===_&&p(),overlayProps:f,...m},n().createElement("div",{"data-fs-filter-slider-content":!0},n().createElement(d.Z,{onClose:()=>{E(),v()}},n().createElement("h2",{"data-fs-filter-slider-title":!0},e)),a),n().createElement("footer",{"data-fs-filter-slider-footer":!0},n().createElement(u.Z,{"data-fs-filter-slider-footer-button-clear":!0,...i}),n().createElement(u.Z,{"data-fs-filter-slider-footer-button-apply":!0,"data-testid":"filter-slider-button-apply",...c,onClick:e=>{c?.onClick?.(e),v()}})))}},7215:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var a=r(6689),n=r.n(a),o=r(8373);let __WEBPACK_DEFAULT_EXPORT__=function({testId:e="fs-slide-over",isOpen:t,direction:r="leftSide",size:a="full",fade:l="out",children:s,overlayProps:d,onDismiss:u,...c}){return n().createElement(o.Z,{"data-fs-modal":null,"data-fs-slide-over":!0,"data-fs-slide-over-direction":r,"data-fs-slide-over-size":a,"data-fs-slide-over-state":l,isOpen:t,onDismiss:u,testId:e,overlayProps:d,...c},s)}},5049:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var a=r(6689),n=r.n(a),o=r(7041),l=r(2614);let __WEBPACK_DEFAULT_EXPORT__=({children:e,closeBtnProps:t={},onClose:r,...a})=>n().createElement("header",{"data-fs-slide-over-header":!0,...a},e,n().createElement(o.Z,{"data-fs-slide-over-header-icon":!0,"aria-label":"Close",icon:n().createElement(l.Z,{name:"X"}),onClick:r,...t}))}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=2195,exports.ids=[2195],exports.modules={6133:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var n=r(6689),a=r.n(n);let __WEBPACK_DEFAULT_EXPORT__=function({testId:e="fs-empty-state",title:t,titleIcon:r,variant:n="default",bkgColor:o="default",children:c,...s}){return a().createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":n,"data-fs-empty-state-bkg-color":o,"data-fs-content":"empty-state","data-testid":e,...s},t&&a().createElement("header",{"data-fs-empty-state-title":!0},r&&a().createElement(a().Fragment,null,r),a().createElement("p",null,t)),c)}},5110:(e,t,r)=>{r.d(t,{C:()=>o});var n=r(7296),a=r(945);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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let o=(0,n.v)(_objectSpread(_objectSpread({},{section:"EmptyState"}),{},{Section:a.Z}))}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=3199,exports.ids=[3199],exports.modules={2256:(e,t,r)=>{r.d(t,{Z:()=>d});var n=r(6689),a=r.n(n);let o=(0,n.forwardRef)(function({testId:e="fs-input",...t},r){return a().createElement("input",{ref:r,"data-fs-input":!0,"data-testid":e,...t})}),d=o},1953:(e,t,r)=>{r.d(t,{Z:()=>d});var n=r(6689),a=r.n(n);let o=(0,n.forwardRef)(function({testId:e="fs-label",children:t,...r},n){return a().createElement("label",{ref:n,"data-fs-label":!0,"data-testid":e,...r},t)}),d=o},792:(e,t,r)=>{r.d(t,{Z:()=>d});var n=r(6689),a=r.n(n);let o=(0,n.forwardRef)(function({testId:e="fs-skeleton",loading:t=!0,shimmer:r=!0,children:n,size:o,border:d,borderRadius:l,...i},c){let s={width:o.width,height:o.height};return t?a().createElement("div",{ref:c,"data-fs-skeleton":!0,"data-testid":e,"data-fs-skeleton-border":d||null,style:l?{...s,borderRadius:l}:s,...i},r&&a().createElement("div",{"data-fs-skeleton-shimmer":!0})):a().createElement(a().Fragment,null,n)}),d=o},1516:(e,t,r)=>{r.d(t,{A:()=>useAccordion,Z:()=>l});var n=r(6689),a=r.n(n);let o=(0,n.createContext)(void 0),d=(0,n.forwardRef)(function({testId:e="fs-accordion",indices:t,onChange:r,children:d,...l},i){let c=a().Children.map(d,(e,t)=>(0,n.cloneElement)(e,{index:e.props.index??t})),s={indices:new Set(t),onChange:r,numberOfItems:c.length};return a().createElement(o.Provider,{value:s},a().createElement("div",{ref:i,"data-fs-accordion":!0,role:"region","data-testid":e,...l},c))});function useAccordion(){let e=(0,n.useContext)(o);if(void 0===e)throw Error("Do not use Accordion components outside the Accordion context.");return e}let l=d},7734:(e,t,r)=>{r.d(t,{Z:()=>s});var n=r(6689),a=r.n(n),o=r(1516),d=r(783),l=r(2614),i=r(3339);let c=(0,n.forwardRef)(function({testId:e="fs-accordion-button",expandedIcon:t=a().createElement(l.Z,{name:"MinusCircle","data-icon":"expanded"}),collapsedIcon:r=a().createElement(l.Z,{name:"PlusCircle","data-icon":"collapsed"}),children:n,...c},s){let{indices:u,onChange:m,numberOfItems:f}=(0,o.A)(),{index:p,panel:E,button:b,prefixId:v}=(0,d.D)();return a().createElement(i.Z,{ref:s,id:b,variant:"tertiary","data-fs-accordion-button":!0,"aria-expanded":u.has(p),icon:u.has(p)?t:r,iconPosition:"right","aria-controls":E,onKeyDown:e=>{if(["ArrowDown","ArrowUp"].includes(e.key))switch(e.key){case"ArrowDown":e.preventDefault(),(()=>{let e=Number(p)+1===f?0:Number(p)+1;return document.getElementById(`${v&&`${v}-`}button--${e}`)})()?.focus();break;case"ArrowUp":e.preventDefault(),(()=>{let e=Number(p)-1<0?f-1:Number(p)-1;return document.getElementById(`${v&&`${v}-`}button--${e}`)})()?.focus()}},onClick:()=>{m(p)},"data-testid":e,...c},n)}),s=c},783:(e,t,r)=>{r.d(t,{D:()=>useAccordionItem,Z:()=>l});var n=r(6689),a=r.n(n);let o=(0,n.createContext)(void 0),d=(0,n.forwardRef)(function({prefixId:e="",index:t=0,as:r,children:n,testId:d="fs-accordion-item",...l},i){let c=r??"div",s={index:t,prefixId:e,panel:`${e&&`${e}-`}panel--${t}`,button:`${e&&`${e}-`}button--${t}`};return a().createElement(o.Provider,{value:s},a().createElement(c,{ref:i,"data-fs-accordion-item":!0,"data-testid":d,...l},n))});function useAccordionItem(){let e=(0,n.useContext)(o);if(void 0===e)throw Error("Do not use AccordionItem components outside the AccordionItem context.");return e}let l=d},7583:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(6689),a=r.n(n),o=r(1516),d=r(783);let l=(0,n.forwardRef)(function({testId:e="fs-accordion-panel",children:t,...r},n){let{indices:l}=(0,o.A)(),{index:i,button:c,panel:s}=(0,d.D)();return a().createElement("div",{ref:n,id:s,"data-fs-accordion-panel":!0,"aria-labelledby":c,role:"region",hidden:!l.has(i),"data-testid":e,...r},t)}),i=l},1972:(e,t,r)=>{r.d(t,{Z:()=>Breadcrumb_Breadcrumb});var n=r(6689),a=r.n(n),o=r(2614),d=r(727),l=r(7169),i=r(9570),c=r(5741),s=r(4451),u=r(6588);let m=(0,n.forwardRef)(function({children:e,divider:t="",testId:r="fs-breadcrumb",breadcrumbList:m,isDesktop:f=!1,renderLink:p,homeLink:E,dropdownButtonIcon:b=a().createElement(o.Z,{name:"DotsThree"}),collapsedItemsIcon:v=a().createElement(o.Z,{"data-fs-dropdown-item-icon":!0,name:"ArrowElbowDownRight"}),...w},g){let h=f?m[0]:null,Z=f?m.slice(1,-2):m.slice(0,-2),P=m.slice(-2),D=m.length>4,k=(0,n.useCallback)(e=>{let t=p?.(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}):a().createElement(d.Z,{...r,href:e.itemProps.item,key:e.itemProps.position},e.itemProps.name)},[p]);return a().createElement(u.Z,{ref:g,"data-fs-breadcrumb-is-desktop":f,...w},E,!D&&m.map((e,t)=>m.length===t+1?a().createElement("span",{key:String(e.position)},e.name):k({itemProps:e,collapsed:!1})),D&&h&&k({itemProps:h,collapsed:!1}),D&&a().createElement(l.Z,null,a().createElement(i.Z,{"aria-label":"View More","data-fs-breadcrumb-dropdown-button":!0,size:"small"},b),a().createElement(c.Z,{"data-fs-breadcrumb-dropdown-menu":!0},Z.map(e=>a().createElement(s.Z,{"data-fs-breadcrumb-dropdown-item":!0,key:String(e.position),icon:v},k({itemProps:e,collapsed:!0}))))),D&&P.map((e,t)=>P.length===t+1?a().createElement("span",{key:String(e.position)},e.name):k({itemProps:e,collapsed:!1})))}),Breadcrumb_Breadcrumb=({breadcrumbList:e,...t})=>a().createElement(a().Fragment,null,a().createElement(m,{breadcrumbList:e,...t}),a().createElement(m,{breadcrumbList:e,isDesktop:!0,...t}))},6588:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(6689),a=r.n(n),o=r(4564);let Breadcrumb_Divider=({divider:e,testId:t})=>{let r={"data-fs-breadcrumb-divider":!0,"aria-hidden":!0,"data-testid":`${t}-divider`};return a().isValidElement(e)?a().cloneElement(e,r):a().createElement("span",{...r},e??"/")},Breadcrumb_ListItem=({children:e,isLastItem:t,divider:r,testId:n})=>{let o={"data-testid":`${n}-item`,"data-fs-breadcrumb-item":!t||"current","aria-current":t?"page":void 0};return a().isValidElement(e)?a().createElement("li",{"data-fs-breadcrumb-list-item":!0},a().cloneElement(e,o),t?null:a().createElement(Breadcrumb_Divider,{divider:r,testId:n})):a().createElement("li",{"data-fs-breadcrumb-list-item":!0},a().createElement("span",{...o},e,t?null:a().createElement(Breadcrumb_Divider,{divider:r,testId:n})))},d=(0,n.forwardRef)(function({children:e,divider:t="",testId:r="fs-breadcrumb",...n},d){return a().createElement("nav",{"aria-label":"Breadcrumb",role:"navigation",ref:d,"data-fs-breadcrumb":!0,"data-testid":r,...n},a().createElement(o.Z,{as:"ol","data-fs-breadcrumb-list":!0,"data-fs-content":"breadcrumb"},a().Children.toArray(e).map((e,n,o)=>{let d=n===o.length-1;return a().createElement(Breadcrumb_ListItem,{isLastItem:d,divider:t,key:`breadcrumb-${n}`,testId:r},e)})))}),l=d},2946:(e,t,r)=>{r.d(t,{Z:()=>DiscountBadge_DiscountBadge});var n=r(6689),a=r.n(n),o=r(276);let useDiscountPercent=(e,t)=>(0,n.useMemo)(()=>{let r=e-t,n=100*r/e;return Math.round(n)},[t,e]),DiscountBadge_DiscountBadge=({listPrice:e,spotPrice:t,thresholdLow:r=15,thresholdHigh:n=40,size:d,testId:l="fs-discount-badge"})=>{let i=useDiscountPercent(e,t);if(0===i)return a().createElement(a().Fragment,null);let c=i<=r?"low":i<=n?"medium":"high";return a().createElement(o.Z,{"data-fs-discount-badge":!0,"data-fs-discount-badge-variant":c,size:d,"data-testid":l},i,"% off")}},7169:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var n=r(6689),a=r.n(n),o=r(5317);let __WEBPACK_DEFAULT_EXPORT__=({children:e,isOpen:t,onDismiss:r,id:d="fs-dropdown"})=>{let[l,i]=(0,n.useState)(!1),c=(0,n.useRef)([]),s=(0,n.useRef)(0),u=(0,n.useRef)(null),m=t??l,f=(0,n.useCallback)(()=>{i(!1),r?.()},[r]),open=()=>{i(!0)},p=(0,n.useCallback)(()=>{i(e=>(e&&(r?.(),u.current?.focus()),!e))},[r]),E=(0,n.useCallback)(e=>{u.current=e},[]);(0,n.useEffect)(()=>{i(t??!1)},[t]),(0,n.useEffect)(()=>{m&&c?.current[0]?.focus()},[m]),(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||f()};return m?document.addEventListener("click",event):document.removeEventListener("click",event),()=>{document.removeEventListener("click",event)}},[f,m]);let b=(0,n.useMemo)(()=>({isOpen:m,close:f,open,toggle:p,dropdownTriggerRef:u,addDropdownTriggerRef:E,selectedDropdownItemIndexRef:s,dropdownItemsRef:c,id:d}),[m,f,p,E,d]);return a().createElement(o.Z.Provider,{value:b},e)}},9570:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(6689),a=r.n(n),o=r(3339),d=r(5494);let useDropdownTrigger=({triggerRef:e})=>{let{toggle:t,dropdownTriggerRef:r,addDropdownTriggerRef:a,isOpen:o,id:l}=(0,d.x)();return(0,n.useImperativeHandle)(e,()=>r.current,[r]),{onClick:t,ref:a,"aria-expanded":o,"aria-controls":l,"aria-haspopup":"menu"}},l=(0,n.forwardRef)(function({testId:e="fs-dropdown-button",children:t,asChild:r=!1,...d},l){let i=useDropdownTrigger({triggerRef:l}),c=a().isValidElement(t)?(0,n.cloneElement)(t,{...i,...t.props}):t;return a().createElement(a().Fragment,null,r?c:a().createElement(o.Z,{"data-fs-dropdown-button":!0,"data-testid":e,variant:"tertiary",...i,...d},t))}),i=l},4451:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(6689),a=r.n(n),o=r(5494);let useDropdownItem=({ref:e,onClick:t,dismissOnClick:r=!0})=>{let{dropdownItemsRef:a,selectedDropdownItemIndexRef:d,close:l}=(0,o.x)(),[i,c]=(0,n.useState)(0),s=(0,n.useRef)(),onFocusItem=()=>{d.current=i,a?.current[d.current]?.focus()};return(0,n.useImperativeHandle)(e,()=>s.current,[]),{ref:e=>{e&&!a?.current.includes(e)&&(a?.current.push(e),c(a?.current.findIndex(t=>t===e)??0)),s.current=e},onFocus:onFocusItem,onMouseEnter:onFocusItem,onClick:e=>{t?.(e),r&&l?.()},role:"menuitem",tabIndex:-1,"data-index":i}},d=(0,n.forwardRef)(function({children:e,asChild:t,icon:r,onClick:o,dismissOnClick:d=!0,testId:l="fs-dropdown-item",...i},c){let s=useDropdownItem({ref:c,onClick:o,dismissOnClick:d}),u=a().isValidElement(e)?(0,n.cloneElement)(e,{...s,...e.props}):e;return a().createElement(a().Fragment,null,t?u:a().createElement("button",{"data-fs-dropdown-item":!0,"data-testid":l,...s,...i},!!r&&r,e))}),l=d},5741:(e,t,r)=>{r.d(t,{Z:()=>Dropdown_DropdownMenu});var n=r(6689),a=r.n(n),o=r(6405),d=r(5494);let useDropdownPosition=(e="left")=>{let{dropdownTriggerRef:t,isOpen:r}=(0,d.x)(),[a,o]=(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,d=n?.height??0,l=n?.left??0,i=n?.width??0,c=r?document?.documentElement?.scrollTop:0,s=r?document?.documentElement?.scrollLeft:0,u=l+s,m="auto",f="none";"right"===e?(m=`${document.documentElement.clientWidth-l-i}px`,u="auto"):"center"===e&&(u=l+i/2+s,f="translateX(-50%)"),o({top:a+d+c,left:u,right:m,transform:f,loading:!1})};return r&&(updateMenuPosition(),window.addEventListener("resize",updateMenuPosition)),()=>{window.removeEventListener("resize",updateMenuPosition)}},[t,r,e]),{...a,position:"absolute"}},Dropdown_DropdownMenu=({children:e,testId:t="fs-dropdown-menu",size:r="regular",align:n="left",style:l,...i})=>{let{isOpen:c,close:s,dropdownItemsRef:u,selectedDropdownItemIndexRef:m,dropdownTriggerRef:f,id:p}=(0,d.x)(),{loading:E,...b}=useDropdownPosition(n),v=a().Children.toArray(e).length,handleDownPress=()=>{m.current<v-1?m.current++:m.current=0,u?.current[m.current]?.focus()},handleUpPress=()=>{m.current>0?m.current--:m.current=v-1,u?.current[m.current]?.focus()},handleHomePress=()=>{m.current=0,u?.current[m.current]?.focus()},handleEndPress=()=>{m.current=v-1,u?.current[m.current]?.focus()},handleEscapePress=()=>{s?.(),f?.current?.focus()},handleKeyNavigatePress=e=>{let t=u?.current??[],r=m.current,n=[...t.slice(r+1),...t.slice(0,r+1)],a=n.find(t=>t.textContent?.[0]?.toLowerCase()===e.toLowerCase());a&&(m.current=t.indexOf(a),a.focus())};return c&&!E?(0,o.createPortal)(a().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`},a().createElement("div",{role:"menu","aria-orientation":"vertical","data-fs-dropdown-menu":!0,"data-fs-dropdown-menu-size":r,"data-testid":t,style:{...b,...l},id:p,...i},e)),document.body):(u.current=[],null)}},5317:(e,t,r)=>{r.d(t,{Z:()=>o});var n=r(6689);let a=(0,n.createContext)({isOpen:!1,dropdownTriggerRef:null,selectedDropdownItemIndexRef:null,dropdownItemsRef:null,id:"fs-dropdown"}),o=a},5494:(e,t,r)=>{r.d(t,{x:()=>useDropdown});var n=r(6689),a=r(5317);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}},3779:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var n=r(6689),a=r.n(n),o=r(2256),d=r(1953),l=r(7041),i=r(2614),c=r(3339);let __WEBPACK_DEFAULT_EXPORT__=({id:e,label:t,type:r="text",error:n,displayClearButton:s,actionable:u,buttonActionText:m="Apply",onSubmit:f,onClear:p,placeholder:E=" ",inputRef:b,disabled:v,value:w,testId:g="fs-input-field",...h})=>{let Z=!v&&n&&""!==n,P=u&&!v&&""!==w;return a().createElement("div",{"data-fs-input-field":!0,"data-fs-input-field-actionable":u,"data-fs-input-field-error":n&&""!==n,"data-testid":g},a().createElement(o.Z,{id:e,type:r,value:w,ref:b,disabled:v,placeholder:E,...h}),a().createElement(d.Z,{htmlFor:e},t),P&&(s||n?a().createElement(l.Z,{size:"small","aria-label":"Clear Field",icon:a().createElement(i.Z,{name:"XCircle"}),onClick:()=>{p?.(),b?.current?.focus()}}):a().createElement(c.Z,{variant:"tertiary",size:"small",onClick:f},m)),Z&&a().createElement("span",{"data-fs-input-field-error-message":!0},n))}},8394:(e,t,r)=>{r.d(t,{Z:()=>d});var n=r(6689),a=r.n(n);let o=(0,n.forwardRef)(function({testId:e="fs-product-card",variant:t="default",bordered:r=!1,outOfStock:n,children:o,...d},l){return a().createElement("article",{ref:l,"data-fs-product-card":n?"out-of-stock":"","data-fs-product-card-variant":t,"data-fs-product-card-bordered":r,"data-testid":e,...d},o)}),d=o},547:(e,t,r)=>{r.d(t,{Z:()=>p});var n=r(6689),a=r.n(n),o=r(727),d=r(9088),l=r(1953),i=r(3024),c=r(2614),s=r(2946),u=r(276),m=r(3339);let f=(0,n.forwardRef)(function({testId:e="fs-product-card-content",title:t,linkProps:r,price:n,outOfStock:f,outOfStockLabel:p="Out of stock",ratingValue:E,showDiscountBadge:b,buttonLabel:v="Add",onButtonClick:w,children:g,includeTaxes:h=!1,includeTaxesLabel:Z="Tax included",sponsored:P=!1,sponsoredLabel:D="Sponsored",...k},y){let _=n?.listPrice?n.listPrice:0,C=n?.value?n.value:0;return a().createElement("section",{ref:y,"data-fs-product-card-content":!0,"data-fs-product-card-badge":b,"data-testid":e,...k},P&&a().createElement("span",{"data-fs-product-card-sponsored-label":!0},D),a().createElement("div",{"data-fs-product-card-heading":!0},a().createElement("h3",{"data-fs-product-card-title":!0},a().createElement(o.Z,{...r,title:t},a().createElement("span",null,t))),!f&&a().createElement(d.Z,{"data-fs-product-card-prices":!0,value:C,listPrice:_,formatter:n?.formatter}),h&&a().createElement(l.Z,{"data-fs-product-card-taxes-label":!0},Z),E&&a().createElement(i.Z,{value:E,icon:a().createElement(c.Z,{name:"Star"})})),b&&!f&&a().createElement(s.Z,{listPrice:_,spotPrice:C}),f&&a().createElement(u.Z,null,p),w&&!f&&a().createElement("div",{"data-fs-product-card-actions":!0},a().createElement(m.Z,{variant:"primary",icon:a().createElement(c.Z,{name:"ShoppingCart"}),iconPosition:"left",size:"small",onClick:w},v)))}),p=f},5167:(e,t,r)=>{r.d(t,{Z:()=>d});var n=r(6689),a=r.n(n);let o=(0,n.forwardRef)(function({testId:e="fs-product-card-image",aspectRatio:t=1,children:r,...n},o){return a().createElement("div",{ref:o,"data-fs-product-card-image":!0,"data-testid":e,style:{"--fs-product-card-image-aspect-ratio":t},...n},r)}),d=o},3024:(e,t,r)=>{r.d(t,{Z:()=>c});var n=r(6689),a=r.n(n),o=r(2614),d=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:s,...u},m){let[f,p]=(0,n.useState)(0),E={"data-fs-rating-icon-outline":!0},b=a().isValidElement(c)?c:a().createElement(o.Z,{name:"Star"});return a().createElement(l.Z,{ref:m,"data-fs-rating":!0,"data-fs-rating-actionable":"function"==typeof s,"data-testid":t,...u},Array.from({length:r}).map((e,r)=>{let n=r+1;return a().createElement("li",{key:`rating-${r}`,"data-fs-rating-item":n<=(f||i)?"full":n-i>0&&n-i<1?"partial":"empty","data-testid":`${t}-item`},s?a().createElement(d.Z,{"data-fs-rating-button":!0,icon:b,size:"small","aria-label":"rate",onClick:()=>{s(n)},onMouseEnter:()=>p(n),onMouseLeave:()=>p(i)}):a().createElement(a().Fragment,null,a().createElement("div",{"data-fs-rating-icon-wrapper":!0},b),a().isValidElement(c)?a().cloneElement(c,E):a().createElement(o.Z,{name:"Star","data-fs-rating-icon-outline":!0})))}))}),c=i}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=4350,exports.ids=[4350],exports.modules={3835:(e,n,t)=>{"use strict";t.d(n,{Z:()=>sections_Incentives_Incentives});var i=t(4564),s=t(2659),c=t(2614),o=t(997);let Incentives_Incentives=function({incentives:e,variant:n="horizontal",colored:t=!1,label:a}){return o.jsx("section",{"data-fs-incentives":!0,"data-fs-incentives-colored":t,"data-fs-incentives-variant":n,"aria-label":`Incentives List ${a}`,children:o.jsx(i.Z,{"data-fs-content":"incentives",children:e.map((e,n)=>o.jsx("li",{role:"listitem",children:(0,o.jsxs)(s.Z,{tabIndex:0,children:[o.jsx(c.Z,{"data-fs-incentive-icon":!0,"aria-label":e.alt,name:e.icon,width:32,height:32}),(0,o.jsxs)("section",{"data-fs-incentive-content":!0,children:[o.jsx("p",{"data-fs-incentive-title":!0,children:e.title}),o.jsx("span",{"data-fs-incentive-description":!0,children:e.firstLineText}),e.secondLineText&&o.jsx("span",{"data-fs-incentive-description":!0,children:e.secondLineText})]})]})},String(n)))})})};var a=t(9089),r=t(4890),d=t.n(r);let sections_Incentives_Incentives=function({incentives:e,label:n}){return o.jsx(a.Z,{className:`${d().section} section-incentives layout__section`,children:o.jsx(Incentives_Incentives,{incentives:e,colored:!0,label:n??""})})}},1820:(e,n,t)=>{"use strict";t.d(n,{V:()=>getDynamicContent});let i={};async function getDynamicContent({pageType:e}){try{let n=i[e];if(!n)return console.warn(`Warning: Dynamic Content not found for the page: ${e}. Refer to the Dynamic Content documentation at https://developers.vtex.com/docs/guides/faststore/dynamic-content-overview for mapping the page and the corresponding data-fetching function.`),null;let{data:t,errors:s=[]}=await n();return s.length>0&&console.error(...s),t}catch(e){return console.error("Error while fetching Dynamic Content:",e),console.warn("Refer to the Dynamic Content documentation at https://developers.vtex.com/docs/guides/faststore/dynamic-content-overview for mapping the page and the corresponding data-fetching function."),null}}},4890:e=>{e.exports={section:"section_section__jnQ3q"}},2659:(e,n,t)=>{"use strict";t.d(n,{Z:()=>o});var i=t(6689),s=t.n(i);let c=(0,i.forwardRef)(function({testId:e="store-incentive",children:n,...t},i){return s().createElement("section",{ref:i,"data-fs-incentive":!0,"data-testid":e,...t},n)}),o=c}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=6150,exports.ids=[6150],exports.modules={2740:(e,t,a)=>{a.d(t,{Z:()=>i});var r=a(6689),l=a.n(r);let n=(0,r.forwardRef)(function({testId:e="fs-checkbox",partial:t,...a},r){return l().createElement("input",{ref:r,"data-fs-checkbox":!0,"data-testid":e,"data-fs-checkbox-partial":t,type:"checkbox",...a})}),i=n},4873:(e,t,a)=>{a.d(t,{Z:()=>u});var r=a(6689),l=a.n(r),n=a(2614);let i=(0,r.forwardRef)(function({options:e,id:t,testId:a="fs-select",...r},i){return l().createElement("div",{"data-fs-select":!0},l().createElement("select",{ref:i,id:t,"data-testid":a,...r},Object.keys(e).map(t=>l().createElement("option",{key:t,value:t},e[t]))),l().createElement(n.Z,{"data-fs-select-icon":!0,name:"CaretDown"}))}),u=i},9395:(e,t,a)=>{a.d(t,{Z:()=>i});var r=a(6689),l=a.n(r);let percent=(e,t,a)=>Math.round((e-t)/(a-t)*100),n=(0,r.forwardRef)(function({min:e,max:t,absoluteValuesLabel:a,onChange:n,onEnd:i,testId:u="fs-slider",getAriaValueText:s,step:o,minValueLabelComponent:m,maxValueLabelComponent:d,...c},f){let b=(0,r.useMemo)(()=>(t.absolute-e.absolute)/100,[t.absolute,e.absolute]),[E,_]=(0,r.useState)(()=>percent(e.selected,e.absolute,t.absolute)),[p,v]=(0,r.useState)(()=>percent(t.selected,e.absolute,t.absolute)),[x,h]=(0,r.useState)(()=>Math.floor(e.absolute+E*b)),[g,M]=(0,r.useState)(()=>Math.round(e.absolute+p*b));return(0,r.useImperativeHandle)(f,()=>({setSliderValues:a=>{let r=Math.min(Number(a.min),g);if(h(r),_(percent(r,e.absolute,t.absolute)),a.max>t.absolute){M(t.absolute),v(percent(t.absolute,e.absolute,t.absolute));return}let l=Math.max(Number(a.max),x);M(l),v(percent(l,e.absolute,t.absolute))}})),l().createElement("div",{"data-fs-slider":!0,"data-testid":u,...c},l().createElement("div",{"data-fs-slider-absolute-values":!0},l().createElement("span",null,a.min),l().createElement("span",null,a.max)),l().createElement("div",{"data-fs-slider-wrapper":!0},l().createElement("div",{"data-fs-slider-range":!0,style:{left:`${E}%`,width:`${p-E}%`}}),l().createElement("input",{type:"range",min:Math.floor(e.absolute),max:Math.round(t.absolute),value:x,step:o,onMouseUp:()=>i?.({min:x,max:g}),onTouchEnd:()=>i?.({min:x,max:g}),onChange:a=>{let r=Math.min(Number(a.target.value),g);h(r),_(percent(r,e.absolute,t.absolute)),n?.({min:r,max:g})},"data-fs-slider-thumb":"left","aria-valuemin":e.absolute,"aria-valuemax":t.absolute,"aria-valuenow":x,"aria-label":String(x),"aria-labelledby":s?.(x,"min")}),m&&l().createElement("span",{"data-fs-slider-value-label":"min",style:{left:`calc(${x/t.absolute*100}% + (${8-.2*(x/t.absolute*100)}px))`}},m(x)),l().createElement("input",{type:"range",min:Math.floor(e.absolute),max:Math.round(t.absolute),value:g,step:o,onMouseUp:()=>i?.({min:x,max:g}),onTouchEnd:()=>i?.({min:x,max:g}),onChange:a=>{let r=Math.max(Number(a.target.value),x);M(r),v(percent(r,e.absolute,t.absolute)),n?.({min:x,max:r})},"data-fs-slider-thumb":"right","aria-valuemin":e.absolute,"aria-valuemax":t.absolute,"aria-valuenow":g,"aria-label":String(g),"aria-labelledby":s?.(g,"max")}),d&&l().createElement("span",{"data-fs-slider-value-label":"max",style:{left:`calc(${g/t.absolute*100}% + (${8-.2*(g/t.absolute*100)}px))`}},d(g))))}),i=n},6335:(e,t,a)=>{a.d(t,{Z:()=>s});var r=a(6689),l=a.n(r),n=a(1953),i=a(4873);let u=(0,r.forwardRef)(function({id:e,label:t,options:a,testId:r="fs-select-field",...u},s){return l().createElement("div",{ref:s,"data-fs-select-field":!0},l().createElement(n.Z,{"data-fs-select-field-label":!0,htmlFor:e},t),l().createElement(i.Z,{id:e,options:a,"data-testid":r,...u}))}),s=u},6133:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(6689),l=a.n(r);let __WEBPACK_DEFAULT_EXPORT__=function({testId:e="fs-empty-state",title:t,titleIcon:a,variant:r="default",bkgColor:n="default",children:i,...u}){return l().createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":r,"data-fs-empty-state-bkg-color":n,"data-fs-content":"empty-state","data-testid":e,...u},t&&l().createElement("header",{"data-fs-empty-state-title":!0},a&&l().createElement(l().Fragment,null,a),l().createElement("p",null,t)),i)}},5699:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(6689),l=a.n(r),n=a(1516);let __WEBPACK_DEFAULT_EXPORT__=function({testId:e,title:t,indicesExpanded:a,onAccordionChange:r,children:i}){return l().createElement("div",{"data-fs-filter":!0,"data-testid":e},l().createElement("h2",{"data-fs-filter-title":!0},t),l().createElement(n.Z,{indices:a,onChange:r,"data-fs-filter-accordion":!0},i))}},2815:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(6689),l=a.n(r),n=a(4564);let __WEBPACK_DEFAULT_EXPORT__=function({children:e}){return l().createElement(n.Z,{"data-fs-filter-list":!0},e)}},6174:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(6689),l=a.n(r),n=a(2740),i=a(1953),u=a(276);let __WEBPACK_DEFAULT_EXPORT__=function({testId:e,id:t,selected:a,value:r,quantity:s,facetKey:o,label:m,onFacetChange:d}){return l().createElement("li",{key:t,"data-fs-filter-list-item":!0},l().createElement(n.Z,{id:t,checked:a,onChange:()=>d({key:o,value:r},"BOOLEAN"),"data-fs-filter-list-item-checkbox":!0,"data-testid":`${e}-accordion-panel-checkbox`,"data-value":r,"data-quantity":s}),l().createElement(i.Z,{htmlFor:t,className:"text__title-mini-alt","data-fs-filter-list-item-label":!0},m," ",l().createElement(u.Z,{"data-fs-filter-list-item-badge":!0},s)))}},2230:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(6689),l=a.n(r),n=a(8110);let formatRange=(e,t)=>`${e.toFixed(2)}-to-${t.toFixed(2)}`,__WEBPACK_DEFAULT_EXPORT__=function({min:e,max:t,formatter:a,facetKey:r,onFacetChange:i}){return l().createElement(n.Z,{"data-fs-filter-facet-range":!0,min:e,max:t,formatter:a,step:1,onEnd:e=>i({key:r,value:formatRange(e.min,e.max)},"RANGE")})}},4199:(e,t,a)=>{a.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var r=a(6689),l=a.n(r),n=a(783),i=a(7734),u=a(7583);let __WEBPACK_DEFAULT_EXPORT__=function({testId:e,label:t,index:a,children:r,type:s}){return l().createElement(n.Z,{key:`${t}-${a}`,prefixId:e,testId:`${e}-accordion`,index:a,"data-type":s,"data-fs-filter-accordion-item":!0},l().createElement(i.Z,{testId:`${e}-accordion-button`},t),l().createElement(u.Z,null,r))}},8110:(e,t,a)=>{a.d(t,{Z:()=>o});var r=a(6689),l=a.n(r),n=a(9395),i=a(9767),u=a(3779);let s=(0,r.forwardRef)(function({formatter:e,max:t,min:a,step:s=1,onChange:o,onEnd:m,testId:d="fs-price-range",variant:c,"aria-label":f,...b},E){let _=(0,r.useRef)();(0,r.useImperativeHandle)(E,()=>({setPriceRangeValues:e=>{o?.(e),_.current?.setSliderValues(e)}}));let p=(0,r.useRef)(null),v=(0,r.useRef)(null),[x,h]=(0,r.useState)(),[g,M]=(0,r.useState)(),[Z,A]=(0,r.useState)({min:Math.floor(a.selected),max:Math.round(t.selected)});return l().createElement("div",{"data-fs-price-range":!0,"data-testid":d,...b},l().createElement(n.Z,{ref:_,min:a,max:t,step:s,onEnd:e=>{m?.(e),h(void 0),M(void 0),A({min:e.min,max:e.max}),p.current?.value&&(p.current.value=String(e.min)),v.current?.value&&(v.current.value=String(e.max))},"aria-label":f,onChange:e=>o?.(e),absoluteValuesLabel:{min:l().createElement(i.Z,{value:Math.floor(a.absolute),variant:c,formatter:e}),max:l().createElement(i.Z,{value:Math.round(t.absolute),variant:c,formatter:e})},minValueLabelComponent:t=>l().createElement(i.Z,{value:t,variant:c,formatter:e}),maxValueLabelComponent:t=>l().createElement(i.Z,{value:t,variant:c,formatter:e})}),l().createElement("div",{"data-fs-price-range-inputs":!0},l().createElement(u.Z,{id:"price-range-min",step:s,label:"Min",type:"number",inputMode:"numeric",error:x,inputRef:p,min:Math.floor(a.absolute),max:Z.max,value:Z.min,onChange:e=>{var t;return t=e.target.value,void(h(void 0),Number(t)<Math.floor(a.absolute)||(Number(t)>Math.floor(Z.max)&&h("Min price can't be greater than max"),A({...Z,min:Number(t)}),_.current?.setSliderValues({...Z,min:Number(t)})))},onBlur:()=>!x&&m?.(Z)}),l().createElement(u.Z,{id:"price-range-max",label:"Max",step:s,type:"number",inputMode:"numeric",error:g,inputRef:v,max:Math.round(t.absolute),min:Z.min,value:Z.max,onChange:e=>{var a;return a=e.target.value,void(M(void 0),Number(a)>Math.round(t.absolute)||(Number(a)<Math.round(Z.min)&&M("Max price can't be smaller than min"),A({...Z,max:Number(a)}),_.current?.setSliderValues({...Z,max:Number(a)})))},onBlur:()=>!g&&m?.(Z)})))}),o=s}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=7917,exports.ids=[7917],exports.modules={7855:(e,t,r)=>{r.a(e,async(e,n)=>{try{r.d(t,{P:()=>sendAutocompleteClickEvent,Z:()=>__WEBPACK_DEFAULT_EXPORT__});var o=r(1933),c=r(4583),i=r(2174),l=r(757),a=r(9994),s=r(35),u=r(9156),p=r(2796),b=r(3295),O=r(997),f=e([u,p]);[u,p]=f.then?(await f)():f;let y=["sort"];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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):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 sendAutocompleteClickEvent({url:e,term:t,position:n,productId:o}){Promise.all([r.e(2880),r.e(1153)]).then(r.bind(r,1153)).then(({sendAnalyticsEvent:r})=>{r({name:"intelligent_search_autocomplete_click",params:{term:t,url:e,productId:o,position:n}})})}let __WEBPACK_DEFAULT_EXPORT__=function(e){let{sort:t}=e,r=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,y),{values:{onSearchSelection:n,products:f,term:j,terms:_}}=(0,o.R)();return(0,O.jsxs)(c.Z,_objectSpread(_objectSpread({},r),{},{children:[O.jsx(s.Z,{sort:t}),O.jsx(u.Z,{sort:t}),O.jsx(i.Z,{children:_?.map(({value:e})=>O.jsx(l.Z,{term:j,suggestion:e,linkProps:{href:b.u({term:e,sort:t}),onClick:()=>{n?.(e,b.u({term:e,sort:t})),sendAutocompleteClickEvent({term:e,url:window.location.href})}}},e))}),O.jsx(a.Z,{children:f.map((e,t)=>O.jsx(p.Z,{product:e,index:t},e.id))})]}))};n()}catch(e){n(e)}})},7917:(e,t,r)=>{r.a(e,async(e,n)=>{try{r.r(t),r.d(t,{default:()=>o.Z,sendAutocompleteClickEvent:()=>o.P});var o=r(7855),c=e([o]);o=(c.then?(await c)():c)[0],n()}catch(e){n(e)}})},35:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var n=r(1933),o=r(2701),c=r(9482),i=r(8543),l=r(997);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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let __WEBPACK_DEFAULT_EXPORT__=e=>{let t=Object.assign({},e),{values:{onSearchSelection:r}}=(0,n.R)(),{searchHistory:a,clearSearchHistory:s}=(0,i.Z)();return a.length?l.jsx(o.Z,_objectSpread(_objectSpread({title:"History",onClear:s},t),{},{children:a.map(e=>l.jsx(c.Z,{value:e.term,linkProps:{href:e.path,onClick:()=>r?.(e.term,e.path)}},e.term))})):null}},2796:(e,t,r)=>{r.a(e,async(e,n)=>{try{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var o=r(1933),c=r(6035),i=r(9082),l=r(3454),a=r(8918),s=r(113),u=r(5679),p=r(7855),b=r(997),O=e([p]);p=(O.then?(await O)():O)[0];let f=["product","index"],y=["href","onClick"];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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):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 _objectWithoutProperties(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}let __WEBPACK_DEFAULT_EXPORT__=function(e){let{product:t,index:r}=e,n=_objectWithoutProperties(e,f),{values:{onSearchSelection:O}}=(0,o.R)(),j=(0,u.w)({product:t,selectedOffer:0,index:r}),{href:_,onClick:P}=j,d=_objectWithoutProperties(j,y),{isVariantOf:{name:h},image:[v],offers:{lowPrice:w,offers:[{listPrice:g}]}}=t,m=_objectSpread({href:_,onClick:()=>{P(),O?.(h,_),(0,p.P)({url:_,term:h,position:r,productId:t.isVariantOf.productGroupID??t.sku})}},d);return(0,b.jsxs)(c.Z,_objectSpread(_objectSpread({linkProps:m},n),{},{children:[b.jsx(i.Z,{children:b.jsx(a.Z,{src:v.url,alt:v.alternateName,width:56,height:56})}),b.jsx(l.Z,{title:h,price:{value:w,listPrice:g,formatter:s.P}})]}))};n()}catch(e){n(e)}})},9156:(e,t,r)=>{r.a(e,async(e,n)=>{try{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var o=r(1933),c=r(3311),i=r(1287),l=r(3295),a=r(7627),s=r(997),u=e([a]);a=(u.then?(await u)():u)[0];let p=["topTerms","sort"];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){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let __WEBPACK_DEFAULT_EXPORT__=function(e){let{topTerms:t=[],sort:r}=e,n=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,p),{values:{onSearchSelection:u}}=(0,o.R)(),{data:b}=(0,a.Z)(),O=(b?.search.suggestions.terms??t).slice(0,5);return 0===O.length?null:s.jsx(c.Z,_objectSpread(_objectSpread({title:"Top Search"},n),{},{children:O.map((e,t)=>s.jsx(i.Z,{value:e.value,index:t,linkProps:{href:(0,l.u)({term:e.value,sort:r}),onClick:()=>u?.(e.value,l.u({term:e.value,sort:r}))}},t))}))};n()}catch(e){n(e)}})},7627:(e,t,r)=>{r.a(e,async(e,n)=>{try{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var o=r(3523),c=r(7553),i=r(5238),l=e([c]);c=(l.then?(await l)():l)[0];let a=o.M,__WEBPACK_DEFAULT_EXPORT__=function(){let{channel:e,locale:t}=(0,i.kP)(),{data:r,error:n}=(0,c.aM)(a,{term:"",selectedFacets:[{key:"channel",value:e??""},{key:"locale",value:t}]});return{data:r,error:n}};n()}catch(e){n(e)}})}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=8419,exports.ids=[8419],exports.modules={5342:(e,r,t)=>{"use strict";t.d(r,{Z:()=>f});var n=t(8394),o=t(5167),a=t(547),c=t(6689),i=t(1664),s=t.n(i),u=t(8918),l=t(113),d=t(5679),b=t(997);let p=["product","index","bordered","variant","aspectRatio","imgProps","ratingValue","buttonLabel","onButtonClick","showDiscountBadge","taxesConfiguration","sponsoredLabel"];function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){var n;n=t[r],r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}let f=(0,c.memo)(function(e){let{product:r,index:t,bordered:i=!0,variant:f="default",aspectRatio:O=1,imgProps:y,ratingValue:j,buttonLabel:m="Add",onButtonClick:v,showDiscountBadge:g=!0,taxesConfiguration:w,sponsoredLabel:P}=e,h=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],!(r.indexOf(t)>=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(e,p),{sku:x,isVariantOf:{name:S},image:[D],advertisement:B,offers:{lowPrice:_,lowPriceWithTaxes:k,offers:[{listPrice:L,availability:K,listPriceWithTaxes:E}]}}=r,Z=_objectSpread(_objectSpread({},(0,d.w)({product:r,selectedOffer:0,index:t})),{},{as:s(),passHref:!0,legacyBehavior:!1,prefetch:!1}),A=(0,c.useMemo)(()=>"https://schema.org/InStock"!==K,[K]),C=w?.usePriceWithTaxes?k:_,I=w?.usePriceWithTaxes?E:L,T=B?{"data-van-res-id":B.adResponseId,"data-van-aid":B.adId,"data-van-prod-name":S}:{};return(0,b.jsxs)(n.Z,_objectSpread(_objectSpread(_objectSpread({outOfStock:A,bordered:i,variant:f,"data-fs-product-card-sku":x},T),h),{},{children:[b.jsx(o.Z,{aspectRatio:O,children:b.jsx(u.Z,{src:D.url,alt:D.alternateName,sizes:`${y?.sizes??"(max-width: 768px) 40vw, 30vw"}`,width:y?.width??360,height:Math.round((Number(y?.height)||360)/O),loading:y?.loading})}),b.jsx(a.Z,{title:S,price:{value:C,listPrice:I,formatter:l.P},ratingValue:j,outOfStock:A,onButtonClick:v,linkProps:Z,showDiscountBadge:C<=I&&g,includeTaxes:w?.usePriceWithTaxes,includeTaxesLabel:w?.taxesLabel,sponsored:!!B,sponsoredLabel:P})]}))})},3472:(e,r,t)=>{"use strict";t.d(r,{j:()=>y});var n=t(7296),o=t(6689),a=t(9089),c=t(8642),i=t.n(c),s=t(4960),u=t(5502),l=t(1972),d=t(2614);let b={Breadcrumb:l.Z,Icon:d.Z};var p=t(997);function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}let f=(0,n.B)("Breadcrumb",function(e){let r=Object.assign({},e),{Breadcrumb:t}=(0,u.r3)(),n=(0,s.qt)(),o=(0,s.OJ)(n)?n?.data?.collection?.seo?.title:"All Products",c=(0,s.tS)(n)?n?.data?.product?.breadcrumbList?.itemListElement:(0,s.OJ)(n)?n?.data?.collection?.breadcrumbList?.itemListElement:[{item:"/",name:o,position:1}];return p.jsx(a.Z,{className:`${i().section} section-breadcrumb`,children:p.jsx(t.Component,function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){var n;n=t[r],r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}({breadcrumbList:c},r))})},b),O=(0,o.memo)(f);function OverriddenDefaultBreadcrumb_ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function OverriddenDefaultBreadcrumb_objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?OverriddenDefaultBreadcrumb_ownKeys(Object(t),!0).forEach(function(r){var n;n=t[r],r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):OverriddenDefaultBreadcrumb_ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}let y=(0,n.v)(OverriddenDefaultBreadcrumb_objectSpread(OverriddenDefaultBreadcrumb_objectSpread({},{section:"Breadcrumb"}),{},{Section:O}))},1023:(e,r,t)=>{"use strict";t.d(r,{K:()=>o,g:()=>n});let n=12,o=5},5081:(e,r,t)=>{"use strict";t.d(r,{y:()=>useLocalizedVariables});var n=t(6689),o=t(1023),a=t(5238);let toArray=e=>Array.isArray(e)?e:e?[e]:[],useLocalizedVariables=({first:e,after:r,sort:t,term:c,selectedFacets:i,sponsoredCount:s})=>{let{channel:u,locale:l}=(0,a.kP)();return(0,n.useMemo)(()=>{let n=toArray(i);return{first:e??o.K,after:r??"0",sort:t??"score_desc",term:c??"",selectedFacets:[...n,{key:"channel",value:u??""},{key:"locale",value:l}],sponsoredCount:s??3}},[i,e,r,t,c,u,l,s])}},8642:e=>{e.exports={section:"section_section__dvBbv"}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,c,a,t,e,i){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[s,c,a,"static/css/b1806cbafd0c1f81.css","static/chunks/pages/index-ad532cf8840c5d3f.js"],"/404":[s,c,a,t,"static/chunks/pages/404-358f6795222bf991.js"],"/500":[s,c,a,t,"static/chunks/pages/500-7adc48c3231ccee1.js"],"/_error":["static/chunks/pages/_error-85cabf0d7a5ea2f2.js"],"/account":[s,c,a,"static/chunks/pages/account-9db0ef5c4174c7dd.js"],"/checkout":[s,c,a,"static/chunks/pages/checkout-abaa6374ae946641.js"],"/login":[s,c,a,t,"static/chunks/pages/login-8d2eb8db226d6363.js"],"/s":[s,c,a,e,i,t,"static/chunks/pages/s-c4ff9fe20587e49e.js"],"/[slug]/p":[s,c,a,"static/chunks/459-404aa12d42b08af1.js","static/css/bf1560439df2c1a1.css","static/css/e3ff5d95518a5c79.css","static/chunks/6379-1578190b254c09a6.js","static/css/9718991cd57978e9.css","static/chunks/pages/[slug]/p-fa2418810fa3abeb.js"],"/[...slug]":[s,c,a,e,i,"static/chunks/pages/[...slug]-c2bf068f3f84b127.js"],sortedPages:["/","/404","/500","/_app","/_error","/account","/checkout","/login","/s","/[slug]/p","/[...slug]"]}}("static/chunks/6941-6223429b182b7109.js","static/css/93d239c461485bdf.css","static/chunks/1550-48e8637718c2dd74.js","static/css/2980acad3f8e1028.css","static/css/6e34c6c07086e3df.css","static/chunks/6999-078369e946149546.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|