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;