import React from "react"; import { MarginProps } from "styled-system"; import { TagProps } from "../../__internal__/utils/helpers/tags/tags"; export type TabsHandle = { /** Programmatically focus on a specific tab. * @param tabId - The ID of the tab to focus. Must match the `tabId` prop of the target `Tab` component. */ focusTab: (tabId: string) => void; } | null; export interface TabsProps extends MarginProps, TagProps { /** * Prevent rendering of hidden tabs, by default this is set to true and therefore all tabs will be rendered * @deprecated Support for this prop will be removed in a future release. All tabs will be rendered by default. * */ renderHiddenTabs?: boolean; /** Allows manual control over the currently selected tab. */ selectedTabId?: string; /** The child elements of Tabs need to be Tab components. */ children: React.ReactNode; /** * Sets the alignment of the tab titles. Possible values include. * @deprecated Support for right-aligned tab content has been removed. */ align?: "left" | "right"; /** A callback for when a tab is changed. You can use this to manually control * tab changing or to fire other events when a tab is changed. */ onTabChange?: (tabId: string) => void; /** * The position of the tab title. * */ position?: "top" | "left"; /** Sets size of the tab titles. */ size?: "default" | "large"; /** * Sets the divider of the tab titles header to extend the full width of the parent. * @deprecated Support for extended lines in tab headers has been removed. * */ extendedLine?: boolean; /** * Adds a combination of borders to the tab titles. * @deprecated Support for configurable borders on tab titles has been removed. * */ borders?: "off" | "on" | "no left side" | "no right side" | "no sides"; /** * Adds an alternate styling variant to the tab titles. * @deprecated Support for alternate styling variants on tab titles has been removed. */ variant?: "default" | "alternate"; /** sets width to the tab headers. Can be any valid CSS string. * The headerWidth prop works only for `position="left"` * @deprecated Support will be removed in a future release. */ headerWidth?: string; /** An object to support overriding validation statuses, when the Tabs have custom targets for example. * The `id` property should match the `tabId`s for the rendered Tabs. */ validationStatusOverride?: { [id: string]: { error?: boolean; warning?: boolean; info?: boolean; }; }; /** * When this prop is set any string validation failures in the children of each Tab * will be summarised in the Tooltip next to the Tab title * @deprecated Support for validation summaries has been removed. */ showValidationsSummary?: boolean; } export declare const Tabs: React.ForwardRefExoticComponent>; export default Tabs;