import * as React from 'react'; import { TabButtonProps } from '../TabButton'; import { TabClasses } from './tabClasses'; import type { TabValue, IconPosition, ChangeHandler, ClassesWithClassValue } from '../types'; type BaseButtonProps = Omit, 'value' | 'disabled' | 'onChange'>; export interface TabProps extends BaseButtonProps { /** * You can provide your own value. Otherwise, we fallback to the child position index. */ value?: TabValue; /** * The label element. */ label?: React.ReactNode; /** * The icon to display. */ icon?: React.ReactNode; /** * Override or extend the styles applied to the component. */ classes?: ClassesWithClassValue; /** * If `true`, the component is disabled. * @default false */ disabled?: boolean; /** * Indicates whether the tab is selected. * @default false */ selected?: boolean; /** * The position of the icon relative to the label. * @default 'top' */ iconPosition?: IconPosition; /** * Used to assign a custom indicator. */ indicator?: React.ReactNode; /** * @default false */ fullWidth?: boolean; /** * Callback fired when the value changes. */ onChange?: ChangeHandler; /** * If `true` the selected tab changes on focus. Otherwise it only * changes on activation. */ selectionFollowsFocus?: boolean; /** * The component used to render the tab. */ ButtonComponent?: React.ComponentType; } declare const Tab: React.FC; export default Tab;