@faststore/core 3.62.0 → 3.63.1
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/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/6011.js +2 -2
- package/.next/server/chunks/9563.js +2 -2
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/account/orders/[id].js +1 -1
- package/.next/server/pages/api/graphql.js +2 -2
- 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-manifest.json +1 -1
- package/.next/static/{xhKBJ7tlyHwALHIa3Y3JM → IwvKHHiKmlhXatR48ylgQ}/_buildManifest.js +1 -1
- package/.next/static/chunks/pages/_app-c3dce4c45c6c6b35.js +1 -0
- package/.next/static/chunks/pages/account/orders/{[id]-40637c13cd4487aa.js → [id]-fdf7677a1aa1c58d.js} +1 -1
- package/.next/trace +129 -129
- package/.turbo/turbo-build.log +10 -10
- package/.turbo/turbo-test.log +5 -5
- package/@generated/gql.ts +2 -2
- package/@generated/graphql.ts +1 -4
- package/@generated/persisted-documents.json +1 -1
- package/@generated/schema.graphql +0 -2
- package/CHANGELOG.md +12 -0
- package/package.json +4 -4
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/MyAccountOrderActions.tsx +3 -3
- package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderDetails.tsx +1 -1
- package/src/pages/account/orders/[id].tsx +0 -1
- package/src/sdk/analytics/index.tsx +13 -4
- package/.next/static/chunks/pages/_app-64f7ace1026eb755.js +0 -1
- /package/.next/static/{xhKBJ7tlyHwALHIa3Y3JM → IwvKHHiKmlhXatR48ylgQ}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.
|
|
2
|
+
> @faststore/core@3.63.0 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.63.0 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.63.0 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.63.0 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.63.0 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.63.0 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.63.0 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
|
|
@@ -62,8 +62,8 @@ Browserslist: browsers data (caniuse-lite) is 6 months old. Please run:
|
|
|
62
62
|
Collecting page data ...
|
|
63
63
|
Generating static pages (0/6) ...
|
|
64
64
|
|
|
65
65
|
Generating static pages (1/6)
|
|
66
|
-
|
|
67
66
|
Generating static pages (2/6)
|
|
68
67
|
Warning: Dynamic Content not found for the page: home. Refer to the Dynamic Content documentation at https://developers.vtex.com/docs/guides/faststore/dynamic-content-overview for mapping the page and the corresponding data-fetching function.
|
|
68
|
+
|
|
69
69
|
Generating static pages (2/6)
|
|
70
70
|
|
|
71
71
|
Generating static pages (4/6)
|
|
72
72
|
|
|
73
73
|
✓ Generating static pages (6/6)
|
|
74
74
|
Finalizing page optimization ...
|
|
@@ -80,7 +80,7 @@ Route (pages) Size First Load JS
|
|
|
80
80
|
├ └ css/6831395ff5fd317a.css 16.1 kB
|
|
81
81
|
├ ○ /404 1.48 kB 131 kB
|
|
82
82
|
├ ● /500 1.48 kB 131 kB
|
|
83
|
-
├ λ /account 240 B
|
|
83
|
+
├ λ /account 240 B 101 kB
|
|
84
84
|
├ ● /account/[...unknown] 281 B 101 kB
|
|
85
85
|
├ λ /account/403 2.33 kB 132 kB
|
|
86
86
|
├ └ css/b7bba8fce075688b.css 4.2 kB
|
|
@@ -103,7 +103,7 @@ Route (pages) Size First Load JS
|
|
|
103
103
|
+ First Load JS shared by all 104 kB
|
|
104
104
|
├ chunks/framework-807b0f81cbc129f0.js 45.4 kB
|
|
105
105
|
├ chunks/main-f658704b53a96ab1.js 33.1 kB
|
|
106
|
-
├ chunks/pages/_app-
|
|
106
|
+
├ chunks/pages/_app-c3dce4c45c6c6b35.js 18.1 kB
|
|
107
107
|
├ chunks/webpack-c76f1cac87402029.js 3.73 kB
|
|
108
108
|
└ css/0a57ee6c7a57788c.css 3.49 kB
|
|
109
109
|
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.
|
|
2
|
+
> @faststore/core@3.63.0 test /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> jest
|
|
4
4
|
|
|
5
|
-
PASS test/utils/multipleTemplates.test.ts (
|
|
6
|
-
PASS test/server/cms/global.test.ts (
|
|
5
|
+
PASS test/utils/multipleTemplates.test.ts (25.849 s)
|
|
6
|
+
PASS test/server/cms/global.test.ts (25.82 s)
|
|
7
7
|
PASS test/server/cms/index.test.ts
|
|
8
|
-
PASS test/server/index.test.ts (30.
|
|
8
|
+
PASS test/server/index.test.ts (30.206 s)
|
|
9
9
|
A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --detectOpenHandles to find leaks. Active timers can also cause this, ensure that .unref() was called on them.
|
|
10
10
|
|
|
11
11
|
Test Suites: 4 passed, 4 total
|
|
12
12
|
Tests: 22 passed, 22 total
|
|
13
13
|
Snapshots: 0 total
|
|
14
|
-
Time: 31.
|
|
14
|
+
Time: 31.709 s
|
|
15
15
|
Ran all test suites.
|
package/@generated/gql.ts
CHANGED
|
@@ -44,7 +44,7 @@ const documents = {
|
|
|
44
44
|
types.ServerProductQueryDocument,
|
|
45
45
|
'\n fragment UserOrderItemsFragment on UserOrderItems {\n id\n name\n quantity\n sellingPrice\n unitMultiplier\n measurementUnit\n imageUrl\n detailUrl\n refId\n rewardValue\n }\n':
|
|
46
46
|
types.UserOrderItemsFragmentFragmentDoc,
|
|
47
|
-
'\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n status\n
|
|
47
|
+
'\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n status\n statusDescription\n allowCancellation\n storePreferencesData {\n currencyCode\n }\n clientProfileData {\n firstName\n lastName\n email\n phone\n corporateName\n isCorporate\n }\n customFields {\n type\n id\n fields {\n name\n value\n refId\n }\n }\n deliveryOptionsData {\n deliveryOptions {\n selectedSla\n deliveryChannel\n deliveryCompany\n deliveryWindow {\n startDateUtc\n endDateUtc\n price\n }\n shippingEstimate\n shippingEstimateDate\n friendlyShippingEstimate\n friendlyDeliveryOptionName\n seller\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n pickupStoreInfo {\n additionalInfo\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n dockId\n friendlyName\n isPickupStore\n }\n quantityOfDifferentItems\n total\n items {\n id\n name\n quantity\n price\n imageUrl\n tax\n total\n }\n }\n contact {\n email\n phone\n name\n }\n }\n paymentData {\n transactions {\n isActive\n payments {\n id\n paymentSystemName\n value\n installments\n referenceValue\n lastDigits\n url\n group\n tid\n connectorResponses {\n authId\n }\n bankIssuedInvoiceIdentificationNumber\n redemptionCode\n paymentOrigin\n }\n }\n }\n totals {\n id\n name\n value\n }\n }\n accountName\n }\n':
|
|
48
48
|
types.ServerOrderDetailsQueryDocument,
|
|
49
49
|
'\n query ServerListOrdersQuery ($page: Int,$perPage: Int, $status: [String], $dateInitial: String, $dateFinal: String, $text: String, $clientEmail: String) {\n listUserOrders (page: $page, perPage: $perPage, status: $status, dateInitial: $dateInitial, dateFinal: $dateFinal, text: $text, clientEmail: $clientEmail) {\n list {\n orderId\n creationDate\n clientName\n items {\n seller\n quantity\n description\n ean\n refId\n id\n productId\n sellingPrice\n price\n }\n totalValue\n status\n statusDescription\n ShippingEstimatedDate\n currencyCode\n customFields {\n type\n value\n }\n }\n paging {\n total\n pages\n currentPage\n perPage\n }\n }\n accountName\n }\n':
|
|
50
50
|
types.ServerListOrdersQueryDocument,
|
|
@@ -186,7 +186,7 @@ export function gql(
|
|
|
186
186
|
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
187
187
|
*/
|
|
188
188
|
export function gql(
|
|
189
|
-
source: '\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n status\n
|
|
189
|
+
source: '\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n status\n statusDescription\n allowCancellation\n storePreferencesData {\n currencyCode\n }\n clientProfileData {\n firstName\n lastName\n email\n phone\n corporateName\n isCorporate\n }\n customFields {\n type\n id\n fields {\n name\n value\n refId\n }\n }\n deliveryOptionsData {\n deliveryOptions {\n selectedSla\n deliveryChannel\n deliveryCompany\n deliveryWindow {\n startDateUtc\n endDateUtc\n price\n }\n shippingEstimate\n shippingEstimateDate\n friendlyShippingEstimate\n friendlyDeliveryOptionName\n seller\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n pickupStoreInfo {\n additionalInfo\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n dockId\n friendlyName\n isPickupStore\n }\n quantityOfDifferentItems\n total\n items {\n id\n name\n quantity\n price\n imageUrl\n tax\n total\n }\n }\n contact {\n email\n phone\n name\n }\n }\n paymentData {\n transactions {\n isActive\n payments {\n id\n paymentSystemName\n value\n installments\n referenceValue\n lastDigits\n url\n group\n tid\n connectorResponses {\n authId\n }\n bankIssuedInvoiceIdentificationNumber\n redemptionCode\n paymentOrigin\n }\n }\n }\n totals {\n id\n name\n value\n }\n }\n accountName\n }\n'
|
|
190
190
|
): typeof import('./graphql').ServerOrderDetailsQueryDocument
|
|
191
191
|
/**
|
|
192
192
|
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
package/@generated/graphql.ts
CHANGED
|
@@ -1270,7 +1270,6 @@ export type UserOrder = {
|
|
|
1270
1270
|
allowEdition: Maybe<Scalars['Boolean']['output']>
|
|
1271
1271
|
authorizedDate: Maybe<Scalars['String']['output']>
|
|
1272
1272
|
callCenterOperatorData: Maybe<Scalars['String']['output']>
|
|
1273
|
-
canCancelOrder: Maybe<Scalars['Boolean']['output']>
|
|
1274
1273
|
cancelReason: Maybe<Scalars['String']['output']>
|
|
1275
1274
|
cancellationData: Maybe<UserOrderCancellationData>
|
|
1276
1275
|
cancellationRequests: Maybe<Array<Maybe<UserOrderCancellationRequest>>>
|
|
@@ -1918,7 +1917,6 @@ export type UserOrderRestitutions = {
|
|
|
1918
1917
|
|
|
1919
1918
|
export type UserOrderResult = {
|
|
1920
1919
|
allowCancellation: Maybe<Scalars['Boolean']['output']>
|
|
1921
|
-
canCancelOrder: Maybe<Scalars['Boolean']['output']>
|
|
1922
1920
|
clientProfileData: Maybe<UserOrderClientProfileData>
|
|
1923
1921
|
customData: Maybe<UserOrderCustomData>
|
|
1924
1922
|
customFields: Maybe<Array<Maybe<UserOrderCustomFieldsGrouped>>>
|
|
@@ -2277,7 +2275,6 @@ export type ServerOrderDetailsQueryQuery = {
|
|
|
2277
2275
|
userOrder: {
|
|
2278
2276
|
orderId: string | null
|
|
2279
2277
|
status: string | null
|
|
2280
|
-
canCancelOrder: boolean | null
|
|
2281
2278
|
statusDescription: string | null
|
|
2282
2279
|
allowCancellation: boolean | null
|
|
2283
2280
|
storePreferencesData: { currencyCode: string | null } | null
|
|
@@ -3512,7 +3509,7 @@ export const ServerProductQueryDocument = {
|
|
|
3512
3509
|
export const ServerOrderDetailsQueryDocument = {
|
|
3513
3510
|
__meta__: {
|
|
3514
3511
|
operationName: 'ServerOrderDetailsQuery',
|
|
3515
|
-
operationHash: '
|
|
3512
|
+
operationHash: 'c957b142e7f211126246f91a42db6d76c519da77',
|
|
3516
3513
|
},
|
|
3517
3514
|
} as unknown as TypedDocumentString<
|
|
3518
3515
|
ServerOrderDetailsQueryQuery,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"47315a3cd26ddd9c7fa963778988464341b8193f": "query ServerAccountPageQuery { accountName }",
|
|
3
3
|
"4b33c5c07f440dc7489e55619dc2211a13786e72": "fragment ServerCollectionPage on Query { collection(slug: $slug) { id } } query ServerCollectionPageQuery($slug: String!) { collection(slug: $slug) { breadcrumbList { itemListElement { item name position } } meta { selectedFacets { key value } } seo { description title } } ...ServerCollectionPage }",
|
|
4
4
|
"46103bee661405bde706d72126fdbf9b0a0c9e6e": "fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } fragment ProductDetailsFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } fragment ServerProduct on Query { product(locator: $locator) { id: productID } } query ServerProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { brand { name } breadcrumbList { itemListElement { item name position } } description gtin image { alternateName url } isVariantOf { productGroupID } name offers { highPrice lowPrice lowPriceWithTaxes offers { availability itemCondition price priceCurrency priceValidUntil seller { identifier } } priceCurrency } id: productID releaseDate seo { canonical description title } sku ...ProductDetailsFragment_product } ...ServerProduct }",
|
|
5
|
-
"
|
|
5
|
+
"c957b142e7f211126246f91a42db6d76c519da77": "query ServerOrderDetailsQuery($orderId: String!) { accountName userOrder(orderId: $orderId) { allowCancellation clientProfileData { corporateName email firstName isCorporate lastName phone } customFields { fields { name refId value } id type } deliveryOptionsData { contact { email name phone } deliveryOptions { address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } deliveryChannel deliveryCompany deliveryWindow { endDateUtc price startDateUtc } friendlyDeliveryOptionName friendlyShippingEstimate items { id imageUrl name price quantity tax total } pickupStoreInfo { additionalInfo address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } dockId friendlyName isPickupStore } quantityOfDifferentItems selectedSla seller shippingEstimate shippingEstimateDate total } } orderId paymentData { transactions { isActive payments { bankIssuedInvoiceIdentificationNumber connectorResponses { authId } group id installments lastDigits paymentOrigin paymentSystemName redemptionCode referenceValue tid url value } } } status statusDescription storePreferencesData { currencyCode } totals { id name value } } }",
|
|
6
6
|
"ee84ac3f5b58c5e1950a927a42c5c1dd6012fcc4": "query ServerListOrdersQuery($clientEmail: String, $dateFinal: String, $dateInitial: String, $page: Int, $perPage: Int, $status: [String], $text: String) { accountName listUserOrders( page: $page perPage: $perPage status: $status dateInitial: $dateInitial dateFinal: $dateFinal text: $text clientEmail: $clientEmail ) { list { ShippingEstimatedDate clientName creationDate currencyCode customFields { type value } items { description ean id price productId quantity refId seller sellingPrice } orderId status statusDescription totalValue } paging { currentPage pages perPage total } } }",
|
|
7
7
|
"c4191223fe0b642eee3aaaa2c56563da7d163265": "query ServerProfileQuery { accountName }",
|
|
8
8
|
"9f24767f16e6e05c168336701a6c6c7b6b5dc1c6": "query ServerSecurityQuery { accountName }",
|
|
@@ -1280,13 +1280,11 @@ type UserOrder {
|
|
|
1280
1280
|
totals: [UserOrderTotals]
|
|
1281
1281
|
deliveryOptionsData: UserOrderDeliveryOptionsData
|
|
1282
1282
|
customFields: [UserOrderCustomFieldsGrouped]
|
|
1283
|
-
canCancelOrder: Boolean
|
|
1284
1283
|
}
|
|
1285
1284
|
|
|
1286
1285
|
type UserOrderResult {
|
|
1287
1286
|
orderId: String
|
|
1288
1287
|
status: String
|
|
1289
|
-
canCancelOrder: Boolean
|
|
1290
1288
|
statusDescription: String
|
|
1291
1289
|
allowCancellation: Boolean
|
|
1292
1290
|
storePreferencesData: UserOrderStorePreferencesData
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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.63.1](https://github.com/vtex/faststore/compare/v3.63.0...v3.63.1) (2025-07-15)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- use allowCancellation to validate cancel order button ([#2942](https://github.com/vtex/faststore/issues/2942)) ([1f0f6a9](https://github.com/vtex/faststore/commit/1f0f6a9dc27436b6de63e2aff58a1086d4b2ae2a)), closes [/github.com/vtex/my-orders/blob/ff400736a4b6ea8eb70298c2de26a6e974489fc3/react/pages/CancelOrder.jsx#L116](https://github.com//github.com/vtex/my-orders/blob/ff400736a4b6ea8eb70298c2de26a6e974489fc3/react/pages/CancelOrder.jsx/issues/L116) [/github.com/vtex/my-orders/blob/ff400736a4b6ea8eb70298c2de26a6e974489fc3/react/components/Order/OrderActions.jsx#L41](https://github.com//github.com/vtex/my-orders/blob/ff400736a4b6ea8eb70298c2de26a6e974489fc3/react/components/Order/OrderActions.jsx/issues/L41)
|
|
11
|
+
|
|
12
|
+
# [3.63.0](https://github.com/vtex/faststore/compare/v3.62.0...v3.63.0) (2025-07-14)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- add param for custom event ([#2927](https://github.com/vtex/faststore/issues/2927)) ([b73d4da](https://github.com/vtex/faststore/commit/b73d4dad8d22a9eb498e020af6db24a8e8cd16f7)), closes [#parameter_2](https://github.com/vtex/faststore/issues/parameter_2) [#parameter_3](https://github.com/vtex/faststore/issues/parameter_3) [#parameter_2](https://github.com/vtex/faststore/issues/parameter_2) [#parameter_3](https://github.com/vtex/faststore/issues/parameter_3)
|
|
17
|
+
|
|
6
18
|
# [3.62.0](https://github.com/vtex/faststore/compare/v3.61.0...v3.62.0) (2025-07-11)
|
|
7
19
|
|
|
8
20
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.63.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -44,10 +44,10 @@
|
|
|
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.
|
|
47
|
+
"@faststore/api": "^3.63.1",
|
|
48
48
|
"@faststore/graphql-utils": "^3.56.1",
|
|
49
49
|
"@faststore/lighthouse": "^3.56.1",
|
|
50
|
-
"@faststore/sdk": "^3.
|
|
50
|
+
"@faststore/sdk": "^3.63.0",
|
|
51
51
|
"@faststore/ui": "^3.60.4",
|
|
52
52
|
"@graphql-codegen/cli": "5.0.2",
|
|
53
53
|
"@graphql-codegen/client-preset": "4.2.6",
|
|
@@ -105,5 +105,5 @@
|
|
|
105
105
|
"ts-jest": "29.1.1",
|
|
106
106
|
"typescript": "5.3.2"
|
|
107
107
|
},
|
|
108
|
-
"gitHead": "
|
|
108
|
+
"gitHead": "0d2dfd4709b4726d432f91957e723546f628a9d3"
|
|
109
109
|
}
|
|
@@ -23,13 +23,13 @@ const TOASTS_CONFIG = {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
interface MyAccountOrderActionsProps {
|
|
26
|
-
|
|
26
|
+
allowCancellation: boolean
|
|
27
27
|
orderId: string
|
|
28
28
|
customerEmail?: string
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export default function MyAccountOrderActions({
|
|
32
|
-
|
|
32
|
+
allowCancellation,
|
|
33
33
|
orderId,
|
|
34
34
|
customerEmail,
|
|
35
35
|
}: MyAccountOrderActionsProps) {
|
|
@@ -89,7 +89,7 @@ export default function MyAccountOrderActions({
|
|
|
89
89
|
return (
|
|
90
90
|
<>
|
|
91
91
|
<div data-fs-order-details-header-actions>
|
|
92
|
-
{
|
|
92
|
+
{allowCancellation && (
|
|
93
93
|
<UIButton
|
|
94
94
|
variant="secondary"
|
|
95
95
|
data-fs-order-details-header-actions-cancel
|
|
@@ -52,7 +52,7 @@ export default function MyAccountOrderDetails({
|
|
|
52
52
|
</div>
|
|
53
53
|
</div>
|
|
54
54
|
<MyAccountOrderActions
|
|
55
|
-
|
|
55
|
+
allowCancellation={order.allowCancellation}
|
|
56
56
|
orderId={order.orderId}
|
|
57
57
|
customerEmail={order.clientProfileData?.email}
|
|
58
58
|
/>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnalyticsEvent } from '@faststore/sdk'
|
|
2
|
-
import { useAnalyticsEvent } from '@faststore/sdk'
|
|
2
|
+
import { useAnalyticsEvent, type UnknownEvent } from '@faststore/sdk'
|
|
3
3
|
|
|
4
4
|
import storeConfig from '../../../discovery.config'
|
|
5
5
|
|
|
@@ -12,14 +12,23 @@ if (typeof window !== 'undefined') {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
const AnalyticsHandler = (): null => {
|
|
15
|
-
useAnalyticsEvent((event:
|
|
15
|
+
useAnalyticsEvent((event: UnknownEvent) => {
|
|
16
16
|
// Cleans the ecommerce object before pushing a new one
|
|
17
17
|
// This prevents the new data from getting merged with the previous one
|
|
18
18
|
// which could lead do inaccurate and old data being sent with events
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
// source: https://developers.google.com/tag-manager/ecommerce-ga4?hl=pt-br#clearing_the_ecommerce_object
|
|
21
|
+
|
|
21
22
|
window.dataLayer.push({ ecommerce: null })
|
|
22
|
-
|
|
23
|
+
|
|
24
|
+
const payload = event.isEcommerceEvent
|
|
25
|
+
? ({ event: event.name, ecommerce: event.params } as {
|
|
26
|
+
event: AnalyticsEvent['name']
|
|
27
|
+
ecommerce: AnalyticsEvent['params']
|
|
28
|
+
})
|
|
29
|
+
: { event: event.name, ...event.params }
|
|
30
|
+
|
|
31
|
+
window.dataLayer.push(payload)
|
|
23
32
|
|
|
24
33
|
import(`./platform/${storeConfig.platform}`).then(
|
|
25
34
|
({ default: sendEvent }) => {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2888],{4876:function(e){"use strict";var isMergeableObject=function(e){var n;return!!e&&"object"==typeof e&&"[object RegExp]"!==(n=Object.prototype.toString.call(e))&&"[object Date]"!==n&&e.$$typeof!==t},t="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function cloneUnlessOtherwiseSpecified(e,t){return!1!==t.clone&&t.isMergeableObject(e)?deepmerge(Array.isArray(e)?[]:{},e,t):e}function defaultArrayMerge(e,t,n){return e.concat(t).map(function(e){return cloneUnlessOtherwiseSpecified(e,n)})}function getKeys(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function propertyIsOnObject(e,t){try{return t in e}catch(e){return!1}}function deepmerge(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||defaultArrayMerge,n.isMergeableObject=n.isMergeableObject||isMergeableObject,n.cloneUnlessOtherwiseSpecified=cloneUnlessOtherwiseSpecified;var r,o,a=Array.isArray(t);return a!==Array.isArray(e)?cloneUnlessOtherwiseSpecified(t,n):a?n.arrayMerge(e,t,n):(o={},(r=n).isMergeableObject(e)&&getKeys(e).forEach(function(t){o[t]=cloneUnlessOtherwiseSpecified(e[t],r)}),getKeys(t).forEach(function(n){(!propertyIsOnObject(e,n)||Object.hasOwnProperty.call(e,n)&&Object.propertyIsEnumerable.call(e,n))&&(propertyIsOnObject(e,n)&&r.isMergeableObject(t[n])?o[n]=(function(e,t){if(!t.customMerge)return deepmerge;var n=t.customMerge(e);return"function"==typeof n?n:deepmerge})(n,r)(e[n],t[n],r):o[n]=cloneUnlessOtherwiseSpecified(t[n],r))}),o)}deepmerge.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,n){return deepmerge(e,n,t)},{})},e.exports=deepmerge},4204:function(e){"use strict";e.exports=function equal(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!equal(e[r],t[r]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){var n,r,o,a=o[r];if(!equal(e[a],t[a]))return!1}return!0}return e!=e&&t!=t}},5935:function(e,t,n){"use strict";n.d(t,{PB:function(){return NextSeo},Qb:function(){return ProductJsonLd},gR:function(){return BreadCrumbJsonLd},iu:function(){return SiteLinksSearchBoxJsonLd},lX:function(){return DefaultSeo},ns:function(){return OrganizationJsonLd}});var r=n(4194),o=n(7401),a=n.n(o);function _extends(){return(_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var i=["keyOverride"],s=["crossOrigin"],c={templateTitle:"",noindex:!1,nofollow:!1,norobots:!1,defaultOpenGraphImageWidth:0,defaultOpenGraphImageHeight:0,defaultOpenGraphVideoWidth:0,defaultOpenGraphVideoHeight:0},buildOpenGraphMediaTags=function(e,t,n){void 0===t&&(t=[]);var o=void 0===n?{}:n,a=o.defaultWidth,i=o.defaultHeight;return t.reduce(function(t,n,o){return t.push(r.createElement("meta",{key:"og:"+e+":0"+o,property:"og:"+e,content:n.url})),n.alt&&t.push(r.createElement("meta",{key:"og:"+e+":alt0"+o,property:"og:"+e+":alt",content:n.alt})),n.secureUrl&&t.push(r.createElement("meta",{key:"og:"+e+":secure_url0"+o,property:"og:"+e+":secure_url",content:n.secureUrl.toString()})),n.type&&t.push(r.createElement("meta",{key:"og:"+e+":type0"+o,property:"og:"+e+":type",content:n.type.toString()})),n.width?t.push(r.createElement("meta",{key:"og:"+e+":width0"+o,property:"og:"+e+":width",content:n.width.toString()})):a&&t.push(r.createElement("meta",{key:"og:"+e+":width0"+o,property:"og:"+e+":width",content:a.toString()})),n.height?t.push(r.createElement("meta",{key:"og:"+e+":height"+o,property:"og:"+e+":height",content:n.height.toString()})):i&&t.push(r.createElement("meta",{key:"og:"+e+":height"+o,property:"og:"+e+":height",content:i.toString()})),t},[])},buildTags=function(e){var t,n,o,a,l,u=[];e.titleTemplate&&(c.templateTitle=e.titleTemplate);var p="";e.title?(p=e.title,c.templateTitle&&(p=c.templateTitle.replace(/%s/g,function(){return p}))):e.defaultTitle&&(p=e.defaultTitle),p&&u.push(r.createElement("title",{key:"title"},p));var d=void 0===e.noindex?c.noindex||e.dangerouslySetAllPagesToNoIndex:e.noindex,f=void 0===e.nofollow?c.nofollow||e.dangerouslySetAllPagesToNoFollow:e.nofollow,m=e.norobots||c.norobots,g="";if(e.robotsProps){var h=e.robotsProps,y=h.nosnippet,b=h.maxSnippet,v=h.maxImagePreview,S=h.maxVideoPreview,w=h.noarchive,O=h.noimageindex,_=h.notranslate,P=h.unavailableAfter;g=(y?",nosnippet":"")+(b?",max-snippet:"+b:"")+(v?",max-image-preview:"+v:"")+(w?",noarchive":"")+(P?",unavailable_after:"+P:"")+(O?",noimageindex":"")+(S?",max-video-preview:"+S:"")+(_?",notranslate":"")}if(e.norobots&&(c.norobots=!0),d||f?(e.dangerouslySetAllPagesToNoIndex&&(c.noindex=!0),e.dangerouslySetAllPagesToNoFollow&&(c.nofollow=!0),u.push(r.createElement("meta",{key:"robots",name:"robots",content:(d?"noindex":"index")+","+(f?"nofollow":"follow")+g}))):(!m||g)&&u.push(r.createElement("meta",{key:"robots",name:"robots",content:"index,follow"+g})),e.description&&u.push(r.createElement("meta",{key:"description",name:"description",content:e.description})),e.themeColor&&u.push(r.createElement("meta",{key:"theme-color",name:"theme-color",content:e.themeColor})),e.mobileAlternate&&u.push(r.createElement("link",{rel:"alternate",key:"mobileAlternate",media:e.mobileAlternate.media,href:e.mobileAlternate.href})),e.languageAlternates&&e.languageAlternates.length>0&&e.languageAlternates.forEach(function(e){u.push(r.createElement("link",{rel:"alternate",key:"languageAlternate-"+e.hrefLang,hrefLang:e.hrefLang,href:e.href}))}),e.twitter&&(e.twitter.cardType&&u.push(r.createElement("meta",{key:"twitter:card",name:"twitter:card",content:e.twitter.cardType})),e.twitter.site&&u.push(r.createElement("meta",{key:"twitter:site",name:"twitter:site",content:e.twitter.site})),e.twitter.handle&&u.push(r.createElement("meta",{key:"twitter:creator",name:"twitter:creator",content:e.twitter.handle}))),e.facebook&&e.facebook.appId&&u.push(r.createElement("meta",{key:"fb:app_id",property:"fb:app_id",content:e.facebook.appId})),(null!=(t=e.openGraph)&&t.title||p)&&u.push(r.createElement("meta",{key:"og:title",property:"og:title",content:(null==(a=e.openGraph)?void 0:a.title)||p})),(null!=(n=e.openGraph)&&n.description||e.description)&&u.push(r.createElement("meta",{key:"og:description",property:"og:description",content:(null==(l=e.openGraph)?void 0:l.description)||e.description})),e.openGraph){if((e.openGraph.url||e.canonical)&&u.push(r.createElement("meta",{key:"og:url",property:"og:url",content:e.openGraph.url||e.canonical})),e.openGraph.type){var j=e.openGraph.type.toLowerCase();u.push(r.createElement("meta",{key:"og:type",property:"og:type",content:j})),"profile"===j&&e.openGraph.profile?(e.openGraph.profile.firstName&&u.push(r.createElement("meta",{key:"profile:first_name",property:"profile:first_name",content:e.openGraph.profile.firstName})),e.openGraph.profile.lastName&&u.push(r.createElement("meta",{key:"profile:last_name",property:"profile:last_name",content:e.openGraph.profile.lastName})),e.openGraph.profile.username&&u.push(r.createElement("meta",{key:"profile:username",property:"profile:username",content:e.openGraph.profile.username})),e.openGraph.profile.gender&&u.push(r.createElement("meta",{key:"profile:gender",property:"profile:gender",content:e.openGraph.profile.gender}))):"book"===j&&e.openGraph.book?(e.openGraph.book.authors&&e.openGraph.book.authors.length&&e.openGraph.book.authors.forEach(function(e,t){u.push(r.createElement("meta",{key:"book:author:0"+t,property:"book:author",content:e}))}),e.openGraph.book.isbn&&u.push(r.createElement("meta",{key:"book:isbn",property:"book:isbn",content:e.openGraph.book.isbn})),e.openGraph.book.releaseDate&&u.push(r.createElement("meta",{key:"book:release_date",property:"book:release_date",content:e.openGraph.book.releaseDate})),e.openGraph.book.tags&&e.openGraph.book.tags.length&&e.openGraph.book.tags.forEach(function(e,t){u.push(r.createElement("meta",{key:"book:tag:0"+t,property:"book:tag",content:e}))})):"article"===j&&e.openGraph.article?(e.openGraph.article.publishedTime&&u.push(r.createElement("meta",{key:"article:published_time",property:"article:published_time",content:e.openGraph.article.publishedTime})),e.openGraph.article.modifiedTime&&u.push(r.createElement("meta",{key:"article:modified_time",property:"article:modified_time",content:e.openGraph.article.modifiedTime})),e.openGraph.article.expirationTime&&u.push(r.createElement("meta",{key:"article:expiration_time",property:"article:expiration_time",content:e.openGraph.article.expirationTime})),e.openGraph.article.authors&&e.openGraph.article.authors.length&&e.openGraph.article.authors.forEach(function(e,t){u.push(r.createElement("meta",{key:"article:author:0"+t,property:"article:author",content:e}))}),e.openGraph.article.section&&u.push(r.createElement("meta",{key:"article:section",property:"article:section",content:e.openGraph.article.section})),e.openGraph.article.tags&&e.openGraph.article.tags.length&&e.openGraph.article.tags.forEach(function(e,t){u.push(r.createElement("meta",{key:"article:tag:0"+t,property:"article:tag",content:e}))})):("video.movie"===j||"video.episode"===j||"video.tv_show"===j||"video.other"===j)&&e.openGraph.video&&(e.openGraph.video.actors&&e.openGraph.video.actors.length&&e.openGraph.video.actors.forEach(function(e,t){e.profile&&u.push(r.createElement("meta",{key:"video:actor:0"+t,property:"video:actor",content:e.profile})),e.role&&u.push(r.createElement("meta",{key:"video:actor:role:0"+t,property:"video:actor:role",content:e.role}))}),e.openGraph.video.directors&&e.openGraph.video.directors.length&&e.openGraph.video.directors.forEach(function(e,t){u.push(r.createElement("meta",{key:"video:director:0"+t,property:"video:director",content:e}))}),e.openGraph.video.writers&&e.openGraph.video.writers.length&&e.openGraph.video.writers.forEach(function(e,t){u.push(r.createElement("meta",{key:"video:writer:0"+t,property:"video:writer",content:e}))}),e.openGraph.video.duration&&u.push(r.createElement("meta",{key:"video:duration",property:"video:duration",content:e.openGraph.video.duration.toString()})),e.openGraph.video.releaseDate&&u.push(r.createElement("meta",{key:"video:release_date",property:"video:release_date",content:e.openGraph.video.releaseDate})),e.openGraph.video.tags&&e.openGraph.video.tags.length&&e.openGraph.video.tags.forEach(function(e,t){u.push(r.createElement("meta",{key:"video:tag:0"+t,property:"video:tag",content:e}))}),e.openGraph.video.series&&u.push(r.createElement("meta",{key:"video:series",property:"video:series",content:e.openGraph.video.series})))}e.defaultOpenGraphImageWidth&&(c.defaultOpenGraphImageWidth=e.defaultOpenGraphImageWidth),e.defaultOpenGraphImageHeight&&(c.defaultOpenGraphImageHeight=e.defaultOpenGraphImageHeight),e.openGraph.images&&e.openGraph.images.length&&u.push.apply(u,buildOpenGraphMediaTags("image",e.openGraph.images,{defaultWidth:c.defaultOpenGraphImageWidth,defaultHeight:c.defaultOpenGraphImageHeight})),e.defaultOpenGraphVideoWidth&&(c.defaultOpenGraphVideoWidth=e.defaultOpenGraphVideoWidth),e.defaultOpenGraphVideoHeight&&(c.defaultOpenGraphVideoHeight=e.defaultOpenGraphVideoHeight),e.openGraph.videos&&e.openGraph.videos.length&&u.push.apply(u,buildOpenGraphMediaTags("video",e.openGraph.videos,{defaultWidth:c.defaultOpenGraphVideoWidth,defaultHeight:c.defaultOpenGraphVideoHeight})),e.openGraph.audio&&u.push.apply(u,buildOpenGraphMediaTags("audio",e.openGraph.audio)),e.openGraph.locale&&u.push(r.createElement("meta",{key:"og:locale",property:"og:locale",content:e.openGraph.locale})),(e.openGraph.siteName||e.openGraph.site_name)&&u.push(r.createElement("meta",{key:"og:site_name",property:"og:site_name",content:e.openGraph.siteName||e.openGraph.site_name}))}return e.canonical&&u.push(r.createElement("link",{rel:"canonical",href:e.canonical,key:"canonical"})),e.additionalMetaTags&&e.additionalMetaTags.length>0&&e.additionalMetaTags.forEach(function(e){var t,n,o=e.keyOverride,a=_objectWithoutPropertiesLoose(e,i);u.push(r.createElement("meta",_extends({key:"meta:"+(null!=(t=null!=(n=null!=o?o:a.name)?n:a.property)?t:a.httpEquiv)},a)))}),null!=(o=e.additionalLinkTags)&&o.length&&e.additionalLinkTags.forEach(function(e){var t,n=e.crossOrigin,o=_objectWithoutPropertiesLoose(e,s);u.push(r.createElement("link",_extends({key:"link"+(null!=(t=o.keyOverride)?t:o.href)+o.rel},o,{crossOrigin:"anonymous"===n||"use-credentials"===n||""===n?n:void 0})))}),u},WithHead=function(e){return r.createElement(a(),null,buildTags(e))},DefaultSeo=function(e){var t=e.title,n=e.titleTemplate,o=e.defaultTitle,a=e.themeColor,i=e.dangerouslySetAllPagesToNoIndex,s=e.dangerouslySetAllPagesToNoFollow,c=e.description,l=e.canonical,u=e.facebook,p=e.openGraph,d=e.additionalMetaTags,f=e.twitter,m=e.defaultOpenGraphImageWidth,g=e.defaultOpenGraphImageHeight,h=e.defaultOpenGraphVideoWidth,y=e.defaultOpenGraphVideoHeight,b=e.mobileAlternate,v=e.languageAlternates,S=e.additionalLinkTags,w=e.robotsProps,O=e.norobots;return r.createElement(WithHead,{title:t,titleTemplate:n,defaultTitle:o,themeColor:a,dangerouslySetAllPagesToNoIndex:void 0!==i&&i,dangerouslySetAllPagesToNoFollow:void 0!==s&&s,description:c,canonical:l,facebook:u,openGraph:p,additionalMetaTags:d,twitter:f,defaultOpenGraphImageWidth:m,defaultOpenGraphImageHeight:g,defaultOpenGraphVideoWidth:h,defaultOpenGraphVideoHeight:y,mobileAlternate:b,languageAlternates:v,additionalLinkTags:S,robotsProps:w,norobots:O})},NextSeo=function(e){var t=e.title,n=e.themeColor,o=e.noindex,a=e.nofollow,i=e.robotsProps,s=e.description,c=e.canonical,l=e.openGraph,u=e.facebook,p=e.twitter,d=e.additionalMetaTags,f=e.titleTemplate,m=e.defaultTitle,g=e.mobileAlternate,h=e.languageAlternates,y=e.additionalLinkTags;return r.createElement(r.Fragment,null,r.createElement(WithHead,{title:t,themeColor:n,noindex:o,nofollow:a,robotsProps:i,description:s,canonical:c,facebook:u,openGraph:l,additionalMetaTags:d,twitter:p,titleTemplate:f,defaultTitle:m,mobileAlternate:g,languageAlternates:h,additionalLinkTags:y}))},toJson=function(e,t){var n=t;return Array.isArray(n)&&1===n.length&&(n=_extends({},t[0])),{__html:JSON.stringify(Array.isArray(n)?n.map(function(t){return formatObjectForSchema(e,t)}):formatObjectForSchema(e,n),safeJsonLdReplacer)}},formatObjectForSchema=function(e,t){var n=t.id,r=_extends({},(void 0===n?void 0:n)?{"@id":t.id}:{},t);return delete r.id,_extends({"@context":"https://schema.org","@type":e},r)},l=Object.freeze({"&":"&","<":"<",">":">",'"':""","'":"'"}),u=RegExp("["+Object.keys(l).join("")+"]","g"),ESCAPE_REPLACER=function(e){return l[e]},safeJsonLdReplacer=function(e,t){switch(typeof t){case"object":if(null===t)return;return t;case"number":case"boolean":case"bigint":return t;case"string":return t.replace(u,ESCAPE_REPLACER);default:return}},p=["type","keyOverride","scriptKey","scriptId","dataArray","useAppDir"];function JsonLd(e){var t=e.type,n=void 0===t?"Thing":t,o=e.keyOverride,i=e.scriptKey,s=e.scriptId,c=void 0===s?void 0:s,l=e.dataArray,u=e.useAppDir,d=_objectWithoutPropertiesLoose(e,p),JsonLdScript=function(){return r.createElement("script",{type:"application/ld+json",id:c,"data-testid":c,dangerouslySetInnerHTML:toJson(n,void 0===l?_extends({},d):l),key:"jsonld-"+i+(o?"-"+o:"")})};return void 0!==u&&u?r.createElement(JsonLdScript,null):r.createElement(a(),null,JsonLdScript())}function generateAuthorInfo(e){if("string"==typeof e)return{"@type":"Person",name:e};if(e.name){var t;return{"@type":null!=(t=null==e?void 0:e.type)?t:"Person",name:e.name,url:null==e?void 0:e.url}}}function setImage(e){if(e)return{"@type":"ImageObject",url:e}}var d=["reviewRating","author","publisher"];function toPostalAddress(e){return"string"==typeof e?e:_extends({"@type":"PostalAddress"},e)}var f=["type","keyOverride","potentialActions"];function SiteLinksSearchBoxJsonLd(e){var t=e.type,n=e.keyOverride,o=e.potentialActions,a=_objectWithoutPropertiesLoose(e,f),i=_extends({},a,{potentialAction:o.map(function(e){if(e){var t=e.target,n=e.queryInput;return{"@type":"SearchAction",target:t+"={"+n+"}","query-input":"required name="+n}}})});return r.createElement(JsonLd,_extends({type:void 0===t?"WebSite":t,keyOverride:n},i,{scriptKey:"jsonld-siteLinksSearchBox"}))}var m=["seller"];function setOffers(e){function mapOffer(e){var t=e.seller,n=_objectWithoutPropertiesLoose(e,m);return _extends({},n,{"@type":"Offer"},t&&{seller:{"@type":"Organization",name:t.name}})}return Array.isArray(e)?e.map(mapOffer):e?mapOffer(e):void 0}var g=["type","keyOverride","images","brand","reviews","aggregateRating","manufacturerLogo","manufacturerName","offers","aggregateOffer","productName"];function ProductJsonLd(e){var t=e.type,n=e.keyOverride,o=e.images,a=e.brand,i=e.reviews,s=e.aggregateRating,c=e.manufacturerLogo,l=e.manufacturerName,u=e.offers,p=e.aggregateOffer,f=e.productName,m=_objectWithoutPropertiesLoose(e,g),h=_extends({},m,{image:o,brand:function(e){if(e)return{"@type":"Brand",name:e}}(a),review:function(e){function mapReview(e){var t=e.reviewRating,n=e.author,r=e.publisher,o=_objectWithoutPropertiesLoose(e,d);return _extends({},o,{"@type":"Review"},n&&{author:Array.isArray(n)?n.map(function(e){return generateAuthorInfo(e)}).filter(function(e){return!!e}):n?generateAuthorInfo(n):void 0},t&&{reviewRating:function(e){if(e)return _extends({},e,{"@type":"Rating"})}(t)},r&&{publisher:function(e,t){if(e)return{"@type":"Organization",name:e,logo:setImage(void 0)}}(r.name)})}return Array.isArray(e)?e.map(mapReview):e?mapReview(e):void 0}(i),aggregateRating:function(e){if(e)return{"@type":"AggregateRating",ratingCount:e.ratingCount,reviewCount:e.reviewCount,bestRating:e.bestRating,ratingValue:e.ratingValue,worstRating:e.worstRating}}(s),manufacturer:function(e){if(e&&(e.manufacturerName||e.manufacturerLogo))return{"@type":"Organization",name:e.manufacturerName,logo:setImage(e.manufacturerLogo)}}({manufacturerLogo:c,manufacturerName:l}),offers:u?setOffers(u):function(e){if(e)return{"@type":"AggregateOffer",priceCurrency:e.priceCurrency,highPrice:e.highPrice,lowPrice:e.lowPrice,offerCount:e.offerCount,offers:setOffers(e.offers)}}(p),name:f});return r.createElement(JsonLd,_extends({type:void 0===t?"Product":t,keyOverride:n},h,{scriptKey:"Product"}))}var h=["type","keyOverride","address","contactPoints","contactPoint"];function OrganizationJsonLd(e){var t=e.type,n=e.keyOverride,o=e.address,a=e.contactPoints,i=e.contactPoint,s=_objectWithoutPropertiesLoose(e,h),c=_extends({},s,{address:function(e){if(e)return Array.isArray(e)?1===e.length?toPostalAddress(e[0]):e.map(toPostalAddress):toPostalAddress(e)}(o),contactPoint:function(e){if(e&&e.length)return e.map(function(e){return _extends({"@type":"ContactPoint"},e)})}(i||a)});return r.createElement(JsonLd,_extends({type:void 0===t?"Organization":t,keyOverride:n},c,{scriptKey:"organization"}))}var y=["type","keyOverride","itemListElements"];function BreadCrumbJsonLd(e){var t=e.type,n=e.keyOverride,o=e.itemListElements,a=_objectWithoutPropertiesLoose(e,y),i=_extends({},a,{itemListElement:function(e){if(e&&e.length)return e.map(function(e){return{"@type":"ListItem",position:e.position,item:e.item,name:e.name}})}(o)});return r.createElement(JsonLd,_extends({type:void 0===t?"BreadcrumbList":t,keyOverride:n},i,{scriptKey:"breadcrumb"}))}},7884:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return r}});var r=n(3166)._(n(4194)).default.createContext({})},3358:function(e,t){"use strict";function isInAmpMode(e){var{ampFirst:t=!1,hybrid:n=!1,hasQuery:r=!1}=void 0===e?{}:e;return t||n&&r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return isInAmpMode}})},1554:function(e,t,n){"use strict";var r=n(7399);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{defaultHead:function(){return _defaultHead},default:function(){return _default2}});var o=n(3166),a=n(4925)._(n(4194)),i=o._(n(9086)),s=n(7884),c=n(9366),l=n(3358);function _defaultHead(e){void 0===e&&(e=!1);var t=[a.default.createElement("meta",{charSet:"utf-8"})];return e||t.push(a.default.createElement("meta",{name:"viewport",content:"width=device-width"})),t}function onlyReactElement(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}n(8629);var u=["name","httpEquiv","charSet","itemProp"];function reduceComponents(e,t){var n,o,i,s,{inAmpMode:c}=t;return e.reduce(onlyReactElement,[]).reverse().concat(_defaultHead(c).reverse()).filter((n=new Set,o=new Set,i=new Set,s={},e=>{var t=!0,r=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){r=!0;var a=e.key.slice(e.key.indexOf("$")+1);n.has(a)?t=!1:n.add(a)}switch(e.type){case"title":case"base":o.has(e.type)?t=!1:o.add(e.type);break;case"meta":for(var c=0,l=u.length;c<l;c++){var p=u[c];if(e.props.hasOwnProperty(p)){if("charSet"===p)i.has(p)?t=!1:i.add(p);else{var d=e.props[p],f=s[p]||new Set;("name"!==p||!r)&&f.has(d)?t=!1:(f.add(d),s[p]=f)}}}}return t})).reverse().map((e,t)=>{var n=e.key||t;if(!c&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){var o=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},e.props||{});return o["data-href"]=o.href,o.href=void 0,o["data-optimized-fonts"]=!0,a.default.cloneElement(e,o)}return a.default.cloneElement(e,{key:n})})}var _default2=function(e){var{children:t}=e,n=(0,a.useContext)(s.AmpStateContext),r=(0,a.useContext)(c.HeadManagerContext);return a.default.createElement(i.default,{reduceComponentsToState:reduceComponents,headManager:r,inAmpMode:(0,l.isInAmpMode)(n)},t)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9086:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return SideEffect}});var r=n(4194),o=r.useLayoutEffect,a=r.useEffect;function SideEffect(e){var{headManager:t,reduceComponentsToState:n}=e;function emitChange(){if(t&&t.mountedInstances){var o=r.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(n(o,e))}}return o(()=>{var n;return null==t||null==(n=t.mountedInstances)||n.add(e.children),()=>{var n;null==t||null==(n=t.mountedInstances)||n.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=emitChange),()=>{t&&(t._pendingUpdate=emitChange)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},8629:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return warnOnce}});var warnOnce=e=>{}},5487:function(e,t,n){"use strict";n.d(t,{$G:function(){return b},Ce:function(){return h},D5:function(){return c},HZ:function(){return l},M:function(){return y},Pq:function(){return v},Ud:function(){return a},VA:function(){return f},bi:function(){return u},fh:function(){return i},gN:function(){return p},gU:function(){return d},j9:function(){return o},pR:function(){return g},rd:function(){return s},wA:function(){return m}});var r=n(3067);let TypedDocumentString=class TypedDocumentString extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t,(0,r.Z)(this,"__apiType",void 0)}toString(){return this.value}};new TypedDocumentString("\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n unitMultiplier\n isVariantOf {\n productGroupID\n name\n skuVariants {\n allVariantsByName\n activeVariations\n slugsMap\n availableVariations\n }\n }\n image {\n url\n alternateName\n }\n brand {\n name\n }\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n listPrice\n listPriceWithTaxes\n priceWithTaxes\n quantity\n seller {\n identifier\n }\n }\n }\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n advertisement {\n adId\n adResponseId\n }\n}\n ",{fragmentName:"ProductSummary_product"});var o=new TypedDocumentString("\n fragment Filter_facets on StoreFacet {\n ... on StoreFacetRange {\n key\n label\n min {\n selected\n absolute\n }\n max {\n selected\n absolute\n }\n __typename\n }\n ... on StoreFacetBoolean {\n key\n label\n values {\n label\n value\n selected\n quantity\n }\n __typename\n }\n}\n ",{fragmentName:"Filter_facets"});new TypedDocumentString("\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}\n ",{fragmentName:"CartProductItem"}),new TypedDocumentString("\n fragment ProductDetailsFragment_product on StoreProduct {\n id: productID\n sku\n name\n gtin\n description\n unitMultiplier\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n image {\n url\n alternateName\n }\n brand {\n name\n }\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n seller {\n identifier\n }\n }\n }\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n ...CartProductItem\n}\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}",{fragmentName:"ProductDetailsFragment_product"});var a=new TypedDocumentString("\n fragment ProductSKUMatrixSidebarFragment_product on StoreProduct {\n id: productID\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n sku\n name\n image {\n url\n alternateName\n }\n offers {\n highPrice\n lowPrice\n lowPriceWithTaxes\n offerCount\n priceCurrency\n offers {\n listPrice\n listPriceWithTaxes\n sellingPrice\n priceCurrency\n price\n priceWithTaxes\n priceValidUntil\n itemCondition\n availability\n quantity\n }\n }\n additionalProperty {\n propertyID\n value\n name\n valueReference\n }\n }\n }\n }\n}\n ",{fragmentName:"ProductSKUMatrixSidebarFragment_product"});new TypedDocumentString("\n fragment ClientManyProducts on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n sponsoredCount: $sponsoredCount\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n}\n ",{fragmentName:"ClientManyProducts"}),new TypedDocumentString("\n fragment ClientProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ClientProduct"}),new TypedDocumentString("\n fragment ClientProductGallery on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n}\n ",{fragmentName:"ClientProductGallery"}),new TypedDocumentString("\n fragment ClientSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n}\n ",{fragmentName:"ClientSearchSuggestions"}),new TypedDocumentString("\n fragment ClientShippingSimulation on Query {\n shipping(items: $items, postalCode: $postalCode, country: $country) {\n address {\n city\n }\n }\n}\n ",{fragmentName:"ClientShippingSimulation"}),new TypedDocumentString("\n fragment ClientTopSearchSuggestions on Query {\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n}\n ",{fragmentName:"ClientTopSearchSuggestions"}),new TypedDocumentString("\n fragment ServerCollectionPage on Query {\n collection(slug: $slug) {\n id\n }\n}\n ",{fragmentName:"ServerCollectionPage"}),new TypedDocumentString("\n fragment ServerProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n}\n ",{fragmentName:"ServerProduct"});var i=new TypedDocumentString("\n fragment UserOrderItemsFragment on UserOrderItems {\n id\n name\n quantity\n sellingPrice\n unitMultiplier\n measurementUnit\n imageUrl\n detailUrl\n refId\n rewardValue\n}\n ",{fragmentName:"UserOrderItemsFragment"});new TypedDocumentString("\n fragment CartMessage on StoreCartMessage {\n text\n status\n}\n ",{fragmentName:"CartMessage"}),new TypedDocumentString("\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n itemOffered {\n ...CartProductItem\n }\n}\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n}",{fragmentName:"CartItem"}),new TypedDocumentString("\n fragment SearchEvent_metadata on SearchMetadata {\n isTermMisspelled\n logicalOperator\n fuzzy\n}\n ",{fragmentName:"SearchEvent_metadata"});var s={__meta__:{operationName:"CancelOrderMutation",operationHash:"e2b06da6840614d3c72768e56579b9d3b8e80802"}},c={__meta__:{operationName:"ValidateCartMutation",operationHash:"c2b3f8bff73ebf6ac79d758c66cabbc21ba9fcc0"}},l={__meta__:{operationName:"SubscribeToNewsletter",operationHash:"feb7005103a859e2bc8cf2360d568806fd88deba"}},u={__meta__:{operationName:"ClientProductCountQuery",operationHash:"dc912e7272e3d9f5ced206837df87f544d39d0a5"}},p={__meta__:{operationName:"ClientAllVariantProductsQuery",operationHash:"4039e05f01a2fe449e20e8b82170d0ba94b1fbe9"}},d={__meta__:{operationName:"ClientManyProductsQuery",operationHash:"1adc93c70f16173540c50f725ee09a2d67cb85ab"}},f={__meta__:{operationName:"ClientProductGalleryQuery",operationHash:"bfc40da32b60f9404a4adb96b0856e3fbb04b076"}},m={__meta__:{operationName:"ClientProductQuery",operationHash:"7d121ef8d4dc99174e64e4429a9b977b8bbebed8"}},g={__meta__:{operationName:"ClientProfileQuery",operationHash:"34ea14c0d4a57ddf9bc11e4be0cd2b5a6506d3d4"}},h={__meta__:{operationName:"ClientSearchSuggestionsQuery",operationHash:"b548281d477a173be7b6960434604d69769a97e7"}},y={__meta__:{operationName:"ClientTopSearchSuggestionsQuery",operationHash:"e2385b0f11726d0068f96548f57a8dd441c064e3"}},b={__meta__:{operationName:"ValidateSession",operationHash:"259dd10b1c65ce4b20c9181feb7bec85ecb402e6"}},v={__meta__:{operationName:"ClientShippingSimulationQuery",operationHash:"c35bad22f67f3eb34fea52bb49efa6b1da6b728d"}}},8038:function(e,t,n){var r=n(3656);e.exports={seo:{title:"FastStore Starter",description:"Fast Demo Store",titleTemplate:"%s | FastStore",author:"Store Framework",name:"FastStore",publisherId:"",plp:{titleTemplate:"%s | FastStore PLP",descriptionTemplate:"%s products on FastStore Product Listing Page"},pdp:{titleTemplate:"%s | FastStore PDP",descriptionTemplate:"%s products on FastStore Product Detail Page"},search:{titleTemplate:"%s: Search results title",descriptionTemplate:"%s: Search results description",noIndex:!0,noFollow:!0,bodyH1:"Showing results for:"}},theme:"custom-theme",platform:"vtex",api:{storeId:"storeframework",workspace:"master",subDomainPrefix:["www"],environment:"vtexcommercestable",hideUnavailableItems:!1,showSponsored:!1,incrementAddress:!0,enableUnavailableItemsOnCart:!1},session:{currency:{code:"USD",symbol:"$"},locale:"en-US",channel:'{"salesChannel":"1","regionId":"","hasOnlyDefaultSalesChannel":"true"}',country:"USA",deliveryMode:null,addressType:null,city:null,postalCode:null,geoCoordinates:null,b2b:null,person:null,marketingData:{utmCampaign:"",utmMedium:"",utmSource:"",utmiCampaign:"",utmiPart:"",utmiPage:""}},cart:{id:"",items:[],messages:[],shouldSplitItem:!0},storeUrl:"https://homebrewqa.fast.store",secureSubdomain:"https://homebrewqa.fast.store",checkoutUrl:"https://homebrewqa.fast.store/checkout",loginUrl:"https://homebrewqa.fast.store/api/io/login",accountUrl:"https://homebrewqa.fast.store/api/io/account",previewRedirects:{home:"/",plp:"/office",search:"/s?q=headphone",pdp:"/apple-magic-mouse/p",500:"/500",404:"/404"},lighthouse:{server:r.env.BASE_SITE_URL||"http://localhost:3000",pages:{home:"/",pdp:"/4k-philips-monitor-99988213/p",collection:"/office"}},cypress:{pages:{home:"/",pdp:"/4k-philips-monitor-99988213/p",collection:"/office",collection_2:"/technology",collection_filtered:"/office/?category-1=office&marca=acer&facets=category-1%2Cmarca",search:"/s?q=orange"}},analytics:{gtmContainerId:"GTM-PGHZ95N"},cms:{data:r.env.CMS_DATA},contentSource:{type:"CMS"},deliveryPromise:{enabled:!1,mandatory:!1},experimental:{cypressVersion:12,enableCypressExtension:!1,noRobots:!1,noindex:!1,nofollow:!1,preact:!1,enableRedirects:!1,enableSearchSSR:!1,enableFaststoreMyAccount:!0,enableVtexAssetsLoader:!1,graphqlCacheControl:{maxAge:0,staleWhileRevalidate:60}}}},3412:function(e,t,n){var r=n(8038),o=n(2512),a=n(4876)(r,o);e.exports=a},5011:function(e,t,n){"use strict";n.d(t,{A:function(){return c}});var r=n(3412),o=n.n(r),a=new Date().toISOString(),i=Date.now(),s={norobots:o().experimental.noRobots,dangerouslySetAllPagesToNoFollow:o().experimental.nofollow,dangerouslySetAllPagesToNoIndex:o().experimental.noindex,additionalMetaTags:[{name:"generated-at",content:a}]};t.Z=s;var c=i},6422:function(e,t,n){"use strict";n.d(t,{g:function(){return useRegionModal}});var r=n(6652),o=n(3412),a=n(4194),i=n(31);function useRegionModal(){var{openModal:e}=(0,r.l)(),{isValidating:t}=(0,i.kP)(),n=(0,a.useRef)(t),{0:s,1:c}=(0,a.useState)(!1),openRegionModal=()=>{var{postalCode:t}=i.Qf.read();t||e()};return(0,a.useEffect)(()=>{o.deliveryPromise.enabled&&(n.current&&!t&&(c(!0),o.deliveryPromise.mandatory&&openRegionModal()),n.current=t)},[openRegionModal]),{openRegionModal,isValidationComplete:s}}},8132:function(e,t,n){"use strict";n.d(t,{KS:function(){return o},YQ:function(){return a},gK:function(){return r}});var r=12,o=5,a=3e3},2512:function(e){e.exports={}},6011:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _app}});var r,o=n(3067),a=n(6652),i=n(4194),s=n(6422),c=n(3339);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var usePageViewEvent=e=>{var t=(0,i.useCallback)(()=>{n.e(6393).then(n.bind(n,6393)).then(t=>{var{sendAnalyticsEvent:n}=t;n({name:"page_view",params:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){(0,o.Z)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({page_title:document.title,page_location:location.href,send_page_view:!0},e)})})},[e]),r=(0,c.useRouter)();return(0,i.useEffect)(()=>{t()},[r.pathname,t]),{sendPageViewEvent:t}},l=n(1549),src_Layout=function(e){var{children:t}=e;return usePageViewEvent((0,i.useMemo)(()=>null==t?void 0:t.props,[])),(0,s.g)(),(0,l.jsx)(l.Fragment,{children:t})},u=n(8529),p=n(3412),d=n.n(p);window.dataLayer=null!==(r=window.dataLayer)&&void 0!==r?r:[],window.VTEX_METADATA={account:d().api.storeId,renderer:"faststore"};var analytics=()=>((0,u.W)(e=>{window.dataLayer.push({ecommerce:null}),window.dataLayer.push({event:e.name,ecommerce:e.params}),n(3982)("./".concat(d().platform)).then(t=>{var{default:n}=t;n(e)})}),null),getReloads=()=>{var e;return Number(null!==(e=window.sessionStorage.getItem("store:reloads"))&&void 0!==e?e:"0")},setReloads=e=>window.sessionStorage.setItem("store:reloads","".concat(e)),canRecover=()=>2>getReloads(),isFrameworkLevelError=e=>(null==e?void 0:e.name)==="ChunkLoadError";window.setInterval(()=>setReloads(0),3e4);let ErrorBoundary=class ErrorBoundary extends i.Component{constructor(){super(...arguments),(0,o.Z)(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){if(console.error("React Error: ".concat(e.message," ").concat(t.componentStack)),!(window.location.pathname.startsWith("/404")||window.location.pathname.startsWith("/500"))){var n,r,o=encodeURIComponent(window.location.pathname),a=(null==e?void 0:null===(n=e.extensions)||void 0===n?void 0:null===(r=n.exception)||void 0===r?void 0:r.status)===404;isFrameworkLevelError(e)&&canRecover()?(setReloads(getReloads()+1),window.location.reload()):a?window.location.href="/404?from=".concat(o):window.location.href="/500?from=".concat(o,"&errorId=").concat("unknown")}}render(){return this.state.hasError?null:this.props.children}};var f=n(4988),m=n(8132),g=n(31);function useGeolocation_ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function useGeolocation_objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?useGeolocation_ownKeys(Object(n),!0).forEach(function(t){(0,o.Z)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):useGeolocation_ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _askGeolocationConsent(){return(_askGeolocationConsent=(0,f.Z)(function*(){var e,t,{postalCode:n,geoCoordinates:r}=g.Qf.read();null===(t=navigator)||void 0===t||!t.geolocation||n&&r||navigator.geolocation.getCurrentPosition((e=(0,f.Z)(function*(e){var{coords:{latitude:t,longitude:n}}=e,r=g.Qf.read();if(!r.postalCode&&!r.geoCoordinates){var o=useGeolocation_objectSpread(useGeolocation_objectSpread({},r),{},{geoCoordinates:{latitude:t,longitude:n}}),a=yield(0,g.je)(o);g.Qf.set(null!=a?a:o)}}),function(t){return e.apply(this,arguments)}))})).apply(this,arguments)}var h=n(5011);n(6207);var y=n(5935),b=n(9029);function _app_ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _app_objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_app_ownKeys(Object(n),!0).forEach(function(t){(0,o.Z)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_app_ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var _app=function(e){var{Component:t,pageProps:n}=e,{key:r}=n;(0,i.useEffect)(()=>{p.deliveryPromise.enabled&&setTimeout(()=>(function(){return _askGeolocationConsent.apply(this,arguments)})(),m.YQ)},[]);var o=(0,c.useRouter)(),{start:s}=(0,b.R)();return s(o.asPath,{itemsPerPage:m.gK}),(0,l.jsxs)(ErrorBoundary,{children:[(0,l.jsx)(y.lX,_app_objectSpread({},h.Z)),(0,l.jsx)(analytics,{}),(0,l.jsx)(a.Z,{children:(0,l.jsx)(src_Layout,{children:(0,i.createElement)(t,_app_objectSpread(_app_objectSpread({},n),{},{key:r}))})})]})}},1041:function(e,t,n){"use strict";n.d(t,{i8:function(){return v},jD:function(){return useCart}});var r,o=n(3067),a=n(4988),i=n(5487),s=n(9380),c=n(4194),l=n(3412),u=n.n(l),p=n(7440),d=n(31),f=n(135);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){(0,o.Z)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var m=i.D5,isGift=e=>0===e.price,getItemId=e=>{var t;return[e.itemOffered.sku,e.seller.identifier,null===(t=e.itemOffered.additionalProperty)||void 0===t?void 0:t.map(e=>{var{propertyID:t}=e;return t}).join("-")].filter(Boolean).join("::")},g=(r=(0,a.Z)(function*(e){var{validateCart:t=null}=yield(0,p.W)(m,{session:d.Qf.read(),cart:{order:{orderNumber:e.id,shouldSplitItem:e.shouldSplitItem,acceptedOffer:e.items.map(e=>{var{price:t,listPrice:n,seller:r,quantity:o,itemOffered:a}=e;return{price:t,listPrice:n,seller:r,quantity:o,itemOffered:{sku:a.sku,image:a.image,name:a.name,additionalProperty:a.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}}),function(e){return r.apply(this,arguments)}),[h,y]=(0,f.d)(g),b=(0,s.n)(u().cart,y),v=_objectSpread(_objectSpread({},b),{},{addItem:e=>{var t=_objectSpread(_objectSpread({},e),{},{id:getItemId(e)});b.addItem(t)}}),useCart=function(){var{useUnitMultiplier:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{useUnitMultiplier:!1},t=(0,f.o)(v),n=(0,f.o)(h);return(0,c.useMemo)(()=>{var r=t.items.reduce((t,n)=>{t.total+=n.price*n.quantity,t.totalWithTaxes+=n.priceWithTaxes*n.quantity;var r,o,a=e?n.quantity*(null!==(r=null==n?void 0:null===(o=n.itemOffered)||void 0===o?void 0:o.unitMultiplier)&&void 0!==r?r:1):n.quantity;return t.totalItems+=isGift(n)?0:a,t.subTotal+=n.listPrice*a,t.subTotalWithTaxes+=n.listPriceWithTaxes*a,t},{totalItems:0,total:0,subTotal:0,totalWithTaxes:0,subTotalWithTaxes:0});return _objectSpread(_objectSpread(_objectSpread({},t),r),{},{isValidating:n,messages:t.messages,gifts:t.items.filter(e=>isGift(e)),items:t.items.filter(e=>!isGift(e)),totalUniqueItems:t.items.length})},[t,n,e])}},7440:function(e,t,n){"use strict";n.d(t,{W:function(){return c}});var r,o,a=n(3067),i=n(4988);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){(0,a.Z)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var s={POST:{"Content-Type":"application/json"}},c=(r=(0,i.Z)(function*(e,t,n){var{data:r,errors:o}=yield l("/api/graphql",_objectSpread(_objectSpread({},n),{},{variables:t,operation:e}));if(null!=o&&o.length)throw o[0];return r}),function(e,t,n){return r.apply(this,arguments)}),l=(o=(0,i.Z)(function*(e,t){var{operation:n,variables:r,fetchOptions:o}=t,{operationName:a,operationHash:i}=n.__meta__,c=(null==o?void 0:o.method)!==void 0?o.method.toUpperCase():a.endsWith("Query")?"GET":"POST",l=new URLSearchParams(_objectSpread({operationName:a,operationHash:i},"GET"===c&&{variables:JSON.stringify(r)})),u="POST"===c?JSON.stringify({operationName:a,operationHash:i,variables:r}):void 0,p="".concat(e,"?").concat(l.toString());return(yield fetch(p,_objectSpread(_objectSpread({method:c,body:u},o),{},{headers:_objectSpread(_objectSpread({},s[c]),null==o?void 0:o.headers)}))).json()}),function(e,t){return o.apply(this,arguments)})},31:function(e,t,n){"use strict";n.d(t,{Qf:function(){return E},kP:function(){return useSession},je:function(){return _}});var r,o,a,i=n(4235),s=n(3067),c=n(4988),l=n(5487),u=n(8987),p=n(4194),d=n(3412),f=n.n(d),m=n(1041),g=n(7440),h=l.pR,y=(r=(0,c.Z)(function*(e){return(yield(0,g.W)(h,{id:e})).profile.addresses}),function(e){return r.apply(this,arguments)}),b=(o=(0,c.Z)(function*(e){var t=yield y(e);return t?t[0]:null}),function(e){return o.apply(this,arguments)}),v=n(135),S=["channel"],w=["hasOnlyDefaultSalesChannel"];function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){(0,s.Z)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var O=l.$G,_=(a=(0,c.Z)(function*(e){if(null!==(t=f().deliveryPromise)&&void 0!==t&&t.enabled&&!e.postalCode){if(e.b2b&&null!==(n=e.b2b)&&void 0!==n&&n.savedPostalCode)E.set(_objectSpread(_objectSpread({},e),{},{postalCode:e.b2b.savedPostalCode}));else if(null!==(r=e.person)&&void 0!==r&&r.id){var t,n,r,o,a=yield b(null===(o=e.person)||void 0===o?void 0:o.id);a&&E.set(_objectSpread(_objectSpread({},e),{},{city:null==a?void 0:a.city,postalCode:null==a?void 0:a.postalCode,geoCoordinates:{latitude:null!=a&&a.geoCoordinate?null==a?void 0:a.geoCoordinate[1]:null,longitude:null!=a&&a.geoCoordinate?null==a?void 0:a.geoCoordinate[0]:null},country:null==a?void 0:a.country}))}else{var i=k.readInitial().postalCode;i&&E.set(_objectSpread(_objectSpread({},e),{},{postalCode:i}))}}return(yield(0,g.W)(O,{session:e,search:window.location.search})).validateSession}),function(e){return a.apply(this,arguments)}),[P,j]=(0,v.d)(_),k=(0,u.S)(f().session,j),E=_objectSpread(_objectSpread({},k),{},{set:e=>{k.set(e),m.i8.set(m.i8.read())}}),useSession=function(){var{filter:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{filter:!0},t=(0,v.o)(E),{channel:n}=t,r=(0,i.Z)(t,S),o=(0,v.o)(P);if(e){var a=JSON.parse(n),{hasOnlyDefaultSalesChannel:s}=a;n=JSON.stringify((0,i.Z)(a,w))}return(0,p.useMemo)(()=>_objectSpread(_objectSpread({},r),{},{channel:n,isValidating:o}),[o,r,n])}},135:function(e,t,n){"use strict";n.d(t,{d:function(){return createValidationStore},o:function(){return useStore}});var r=n(4988),o=n(3365),a=n(4194),useStore=e=>(0,a.useSyncExternalStore)(e.subscribe,e.read,e.readInitial),createValidationStore=e=>{var t,n=(0,o.M)(!1),a=(t=(0,r.Z)(function*(t){try{return n.set(!0),yield e(t)}finally{n.set(!1)}}),function(e){return t.apply(this,arguments)});return[n,a]}},2516:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return n(6011)}])},6207:function(){},7401:function(e,t,n){e.exports=n(1554)},3339:function(e,t,n){e.exports=n(4308)},3656:function(e){var t,n,r,o=e.exports={};function defaultSetTimout(){throw Error("setTimeout has not been defined")}function defaultClearTimeout(){throw Error("clearTimeout has not been defined")}function runTimeout(e){if(t===setTimeout)return setTimeout(e,0);if((t===defaultSetTimout||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){t=defaultSetTimout}try{n="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){n=defaultClearTimeout}}();var a=[],i=!1,s=-1;function cleanUpNextTick(){i&&r&&(i=!1,r.length?a=r.concat(a):s=-1,a.length&&drainQueue())}function drainQueue(){if(!i){var e=runTimeout(cleanUpNextTick);i=!0;for(var t=a.length;t;){for(r=a,a=[];++s<t;)r&&r[s].run();s=-1,t=a.length}r=null,i=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===defaultClearTimeout||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];a.push(new Item(e,t)),1!==a.length||i||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=noop,o.addListener=noop,o.once=noop,o.off=noop,o.removeListener=noop,o.removeAllListeners=noop,o.emit=noop,o.prependListener=noop,o.prependOnceListener=noop,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}},6652:function(e,t,n){"use strict";n.d(t,{l:function(){return useUI}});var r=n(4194);let reducer=(e,t)=>{let{type:n}=t;switch(n){case"open":{let{payload:n}=t;return document.body.classList.add("no-scroll"),{...e,[n]:!0}}case"close":{let{payload:n}=t;return document.body.classList.remove("no-scroll"),{...e,[n]:!1}}case"pushToast":{let n=e.toasts.some(e=>e.message===t.payload.message&&e.status===t.payload.status);if(n)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 ${n} not implemented`)}},initializer=()=>({cart:!1,modal:!1,navbar:!1,filter:!1,toasts:[],popover:{isOpen:!1,triggerRef:void 0}}),o=(0,r.createContext)(void 0);function useUI(){let e=(0,r.useContext)(o);if(void 0===e)throw Error("Missing UI context on React tree");return e}t.Z=function({children:e}){let[t,n]=(0,r.useReducer)(reducer,void 0,initializer),a=(0,r.useMemo)(()=>({openFilter:()=>n({type:"open",payload:"filter"}),closeFilter:()=>n({type:"close",payload:"filter"}),openNavbar:()=>n({type:"open",payload:"navbar"}),closeNavbar:()=>n({type:"close",payload:"navbar"}),openCart:()=>n({type:"open",payload:"cart"}),closeCart:()=>n({type:"close",payload:"cart"}),openModal:()=>n({type:"open",payload:"modal"}),closeModal:()=>n({type:"close",payload:"modal"}),pushToast:e=>n({type:"pushToast",payload:e}),popToast:()=>n({type:"popToast"}),openPopover:e=>n({type:"openPopover",payload:e}),closePopover:()=>n({type:"closePopover"})}),[]),i=(0,r.useMemo)(()=>({...t,...a}),[a,t]);return r.createElement(o.Provider,{value:i},e)}},3982:function(e,t,n){var r={"./vtex":[7692,7692],"./vtex/":[7692,7692],"./vtex/index":[7692,7692],"./vtex/index.ts":[7692,7692],"./vtex/rc":[8068,8068],"./vtex/rc.ts":[8068,8068],"./vtex/search":[941,941],"./vtex/search.ts":[941,941]};function webpackAsyncContext(e){if(!n.o(r,e))return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=r[e],o=t[0];return n.e(t[1]).then(function(){return n(o)})}webpackAsyncContext.keys=function(){return Object.keys(r)},webpackAsyncContext.id=3982,e.exports=webpackAsyncContext},8529:function(e,t,n){"use strict";n.d(t,{W:function(){return useAnalyticsEvent}});var r=n(4194),o=n(4950);let useAnalyticsEvent=e=>{let t=(0,r.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,r.useEffect)(()=>(window.addEventListener("message",t),()=>window.removeEventListener("message",t)),[t])}},4950:function(e,t,n){"use strict";n.d(t,{Mi:function(){return r},Wg:function(){return unwrap},re:function(){return wrap},vi:function(){return o}});let r="store:",o="AnalyticsEvent",wrap=e=>({name:o,params:{...e,name:`${r}${e.name}`}}),unwrap=e=>({...e.params,name:e.params.name.slice(r.length,e.params.name.length)})},9380:function(e,t,n){"use strict";n.d(t,{n:function(){return createCartStore}});var r=n(2254),o=n(9578);let createCartStore=(e,t,n="fs::cart")=>{let a=(0,o.M)(e,n,t),getItem=e=>a.read().items.find(t=>t.id===e);return{...a,getItem,addItem:e=>{if(!e.id)throw new r.q("You must provide an `id` for items");if(e.quantity<0)throw new r.q("Item quantity needs to be higher than zero");let t=a.read(),n=getItem(e.id),o=n?{...e,quantity:n.quantity+e.quantity}:e;a.set({...t,items:n?t.items.map(e=>e===n?o:e):[...t.items,o]})},updateItemQuantity:(e,t)=>{let n=a.read(),o=getItem(e);if(!o)throw new r.q(`Item with id not found: ${e}`);let i={...o,quantity:t};a.set({...n,items:n.items.map(e=>e===o?i:e).filter(e=>e.quantity>0)})},removeItem:e=>{let t=a.read(),n=getItem(e);a.set({...t,items:t.items.filter(e=>e!==n)})},emptyCart:()=>a.set({...a.read(),items:[]}),inCart:e=>!!getItem(e),isEmpty:()=>0===a.read().items.length}}},9664:function(e,t,n){"use strict";n.d(t,{Ru:function(){return removeFacet},a2:function(){return toggleFacets},uL:function(){return setFacet},wB:function(){return toggleFacet},wb:function(){return isSearchSort}});var r=n(2254);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:n}=t,o=e.findIndex(e=>e.value===n);if(o<0)throw new r.q(`Cannot remove ${n} from search params`);return e.filter((e,t)=>t!==o)},setFacet=(e,t,n)=>{if(!0===n){let n=e.findIndex(e=>e.key===t.key);if(n>-1)return e.map((e,r)=>r===n?t:e)}return[...e,t]},toggleFacet=(e,t)=>{let n=e.find(e=>e.key===t.key&&e.value===t.value);return void 0!==n?removeFacet(e,t):setFacet(e,t,!1)},toggleFacets=(e,t)=>t.reduce((e,t)=>toggleFacet(e,t),e)},2489:function(e,t,n){"use strict";n.d(t,{j:function(){return initialize},X:function(){return u}});var r,o=n(4194);let createStoreImpl=e=>{let t;let n=new Set,setState=(e,r)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({},t,o),n.forEach(n=>n(t,e))}},getState=()=>t,r={setState,getState,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(setState,getState,r);return r},createStore=e=>e?createStoreImpl(e):createStoreImpl,identity=e=>e,createImpl=e=>{let t=createStore(e),useBoundStore=e=>(function(e,t=identity){let n=o.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return o.useDebugValue(n),n})(t,e);return Object.assign(useBoundStore,t),useBoundStore};var a=n(6142),i=n(2339),s=n(4204),c=n.n(s);let initialize=({sort:e="score_desc",selectedFacets:t=[],term:n=null,base:r="/",page:o=0,passThrough:a=new URLSearchParams}={})=>({sort:e,selectedFacets:t,term:n,base:r,page:o,passThrough:a}),l=(r=(e,t)=>({state:initialize(),setState:n=>{let r=t().state,o={...r,...n};!1===c()(r,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),n=sessionStorage.getItem(t);return n?JSON.parse(n):null}catch(e){return null}}()??[0],addPrevPage:()=>{let{pages:n}=t(),r=n[0]-1,o=[r,...n];setPagesSessionStorage(o),e({pages:o})},addNextPage:()=>{let{pages:n}=t(),r=Number(n.at(-1))+1,o=[...n,r];setPagesSessionStorage(o),e({pages:o})},resetInfiniteScroll:t=>{let n=[t];setPagesSessionStorage(n),e({pages:n})},parseURL:n=>{let r=(0,a.Q)(n),o=(0,i.Z)(t().state);(0,i.Z)(r).href!==o.href&&e({state:r})},serializedState:()=>(0,i.Z)(t().state),initialized:!1,reset:()=>{e({state:{...initialize({base:t().state.base})}})},start:(n,r)=>{t().initialized||e(e=>({initialized:!0,state:initialize({...e.state,...r,...(0,a.Q)(new URL(n,"http://localhost"))}),itemsPerPage:r.itemsPerPage??e.itemsPerPage,pages:r.pages??e.pages}))}}))?createImpl(r):createImpl,u=(e=>{for(let t of(e.use={},Object.keys(e.getState())))e.use[t]=()=>e(e=>e[t]);return e})(l),getSessionStorageKey=e=>`__fs_gallery_page_${e}`;function setPagesSessionStorage(e){try{let t=window.history.state?.key;if(!t)return;let n=getSessionStorageKey(t);sessionStorage.setItem(n,JSON.stringify(e))}catch(e){return}}},6142:function(e,t,n){"use strict";n.d(t,{Q:function(){return parse}});var r=n(2254),o=n(9664),a=n(2489);let parse=({pathname:e,searchParams:t})=>{let n=(0,a.j)({base:e,term:t.get("q")??null,sort:t.get("sort")??void 0,page:Number(t.get("page")??0)});if(!(0,o.wb)(n.sort))throw new r.q(`Uknown sorting option ${n.sort}`);let i=t.get("facets")?.split(",")??[];for(let e of i){let r=t.getAll(e);for(let t of r)n.selectedFacets=(0,o.uL)(n.selectedFacets,{key:e,value:t})}return n.passThrough=function(e,t){let n=new URLSearchParams,r=new Set(t),o=Array.from(e.entries());for(let[e,t]of o)r.has(e)||n.append(e,t);return n}(t,["q","sort","page","facets",...i]),n}},9029:function(e,t,n){"use strict";n.d(t,{R:function(){return useSearch}});var r=n(2489);let useSearch=()=>{let e=(0,r.X)();return e}},8987:function(e,t,n){"use strict";n.d(t,{S:function(){return createSessionStore}});var r=n(9578);let createSessionStore=(e,t,n="fs::session")=>(0,r.M)(e,n,t)},3365:function(e,t,n){"use strict";n.d(t,{M:function(){return createStore}});let createStore=e=>{let t=new Set,n=new Set,r=e;return{set:e=>{r=e,n.forEach(e=>e()),n.clear(),t.forEach(t=>{let r=t(e);"function"==typeof r&&n.add(r)})},read:()=>r,readInitial:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)})}}},9578:function(e,t,n){"use strict";n.d(t,{M:function(){return createStore}});var r=n(3169),o=n(5214),a=n(8901),i=n(8956),s=n(3365);let identity=e=>e,createStore=(e,t,n)=>(0,i.q)([t?(0,a.r)(t):identity,t?(0,r.R)(t):identity,n?(0,o.A)(n):identity],(0,s.M)(e))},5214:function(e,t,n){"use strict";n.d(t,{A:function(){return optimistic}});let trivial=async()=>null,optimistic=(e=trivial)=>{let t=Promise.resolve();return n=>(n.subscribe(r=>{let o=!1,handler=async()=>{if(o)return;let t=await e(r);o||null===t||n.set(t)};return t=t.then(handler),()=>{o=!0}}),n)}},3169:function(e,t,n){"use strict";let r;n.d(t,{R:function(){return persisted}});var esm=function(){let e;let t=!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent);return t&&indexedDB.databases?new Promise(t=>{let tryIdb=()=>indexedDB.databases().finally(t);e=setInterval(tryIdb,100),tryIdb()}).finally(()=>clearInterval(e)):Promise.resolve()};function promisifyRequest(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function defaultGetStore(){return r||(r=function(e,t){let n=esm().then(()=>{let n=indexedDB.open(e);return n.onupgradeneeded=()=>n.result.createObjectStore(t),promisifyRequest(n)});return(e,r)=>n.then(n=>r(n.transaction(t,e).objectStore(t)))}("keyval-store","keyval")),r}let getIDB=async e=>{try{return await function(e,t=defaultGetStore()){return t("readonly",t=>promisifyRequest(t.get(e)))}(e)}catch(e){return}},setIDB=async(e,t)=>{try{await function(e,t,n=defaultGetStore()){return n("readwrite",n=>(n.put(t,e),promisifyRequest(n.transaction)))}(e,t)}catch(e){}},debounce=(e,t)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}},persisted=e=>t=>{let handler=async()=>{let n=await getIDB(e);"undefined"!=typeof document&&t.set(n??t.readInitial())},n=debounce(handler,500);return n(),globalThis.addEventListener?.("focus",()=>n()),globalThis.document?.addEventListener("visibilitychange",()=>"visible"===document.visibilityState&&n()),t.subscribe(t=>{setIDB(e,t)}),t}},8901:function(e,t,n){"use strict";n.d(t,{r:function(){return singleton}}),globalThis.faststore_sdk_stores=globalThis.faststore_sdk_stores??new Map;let singleton=e=>t=>{let n=globalThis.faststore_sdk_stores;return n.has(e)||n.set(e,t),n.get(e)}},8956:function(e,t,n){"use strict";n.d(t,{q:function(){return compose}});let compose=(e,t)=>e.reduce((e,t)=>t(e),t)},2254:function(e,t,n){"use strict";n.d(t,{q:function(){return SDKError}});let SDKError=class SDKError extends Error{constructor(e){super(`[sdk]: ${e}`)}}},2339:function(e,t){"use strict";t.Z=e=>{let t=new URL(e.base,"http://localhost"),{page:n,selectedFacets:r,sort:o,term:a,passThrough:i}=e;null!==a&&t.searchParams.set("q",a);let s=new Set;for(let e of r)t.searchParams.append(e.key,e.value),s.add(e.key);if(r.length>0&&t.searchParams.set("facets",Array.from(s).join(",")),t.searchParams.set("sort",o),t.searchParams.set("page",n.toString()),i)for(let[e,n]of i.entries())t.searchParams.append(e,n);return t}},4988:function(e,t,n){"use strict";function asyncGeneratorStep(e,t,n,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,o)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function _next(e){asyncGeneratorStep(a,r,o,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(a,r,o,_next,_throw,"throw",e)}_next(void 0)})}}n.d(t,{Z:function(){return _asyncToGenerator}})},3067:function(e,t,n){"use strict";function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{Z:function(){return _defineProperty}})},4235:function(e,t,n){"use strict";function _objectWithoutProperties(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,{Z:function(){return _objectWithoutProperties}})}},function(e){var __webpack_exec__=function(t){return e(e.s=t)};e.O(0,[9774,179],function(){return __webpack_exec__(2516),__webpack_exec__(4308)}),_N_E=e.O()}]);
|
|
File without changes
|