import React, { FunctionComponent, HTMLAttributes, ReactNode, useContext } from 'react'; import { getClassName } from '../../helpers/getClassName'; import Tappable, { ACTIVE_EFFECT_DELAY } from '../Tappable/Tappable'; import { classNames } from '../../lib/classNames'; import { IOS, VKCOM } from '../../lib/platform'; import { usePlatform } from '../../hooks/usePlatform'; import { hasReactNode } from '../../lib/utils'; import { TabsModeContext } from '../Tabs/Tabs'; import Headline from '../Typography/Headline/Headline'; import Subhead from '../Typography/Subhead/Subhead'; import Text from '../Typography/Text/Text'; export interface TabsItemProps extends HTMLAttributes { after?: ReactNode; selected?: boolean; } const TabsItem: FunctionComponent = ({ children, selected, className, after, ...restProps }: TabsItemProps) => { const platform = usePlatform(); const mode = useContext(TabsModeContext); const TypographyComponent = platform === VKCOM ? Text : mode === 'buttons' || mode === 'segmented' ? Subhead : Headline; return ( {children} {hasReactNode(after) &&
{after}
}
); }; TabsItem.defaultProps = { selected: false, }; export default TabsItem;