@faststore/core 2.2.53 → 2.2.55

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 (108) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +54 -60
  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/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +3 -3
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/390.js +409 -404
  16. package/.next/server/chunks/520.js +491 -0
  17. package/.next/server/chunks/732.js +1 -1
  18. package/.next/server/chunks/74.js +2274 -636
  19. package/.next/server/chunks/796.js +495 -0
  20. package/.next/server/middleware-build-manifest.js +1 -1
  21. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  22. package/.next/server/pages/404.js +14 -0
  23. package/.next/server/pages/404.js.nft.json +1 -1
  24. package/.next/server/pages/500.js +14 -0
  25. package/.next/server/pages/500.js.nft.json +1 -1
  26. package/.next/server/pages/[...slug].js +12 -12
  27. package/.next/server/pages/[...slug].js.nft.json +1 -1
  28. package/.next/server/pages/[slug]/p.js +17 -61
  29. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  30. package/.next/server/pages/_app.js.nft.json +1 -1
  31. package/.next/server/pages/account.js +14 -0
  32. package/.next/server/pages/account.js.nft.json +1 -1
  33. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  34. package/.next/server/pages/checkout.js +14 -0
  35. package/.next/server/pages/checkout.js.nft.json +1 -1
  36. package/.next/server/pages/en-US/404.html +2 -2
  37. package/.next/server/pages/en-US/500.html +2 -2
  38. package/.next/server/pages/en-US/account.html +2 -2
  39. package/.next/server/pages/en-US/checkout.html +2 -2
  40. package/.next/server/pages/en-US/login.html +2 -2
  41. package/.next/server/pages/en-US/s.html +2 -2
  42. package/.next/server/pages/en-US.html +2 -2
  43. package/.next/server/pages/index.js +7 -7
  44. package/.next/server/pages/index.js.nft.json +1 -1
  45. package/.next/server/pages/login.js +14 -0
  46. package/.next/server/pages/login.js.nft.json +1 -1
  47. package/.next/server/pages/s.js +8 -1
  48. package/.next/server/pages/s.js.nft.json +1 -1
  49. package/.next/server/pages-manifest.json +3 -3
  50. package/.next/static/chunks/158-df35a8644ae9d281.js +1 -0
  51. package/.next/static/chunks/251.98f500dd8ba008ae.js +1 -0
  52. package/.next/static/chunks/497-37c1e4e1d862b354.js +1 -0
  53. package/.next/static/chunks/585.4e673e43d8daf336.js +1 -0
  54. package/.next/static/chunks/800.ea75aa39e939d9af.js +1 -0
  55. package/.next/static/chunks/897-b07932d813bb7dac.js +1 -0
  56. package/.next/static/chunks/pages/{404-7710903c2a59fa6e.js → 404-0bacd82dcf801c94.js} +1 -1
  57. package/.next/static/chunks/pages/{500-88a231e61179db83.js → 500-4dceb834e001d990.js} +1 -1
  58. package/.next/static/chunks/pages/[...slug]-b82b56ce1651ea4f.js +1 -0
  59. package/.next/static/chunks/pages/[slug]/p-39599bd4d6faeeb6.js +1 -0
  60. package/.next/static/chunks/pages/{account-f163e14670372c05.js → account-57c0c1f70eed76a6.js} +1 -1
  61. package/.next/static/chunks/pages/{checkout-cf498a32e110bde8.js → checkout-e5db8918e7c9c75e.js} +1 -1
  62. package/.next/static/chunks/pages/index-84457d91d9060925.js +1 -0
  63. package/.next/static/chunks/pages/{login-707636c85f23cac6.js → login-39000c786b4f6222.js} +1 -1
  64. package/.next/static/chunks/pages/s-e195109f5acced7c.js +1 -0
  65. package/.next/static/chunks/webpack-ec84ae4e89cebb1f.js +1 -0
  66. package/.next/static/css/0cb5d7afb952bb02.css +1 -0
  67. package/.next/static/css/{4e42cc999ad62b57.css → 0dc997f9da3027b7.css} +1 -1
  68. package/.next/static/css/{d7bbfbd552f407e9.css → cbccabebb36f7f92.css} +1 -1
  69. package/.next/static/css/{d456bfc64bc489a2.css → cf062feb79245123.css} +1 -1
  70. package/.next/static/xNdv8Ze2mVN5lf__-4QVM/_buildManifest.js +1 -0
  71. package/.next/trace +81 -81
  72. package/.turbo/turbo-build.log +18 -18
  73. package/.turbo/turbo-test.log +9 -9
  74. package/package.json +2 -2
  75. package/src/components/sections/CrossSellingShelf/DefaultComponents.ts +9 -0
  76. package/src/components/sections/CrossSellingShelf/OverriddenDefaultCrossSellingShelf.ts +5 -0
  77. package/src/components/sections/ProductShelf/DefaultComponents.ts +9 -0
  78. package/src/components/sections/ProductShelf/OverriddenDefaultProductShelf.ts +12 -0
  79. package/src/components/templates/LandingPage/LandingPage.tsx +1 -1
  80. package/src/components/templates/ProductListingPage/ProductListing.tsx +1 -1
  81. package/src/components/ui/ProductShelf/ProductShelf.tsx +11 -12
  82. package/src/pages/[slug]/p.tsx +1 -1
  83. package/src/pages/index.tsx +1 -1
  84. package/src/sdk/overrides/sections.tsx +12 -4
  85. package/src/typings/overrides.ts +15 -1
  86. package/.next/server/chunks/117.js +0 -430
  87. package/.next/server/chunks/184.js +0 -61
  88. package/.next/server/chunks/53.js +0 -61
  89. package/.next/server/chunks/773.js +0 -550
  90. package/.next/server/chunks/854.js +0 -72
  91. package/.next/server/chunks/890.js +0 -1205
  92. package/.next/static/McclVBfxjOJEmRRYVXL7T/_buildManifest.js +0 -1
  93. package/.next/static/chunks/158-042441a60c3b4b56.js +0 -1
  94. package/.next/static/chunks/223-cb77217cce52d45c.js +0 -1
  95. package/.next/static/chunks/251.1c79f06f2a2814b1.js +0 -1
  96. package/.next/static/chunks/290-383e1d36f83c367d.js +0 -1
  97. package/.next/static/chunks/497-f3f10b00c609f0c2.js +0 -1
  98. package/.next/static/chunks/585.2d70151d75fdf960.js +0 -1
  99. package/.next/static/chunks/800.f63caad837409c7e.js +0 -1
  100. package/.next/static/chunks/pages/[...slug]-9b20bb8274fe7854.js +0 -1
  101. package/.next/static/chunks/pages/[slug]/p-0ef7dd71888c199e.js +0 -1
  102. package/.next/static/chunks/pages/index-1cfe3afbd6564f45.js +0 -1
  103. package/.next/static/chunks/pages/s-0bfcfd0d40841dcf.js +0 -1
  104. package/.next/static/chunks/webpack-ba86ae9a63f61805.js +0 -1
  105. package/.next/static/css/14c11109f82a6f9a.css +0 -1
  106. package/.next/static/css/e337ce16f77f08a7.css +0 -1
  107. package/src/components/sections/ProductShelf/Overrides.tsx +0 -20
  108. /package/.next/static/{McclVBfxjOJEmRRYVXL7T → xNdv8Ze2mVN5lf__-4QVM}/_ssgManifest.js +0 -0
