@faststore/core 3.0.74 → 3.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +35 -35
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/next-minimal-server.js.nft.json +1 -1
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.js +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/react-loadable-manifest.json +3 -3
  15. package/.next/routes-manifest.json +1 -1
  16. package/.next/server/chunks/247.js +1 -1
  17. package/.next/server/chunks/350.js +1 -1
  18. package/.next/server/chunks/485.js +2 -2
  19. package/.next/server/chunks/640.js +1 -1
  20. package/.next/server/chunks/646.js +9 -2
  21. package/.next/server/chunks/96.js +1 -1
  22. package/.next/server/middleware-build-manifest.js +1 -1
  23. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  24. package/.next/server/pages/404.js +1 -1
  25. package/.next/server/pages/500.js +1 -1
  26. package/.next/server/pages/[...slug].js +1 -1
  27. package/.next/server/pages/[...slug].js.nft.json +1 -1
  28. package/.next/server/pages/[slug]/p.js +1 -1
  29. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  30. package/.next/server/pages/account.js +1 -1
  31. package/.next/server/pages/api/graphql.js +1 -1
  32. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  33. package/.next/server/pages/checkout.js +1 -1
  34. package/.next/server/pages/en-US/404.html +2 -2
  35. package/.next/server/pages/en-US/500.html +2 -2
  36. package/.next/server/pages/en-US/account.html +2 -2
  37. package/.next/server/pages/en-US/checkout.html +2 -2
  38. package/.next/server/pages/en-US/login.html +2 -2
  39. package/.next/server/pages/en-US/s.html +2 -2
  40. package/.next/server/pages/en-US.html +2 -2
  41. package/.next/server/pages/index.js +1 -1
  42. package/.next/server/pages/login.js +1 -1
  43. package/.next/server/pages/s.js +1 -1
  44. package/.next/server/pages-manifest.json +1 -1
  45. package/.next/static/{nYzSKXE4KKqXVQ7J-XNJ4 → 86oMoNlJHH0MqVuMHG536}/_buildManifest.js +1 -1
  46. package/.next/static/chunks/104-8bf09f16d6f3a4cd.js +1 -0
  47. package/.next/static/chunks/247.50945bfe8f760e62.js +1 -0
  48. package/.next/static/chunks/661-fc56d46a6f6ad0a8.js +1 -0
  49. package/.next/static/chunks/758.a411edd1cbd09134.js +1 -0
  50. package/.next/static/chunks/pages/[...slug]-c83d89b6d411553c.js +1 -0
  51. package/.next/static/chunks/pages/[slug]/p-e75ab6f3f36d8f19.js +1 -0
  52. package/.next/static/chunks/{webpack-fdd195abd12b3685.js → webpack-e9b95bf547123b36.js} +1 -1
  53. package/.next/static/css/{cff9aafa16fccc9c.css → 002309c74e696c85.css} +1 -1
  54. package/.next/static/css/{131e3773fcbf70e4.css → 0cbe11ce717a6c2c.css} +1 -1
  55. package/.next/static/css/30a88c3e4b758d2e.css +1 -0
  56. package/.next/static/css/{211c7542af66d8b4.css → 88c892db4c8964d5.css} +1 -1
  57. package/.next/trace +95 -95
  58. package/.turbo/turbo-build.log +12 -12
  59. package/.turbo/turbo-test.log +4 -4
  60. package/@generated/gql.ts +8 -8
  61. package/@generated/graphql.ts +37 -5
  62. package/@generated/persisted-documents.json +5 -5
  63. package/@generated/schema.graphql +6 -0
  64. package/cms/faststore/sections.json +96 -0
  65. package/package.json +5 -5
  66. package/src/components/cart/CartItem/CartItem.tsx +21 -3
  67. package/src/components/cart/CartSidebar/CartSidebar.tsx +28 -3
  68. package/src/components/cart/OrderSummary/OrderSummary.tsx +7 -2
  69. package/src/components/product/ProductCard/ProductCard.tsx +22 -2
  70. package/src/components/product/ProductGrid/ProductGrid.tsx +6 -2
  71. package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +6 -0
  72. package/src/components/sections/ProductDetails/ProductDetails.tsx +21 -3
  73. package/src/components/sections/ProductDetails/section.module.scss +11 -0
  74. package/src/components/sections/ProductTiles/ProductTiles.tsx +10 -1
  75. package/src/components/ui/ProductDetails/ProductDetailsSettings.tsx +42 -10
  76. package/src/components/ui/ProductGallery/ProductGallery.tsx +4 -1
  77. package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +4 -1
  78. package/src/components/ui/ProductShelf/ProductShelf.tsx +6 -0
  79. package/src/pages/[slug]/p.tsx +1 -0
  80. package/src/sdk/cart/index.ts +48 -30
  81. package/.next/static/chunks/104-e89fd47aa32b199b.js +0 -1
  82. package/.next/static/chunks/247.6eb0f179401e9e2f.js +0 -1
  83. package/.next/static/chunks/661-0ff17cbc40856afe.js +0 -1
  84. package/.next/static/chunks/758.9ca1da3ac30b665d.js +0 -1
  85. package/.next/static/chunks/pages/[...slug]-484e64ab6c753be5.js +0 -1
  86. package/.next/static/chunks/pages/[slug]/p-a27af8a8168e7c73.js +0 -1
  87. package/.next/static/css/455d52db23e9236a.css +0 -1
  88. /package/.next/static/{nYzSKXE4KKqXVQ7J-XNJ4 → 86oMoNlJHH0MqVuMHG536}/_ssgManifest.js +0 -0
