UNPKG

1.37 kBTypeScriptView Raw
1import * as React from 'react';
2import ButtonBase from '../ButtonBase/ButtonBase';
3import { OverridableComponent, OverrideProps } from '../OverridableComponent';
4
5export interface TabsTypeMap<P = {}, D extends React.ElementType = typeof ButtonBase> {
6 props: P & {
7 action?: React.Ref<TabsActions>;
8 centered?: boolean;
9 children?: React.ReactNode;
10 indicatorColor?: 'secondary' | 'primary' | string;
11 onChange?: (event: React.ChangeEvent<{}>, value: any) => void;
12 orientation?: 'horizontal' | 'vertical';
13 ScrollButtonComponent?: React.ElementType;
14 scrollButtons?: 'auto' | 'desktop' | 'on' | 'off';
15 TabIndicatorProps?: Partial<React.HTMLAttributes<HTMLDivElement>>;
16 textColor?: 'secondary' | 'primary' | 'inherit' | string;
17 value: any;
18 variant?: 'standard' | 'scrollable' | 'fullWidth';
19 width?: string;
20 };
21 defaultComponent: D;
22 classKey: TabsClassKey;
23}
24
25declare const Tabs: OverridableComponent<TabsTypeMap>;
26
27export type TabsClassKey =
28 | 'root'
29 | 'flexContainer'
30 | 'scroller'
31 | 'fixed'
32 | 'scrollable'
33 | 'centered'
34 | 'scrollButtons'
35 | 'scrollButtonsDesktop'
36 | 'indicator';
37
38export interface TabsActions {
39 updateIndicator(): void;
40}
41
42export type TabsProps<
43 D extends React.ElementType = TabsTypeMap['defaultComponent'],
44 P = {}
45> = OverrideProps<TabsTypeMap<P, D>, D>;
46
47export default Tabs;