@@ -38,28 +38,28 @@ info - Generating static pages (7/7)
38
38
  info - Finalizing page optimization...
39
39
 
40
40
  Route (pages) Size First Load JS
41
- ┌ ● / 2.42 kB 128 kB
42
- ├ └ css/d456bfc64bc489a2.css 5.47 kB
43
- ├ /_app 0 B 83.8 kB
44
- ├ ● /[...slug] 3.56 kB 140 kB
45
- ├ └ css/4e42cc999ad62b57.css 5.9 kB
46
- ├ ● /[slug]/p 10.9 kB 136 kB
47
- ├ └ css/d7bbfbd552f407e9.css 11.3 kB
48
- ├ ○ /404 1.19 kB 113 kB
49
- ├ ● /500 1.21 kB 113 kB
50
- ├ ● /account 677 B 112 kB
51
- ├ λ /api/graphql 0 B 83.8 kB
52
- ├ λ /api/health/live 0 B 83.8 kB
53
- ├ λ /api/health/ready 0 B 83.8 kB
54
- ├ λ /api/preview 0 B 83.8 kB
55
- ├ ● /checkout 661 B 112 kB
56
- ├ ● /login 1.14 kB 113 kB
57
- └ ● /s 4.57 kB 127 kB
41
+ ┌ ● / 6.61 kB 127 kB
42
+ ├ └ css/cf062feb79245123.css 8.38 kB
43
+ ├ /_app 0 B 83.7 kB
44
+ ├ ● /[...slug] 7.35 kB 139 kB
45
+ ├ └ css/0dc997f9da3027b7.css 8.8 kB
46
+ ├ ● /[slug]/p 14.5 kB 135 kB
47
+ ├ └ css/cbccabebb36f7f92.css 13.3 kB
48
+ ├ ○ /404 1.19 kB 122 kB
49
+ ├ ● /500 1.21 kB 122 kB
50
+ ├ ● /account 677 B 121 kB
51
+ ├ λ /api/graphql 0 B 83.7 kB
52
+ ├ λ /api/health/live 0 B 83.7 kB
53
+ ├ λ /api/health/ready 0 B 83.7 kB
54
+ ├ λ /api/preview 0 B 83.7 kB
55
+ ├ ● /checkout 662 B 121 kB
56
+ ├ ● /login 1.14 kB 122 kB
57
+ └ ● /s 1.38 kB 133 kB
58
58
  + First Load JS shared by all 86.8 kB