@@ -74,36 +74,36 @@ Browserslist: caniuse-lite is outdated. Please run:
74
74
  Collecting page data ...
75
75
  Generating static pages (0/7) ...
76
76
 
77
77
  Generating static pages (1/7)
78
-
79
78
  Generating static pages (3/7)
80
79
  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.
80
+
81
81
  Generating static pages (3/7)
82
82
 
83
83
  Generating static pages (5/7)
84
84
 
85
85
  ✓ Generating static pages (7/7)
86
86
  Finalizing page optimization ...
87
87
  Collecting build traces ...
88
88
 
89
89
  Route (pages) Size First Load JS
90
- ┌ ● / 1.26 kB 143 kB
90
+ ┌ ● / 1.26 kB 144 kB
91
91
  ├ └ css/197e314c5a03eabd.css 740 B
92
- ├ /_app 0 B 93.4 kB
93
- ├ ● /[...slug] 2.79 kB 156 kB
92
+ ├ /_app 0 B 93.5 kB
93
+ ├ ● /[...slug] 2.81 kB 156 kB
94
94
  ├ └ css/e47f1a002bdcf76f.css 2.38 kB
95
- ├ ● /[slug]/p 10.9 kB 153 kB
96
- ├ └ css/455d52db23e9236a.css 9.47 kB
95
+ ├ ● /[slug]/p 11.1 kB 153 kB
96
+ ├ └ css/30a88c3e4b758d2e.css 9.55 kB
97
97
  ├ ○ /404 1.45 kB 127 kB
98
98
  ├ ● /500 1.45 kB 127 kB
99
99
  ├ ● /account 676 B 126 kB
100
- ├ λ /api/graphql 0 B 93.4 kB
101
- ├ λ /api/health/live 0 B 93.4 kB
102
- ├ λ /api/health/ready 0 B 93.4 kB
103
- ├ λ /api/preview 0 B 93.4 kB
100
+ ├ λ /api/graphql 0 B 93.5 kB
101
+ ├ λ /api/health/live 0 B 93.5 kB
102
+ ├ λ /api/health/ready 0 B 93.5 kB
103
+ ├ λ /api/preview 0 B 93.5 kB
104
104
  ├ ● /checkout 662 B 126 kB
105
105
  ├ ● /login 1.57 kB 127 kB
106
- └ ● /s 2.25 kB 155 kB
106
+ └ ● /s 2.25 kB 156 kB
107
107
  + First Load JS shared by all 96.5 kB
108
108
  ├ chunks/framework-8e279965036b6169.js 45.4 kB
109
109
  ├ chunks/main-6f63f6746cc029db.js 33.1 kB
110
110
  ├ chunks/pages/_app-c25fabc2435c8961.js 12.6 kB
111
- ├ chunks/webpack-fdd195abd12b3685.js 2.45 kB
111
+ ├ chunks/webpack-e9b95bf547123b36.js 2.45 kB
112
112
  └ css/5d1f64b61ea581f4.css 3.05 kB
113
113
 
114
114
  λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
@@ -1,10 +1,10 @@
1
1
  $ jest
2
- PASS test/utils/multipleTemplates.test.ts (30.159 s)
3
- PASS test/server/cms/index.test.ts (30.556 s)
4
- PASS test/server/index.test.ts (33.105 s)
2
+ PASS test/utils/multipleTemplates.test.ts (29.388 s)
3
+ PASS test/server/cms/index.test.ts (29.856 s)
4
+ PASS test/server/index.test.ts (33.092 s)
5
5
 
6
6
  Test Suites: 3 passed, 3 total
7
7
  Tests: 19 passed, 19 total
8
8
  Snapshots: 0 total
9
- Time: 33.984 s
9
+ Time: 34.01 s
10
10
  Ran all test suites.
