UNPKG

1.58 kBTypeScriptView Raw
1import * as React from 'react';
2import { Simplify } from '@mui/types';
3import { UseTabsListRootSlotProps } from '../useTabsList';
4import { PolymorphicProps, SlotComponentProps } from '../utils';
5export interface TabsListRootSlotPropsOverrides {
6}
7export interface TabsListOwnProps {
8 /**
9 * The content of the component.
10 */
11 children?: React.ReactNode;
12 className?: string;
13 /**
14 * The props used for each slot inside the TabsList.
15 * @default {}
16 */
17 slotProps?: {
18 root?: SlotComponentProps<'div', TabsListRootSlotPropsOverrides, TabsListOwnerState>;
19 };
20 /**
21 * The components used for each slot inside the TabsList.
22 * Either a string to use a HTML element or a component.
23 * @default {}
24 */
25 slots?: TabsListSlots;
26}
27export interface TabsListSlots {
28 /**
29 * The component that renders the root.
30 * @default 'div'
31 */
32 root?: React.ElementType;
33}
34export interface TabsListTypeMap<AdditionalProps = {}, RootComponentType extends React.ElementType = 'div'> {
35 props: TabsListOwnProps & AdditionalProps;
36 defaultComponent: RootComponentType;
37}
38export type TabsListProps<RootComponentType extends React.ElementType = TabsListTypeMap['defaultComponent']> = PolymorphicProps<TabsListTypeMap<{}, RootComponentType>, RootComponentType>;
39export type TabsListOwnerState = Simplify<TabsListOwnProps & {
40 isRtl: boolean;
41 orientation: 'horizontal' | 'vertical';
42}>;
43export type TabsListRootSlotProps = UseTabsListRootSlotProps & {
44 className?: string;
45 ownerState: TabsListOwnerState;
46};