59
59
  ├ chunks/framework-dfd14d7ce6600b03.js 45.3 kB
60
60
  ├ chunks/main-e4e873ee741162eb.js 24.2 kB
61
61
  ├ chunks/pages/_app-30b9666307e4b3b1.js 12.1 kB
62
- ├ chunks/webpack-ba86ae9a63f61805.js 2.25 kB
62
+ ├ chunks/webpack-ec84ae4e89cebb1f.js 2.23 kB
63
63
  └ css/5d1f64b61ea581f4.css 3.05 kB
64
64
 
65
65
  λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
@@ -1,23 +1,23 @@
1
1
  $ jest
2
- PASS test/server/index.test.ts (21.683 s)
2
+ PASS test/server/index.test.ts (21.908 s)
3
3
  FastStore GraphQL Layer
4
4
  @faststore/api
5
- ✓ should return a valid GraphQL schema (38 ms)
6
- ✓ should return a valid GraphQL schema contain all expected types (13 ms)
5
+ ✓ should return a valid GraphQL schema (8 ms)
6
+ ✓ should return a valid GraphQL schema contain all expected types (19 ms)
7
7
  ✓ should return a valid GraphQL schema contain all expected queries (1 ms)
8
8
  ✓ should return a valid GraphQL schema contain all expected mutations
9
9
  VTEX API Extension
10
- ✓ getTypeDefsFromFolder function should return an Array (20 ms)
10
+ ✓ getTypeDefsFromFolder function should return an Array (8 ms)
11
11
  Third Party API Extension
12
- ✓ getTypeDefsFromFolder function should return an Array (7 ms)
12
+ ✓ getTypeDefsFromFolder function should return an Array (6 ms)
13
13
  Final Schema after merging
14
- ✓ should return a valid merged GraphQL schema (84 ms)
14
+ ✓ should return a valid merged GraphQL schema (31 ms)
15
15
  Envelop
