@faststore/core 3.65.0 → 3.65.2
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 +3 -3
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/2445.js +1 -22
- package/.next/server/chunks/{3412.js → 4168.js} +1 -1
- package/.next/server/chunks/9563.js +1 -1
- package/.next/server/chunks/9630.js +395 -0
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +1 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/account/403.js +1 -1
- package/.next/server/pages/account/403.js.nft.json +1 -1
- package/.next/server/pages/account/404.js +1 -1
- package/.next/server/pages/account/404.js.nft.json +1 -1
- package/.next/server/pages/account/[...unknown].js +1 -1
- package/.next/server/pages/account/[...unknown].js.nft.json +1 -1
- package/.next/server/pages/account/orders/[id].js +1 -1
- package/.next/server/pages/account/orders/[id].js.nft.json +1 -1
- package/.next/server/pages/account/orders.js +1 -1
- package/.next/server/pages/account/orders.js.nft.json +1 -1
- package/.next/server/pages/account/profile.js +1 -1
- package/.next/server/pages/account/profile.js.nft.json +1 -1
- package/.next/server/pages/account/security.js +1 -1
- package/.next/server/pages/account/security.js.nft.json +1 -1
- package/.next/server/pages/account/user-details.js +1 -1
- package/.next/server/pages/account/user-details.js.nft.json +1 -1
- package/.next/server/pages/account.js +1 -1
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js.nft.json +1 -1
- package/.next/server/pages/api/health/ready.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js.nft.json +1 -1
- package/.next/server/pages/checkout.js +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/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 +1 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/chunks/pages/_app-1885a948b243078c.js +1 -0
- package/.next/trace +132 -131
- package/.turbo/turbo-build.log +31 -31
- package/.turbo/turbo-test.log +5 -5
- package/CHANGELOG.md +10 -0
- package/package.json +3 -3
- package/src/pages/_app.tsx +4 -1
- package/src/pages/_document.tsx +0 -2
- package/.next/server/chunks/6011.js +0 -374
- package/.next/static/chunks/pages/_app-1c533ab202b7acef.js +0 -1
- /package/.next/static/{czdZM7l3yYhwzU9FTEtWh → uTGLMZTZ3r9iTQ1Xoztdx}/_buildManifest.js +0 -0
- /package/.next/static/{czdZM7l3yYhwzU9FTEtWh → uTGLMZTZ3r9iTQ1Xoztdx}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.
|
|
2
|
+
> @faststore/core@3.65.1 prebuild /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> na run partytown && na run generate
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @faststore/core@3.
|
|
6
|
+
> @faststore/core@3.65.1 partytown /home/runner/work/faststore/faststore/packages/core
|
|
7
7
|
> partytown copylib ./public/~partytown
|
|
8
8
|
|
|
9
9
|
Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
|
|
10
10
|
|
|
11
|
-
> @faststore/core@3.
|
|
11
|
+
> @faststore/core@3.65.1 generate /home/runner/work/faststore/faststore/packages/core
|
|
12
12
|
> na run generate:schema && na run generate:codegen && na run format:generated
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
> @faststore/core@3.
|
|
15
|
+
> @faststore/core@3.65.1 generate:schema /home/runner/work/faststore/faststore/packages/core
|
|
16
16
|
> tsx src/server/generator/generateGraphQLSchemaFile.ts
|
|
17
17
|
|
|
18
18
|
Schema GraphQL file generated successfully
|
|
19
19
|
|
|
20
|
-
> @faststore/core@3.
|
|
20
|
+
> @faststore/core@3.65.1 generate:codegen /home/runner/work/faststore/faststore/packages/core
|
|
21
21
|
> graphql-codegen
|
|
22
22
|
|
|
23
23
|
[STARTED] Parse Configuration
|
|
@@ -37,11 +37,11 @@ Running lifecycle hook "afterStart" scripts...
|
|
|
37
37
|
[CLI] Loading Documents
|
|
38
38
|
[CLI] Generating output
|
|
39
39
|
|
|
40
|
-
> @faststore/core@3.
|
|
40
|
+
> @faststore/core@3.65.1 format:generated /home/runner/work/faststore/faststore/packages/core
|
|
41
41
|
> prettier --write "@generated/**/*.{ts,js,tsx,jsx,json}" --loglevel error
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
> @faststore/core@3.
|
|
44
|
+
> @faststore/core@3.65.1 build /home/runner/work/faststore/faststore/packages/core
|
|
45
45
|
> next build
|
|
46
46
|
|
|
47
47
|
⚠ No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
|
|
@@ -70,43 +70,43 @@ Warning: Dynamic Content not found for the page: home. Refer to the Dynamic Cont
|
|
|
70
70
|
Collecting build traces ...
|
|
71
71
|
|
|
72
72
|
Route (pages) Size First Load JS
|
|
73
|
-
┌ ● / 3.87 kB
|
|
73
|
+
┌ ● / 3.87 kB 136 kB
|
|
74
74
|
├ └ css/b1806cbafd0c1f81.css 3.06 kB
|
|
75
|
-
├ /_app 0 B
|
|
76
|
-
├ ● /[...slug] 2.38 kB
|
|
77
|
-
├ ● /[slug]/p 32.4 kB
|
|
75
|
+
├ /_app 0 B 102 kB
|
|
76
|
+
├ ● /[...slug] 2.38 kB 143 kB
|
|
77
|
+
├ ● /[slug]/p 32.4 kB 164 kB
|
|
78
78
|
├ ├ css/a3ca6a9b63f657be.css 5.75 kB
|
|
79
79
|
├ ├ css/62a5153ac7061286.css 6.11 kB
|
|
80
80
|
├ └ css/6831395ff5fd317a.css 16.1 kB
|
|
81
|
-
├ ○ /404 1.48 kB
|
|
82
|
-
├ ● /500 1.48 kB
|
|
83
|
-
├ λ /account 240 B
|
|
84
|
-
├ ● /account/[...unknown] 281 B
|
|
85
|
-
├ λ /account/403 2.39 kB
|
|
81
|
+
├ ○ /404 1.48 kB 133 kB
|
|
82
|
+
├ ● /500 1.48 kB 133 kB
|
|
83
|
+
├ λ /account 240 B 103 kB
|
|
84
|
+
├ ● /account/[...unknown] 281 B 103 kB
|
|
85
|
+
├ λ /account/403 2.39 kB 134 kB
|
|
86
86
|
├ └ css/b7bba8fce075688b.css 4.2 kB
|
|
87
|
-
├ λ /account/404 2.07 kB
|
|
87
|
+
├ λ /account/404 2.07 kB 134 kB
|
|
88
88
|
├ └ css/5347dbc8b71de47d.css 4.25 kB
|
|
89
|
-
├ λ /account/orders 8.66 kB
|
|
89
|
+
├ λ /account/orders 8.66 kB 141 kB
|
|
90
90
|
├ └ css/8a3f440e0ff9cd8e.css 11.9 kB
|
|
91
|
-
├ λ /account/orders/[id] 11.9 kB
|
|
91
|
+
├ λ /account/orders/[id] 11.9 kB 144 kB
|
|
92
92
|
├ └ css/ba1d8927d8745656.css 12.6 kB
|
|
93
|
-
├ λ /account/profile 1.75 kB
|
|
93
|
+
├ λ /account/profile 1.75 kB 134 kB
|
|
94
94
|
├ └ css/831a1f72fe4b2d80.css 3.97 kB
|
|
95
|
-
├ λ /account/security 2.44 kB
|
|
95
|
+
├ λ /account/security 2.44 kB 134 kB
|
|
96
96
|
├ └ css/32b1696118552960.css 5.19 kB
|
|
97
|
-
├ λ /account/user-details 1.7 kB
|
|
97
|
+
├ λ /account/user-details 1.7 kB 134 kB
|
|
98
98
|
├ └ css/e46393a76c5d93a9.css 4.17 kB
|
|
99
|
-
├ λ /api/graphql 0 B
|
|
100
|
-
├ λ /api/health/live 0 B
|
|
101
|
-
├ λ /api/health/ready 0 B
|
|
102
|
-
├ λ /api/preview 0 B
|
|
103
|
-
├ ● /checkout 696 B
|
|
104
|
-
├ ● /login 1.59 kB
|
|
105
|
-
└ ● /s 3.16 kB
|
|
106
|
-
+ First Load JS shared by all
|
|
99
|
+
├ λ /api/graphql 0 B 102 kB
|
|
100
|
+
├ λ /api/health/live 0 B 102 kB
|
|
101
|
+
├ λ /api/health/ready 0 B 102 kB
|
|
102
|
+
├ λ /api/preview 0 B 102 kB
|
|
103
|
+
├ ● /checkout 696 B 133 kB
|
|
104
|
+
├ ● /login 1.59 kB 134 kB
|
|
105
|
+
└ ● /s 3.16 kB 144 kB
|
|
106
|
+
+ First Load JS shared by all 106 kB
|
|
107
107
|
├ chunks/framework-807b0f81cbc129f0.js 45.4 kB
|
|
108
108
|
├ chunks/main-f658704b53a96ab1.js 33.1 kB
|
|
109
|
-
├ chunks/pages/_app-
|
|
109
|
+
├ chunks/pages/_app-1885a948b243078c.js 20.2 kB
|
|
110
110
|
├ chunks/webpack-a24b8ac1ca628dfe.js 3.76 kB
|
|
111
111
|
└ css/0a57ee6c7a57788c.css 3.49 kB
|
|
112
112
|
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.
|
|
2
|
+
> @faststore/core@3.65.1 test /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> jest
|
|
4
4
|
|
|
5
|
-
PASS test/utils/multipleTemplates.test.ts (
|
|
6
|
-
PASS test/server/cms/global.test.ts (25.
|
|
5
|
+
PASS test/utils/multipleTemplates.test.ts (24.937 s)
|
|
6
|
+
PASS test/server/cms/global.test.ts (25.854 s)
|
|
7
7
|
PASS test/server/cms/index.test.ts
|
|
8
|
-
PASS test/server/index.test.ts (
|
|
8
|
+
PASS test/server/index.test.ts (30.5 s)
|
|
9
9
|
|
|
10
10
|
Test Suites: 4 passed, 4 total
|
|
11
11
|
Tests: 22 passed, 22 total
|
|
12
12
|
Snapshots: 0 total
|
|
13
|
-
Time:
|
|
13
|
+
Time: 31.703 s
|
|
14
14
|
Ran all test suites.
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.65.2](https://github.com/vtex/faststore/compare/v3.65.1...v3.65.2) (2025-07-22)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- duplicated meta tags ([#2947](https://github.com/vtex/faststore/issues/2947)) ([4934609](https://github.com/vtex/faststore/commit/4934609cca34b1e5e7c843a4bd61fb851e954f03))
|
|
11
|
+
|
|
12
|
+
## [3.65.1](https://github.com/vtex/faststore/compare/v3.65.0...v3.65.1) (2025-07-17)
|
|
13
|
+
|
|
14
|
+
**Note:** Version bump only for package @faststore/core
|
|
15
|
+
|
|
6
16
|
# [3.65.0](https://github.com/vtex/faststore/compare/v3.64.1...v3.65.0) (2025-07-16)
|
|
7
17
|
|
|
8
18
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "3.65.
|
|
3
|
+
"version": "3.65.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@envelop/graphql-jit": "^8.0.3",
|
|
45
45
|
"@envelop/parser-cache": "^6.0.2",
|
|
46
46
|
"@envelop/validation-cache": "^6.0.2",
|
|
47
|
-
"@faststore/api": "^3.65.
|
|
47
|
+
"@faststore/api": "^3.65.1",
|
|
48
48
|
"@faststore/graphql-utils": "^3.56.1",
|
|
49
49
|
"@faststore/lighthouse": "^3.56.1",
|
|
50
50
|
"@faststore/sdk": "^3.63.0",
|
|
@@ -107,5 +107,5 @@
|
|
|
107
107
|
"ts-jest": "29.1.1",
|
|
108
108
|
"typescript": "5.3.2"
|
|
109
109
|
},
|
|
110
|
-
"gitHead": "
|
|
110
|
+
"gitHead": "fc92f046aaa199da3d0b6a704ed9dcd22ef2da1d"
|
|
111
111
|
}
|
package/src/pages/_app.tsx
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { UIProvider } from '@faststore/ui'
|
|
2
2
|
import type { AppProps } from 'next/app'
|
|
3
|
+
import ThirdPartyScripts from 'src/components/ThirdPartyScripts'
|
|
3
4
|
import Layout from 'src/Layout'
|
|
4
5
|
import AnalyticsHandler from 'src/sdk/analytics'
|
|
5
6
|
import ErrorBoundary from 'src/sdk/error/ErrorBoundary'
|
|
@@ -9,9 +10,10 @@ import SEO from '../../next-seo.config'
|
|
|
9
10
|
// FastStore UI's base styles
|
|
10
11
|
import '../styles/main.scss'
|
|
11
12
|
|
|
13
|
+
import { useSearch } from '@faststore/sdk'
|
|
12
14
|
import { DefaultSeo } from 'next-seo'
|
|
15
|
+
import Head from 'next/head'
|
|
13
16
|
import { useRouter } from 'next/router'
|
|
14
|
-
import { useSearch } from '@faststore/sdk'
|
|
15
17
|
import { ITEMS_PER_PAGE } from 'src/constants'
|
|
16
18
|
|
|
17
19
|
function App({ Component, pageProps }: AppProps) {
|
|
@@ -25,6 +27,7 @@ function App({ Component, pageProps }: AppProps) {
|
|
|
25
27
|
|
|
26
28
|
return (
|
|
27
29
|
<ErrorBoundary>
|
|
30
|
+
<Head> {!process.env.DISABLE_3P_SCRIPTS && <ThirdPartyScripts />}</Head>
|
|
28
31
|
<DefaultSeo {...SEO} />
|
|
29
32
|
|
|
30
33
|
<AnalyticsHandler />
|
package/src/pages/_document.tsx
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Head, Html, Main, NextScript } from 'next/document'
|
|
2
2
|
import storeConfig from '../../discovery.config'
|
|
3
3
|
|
|
4
|
-
import ThirdPartyScripts from 'src/components/ThirdPartyScripts'
|
|
5
4
|
import { WebFonts } from 'src/customizations/src/GlobalOverrides'
|
|
6
5
|
|
|
7
6
|
function Document() {
|
|
@@ -17,7 +16,6 @@ function Document() {
|
|
|
17
16
|
href={`https://${storeConfig.api.storeId}.vtexassets.com`}
|
|
18
17
|
/>
|
|
19
18
|
<meta name="storefront" content="fast_store" />
|
|
20
|
-
{!process.env.DISABLE_3P_SCRIPTS && <ThirdPartyScripts />}
|
|
21
19
|
<WebFonts />
|
|
22
20
|
</Head>
|
|
23
21
|
<body className="theme">
|
|
@@ -1,374 +0,0 @@
|
|
|
1
|
-
exports.id=6011,exports.ids=[6011],exports.modules={25487:(e,t,r)=>{"use strict";r.d(t,{$G:()=>D,Ce:()=>j,D5:()=>y,Fs:()=>b,HZ:()=>_,Hk:()=>p,M:()=>C,Pq:()=>I,UZ:()=>u,Ud:()=>o,VA:()=>P,Yz:()=>l,bi:()=>v,fW:()=>g,fh:()=>n,gN:()=>h,gU:()=>S,hM:()=>c,j9:()=>a,lZ:()=>E,pR:()=>O,pi:()=>i,rd:()=>f,sE:()=>s,vX:()=>d,vt:()=>m,wA:()=>w});let TypedDocumentString=class TypedDocumentString extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t,function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"__apiType",void 0)}toString(){return this.value}};new TypedDocumentString(`
|
|
2
|
-
fragment ProductSummary_product on StoreProduct {
|
|
3
|
-
id: productID
|
|
4
|
-
slug
|
|
5
|
-
sku
|
|
6
|
-
brand {
|
|
7
|
-
brandName: name
|
|
8
|
-
}
|
|
9
|
-
name
|
|
10
|
-
gtin
|
|
11
|
-
unitMultiplier
|
|
12
|
-
isVariantOf {
|
|
13
|
-
productGroupID
|
|
14
|
-
name
|
|
15
|
-
skuVariants {
|
|
16
|
-
allVariantsByName
|
|
17
|
-
activeVariations
|
|
18
|
-
slugsMap
|
|
19
|
-
availableVariations
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
image {
|
|
23
|
-
url
|
|
24
|
-
alternateName
|
|
25
|
-
}
|
|
26
|
-
brand {
|
|
27
|
-
name
|
|
28
|
-
}
|
|
29
|
-
offers {
|
|
30
|
-
lowPrice
|
|
31
|
-
lowPriceWithTaxes
|
|
32
|
-
offers {
|
|
33
|
-
availability
|
|
34
|
-
price
|
|
35
|
-
listPrice
|
|
36
|
-
listPriceWithTaxes
|
|
37
|
-
priceWithTaxes
|
|
38
|
-
quantity
|
|
39
|
-
seller {
|
|
40
|
-
identifier
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
additionalProperty {
|
|
45
|
-
propertyID
|
|
46
|
-
name
|
|
47
|
-
value
|
|
48
|
-
valueReference
|
|
49
|
-
}
|
|
50
|
-
advertisement {
|
|
51
|
-
adId
|
|
52
|
-
adResponseId
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
`,{fragmentName:"ProductSummary_product"});let a=new TypedDocumentString(`
|
|
56
|
-
fragment Filter_facets on StoreFacet {
|
|
57
|
-
... on StoreFacetRange {
|
|
58
|
-
key
|
|
59
|
-
label
|
|
60
|
-
min {
|
|
61
|
-
selected
|
|
62
|
-
absolute
|
|
63
|
-
}
|
|
64
|
-
max {
|
|
65
|
-
selected
|
|
66
|
-
absolute
|
|
67
|
-
}
|
|
68
|
-
__typename
|
|
69
|
-
}
|
|
70
|
-
... on StoreFacetBoolean {
|
|
71
|
-
key
|
|
72
|
-
label
|
|
73
|
-
values {
|
|
74
|
-
label
|
|
75
|
-
value
|
|
76
|
-
selected
|
|
77
|
-
quantity
|
|
78
|
-
}
|
|
79
|
-
__typename
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
`,{fragmentName:"Filter_facets"});new TypedDocumentString(`
|
|
83
|
-
fragment CartProductItem on StoreProduct {
|
|
84
|
-
sku
|
|
85
|
-
name
|
|
86
|
-
unitMultiplier
|
|
87
|
-
image {
|
|
88
|
-
url
|
|
89
|
-
alternateName
|
|
90
|
-
}
|
|
91
|
-
brand {
|
|
92
|
-
name
|
|
93
|
-
}
|
|
94
|
-
isVariantOf {
|
|
95
|
-
productGroupID
|
|
96
|
-
name
|
|
97
|
-
skuVariants {
|
|
98
|
-
activeVariations
|
|
99
|
-
slugsMap
|
|
100
|
-
availableVariations
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
gtin
|
|
104
|
-
additionalProperty {
|
|
105
|
-
propertyID
|
|
106
|
-
name
|
|
107
|
-
value
|
|
108
|
-
valueReference
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
`,{fragmentName:"CartProductItem"}),new TypedDocumentString(`
|
|
112
|
-
fragment ProductDetailsFragment_product on StoreProduct {
|
|
113
|
-
id: productID
|
|
114
|
-
sku
|
|
115
|
-
name
|
|
116
|
-
gtin
|
|
117
|
-
description
|
|
118
|
-
unitMultiplier
|
|
119
|
-
isVariantOf {
|
|
120
|
-
name
|
|
121
|
-
productGroupID
|
|
122
|
-
skuVariants {
|
|
123
|
-
activeVariations
|
|
124
|
-
slugsMap
|
|
125
|
-
availableVariations
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
image {
|
|
129
|
-
url
|
|
130
|
-
alternateName
|
|
131
|
-
}
|
|
132
|
-
brand {
|
|
133
|
-
name
|
|
134
|
-
}
|
|
135
|
-
offers {
|
|
136
|
-
lowPrice
|
|
137
|
-
lowPriceWithTaxes
|
|
138
|
-
offers {
|
|
139
|
-
availability
|
|
140
|
-
price
|
|
141
|
-
priceWithTaxes
|
|
142
|
-
listPrice
|
|
143
|
-
listPriceWithTaxes
|
|
144
|
-
seller {
|
|
145
|
-
identifier
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
additionalProperty {
|
|
150
|
-
propertyID
|
|
151
|
-
name
|
|
152
|
-
value
|
|
153
|
-
valueReference
|
|
154
|
-
}
|
|
155
|
-
...CartProductItem
|
|
156
|
-
}
|
|
157
|
-
fragment CartProductItem on StoreProduct {
|
|
158
|
-
sku
|
|
159
|
-
name
|
|
160
|
-
unitMultiplier
|
|
161
|
-
image {
|
|
162
|
-
url
|
|
163
|
-
alternateName
|
|
164
|
-
}
|
|
165
|
-
brand {
|
|
166
|
-
name
|
|
167
|
-
}
|
|
168
|
-
isVariantOf {
|
|
169
|
-
productGroupID
|
|
170
|
-
name
|
|
171
|
-
skuVariants {
|
|
172
|
-
activeVariations
|
|
173
|
-
slugsMap
|
|
174
|
-
availableVariations
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
gtin
|
|
178
|
-
additionalProperty {
|
|
179
|
-
propertyID
|
|
180
|
-
name
|
|
181
|
-
value
|
|
182
|
-
valueReference
|
|
183
|
-
}
|
|
184
|
-
}`,{fragmentName:"ProductDetailsFragment_product"});let o=new TypedDocumentString(`
|
|
185
|
-
fragment ProductSKUMatrixSidebarFragment_product on StoreProduct {
|
|
186
|
-
id: productID
|
|
187
|
-
isVariantOf {
|
|
188
|
-
name
|
|
189
|
-
productGroupID
|
|
190
|
-
skuVariants {
|
|
191
|
-
activeVariations
|
|
192
|
-
slugsMap
|
|
193
|
-
availableVariations
|
|
194
|
-
allVariantProducts {
|
|
195
|
-
sku
|
|
196
|
-
name
|
|
197
|
-
image {
|
|
198
|
-
url
|
|
199
|
-
alternateName
|
|
200
|
-
}
|
|
201
|
-
offers {
|
|
202
|
-
highPrice
|
|
203
|
-
lowPrice
|
|
204
|
-
lowPriceWithTaxes
|
|
205
|
-
offerCount
|
|
206
|
-
priceCurrency
|
|
207
|
-
offers {
|
|
208
|
-
listPrice
|
|
209
|
-
listPriceWithTaxes
|
|
210
|
-
sellingPrice
|
|
211
|
-
priceCurrency
|
|
212
|
-
price
|
|
213
|
-
priceWithTaxes
|
|
214
|
-
priceValidUntil
|
|
215
|
-
itemCondition
|
|
216
|
-
availability
|
|
217
|
-
quantity
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
additionalProperty {
|
|
221
|
-
propertyID
|
|
222
|
-
value
|
|
223
|
-
name
|
|
224
|
-
valueReference
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
`,{fragmentName:"ProductSKUMatrixSidebarFragment_product"});new TypedDocumentString(`
|
|
231
|
-
fragment ClientManyProducts on Query {
|
|
232
|
-
search(
|
|
233
|
-
first: $first
|
|
234
|
-
after: $after
|
|
235
|
-
sort: $sort
|
|
236
|
-
term: $term
|
|
237
|
-
selectedFacets: $selectedFacets
|
|
238
|
-
sponsoredCount: $sponsoredCount
|
|
239
|
-
) {
|
|
240
|
-
products {
|
|
241
|
-
pageInfo {
|
|
242
|
-
totalCount
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
`,{fragmentName:"ClientManyProducts"}),new TypedDocumentString(`
|
|
248
|
-
fragment ClientProduct on Query {
|
|
249
|
-
product(locator: $locator) {
|
|
250
|
-
id: productID
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
`,{fragmentName:"ClientProduct"}),new TypedDocumentString(`
|
|
254
|
-
fragment ClientProductGallery on Query {
|
|
255
|
-
search(
|
|
256
|
-
first: $first
|
|
257
|
-
after: $after
|
|
258
|
-
sort: $sort
|
|
259
|
-
term: $term
|
|
260
|
-
selectedFacets: $selectedFacets
|
|
261
|
-
) {
|
|
262
|
-
products {
|
|
263
|
-
pageInfo {
|
|
264
|
-
totalCount
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
`,{fragmentName:"ClientProductGallery"}),new TypedDocumentString(`
|
|
270
|
-
fragment ClientSearchSuggestions on Query {
|
|
271
|
-
search(first: 5, term: $term, selectedFacets: $selectedFacets) {
|
|
272
|
-
suggestions {
|
|
273
|
-
terms {
|
|
274
|
-
value
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
`,{fragmentName:"ClientSearchSuggestions"}),new TypedDocumentString(`
|
|
280
|
-
fragment ClientShippingSimulation on Query {
|
|
281
|
-
shipping(items: $items, postalCode: $postalCode, country: $country) {
|
|
282
|
-
address {
|
|
283
|
-
city
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
`,{fragmentName:"ClientShippingSimulation"}),new TypedDocumentString(`
|
|
288
|
-
fragment ClientTopSearchSuggestions on Query {
|
|
289
|
-
search(first: 5, term: $term, selectedFacets: $selectedFacets) {
|
|
290
|
-
suggestions {
|
|
291
|
-
terms {
|
|
292
|
-
value
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
`,{fragmentName:"ClientTopSearchSuggestions"}),new TypedDocumentString(`
|
|
298
|
-
fragment ServerCollectionPage on Query {
|
|
299
|
-
collection(slug: $slug) {
|
|
300
|
-
id
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
`,{fragmentName:"ServerCollectionPage"}),new TypedDocumentString(`
|
|
304
|
-
fragment ServerProduct on Query {
|
|
305
|
-
product(locator: $locator) {
|
|
306
|
-
id: productID
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
`,{fragmentName:"ServerProduct"});let n=new TypedDocumentString(`
|
|
310
|
-
fragment UserOrderItemsFragment on UserOrderItems {
|
|
311
|
-
id
|
|
312
|
-
name
|
|
313
|
-
quantity
|
|
314
|
-
sellingPrice
|
|
315
|
-
unitMultiplier
|
|
316
|
-
measurementUnit
|
|
317
|
-
imageUrl
|
|
318
|
-
detailUrl
|
|
319
|
-
refId
|
|
320
|
-
rewardValue
|
|
321
|
-
}
|
|
322
|
-
`,{fragmentName:"UserOrderItemsFragment"});new TypedDocumentString(`
|
|
323
|
-
fragment CartMessage on StoreCartMessage {
|
|
324
|
-
text
|
|
325
|
-
status
|
|
326
|
-
}
|
|
327
|
-
`,{fragmentName:"CartMessage"}),new TypedDocumentString(`
|
|
328
|
-
fragment CartItem on StoreOffer {
|
|
329
|
-
seller {
|
|
330
|
-
identifier
|
|
331
|
-
}
|
|
332
|
-
quantity
|
|
333
|
-
price
|
|
334
|
-
priceWithTaxes
|
|
335
|
-
listPrice
|
|
336
|
-
listPriceWithTaxes
|
|
337
|
-
itemOffered {
|
|
338
|
-
...CartProductItem
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
fragment CartProductItem on StoreProduct {
|
|
342
|
-
sku
|
|
343
|
-
name
|
|
344
|
-
unitMultiplier
|
|
345
|
-
image {
|
|
346
|
-
url
|
|
347
|
-
alternateName
|
|
348
|
-
}
|
|
349
|
-
brand {
|
|
350
|
-
name
|
|
351
|
-
}
|
|
352
|
-
isVariantOf {
|
|
353
|
-
productGroupID
|
|
354
|
-
name
|
|
355
|
-
skuVariants {
|
|
356
|
-
activeVariations
|
|
357
|
-
slugsMap
|
|
358
|
-
availableVariations
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
gtin
|
|
362
|
-
additionalProperty {
|
|
363
|
-
propertyID
|
|
364
|
-
name
|
|
365
|
-
value
|
|
366
|
-
valueReference
|
|
367
|
-
}
|
|
368
|
-
}`,{fragmentName:"CartItem"}),new TypedDocumentString(`
|
|
369
|
-
fragment SearchEvent_metadata on SearchMetadata {
|
|
370
|
-
isTermMisspelled
|
|
371
|
-
logicalOperator
|
|
372
|
-
fuzzy
|
|
373
|
-
}
|
|
374
|
-
`,{fragmentName:"SearchEvent_metadata"});let i={__meta__:{operationName:"ServerAccountPageQuery",operationHash:"47315a3cd26ddd9c7fa963778988464341b8193f"}},s={__meta__:{operationName:"ServerCollectionPageQuery",operationHash:"4b33c5c07f440dc7489e55619dc2211a13786e72"}},c={__meta__:{operationName:"ServerProductQuery",operationHash:"46103bee661405bde706d72126fdbf9b0a0c9e6e"}},l={__meta__:{operationName:"ServerOrderDetailsQuery",operationHash:"4758ccbf776bfa5d9b9f15f92bee6ecb78706b20"}},d={__meta__:{operationName:"ServerListOrdersQuery",operationHash:"ee84ac3f5b58c5e1950a927a42c5c1dd6012fcc4"}},u={__meta__:{operationName:"ServerProfileQuery",operationHash:"0ed4b5db8fed122d8418195d01fb91b30261d587"}},p={__meta__:{operationName:"ServerSecurityQuery",operationHash:"9f24767f16e6e05c168336701a6c6c7b6b5dc1c6"}},m={__meta__:{operationName:"ServerUserDetailsQuery",operationHash:"522e5feeb80e67cee931bc98eac9d08ea75c75d2"}},f={__meta__:{operationName:"CancelOrderMutation",operationHash:"e2b06da6840614d3c72768e56579b9d3b8e80802"}},b={__meta__:{operationName:"ProcessOrderAuthorizationMutation",operationHash:"8c25d37c8d6e7c20ab21bb8a4f4e6a2fe320ea8d"}},g={__meta__:{operationName:"ValidateUser",operationHash:"32f99c73c3de958b64d6bece1afe800469f54548"}},y={__meta__:{operationName:"ValidateCartMutation",operationHash:"c2b3f8bff73ebf6ac79d758c66cabbc21ba9fcc0"}},_={__meta__:{operationName:"SubscribeToNewsletter",operationHash:"feb7005103a859e2bc8cf2360d568806fd88deba"}},v={__meta__:{operationName:"ClientProductCountQuery",operationHash:"dc912e7272e3d9f5ced206837df87f544d39d0a5"}},h={__meta__:{operationName:"ClientAllVariantProductsQuery",operationHash:"4039e05f01a2fe449e20e8b82170d0ba94b1fbe9"}},S={__meta__:{operationName:"ClientManyProductsQuery",operationHash:"1adc93c70f16173540c50f725ee09a2d67cb85ab"}},P={__meta__:{operationName:"ClientProductGalleryQuery",operationHash:"bfc40da32b60f9404a4adb96b0856e3fbb04b076"}},w={__meta__:{operationName:"ClientProductQuery",operationHash:"7d121ef8d4dc99174e64e4429a9b977b8bbebed8"}},O={__meta__:{operationName:"ClientProfileQuery",operationHash:"34ea14c0d4a57ddf9bc11e4be0cd2b5a6506d3d4"}},j={__meta__:{operationName:"ClientSearchSuggestionsQuery",operationHash:"b548281d477a173be7b6960434604d69769a97e7"}},C={__meta__:{operationName:"ClientTopSearchSuggestionsQuery",operationHash:"e2385b0f11726d0068f96548f57a8dd441c064e3"}},D={__meta__:{operationName:"ValidateSession",operationHash:"259dd10b1c65ce4b20c9181feb7bec85ecb402e6"}},I={__meta__:{operationName:"ClientShippingSimulationQuery",operationHash:"c35bad22f67f3eb34fea52bb49efa6b1da6b728d"}},E={__meta__:{operationName:"ServerManyProductsQuery",operationHash:"5c2181dde311ca80b72e0cc76ac0855d8aa8b51e"}}},45011:(e,t,r)=>{"use strict";r.d(t,{A:()=>l,Z:()=>c});var a=r(43412),o=r.n(a);let n=new Date().toISOString(),i=Date.now(),s={norobots:o().experimental.noRobots,dangerouslySetAllPagesToNoFollow:o().experimental.nofollow,dangerouslySetAllPagesToNoIndex:o().experimental.noindex,additionalMetaTags:[{name:"generated-at",content:n}]},c=s,l=i},16422:(e,t,r)=>{"use strict";r.d(t,{g:()=>useRegionModal});var a=r(16652),o=r(43412),n=r(16689),i=r(70031);function useRegionModal(){let{openModal:e}=(0,a.l)(),{isValidating:t}=(0,i.kP)(),r=(0,n.useRef)(t),{0:s,1:c}=(0,n.useState)(!1),openRegionModal=()=>{let{postalCode:t}=i.Qf.read();t||e()};return(0,n.useEffect)(()=>{o.deliveryPromise.enabled&&(r.current&&!t&&(c(!0),o.deliveryPromise.mandatory&&openRegionModal()),r.current=t)},[openRegionModal]),{openRegionModal,isValidationComplete:s}}},98132:(e,t,r)=>{"use strict";r.d(t,{KS:()=>o,YQ:()=>n,gK:()=>a});let a=12,o=5,n=3e3},46011:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>_app});var a=r(16652),o=r(16689),n=r(16422),i=r(33339);function ownKeys(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}let usePageViewEvent=e=>{let t=(0,o.useCallback)(()=>{Promise.all([r.e(2792),r.e(6393)]).then(r.bind(r,66393)).then(({sendAnalyticsEvent:t})=>{t({name:"page_view",params:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({page_title:document.title,page_location:location.href,send_page_view:!0},e)})})},[e]),a=(0,i.useRouter)();return(0,o.useEffect)(()=>{t()},[a.pathname,t]),{sendPageViewEvent:t}};var s=r(20997);let src_Layout=function({children:e}){let t=(0,o.useMemo)(()=>e?.props,[]);return usePageViewEvent(t),(0,n.g)(),s.jsx(s.Fragment,{children:e})};var c=r(28529),l=r(43412),d=r.n(l);function analytics_ownKeys(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}let analytics=()=>((0,c.W)(e=>{window.dataLayer.push({ecommerce:null});let t=e.isEcommerceEvent?{event:e.name,ecommerce:e.params}:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?analytics_ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):analytics_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({event:e.name},e.params);window.dataLayer.push(t),r(73982)(`./${d().platform}`).then(({default:t})=>{t(e)})}),null),getReloads=()=>Number(window.sessionStorage.getItem("store:reloads")??"0"),setReloads=e=>window.sessionStorage.setItem("store:reloads",`${e}`),canRecover=()=>2>getReloads(),isFrameworkLevelError=e=>e?.name==="ChunkLoadError";let ErrorBoundary=class ErrorBoundary extends o.Component{constructor(...e){super(...e),function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){if(console.error(`React Error: ${e.message} ${t.componentStack}`),window.location.pathname.startsWith("/404")||window.location.pathname.startsWith("/500"))return;let r=encodeURIComponent(window.location.pathname),a=e?.extensions?.exception?.status===404;isFrameworkLevelError(e)&&canRecover()?(setReloads(getReloads()+1),window.location.reload()):a?window.location.href=`/404?from=${r}`:window.location.href=`/500?from=${r}&errorId=unknown`}render(){return this.state.hasError?null:this.props.children}};var u=r(98132),p=r(70031);function useGeolocation_ownKeys(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 useGeolocation_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?useGeolocation_ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):useGeolocation_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}async function askGeolocationConsent(){let{postalCode:e,geoCoordinates:t}=p.Qf.read();!navigator?.geolocation||e&&t||navigator.geolocation.getCurrentPosition(async({coords:{latitude:e,longitude:t}})=>{let r=p.Qf.read();if(r.postalCode||r.geoCoordinates)return;let a=useGeolocation_objectSpread(useGeolocation_objectSpread({},r),{},{geoCoordinates:{latitude:e,longitude:t}}),o=await (0,p.je)(a);p.Qf.set(o??a)})}var m=r(45011);r(45276);var f=r(16641),b=r(69029);function _app_ownKeys(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 _app_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_app_ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_app_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let _app=function({Component:e,pageProps:t}){let{key:r}=t;(0,o.useEffect)(()=>{l.deliveryPromise.enabled&&setTimeout(()=>askGeolocationConsent(),u.YQ)},[]);let n=(0,i.useRouter)(),{start:c}=(0,b.R)();return c(n.asPath,{itemsPerPage:u.gK}),(0,s.jsxs)(ErrorBoundary,{children:[s.jsx(f.DefaultSeo,_app_objectSpread({},m.Z)),s.jsx(analytics,{}),s.jsx(a.Z,{children:s.jsx(src_Layout,{children:(0,o.createElement)(e,_app_objectSpread(_app_objectSpread({},t),{},{key:r}))})})]})}},71041:(e,t,r)=>{"use strict";r.d(t,{i8:()=>b,jD:()=>useCart});var a=r(25487),o=r(29380),n=r(16689),i=r(43412),s=r.n(i),c=r(57440),l=r(70031),d=r(50135);function ownKeys(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 _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let u=a.D5,isGift=e=>0===e.price,getItemId=e=>[e.itemOffered.sku,e.seller.identifier,e.itemOffered.additionalProperty?.map(({propertyID:e})=>e).join("-")].filter(Boolean).join("::"),validateCart=async e=>{let{validateCart:t=null}=await (0,c.W)(u,{session:l.Qf.read(),cart:{order:{orderNumber:e.id,shouldSplitItem:e.shouldSplitItem,acceptedOffer:e.items.map(({price:e,listPrice:t,seller:r,quantity:a,itemOffered:o})=>({price:e,listPrice:t,seller:r,quantity:a,itemOffered:{sku:o.sku,image:o.image,name:o.name,additionalProperty:o.additionalProperty}}))}}});return t&&{id:t.order.orderNumber,items:t.order.acceptedOffer.map(e=>_objectSpread(_objectSpread({},e),{},{id:getItemId(e)})),messages:t.messages,shouldSplitItem:t.order.shouldSplitItem}},[p,m]=(0,d.d)(validateCart),f=(0,o.n)(s().cart,m),b=_objectSpread(_objectSpread({},f),{},{addItem:e=>{let t=_objectSpread(_objectSpread({},e),{},{id:getItemId(e)});f.addItem(t)}}),useCart=({useUnitMultiplier:e}={useUnitMultiplier:!1})=>{let t=(0,d.o)(b),r=(0,d.o)(p);return(0,n.useMemo)(()=>{let a=t.items.reduce((t,r)=>{t.total+=r.price*r.quantity,t.totalWithTaxes+=r.priceWithTaxes*r.quantity;let a=e?r.quantity*(r?.itemOffered?.unitMultiplier??1):r.quantity;return t.totalItems+=isGift(r)?0:a,t.subTotal+=r.listPrice*a,t.subTotalWithTaxes+=r.listPriceWithTaxes*a,t},{totalItems:0,total:0,subTotal:0,totalWithTaxes:0,subTotalWithTaxes:0});return _objectSpread(_objectSpread(_objectSpread({},t),a),{},{isValidating:r,messages:t.messages,gifts:t.items.filter(e=>isGift(e)),items:t.items.filter(e=>!isGift(e)),totalUniqueItems:t.items.length})},[t,r,e])}},57440:(e,t,r)=>{"use strict";function ownKeys(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 _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}r.d(t,{W:()=>request});let a={POST:{"Content-Type":"application/json"}},request=async(e,t,r)=>{let{data:a,errors:o}=await baseRequest("/api/graphql",_objectSpread(_objectSpread({},r),{},{variables:t,operation:e}));if(o?.length)throw o[0];return a},baseRequest=async(e,{operation:t,variables:r,fetchOptions:o})=>{let{operationName:n,operationHash:i}=t.__meta__,s=o?.method!==void 0?o.method.toUpperCase():n.endsWith("Query")?"GET":"POST",c=new URLSearchParams(_objectSpread({operationName:n,operationHash:i},"GET"===s&&{variables:JSON.stringify(r)})),l="POST"===s?JSON.stringify({operationName:n,operationHash:i,variables:r}):void 0,d=`${e}?${c.toString()}`,u=await fetch(d,_objectSpread(_objectSpread({method:s,body:l},o),{},{headers:_objectSpread(_objectSpread({},a[s]),o?.headers)}));return u.json()}},70031:(e,t,r)=>{"use strict";r.d(t,{Qf:()=>_,kP:()=>useSession,je:()=>validateSession});var a=r(25487),o=r(88987),n=r(16689),i=r(43412),s=r.n(i),c=r(71041),l=r(57440);let d=a.pR,getAddresses=async e=>{let t=await (0,l.W)(d,{id:e});return t.profile.addresses},getSavedAddress=async e=>{let t=await getAddresses(e);return t?t[0]:null};var u=r(50135);let p=["channel"],m=["hasOnlyDefaultSalesChannel"];function _objectWithoutProperties(e,t){if(null==e)return{};var r,a,o=function(e,t){if(null==e)return{};var r,a,o={},n=Object.keys(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)r=n[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function ownKeys(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 _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){var a;a=r[t],t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let f=a.$G,validateSession=async e=>{if(s().deliveryPromise?.enabled&&!e.postalCode){if(e.b2b&&e.b2b?.savedPostalCode)_.set(_objectSpread(_objectSpread({},e),{},{postalCode:e.b2b.savedPostalCode}));else if(e.person?.id){let t=await getSavedAddress(e.person?.id);t&&_.set(_objectSpread(_objectSpread({},e),{},{city:t?.city,postalCode:t?.postalCode,geoCoordinates:{latitude:t?.geoCoordinate?t?.geoCoordinate[1]:null,longitude:t?.geoCoordinate?t?.geoCoordinate[0]:null},country:t?.country}))}else{let t=y.readInitial().postalCode;t&&_.set(_objectSpread(_objectSpread({},e),{},{postalCode:t}))}}let t=await (0,l.W)(f,{session:e,search:window.location.search});return t.validateSession},[b,g]=(0,u.d)(validateSession),y=(0,o.S)(s().session,g),_=_objectSpread(_objectSpread({},y),{},{set:e=>{y.set(e),c.i8.set(c.i8.read())}}),useSession=({filter:e}={filter:!0})=>{let t=(0,u.o)(_),{channel:r}=t,a=_objectWithoutProperties(t,p),o=(0,u.o)(b);if(e){let e=JSON.parse(r),{hasOnlyDefaultSalesChannel:t}=e,a=_objectWithoutProperties(e,m);r=JSON.stringify(a)}return(0,n.useMemo)(()=>_objectSpread(_objectSpread({},a),{},{channel:r,isValidating:o}),[o,a,r])}},50135:(e,t,r)=>{"use strict";r.d(t,{d:()=>createValidationStore,o:()=>useStore});var a=r(73365),o=r(16689);let useStore=e=>(0,o.useSyncExternalStore)(e.subscribe,e.read,e.readInitial),createValidationStore=e=>{let t=(0,a.M)(!1),onValidate=async r=>{try{return t.set(!0),await e(r)}finally{t.set(!1)}};return[t,onValidate]}},45276:()=>{},16652:(e,t,r)=>{"use strict";r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__,l:()=>useUI});var a=r(16689),o=r.n(a);let reducer=(e,t)=>{let{type:r}=t;switch(r){case"open":{let{payload:r}=t;return document.body.classList.add("no-scroll"),{...e,[r]:!0}}case"close":{let{payload:r}=t;return document.body.classList.remove("no-scroll"),{...e,[r]:!1}}case"pushToast":{let r=e.toasts.some(e=>e.message===t.payload.message&&e.status===t.payload.status);if(r)return e;return{...e,toasts:[...e.toasts,t.payload]}}case"popToast":return{...e,toasts:e.toasts.slice(1)};case"openPopover":return{...e,popover:{isOpen:!0,triggerRef:t.payload.triggerRef}};case"closePopover":return{...e,popover:{isOpen:!1,triggerRef:void 0}};default:throw Error(`Action ${r} not implemented`)}},initializer=()=>({cart:!1,modal:!1,navbar:!1,filter:!1,toasts:[],popover:{isOpen:!1,triggerRef:void 0}}),n=(0,a.createContext)(void 0);function useUI(){let e=(0,a.useContext)(n);if(void 0===e)throw Error("Missing UI context on React tree");return e}let __WEBPACK_DEFAULT_EXPORT__=function({children:e}){let[t,r]=(0,a.useReducer)(reducer,void 0,initializer),i=(0,a.useMemo)(()=>({openFilter:()=>r({type:"open",payload:"filter"}),closeFilter:()=>r({type:"close",payload:"filter"}),openNavbar:()=>r({type:"open",payload:"navbar"}),closeNavbar:()=>r({type:"close",payload:"navbar"}),openCart:()=>r({type:"open",payload:"cart"}),closeCart:()=>r({type:"close",payload:"cart"}),openModal:()=>r({type:"open",payload:"modal"}),closeModal:()=>r({type:"close",payload:"modal"}),pushToast:e=>r({type:"pushToast",payload:e}),popToast:()=>r({type:"popToast"}),openPopover:e=>r({type:"openPopover",payload:e}),closePopover:()=>r({type:"closePopover"})}),[]),s=(0,a.useMemo)(()=>({...t,...i}),[i,t]);return o().createElement(n.Provider,{value:s},e)}},73982:(e,t,r)=>{var a={"./vtex":[7692,4365,7692],"./vtex/":[7692,4365,7692],"./vtex/index":[7692,4365,7692],"./vtex/index.ts":[7692,4365,7692],"./vtex/rc":[38068,8068],"./vtex/rc.ts":[38068,8068],"./vtex/search":[4365,4365],"./vtex/search.ts":[4365,4365]};function webpackAsyncContext(e){if(!r.o(a,e))return Promise.resolve().then(()=>{var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=a[e],o=t[0];return Promise.all(t.slice(1).map(r.e)).then(()=>r(o))}webpackAsyncContext.keys=()=>Object.keys(a),webpackAsyncContext.id=73982,e.exports=webpackAsyncContext},28529:(e,t,r)=>{"use strict";r.d(t,{W:()=>useAnalyticsEvent});var a=r(16689),o=r(14950);let useAnalyticsEvent=e=>{let t=(0,a.useCallback)(t=>{try{if(t.data.name!==o.vi)return;e((0,o.Wg)(t.data))}catch(e){console.error("Something went wrong while running Analytics handler")}},[e]);(0,a.useEffect)(()=>(window.addEventListener("message",t),()=>window.removeEventListener("message",t)),[t])}},14950:(e,t,r)=>{"use strict";r.d(t,{Mi:()=>a,Wg:()=>unwrap,re:()=>wrap,vi:()=>o});let a="store:",o="AnalyticsEvent",wrap=e=>({name:o,isEcommerceEvent:e.isEcommerceEvent??!0,params:{...e,name:`${a}${e.name}`}}),unwrap=e=>({...e.params,isEcommerceEvent:e.isEcommerceEvent??!0,name:e.params.name.slice(a.length,e.params.name.length)})},29380:(e,t,r)=>{"use strict";r.d(t,{n:()=>createCartStore});var a=r(12254),o=r(49578);let createCartStore=(e,t,r="fs::cart")=>{let n=(0,o.M)(e,r,t),getItem=e=>n.read().items.find(t=>t.id===e);return{...n,getItem,addItem:e=>{if(!e.id)throw new a.q("You must provide an `id` for items");if(e.quantity<0)throw new a.q("Item quantity needs to be higher than zero");let t=n.read(),r=getItem(e.id),o=r?{...e,quantity:r.quantity+e.quantity}:e;n.set({...t,items:r?t.items.map(e=>e===r?o:e):[...t.items,o]})},updateItemQuantity:(e,t)=>{let r=n.read(),o=getItem(e);if(!o)throw new a.q(`Item with id not found: ${e}`);let i={...o,quantity:t};n.set({...r,items:r.items.map(e=>e===o?i:e).filter(e=>e.quantity>0)})},removeItem:e=>{let t=n.read(),r=getItem(e);n.set({...t,items:t.items.filter(e=>e!==r)})},emptyCart:()=>n.set({...n.read(),items:[]}),inCart:e=>!!getItem(e),isEmpty:()=>0===n.read().items.length}}},9664:(e,t,r)=>{"use strict";r.d(t,{Ru:()=>removeFacet,a2:()=>toggleFacets,uL:()=>setFacet,wB:()=>toggleFacet,wb:()=>isSearchSort});var a=r(12254);let o=new Set(["price_desc","price_asc","orders_desc","name_desc","name_asc","release_desc","discount_desc","score_desc"]),isSearchSort=e=>o.has(e),removeFacet=(e,t)=>{let{value:r}=t,o=e.findIndex(e=>e.value===r);if(o<0)throw new a.q(`Cannot remove ${r} from search params`);return e.filter((e,t)=>t!==o)},setFacet=(e,t,r)=>{if(!0===r){let r=e.findIndex(e=>e.key===t.key);if(r>-1)return e.map((e,a)=>a===r?t:e)}return[...e,t]},toggleFacet=(e,t)=>{let r=e.find(e=>e.key===t.key&&e.value===t.value);return void 0!==r?removeFacet(e,t):setFacet(e,t,!1)},toggleFacets=(e,t)=>t.reduce((e,t)=>toggleFacet(e,t),e)},86878:(e,t,r)=>{"use strict";r.d(t,{j:()=>initialize,X:()=>l});var a=r(43778),o=r(26142),n=r(72339),i=r(12404),s=r.n(i);let initialize=({sort:e="score_desc",selectedFacets:t=[],term:r=null,base:a="/",page:o=0,passThrough:n=new URLSearchParams}={})=>({sort:e,selectedFacets:t,term:r,base:a,page:o,passThrough:n}),c=(0,a.U)((e,t)=>({state:initialize(),setState:r=>{let a=t().state,o={...a,...r};!1===s()(a,o)&&e({state:o})},appendFacet:t=>e(e=>({state:{...e.state,selectedFacets:[...e.state.selectedFacets.filter(e=>!t.some(t=>t.key===e.key)),...t]}})),itemsPerPage:0,setItemsPerPage:t=>e({itemsPerPage:t}),pages:function(){try{let e=window.history.state?.key;if(!e)return null;let t=getSessionStorageKey(e),r=sessionStorage.getItem(t);return r?JSON.parse(r):null}catch(e){return null}}()??[0],addPrevPage:()=>{let{pages:r}=t(),a=r[0]-1,o=[a,...r];setPagesSessionStorage(o),e({pages:o})},addNextPage:()=>{let{pages:r}=t(),a=Number(r.at(-1))+1,o=[...r,a];setPagesSessionStorage(o),e({pages:o})},resetInfiniteScroll:t=>{let r=[t];setPagesSessionStorage(r),e({pages:r})},parseURL:r=>{let a=(0,o.Q)(r),i=(0,n.Z)(t().state);(0,n.Z)(a).href!==i.href&&e({state:a})},serializedState:()=>(0,n.Z)(t().state),initialized:!1,reset:()=>{e({state:{...initialize({base:t().state.base})}})},start:(r,a)=>{t().initialized||e(e=>({initialized:!0,state:initialize({...e.state,...a,...(0,o.Q)(new URL(r,"http://localhost"))}),itemsPerPage:a.itemsPerPage??e.itemsPerPage,pages:a.pages??e.pages}))}})),l=(e=>{for(let t of(e.use={},Object.keys(e.getState())))e.use[t]=()=>e(e=>e[t]);return e})(c),getSessionStorageKey=e=>`__fs_gallery_page_${e}`;function setPagesSessionStorage(e){try{let t=window.history.state?.key;if(!t)return;let r=getSessionStorageKey(t);sessionStorage.setItem(r,JSON.stringify(e))}catch(e){return}}},26142:(e,t,r)=>{"use strict";r.d(t,{Q:()=>parse});var a=r(12254),o=r(9664),n=r(86878);let parse=({pathname:e,searchParams:t})=>{let r=(0,n.j)({base:e,term:t.get("q")??null,sort:t.get("sort")??void 0,page:Number(t.get("page")??0)});if(!(0,o.wb)(r.sort))throw new a.q(`Uknown sorting option ${r.sort}`);let i=t.get("facets")?.split(",")??[];for(let e of i){let a=t.getAll(e);for(let t of a)r.selectedFacets=(0,o.uL)(r.selectedFacets,{key:e,value:t})}return r.passThrough=function(e,t){let r=new URLSearchParams,a=new Set(t),o=Array.from(e.entries());for(let[e,t]of o)a.has(e)||r.append(e,t);return r}(t,["q","sort","page","facets",...i]),r}},69029:(e,t,r)=>{"use strict";r.d(t,{R:()=>useSearch});var a=r(86878);let useSearch=()=>{let e=(0,a.X)();return e}},88987:(e,t,r)=>{"use strict";r.d(t,{S:()=>createSessionStore});var a=r(49578);let createSessionStore=(e,t,r="fs::session")=>(0,a.M)(e,r,t)},73365:(e,t,r)=>{"use strict";r.d(t,{M:()=>createStore});let createStore=e=>{let t=new Set,r=new Set,a=e;return{set:e=>{a=e,r.forEach(e=>e()),r.clear(),t.forEach(t=>{let a=t(e);"function"==typeof a&&r.add(a)})},read:()=>a,readInitial:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)})}}},49578:(e,t,r)=>{"use strict";r.d(t,{M:()=>createStore});var a=r(74375),o=r(25214),n=r(78901),i=r(68956),s=r(73365);let identity=e=>e,createStore=(e,t,r)=>(0,i.q)([t?(0,n.r)(t):identity,t?(0,a.R)(t):identity,r?(0,o.A)(r):identity],(0,s.M)(e))},25214:(e,t,r)=>{"use strict";r.d(t,{A:()=>optimistic});let trivial=async()=>null,optimistic=(e=trivial)=>{let t=Promise.resolve();return r=>(r.subscribe(a=>{let o=!1,handler=async()=>{if(o)return;let t=await e(a);o||null===t||r.set(t)};return t=t.then(handler),()=>{o=!0}}),r)}},74375:(e,t,r)=>{"use strict";r.d(t,{R:()=>persisted});var a=r(87337);let getIDB=async e=>{try{return await (0,a.U2)(e)}catch(e){return}},setIDB=async(e,t)=>{try{await (0,a.t8)(e,t)}catch(e){}},debounce=(e,t)=>{let r;return(...a)=>{clearTimeout(r),r=setTimeout(()=>{e(...a)},t)}},persisted=e=>t=>{let handler=async()=>{let r=await getIDB(e);"undefined"!=typeof document&&t.set(r??t.readInitial())},r=debounce(handler,500);return r(),globalThis.addEventListener?.("focus",()=>r()),globalThis.document?.addEventListener("visibilitychange",()=>"visible"===document.visibilityState&&r()),t.subscribe(t=>{setIDB(e,t)}),t}},78901:(e,t,r)=>{"use strict";r.d(t,{r:()=>singleton}),globalThis.faststore_sdk_stores=globalThis.faststore_sdk_stores??new Map;let singleton=e=>t=>{let r=globalThis.faststore_sdk_stores;return r.has(e)||r.set(e,t),r.get(e)}},68956:(e,t,r)=>{"use strict";r.d(t,{q:()=>compose});let compose=(e,t)=>e.reduce((e,t)=>t(e),t)},12254:(e,t,r)=>{"use strict";r.d(t,{q:()=>SDKError});let SDKError=class SDKError extends Error{constructor(e){super(`[sdk]: ${e}`)}}},72339:(e,t,r)=>{"use strict";r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});let __WEBPACK_DEFAULT_EXPORT__=e=>{let t=new URL(e.base,"http://localhost"),{page:r,selectedFacets:a,sort:o,term:n,passThrough:i}=e;null!==n&&t.searchParams.set("q",n);let s=new Set;for(let e of a)t.searchParams.append(e.key,e.value),s.add(e.key);if(a.length>0&&t.searchParams.set("facets",Array.from(s).join(",")),t.searchParams.set("sort",o),t.searchParams.set("page",r.toString()),i)for(let[e,r]of i.entries())t.searchParams.append(e,r);return t}}};
|