/** * Copyright (c) 2021 Dell Inc., or its subsidiaries. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 */ import * as React from "react"; /** * props for tabs * @param {tabs} List of all TabsV2 * @param {id} string to identify tab group uniquely * @param {tabOrientation} orientation of tab either vertical or horizontal * @param {onTabClick} callback function from parent to call on tab click * @param {overflowTabsfrom} name of tab from which tabs added to overflow menu. * optional prop, if set activates overflow tabs * @param {dataqa} quality engineering tag */ declare type TabsV2Prop = { tabs: TabV2Details[]; id: string; tabOrientation: TabV2Orientation; onTabClick?: (evt: React.MouseEvent, clickedTab: TabV2Details) => void; overflowTabsFrom?: number; dataqa?: string; }; /** * state for tabs * @param {isOverflowTabSelected} if true inticate overflow tab button as active * @param {selectedTabId} Id of selected tab */ declare type TabsV2State = { isOverflowTabSelected: boolean; selectedTabId: string; }; /** * props for tabs * @param {name} name or title of tab to uniquely identify tab * @param {id} id to uniquely identify single tab * @param {isSelected} true if tab is selected by default * @param {isDisabled} true if tab is disabled * @param {tabType} Type of tab static or simple */ export declare type TabV2Details = { name: any; id: string; isSelected?: boolean; isDisabled?: boolean; tabType?: TabV2Type; }; /** * Tab Orientation Types * @param {VERTICAL} vertical tabs * @param {HORIZONTAL} Horizontal tabs */ export declare enum TabV2Orientation { VERTICAL = "vertical", HORIZONTAL = "horizontal" } /** * Tab Types * @param {STATIC} tabs which has no panel to render * @param {SIMPLE} simple tabs user can switch between tabs */ export declare enum TabV2Type { STATIC = "static", SIMPLE = "simple" } /** * TabsV2 Component: Use to divide content into separate views which users navigate between. */ export declare class TabsV2 extends React.PureComponent { constructor(props: TabsV2Prop); componentDidUpdate: (prevProps: TabsV2Prop, prevState: TabsV2State) => void; onTabClicked: (evt: React.MouseEvent, clickedTab: TabV2Details, isOverflowedTabClicked: boolean) => void; private renderTab; private renderTabsBar; private renderOverflowTab; private renderTabPane; render(): JSX.Element; } export {};