package/@generated/gql.ts CHANGED
@@ -12,11 +12,11 @@ import * as types from './graphql'
12
12
  * Therefore it is highly recommended to use the babel or swc plugin for production.
13
13
  */
14
14
  const documents = {
15
- '\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n\n isVariantOf {\n productGroupID\n name\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n quantity\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n':
15
+ '\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n\n isVariantOf {\n productGroupID\n name\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n listPrice\n listPriceWithTaxes\n quantity\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n':
16
16
  types.ProductSummary_ProductFragmentDoc,
17
17
  '\n fragment Filter_facets on StoreFacet {\n ... on StoreFacetRange {\n key\n label\n\n min {\n selected\n absolute\n }\n\n max {\n selected\n absolute\n }\n\n __typename\n }\n ... on StoreFacetBoolean {\n key\n label\n values {\n label\n value\n selected\n quantity\n }\n\n __typename\n }\n }\n':
18
18
  types.Filter_FacetsFragmentDoc,
19
- '\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\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n # Contains necessary info to add this item to cart\n ...CartProductItem\n }\n':
19
+ '\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\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\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\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n # Contains necessary info to add this item to cart\n ...CartProductItem\n }\n':
20
20
  types.ProductDetailsFragment_ProductFragmentDoc,
21
21
  '\n fragment ClientManyProducts 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':
22
22
  types.ClientManyProductsFragmentDoc,
@@ -36,9 +36,9 @@ const documents = {
36
36
  types.ServerProductFragmentDoc,
37
37
  '\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n }\n }\n':
38
38
  types.ServerCollectionPageQueryDocument,
39
- '\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n ...ProductDetailsFragment_product\n }\n }\n':
39
+ '\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n ...ProductDetailsFragment_product\n }\n }\n':
40
40
  types.ServerProductQueryDocument,
41
- '\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n listPrice\n itemOffered {\n ...CartProductItem\n }\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 }\n':
41
+ '\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\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\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':
42
42
  types.ValidateCartMutationDocument,
43
43
  '\n mutation SubscribeToNewsletter($data: IPersonNewsletter!) {\n subscribeToNewsletter(data: $data) {\n id\n }\n }\n':
44
44
  types.SubscribeToNewsletterDocument,
@@ -64,7 +64,7 @@ const documents = {
64
64
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
65
65
  */
66
66
  export function gql(
67
- source: '\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n\n isVariantOf {\n productGroupID\n name\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n quantity\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n'
67
+ source: '\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n\n isVariantOf {\n productGroupID\n name\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n listPrice\n listPriceWithTaxes\n quantity\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n'
68
68
  ): typeof import('./graphql').ProductSummary_ProductFragmentDoc
69
69
  /**
70
70
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
@@ -76,7 +76,7 @@ export function gql(
76
76
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
77
77
  */
78
78
  export function gql(
79
- source: '\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\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n # Contains necessary info to add this item to cart\n ...CartProductItem\n }\n'
79
+ source: '\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\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\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\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n # Contains necessary info to add this item to cart\n ...CartProductItem\n }\n'
80
80
  ): typeof import('./graphql').ProductDetailsFragment_ProductFragmentDoc
81
81
  /**
82
82
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
@@ -136,13 +136,13 @@ export function gql(
136
136
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
137
137
  */
138
138
  export function gql(
139
- source: '\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n ...ProductDetailsFragment_product\n }\n }\n'
139
+ source: '\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n ...ProductDetailsFragment_product\n }\n }\n'
140
140
  ): typeof import('./graphql').ServerProductQueryDocument
141
141
  /**
142
142
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
143
143
  */
144
144
  export function gql(
145
- source: '\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n listPrice\n itemOffered {\n ...CartProductItem\n }\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 }\n'
145
+ source: '\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\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\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'
146
146
  ): typeof import('./graphql').ValidateCartMutationDocument
147
147
  /**
148
148
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
@@ -613,6 +613,8 @@ export type StoreAggregateOffer = {
613
613
  highPrice: Scalars['Float']['output']
614
614
  /** Lowest price among all sellers. */
615
615
  lowPrice: Scalars['Float']['output']
616
+ /** Lowest price among all sellers with current taxes. */
617
+ lowPriceWithTaxes: Scalars['Float']['output']
616
618
  /** Number of sellers selling this SKU. */
617
619
  offerCount: Scalars['Int']['output']
618
620
  /** Array with information on each available offer. */
@@ -839,12 +841,16 @@ export type StoreOffer = {
839
841
  itemOffered: StoreProduct
840
842
  /** This is displayed as the "from" price in the context of promotions' price comparison. This may change before it reaches the shelf. */
841
843
  listPrice: Scalars['Float']['output']
844
+ /** List price among with current taxes. */
845
+ listPriceWithTaxes: Scalars['Float']['output']
842
846
  /** Also known as spot price. */
843
847
  price: Scalars['Float']['output']
844
848
  /** ISO code of the currency used for the offer prices. */
845
849
  priceCurrency: Scalars['String']['output']
846
850
  /** Next date in which price is scheduled to change. If there is no scheduled change, this will be set a year in the future from current time. */
847
851
  priceValidUntil: Scalars['String']['output']
852
+ /** Also known as spot price with taxes. */
853
+ priceWithTaxes: Scalars['Float']['output']
848
854
  /** Number of items offered. */
849
855
  quantity: Scalars['Int']['output']
850
856
  /** Seller responsible for the offer. */
@@ -1103,10 +1109,12 @@ export type ProductSummary_ProductFragment = {
1103
1109
  image: Array<{ url: string; alternateName: string }>
1104
1110
  offers: {
1105
1111
  lowPrice: number
1112
+ lowPriceWithTaxes: number
1106
1113
  offers: Array<{
1107
1114
  availability: string
1108
1115
  price: number
1109
1116
  listPrice: number
1117
+ listPriceWithTaxes: number
1110
1118
  quantity: number
1111
1119
  seller: { identifier: string }
1112
1120
  }>
@@ -1163,10 +1171,13 @@ export type ProductDetailsFragment_ProductFragment = {
1163
1171
  brand: { name: string }
1164
1172
  offers: {
1165
1173
  lowPrice: number
1174
+ lowPriceWithTaxes: number
1166
1175
  offers: Array<{
1167
1176
  availability: string
1168
1177
  price: number
1178
+ priceWithTaxes: number
1169
1179
  listPrice: number
1180
+ listPriceWithTaxes: number
1170
1181
  seller: { identifier: string }
1171
1182
  }>
1172
1183
  }
@@ -1241,6 +1252,7 @@ export type ServerProductQueryQuery = {
1241
1252
  offers: {
1242
1253
  lowPrice: number
1243
1254
  highPrice: number
1255
+ lowPriceWithTaxes: number
1244
1256
  priceCurrency: string
1245
1257
  offers: Array<{
1246
1258
  availability: string
@@ -1248,7 +1260,9 @@ export type ServerProductQueryQuery = {
1248
1260
  priceValidUntil: string
1249
1261
  priceCurrency: string
1250
1262
  itemCondition: string
1263
+ priceWithTaxes: number
1251
1264
  listPrice: number
1265
+ listPriceWithTaxes: number
1252
1266
  seller: { identifier: string }
1253
1267
  }>
1254
1268
  }
@@ -1282,7 +1296,9 @@ export type ValidateCartMutationMutation = {
1282
1296
  acceptedOffer: Array<{
1283
1297
  quantity: number
1284
1298
  price: number
1299
+ priceWithTaxes: number
1285
1300
  listPrice: number
1301
+ listPriceWithTaxes: number
1286
1302
  seller: { identifier: string }
1287
1303
  itemOffered: {
1288
1304
  sku: string
@@ -1318,7 +1334,9 @@ export type CartMessageFragment = { text: string; status: StoreStatus }
1318
1334
  export type CartItemFragment = {
1319
1335
  quantity: number
1320
1336
  price: number
1337
+ priceWithTaxes: number
1321
1338
  listPrice: number
1339
+ listPriceWithTaxes: number
1322
1340
  seller: { identifier: string }
1323
1341
  itemOffered: {
1324
1342
  sku: string
@@ -1401,10 +1419,12 @@ export type ClientManyProductsQueryQuery = {
1401
1419
  image: Array<{ url: string; alternateName: string }>
1402
1420
  offers: {
1403
1421
  lowPrice: number
1422
+ lowPriceWithTaxes: number
1404
1423
  offers: Array<{
1405
1424
  availability: string
1406
1425
  price: number
1407
1426
  listPrice: number
1427
+ listPriceWithTaxes: number
1408
1428
  quantity: number
1409
1429
  seller: { identifier: string }
1410
1430
  }>
@@ -1492,10 +1512,13 @@ export type ClientProductQueryQuery = {
1492
1512
  brand: { name: string }
1493
1513
  offers: {
1494
1514
  lowPrice: number
1515
+ lowPriceWithTaxes: number
1495
1516
  offers: Array<{
1496
1517
  availability: string
1497
1518
  price: number
1519
+ priceWithTaxes: number
1498
1520
  listPrice: number
1521
+ listPriceWithTaxes: number
1499
1522
  seller: { identifier: string }
1500
1523
  }>
1501
1524
  }
@@ -1528,10 +1551,12 @@ export type ClientSearchSuggestionsQueryQuery = {
1528
1551
  image: Array<{ url: string; alternateName: string }>
1529
1552
  offers: {
1530
1553
  lowPrice: number
1554
+ lowPriceWithTaxes: number
1531
1555
  offers: Array<{
1532
1556
  availability: string
1533
1557
  price: number
1534
1558
  listPrice: number
1559
+ listPriceWithTaxes: number
1535
1560
  quantity: number
1536
1561
  seller: { identifier: string }
1537
1562
  }>
@@ -1658,10 +1683,12 @@ export const ProductSummary_ProductFragmentDoc = new TypedDocumentString(
1658
1683
  }
1659
1684
  offers {
1660
1685
  lowPrice
1686
+ lowPriceWithTaxes
1661
1687
  offers {
1662
1688
  availability
1663
1689
  price
1664
1690
  listPrice
1691
+ listPriceWithTaxes
1665
1692
  quantity
1666
1693
  seller {
1667
1694
  identifier
@@ -1770,10 +1797,13 @@ export const ProductDetailsFragment_ProductFragmentDoc =
1770
1797
  }
1771
1798
  offers {
1772
1799
  lowPrice
1800
+ lowPriceWithTaxes
1773
1801
  offers {
1774
1802
  availability
1775
1803
  price
1804
+ priceWithTaxes
1776
1805
  listPrice
1806
+ listPriceWithTaxes
1777
1807
  seller {
1778
1808
  identifier
1779
1809
  }
@@ -1947,7 +1977,9 @@ export const CartItemFragmentDoc = new TypedDocumentString(
1947
1977
  }
1948
1978
  quantity
1949
1979
  price
1980
+ priceWithTaxes
1950
1981
  listPrice
1982
+ listPriceWithTaxes
1951
1983
  itemOffered {
1952
1984
  ...CartProductItem
1953
1985
  }
@@ -2004,7 +2036,7 @@ export const ServerCollectionPageQueryDocument = {
2004
2036
  export const ServerProductQueryDocument = {
2005
2037
  __meta__: {
2006
2038
  operationName: 'ServerProductQuery',
2007
- operationHash: '3ce56e42296689b601347fedc380c89519355ab7',
2039
+ operationHash: '46103bee661405bde706d72126fdbf9b0a0c9e6e',
2008
2040
  },
2009
2041
  } as unknown as TypedDocumentString<
2010
2042
  ServerProductQueryQuery,
@@ -2013,7 +2045,7 @@ export const ServerProductQueryDocument = {
2013
2045
  export const ValidateCartMutationDocument = {
2014
2046
  __meta__: {
2015
2047
  operationName: 'ValidateCartMutation',
2016
- operationHash: '534fae829675533052d75fd4aa509b9cf85b4d40',
2048
+ operationHash: '324471076994dca94a47adcaf1c6b8f7896e1b4f',
2017
2049
  },
2018
2050
  } as unknown as TypedDocumentString<
2019
2051
  ValidateCartMutationMutation,
@@ -2031,7 +2063,7 @@ export const SubscribeToNewsletterDocument = {
2031
2063
  export const ClientManyProductsQueryDocument = {
2032
2064
  __meta__: {
2033
2065
  operationName: 'ClientManyProductsQuery',
2034
- operationHash: 'c0d7d2ae1d5aaae5d50eea683b389377c36fb57d',
2066
+ operationHash: '99012563e9885c3b27a716ca212a2c317e7ec12f',
2035
2067
  },
2036
2068
  } as unknown as TypedDocumentString<
2037
2069
  ClientManyProductsQueryQuery,
@@ -2049,7 +2081,7 @@ export const ClientProductGalleryQueryDocument = {
2049
2081
  export const ClientProductQueryDocument = {
2050
2082
  __meta__: {
2051
2083
  operationName: 'ClientProductQuery',
2052
- operationHash: 'cedeb0c3e7ec1678400fe2ae930f5a79382fba1e',
2084
+ operationHash: '7d121ef8d4dc99174e64e4429a9b977b8bbebed8',
2053
2085
  },
2054
2086
  } as unknown as TypedDocumentString<
2055
2087
  ClientProductQueryQuery,
@@ -2058,7 +2090,7 @@ export const ClientProductQueryDocument = {
2058
2090
  export const ClientSearchSuggestionsQueryDocument = {
2059
2091
  __meta__: {
2060
2092
  operationName: 'ClientSearchSuggestionsQuery',
2061
- operationHash: 'a8a27661f6a032e086c047339e0d0f180f0e0161',
2093
+ operationHash: '47af7b9c9e0fb18b01050767daf3e765f67819ac',
2062
2094
  },
2063
2095
  } as unknown as TypedDocumentString<
2064
2096
  ClientSearchSuggestionsQueryQuery,
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "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 }",
3
- "3ce56e42296689b601347fedc380c89519355ab7": "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 offers { availability listPrice price 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 offers { availability itemCondition price priceCurrency priceValidUntil seller { identifier } } priceCurrency } id: productID releaseDate seo { canonical description title } sku ...ProductDetailsFragment_product } ...ServerProduct }",
4
- "534fae829675533052d75fd4aa509b9cf85b4d40": "fragment CartItem on StoreOffer { itemOffered { ...CartProductItem } listPrice price quantity seller { identifier } } fragment CartMessage on StoreCartMessage { status text } 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 } mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) { validateCart(cart: $cart, session: $session) { messages { ...CartMessage } order { acceptedOffer { ...CartItem } orderNumber } } }",
3
+ "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 }",
4
+ "324471076994dca94a47adcaf1c6b8f7896e1b4f": "fragment CartItem on StoreOffer { itemOffered { ...CartProductItem } listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } fragment CartMessage on StoreCartMessage { status text } 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 } mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) { validateCart(cart: $cart, session: $session) { messages { ...CartMessage } order { acceptedOffer { ...CartItem } orderNumber } } }",
5
5
  "feb7005103a859e2bc8cf2360d568806fd88deba": "mutation SubscribeToNewsletter($data: IPersonNewsletter!) { subscribeToNewsletter(data: $data) { id } }",
6
- "c0d7d2ae1d5aaae5d50eea683b389377c36fb57d": "fragment ClientManyProducts on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { brandName: name } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID } name offers { lowPrice offers { availability listPrice price quantity seller { identifier } } } id: productID sku slug } query ClientManyProductsQuery($after: String, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { edges { node { ...ProductSummary_product } } pageInfo { totalCount } } } ...ClientManyProducts }",
6
+ "99012563e9885c3b27a716ca212a2c317e7ec12f": "fragment ClientManyProducts on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { brandName: name } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price quantity seller { identifier } } } id: productID sku slug } query ClientManyProductsQuery($after: String, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { edges { node { ...ProductSummary_product } } pageInfo { totalCount } } } ...ClientManyProducts }",
7
7
  "bfc40da32b60f9404a4adb96b0856e3fbb04b076": "fragment ClientProductGallery on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment Filter_facets on StoreFacet { ... on StoreFacetBoolean { __typename key label values { label quantity selected value } } ... on StoreFacetRange { __typename key label max { absolute selected } min { absolute selected } } } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientProductGalleryQuery($after: String!, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { redirect(term: $term, selectedFacets: $selectedFacets) { url } search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { facets { ...Filter_facets } metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } } ...ClientProductGallery }",
8
- "cedeb0c3e7ec1678400fe2ae930f5a79382fba1e": "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 ClientProduct on Query { product(locator: $locator) { id: productID } } 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 offers { availability listPrice price seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } query ClientProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductDetailsFragment_product } ...ClientProduct }",
9
- "a8a27661f6a032e086c047339e0d0f180f0e0161": "fragment ClientSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { brandName: name } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID } name offers { lowPrice offers { availability listPrice price quantity seller { identifier } } } id: productID sku slug } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } suggestions { products { ...ProductSummary_product } terms { value } } } ...ClientSearchSuggestions }",
8
+ "7d121ef8d4dc99174e64e4429a9b977b8bbebed8": "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 ClientProduct on Query { product(locator: $locator) { id: productID } } 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 } query ClientProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductDetailsFragment_product } ...ClientProduct }",
9
+ "47af7b9c9e0fb18b01050767daf3e765f67819ac": "fragment ClientSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { brandName: name } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price quantity seller { identifier } } } id: productID sku slug } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } suggestions { products { ...ProductSummary_product } terms { value } } } ...ClientSearchSuggestions }",
10
10
  "e2385b0f11726d0068f96548f57a8dd441c064e3": "fragment ClientTopSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } query ClientTopSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } ...ClientTopSearchSuggestions }",
11
11
  "5696202828f9275216a445e316ebf516f168c506": "mutation ValidateSession($search: String!, $session: IStoreSession!) { validateSession(session: $session, search: $search) { addressType channel country currency { code symbol } deliveryMode { deliveryChannel deliveryMethod deliveryWindow { endDate startDate } } geoCoordinates { latitude longitude } locale person { email familyName givenName id } postalCode } }",
12
12
  "d6667f1de2a26b94b9b55f4b25d7d823f82635a0": "fragment ClientShippingSimulation on Query { shipping(items: $items, postalCode: $postalCode, country: $country) { address { city } } } query ClientShippingSimulationQuery($country: String!, $items: [IShippingItem!]!, $postalCode: String!) { shipping(items: $items, postalCode: $postalCode, country: $country) { address { city neighborhood state } logisticsInfo { slas { availableDeliveryWindows { endDateUtc listPrice price startDateUtc } carrier localizedEstimates price shippingEstimate } } } ...ClientShippingSimulation }"
@@ -35,6 +35,8 @@ type StoreAggregateOffer {
35
35
  highPrice: Float!
36
36
  """Lowest price among all sellers."""
37
37
  lowPrice: Float!
38
+ """Lowest price among all sellers with current taxes."""
39
+ lowPriceWithTaxes: Float!
38
40
  """Number of sellers selling this SKU."""
39
41
  offerCount: Int!
40
42
  """ISO code of the currency used for the offer prices."""
@@ -238,12 +240,16 @@ scalar ObjectOrString
238
240
  type StoreOffer {
239
241
  """This is displayed as the "from" price in the context of promotions' price comparison. This may change before it reaches the shelf."""
240
242
  listPrice: Float!
243
+ """List price among with current taxes."""
244
+ listPriceWithTaxes: Float!
241
245
  """Computed price before applying coupons, taxes or benefits. This may change before it reaches the shelf."""
242
246
  sellingPrice: Float!
243
247
  """ISO code of the currency used for the offer prices."""
244
248
  priceCurrency: String!
245
249
  """Also known as spot price."""
246
250
  price: Float!
251
+ """Also known as spot price with taxes."""
252
+ priceWithTaxes: Float!
247
253
  """Next date in which price is scheduled to change. If there is no scheduled change, this will be set a year in the future from current time."""
248
254
  priceValidUntil: String!
249
255
  """Offer item condition."""
@@ -929,6 +929,22 @@
929
929
  }
930
930
  }
931
931
  },
932
+ "taxesConfiguration": {
933
+ "title": "Taxes Configuration",
934
+ "type": "object",
935
+ "properties": {
936
+ "usePriceWithTaxes": {
937
+ "title": "Should use taxes to calculate the price?",
938
+ "type": "boolean",
939
+ "default": false
940
+ },
941
+ "taxesLabel": {
942
+ "title": "Tax label to be displayed",
943
+ "type": "string",
944
+ "default": "Tax included"
945
+ }
946
+ }
947
+ },
932
948
  "productCardConfiguration": {
933
949
  "title": "Product Card Configuration",
934
950
  "type": "object",
@@ -979,6 +995,22 @@
979
995
  "default": "buy",
980
996
  "enum": ["buy", "view"],
981
997
  "enumNames": ["Who bought also bought", "Who saw also saw"]
998
+ },
999
+ "taxesConfiguration": {
1000
+ "title": "Taxes Configuration",
1001
+ "type": "object",
1002
+ "properties": {
1003
+ "usePriceWithTaxes": {
1004
+ "title": "Should use taxes to calculate the price?",
1005
+ "type": "boolean",
1006
+ "default": false
1007
+ },
1008
+ "taxesLabel": {
1009
+ "title": "Tax label to be displayed",
1010
+ "type": "string",
1011
+ "default": "Tax included"
1012
+ }
1013
+ }
982
1014
  }
983
1015
  }
984
1016
  }
@@ -1059,6 +1091,22 @@
1059
1091
  }
1060
1092
  }
1061
1093
  }
1094
+ },
1095
+ "taxesConfiguration": {
1096
+ "title": "Taxes Configuration",
1097
+ "type": "object",
1098
+ "properties": {
1099
+ "usePriceWithTaxes": {
1100
+ "title": "Should use taxes to calculate the price?",
1101
+ "type": "boolean",
1102
+ "default": false
1103
+ },
1104
+ "taxesLabel": {
1105
+ "title": "Tax label to be displayed",
1106
+ "type": "string",
1107
+ "default": "Tax included"
1108
+ }
1109
+ }
1062
1110
  }
1063
1111
  }
1064
1112
  }
@@ -1554,6 +1602,22 @@
1554
1602
  "default": false
1555
1603
  }
1556
1604
  }
1605
+ },
1606
+ "taxesConfiguration": {
1607
+ "title": "Taxes Configuration",
1608
+ "type": "object",
1609
+ "properties": {
1610
+ "usePriceWithTaxes": {
1611
+ "title": "Should use taxes to calculate the price?",
1612
+ "type": "boolean",
1613
+ "default": false
1614
+ },
1615
+ "taxesLabel": {
1616
+ "title": "Tax label to be displayed",
1617
+ "type": "string",
1618
+ "default": "Tax included"
1619
+ }
1620
+ }
1557
1621
  }
1558
1622
  }
1559
1623
  }
@@ -1696,6 +1760,22 @@
1696
1760
  "title": "Cards should be bordered?",
1697
1761
  "type": "boolean",
1698
1762
  "default": true
1763
+ },
1764
+ "taxesConfiguration": {
1765
+ "title": "Taxes Configuration",
1766
+ "type": "object",
1767
+ "properties": {
1768
+ "usePriceWithTaxes": {
1769
+ "title": "Should use taxes to calculate the price?",
1770
+ "type": "boolean",
1771
+ "default": false
1772
+ },
1773
+ "taxesLabel": {
1774
+ "title": "Tax label to be displayed",
1775
+ "type": "string",
1776
+ "default": "Tax included"
1777
+ }
1778
+ }
1699
1779
  }
1700
1780
  }
1701
1781
  },
@@ -1858,6 +1938,22 @@
1858
1938
  "default": false
1859
1939
  }
1860
1940
  }
1941
+ },
1942
+ "taxesConfiguration": {
1943
+ "title": "Taxes Configuration",
1944
+ "type": "object",
1945
+ "properties": {
1946
+ "usePriceWithTaxes": {
1947
+ "title": "Should use taxes to calculate the price?",
1948
+ "type": "boolean",
1949
+ "default": false
1950
+ },
1951
+ "taxesLabel": {
1952
+ "title": "Tax label to be displayed",
1953
+ "type": "string",
1954
+ "default": "Tax included"
1955
+ }
1956
+ }
1861
1957
  }
1862
1958
  }
1863
1959
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "3.0.74",
3
+ "version": "3.0.75",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -40,11 +40,11 @@
40
40
  "@envelop/graphql-jit": "^1.1.1",
41
41
  "@envelop/parser-cache": "^2.2.0",
42
42
  "@envelop/validation-cache": "^2.2.0",
43
- "@faststore/api": "^3.0.74",
44
- "@faststore/components": "^3.0.74",
43
+ "@faststore/api": "^3.0.75",
44
+ "@faststore/components": "^3.0.75",
45
45
  "@faststore/graphql-utils": "^3.0.68",
46
46
  "@faststore/sdk": "^3.0.68",
47
- "@faststore/ui": "^3.0.74",
47
+ "@faststore/ui": "^3.0.75",
48
48
  "@graphql-codegen/cli": "^5.0.2",
49
49
  "@graphql-codegen/client-preset": "^4.2.6",
50
50
  "@graphql-codegen/typescript": "^4.0.7",
@@ -129,5 +129,5 @@
129
129
  "node": "18.19.0",
130
130
  "yarn": "1.19.1"
131
131
  },
132
- "gitHead": "a2eef14d88c8e73dbdd9d18e3879d64b6d51b56e"
132
+ "gitHead": "7f2d9f2ff3c78082aff7e7c75f920e007af5bccc"
133
133
  }
@@ -63,9 +63,17 @@ function useCartItemEvent() {
63
63
  interface Props {
64
64
  item: ICartItem
65
65
  useUnitMultiplier?: boolean
66
+ taxesConfiguration?: {
67
+ usePriceWithTaxes?: boolean
68
+ taxesLabel?: string
69
+ }
66
70
  }
67
71
 
68
- function CartItem({ item, useUnitMultiplier = false }: Props) {
72
+ function CartItem({
73
+ item,
74
+ useUnitMultiplier = false,
75
+ taxesConfiguration,
76
+ }: Props) {
69
77
  const btnProps = useRemoveButton(item)
70
78
 
71
79
  const { sendCartItemEvent } = useCartItemEvent()
@@ -86,11 +94,21 @@ function CartItem({ item, useUnitMultiplier = false }: Props) {
86
94
  option: skuActiveVariants[key],
87
95
  }))
88
96
 
97
+ const price = taxesConfiguration?.usePriceWithTaxes
98
+ ? item.priceWithTaxes
99
+ : item.price
100
+
101
+ const listPrice = taxesConfiguration?.usePriceWithTaxes
102
+ ? item.listPriceWithTaxes
103
+ : item.listPrice
104
+
105
+ const unitMultiplier = item.itemOffered.unitMultiplier ?? 1
106
+
89
107
  return (
90
108
  <UICartItem
91
109
  price={{
92
- value: item.price,
93
- listPrice: item.listPrice,
110
+ value: price,
111
+ listPrice: useUnitMultiplier ? listPrice * unitMultiplier : listPrice,
94
112
  formatter: useFormattedPrice,
95
113
  }}
96
114
  quantity={item.quantity}