16
- ✓ should exist with its plugins (74 ms)
17
- ✓ should handle options and execute (333 ms)
16
+ ✓ should exist with its plugins (27 ms)
17
+ ✓ should handle options and execute (589 ms)
18
18
 
19
19
  Test Suites: 1 passed, 1 total
20
20
  Tests: 9 passed, 9 total
21
21
  Snapshots: 0 total
22
- Time: 21.826 s
22
+ Time: 21.988 s
23
23
  Ran all test suites.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "2.2.53",
3
+ "version": "2.2.55",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -123,5 +123,5 @@
123
123
  "node": "18.19.0",
124
124
  "yarn": "1.19.1"
125
125
  },
126
- "gitHead": "03d9d8f9a33f655c137c03f3a6991a94c713bd47"
126
+ "gitHead": "c10610f38a7b50200d46bae8533f8b128b0a5400"
127
127
  }
@@ -0,0 +1,9 @@
1
+ import { ProductShelf as UIProductShelf } from '@faststore/ui'
2
+ import ProductCard from 'src/components/product/ProductCard'
3
+ import Carousel from 'src/components/ui/Carousel'
4
+
5
+ export const CrossSellingShelfDefaultComponents = {
6
+ ProductShelf: UIProductShelf,
7
+ __experimentalCarousel: Carousel,
8
+ __experimentalProductCard: ProductCard,
9
+ } as const
@@ -0,0 +1,5 @@
1
+ import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
2
+
3
+ export const OverriddenDefaultCrossSellingShelf = getOverriddenSection({
4
+ section: 'CrossSellingShelf',
5
+ })
@@ -0,0 +1,9 @@
1
+ import { ProductShelf as UIProductShelf } from '@faststore/ui'
2
+ import ProductCard from 'src/components/product/ProductCard'
3
+ import Carousel from 'src/components/ui/Carousel'
4
+
5
+ export const ProductShelfDefaultComponents = {
6
+ ProductShelf: UIProductShelf,
7
+ __experimentalCarousel: Carousel,
8
+ __experimentalProductCard: ProductCard,
9
+ } as const
@@ -0,0 +1,12 @@
1
+ import { override } from 'src/customizations/src/components/overrides/ProductShelf'
2
+ import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
+ import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
4
+
5
+ /**
6
+ * This component exists to support overrides 1.0
7
+ *
8
+ * This allows users to override the default ProductShelf section present in the Headless CMS
9
+ */
10
+ export const OverriddenDefaultProductShelf = getOverriddenSection(
11
+ override as SectionOverrideDefinition<'ProductShelf'>
12
+ )
@@ -6,7 +6,7 @@ import MissingContentError from 'src/sdk/error/MissingContentError/MissingConten
6
6
  import RenderSections from 'src/components/cms/RenderSections'
7
7
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
8
8
  import Incentives from 'src/components/sections/Incentives'
9
- import ProductShelf from 'src/components/sections/ProductShelf'
9
+ import { OverriddenDefaultProductShelf as ProductShelf } from 'src/components/sections/ProductShelf/OverriddenDefaultProductShelf'
10
10
  import ProductTiles from 'src/components/sections/ProductTiles'
11
11
  import { OverriddenDefaultBannerText as BannerText } from 'src/components/sections/BannerText/OverriddenDefaultBannerText'
12
12
  import Newsletter from 'src/components/sections/Newsletter'
@@ -2,7 +2,7 @@ import type { ServerCollectionPageQueryQuery } from '@generated/graphql'
2
2
  import Breadcrumb from 'src/components/sections/Breadcrumb'
3
3
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
4
4
  import ProductGallery from 'src/components/sections/ProductGallery'
5
- import ProductShelf from 'src/components/sections/ProductShelf'
5
+ import { OverriddenDefaultProductShelf as ProductShelf } from 'src/components/sections/ProductShelf/OverriddenDefaultProductShelf'
6
6
  import ScrollToTopButton from 'src/components/sections/ScrollToTopButton'
