(
props: TabPanelProps & {
tabPanelRef: RefObject<HTMLDivElement | null>;
isInitiallySelected: boolean;
isExiting: boolean;
}
)
| 593 | }); |
| 594 | |
| 595 | function TabPanelInner( |
| 596 | props: TabPanelProps & { |
| 597 | tabPanelRef: RefObject<HTMLDivElement | null>; |
| 598 | isInitiallySelected: boolean; |
| 599 | isExiting: boolean; |
| 600 | } |
| 601 | ) { |
| 602 | let state = useContext(TabListStateContext)!; |
| 603 | // eslint-disable-next-line @typescript-eslint/no-unused-vars |
| 604 | let {id, tabPanelRef: ref, isInitiallySelected, isExiting, ...otherProps} = props; |
| 605 | let {tabPanelProps} = useTabPanel(props, state, ref); |
| 606 | let {focusProps, isFocused, isFocusVisible} = useFocusRing(); |
| 607 | |
| 608 | let isSelected = state.selectedKey === props.id; |
| 609 | let isEntering = useEnterAnimation(ref) && !isInitiallySelected; |
| 610 | let renderProps = useRenderProps({ |
| 611 | ...props, |
| 612 | defaultClassName: 'react-aria-TabPanel', |
| 613 | values: { |
| 614 | isFocused, |
| 615 | isFocusVisible, |
| 616 | // @ts-ignore - compatibility with React < 19 |
| 617 | isInert: inertValue(!isSelected), |
| 618 | isEntering, |
| 619 | isExiting, |
| 620 | state |
| 621 | } |
| 622 | }); |
| 623 | |
| 624 | let DOMProps = filterDOMProps(otherProps, {global: true}); |
| 625 | delete DOMProps.id; |
| 626 | |
| 627 | let domProps = isSelected |
| 628 | ? mergeProps(DOMProps, tabPanelProps, focusProps, renderProps) |
| 629 | : mergeProps(DOMProps, renderProps); |
| 630 | |
| 631 | return ( |
| 632 | <dom.div |
| 633 | {...domProps} |
| 634 | ref={ref} |
| 635 | data-focused={isFocused || undefined} |
| 636 | data-focus-visible={isFocusVisible || undefined} |
| 637 | // @ts-ignore |
| 638 | inert={inertValue(!isSelected || props.inert)} |
| 639 | data-inert={!isSelected ? 'true' : undefined} |
| 640 | data-entering={isEntering || undefined} |
| 641 | data-exiting={isExiting || undefined}> |
| 642 | <Provider |
| 643 | values={[ |
| 644 | [TabsContext, null], |
| 645 | [TabListStateContext, null] |
| 646 | ]}> |
| 647 | <CollectionRendererContext.Provider value={DefaultCollectionRenderer}> |
| 648 | {renderProps.children} |
| 649 | </CollectionRendererContext.Provider> |
| 650 | </Provider> |
| 651 | </dom.div> |
| 652 | ); |
nothing calls this directly
no test coverage detected