import type React from 'react'; import { type CSSProperties } from 'react'; import { type BezierComponentProps, type ChildrenProps, type DisableProps, type SizeProps } from "../../types/props"; export type TabSize = 'l' | 'm' | 's'; export interface TabListContextValue { size: TabSize; } interface TabsOwnProps { /** * When automatic, tabs are activated when receiving focus. * When manual, tabs are activated when clicked. * @default automatic */ activationMode?: 'automatic' | 'manual'; /** * Use when you do not need to control the state of the component. */ defaultValue?: string; /** * The controlled value of the tab to activate. */ value?: string; /** * Event handler called when value is changed. */ onValueChange?: (value: string) => void; } interface TabActionOwnProps { /** * TabAction acts as a link when href is given, otherwise as a button. */ href?: Link; /** * Event handler called when tab action is clicked. */ onClick?: Link extends string ? never : React.MouseEventHandler; } interface TabItemOwnProps { /** * A unique value that associates the trigger with a content. */ value: string; maxWidth?: CSSProperties['maxWidth']; } interface TabContentOwnProps { /** * A unique value that associates the trigger with a content. */ value: string; } export interface TabsProps extends Omit, keyof TabsOwnProps>, ChildrenProps, TabsOwnProps { } export interface TabListProps extends BezierComponentProps<'div'>, ChildrenProps, SizeProps { } export interface TabItemsProps extends BezierComponentProps<'div'>, ChildrenProps { } export interface TabItemProps extends Omit, keyof TabItemOwnProps>, ChildrenProps, DisableProps, TabItemOwnProps { } export interface TabActionsProps extends BezierComponentProps<'div'>, ChildrenProps { } export type TabActionElement = [Link] extends [string] ? HTMLAnchorElement : HTMLButtonElement; export interface TabActionProps extends Omit>, ChildrenProps, TabActionOwnProps, Omit>, 'onClick'> { } export interface TabContentProps extends BezierComponentProps<'div'>, ChildrenProps, TabContentOwnProps { } export {}; //# sourceMappingURL=Tabs.types.d.ts.map