@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.
Files changed (37) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +5 -5
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/prerender-manifest.json +1 -1
  11. package/.next/routes-manifest.json +1 -1
  12. package/.next/server/chunks/4371.js +2 -2
  13. package/.next/server/chunks/7992.js +2 -2
  14. package/.next/server/middleware-build-manifest.js +1 -1
  15. package/.next/server/pages/_app.js +1 -1
  16. package/.next/server/pages/en-US/404.html +2 -2
  17. package/.next/server/pages/en-US/500.html +2 -2
  18. package/.next/server/pages/en-US/account.html +2 -2
  19. package/.next/server/pages/en-US/checkout.html +2 -2
  20. package/.next/server/pages/en-US/login.html +2 -2
  21. package/.next/server/pages/en-US/s.html +2 -2
  22. package/.next/server/pages/en-US.html +2 -2
  23. package/.next/server/pages/index.js +2 -2
  24. package/.next/server/pages-manifest.json +1 -1
  25. package/.next/static/{_W6shnELbnMsH_iBfBVBe → V0z729OIqsX7azqcAGJ5Q}/_buildManifest.js +1 -1
  26. package/.next/static/chunks/264-6dc2258a751b3d74.js +1 -0
  27. package/.next/static/chunks/pages/{_app-d757170e632a6003.js → _app-6dc7b0c168e15d5c.js} +1 -1
  28. package/.next/trace +65 -65
  29. package/.turbo/turbo-build.log +4 -4
  30. package/CHANGELOG.md +6 -0
  31. package/cypress/integration/analytics.test.js +77 -62
  32. package/cypress/integration/cart.test.js +9 -8
  33. package/cypress/integration/search.test.js +4 -4
  34. package/package.json +3 -3
  35. package/src/components/search/Filter/FilterSlider.tsx +2 -2
  36. package/.next/static/chunks/264-25ec99bbaf5d02b4.js +0 -1
  37. /package/.next/static/{_W6shnELbnMsH_iBfBVBe → V0z729OIqsX7azqcAGJ5Q}/_ssgManifest.js +0 -0
@@ -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.6 kB
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.6 kB
36
- ├ λ /api/preview 0 B 96.6 kB
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-d757170e632a6003.js 25.3 kB
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
- .click()
79
- .then(($btn) => {
80
- cy.itemsInCart(1)
81
- const skuId = $btn.attr('data-sku')
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
- testAddToCartEvent({ skuId, numberOfEvents: 1 })
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
- .click()
100
- .then(($btn) => {
101
- cy.itemsInCart(1)
102
- const skuId = $btn.attr('data-sku')
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
- testAddToCartEvent({ skuId, numberOfEvents: 1 })
109
+ testAddToCartEvent({ skuId, numberOfEvents: 1 })
105
110
 
106
- cy.get(
107
- '[data-testid=fs-cart-item] [data-testid=fs-quantity-selector-right-button]'
108
- )
109
- .click()
110
- .then(() => {
111
- cy.itemsInCart(2)
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
- testAddToCartEvent({ skuId, numberOfEvents: 2 })
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.itemsInCart(1)
166
- cy.getById('checkout-button')
167
- .should('be.visible')
168
- .should('be.enabled')
169
- cy.itemsInCart(1)
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
- // Remove the added item
172
- cy.getById('remove-from-cart-button')
173
- .click()
174
- .then(($btn) => {
175
- cy.itemsInCart(0)
176
- const skuId = $btn.attr('data-sku')
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
- testRemoveFromCartEvent({
179
- skuId,
180
- numberOfEvents: 1,
181
- quantity: 1,
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').first().click()
258
- cy.getById('buy-button')
259
- .should('be.visible')
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.window().then((window) => {
266
- const event = window.dataLayer.find(
267
- ({ event: eventName }) => eventName === 'select_item'
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
- expect(event).to.exist
271
- expect(skuId).to.equal(event.ecommerce.items[0].item_variant)
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('fs-button')
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
- .click()
387
- cy.getById('cart-sidebar').should('be.visible')
399
+ .then(() => {
400
+ cy.getById('buy-button').click({ force: true })
401
+ cy.getById('cart-sidebar').should('be.visible')
388
402
 
389
- dataLayerHasEvent('view_cart')
403
+ dataLayerHasEvent('view_cart')
390
404
 
391
- cy.window().then((window) => {
392
- const event = window.dataLayer.find(
393
- ({ event: eventName }) => eventName === 'view_cart'
394
- )
405
+ cy.window().then((window) => {
406
+ const event = window.dataLayer.find(
407
+ ({ event: eventName }) => eventName === 'view_cart'
408
+ )
395
409
 
396
- expect(event.ecommerce.value).to.equal(950)
397
- expect(event.ecommerce.items.length).to.equal(1)
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
- .click()
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
- cy.getById('fs-cart-item').should(($item) => {
71
- expect($item.attr('data-sku')).to.eq(skuId)
72
- expect($item.attr('data-seller')).to.eq(sellerId)
73
- })
74
-
75
- cy.itemsInCart(1)
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: 500 })
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: 500 })
32
- .click()
31
+ .scrollIntoView({ duration: 0 })
32
+ .click({ force: true })
33
33
  .type(term)
34
34
  .within(() => {
35
- cy.getById('fs-button').click()
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.100-alpha.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.99-alpha.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": "68d3a8bb6dc397014f6014ffd8223c0e2ef380ed"
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"}}}]);