import React from 'react'; import { MQ } from '../utils/style'; import { BaseFlagProps, BaseFlagOverrides } from '../flag'; import { DividerOverrides } from '../divider'; import { ScrollProps } from '../scroll'; import { Override } from '../utils/overrides'; import { LogicalProps } from '../utils/logical-properties'; import { EventData } from '../instrumentation'; export type TabAlign = 'start' | 'end' | 'center'; export type TabSize = 'small' | 'medium' | 'large'; export type TabsDistribution = 'start' | 'grow' | 'equal'; export type TabsIndicatorPosition = 'start' | 'end' | 'none'; export interface TabsProps extends Omit, 'onChange'> { size?: TabSize; children: React.ReactElement[]; divider?: boolean; vertical?: boolean; distribution?: TabsDistribution; initialSelectedIndex?: number; selectedIndex?: number; indicatorPosition?: TabsIndicatorPosition; align?: TabAlign; onChange?: (selectedIndex: number) => void; overrides?: { spaceInline?: MQ; divider?: DividerOverrides; tab?: { spaceInline?: MQ; }; selectionIndicator?: { track?: { weight?: MQ; stylePreset?: MQ; }; indicator?: { size?: string; weight?: string; motionDuration?: string; motionTiming?: string; stylePreset?: MQ; }; }; scroll?: Override; } & LogicalProps; } export interface TabPanelProps { children: React.ReactNode; id?: string; selected?: boolean; overrides?: { typographyPreset?: MQ; }; } export interface DistributionWrapperProps { distribution: TabsDistribution; vertical: boolean; last: boolean; overrides?: TabsProps['overrides']; } export interface TabsBarProps extends Pick { } export interface CommonTabProps extends Omit, 'loading' | 'children'>, React.HTMLAttributes { ariaLabel?: string; autoFocus?: boolean; dataTestId?: string; overrides?: BaseFlagOverrides; disabled?: boolean; children: React.ReactNode; } export interface TabButtonProps extends CommonTabProps { selected?: boolean; tabKey?: number; onClick?: (event: React.MouseEvent) => void; onKeyDown?: (event: React.KeyboardEvent) => void; onMouseDown?: (event: React.MouseEvent) => void; id?: string; align?: TabAlign; } export interface TabProps extends CommonTabProps, EventData { label: React.ReactNode; } //# sourceMappingURL=types.d.ts.map