@@ -213,24 +213,25 @@ function TabListInner<T extends object>(props: TabListProps<T>) {
213
213
style = { props . UNSAFE_style }
214
214
className = { ( props . UNSAFE_className || '' ) + style ( { position : 'relative' } , getAllowedOverrides ( ) ) ( null , props . styles ) } >
215
215
{ orientation === 'vertical' &&
216
- < TabLine disabledKeys = { disabledKeys } isDisabled = { isDisabled } selectedTab = { selectedTab } orientation = { orientation } density = { density } /> }
216
+ < TabLine disabledKeys = { disabledKeys } isDisabled = { isDisabled } selectedTab = { selectedTab } orientation = { orientation } tabList = { props } density = { density } /> }
217
217
< RACTabList
218
218
{ ...props }
219
219
aria-label = { ariaLabel }
220
220
aria-labelledby = { ariaLabelledBy }
221
221
ref = { tablistRef }
222
222
className = { renderProps => tablist ( { ...renderProps , labelBehavior, density} ) } />
223
223
{ orientation === 'horizontal' &&
224
- < TabLine disabledKeys = { disabledKeys } isDisabled = { isDisabled } selectedTab = { selectedTab } orientation = { orientation } density = { density } /> }
224
+ < TabLine disabledKeys = { disabledKeys } isDisabled = { isDisabled } selectedTab = { selectedTab } orientation = { orientation } tabList = { props } density = { density } /> }
225
225
</ div >
226
226
) ;
227
227
}
228
228
229
- interface TabLineProps {
229
+ interface TabLineProps < T extends object > {
230
230
disabledKeys : Iterable < Key > | undefined ,
231
231
isDisabled : boolean | undefined ,
232
232
selectedTab : HTMLElement | undefined ,
233
233
orientation ?: Orientation ,
234
+ tabList : TabListProps < T > ,
234
235
density ?: 'compact' | 'regular'
235
236
}
236
237
@@ -265,12 +266,13 @@ const selectedIndicator = style<{isDisabled: boolean, orientation?: Orientation}
265
266
transitionTimingFunction : 'in-out'
266
267
} ) ;
267
268
268
- function TabLine ( props : TabLineProps ) {
269
+ function TabLine < T extends object > ( props : TabLineProps < T > ) {
269
270
let {
270
271
disabledKeys,
271
272
isDisabled : isTabsDisabled ,
272
273
selectedTab,
273
274
orientation,
275
+ tabList,
274
276
density
275
277
} = props ;
276
278
let { direction} = useLocale ( ) ;
@@ -314,7 +316,7 @@ function TabLine(props: TabLineProps) {
314
316
315
317
useLayoutEffect ( ( ) => {
316
318
onResize ( ) ;
317
- } , [ onResize , state ?. selectedItem ?. key , density , direction , orientation ] ) ;
319
+ } , [ onResize , state ?. selectedItem ?. key , density , direction , orientation , tabList ] ) ;
318
320
319
321
return (
320
322
< div style = { { ...style } } className = { selectedIndicator ( { isDisabled, orientation} ) } />
0 commit comments