@faststore/core 3.77.2 → 3.77.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +26 -26
- 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/routes-manifest.json +1 -1
- package/.next/server/chunks/3918.js +1 -1
- package/.next/server/middleware-build-manifest.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/chunks/{7191-a72fe20ee3eb28ec.js → 7191-7badbb9888b79ce9.js} +1 -1
- package/.next/static/chunks/pages/s-989fccebe1b60a4e.js +1 -0
- package/.next/static/chunks/{webpack-b6bad1900f53d6e6.js → webpack-c996443db6f4fa91.js} +1 -1
- package/.next/static/css/4bd5e2314f697713.css +1 -0
- package/.next/static/{SaRJjm44wxKaH0mGRECi2 → xFgIjKNUaH5r_Yo0uIAnc}/_buildManifest.js +1 -1
- package/.next/trace +135 -135
- package/.turbo/turbo-build.log +11 -11
- package/.turbo/turbo-test.log +5 -5
- package/CHANGELOG.md +6 -0
- package/package.json +2 -2
- package/src/components/templates/SearchPage/SearchPage.tsx +3 -1
- package/src/components/templates/SearchPage/SearchWrapper.tsx +1 -1
- package/src/pages/s.tsx +8 -5
- package/src/sdk/product/usePageProductsQuery.ts +80 -64
- package/.next/static/chunks/pages/s-3197dfed5c06ad7b.js +0 -1
- package/.next/static/css/9bdd3be2a41064c6.css +0 -1
- /package/.next/static/{SaRJjm44wxKaH0mGRECi2 → xFgIjKNUaH5r_Yo0uIAnc}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.77.
|
|
2
|
+
> @faststore/core@3.77.2 prebuild /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> na run partytown && na run generate
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @faststore/core@3.77.
|
|
6
|
+
> @faststore/core@3.77.2 partytown /home/runner/work/faststore/faststore/packages/core
|
|
7
7
|
> partytown copylib ./public/~partytown
|
|
8
8
|
|
|
9
9
|
Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
|
|
10
10
|
|
|
11
|
-
> @faststore/core@3.77.
|
|
11
|
+
> @faststore/core@3.77.2 generate /home/runner/work/faststore/faststore/packages/core
|
|
12
12
|
> na run generate:schema && na run generate:codegen && na run format:generated
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
> @faststore/core@3.77.
|
|
15
|
+
> @faststore/core@3.77.2 generate:schema /home/runner/work/faststore/faststore/packages/core
|
|
16
16
|
> tsx src/server/generator/generateGraphQLSchemaFile.ts
|
|
17
17
|
|
|
18
18
|
Schema GraphQL file generated successfully
|
|
19
19
|
|
|
20
|
-
> @faststore/core@3.77.
|
|
20
|
+
> @faststore/core@3.77.2 generate:codegen /home/runner/work/faststore/faststore/packages/core
|
|
21
21
|
> graphql-codegen
|
|
22
22
|
|
|
23
23
|
[STARTED] Parse Configuration
|
|
@@ -37,11 +37,11 @@ Running lifecycle hook "afterStart" scripts...
|
|
|
37
37
|
[CLI] Loading Documents
|
|
38
38
|
[CLI] Generating output
|
|
39
39
|
|
|
40
|
-
> @faststore/core@3.77.
|
|
40
|
+
> @faststore/core@3.77.2 format:generated /home/runner/work/faststore/faststore/packages/core
|
|
41
41
|
> prettier --write "@generated/**/*.{ts,js,tsx,jsx,json}" --loglevel error
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
> @faststore/core@3.77.
|
|
44
|
+
> @faststore/core@3.77.2 build /home/runner/work/faststore/faststore/packages/core
|
|
45
45
|
> next build
|
|
46
46
|
|
|
47
47
|
⚠ No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
|
|
@@ -58,15 +58,15 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
58
58
|
Creating an optimized production build ...
|
|
59
59
|
Disabled SWC as replacement for Babel because of custom Babel configuration ".babelrc.js" https://nextjs.org/docs/messages/swc-disabled
|
|
60
60
|
Using external babel configuration from /home/runner/work/faststore/faststore/packages/core/.babelrc.js
|
|
61
|
-
Browserslist: browsers data (caniuse-lite) is
|
|
61
|
+
Browserslist: browsers data (caniuse-lite) is 8 months old. Please run:
|
|
62
62
|
npx update-browserslist-db@latest
|
|
63
63
|
Why you should do it regularly: https://github.com/browserslist/update-db#readme
|
|
64
64
|
✓ Compiled successfully
|
|
65
65
|
Collecting page data ...
|
|
66
66
|
Generating static pages (0/6) ...
|
|
67
67
|
|
|
68
68
|
Generating static pages (1/6)
|
|
69
|
-
|
|
70
69
|
Generating static pages (2/6)
|
|
71
70
|
Warning: Dynamic Content not found for the page: home. Refer to the Dynamic Content documentation at https://developers.vtex.com/docs/guides/faststore/dynamic-content-overview for mapping the page and the corresponding data-fetching function.
|
|
71
|
+
|
|
72
72
|
Generating static pages (2/6)
|
|
73
73
|
|
|
74
74
|
Generating static pages (4/6)
|
|
75
75
|
|
|
76
76
|
✓ Generating static pages (6/6)
|
|
77
77
|
Finalizing page optimization ...
|
|
@@ -105,12 +105,12 @@ Route (pages) Size First Load JS
|
|
|
105
105
|
├ λ /api/preview 0 B 106 kB
|
|
106
106
|
├ ● /checkout 737 B 137 kB
|
|
107
107
|
├ ● /login 1.68 kB 138 kB
|
|
108
|
-
└ ● /s 3.
|
|
108
|
+
└ ● /s 3.35 kB 149 kB
|
|
109
109
|
+ First Load JS shared by all 109 kB
|
|
110
110
|
├ chunks/framework-807b0f81cbc129f0.js 45.4 kB
|
|
111
111
|
├ chunks/main-f658704b53a96ab1.js 33.1 kB
|
|
112
112
|
├ chunks/pages/_app-df4ba03d82beaf86.js 23.6 kB
|
|
113
|
-
├ chunks/webpack-
|
|
113
|
+
├ chunks/webpack-c996443db6f4fa91.js 3.81 kB
|
|
114
114
|
└ css/0a57ee6c7a57788c.css 3.49 kB
|
|
115
115
|
|
|
116
116
|
λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.77.
|
|
2
|
+
> @faststore/core@3.77.2 test /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> jest
|
|
4
4
|
|
|
5
|
-
PASS test/utils/multipleTemplates.test.ts (
|
|
6
|
-
PASS test/server/cms/global.test.ts (
|
|
5
|
+
PASS test/utils/multipleTemplates.test.ts (25.887 s)
|
|
6
|
+
PASS test/server/cms/global.test.ts (26.054 s)
|
|
7
7
|
PASS test/server/cms/index.test.ts
|
|
8
|
-
PASS test/server/index.test.ts (
|
|
8
|
+
PASS test/server/index.test.ts (30.05 s)
|
|
9
9
|
|
|
10
10
|
Test Suites: 4 passed, 4 total
|
|
11
11
|
Tests: 22 passed, 22 total
|
|
12
12
|
Snapshots: 0 total
|
|
13
|
-
Time:
|
|
13
|
+
Time: 31.377 s
|
|
14
14
|
Ran all test suites.
|
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.77.3](https://github.com/vtex/faststore/compare/v3.77.2...v3.77.3) (2025-09-01)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- Update search page when changing terms ([#2992](https://github.com/vtex/faststore/issues/2992)) ([90be90f](https://github.com/vtex/faststore/commit/90be90ff8aa29127dbe89d4a9b8512f6d1427f38)), closes [dp-faststore-org/vendemo-dp#74](https://github.com/dp-faststore-org/vendemo-dp/issues/74) [vtex-sites/faststoreqa.store#857](https://github.com/vtex-sites/faststoreqa.store/issues/857)
|
|
11
|
+
|
|
6
12
|
## [3.77.2](https://github.com/vtex/faststore/compare/v3.77.1...v3.77.2) (2025-08-21)
|
|
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.77.
|
|
3
|
+
"version": "3.77.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
"ts-jest": "29.1.1",
|
|
109
109
|
"typescript": "5.3.2"
|
|
110
110
|
},
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "87d2a27bd3afc8327bda2d611ac08d64b00fc607"
|
|
112
112
|
}
|
|
@@ -24,7 +24,9 @@ function SearchPage({
|
|
|
24
24
|
globalSections,
|
|
25
25
|
globalSettings,
|
|
26
26
|
}: SearchPageProps) {
|
|
27
|
-
const { pages, useGalleryPage } = useCreateUseGalleryPage(
|
|
27
|
+
const { pages, useGalleryPage } = useCreateUseGalleryPage({
|
|
28
|
+
searchTerm: serverData?.searchTerm,
|
|
29
|
+
})
|
|
28
30
|
|
|
29
31
|
const context = {
|
|
30
32
|
data: {
|
package/src/pages/s.tsx
CHANGED
|
@@ -98,8 +98,9 @@ function generateSEOData(storeConfig: StoreConfig, searchTerm?: string) {
|
|
|
98
98
|
function Page({
|
|
99
99
|
page: searchContentType,
|
|
100
100
|
globalSections: globalSectionsProp,
|
|
101
|
-
searchTerm,
|
|
101
|
+
searchTerm: serverSearchTerm,
|
|
102
102
|
}: SearchPageProps) {
|
|
103
|
+
const router = useRouter()
|
|
103
104
|
const { sections: globalSections, settings: globalSettings } =
|
|
104
105
|
globalSectionsProp ?? {}
|
|
105
106
|
const { settings } = searchContentType
|
|
@@ -109,6 +110,11 @@ function Page({
|
|
|
109
110
|
})
|
|
110
111
|
|
|
111
112
|
const itemsPerPage = settings?.productGallery?.itemsPerPage ?? ITEMS_PER_PAGE
|
|
113
|
+
const searchTerm =
|
|
114
|
+
serverSearchTerm ??
|
|
115
|
+
(router.query?.q as string) ??
|
|
116
|
+
searchParams.term ??
|
|
117
|
+
undefined
|
|
112
118
|
|
|
113
119
|
if (!searchParams) {
|
|
114
120
|
return null
|
|
@@ -144,10 +150,7 @@ function Page({
|
|
|
144
150
|
<SearchWrapper
|
|
145
151
|
itemsPerPage={itemsPerPage}
|
|
146
152
|
searchContentType={searchContentType}
|
|
147
|
-
serverData={{
|
|
148
|
-
title: seoData.title,
|
|
149
|
-
searchTerm: searchTerm ?? searchParams.term ?? undefined,
|
|
150
|
-
}}
|
|
153
|
+
serverData={{ title: seoData.title, searchTerm }}
|
|
151
154
|
globalSections={globalSections}
|
|
152
155
|
globalSettings={globalSettings}
|
|
153
156
|
/>
|
|
@@ -18,6 +18,7 @@ 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'
|
|
21
22
|
|
|
22
23
|
export const UseGalleryPageContext = createContext<
|
|
23
24
|
ReturnType<typeof useCreateUseGalleryPage>['useGalleryPage']
|
|
@@ -68,8 +69,9 @@ export const query = gql(`
|
|
|
68
69
|
const getKey = (object: any) => JSON.stringify(object)
|
|
69
70
|
|
|
70
71
|
interface UseCreateUseGalleryPageProps {
|
|
71
|
-
initialPages
|
|
72
|
-
serverManyProductsVariables
|
|
72
|
+
initialPages?: ClientManyProductsQueryQuery
|
|
73
|
+
serverManyProductsVariables?: ClientManyProductsQueryQueryVariables
|
|
74
|
+
searchTerm?: string
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
/**
|
|
@@ -78,6 +80,7 @@ interface UseCreateUseGalleryPageProps {
|
|
|
78
80
|
export const useCreateUseGalleryPage = (
|
|
79
81
|
params?: UseCreateUseGalleryPageProps
|
|
80
82
|
) => {
|
|
83
|
+
const { postalCode: sessionPostalCode } = useSession()
|
|
81
84
|
const initialPages = params?.initialPages?.search ? [params.initialPages] : []
|
|
82
85
|
const initialVariables = params?.serverManyProductsVariables
|
|
83
86
|
? [getKey(params.serverManyProductsVariables)]
|
|
@@ -88,73 +91,86 @@ export const useCreateUseGalleryPage = (
|
|
|
88
91
|
// 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
|
|
89
92
|
const pagesRef = useRef<ClientManyProductsQueryQuery[]>(initialPages)
|
|
90
93
|
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
|
|
91
134
|
|
|
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
|
-
|
|
138
|
-
// Prevents error: Cannot update a component (`ProductListing`) while rendering a different component (`ProductGalleryPage`).
|
|
139
|
-
useEffect(() => {
|
|
140
135
|
if (shouldUpdatePages) {
|
|
141
|
-
|
|
142
|
-
setPages((oldPages) => {
|
|
143
|
-
const newPages = [...oldPages]
|
|
144
|
-
newPages[page] = data
|
|
145
|
-
return newPages
|
|
146
|
-
})
|
|
147
|
-
}
|
|
148
|
-
}, [data, page, shouldUpdatePages])
|
|
136
|
+
pagesCache.current[page] = getKey(localizedVariables)
|
|
149
137
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
138
|
+
// Update refs
|
|
139
|
+
const newPages = [...pagesRef.current]
|
|
140
|
+
newPages[page] = data
|
|
141
|
+
pagesRef.current = newPages
|
|
153
142
|
}
|
|
154
143
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
144
|
+
// Prevents error: Cannot update a component (`ProductListing`) while rendering a different component (`ProductGalleryPage`).
|
|
145
|
+
useEffect(() => {
|
|
146
|
+
if (shouldUpdatePages) {
|
|
147
|
+
// Update state
|
|
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
|
+
}
|
|
168
|
+
|
|
169
|
+
return { data }
|
|
170
|
+
}, [hasSameVariables, data, page])
|
|
171
|
+
},
|
|
172
|
+
[params?.searchTerm, sessionPostalCode]
|
|
173
|
+
)
|
|
158
174
|
|
|
159
175
|
return useMemo(
|
|
160
176
|
() => ({
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6552],{1780:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var n=r(3067),o=r(3339),a=r(2614),c=r(1667),l=r(9746),i=r(1325),p=r(5093),u=r.n(p),d={EmptyState:r(6133).Z},b=r(1716),f=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 useErrorState=()=>{var e,{query:{errorId:t,fromUrl:r},pathname:n,asPath:a}=(0,o.useRouter)();return{errorId:t,fromUrl:null!==(e=null!=r?r:a)&&void 0!==e?e:n}};function EmptyState_EmptyState(e){var t,r,n,o,{title:p,titleIcon:d,children:b,subtitle:h,errorState:j,showLoader:y=!1}=e,{EmptyState:v}=(0,l.r3)(),{errorId:O,fromUrl:S}=useErrorState(),g=null!=d&&d.icon?(0,f.jsx)(a.Z,{name:null==d?void 0:d.icon,"aria-label":null==d?void 0:d.alt,width:56,height:56,weight:"thin"}):v.props.titleIcon;return(0,f.jsx)(i.Z,{className:"".concat(u().section," section-empty-state"),children:(0,f.jsxs)(v.Component,_objectSpread(_objectSpread({bkgColor:"light"},v.props),{},{title:null!=p?p:v.props.title,titleIcon:g,children:[!!h&&(0,f.jsx)("h2",{children:h}),!!(null!=j&&null!==(t=j.errorId)&&void 0!==t&&t.show)&&(0,f.jsx)("p",{children:"".concat(null==j?void 0:null===(r=j.errorId)||void 0===r?void 0:r.description," ").concat(O)}),!!(null!=j&&null!==(n=j.fromUrl)&&void 0!==n&&n.show)&&(0,f.jsx)("p",{children:"".concat(null==j?void 0:null===(o=j.fromUrl)||void 0===o?void 0:o.description," ").concat(S)}),y&&(0,f.jsx)(c.Z,{}),b]}))})}EmptyState_EmptyState.$componentKey="EmptyState";var h=(0,b.B)("EmptyState",EmptyState_EmptyState,d)},6138:function(e,t,r){"use strict";r.r(t),r.d(t,{__N_SSG:function(){return H},default:function(){return s}});var n=r(3067),o=r(4235),a=r(5935),c=r(3339),l=r(4194),i=r(6142),p=r(2339),u=r(6763),d=r(5450),b=r(8132),f=r(8998),h=r(3412),j=r.n(h),y=r(9029),v=r(7444),O=r(9173),S=r(6272),g=r(1780),P=r(2007),m=r.n(P),w=r(1325),_=r(1549);function EmptySearch(e){var{title:t,term:r}=e;return(0,_.jsx)(w.Z,{className:"".concat(m().section," section-product-gallery"),children:(0,_.jsxs)("section",{"data-testid":"product-gallery","data-fs-product-listing":!0,"data-fs-search-loading":!0,children:[t&&(0,_.jsxs)("h1",{"data-fs-empty-search-title":!0,children:[t," ",(0,_.jsx)("strong",{children:r})]}),(0,_.jsx)(g.Z,{title:"",showLoader:!0})]})})}var x=r(3888),E=r.n(x),Z=r(2301),D=r(3882),K=r(3954),k=r(6924),T=r(3091),G=r(1772),N=r(5949);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 W=E()(()=>Promise.all([r.e(2715),r.e(84)]).then(r.bind(r,4173)).then(e=>e.OverriddenDefaultBannerText),{ssr:!1,loadableGenerated:{webpack:()=>[4173]}}),R=E()(()=>Promise.all([r.e(1417),r.e(385),r.e(2715),r.e(2858)]).then(r.bind(r,3143)),{ssr:!1,loadableGenerated:{webpack:()=>[3143]}}),B=E()(()=>Promise.all([r.e(1417),r.e(385),r.e(9704)]).then(r.bind(r,7272)).then(e=>e.OverriddenDefaultNewsletter),{ssr:!1,loadableGenerated:{webpack:()=>[7272]}}),C=E()(()=>Promise.all([r.e(6863),r.e(3506)]).then(r.bind(r,552)).then(e=>e.OverriddenDefaultProductShelf),{ssr:!1,loadableGenerated:{webpack:()=>[552]}}),I=E()(()=>r.e(7181).then(r.bind(r,7226)),{ssr:!1,loadableGenerated:{webpack:()=>[7226]}}),U=_objectSpread(_objectSpread(_objectSpread({},G.Z),{},{[(0,N.x)(D.V,"Hero")]:D.V,[(0,N.x)(Z.j,"Breadcrumb")]:Z.j,[(0,N.x)(K.f,"ProductGallery")]:K.f,[(0,N.x)(W,"BannerText")]:W,[(0,N.x)(R,"BannerNewsletter")]:R,[(0,N.x)(B,"Newsletter")]:B,[(0,N.x)(C,"ProductShelf")]:C,[(0,N.x)(I,"ProductTiles")]:I},T.Z),k.Z),F=r(330);function SearchPage_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 SearchPage_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchPage_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchPage_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var SearchPage_SearchPage=function(e){var{page:{sections:t},data:r,globalSections:n,globalSettings:o}=e,{pages:a,useGalleryPage:c}=(0,F.Y_)(),l={data:SearchPage_objectSpread(SearchPage_objectSpread({},r),{},{pages:a}),globalSettings:o};return(0,_.jsx)(_.Fragment,{children:(0,_.jsx)(S.ZP,{context:l,children:(0,_.jsx)(F.Bj.Provider,{value:c,children:(0,_.jsx)(O.ZP,{sections:t,globalSections:n,components:U})})})})};function SearchWrapper_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 SearchWrapper_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchWrapper_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchWrapper_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function SearchWrapper(e){var t,r,n,o,a,{itemsPerPage:l,searchContentType:i,serverData:p,globalSections:u,globalSettings:d}=e,b=(0,c.useRouter)(),{state:{term:f,sort:h,selectedFacets:g},pages:P,resetInfiniteScroll:m}=(0,y.R)(),{data:w}=(0,v.UO)({term:f,sort:h,itemsPerPage:l,selectedFacets:g}),x=j().experimental.enableSearchSSR?{title:null!==(t=j().seo.search.bodyH1)&&void 0!==t?t:"Showing results for:",term:p.searchTerm}:{};if(!w)return(0,_.jsx)(S.ZP,{context:{globalSettings:d},children:(0,_.jsx)(O.ZP,{globalSections:u,children:(0,_.jsx)(EmptySearch,SearchWrapper_objectSpread({},x))})});if(null!=w&&null!==(r=w.redirect)&&void 0!==r&&r.url)return b.replace(null==w?void 0:null===(a=w.redirect)||void 0===a?void 0:a.url,null,{shallow:!0}),(0,_.jsx)(S.ZP,{context:{globalSettings:d},children:(0,_.jsx)(O.ZP,{globalSections:u,children:(0,_.jsx)(EmptySearch,SearchWrapper_objectSpread({},x))})});var E=null==w?void 0:null===(n=w.search)||void 0===n?void 0:n.products,Z=P.length,D=Math.ceil((null==E?void 0:null===(o=E.pageInfo)||void 0===o?void 0:o.totalCount)/l);return D>0&&D<Z&&m(0),(0,_.jsx)(SearchPage_SearchPage,{page:i,data:SearchWrapper_objectSpread(SearchWrapper_objectSpread({},p),w),globalSections:u,globalSettings:d})}var L=["search"],q=["noindex","nofollow"];function s_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 s_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var H=!0,useSearchParams=e=>{var{sort:t}=e,{asPath:r}=(0,c.useRouter)();return(0,l.useMemo)(()=>{var e=new URL(r,"http://localhost");t&&!e.searchParams.has("sort")&&e.searchParams.set("sort",t);var n=(0,i.Q)(e),o=(0,p.Z)(n).href;return(0,i.Q)(new URL(o))},[r,t])},s=function(e){var t,r,n,c,{page:l,globalSections:i,searchTerm:p}=e,{sections:h,settings:y}=null!=i?i:{},{settings:v}=l,O=(0,f.j)(),S=useSearchParams({sort:null==v?void 0:null===(t=v.productGallery)||void 0===t?void 0:t.sortBySelection}),g=null!==(r=null==v?void 0:null===(n=v.productGallery)||void 0===n?void 0:n.itemsPerPage)&&void 0!==r?r:b.gK;if(!S)return null;var P=function(e,t){var r,n,a,c,l,i=e.seo,{search:p}=i,u=(0,o.Z)(i,L);if(!e.experimental.enableSearchSSR)return{noindex:null===(c=null==p?void 0:p.noIndex)||void 0===c||c,nofollow:null===(l=null==p?void 0:p.noFollow)||void 0===l||l,title:u.title,description:u.description,titleTemplate:u.titleTemplate,openGraph:{type:"website",title:u.title,description:u.description}};var d=null!=t?t:"Search Results",b=null!==(r=null==p?void 0:p.titleTemplate)&&void 0!==r?r:u.titleTemplate,f=null!=p&&p.descriptionTemplate?p.descriptionTemplate.replace(/%s/g,()=>t):u.description,h=t?"".concat(e.storeUrl,"/s?q=").concat(t.replaceAll(" ","+")):void 0;return{noindex:null===(n=null==p?void 0:p.noIndex)||void 0===n||n,nofollow:null===(a=null==p?void 0:p.noFollow)||void 0===a||a,title:d,description:f,titleTemplate:b,canonical:h,openGraph:{type:"website",title:d,description:f}}}(j(),p),{noindex:m,nofollow:w}=P,x=(0,o.Z)(P,q);return(0,_.jsxs)(u.z,s_objectSpread(s_objectSpread({onChange:O,itemsPerPage:g},S),{},{children:[(0,_.jsx)(a.PB,s_objectSpread({noindex:m,nofollow:w},x)),(0,_.jsx)(d.Z,{text:x.title}),(0,_.jsx)(SearchWrapper,{itemsPerPage:g,searchContentType:l,serverData:{title:x.title,searchTerm:null!==(c=null!=p?p:S.term)&&void 0!==c?c:void 0},globalSections:h,globalSettings:y})]}))}},9590:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/s",function(){return r(6138)}])},5093:function(e){e.exports={section:"section_section__KG_b8",load:"section_load__DKeod"}},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)}},6133:function(e,t,r){"use strict";var n=r(4194);t.Z=function({testId:e="fs-empty-state",title:t,titleIcon:r,variant:o="default",bkgColor:a="default",children:c,...l}){return n.createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":o,"data-fs-empty-state-bkg-color":a,"data-fs-content":"empty-state","data-testid":e,...l},t&&n.createElement("header",{"data-fs-empty-state-title":!0},r&&n.createElement(n.Fragment,null,r),n.createElement("p",null,t)),c)}}},function(e){e.O(0,[6031,9173,7191,9774,2888,179],function(){return e(e.s=9590)}),_N_E=e.O()}]);
|