@faststore/core 2.2.49 → 2.2.51
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 +4 -4
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1gneedd +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/350.js +39 -56
- package/.next/server/chunks/732.js +24 -10
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +39 -56
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/checkout.js.nft.json +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.nft.json +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{lMS5jtivFe-LwSHwft4A1 → EcMI9hKhWC_hpCOHJZCZc}/_buildManifest.js +1 -1
- package/.next/static/chunks/497-f3f10b00c609f0c2.js +1 -0
- package/.next/trace +80 -80
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +9 -9
- package/cms/faststore/sections.json +53 -0
- package/package.json +3 -3
- package/src/components/sections/ProductGallery/EmptyGallery.tsx +27 -8
- package/src/components/sections/ProductGallery/ProductGallery.tsx +7 -2
- package/.next/static/chunks/497-5f7bf41345a56013.js +0 -1
- /package/.next/static/{lMS5jtivFe-LwSHwft4A1 → EcMI9hKhWC_hpCOHJZCZc}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
$ yarn partytown & yarn generate && next build
|
|
2
2
|
$ partytown copylib ./public/~partytown
|
|
3
|
-
Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
|
|
4
3
|
$ faststore generate-graphql -c
|
|
4
|
+
Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
|
|
5
5
|
success - GraphQL schema, types, and optimizations successfully generated 🎉
|
|
6
6
|
warn - You have enabled experimental feature (scrollRestoration) in next.config.js.
|
|
7
7
|
warn - Experimental features are not covered by semver, and may cause unexpected or broken application behavior. Use at your own risk.
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
$ jest
|
|
2
|
-
PASS test/server/index.test.ts (
|
|
2
|
+
PASS test/server/index.test.ts (20.951 s)
|
|
3
3
|
FastStore GraphQL Layer
|
|
4
4
|
@faststore/api
|
|
5
|
-
✓ should return a valid GraphQL schema (
|
|
6
|
-
✓ should return a valid GraphQL schema contain all expected types (
|
|
5
|
+
✓ should return a valid GraphQL schema (6 ms)
|
|
6
|
+
✓ should return a valid GraphQL schema contain all expected types (9 ms)
|
|
7
7
|
✓ should return a valid GraphQL schema contain all expected queries (1 ms)
|
|
8
|
-
✓ should return a valid GraphQL schema contain all expected mutations
|
|
8
|
+
✓ should return a valid GraphQL schema contain all expected mutations
|
|
9
9
|
VTEX API Extension
|
|
10
|
-
✓ getTypeDefsFromFolder function should return an Array (
|
|
10
|
+
✓ getTypeDefsFromFolder function should return an Array (5 ms)
|
|
11
11
|
Third Party API Extension
|
|
12
12
|
✓ getTypeDefsFromFolder function should return an Array (4 ms)
|
|
13
13
|
Final Schema after merging
|
|
14
|
-
✓ should return a valid merged GraphQL schema (
|
|
14
|
+
✓ should return a valid merged GraphQL schema (36 ms)
|
|
15
15
|
Envelop
|
|
16
|
-
✓ should exist with its plugins (
|
|
17
|
-
✓ should handle options and execute (
|
|
16
|
+
✓ should exist with its plugins (43 ms)
|
|
17
|
+
✓ should handle options and execute (545 ms)
|
|
18
18
|
|
|
19
19
|
Test Suites: 1 passed, 1 total
|
|
20
20
|
Tests: 9 passed, 9 total
|
|
21
21
|
Snapshots: 0 total
|
|
22
|
-
Time: 21.
|
|
22
|
+
Time: 21.022 s
|
|
23
23
|
Ran all test suites.
|
|
@@ -1607,6 +1607,59 @@
|
|
|
1607
1607
|
"default": true
|
|
1608
1608
|
}
|
|
1609
1609
|
}
|
|
1610
|
+
},
|
|
1611
|
+
"emptyGallery": {
|
|
1612
|
+
"title": "Empty Gallery",
|
|
1613
|
+
"type": "object",
|
|
1614
|
+
"properties": {
|
|
1615
|
+
"title": {
|
|
1616
|
+
"title": "Title",
|
|
1617
|
+
"type": "string",
|
|
1618
|
+
"default": "Nothing matches with your search"
|
|
1619
|
+
},
|
|
1620
|
+
"firstButton": {
|
|
1621
|
+
"title": "First Button",
|
|
1622
|
+
"type": "object",
|
|
1623
|
+
"properties": {
|
|
1624
|
+
"label": {
|
|
1625
|
+
"type": "string",
|
|
1626
|
+
"title": "Label",
|
|
1627
|
+
"default": "Browse Offers"
|
|
1628
|
+
},
|
|
1629
|
+
"url": {
|
|
1630
|
+
"type": "string",
|
|
1631
|
+
"title": "URL",
|
|
1632
|
+
"default": "/office"
|
|
1633
|
+
},
|
|
1634
|
+
"icon": {
|
|
1635
|
+
"title": "Icon",
|
|
1636
|
+
"type": "string",
|
|
1637
|
+
"default": "CircleWavyWarning"
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1640
|
+
},
|
|
1641
|
+
"secondButton": {
|
|
1642
|
+
"title": "Second Button",
|
|
1643
|
+
"type": "object",
|
|
1644
|
+
"properties": {
|
|
1645
|
+
"label": {
|
|
1646
|
+
"type": "string",
|
|
1647
|
+
"title": "Label",
|
|
1648
|
+
"default": "Just Arrived"
|
|
1649
|
+
},
|
|
1650
|
+
"url": {
|
|
1651
|
+
"type": "string",
|
|
1652
|
+
"title": "URL",
|
|
1653
|
+
"default": "/technology"
|
|
1654
|
+
},
|
|
1655
|
+
"icon": {
|
|
1656
|
+
"title": "Icon",
|
|
1657
|
+
"type": "string",
|
|
1658
|
+
"default": "RocketLaunch"
|
|
1659
|
+
}
|
|
1660
|
+
}
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1610
1663
|
}
|
|
1611
1664
|
}
|
|
1612
1665
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.51",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@envelop/graphql-jit": "^1.1.1",
|
|
38
38
|
"@envelop/parser-cache": "^2.2.0",
|
|
39
39
|
"@envelop/validation-cache": "^2.2.0",
|
|
40
|
-
"@faststore/api": "^2.2.
|
|
40
|
+
"@faststore/api": "^2.2.50",
|
|
41
41
|
"@faststore/components": "^2.2.45",
|
|
42
42
|
"@faststore/graphql-utils": "^2.2.45",
|
|
43
43
|
"@faststore/sdk": "^2.2.45",
|
|
@@ -123,5 +123,5 @@
|
|
|
123
123
|
"node": "18.19.0",
|
|
124
124
|
"yarn": "1.19.1"
|
|
125
125
|
},
|
|
126
|
-
"gitHead": "
|
|
126
|
+
"gitHead": "bda804eedeae69d9ab0929eb160a730548ba0f45"
|
|
127
127
|
}
|
|
@@ -4,21 +4,35 @@ import {
|
|
|
4
4
|
EmptyState as UIEmptyState,
|
|
5
5
|
} from '@faststore/ui'
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
export interface EmptyGalleryProps {
|
|
8
|
+
title?: string
|
|
9
|
+
firstButton?: {
|
|
10
|
+
label: string
|
|
11
|
+
url: string
|
|
12
|
+
icon: string
|
|
13
|
+
}
|
|
14
|
+
secondButton?: {
|
|
15
|
+
label: string
|
|
16
|
+
url: string
|
|
17
|
+
icon: string
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function EmptyGallery({ title, firstButton, secondButton }: EmptyGalleryProps) {
|
|
8
22
|
return (
|
|
9
23
|
<UIEmptyState
|
|
10
24
|
variant="rounded"
|
|
11
|
-
title=
|
|
25
|
+
title={title ?? 'Nothing matches with your search'}
|
|
12
26
|
titleIcon={
|
|
13
27
|
<UIIcon name="CircleWavyWarning" width={56} height={56} weight="thin" />
|
|
14
28
|
}
|
|
15
29
|
>
|
|
16
30
|
<UILinkButton
|
|
17
|
-
href=
|
|
31
|
+
href={firstButton?.url ?? '/office'}
|
|
18
32
|
variant="secondary"
|
|
19
33
|
icon={
|
|
20
34
|
<UIIcon
|
|
21
|
-
name=
|
|
35
|
+
name={firstButton?.icon ?? 'CircleWavyWarning'}
|
|
22
36
|
width={18}
|
|
23
37
|
height={18}
|
|
24
38
|
weight="bold"
|
|
@@ -26,17 +40,22 @@ function EmptyGallery() {
|
|
|
26
40
|
}
|
|
27
41
|
iconPosition="left"
|
|
28
42
|
>
|
|
29
|
-
Browse Offers
|
|
43
|
+
{firstButton?.label ?? 'Browse Offers'}
|
|
30
44
|
</UILinkButton>
|
|
31
45
|
<UILinkButton
|
|
32
|
-
href=
|
|
46
|
+
href={secondButton?.url ?? '/technology'}
|
|
33
47
|
variant="secondary"
|
|
34
48
|
icon={
|
|
35
|
-
<UIIcon
|
|
49
|
+
<UIIcon
|
|
50
|
+
name={secondButton?.icon ?? 'RocketLaunch'}
|
|
51
|
+
width={18}
|
|
52
|
+
height={18}
|
|
53
|
+
weight="bold"
|
|
54
|
+
/>
|
|
36
55
|
}
|
|
37
56
|
iconPosition="left"
|
|
38
57
|
>
|
|
39
|
-
Just Arrived
|
|
58
|
+
{secondButton?.label ?? 'Just Arrived'}
|
|
40
59
|
</UILinkButton>
|
|
41
60
|
</UIEmptyState>
|
|
42
61
|
)
|
|
@@ -4,6 +4,7 @@ import ProductGallery, {
|
|
|
4
4
|
ProductGalleryProps,
|
|
5
5
|
} from 'src/components/ui/ProductGallery/ProductGallery'
|
|
6
6
|
import Section from '../Section'
|
|
7
|
+
import type { EmptyGalleryProps } from './EmptyGallery'
|
|
7
8
|
|
|
8
9
|
import { __experimentalEmptyGallery as EmptyGallery } from 'src/components/sections/ProductGallery/Overrides'
|
|
9
10
|
|
|
@@ -25,9 +26,13 @@ export interface ProductGallerySectionProps {
|
|
|
25
26
|
loadMorePageButton?: ProductGalleryProps['loadMorePageButton']
|
|
26
27
|
sortBySelector?: ProductGalleryProps['sortBySelector']
|
|
27
28
|
productCard?: ProductGalleryProps['productCard']
|
|
29
|
+
emptyGallery?: EmptyGalleryProps
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
function ProductGallerySection({
|
|
32
|
+
function ProductGallerySection({
|
|
33
|
+
emptyGallery,
|
|
34
|
+
...otherProps
|
|
35
|
+
}: ProductGallerySectionProps) {
|
|
31
36
|
const context = usePage<SearchPageContext | PLPContext>()
|
|
32
37
|
const [title, searchTerm] = isSearchPage(context)
|
|
33
38
|
? [context?.data?.title, context?.data?.searchTerm]
|
|
@@ -41,7 +46,7 @@ function ProductGallerySection({ ...otherProps }: ProductGallerySectionProps) {
|
|
|
41
46
|
return (
|
|
42
47
|
<Section className={`${styles.section} section-product-gallery`}>
|
|
43
48
|
<section data-testid="product-gallery" data-fs-product-listing>
|
|
44
|
-
<EmptyGallery.Component />
|
|
49
|
+
<EmptyGallery.Component {...emptyGallery} />
|
|
45
50
|
</section>
|
|
46
51
|
</Section>
|
|
47
52
|
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[497],{6133:function(e,t,r){"use strict";var n=r(2784);t.Z=function({testId:e="fs-empty-state",title:t,titleIcon:r,variant:a="default",bkgColor:o="default",children:l,...i}){return n.createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":a,"data-fs-empty-state-bkg-color":o,"data-fs-content":"empty-state","data-testid":e,...i},t&&n.createElement("header",{"data-fs-empty-state-title":!0},r&&n.createElement(n.Fragment,null,r),n.createElement("p",null,t)),l)}},5699:function(e,t,r){"use strict";var n=r(2784),a=r(1516);t.Z=function({testId:e,title:t,indicesExpanded:r,onAccordionChange:o,children:l}){return n.createElement("div",{"data-fs-filter":!0,"data-testid":e},n.createElement("h2",{"data-fs-filter-title":!0},t),n.createElement(a.Z,{indices:r,onChange:o,"data-fs-filter-accordion":!0},l))}},2815:function(e,t,r){"use strict";var n=r(2784),a=r(4564);t.Z=function({children:e}){return n.createElement(a.Z,{"data-fs-filter-list":!0},e)}},1305:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var n=r(2784);var a=(0,n.forwardRef)((function({testId:e="fs-checkbox",partial:t,...r},a){return n.createElement("input",{ref:a,"data-fs-checkbox":!0,"data-testid":e,"data-fs-checkbox-partial":t,type:"checkbox",...r})})),o=r(1953),l=r(276);var i=function({testId:e,id:t,selected:r,value:i,quantity:s,facetKey:c,label:u,onFacetChange:d}){return n.createElement("li",{key:t,"data-fs-filter-list-item":!0},n.createElement(a,{id:t,checked:r,onChange:()=>d({key:c,value:i},"BOOLEAN"),"data-fs-filter-list-item-checkbox":!0,"data-testid":`${e}-accordion-panel-checkbox`,"data-value":i,"data-quantity":s}),n.createElement(o.Z,{htmlFor:t,className:"text__title-mini-alt","data-fs-filter-list-item-label":!0},u," ",n.createElement(l.Z,{"data-fs-filter-list-item-badge":!0},s)))}},1355:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var n=r(2784);const a=(e,t,r)=>Math.round((e-t)/(r-t)*100);var o=(0,n.forwardRef)((function({min:e,max:t,absoluteValuesLabel:r,onChange:o,onEnd:l,testId:i="fs-slider",getAriaValueText:s,step:c,minValueLabelComponent:u,maxValueLabelComponent:d,...f},m){const p=(0,n.useMemo)((()=>(t.absolute-e.absolute)/100),[t.absolute,e.absolute]),[v,b]=(0,n.useState)((()=>a(e.selected,e.absolute,t.absolute))),[h,g]=(0,n.useState)((()=>a(t.selected,e.absolute,t.absolute))),[y,x]=(0,n.useState)((()=>Math.floor(e.absolute+v*p))),[O,j]=(0,n.useState)((()=>Math.round(e.absolute+h*p))),w=e=>e/t.absolute*100;return(0,n.useImperativeHandle)(m,(()=>({setSliderValues:r=>{const n=Math.min(Number(r.min),O);if(x(n),b(a(n,e.absolute,t.absolute)),r.max>t.absolute)return j(t.absolute),void g(a(t.absolute,e.absolute,t.absolute));const o=Math.max(Number(r.max),y);j(o),g(a(o,e.absolute,t.absolute))}}))),n.createElement("div",{"data-fs-slider":!0,"data-testid":i,...f},n.createElement("div",{"data-fs-slider-absolute-values":!0},n.createElement("span",null,r.min),n.createElement("span",null,r.max)),n.createElement("div",{"data-fs-slider-wrapper":!0},n.createElement("div",{"data-fs-slider-range":!0,style:{left:`${v}%`,width:h-v+"%"}}),n.createElement("input",{type:"range",min:Math.floor(e.absolute),max:Math.round(t.absolute),value:y,step:c,onMouseUp:()=>l?.({min:y,max:O}),onTouchEnd:()=>l?.({min:y,max:O}),onChange:r=>{const n=Math.min(Number(r.target.value),O);x(n),b(a(n,e.absolute,t.absolute)),o?.({min:n,max:O})},"data-fs-slider-thumb":"left","aria-valuemin":e.absolute,"aria-valuemax":t.absolute,"aria-valuenow":y,"aria-label":String(y),"aria-labelledby":s?.(y,"min")}),u&&n.createElement("span",{"data-fs-slider-value-label":"min",style:{left:`calc(${w(y)}% + (${8-.2*w(y)}px))`}},u(y)),n.createElement("input",{type:"range",min:Math.floor(e.absolute),max:Math.round(t.absolute),value:O,step:c,onMouseUp:()=>l?.({min:y,max:O}),onTouchEnd:()=>l?.({min:y,max:O}),onChange:r=>{const n=Math.max(Number(r.target.value),y);j(n),g(a(n,e.absolute,t.absolute)),o?.({min:y,max:n})},"data-fs-slider-thumb":"right","aria-valuemin":e.absolute,"aria-valuemax":t.absolute,"aria-valuenow":O,"aria-label":String(O),"aria-labelledby":s?.(O,"max")}),d&&n.createElement("span",{"data-fs-slider-value-label":"max",style:{left:`calc(${w(O)}% + (${8-.2*w(O)}px))`}},d(O))))})),l=r(9767),i=r(3779);var s=(0,n.forwardRef)((function({formatter:e,max:t,min:r,step:a=1,onChange:s,onEnd:c,testId:u="fs-price-range",variant:d,"aria-label":f,...m},p){const v=(0,n.useRef)();(0,n.useImperativeHandle)(p,(()=>({setPriceRangeValues:e=>{s?.(e),v.current?.setSliderValues(e)}})));const b=(0,n.useRef)(null),h=(0,n.useRef)(null),[g,y]=(0,n.useState)(),[x,O]=(0,n.useState)(),[j,w]=(0,n.useState)({min:Math.floor(r.selected),max:Math.round(t.selected)});return n.createElement("div",{"data-fs-price-range":!0,"data-testid":u,...m},n.createElement(o,{ref:v,min:r,max:t,step:a,onEnd:e=>{c?.(e),function(e){y(void 0),O(void 0),w({min:e.min,max:e.max}),b.current?.value&&(b.current.value=String(e.min)),h.current?.value&&(h.current.value=String(e.max))}(e)},"aria-label":f,onChange:e=>s?.(e),absoluteValuesLabel:{min:n.createElement(l.Z,{value:Math.floor(r.absolute),variant:d,formatter:e}),max:n.createElement(l.Z,{value:Math.round(t.absolute),variant:d,formatter:e})},minValueLabelComponent:t=>n.createElement(l.Z,{value:t,variant:d,formatter:e}),maxValueLabelComponent:t=>n.createElement(l.Z,{value:t,variant:d,formatter:e})}),n.createElement("div",{"data-fs-price-range-inputs":!0},n.createElement(i.Z,{id:"price-range-min",step:a,label:"Min",type:"number",inputMode:"numeric",error:g,inputRef:b,min:Math.floor(r.absolute),max:j.max,value:j.min,onChange:e=>{return t=e.target.value,y(void 0),void(Number(t)<Math.floor(r.absolute)||(Number(t)>Math.floor(j.max)&&y("Min price can't be greater than max"),w({...j,min:Number(t)}),v.current?.setSliderValues({...j,min:Number(t)})));var t},onBlur:()=>!g&&c?.(j)}),n.createElement(i.Z,{id:"price-range-max",label:"Max",step:a,type:"number",inputMode:"numeric",error:x,inputRef:h,max:Math.round(t.absolute),min:j.min,value:j.max,onChange:e=>{return r=e.target.value,O(void 0),void(Number(r)>Math.round(t.absolute)||(Number(r)<Math.round(j.min)&&O("Max price can't be smaller than min"),w({...j,max:Number(r)}),v.current?.setSliderValues({...j,max:Number(r)})));var r},onBlur:()=>!x&&c?.(j)})))}));const c=(e,t)=>`${e.toFixed(2)}-to-${t.toFixed(2)}`;var u=function({min:e,max:t,formatter:r,facetKey:a,onFacetChange:o}){return n.createElement(s,{"data-fs-filter-facet-range":!0,min:e,max:t,formatter:r,step:1,onEnd:e=>o({key:a,value:c(e.min,e.max)},"RANGE")})}},4199:function(e,t,r){"use strict";var n=r(2784),a=r(783),o=r(7734),l=r(7583);t.Z=function({testId:e,label:t,index:r,children:i,type:s}){return n.createElement(a.Z,{key:`${t}-${r}`,prefixId:e,testId:`${e}-accordion`,index:r,"data-type":s,"data-fs-filter-accordion-item":!0},n.createElement(o.Z,{testId:`${e}-accordion-button`},t),n.createElement(l.Z,null,i))}},2390:function(e,t,r){"use strict";r.d(t,{Z:function(){return A}});var n=r(9499),a=r(2784),o=r(4730),l=r(7058),i=r(2614),s=r(727);var c=(0,a.createContext)({isOpen:!1,dropdownButtonRef:null,selectedDropdownItemIndexRef:null,dropdownItemsRef:null,id:"fs-dropdown"});var u=({children:e,isOpen:t=!1,onDismiss:r,id:n="fs-dropdown"})=>{const[o,l]=(0,a.useState)(t),i=(0,a.useRef)([]),s=(0,a.useRef)(0),u=(0,a.useRef)(null),d=(0,a.useCallback)((()=>{l(!1),r?.()}),[r]),f=()=>{l(!0)},m=(0,a.useCallback)((()=>{l((e=>(e&&(r?.(),u.current?.focus()),!e)))}),[r]);(0,a.useEffect)((()=>{l(t)}),[t]),(0,a.useEffect)((()=>{o&&i?.current[0]?.focus()}),[o]),(0,a.useEffect)((()=>{let e=!0;const t=t=>{const r=i?.current.some((e=>t.target===e));e?e=!1:!r&&d()};return o?document.addEventListener("click",t):document.removeEventListener("click",t),()=>{document.removeEventListener("click",t)}}),[d,o]);const p=(0,a.useMemo)((()=>({isOpen:o,close:d,open:f,toggle:m,dropdownButtonRef:u,onDismiss:r,selectedDropdownItemIndexRef:s,dropdownItemsRef:i,id:n})),[d,n,o,r,m]);return a.createElement(c.Provider,{value:p},e)},d=r(3339);const f=()=>{const e=(0,a.useContext)(c);if(void 0===e)throw new Error("Do not use useDropdown hook outside the Dropdown context.");return e};var m=(0,a.forwardRef)((function({testId:e="fs-dropdown-button","aria-label":t,children:r,...n},o){const{toggle:l,dropdownButtonRef:i,isOpen:s,id:c}=f();return(0,a.useImperativeHandle)(o,(()=>i.current),[i]),a.createElement(d.Z,{"data-fs-dropdown-button":!0,onClick:l,"data-testid":e,ref:i,"aria-label":t,"aria-expanded":s,"aria-haspopup":"menu","aria-controls":c,variant:"tertiary",...n},r)})),p=r(8316);var v=({children:e,testId:t="fs-dropdown-menu",size:r="regular",style:n,...o})=>{const{isOpen:l,close:i,dropdownItemsRef:s,selectedDropdownItemIndexRef:c,dropdownButtonRef:u,id:d}=f(),m=(()=>{const{dropdownButtonRef:e}=f(),t="undefined"!==typeof window,r=e?.current?.getBoundingClientRect(),n=r?.top??0,a=r?.height??0,o=r?.left??0;return{position:"absolute",top:n+a+(t?document?.documentElement?.scrollTop:0),left:o+(t?document?.documentElement?.scrollLeft:0)}})(),v=a.Children.toArray(e).length;return l?(0,p.createPortal)(a.createElement("div",{role:"presentation","data-fs-dropdown-overlay":!0,onKeyDown:e=>{e.defaultPrevented||"Enter"===e.key||(e.preventDefault(),"Escape"===e.key&&(i?.(),u?.current?.focus()),"ArrowDown"===e.key&&(c.current<v-1?c.current++:c.current=0,s?.current[c.current]?.focus()),"ArrowUp"===e.key&&(c.current>0?c.current--:c.current=v-1,s?.current[c.current]?.focus()),"Home"===e.key&&(c.current=0,s?.current[c.current]?.focus()),"End"===e.key&&(c.current=v-1,s?.current[c.current]?.focus()),e.stopPropagation())},"data-testid":`${t}-overlay`},a.createElement("div",{role:"menu","aria-orientation":"vertical","data-fs-dropdown-menu":!0,"data-fs-dropdown-menu-size":r,"data-testid":t,style:{...m,...n},id:d,...o},e)),document.body):(s.current=[],null)};var b=(0,a.forwardRef)((function({children:e,icon:t,onClick:r,testId:n="fs-dropdown-item",...o},l){const{dropdownItemsRef:i,selectedDropdownItemIndexRef:s,close:c}=f(),[u,d]=(0,a.useState)(0),m=(0,a.useRef)(),p=()=>{s.current=u,i?.current[s.current]?.focus()};return(0,a.useImperativeHandle)(l,(()=>m.current),[]),a.createElement("button",{"data-fs-dropdown-item":!0,"data-testid":n,ref:e=>{e&&!i?.current.includes(e)&&(i?.current.push(e),d(i?.current.findIndex((t=>t===e))??0)),m.current=e},onFocus:p,onMouseEnter:p,onClick:e=>{r?.(e),c?.()},role:"menuitem",tabIndex:-1,"data-index":u,...o},!!t&&t,e)})),h=r(4564);var g=({divider:e,testId:t})=>{const r={"data-fs-breadcrumb-divider":!0,"aria-hidden":!0,"data-testid":`${t}-divider`};return a.isValidElement(e)?a.cloneElement(e,r):a.createElement("span",{...r},e??"/")};var y=({children:e,isLastItem:t,divider:r,testId:n})=>{const o={"data-testid":`${n}-item`,"data-fs-breadcrumb-item":!t||"current","aria-current":t?"page":void 0};return a.isValidElement(e)?a.createElement("li",{"data-fs-breadcrumb-list-item":!0},a.cloneElement(e,o),t?null:a.createElement(g,{divider:r,testId:n})):a.createElement("li",{"data-fs-breadcrumb-list-item":!0},a.createElement("span",{...o},e,t?null:a.createElement(g,{divider:r,testId:n})))};var x=(0,a.forwardRef)((function({children:e,divider:t="",testId:r="fs-breadcrumb",...n},o){return a.createElement("nav",{"aria-label":"Breadcrumb",role:"navigation",ref:o,"data-fs-breadcrumb":!0,"data-testid":r,...n},a.createElement(h.Z,{as:"ol","data-fs-breadcrumb-list":!0,"data-fs-content":"breadcrumb"},a.Children.toArray(e).map(((e,n,o)=>{const l=n===o.length-1;return a.createElement(y,{isLastItem:l,divider:t,key:`breadcrumb-${n}`,testId:r},e)}))))}));var O=(0,a.forwardRef)((function({children:e,divider:t="",testId:r="fs-breadcrumb",breadcrumbList:n,isDesktop:o=!1,renderLink:l,homeLink:c,dropdownButtonIcon:d=a.createElement(i.Z,{name:"DotsThree"}),collapsedItemsIcon:f=a.createElement(i.Z,{"data-fs-dropdown-item-icon":!0,name:"ArrowElbowDownRight"}),...p},h){const g=o?n[0]:null,y=o?n.slice(1,-2):n.slice(0,-2),O=n.slice(-2),j=n.length>4,w=(0,a.useCallback)((e=>{const t=l?.(e),r=e.collapsed?{"data-fs-breadcrumb-dropdown-link":!0}:{"data-fs-breadcrumb-link":!0};return t?(0,a.cloneElement)(t,{...r,key:e.itemProps.position}):a.createElement(s.Z,{...r,href:e.itemProps.item,key:e.itemProps.position},e.itemProps.name)}),[l]);return a.createElement(x,{ref:h,"data-fs-breadcrumb-is-desktop":o,...p},c,!j&&n.map(((e,t)=>n.length===t+1?a.createElement("span",{key:String(e.position)},e.name):w({itemProps:e,collapsed:!1}))),j&&g&&w({itemProps:g,collapsed:!1}),j&&a.createElement(u,null,a.createElement(m,{"aria-label":"View More","data-fs-breadcrumb-dropdown-button":!0,size:"small"},d),a.createElement(v,{"data-fs-breadcrumb-dropdown-menu":!0},y.map((e=>a.createElement(b,{"data-fs-breadcrumb-dropdown-item":!0,key:String(e.position),icon:f},w({itemProps:e,collapsed:!0})))))),j&&O.map(((e,t)=>O.length===t+1?a.createElement("span",{key:String(e.position)},e.name):w({itemProps:e,collapsed:!1}))))}));var j=({breadcrumbList:e,...t})=>a.createElement(a.Fragment,null,a.createElement(O,{breadcrumbList:e,...t}),a.createElement(O,{breadcrumbList:e,isDesktop:!0,...t})),w=r(7506),P={section:"Breadcrumb"},{Breadcrumb:E,Icon:k}=(0,w.f)({Breadcrumb:j,Icon:i.Z},P),Z=r(2322),C=["icon","alt"];function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var I=e=>{var t,{icon:r=(null!==(t=k.props.name)&&void 0!==t?t:"Home"),alt:n="Go to homepage"}=e,a=(0,o.Z)(e,C);return(0,Z.jsx)(E.Component,_(_({homeLink:(0,Z.jsx)(l.Z,{"data-fs-breadcrumb-link":!0,"data-fs-breadcrumb-link-home":!0,"aria-label":n,href:"/",prefetch:!1,children:(0,Z.jsx)(k.Component,_(_({width:18,height:18,weight:"bold"},k.props),{},{name:r}))}),renderLink:e=>{var{itemProps:{item:t,name:r}}=e;return(0,Z.jsx)(l.Z,{"data-fs-breadcrumb-link":!0,href:t,prefetch:!1,children:r})}},E.props),a))},R=(0,a.memo)(I),D=r(3271),M=r(4579),B=r.n(M),F=r(5953);function L(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function N(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?L(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):L(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function $(e){var t,r,n,a,o,l,i,s,c,u=Object.assign({},e),d=(0,F.qt)(),f=[{item:"/",name:(0,F.OJ)(d)?null===d||void 0===d||null===(t=d.data)||void 0===t||null===(r=t.collection)||void 0===r||null===(n=r.seo)||void 0===n?void 0:n.title:"All Products",position:1}],m=(0,F.tS)(d)?null===d||void 0===d||null===(a=d.data)||void 0===a||null===(o=a.product)||void 0===o||null===(l=o.breadcrumbList)||void 0===l?void 0:l.itemListElement:(0,F.OJ)(d)?null===d||void 0===d||null===(i=d.data)||void 0===i||null===(s=i.collection)||void 0===s||null===(c=s.breadcrumbList)||void 0===c?void 0:c.itemListElement:f;return(0,Z.jsx)(D.Z,{className:"".concat(B().section," section-breadcrumb"),children:(0,Z.jsx)(R,N({breadcrumbList:m},u))})}var A=(0,a.memo)($)},7552:function(e,t,r){"use strict";r.d(t,{hZ:function(){return R},k1:function(){return C},tu:function(){return M},Rm:function(){return D},$B:function(){return Z},gY:function(){return S},k:function(){return _},SZ:function(){return I},m4:function(){return N},oU:function(){return B},H4:function(){return F},zM:function(){return L}});var n=r(2784),a=r(3339),o=r(2614),l=r(792),i=r(3922),s=r(8553),c=r(9499),u=r(3221),d=r(9664),f=r(5699),m=r(4199),p=r(2815),v=r(1305),b=r(1355),h=r(5346),g=r(2322);function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){(0,c.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var O=function(e){var{facets:t,testId:r,dispatch:n,expanded:a,title:o}=e,{resetInfiniteScroll:l,state:i,setState:s}=(0,u.R)();return(0,g.jsx)(f.Z,{testId:"desktop-".concat(r),title:o,indicesExpanded:a,onAccordionChange:e=>n({type:"toggleExpanded",payload:e}),children:t.map(((e,t)=>{var{__typename:n,label:o}=e,c=a.has(t);return(0,g.jsxs)(m.Z,{testId:r,index:t,type:n,label:o,children:["StoreFacetBoolean"===n&&c&&(0,g.jsx)(p.Z,{children:e.values.map((t=>(0,g.jsx)(v.Z,{id:"".concat(r,"-").concat(e.label,"-").concat(t.label),testId:r,onFacetChange:e=>{s(x(x({},i),{},{selectedFacets:(0,d.wB)(i.selectedFacets,e),page:0})),l(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"===n&&c&&(0,g.jsx)(b.Z,{facetKey:e.key,min:e.min,max:e.max,formatter:h.P,onFacetChange:e=>{s(x(x({},i),{},{selectedFacets:(0,d.uL)(i.selectedFacets,e,!0),page:0})),l(0)}})]},"".concat(r,"-").concat(o,"-").concat(t))}))})},j=r(6133);var w=function(){return(0,g.jsxs)(j.Z,{variant:"rounded",title:"Nothing matches with your search",titleIcon:(0,g.jsx)(o.Z,{name:"CircleWavyWarning",width:56,height:56,weight:"thin"}),children:[(0,g.jsx)(i.Z,{href:"/office",variant:"secondary",icon:(0,g.jsx)(o.Z,{name:"CircleWavyWarning",width:18,height:18,weight:"bold"}),iconPosition:"left",children:"Browse Offers"}),(0,g.jsx)(i.Z,{href:"/technology",variant:"secondary",icon:(0,g.jsx)(o.Z,{name:"RocketLaunch",width:18,height:18,weight:"bold"}),iconPosition:"left",children:"Just Arrived"})]})},P=r(7506),E={section:"ProductGallery"},k=(0,n.lazy)((()=>r.e(386).then(r.bind(r,1386)))),{MobileFilterButton:Z,FilterIcon:C,PrevIcon:S,ResultsCountSkeleton:_,SortSkeleton:I,FilterButtonSkeleton:R,LinkButtonPrev:D,LinkButtonNext:M,__experimentalFilterDesktop:B,__experimentalFilterSlider:F,__experimentalProductCard:L,__experimentalEmptyGallery:N}=(0,P.f)({MobileFilterButton:a.Z,FilterIcon:o.Z,PrevIcon:o.Z,ResultsCountSkeleton:l.Z,SortSkeleton:l.Z,FilterButtonSkeleton:l.Z,LinkButtonPrev:i.Z,LinkButtonNext:i.Z,__experimentalFilterDesktop:O,__experimentalFilterSlider:k,__experimentalProductCard:s.Z,__experimentalEmptyGallery:w},E)},815:function(e,t,r){"use strict";r.d(t,{Z:function(){return te}});var n=r(9499),a=r(2541),o=r(3221),l=r(5351),i=r(2784),s=r(6652),c=r(4730),u=r(9664),d=["value"];function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function 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,n.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=(e,t)=>{var{expanded:r,selected:n}=e,{type:a,payload:o}=t;switch(a){case"toggleExpanded":return r.has(o)?r.delete(o):r.add(o),m(m({},e),{},{expanded:new Set(r)});case"selectFacets":if(o!==n)return m(m({},e),{},{selected:o});break;case"toggleFacet":return m(m({},e),{},{selected:(0,u.wB)(e.selected,o)});case"setFacet":return m(m({},e),{},{selected:(0,u.uL)(e.selected,o.facet,o.unique)});default:throw new Error("Action ".concat(a," not implemented"))}return e},v=r(7552),b=r(2322);function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(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,n.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 y=function(e){var t,r,{facets:n,testId:a="fs-filter",filter:l}=e,u=(e=>{var{state:{selectedFacets:t}}=(0,o.R)(),{0:{selected:r,expanded:n},1:a}=(0,i.useReducer)(p,null,(()=>({expanded:new Set([]),selected:t}))),l=(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]),s=(0,i.useMemo)((()=>e.map((e=>"StoreFacetBoolean"===e.__typename?m(m({},e),{},{values:e.values.map((t=>{var r,{value:n}=t;return m(m({},(0,c.Z)(t,d)),{},{value:n,selected:Boolean(null===(r=l.get(e.key))||void 0===r?void 0:r.has(n))})}))}):e))),[e,l]);return(0,i.useEffect)((()=>{a({type:"selectFacets",payload:t})}),[t]),{facets:s,selected:r,expanded:n,dispatch:a}})(n),{filter:f}=(0,s.l)();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"hidden-mobile",children:(0,b.jsx)(v.oU.Component,g(g(g({},v.oU.props),u),{},{testId:a,title:null===l||void 0===l?void 0:l.title}))}),f&&(0,b.jsx)(i.Suspense,{fallback:null,children:(0,b.jsx)(v.H4.Component,g(g(g({},v.H4.props),u),{},{testId:a,title:null===l||void 0===l?void 0:l.title,clearButtonLabel:null===l||void 0===l||null===(t=l.mobileOnly)||void 0===t?void 0:t.clearButtonLabel,applyButtonLabel:null===l||void 0===l||null===(r=l.mobileOnly)||void 0===r?void 0:r.applyButtonLabel}))})]})},x=r(1953),O=r(2614);var j=(0,i.forwardRef)((function({options:e,id:t,testId:r="fs-select",...n},a){return i.createElement("div",{"data-fs-select":!0},i.createElement("select",{ref:a,id:t,"data-testid":r,...n},Object.keys(e).map((t=>i.createElement("option",{key:t,value:t},e[t])))),i.createElement(O.Z,{"data-fs-select-icon":!0,name:"CaretDown"}))}));var w=(0,i.forwardRef)((function({id:e,label:t,options:r,testId:n="fs-select-field",...a},o){return i.createElement("div",{ref:o,"data-fs-select-field":!0},i.createElement(x.Z,{"data-fs-select-field-label":!0,htmlFor:e},t),i.createElement(j,{id:e,options:r,"data-testid":n,...a}))}));function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(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,n.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}var k={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"},Z=Object.keys(k);var C=function(e){var{label:t="Sort by",options:r=k}=e,{state:n,setState:a}=(0,o.R)(),l=Object.keys(r).reduce(((e,t)=>{var n;return e[t]=null!==(n=r[t])&&void 0!==n?n:k[t],e}),{});return(0,b.jsx)(w,{id:"sort-select",className:"sort / text__title-mini-alt",label:t,options:l,onChange:e=>{var t=Z[e.target.selectedIndex];a(E(E({},n),{},{sort:t,page:0}))},value:n.sort,testId:"search-sort"})},S=r(792);var _=function(e){var{children:t,loading:r=!0}=e;return r?(0,b.jsxs)("div",{"data-fs-filter-skeleton":!0,children:[(0,b.jsx)(S.Z,{"data-fs-filter-skeleton-text":!0,size:{width:"100%",height:"1.5rem"}}),(0,b.jsxs)("div",{"data-fs-filter-skeleton-content":!0,children:[(0,b.jsx)(S.Z,{"data-fs-filter-skeleton-text":!0,size:{width:"100%",height:"1.5rem"},shimmer:!1}),(0,b.jsx)(S.Z,{"data-fs-filter-skeleton-text":!0,size:{width:"100%",height:"1.5rem"},shimmer:!1}),(0,b.jsx)(S.Z,{"data-fs-filter-skeleton-text":!0,size:{width:"100%",height:"1.5rem"},shimmer:!1})]})]}):(0,b.jsx)(b.Fragment,{children:t})},I=r(1708),R=r(2339);const D=e=>{const{pathname:t,search:r}=(0,R.Z)(e);return`${t}${r}`};var M=e=>{var t=(e=>{const{pages:t,itemsPerPage:r,state:n}=(0,o.R)(),a=Math.ceil(e/r),l=Number(t[t.length-1])+1,s=t[0]-1;return(0,i.useMemo)((()=>({next:l<a&&{cursor:l,link:D({...n,page:l})},prev:s>-1&&{cursor:s,link:D({...n,page:s})}})),[l,s,n,a])})(e),{0:r,1:n}=(0,i.useState)((()=>({next:!1,prev:!1})));return(0,i.useEffect)((()=>{n(t)}),[t]),r},B=r(5953),F=r(9857),L=r(180),N=r(7732),$=["cache"],A=r(2523);function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var V=(e,t)=>{var r=(0,A.y)(e),{cache:a}=(0,F.kY)();return(0,i.useCallback)((()=>((e,t,r)=>{var{cache:n}=r,a=(0,c.Z)(r,$),o=(0,N.km)(e,t);n.get(o)||(0,F.JG)(o,(0,L.W)(e,t,a))})("ClientManyProductsQuery",r,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({cache:a},t))),[r,a,t])},q=e=>{var{itemsPerPage:t,state:{sort:r,term:n,selectedFacets:a}}=(0,o.R)(),l=V({first:t,after:(t*(null!==e&&void 0!==e?e:0)).toString(),sort:r,term:null!==n&&void 0!==n?n:"",selectedFacets:a});(0,i.useEffect)((()=>{null!==e&&l()}),[e,l])};function z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?z(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):z(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var U=(0,i.lazy)((()=>r.e(800).then(r.bind(r,2800)))),H=(0,b.jsx)(I.Z,{loading:!0});var J=function(e){var t,r,n,a,c,u,d,f,m,p,h,g,x,O,j,w,P,E,{title:k,searchTerm:Z,totalCount:S,searchTermLabel:I,totalCountLabel:R,filter:D,previousPageButton:F,loadMorePageButton:L,sortBySelector:N,productCard:$}=e,{openFilter:A}=(0,s.l)(),{pages:T,addNextPage:V,addPrevPage:z,itemsPerPage:J}=(0,o.R)(),Y=(0,B.qt)(),K=null===Y||void 0===Y?void 0:Y.data,W=null!==(t=(e=>{var t=(0,i.useRef)([]);return(0,i.useMemo)((()=>{var r;return e&&(t.current=null===(r=e.search)||void 0===r?void 0:r.facets),t.current}),[e,t])})(K))&&void 0!==t?t:[],{next:Q,prev:X}=M(S);q(X?X.cursor:null),q(Q?Q.cursor:null);var ee=Boolean(null===K||void 0===K||null===(r=K.search)||void 0===r?void 0:r.facets),te=Boolean(null===K||void 0===K||null===(n=K.search)||void 0===n?void 0:n.products);return(0,b.jsxs)("section",{"data-testid":"product-gallery","data-fs-product-listing":!0,children:[Z&&(0,b.jsx)("header",{"data-fs-product-listing-search-term":!0,"data-fs-content":"product-gallery",children:(0,b.jsxs)("h1",{children:[I," ",(0,b.jsx)("span",{children:Z})]})}),(0,b.jsxs)("div",{"data-fs-product-listing-content-grid":!0,"data-fs-content":"product-gallery",children:[(0,b.jsx)("div",{"data-fs-product-listing-filters":!0,children:(0,b.jsx)(_,{loading:!ee,children:ee&&(null===W||void 0===W?void 0:W.length)>0&&(0,b.jsx)(y,{facets:W,filter:D})})}),(0,b.jsx)("div",{"data-fs-product-listing-results-count":!0,"data-count":S,children:(0,b.jsx)(v.k.Component,G(G({"data-fs-product-listing-results-count-skeleton":!0,size:{width:"100%",height:"1.5rem"}},v.k.props),{},{loading:!te,children:(0,b.jsxs)("h2",{"data-testid":"total-product-count",children:[S," ",R]})}))}),(0,b.jsxs)("div",{"data-fs-product-listing-sort":!0,children:[(0,b.jsx)(v.SZ.Component,G(G({"data-fs-product-listing-sort-skeleton":!0,size:{width:"auto",height:"1.5rem"}},v.SZ.props),{},{loading:!te,children:(0,b.jsx)(C,{label:null===N||void 0===N?void 0:N.label,options:null===N||void 0===N?void 0:N.options})})),(0,b.jsx)(v.hZ.Component,G(G({"data-fs-product-listing-filter-button-skeleton":!0,size:{width:"6rem",height:"1.5rem"}},v.hZ.props),{},{loading:!ee,children:ee&&(null===W||void 0===W?void 0:W.length)>0&&(0,b.jsx)(v.$B.Component,G(G({variant:"tertiary","data-testid":"open-filter-button",icon:(0,b.jsx)(v.k1.Component,G(G({width:16,height:16},v.k1.props),{},{name:null!==(a=null===D||void 0===D||null===(c=D.mobileOnly)||void 0===c||null===(u=c.filterButton)||void 0===u||null===(d=u.icon)||void 0===d?void 0:d.icon)&&void 0!==a?a:v.k1.props.name,"aria-label":null!==(f=null===D||void 0===D||null===(m=D.mobileOnly)||void 0===m||null===(p=m.filterButton)||void 0===p||null===(h=p.icon)||void 0===h?void 0:h.alt)&&void 0!==f?f:v.k1.props["aria-label"]})),iconPosition:"left"},v.$B.props),{},{onClick:A,children:null===D||void 0===D||null===(g=D.mobileOnly)||void 0===g||null===(x=g.filterButton)||void 0===x?void 0:x.label}))}))]}),(0,b.jsxs)("div",{"data-fs-product-listing-results":!0,children:[!1!==X&&(0,b.jsxs)("div",{"data-fs-product-listing-pagination":"top",children:[(0,b.jsx)(l.PB,{additionalLinkTags:[{rel:"prev",href:X.link}]}),(0,b.jsx)(v.Rm.Component,G(G({rel:"prev",variant:"secondary",iconPosition:"left",icon:(0,b.jsx)(v.gY.Component,G(G({width:16,height:16,weight:"bold"},v.gY.props),{},{name:null!==(O=null===F||void 0===F||null===(j=F.icon)||void 0===j?void 0:j.icon)&&void 0!==O?O:v.gY.props.name,"aria-label":null!==(w=null!==(P=null===F||void 0===F||null===(E=F.icon)||void 0===E?void 0:E.alt)&&void 0!==P?P:null===F||void 0===F?void 0:F.label)&&void 0!==w?w:v.gY.props["aria-label"]}))},v.Rm.props),{},{onClick:e=>{e.currentTarget.blur(),e.preventDefault(),z()},href:X.link,children:null===F||void 0===F?void 0:F.label}))]}),te?(0,b.jsx)(i.Suspense,{fallback:H,children:T.map((e=>(0,b.jsx)(U,{page:e,title:k,productCard:$,itemsPerPage:J},"gallery-page-".concat(e))))}):H,!1!==Q&&(0,b.jsxs)("div",{"data-fs-product-listing-pagination":"bottom",children:[(0,b.jsx)(l.PB,{additionalLinkTags:[{rel:"next",href:Q.link}]}),(0,b.jsx)(v.tu.Component,G(G({testId:"show-more",rel:"next",variant:"secondary"},v.tu.props),{},{onClick:e=>{e.currentTarget.blur(),e.preventDefault(),V()},href:Q.link,children:null===L||void 0===L?void 0:L.label}))]})]})]})]})},Y=r(3271),K=r(5053),W=r.n(K);function Q(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(r),!0).forEach((function(t){(0,n.Z)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Q(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ee(e){var t,r,n,a,o,l,i,s,c,u,d,f,m=Object.assign({},e),p=(0,B.qt)(),[h,g]=(0,B.En)(p)?[null===p||void 0===p||null===(t=p.data)||void 0===t?void 0:t.title,null===p||void 0===p||null===(r=p.data)||void 0===r?void 0:r.searchTerm]:(0,B.OJ)(p)?[null===p||void 0===p||null===(n=p.data)||void 0===n||null===(a=n.collection)||void 0===a||null===(o=a.seo)||void 0===o?void 0:o.title]:[""],y=null!==(l=null===p||void 0===p||null===(i=p.data)||void 0===i||null===(s=i.search)||void 0===s||null===(c=s.products)||void 0===c||null===(u=c.pageInfo)||void 0===u?void 0:u.totalCount)&&void 0!==l?l:0;return null!==p&&void 0!==p&&null!==(d=p.data)&&void 0!==d&&null!==(f=d.search)&&void 0!==f&&f.products&&0===y?(0,b.jsx)(Y.Z,{className:"".concat(W().section," section-product-gallery"),children:(0,b.jsx)("section",{"data-testid":"product-gallery","data-fs-product-listing":!0,children:(0,b.jsx)(v.m4.Component,{})})}):(0,b.jsx)(Y.Z,{className:"".concat(W().section," section-product-gallery layout__section"),children:(0,b.jsx)(J,X({title:h,searchTerm:g,totalCount:y},m))})}ee.displayName="ProductGallery";var te=(0,a.B)(ee)},1708:function(e,t,r){"use strict";var n=r(8459),a=r(6531),o=r(2322);t.Z=function(e){var{children:t,aspectRatio:r,loading:l=!0}=e;return l?(0,o.jsx)("ul",{"data-fs-product-grid":!0,children:Array.from({length:n.g},((e,t)=>(0,o.jsx)("li",{children:(0,o.jsx)(a.Z,{aspectRatio:r,bordered:!0})},String(t))))}):(0,o.jsx)(o.Fragment,{children:t})}},5953:function(e,t,r){"use strict";r.d(t,{En:function(){return i},OJ:function(){return l},al:function(){return u},qt:function(){return c},tS:function(){return o}});var n=r(2784),a=r(2322),o=e=>{var t,r,n,a;return void 0!=(null===e||void 0===e||null===(t=e.data)||void 0===t||null===(r=t.product)||void 0===r?void 0:r.sku)&&null!=(null===e||void 0===e||null===(n=e.data)||void 0===n||null===(a=n.product)||void 0===a?void 0:a.sku)},l=e=>{var t,r,n,a,o,l;return void 0!=(null===e||void 0===e||null===(t=e.data)||void 0===t||null===(r=t.collection)||void 0===r?void 0:r.seo)&&null!=(null===e||void 0===e||null===(n=e.data)||void 0===n||null===(a=n.collection)||void 0===a?void 0:a.seo)&&void 0==(null===e||void 0===e||null===(o=e.data)||void 0===o||null===(l=o.collection)||void 0===l?void 0:l.sku)},i=e=>{var t,r;return void 0===e||void 0!=(null===e||void 0===e||null===(t=e.data)||void 0===t?void 0:t.title)||void 0!=(null===e||void 0===e||null===(r=e.data)||void 0===r?void 0:r.searchTerm)},s=(0,n.createContext)(null);function c(){var{context:e}=(0,n.useContext)(s);if(null==e)throw new Error("Missing Overrides context on React tree");return e}var u=()=>c();t.ZP=function(e){var{context:t,children:r}=e,o=(0,n.useMemo)((()=>({context:t})),[t]);return(0,a.jsx)(s.Provider,{value:o,children:r})}},8934:function(e,t,r){"use strict";r.d(t,{Bj:function(){return i},Y_:function(){return u},__:function(){return s}});var n=r(3221),a=r(2784),o=r(7732),l=r(2523),i=(0,a.createContext)((e=>({data:null}))),s=e=>{var t=(0,a.useContext)(i);if(!t)throw new Error("Missing UseGalleryPageContext on React tree");return t(e)},c=e=>JSON.stringify(e),u=()=>{var{0:e,1:t}=(0,a.useState)([]),r=(0,a.useRef)([]),i=(0,a.useRef)([]),s=(0,a.useCallback)((function(e){var{state:{sort:s,term:u,selectedFacets:d},itemsPerPage:f}=(0,n.R)(),m=(0,l.y)({first:f,after:(f*e).toString(),sort:s,term:null!==u&&void 0!==u?u:"",selectedFacets:d}),p=i.current[e]===c(m),{data:v}=(0,o.aM)("ClientManyProductsQuery",m,{fallbackData:null,suspense:!0,doNotRun:p}),b=!p&&null!==v;if(b){i.current[e]=c(m);var h=[...r.current];h[e]=v,r.current=h}return(0,a.useEffect)((()=>{b&&t((t=>{var r=[...t];return r[e]=v,r}))}),[v,e,b]),(0,a.useMemo)((()=>p?{data:r.current[e]}:{data:v}),[p,v,e])}),[]);return(0,a.useMemo)((()=>({pages:e,useGalleryPage:s})),[e,s])}},7433:function(e,t,r){"use strict";r.d(t,{U:function(){return i}});var n=r(1072),a=r(7732),o=r(2523),l=r(7295),i=e=>{var{term:t,sort:r,selectedFacets:i,itemsPerPage:s}=e,{locale:c}=(0,l.kP)(),u=(0,o.y)({first:s,after:"0",sort:r,term:null!==t&&void 0!==t?t:"",selectedFacets:i});return(0,a.aM)("ClientProductGalleryQuery",u,{onSuccess:e=>{var r,a,o,l;e&&t&&(0,n._)({name:"intelligent_search_query",params:{locale:c,term:t,url:window.location.href,logicalOperator:null!==(r=null===(a=e.search.metadata)||void 0===a?void 0:a.logicalOperator)&&void 0!==r?r:"and",isTermMisspelled:null!==(o=null===(l=e.search.metadata)||void 0===l?void 0:l.isTermMisspelled)&&void 0!==o&&o,totalCount:e.search.products.pageInfo.totalCount}})}})}},1523:function(e,t,r){"use strict";r.d(t,{j:function(){return o}});var n=r(2784),a=r(1163),o=()=>{var e=(0,a.useRouter)();return(0,n.useCallback)((t=>e.push("".concat(t.pathname).concat(t.search))),[e])}},4579:function(e){e.exports={section:"section_section__hRV9B"}},5053:function(e){e.exports={section:"section_section__EYj3x",loading:"section_loading__Bzogw"}},1197:function(e,t,r){"use strict";r.d(t,{_:function(){return c},z:function(){return u}});var n=r(2784),a=r(2254);function o(e){try{const t=window.history.state?.key;if(!t)return;const r=`__fs_gallery_page_${t}`;sessionStorage.setItem(r,JSON.stringify(e))}catch(t){return}}const l=(e,t)=>{switch(t.type){case"addPrev":{const t=[e[0]-1,...e];return o(t),t}case"addNext":{const t=Number(e[e.length-1])+1,r=[...e,t];return o(r),r}case"reset":{const{payload:e}=t,r=[e];return o(r),r}default:throw new a.q("Unknown action for infinite search")}},i=e=>{const[t,r]=(0,n.useReducer)(l,void 0,(()=>function(){try{const e=window.history.state?.key;if(!e)return null;const t=`__fs_gallery_page_${e}`,r=sessionStorage.getItem(t);return r?JSON.parse(r):null}catch(e){return null}}()??[e]));return{pages:t,...(0,n.useMemo)((()=>({addPrevPage:()=>r({type:"addPrev"}),addNextPage:()=>r({type:"addNext"}),resetInfiniteScroll:e=>r({type:"reset",payload:e})})),[])}};var s=r(2524);const c=(0,n.createContext)(void 0),u=({children:e,itemsPerPage:t,onChange:r,...a})=>{const{state:o,...l}=(0,s.X)(a,r),{pages:u,...d}=i(o.page),f=(0,n.useMemo)((()=>({state:o,...l,pages:u,...d,itemsPerPage:t})),[d,t,u,l,o]);return n.createElement(c.Provider,{value:f},e)}},9664:function(e,t,r){"use strict";r.d(t,{uL:function(){return l},wB:function(){return i},wb:function(){return o}});var n=r(2254);const a=new Set(["price_desc","price_asc","orders_desc","name_desc","name_asc","release_desc","discount_desc","score_desc"]),o=e=>a.has(e),l=(e,t,r)=>{if(!0===r){const r=e.findIndex((e=>e.key===t.key));if(r>-1)return e.map(((e,n)=>n===r?t:e))}return[...e,t]},i=(e,t)=>void 0!==e.find((e=>e.key===t.key&&e.value===t.value))?((e,t)=>{const{value:r}=t,a=e.findIndex((e=>e.value===r));if(a<0)throw new n.q(`Cannot remove ${r} from search params`);return e.filter(((e,t)=>t!==a))})(e,t):l(e,t,!1)},6142:function(e,t,r){"use strict";r.d(t,{Q:function(){return l}});var n=r(2254),a=r(9664),o=r(2524);const l=({pathname:e,searchParams:t})=>{const r=(0,o.j)({base:e,term:t.get("q")??null,sort:t.get("sort")??void 0,page:Number(t.get("page")??0)});if(!(0,a.wb)(r.sort))throw new n.q(`Uknown sorting option ${r.sort}`);const l=t.get("facets")?.split(",")??[];for(const n of l){const e=t.getAll(n);for(const t of e)r.selectedFacets=(0,a.uL)(r.selectedFacets,{key:n,value:t})}return r}},3221:function(e,t,r){"use strict";r.d(t,{R:function(){return l}});var n=r(1197),a=r(2784),o=r(2254);const l=()=>(e=>{const t=(0,a.useContext)(e);if(void 0===t)throw new o.q(`${e.displayName??"Context"} needs to be on the React tree`);return t})(n._)}}]);
|
|
File without changes
|