7
7
  import { ITEMS_PER_PAGE } from 'src/constants'
8
8
  import deepmerge from 'deepmerge'
@@ -2,15 +2,10 @@ import { useEffect, useId, useRef } from 'react'
2
2
 
3
3
  import ProductShelfSkeleton from 'src/components/skeletons/ProductShelfSkeleton'
4
4
  import { useViewItemListEvent } from 'src/sdk/analytics/hooks/useViewItemListEvent'
5
+ import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
5
6
  import { useProductsQuery } from 'src/sdk/product/useProductsQuery'
6
7
  import { textToKebabCase } from 'src/utils/utilities'
7
8
 
8
- import {
9
- ProductShelf as ProductShelfWrapper,
10
- __experimentalCarousel as Carousel,
11
- __experimentalProductCard as ProductCard,
12
- } from 'src/components/sections/ProductShelf/Overrides'
13
-
14
9
  type Sort =
15
10
  | 'discount_desc'
16
11
  | 'name_asc'
@@ -42,14 +37,16 @@ export type ProductShelfProps = {
42
37
  function ProductShelf({
43
38
  title,
44
39
  inView,
45
- productCardConfiguration: {
46
- bordered = ProductCard.props.bordered,
47
- showDiscountBadge = ProductCard.props.showDiscountBadge,
48
- } = {},
40
+ productCardConfiguration: { bordered, showDiscountBadge } = {},
49
41
  numberOfItems,
50
42
  itemsPerPage = 5,
51
43
  ...otherProps
52
44
  }: ProductShelfProps) {
45
+ const {
46
+ ProductShelf: ProductShelfWrapper,
47
+ __experimentalCarousel: Carousel,
48
+ __experimentalProductCard: ProductCard,
49
+ } = useOverrideComponents<'ProductShelf' | 'CrossSellingShelf'>()
53
50
  const titleId = textToKebabCase(title)
54
51
  const id = useId()
55
52
  const viewedOnce = useRef(false)
@@ -100,8 +97,10 @@ function ProductShelf({
100
97
  sizes: '(max-width: 768px) 42vw, 30vw',
101
98
  }}
102
99
  {...ProductCard.props}
103
- bordered={bordered}
104
- showDiscountBadge={showDiscountBadge}
100
+ bordered={bordered ?? ProductCard.props.bordered}
101
+ showDiscountBadge={
102
+ showDiscountBadge ?? ProductCard.props.showDiscountBadge
103
+ }
105
104
  // Dynamic props shouldn't be overridable
106
105
  // This decision can be reviewed later if needed
107
106
  key={`${product.node.id}`}
@@ -14,7 +14,7 @@ import RenderSections from 'src/components/cms/RenderSections'
14
14
  import BannerNewsletter from 'src/components/sections/BannerNewsletter/BannerNewsletter'
15
15
  import { OverriddenDefaultBannerText as BannerText } from 'src/components/sections/BannerText/OverriddenDefaultBannerText'
16
16
  import Breadcrumb from 'src/components/sections/Breadcrumb'
17
- import CrossSellingShelf from 'src/components/sections/CrossSellingShelf'
17
+ import { OverriddenDefaultCrossSellingShelf as CrossSellingShelf } from 'src/components/sections/CrossSellingShelf/OverriddenDefaultCrossSellingShelf'
18
18
  import ProductDetails from 'src/components/sections/ProductDetails'
19
19
  import CUSTOM_COMPONENTS from 'src/customizations/src/components'
20
20
  import { useSession } from 'src/sdk/session'
@@ -8,7 +8,7 @@ import { OverriddenDefaultBannerText as BannerText } from 'src/components/sectio
8
8
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
9
9
  import Incentives from 'src/components/sections/Incentives'
10
10
  import Newsletter from 'src/components/sections/Newsletter'
11
- import ProductShelf from 'src/components/sections/ProductShelf'
11
+ import { OverriddenDefaultProductShelf as ProductShelf } from 'src/components/sections/ProductShelf/OverriddenDefaultProductShelf'
12
12
  import ProductTiles from 'src/components/sections/ProductTiles'
13
13
  import CUSTOM_COMPONENTS from 'src/customizations/src/components'
14
14
  import { mark } from 'src/sdk/tests/mark'
@@ -1,17 +1,23 @@
1
1
  import Alert from '../../components/sections/Alert'
2
- import Hero from '../../components/sections/Hero'
3
2
  import BannerText from '../../components/sections/BannerText'
3
+ import Hero from '../../components/sections/Hero'
4
+ import ProductShelf from '../../components/sections/ProductShelf'
5
+ import CrossSellingShelf from '../../components/sections/CrossSellingShelf'
4
6
 
5
7
  import type { DefaultSectionComponentsDefinitions } from '../../typings/overridesDefinition'
6
8
  import type { SectionsOverrides } from '../../typings/overrides'
7
9
  import { AlertDefaultComponents } from '../../components/sections/Alert/DefaultComponents'
8
- import { HeroDefaultComponents } from '../../components/sections/Hero/DefaultComponents'
9
10
  import { BannerTextDefaultComponents } from '../../components/sections/BannerText/DefaultComponents'
11
+ import { CrossSellingShelfDefaultComponents } from 'src/components/sections/CrossSellingShelf/DefaultComponents'
12
+ import { HeroDefaultComponents } from '../../components/sections/Hero/DefaultComponents'
13
+ import { ProductShelfDefaultComponents } from '../../components/sections/ProductShelf/DefaultComponents'
10
14
 
11
15
  export const Sections = {
12
16
  Alert,
13
- Hero,
14
17
  BannerText,
18
+ CrossSellingShelf,
19
+ Hero,
20
+ ProductShelf,
15
21
  }
16
22
 
17
23
  export const DefaultComponents: Partial<
@@ -21,6 +27,8 @@ export const DefaultComponents: Partial<
21
27
  >
22
28
  > = {
23
29
  Alert: AlertDefaultComponents,
24
- Hero: HeroDefaultComponents,
25
30
  BannerText: BannerTextDefaultComponents,
31
+ Hero: HeroDefaultComponents,
32
+ ProductShelf: ProductShelfDefaultComponents,
33
+ CrossSellingShelf: CrossSellingShelfDefaultComponents,
26
34
  }
@@ -47,7 +47,10 @@ export type SectionOverride = {
47
47
  }[keyof SectionsOverrides]
48
48
 
49
49
  /** TODO: every use of this type should be replaced by SectionsOverrides after all sections are supported */
50
- export type SupportedSectionsOverridesV2 = Pick<SectionsOverrides, 'Alert' | 'Hero' | 'BannerText'>
50
+ export type SupportedSectionsOverridesV2 = Pick<
51
+ SectionsOverrides,
52
+ 'Alert' | 'BannerText' | 'CrossSellingShelf' | 'Hero' | 'ProductShelf'
53
+ >
51
54
 
52
55
  /**
53
56
  * Originally, these types were defined in their respective Overrides file
@@ -220,6 +223,17 @@ export type SectionsOverrides = {
220
223
  Omit<any, 'key' | 'product' | 'index'>
221
224
  >
222
225
  }
226
+ CrossSellingShelf: {
227
+ ProductShelf: ComponentOverrideDefinition<
228
+ ProductShelfProps,
229
+ ProductShelfProps
230
+ >
231
+ __experimentalCarousel: ComponentOverrideDefinition<any, any>
232
+ __experimentalProductCard: ComponentOverrideDefinition<
233
+ any,
234
+ Omit<any, 'key' | 'product' | 'index'>
235
+ >
236
+ }
223
237
  RegionBar: {
224
238
  RegionBar: ComponentOverrideDefinition<
225
239
  RegionBarProps,