@faststore/core 2.0.100-alpha.0 → 2.0.101-alpha.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 +5 -5
- 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/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/4371.js +2 -2
- package/.next/server/chunks/7992.js +2 -2
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/_app.js +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/account.html +2 -2
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/index.js +2 -2
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{_W6shnELbnMsH_iBfBVBe → V0z729OIqsX7azqcAGJ5Q}/_buildManifest.js +1 -1
- package/.next/static/chunks/264-6dc2258a751b3d74.js +1 -0
- package/.next/static/chunks/pages/{_app-d757170e632a6003.js → _app-6dc7b0c168e15d5c.js} +1 -1
- package/.next/trace +65 -65
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +6 -0
- package/cypress/integration/analytics.test.js +77 -62
- package/cypress/integration/cart.test.js +9 -8
- package/cypress/integration/search.test.js +4 -4
- package/package.json +3 -3
- package/src/components/search/Filter/FilterSlider.tsx +2 -2
- package/.next/static/chunks/264-25ec99bbaf5d02b4.js +0 -1
- /package/.next/static/{_W6shnELbnMsH_iBfBVBe → V0z729OIqsX7azqcAGJ5Q}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -24,7 +24,7 @@ info - Finalizing page optimization...
|
|
|
24
24
|
Route (pages) Size First Load JS
|
|
25
25
|
┌ ● / 8.59 kB 117 kB
|
|
26
26
|
├ └ css/43d61b402f41569b.css 1.84 kB
|
|
27
|
-
├ /_app 0 B 96.
|
|
27
|
+
├ /_app 0 B 96.7 kB
|
|
28
28
|
├ ● /[...slug] 9.48 kB 122 kB
|
|
29
29
|
├ └ css/8ea129ea90e49e98.css 1.83 kB
|
|
30
30
|
├ ● /[slug]/p 16.8 kB 125 kB
|
|
@@ -32,8 +32,8 @@ Route (pages) Size First Load JS
|
|
|
32
32
|
├ ○ /404 431 B 102 kB
|
|
33
33
|
├ ○ /500 439 B 102 kB
|
|
34
34
|
├ ○ /account 383 B 102 kB
|
|
35
|
-
├ λ /api/graphql 0 B 96.
|
|
36
|
-
├ λ /api/preview 0 B 96.
|
|
35
|
+
├ λ /api/graphql 0 B 96.7 kB
|
|
36
|
+
├ λ /api/preview 0 B 96.7 kB
|
|
37
37
|
├ ○ /checkout 371 B 102 kB
|
|
38
38
|
├ ○ /login 385 B 102 kB
|
|
39
39
|
└ ○ /s 895 B 113 kB
|
|
@@ -41,7 +41,7 @@ Route (pages) Size First Load JS
|
|
|
41
41
|
+ First Load JS shared by all 119 kB
|
|
42
42
|
├ chunks/framework-dfd14d7ce6600b03.js 45.3 kB
|
|
43
43
|
├ chunks/main-9746772201fe3ac1.js 23.9 kB
|
|
44
|
-
├ chunks/pages/_app-
|
|
44
|
+
├ chunks/pages/_app-6dc7b0c168e15d5c.js 25.3 kB
|
|
45
45
|
├ chunks/webpack-65b155971f3eac57.js 2.18 kB
|
|
46
46
|
└ css/ea60a7e6c07ee644.css 22 kB
|
|
47
47
|
|
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
|
+
## [2.0.101-alpha.0](https://github.com/vtex/faststore/compare/v2.0.100-alpha.0...v2.0.101-alpha.0) (2023-04-05)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- fix tests ([#1705](https://github.com/vtex/faststore/issues/1705)) ([8990310](https://github.com/vtex/faststore/commit/899031022bf6514797f24895ffb7c97e46726217))
|
|
11
|
+
|
|
6
12
|
## [2.0.100-alpha.0](https://github.com/vtex/faststore/compare/v2.0.99-alpha.0...v2.0.100-alpha.0) (2023-04-05)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @faststore/core
|
|
@@ -75,12 +75,15 @@ describe('add_to_cart event', () => {
|
|
|
75
75
|
cy.getById('buy-button')
|
|
76
76
|
.should('be.visible')
|
|
77
77
|
.scrollIntoView({ duration: 500 })
|
|
78
|
-
.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
.then(() => {
|
|
79
|
+
cy.getById('buy-button')
|
|
80
|
+
.click({ force: true })
|
|
81
|
+
.then(($btn) => {
|
|
82
|
+
cy.itemsInCart(1)
|
|
83
|
+
const skuId = $btn.attr('data-sku')
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
testAddToCartEvent({ skuId, numberOfEvents: 1 })
|
|
86
|
+
})
|
|
84
87
|
})
|
|
85
88
|
})
|
|
86
89
|
})
|
|
@@ -96,21 +99,24 @@ describe('add_to_cart event', () => {
|
|
|
96
99
|
cy.getById('buy-button')
|
|
97
100
|
.should('be.visible')
|
|
98
101
|
.scrollIntoView({ duration: 500 })
|
|
99
|
-
.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
102
|
+
.then(() => {
|
|
103
|
+
cy.getById('buy-button')
|
|
104
|
+
.click({ force: true })
|
|
105
|
+
.then(($btn) => {
|
|
106
|
+
cy.itemsInCart(1)
|
|
107
|
+
const skuId = $btn.attr('data-sku')
|
|
103
108
|
|
|
104
|
-
|
|
109
|
+
testAddToCartEvent({ skuId, numberOfEvents: 1 })
|
|
105
110
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
111
|
+
cy.get(
|
|
112
|
+
'[data-testid=fs-cart-item] [data-testid=fs-quantity-selector-right-button]'
|
|
113
|
+
)
|
|
114
|
+
.click()
|
|
115
|
+
.then(() => {
|
|
116
|
+
cy.itemsInCart(2)
|
|
112
117
|
|
|
113
|
-
|
|
118
|
+
testAddToCartEvent({ skuId, numberOfEvents: 2 })
|
|
119
|
+
})
|
|
114
120
|
})
|
|
115
121
|
})
|
|
116
122
|
})
|
|
@@ -160,26 +166,29 @@ describe('remove_from_cart event', () => {
|
|
|
160
166
|
cy.getById('buy-button')
|
|
161
167
|
.should('be.visible')
|
|
162
168
|
.scrollIntoView({ duration: 500 })
|
|
163
|
-
.click()
|
|
164
169
|
.then(() => {
|
|
165
|
-
cy.
|
|
166
|
-
|
|
167
|
-
.
|
|
168
|
-
|
|
169
|
-
|
|
170
|
+
cy.getById('buy-button')
|
|
171
|
+
.click({ force: true })
|
|
172
|
+
.then(() => {
|
|
173
|
+
cy.itemsInCart(1)
|
|
174
|
+
cy.getById('checkout-button')
|
|
175
|
+
.should('be.visible')
|
|
176
|
+
.should('be.enabled')
|
|
177
|
+
cy.itemsInCart(1)
|
|
170
178
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
179
|
+
// Remove the added item
|
|
180
|
+
cy.getById('remove-from-cart-button')
|
|
181
|
+
.click({ force: true })
|
|
182
|
+
.then(($btn) => {
|
|
183
|
+
cy.itemsInCart(0)
|
|
184
|
+
const skuId = $btn.attr('data-sku')
|
|
177
185
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
186
|
+
testRemoveFromCartEvent({
|
|
187
|
+
skuId,
|
|
188
|
+
numberOfEvents: 1,
|
|
189
|
+
quantity: 1,
|
|
190
|
+
})
|
|
191
|
+
})
|
|
183
192
|
})
|
|
184
193
|
})
|
|
185
194
|
})
|
|
@@ -194,13 +203,13 @@ describe('remove_from_cart event', () => {
|
|
|
194
203
|
|
|
195
204
|
// Add item to cart
|
|
196
205
|
cy.get('[data-testid=fs-quantity-selector-right-button]')
|
|
197
|
-
.click()
|
|
206
|
+
.click({ force: true })
|
|
198
207
|
.then(() => {
|
|
199
208
|
cy.getById('buy-button')
|
|
200
209
|
.should('be.visible')
|
|
201
210
|
.scrollIntoView({ duration: 500 })
|
|
202
|
-
.click()
|
|
203
211
|
.then(($btn) => {
|
|
212
|
+
cy.getById('buy-button').click({ force: true })
|
|
204
213
|
cy.itemsInCart(2)
|
|
205
214
|
cy.getById('checkout-button')
|
|
206
215
|
.should('be.visible')
|
|
@@ -211,7 +220,7 @@ describe('remove_from_cart event', () => {
|
|
|
211
220
|
cy.get(
|
|
212
221
|
'[data-testid=fs-cart-item] [data-testid=fs-quantity-selector-left-button]'
|
|
213
222
|
)
|
|
214
|
-
.click()
|
|
223
|
+
.click({ force: true })
|
|
215
224
|
.then(() => {
|
|
216
225
|
cy.itemsInCart(1)
|
|
217
226
|
cy.getById('checkout-button')
|
|
@@ -254,22 +263,26 @@ describe('select_item event', () => {
|
|
|
254
263
|
|
|
255
264
|
let skuId
|
|
256
265
|
|
|
257
|
-
cy.getById('fs-product-card')
|
|
258
|
-
|
|
259
|
-
.
|
|
260
|
-
.scrollIntoView({ duration: 500 })
|
|
261
|
-
.then(($btn) => {
|
|
262
|
-
skuId = $btn.attr('data-sku')
|
|
263
|
-
})
|
|
266
|
+
cy.getById('fs-product-card')
|
|
267
|
+
.first()
|
|
268
|
+
.click()
|
|
264
269
|
.then(() => {
|
|
265
|
-
cy.
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
)
|
|
270
|
+
cy.getById('buy-button')
|
|
271
|
+
.should('be.visible')
|
|
272
|
+
.scrollIntoView({ duration: 0 })
|
|
273
|
+
.then(($btn) => {
|
|
274
|
+
skuId = $btn.attr('data-sku')
|
|
275
|
+
})
|
|
276
|
+
.then(() => {
|
|
277
|
+
cy.window().then((window) => {
|
|
278
|
+
const event = window.dataLayer.find(
|
|
279
|
+
({ event: eventName }) => eventName === 'select_item'
|
|
280
|
+
)
|
|
269
281
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
282
|
+
expect(event).to.exist
|
|
283
|
+
expect(skuId).to.equal(event.ecommerce.items[0].item_variant)
|
|
284
|
+
})
|
|
285
|
+
})
|
|
273
286
|
})
|
|
274
287
|
})
|
|
275
288
|
})
|
|
@@ -347,7 +360,7 @@ describe('search event', () => {
|
|
|
347
360
|
.click()
|
|
348
361
|
.type('shirt')
|
|
349
362
|
.within(() => {
|
|
350
|
-
cy.getById('
|
|
363
|
+
cy.getById('store-input-mobile-button')
|
|
351
364
|
.click()
|
|
352
365
|
.then(() => {
|
|
353
366
|
dataLayerHasEvent('search')
|
|
@@ -383,18 +396,20 @@ describe('view_cart event', () => {
|
|
|
383
396
|
cy.getById('buy-button')
|
|
384
397
|
.should('be.visible')
|
|
385
398
|
.scrollIntoView({ duration: 500 })
|
|
386
|
-
.
|
|
387
|
-
|
|
399
|
+
.then(() => {
|
|
400
|
+
cy.getById('buy-button').click({ force: true })
|
|
401
|
+
cy.getById('cart-sidebar').should('be.visible')
|
|
388
402
|
|
|
389
|
-
|
|
403
|
+
dataLayerHasEvent('view_cart')
|
|
390
404
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
405
|
+
cy.window().then((window) => {
|
|
406
|
+
const event = window.dataLayer.find(
|
|
407
|
+
({ event: eventName }) => eventName === 'view_cart'
|
|
408
|
+
)
|
|
395
409
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
410
|
+
expect(event.ecommerce.value).to.equal(950)
|
|
411
|
+
expect(event.ecommerce.items.length).to.equal(1)
|
|
412
|
+
})
|
|
413
|
+
})
|
|
399
414
|
})
|
|
400
415
|
})
|
|
@@ -57,8 +57,9 @@ describe('On product description pages', () => {
|
|
|
57
57
|
|
|
58
58
|
// Add to cart
|
|
59
59
|
cy.getById('buy-button')
|
|
60
|
-
.
|
|
60
|
+
.scrollIntoView({ duration: 500 })
|
|
61
61
|
.then(($btn) => {
|
|
62
|
+
cy.getById('buy-button').click({ force: true })
|
|
62
63
|
const skuId = $btn.attr('data-sku')
|
|
63
64
|
const sellerId = $btn.attr('data-seller')
|
|
64
65
|
|
|
@@ -66,13 +67,13 @@ describe('On product description pages', () => {
|
|
|
66
67
|
cy.getById('checkout-button')
|
|
67
68
|
.should('be.visible')
|
|
68
69
|
.should('be.enabled')
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
.then(() => {
|
|
71
|
+
cy.getById('fs-cart-item').should(($item) => {
|
|
72
|
+
expect($item.attr('data-sku')).to.eq(skuId)
|
|
73
|
+
expect($item.attr('data-seller')).to.eq(sellerId)
|
|
74
|
+
})
|
|
75
|
+
cy.itemsInCart(1)
|
|
76
|
+
})
|
|
76
77
|
})
|
|
77
78
|
})
|
|
78
79
|
})
|
|
@@ -23,16 +23,16 @@ describe('Search input', () => {
|
|
|
23
23
|
|
|
24
24
|
cy.getById('store-input-mobile-button')
|
|
25
25
|
.should('exist')
|
|
26
|
-
.scrollIntoView({ duration:
|
|
26
|
+
.scrollIntoView({ duration: 0 })
|
|
27
27
|
.click({ force: true })
|
|
28
28
|
|
|
29
29
|
cy.getById('store-input-mobile')
|
|
30
30
|
.should('exist')
|
|
31
|
-
.scrollIntoView({ duration:
|
|
32
|
-
.click()
|
|
31
|
+
.scrollIntoView({ duration: 0 })
|
|
32
|
+
.click({ force: true })
|
|
33
33
|
.type(term)
|
|
34
34
|
.within(() => {
|
|
35
|
-
cy.getById('
|
|
35
|
+
cy.getById('store-input-mobile-button').click()
|
|
36
36
|
})
|
|
37
37
|
|
|
38
38
|
cy.location('search').should((loc) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.101-alpha.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"browserslist": "supports es6-module and not dead",
|
|
6
6
|
"scripts": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@envelop/parser-cache": "^2.2.0",
|
|
31
31
|
"@envelop/validation-cache": "^2.2.0",
|
|
32
32
|
"@faststore/api": "^2.0.97-alpha.0",
|
|
33
|
-
"@faststore/components": "^2.0.
|
|
33
|
+
"@faststore/components": "^2.0.101-alpha.0",
|
|
34
34
|
"@faststore/graphql-utils": "^2.0.3-alpha.0",
|
|
35
35
|
"@faststore/sdk": "^2.0.3-alpha.0",
|
|
36
36
|
"@faststore/ui": "^2.0.99-alpha.0",
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
"msw": {
|
|
109
109
|
"workerDirectory": "public"
|
|
110
110
|
},
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "b7378bff2215b1edab942092e8c4faffbe9b1572"
|
|
112
112
|
}
|
|
@@ -82,7 +82,7 @@ function FilterSlider({
|
|
|
82
82
|
return (
|
|
83
83
|
<UIFilterFacets
|
|
84
84
|
key={`${testId}-${label}-${index}`}
|
|
85
|
-
testId={testId}
|
|
85
|
+
testId={`mobile-${testId}`}
|
|
86
86
|
index={index}
|
|
87
87
|
type={type}
|
|
88
88
|
label={label}
|
|
@@ -93,7 +93,7 @@ function FilterSlider({
|
|
|
93
93
|
<UIFilterFacetBooleanItem
|
|
94
94
|
key={`${testId}-${facet.label}-${item.label}`}
|
|
95
95
|
id={`${testId}-${facet.label}-${item.label}`}
|
|
96
|
-
testId={testId}
|
|
96
|
+
testId={`mobile-${testId}`}
|
|
97
97
|
onFacetChange={(facet) =>
|
|
98
98
|
dispatch({ type: 'toggleFacet', payload: facet })
|
|
99
99
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[264],{7216:function(e,t,r){"use strict";var a=r(2784);const n=(0,a.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)}));t.Z=n},7549:function(e,t,r){"use strict";var a=r(2784),n=r(2691);const s=(0,a.forwardRef)((function({value:e,as:t="span",variant:r="selling",testId:s="fs-price",formatter:o=(e=>e),SRText:c,...i},l){const d=o(e,r);return a.createElement(t,{ref:l,"data-fs-price":!0,"data-fs-price-variant":r,"data-testid":s,...i},c&&a.createElement(n.Z,{text:c}),d)}));t.Z=s},2928:function(e,t,r){"use strict";var a=r(2784);const n=(0,a.forwardRef)((function({testId:e="fs-skeleton",loading:t=!0,shimmer:r=!0,children:n,size:s,border:o,borderRadius:c,...i},l){const d={width:s.width,height:s.height};return t?a.createElement("div",{ref:l,"data-fs-skeleton":!0,"data-testid":e,"data-fs-skeleton-border":o||null,style:c?{...d,borderRadius:c}:d,...i},r&&a.createElement("div",{"data-fs-skeleton-shimmer":!0})):a.createElement(a.Fragment,null,n)}));t.Z=n},8287:function(e,t,r){"use strict";var a=r(2784),n=r(875),s=r(7216),o=r(2765),c=r(5045),i=r(4842);t.Z=({id:e,label:t,type:r="text",error:l,displayClearButton:d,actionable:u,buttonActionText:f="Apply",onSubmit:m,onClear:p,placeholder:b=" ",inputRef:h,disabled:v,value:g,testId:y="fs-input-field",...x})=>{const j=!v&&l&&""!==l,w=u&&!v&&""!==g;return a.createElement("div",{"data-fs-input-field":!0,"data-fs-input-field-actionable":u,"data-fs-input-field-error":l&&""!==l,"data-testid":y},a.createElement(n.Z,{id:e,type:r,value:g,ref:h,disabled:v,placeholder:b,...x}),a.createElement(s.Z,{htmlFor:e},t),w&&(d||l?a.createElement(o.Z,{"data-fs-button-size":"small","aria-label":"Clear Field",icon:a.createElement(c.Z,{name:"XCircle"}),onClick:()=>{p?.(),h?.current?.focus()}}):a.createElement(i.Z,{variant:"tertiary",size:"small",onClick:m},f)),j&&a.createElement("span",{"data-fs-input-field-error-message":!0},l))}},6321:function(e,t,r){"use strict";r.d(t,{_:function(){return c},z:function(){return i}});var a=r(2784),n=r(670);const s=(e,t)=>{switch(t.type){case"addPrev":return[e[0]-1,...e];case"addNext":{const t=Number(e[e.length-1])+1;return[...e,t]}case"reset":{const{payload:e}=t;return[e]}default:throw new n.q("Unknown action for infinite search")}};var o=r(3264);const c=(0,a.createContext)(void 0),i=({children:e,itemsPerPage:t,onChange:r,...n})=>{const{state:i,...l}=(0,o.X)(n,r),{pages:d,...u}=(e=>{const[t,r]=(0,a.useReducer)(s,void 0,(()=>[e]));return{pages:t,...(0,a.useMemo)((()=>({addPrevPage:()=>r({type:"addPrev"}),addNextPage:()=>r({type:"addNext"}),resetInfiniteScroll:e=>r({type:"reset",payload:e})})),[])}})(i.page),f=(0,a.useMemo)((()=>({state:i,...l,pages:d,...u,itemsPerPage:t})),[u,t,d,l,i]);return a.createElement(c.Provider,{value:f},e)}},3425:function(e,t,r){"use strict";r.d(t,{uL:function(){return o},wB:function(){return c},wb:function(){return s}});var a=r(670);const n=new Set(["price_desc","price_asc","orders_desc","name_desc","name_asc","release_desc","discount_desc","score_desc"]),s=e=>n.has(e),o=(e,t,r)=>{if(!0===r){const r=e.findIndex((e=>e.key===t.key));if(r>-1)return e.map(((e,a)=>a===r?t:e))}return[...e,t]},c=(e,t)=>void 0!==e.find((e=>e.key===t.key&&e.value===t.value))?((e,t)=>{const{value:r}=t,n=e.findIndex((e=>e.value===r));if(n<0)throw new a.q(`Cannot remove ${r} from search params`);return e.filter(((e,t)=>0===t||t!==n))})(e,t):o(e,t,!1)},2888:function(e,t,r){"use strict";r.d(t,{Q:function(){return o}});var a=r(670),n=r(3425),s=r(3264);const o=({pathname:e,searchParams:t})=>{const r=(0,s.j)({base:e,term:t.get("q")??null,sort:t.get("sort")??void 0,page:Number(t.get("page")??0)});if(!(0,n.wb)(r.sort))throw new a.q(`Uknown sorting option ${r.sort}`);const o=t.get("facets")?.split(",")??[];for(const a of o){const e=t.getAll(a);for(const t of e)r.selectedFacets=(0,n.uL)(r.selectedFacets,{key:a,value:t})}return r}},7794:function(e,t,r){"use strict";r.d(t,{R:function(){return o}});var a=r(6321),n=r(2784),s=r(670);const o=()=>(e=>{const t=(0,n.useContext)(e);if(void 0!==t)return t;throw new s.q(`${e.displayName??"Context"} needs to be on the React tree`)})(a._)},3769:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var a=r(2784),n=r(120),s=r(8879),o=r(2322);function c(e){var{breadcrumbList:t,name:r}=e,a=null!==t&&void 0!==t?t:[{item:"/",name:r,position:1}];return(0,o.jsx)(s.Z,{className:"layout__content",children:(0,o.jsx)(n.Z,{breadcrumbList:a})})}var i=(0,a.memo)(c)},3343:function(e,t,r){"use strict";r.d(t,{Z:function(){return Ee}});var a=r(7794),n=r(2928),s=r(4842),o=r(7703),c=r(5351),i=r(2784),l=r(395),d=r(5045),u=r(9499),f=r(3425),m=r(9739);var p=function({testId:e,title:t,indicesExpanded:r,onAccordionChange:a,children:n}){return i.createElement("div",{"data-fs-filter":!0,"data-testid":e},i.createElement("h2",{"data-fs-filter-title":!0},t),i.createElement(m.Z,{indices:r,onChange:a,"data-fs-filter-accordion":!0},n))},b=r(997),h=r(7743),v=r(331);var g=function({testId:e,label:t,index:r,children:a,type:n}){return i.createElement(b.Z,{key:`${t}-${r}`,prefixId:e,testId:`${e}-accordion`,index:r,"data-type":n,"data-fs-filter-accordion-item":!0},i.createElement(h.Z,{testId:`${e}-accordion-button`},t),i.createElement(v.Z,null,a))},y=r(1329);var x=function({children:e}){return i.createElement(y.Z,{"data-fs-filter-list":!0},e)};var j=(0,i.forwardRef)((function({testId:e="fs-checkbox",partial:t,...r},a){return i.createElement("input",{ref:a,"data-fs-checkbox":!0,"data-testid":e,"data-fs-checkbox-partial":t,type:"checkbox",...r})})),w=r(7216),k=r(44);var E=function({testId:e,id:t,selected:r,value:a,quantity:n,facetKey:s,label:o,onFacetChange:c}){return i.createElement("li",{key:t,"data-fs-filter-list-item":!0},i.createElement(j,{id:t,checked:r,onChange:()=>c({key:s,value:a},"BOOLEAN"),"data-fs-filter-list-item-checkbox":!0,"data-testid":`${e}-accordion-panel-checkbox`,"data-value":a,"data-quantity":n}),i.createElement(w.Z,{htmlFor:t,className:"text__title-mini-alt","data-fs-filter-list-item-label":!0},o," ",i.createElement(k.Z,{"data-fs-filter-list-item-badge":!0},n)))};const O=(e,t,r)=>Math.round((e-t)/(r-t)*100);var P=(0,i.forwardRef)((function({min:e,max:t,absoluteValuesLabel:r,onChange:a,onEnd:n,testId:s="fs-slider",getAriaValueText:o,step:c,minValueLabelComponent:l,maxValueLabelComponent:d,...u},f){const m=(0,i.useMemo)((()=>(t.absolute-e.absolute)/100),[t.absolute,e.absolute]),[p,b]=(0,i.useState)((()=>O(e.selected,e.absolute,t.absolute))),[h,v]=(0,i.useState)((()=>O(t.selected,e.absolute,t.absolute))),[g,y]=(0,i.useState)((()=>Math.floor(e.absolute+p*m))),[x,j]=(0,i.useState)((()=>Math.round(e.absolute+h*m))),w=e=>e/t.absolute*100;return(0,i.useImperativeHandle)(f,(()=>({setSliderValues:r=>{const a=Math.min(Number(r.min),x);if(y(a),b(O(a,e.absolute,t.absolute)),r.max>t.absolute)return j(t.absolute),void v(O(t.absolute,e.absolute,t.absolute));const n=Math.max(Number(r.max),g);j(n),v(O(n,e.absolute,t.absolute))}}))),i.createElement("div",{"data-fs-slider":!0,"data-testid":s},i.createElement("div",{"data-fs-slider-absolute-values":!0},i.createElement("span",null,r.min),i.createElement("span",null,r.max)),i.createElement("div",{"data-fs-slider-wrapper":!0},i.createElement("div",{"data-fs-slider-range":!0,style:{left:`${p}%`,width:h-p+"%"}}),i.createElement("input",{type:"range",min:Math.floor(e.absolute),max:Math.round(t.absolute),value:g,step:c,onMouseUp:()=>n?.({min:g,max:x}),onTouchEnd:()=>n?.({min:g,max:x}),onChange:r=>{const n=Math.min(Number(r.target.value),x);y(n),b(O(n,e.absolute,t.absolute)),a?.({min:n,max:x})},"data-fs-slider-thumb":"left","aria-valuemin":e.absolute,"aria-valuemax":t.absolute,"aria-valuenow":g,"aria-label":String(g),"aria-labelledby":o?.(g,"min"),...u}),l&&i.createElement("span",{"data-fs-slider-value-label":"min",style:{left:`calc(${w(g)}% + (${8-.2*w(g)}px))`}},l(g)),i.createElement("input",{type:"range",min:Math.floor(e.absolute),max:Math.round(t.absolute),value:x,step:c,onMouseUp:()=>n?.({min:g,max:x}),onTouchEnd:()=>n?.({min:g,max:x}),onChange:r=>{const n=Math.max(Number(r.target.value),g);j(n),v(O(n,e.absolute,t.absolute)),a?.({min:g,max:n})},"data-fs-slider-thumb":"right","aria-valuemin":e.absolute,"aria-valuemax":t.absolute,"aria-valuenow":x,"aria-label":String(x),"aria-labelledby":o?.(x,"max")}),d&&i.createElement("span",{"data-fs-slider-value-label":"max",style:{left:`calc(${w(x)}% + (${8-.2*w(x)}px))`}},d(x))))})),Z=r(7549),_=r(8287);var I=(0,i.forwardRef)((function({formatter:e,max:t,min:r,step:a=1,onChange:n,onEnd:s,testId:o="fs-price-range",variant:c,"aria-label":l,...d},u){const f=(0,i.useRef)();(0,i.useImperativeHandle)(u,(()=>({setPriceRangeValues:e=>{n?.(e),f.current?.setSliderValues(e)}})));const m=(0,i.useRef)(null),p=(0,i.useRef)(null),[b,h]=(0,i.useState)(),[v,g]=(0,i.useState)(),[y,x]=(0,i.useState)({min:Math.floor(r.selected),max:Math.round(t.selected)});return i.createElement("div",{"data-fs-price-range":!0,"data-testid":o,...d},i.createElement(P,{ref:f,min:r,max:t,step:a,onEnd:e=>{s?.(e),function(e){h(void 0),g(void 0),x({min:e.min,max:e.max}),m.current?.value&&(m.current.value=String(e.min)),p.current?.value&&(p.current.value=String(e.max))}(e)},"aria-label":l,onChange:e=>n?.(e),absoluteValuesLabel:{min:i.createElement(Z.Z,{value:Math.floor(r.absolute),variant:c,formatter:e}),max:i.createElement(Z.Z,{value:Math.round(t.absolute),variant:c,formatter:e})},minValueLabelComponent:t=>i.createElement(Z.Z,{value:t,variant:c,formatter:e}),maxValueLabelComponent:t=>i.createElement(Z.Z,{value:t,variant:c,formatter:e})}),i.createElement("div",{"data-fs-price-range-inputs":!0},i.createElement(_.Z,{id:"price-range-min",step:a,label:"Min",type:"number",inputMode:"numeric",error:b,inputRef:m,min:Math.floor(r.absolute),max:y.max,value:y.min,onChange:e=>{return t=e.target.value,h(void 0),void(Number(t)<Math.floor(r.absolute)||(Number(t)>Math.floor(y.max)&&h("Min price can't be greater than max"),x({...y,min:Number(t)}),f.current?.setSliderValues({...y,min:Number(t)})));var t},onBlur:()=>!b&&s?.(y)}),i.createElement(_.Z,{id:"price-range-max",label:"Max",step:a,type:"number",inputMode:"numeric",error:v,inputRef:p,max:Math.round(t.absolute),min:y.min,value:y.max,onChange:e=>{return r=e.target.value,g(void 0),void(Number(r)>Math.round(t.absolute)||(Number(r)<Math.round(y.min)&&g("Max price can't be smaller than min"),x({...y,max:Number(r)}),f.current?.setSliderValues({...y,max:Number(r)})));var r},onBlur:()=>!v&&s?.(y)})))}));const S=(e,t)=>`${e.toFixed(2)}-to-${t.toFixed(2)}`;var C=function({min:e,max:t,formatter:r,facetKey:a,onFacetChange:n}){return i.createElement(I,{"data-fs-filter-facet-range":!0,min:e,max:t,formatter:r,step:1,onEnd:e=>n({key:a,value:S(e.min,e.max)},"RANGE")})},R=r(5346),F=r(2322);function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function N(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?D(Object(r),!0).forEach((function(t){(0,u.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var M=function(e){var{facets:t,testId:r,dispatch:n,expanded:s,title:o}=e,{resetInfiniteScroll:c,state:i,setState:l}=(0,a.R)();return(0,F.jsx)(p,{testId:"desktop-".concat(r),title:o,indicesExpanded:s,onAccordionChange:e=>n({type:"toggleExpanded",payload:e}),children:t.map(((e,t)=>{var{__typename:a,label:n}=e,o=s.has(t);return(0,F.jsxs)(g,{testId:r,index:t,type:a,label:n,children:["StoreFacetBoolean"===a&&o&&(0,F.jsx)(x,{children:e.values.map((t=>(0,F.jsx)(E,{id:"".concat(r,"-").concat(e.label,"-").concat(t.label),testId:r,onFacetChange:e=>{l(N(N({},i),{},{selectedFacets:(0,f.wB)(i.selectedFacets,e),page:0})),c(0)},selected:t.selected,value:t.value,quantity:t.quantity,facetKey:e.key,label:t.label},"".concat(r,"-").concat(e.label,"-").concat(t.label))))}),"StoreFacetRange"===a&&o&&(0,F.jsx)(C,{facetKey:e.key,min:e.min,max:e.max,formatter:R.P,onFacetChange:e=>{l(N(N({},i),{},{selectedFacets:(0,f.uL)(i.selectedFacets,e,!0),page:0})),c(0)}})]},"".concat(r,"-").concat(n,"-").concat(t))}))})},L=r(6074),B=r(1021),z=r(9648);var A=function({title:e,size:t,direction:r,children:a,applyBtnProps:n,clearBtnProps:o,onClose:c}){const{fade:d,fadeOut:u}=(0,L.b)(),{closeFilter:f}=(0,l.l)();return i.createElement(B.Z,{"data-fs-filter-slider":!0,isOpen:!0,fade:d,onDismiss:u,size:t,direction:r,onTransitionEnd:()=>"out"===d&&f()},i.createElement("div",{"data-fs-filter-slider-content":!0},i.createElement(z.Z,{onClose:()=>{c(),u()}},i.createElement("h2",{"data-fs-filter-slider-title":!0},e)),a),i.createElement("footer",{"data-fs-filter-slider-footer":!0},i.createElement(s.Z,{"data-fs-filter-slider-footer-button-clear":!0,...o}),i.createElement(s.Z,{"data-fs-filter-slider-footer-button-apply":!0,"data-testid":"filter-slider-button-apply",...n,onClick:e=>{n?.onClick?.(e),u()}})))};function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function V(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach((function(t){(0,u.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var T=function(e){var{facets:t,testId:r,dispatch:n,expanded:s,selected:o,title:c}=e,{resetInfiniteScroll:i,setState:l,state:d}=(0,a.R)();return(0,F.jsx)(A,{title:c,size:"partial",direction:"rightSide",clearBtnProps:{variant:"secondary",onClick:()=>n({type:"selectFacets",payload:[]}),children:"Clear All"},applyBtnProps:{variant:"primary",onClick:()=>{i(0),l(V(V({},d),{},{selectedFacets:o,page:0}))},children:"Apply"},onClose:()=>{n({type:"selectFacets",payload:d.selectedFacets})},children:(0,F.jsx)(p,{testId:"mobile-".concat(r),indicesExpanded:s,onAccordionChange:e=>n({type:"toggleExpanded",payload:e}),children:t.map(((e,t)=>{var{__typename:a,label:o}=e,c=s.has(t);return(0,F.jsxs)(g,{testId:r,index:t,type:a,label:o,children:["StoreFacetBoolean"===a&&c&&(0,F.jsx)(x,{children:e.values.map((t=>(0,F.jsx)(E,{id:"".concat(r,"-").concat(e.label,"-").concat(t.label),testId:r,onFacetChange:e=>n({type:"toggleFacet",payload:e}),selected:t.selected,value:t.value,quantity:t.quantity,facetKey:e.key,label:t.label},"".concat(r,"-").concat(e.label,"-").concat(t.label))))}),"StoreFacetRange"===a&&c&&(0,F.jsx)(C,{facetKey:e.key,min:e.min,max:e.max,formatter:R.P,onFacetChange:e=>n({type:"setFacet",payload:{facet:e,unique:!0}})})]},"".concat(r,"-").concat(o,"-").concat(t))}))})})},q=r(4730),G=["value"];function H(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function K(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?H(Object(r),!0).forEach((function(t){(0,u.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var U=(e,t)=>{var{expanded:r,selected:a}=e,{type:n,payload:s}=t;switch(n){case"toggleExpanded":return r.has(s)?r.delete(s):r.add(s),K(K({},e),{},{expanded:new Set(r)});case"selectFacets":if(s!==a)return K(K({},e),{},{selected:s});break;case"toggleFacet":return K(K({},e),{},{selected:(0,f.wB)(e.selected,s)});case"setFacet":return K(K({},e),{},{selected:(0,f.uL)(e.selected,s.facet,s.unique)});default:throw new Error("Action ".concat(n," not implemented"))}return e};function W(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?W(Object(r),!0).forEach((function(t){(0,u.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):W(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Q=function(e){var{facets:t,testId:r="fs-filter"}=e,n=(e=>{var{state:{selectedFacets:t}}=(0,a.R)(),{0:{selected:r,expanded:n},1:s}=(0,i.useReducer)(U,null,(()=>({expanded:new Set([]),selected:t}))),o=(0,i.useMemo)((()=>r.reduce(((e,t)=>{var r;return e.has(t.key)||e.set(t.key,new Map),null===(r=e.get(t.key))||void 0===r||r.set(t.value,t),e}),new Map)),[r]),c=(0,i.useMemo)((()=>e.map((e=>"StoreFacetBoolean"===e.__typename?K(K({},e),{},{values:e.values.map((t=>{var r,{value:a}=t;return K(K({},(0,q.Z)(t,G)),{},{value:a,selected:Boolean(null===(r=o.get(e.key))||void 0===r?void 0:r.has(a))})}))}):e))),[e,o]);return(0,i.useEffect)((()=>{s({type:"selectFacets",payload:t})}),[t]),{facets:c,selected:r,expanded:n,dispatch:s}})(t),{filter:s}=(0,l.l)();return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)("div",{className:"hidden-mobile",children:(0,F.jsx)(M,X(X({},n),{},{testId:r,title:"Filters"}))}),s&&(0,F.jsx)(T,X(X({},n),{},{testId:r,title:"Filters"}))]})};var J=(0,i.forwardRef)((function({options:e,id:t,testId:r="fs-select",...a},n){return i.createElement("div",{"data-fs-select":!0},i.createElement("select",{ref:n,id:t,"data-testid":r,...a},Object.keys(e).map((t=>i.createElement("option",{key:t,value:t},e[t])))),i.createElement(d.Z,{"data-fs-select-icon":!0,name:"CaretDown"}))}));var Y=(0,i.forwardRef)((function({id:e,label:t,options:r,testId:a="fs-select-field",...n},s){return i.createElement("div",{ref:s,"data-fs-select-field":!0},i.createElement(w.Z,{"data-fs-select-field-label":!0,htmlFor:e},t),i.createElement(J,{id:e,options:r,"data-testid":a,...n}))}));function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach((function(t){(0,u.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var re={price_desc:"Price, descending",price_asc:"Price, ascending",orders_desc:"Top sales",name_asc:"Name, A-Z",name_desc:"Name, Z-A",release_desc:"Release date",discount_desc:"Discount",score_desc:"Relevance"},ae=Object.keys(re);var ne=function(){var{state:e,setState:t}=(0,a.R)();return(0,F.jsx)(Y,{id:"sort-select",className:"sort / text__title-mini-alt",label:"Sort by",options:re,onChange:r=>{var a=ae[r.target.selectedIndex];t(te(te({},e),{},{sort:a,page:0}))},value:e.sort,testId:"search-sort"})},se=r(4432),oe=r.n(se);var ce=function(e){var{children:t,loading:r=!0}=e;return r?(0,F.jsxs)("div",{className:oe().fsFilterSkeleton,"data-fs-filter-skeleton":!0,children:[(0,F.jsx)(n.Z,{"data-fs-filter-skeleton-text":!0,size:{width:"100%",height:"1.5rem"}}),(0,F.jsxs)("div",{"data-fs-filter-skeleton-content":!0,children:[(0,F.jsx)(n.Z,{"data-fs-filter-skeleton-text":!0,size:{width:"100%",height:"1.5rem"},shimmer:!1}),(0,F.jsx)(n.Z,{"data-fs-filter-skeleton-text":!0,size:{width:"100%",height:"1.5rem"},shimmer:!1}),(0,F.jsx)(n.Z,{"data-fs-filter-skeleton-text":!0,size:{width:"100%",height:"1.5rem"},shimmer:!1})]})]}):(0,F.jsx)(F.Fragment,{children:t})},ie=r(9913),le=r(2541),de=r(8879),ue=r(9509);var fe=function(){return(0,F.jsxs)(ue.Z,{variant:"rounded",children:[(0,F.jsxs)("header",{"data-fs-empty-state-title":!0,children:[(0,F.jsx)(d.Z,{name:"CircleWavyWarning",width:56,height:56,weight:"thin"}),(0,F.jsx)("p",{children:"Nothing matches with your search"})]}),(0,F.jsx)(o.Z,{"data-fs-empty-state-link":!0,href:"/office",variant:"secondary",icon:(0,F.jsx)(d.Z,{name:"CircleWavyWarning",width:18,height:18,weight:"bold"}),iconPosition:"left",children:"Browse Offers"}),(0,F.jsx)(o.Z,{"data-fs-empty-state-link":!0,href:"/technology",variant:"secondary",icon:(0,F.jsx)(d.Z,{name:"RocketLaunch",width:18,height:18,weight:"bold"}),iconPosition:"left",children:"Just Arrived"})]})},me=r(8666),pe=r.n(me),be=r(3364);const he=e=>{const{pathname:t,search:r}=(0,be.Z)(e);return`${t}${r}`};var ve=e=>{var t=(e=>{const{pages:t,itemsPerPage:r,state:n}=(0,a.R)(),s=Math.ceil(e/r),o=Number(t[t.length-1])+1,c=t[0]-1;return(0,i.useMemo)((()=>({next:o<s&&{cursor:o,link:he({...n,page:o})},prev:c>-1&&{cursor:c,link:he({...n,page:c})}})),[o,c,n,s])})(e),{0:r,1:n}=(0,i.useState)((()=>({next:!1,prev:!1})));return(0,i.useEffect)((()=>{n(t)}),[t]),r},ge=r(7732),ye=r(737),xe=r(763),je=(0,i.lazy)((()=>Promise.all([r.e(608),r.e(686)]).then(r.bind(r,8686)))),we=(0,F.jsx)(ie.Z,{loading:!0});function ke(e){var t,{title:r,searchTerm:u}=e,{openFilter:f}=(0,l.l)(),{pages:m,addNextPage:p,addPrevPage:b}=(0,a.R)(),{data:h}=(()=>{var{state:{term:e,sort:t,selectedFacets:r},itemsPerPage:n}=(0,a.R)(),s=(0,ye.yb)({first:n,after:"0",sort:t,term:null!==e&&void 0!==e?e:"",selectedFacets:r});return(0,ge.aM)("ProductGalleryQuery",s)})(),v=(e=>{var t=(0,i.useRef)([]);return(0,i.useMemo)((()=>(e&&(t.current=e.search.facets),t.current)),[e,t])})(h),g=null!==(t=null===h||void 0===h?void 0:h.search.products.pageInfo.totalCount)&&void 0!==t?t:0,{next:y,prev:x}=ve(g);return(0,xe.F)(x?x.cursor:null),(0,xe.F)(y?y.cursor:null),h&&0===g?(0,F.jsx)(de.Z,{"data-testid":"product-gallery",className:"".concat(pe().fsProductListing," layout__content"),"data-fs-product-listing":!0,children:(0,F.jsx)(fe,{})}):(0,F.jsxs)(de.Z,{"data-testid":"product-gallery",className:"".concat(pe().fsProductListing," layout__content-full"),"data-fs-product-listing":!0,children:[u&&(0,F.jsx)("header",{"data-fs-product-listing-search-term":!0,className:"layout__content",children:(0,F.jsxs)("h1",{children:["Showing results for: ",(0,F.jsx)("span",{children:u})]})}),(0,F.jsxs)("div",{"data-fs-product-listing-content-grid":!0,className:"layout__content",children:[(0,F.jsx)("div",{"data-fs-product-listing-filters":!0,children:(0,F.jsx)(ce,{loading:0===(null===v||void 0===v?void 0:v.length),children:(0,F.jsx)(Q,{facets:v})})}),(0,F.jsx)("div",{"data-fs-product-listing-results-count":!0,"data-count":g,children:(0,F.jsx)(n.Z,{"data-fs-product-listing-results-count-skeleton":!0,loading:!h,size:{width:"100%",height:"1.5rem"},children:(0,F.jsxs)("h2",{"data-testid":"total-product-count",children:[g," Results"]})})}),(0,F.jsxs)("div",{"data-fs-product-listing-sort":!0,children:[(0,F.jsx)(n.Z,{"data-fs-product-listing-sort-skeleton":!0,loading:0===(null===v||void 0===v?void 0:v.length),size:{width:"auto",height:"1.5rem"},children:(0,F.jsx)(ne,{})}),(0,F.jsx)(n.Z,{"data-fs-product-listing-filter-button-skeleton":!0,loading:0===(null===v||void 0===v?void 0:v.length),size:{width:"6rem",height:"1.5rem"},children:(0,F.jsx)(s.Z,{variant:"tertiary","data-testid":"open-filter-button",icon:(0,F.jsx)(d.Z,{name:"FadersHorizontal",width:16,height:16}),iconPosition:"left","aria-label":"Open Filters",onClick:f,children:"Filters"})})]}),(0,F.jsxs)("div",{"data-fs-product-listing-results":!0,children:[!1!==x&&(0,F.jsxs)("div",{"data-fs-product-listing-pagination":"top",children:[(0,F.jsx)(c.PB,{additionalLinkTags:[{rel:"prev",href:x.link}]}),(0,F.jsx)(o.Z,{onClick:e=>{e.currentTarget.blur(),e.preventDefault(),b()},href:x.link,rel:"prev",variant:"secondary",iconPosition:"left",icon:(0,F.jsx)(d.Z,{name:"ArrowLeft",width:16,height:16,weight:"bold"}),children:"Previous Page"})]}),h?(0,F.jsx)(i.Suspense,{fallback:we,children:m.map((e=>(0,F.jsx)(je,{showSponsoredProducts:!1,page:e,title:r},"gallery-page-".concat(e))))}):we,!1!==y&&(0,F.jsxs)("div",{"data-fs-product-listing-pagination":"bottom",children:[(0,F.jsx)(c.PB,{additionalLinkTags:[{rel:"next",href:y.link}]}),(0,F.jsx)(o.Z,{testId:"show-more",onClick:e=>{e.currentTarget.blur(),e.preventDefault(),p()},href:y.link,rel:"next",variant:"secondary",children:"Load more products"})]})]})]})]})}ke.displayName="ProductGallery";var Ee=(0,le.B)(ke)},763:function(e,t,r){"use strict";r.d(t,{F:function(){return o},r:function(){return c}});var a=r(7794),n=r(2784),s=r(737),o=e=>{var{itemsPerPage:t,state:{sort:r,term:o,selectedFacets:c}}=(0,a.R)(),i=(0,s.BG)({first:t,after:(t*(null!==e&&void 0!==e?e:0)).toString(),sort:r,term:null!==o&&void 0!==o?o:"",selectedFacets:c});(0,n.useEffect)((()=>{null!==e&&i()}),[e,i])},c=e=>{var{itemsPerPage:t,state:{sort:r,term:n,selectedFacets:o}}=(0,a.R)(),c=(0,s.kN)({first:t,after:(t*e).toString(),sort:r,term:null!==n&&void 0!==n?n:"",selectedFacets:o},{suspense:!0});return null===c||void 0===c?void 0:c.edges}},8879:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var a=r(9499),n=r(4730),s=r(2784),o=r(2322),c=["className"];function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}var l=(0,s.forwardRef)((function(e,t){var{className:r=""}=e,s=(0,n.Z)(e,c);return(0,o.jsx)("section",function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){(0,a.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({ref:t,className:"section ".concat(r)},s))})),d=l},3288:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var a=r(2928),n=r(1237),s=r.n(n),o=r(2322);var c=function(e){var{bordered:t,sectioned:r,displayButton:n,aspectRatio:c=1,variant:i="default"}=e;return(0,o.jsxs)("div",{className:s().fsProductCardSkeleton,"data-fs-product-card-skeleton":!0,"data-fs-product-card-skeleton-variant":i,"data-fs-product-card-skeleton-bordered":t,"data-fs-product-card-skeleton-sectioned":r,children:[(0,o.jsx)("div",{"data-fs-product-card-skeleton-image":!0,style:{"--fs-product-card-skeleton-image-aspect-ratio":c},children:(0,o.jsx)(a.Z,{size:{width:"100%",height:"100%"}})}),(0,o.jsxs)("div",{"data-fs-product-card-skeleton-content":!0,children:[(0,o.jsx)(a.Z,{"data-fs-product-card-skeleton-text":!0,size:{width:"90%",height:"1.5rem"}}),(0,o.jsx)(a.Z,{"data-fs-product-card-skeleton-text":!0,size:{width:"70%",height:"1.5rem"}}),(0,o.jsx)(a.Z,{"data-fs-product-card-skeleton-badge":!0,size:{width:"6rem",height:"2rem"},border:"pill"}),n&&(0,o.jsx)(a.Z,{"data-fs-product-card-skeleton-button":!0,size:{width:"6rem",height:"2rem"},style:{columnGap:".75rem"}})]})]})}},9913:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var a=r(8459),n=r(2981),s=r.n(n),o=r(3288),c=r(2322);var i=function(e){var{children:t,aspectRatio:r,loading:n=!0}=e;return n?(0,c.jsx)("ul",{className:s().fsProductGrid,children:Array.from({length:a.g},((e,t)=>(0,c.jsx)("li",{children:(0,c.jsx)(o.Z,{aspectRatio:r,bordered:!0})},String(t))))}):(0,c.jsx)(c.Fragment,{children:t})}},120:function(e,t,r){"use strict";r.d(t,{Z:function(){return _}});var a=r(9499),n=r(4730),s=r(2784),o=r(5045),c=r(7865);var i=(0,s.createContext)({isOpen:!1,dropdownButtonRef:null,selectedDropdownItemIndexRef:null,dropdownItemsRef:null,id:"fs-dropdown"});var l=({children:e,isOpen:t=!1,onDismiss:r,id:a="fs-dropdown"})=>{const[n,o]=(0,s.useState)(t),c=(0,s.useRef)([]),l=(0,s.useRef)(0),d=(0,s.useRef)(null),u=(0,s.useCallback)((()=>{o(!1),r?.()}),[r]),f=()=>{o(!0)},m=(0,s.useCallback)((()=>{o((e=>(e&&(r?.(),d.current?.focus()),!e)))}),[r]);(0,s.useEffect)((()=>{o(t)}),[t]),(0,s.useEffect)((()=>{n&&c?.current[0]?.focus()}),[n]),(0,s.useEffect)((()=>{let e=!0;const t=t=>{const r=c?.current.some((e=>t.target===e));e?e=!1:!r&&u()};return n?document.addEventListener("click",t):document.removeEventListener("click",t),()=>{document.removeEventListener("click",t)}}),[u,n]);const p=(0,s.useMemo)((()=>({isOpen:n,close:u,open:f,toggle:m,dropdownButtonRef:d,onDismiss:r,selectedDropdownItemIndexRef:l,dropdownItemsRef:c,id:a})),[u,a,n,r,m]);return s.createElement(i.Provider,{value:p},e)},d=r(4842);const u=()=>{const e=(0,s.useContext)(i);if(void 0===e)throw new Error("Do not use useDropdown hook outside the Dropdown context.");return e};var f=(0,s.forwardRef)((function({children:e,testId:t="fs-dropdown-button",...r},a){const{toggle:n,dropdownButtonRef:o,isOpen:c,id:i}=u();return(0,s.useImperativeHandle)(a,(()=>o.current),[o]),s.createElement(d.Z,{"data-fs-dropdown-button":!0,onClick:n,"data-testid":t,ref:o,"aria-expanded":c,"aria-haspopup":"menu","aria-controls":i,variant:"tertiary",...r},e)})),m=r(8316);var p=({children:e,testId:t="fs-dropdown-menu",size:r="regular",style:a,...n})=>{const{isOpen:o,close:c,dropdownItemsRef:i,selectedDropdownItemIndexRef:l,dropdownButtonRef:d,id:f}=u(),p=(()=>{const{dropdownButtonRef:e}=u(),t="undefined"!==typeof window,r=e?.current?.getBoundingClientRect(),a=r?.top??0,n=r?.height??0,s=r?.left??0;return{position:"absolute",top:a+n+(t?document?.documentElement?.scrollTop:0),left:s+(t?document?.documentElement?.scrollLeft:0)}})(),b=s.Children.toArray(e).length;return o?(0,m.createPortal)(s.createElement("div",{role:"presentation","data-fs-dropdown-overlay":!0,onKeyDown:e=>{e.defaultPrevented||"Enter"===e.key||(e.preventDefault(),"Escape"===e.key&&(c?.(),d?.current?.focus()),"ArrowDown"===e.key&&(l.current<b-1?l.current++:l.current=0,i?.current[l.current]?.focus()),"ArrowUp"===e.key&&(l.current>0?l.current--:l.current=b-1,i?.current[l.current]?.focus()),"Home"===e.key&&(l.current=0,i?.current[l.current]?.focus()),"End"===e.key&&(l.current=b-1,i?.current[l.current]?.focus()),e.stopPropagation())},"data-testid":`${t}-overlay`},s.createElement("div",{role:"menu","aria-orientation":"vertical","data-fs-dropdown-menu":!0,"data-fs-dropdown-menu-size":r,"data-testid":t,style:{...p,...a},id:f,...n},e)),document.body):(i.current=[],null)};var b=(0,s.forwardRef)((function({children:e,icon:t,onClick:r,testId:a="fs-dropdown-item",...n},o){const{dropdownItemsRef:c,selectedDropdownItemIndexRef:i,close:l}=u(),[d,f]=(0,s.useState)(0),m=(0,s.useRef)(),p=()=>{i.current=d,c?.current[i.current]?.focus()};return(0,s.useImperativeHandle)(o,(()=>m.current),[]),s.createElement("button",{"data-fs-dropdown-item":!0,"data-testid":a,ref:e=>{e&&!c?.current.includes(e)&&(c?.current.push(e),f(c?.current.findIndex((t=>t===e))??0)),m.current=e},onFocus:p,onMouseEnter:p,onClick:e=>{r?.(e),l?.()},role:"menuitem",tabIndex:-1,"data-index":d,...n},s.isValidElement(t)&&t,e)})),h=r(1329);var v=({divider:e,testId:t})=>{const r={"data-fs-breadcrumb-divider":!0,"aria-hidden":!0,"data-testid":`${t}-divider`};return s.isValidElement(e)?s.cloneElement(e,r):s.createElement("span",{...r},e??"/")};var g=({children:e,isLastItem:t,divider:r,testId:a})=>{const n={"data-testid":`${a}-item`,"data-fs-breadcrumb-item":!t||"current","aria-current":t?"page":void 0};return s.isValidElement(e)?s.createElement("li",{"data-fs-breadcrumb-list-item":!0},s.cloneElement(e,n),t?null:s.createElement(v,{divider:r,testId:a})):s.createElement("li",{"data-fs-breadcrumb-list-item":!0},s.createElement("span",{...n},e,t?null:s.createElement(v,{divider:r,testId:a})))};var y=(0,s.forwardRef)((function({children:e,divider:t="",testId:r="fs-breadcrumb",...a},n){return s.createElement("nav",{"aria-label":"Breadcrumb",role:"navigation",ref:n,"data-fs-breadcrumb":!0,"data-testid":r,...a},s.createElement(h.Z,{as:"ol","data-fs-breadcrumb-list":!0},s.Children.toArray(e).map(((e,a,n)=>{const o=a===n.length-1;return s.createElement(g,{isLastItem:o,divider:t,key:`breadcrumb-${a}`,testId:r},e)}))))}));var x=()=>s.createElement(c.Z,{"data-fs-breadcrumb-link":!0,"data-fs-breadcrumb-link-home":!0,"aria-label":"Go to homepage",href:"/"},s.createElement(o.Z,{name:"House",width:18,height:18}));var j=(0,s.forwardRef)((function({children:e,divider:t="",testId:r="fs-breadcrumb",breadcrumbList:a,isDesktop:n=!1,renderLink:i,homeLink:d=s.createElement(x,null),dropdownButtonIcon:u=s.createElement(o.Z,{name:"DotsThree"}),collapsedItemsIcon:m=s.createElement(o.Z,{"data-fs-dropdown-item-icon":!0,name:"ArrowElbowDownRight"}),...h},v){const g=(0,s.cloneElement)(d,{"data-fs-breadcrumb-link":!0,"data-fs-breadcrumb-link-home":!0,"aria-label":"Go to homepage",href:"/"}),j=n?a[0]:null,w=n?a.slice(1,-2):a.slice(0,-2),k=a.slice(-2),E=a.length>4,O=(0,s.useCallback)((e=>{const t=i?.(e),r=e.collapsed?{"data-fs-breadcrumb-dropdown-link":!0}:{"data-fs-breadcrumb-link":!0};return t?(0,s.cloneElement)(t,{...r,key:e.itemProps.position}):s.createElement(c.Z,{...r,href:e.itemProps.item,key:e.itemProps.position},e.itemProps.name)}),[i]);return s.createElement(y,{ref:v,"data-fs-breadcrumb-is-desktop":n,...h},g,!E&&a.map(((e,t)=>a.length===t+1?s.createElement("span",{key:String(e.position)},e.name):O({itemProps:e,collapsed:!1}))),E&&j&&O({itemProps:j,collapsed:!1}),E&&s.createElement(l,null,s.createElement(f,{"data-fs-breadcrumb-dropdown-button":!0,size:"small"},u),s.createElement(p,{"data-fs-breadcrumb-dropdown-menu":!0},w.map((e=>s.createElement(b,{"data-fs-breadcrumb-dropdown-item":!0,key:String(e.position),icon:m},O({itemProps:e,collapsed:!0})))))),E&&k.map(((e,t)=>k.length===t+1?s.createElement("span",{key:String(e.position)},e.name):O({itemProps:e,collapsed:!1}))))}));var w=({breadcrumbList:e,...t})=>s.createElement(s.Fragment,null,s.createElement(j,{breadcrumbList:e,...t}),s.createElement(j,{breadcrumbList:e,isDesktop:!0,...t})),k=r(1093),E=r(2322),O=["breadcrumbList"];function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}var Z=e=>{var{breadcrumbList:t}=e,r=(0,n.Z)(e,O);return(0,E.jsx)(w,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach((function(t){(0,a.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({breadcrumbList:t,homeLink:(0,E.jsx)(k.Z,{"aria-label":"Go to homepage",href:"/",children:(0,E.jsx)(o.Z,{name:"House",width:18,height:18,weight:"bold"})}),renderLink:e=>{var{itemProps:{item:t,name:r}}=e;return(0,E.jsx)(k.Z,{"data-fs-breadcrumb-link":!0,href:t,children:r})}},r))},_=(0,s.memo)(Z)},9509:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var a=r(1313),n=r.n(a),s=r(2322);var o=function(e){var{children:t,variant:r="default"}=e;return(0,s.jsx)("section",{className:n().fsEmptyState,"data-fs-empty-state":!0,"data-fs-empty-state-variant":r,children:t})}},8459:function(e,t,r){"use strict";r.d(t,{K:function(){return n},g:function(){return a}});var a=12,n=5},5346:function(e,t,r){"use strict";r.d(t,{P:function(){return s}});var a=r(2784),n=r(5914),s=e=>{var t=function(){var{decimals:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{currency:t,locale:r}=(0,n.kP)();return(0,a.useCallback)((a=>Intl.NumberFormat(r,{style:"currency",currency:t.code,minimumFractionDigits:e?2:0}).format(a)),[t.code,r,e])}();return(0,a.useMemo)((()=>t(e)),[t,e])}},737:function(e,t,r){"use strict";r.d(t,{yb:function(){return b},kN:function(){return h},BG:function(){return v}});var a=r(9499),n=r(2784),s=r(9857),o=r(8459),c=r(4730),i=r(180),l=r(7732),d=["cache"],u=r(5914);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){(0,a.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var p="ProductsQuery",b=e=>{var{first:t,after:r,sort:a,term:s,selectedFacets:c}=e,{channel:i,locale:l}=(0,u.kP)();return(0,n.useMemo)((()=>{var e,n=(e=c,Array.isArray(e)?e:e?[e]:[]);return{first:null!==t&&void 0!==t?t:o.K,after:null!==r&&void 0!==r?r:"0",sort:null!==a&&void 0!==a?a:"score_desc",term:null!==s&&void 0!==s?s:"",selectedFacets:[...n,{key:"channel",value:null!==i&&void 0!==i?i:""},{key:"locale",value:l}]}}),[c,t,r,a,s,i,l])},h=(e,t)=>{var r,a=b(e),{data:n}=(0,l.aM)(p,a,m({fallbackData:null,suspense:!0},t));return null===n||void 0===n||null===(r=n.search)||void 0===r?void 0:r.products},v=(e,t)=>{var r=b(e),{cache:a}=(0,s.kY)();return(0,n.useCallback)((()=>((e,t,r)=>{var{cache:a}=r,n=(0,c.Z)(r,d),o=(0,l.km)(e,t);a.get(o)||(0,s.JG)(o,(0,i.W)(e,t,n))})(p,r,m({cache:a},t))),[r,a,t])}},1523:function(e,t,r){"use strict";r.d(t,{j:function(){return s}});var a=r(2784),n=r(1163),s=()=>{var e=(0,n.useRouter)();return(0,a.useCallback)((t=>e.push("".concat(t.pathname).concat(t.search))),[e])}},2981:function(e){e.exports={"fs-product-grid":"product-grid_fs-product-grid__SF25P",fsProductGrid:"product-grid_fs-product-grid__SF25P"}},8666:function(e){e.exports={"fs-product-listing":"product-gallery_fs-product-listing__BBpw4",fsProductListing:"product-gallery_fs-product-listing__BBpw4"}},4432:function(e){e.exports={"fs-filter-skeleton":"filter-skeleton_fs-filter-skeleton___kwHE",fsFilterSkeleton:"filter-skeleton_fs-filter-skeleton___kwHE"}},1237:function(e){e.exports={"fs-product-card-skeleton":"product-card-skeleton_fs-product-card-skeleton__fPdHb",fsProductCardSkeleton:"product-card-skeleton_fs-product-card-skeleton__fPdHb"}},1313:function(e){e.exports={"fs-empty-state":"empty-state_fs-empty-state__F7Xul",fsEmptyState:"empty-state_fs-empty-state__F7Xul"}}}]);
|
|
File without changes
|