@material-ui/core
Version:
React components that implement Google's Material Design.
62 lines (55 loc) • 1.67 kB
TypeScript
import * as React from 'react';
import ButtonBase from '../ButtonBase';
import { TabScrollButtonProps } from '../TabScrollButton';
import { OverridableComponent, OverrideProps } from '../OverridableComponent';
export interface TabsTypeMap<P = {}, D extends React.ElementType = typeof ButtonBase> {
props: P & {
action?: React.Ref<TabsActions>;
centered?: boolean;
children?: React.ReactNode;
indicatorColor?: 'secondary' | 'primary';
onChange?: (event: React.ChangeEvent<{}>, value: any) => void;
orientation?: 'horizontal' | 'vertical';
ScrollButtonComponent?: React.ElementType;
scrollButtons?: 'auto' | 'desktop' | 'on' | 'off';
selectionFollowsFocus?: boolean;
TabIndicatorProps?: Partial<React.HTMLAttributes<HTMLDivElement>>;
TabScrollButtonProps?: Partial<TabScrollButtonProps>;
textColor?: 'secondary' | 'primary' | 'inherit';
value: any;
variant?: 'standard' | 'scrollable' | 'fullWidth';
width?: string;
};
defaultComponent: D;
classKey: TabsClassKey;
}
/**
*
* Demos:
*
* - [Tabs](https://material-ui.com/components/tabs/)
*
* API:
*
* - [Tabs API](https://material-ui.com/api/tabs/)
*/
declare const Tabs: OverridableComponent<TabsTypeMap>;
export type TabsClassKey =
| 'root'
| 'flexContainer'
| 'scroller'
| 'fixed'
| 'scrollable'
| 'centered'
| 'scrollButtons'
| 'scrollButtonsDesktop'
| 'indicator';
export interface TabsActions {
updateIndicator(): void;
updateScrollButtons(): void;
}
export type TabsProps<
D extends React.ElementType = TabsTypeMap['defaultComponent'],
P = {}
> = OverrideProps<TabsTypeMap<P, D>, D>;
export default Tabs;