@kui-shell/plugin-client-common
Version:
Kui plugin that offers stylesheets
65 lines (64 loc) • 1.56 kB
TypeScript
import React from 'react';
import TabModel from '../TabModel';
import { TabConfiguration } from './Tab';
import InterfaceProps from '../props/Interface';
import '../../../../web/scss/components/TopTabStripe/_index.scss';
/**
*
* TabContainer
* ----------------
* | TopTabStripe | <--- you are here
* |--------------|
* | |
* | TabContent[] |
* | |
* ----------------
*
*/
/**
*
* TopTabStripe
* ----------------------------
* | Tab | Tab | NewTabButton |
* |--------------------------|
* /\
* | activeIdx
*/
export type TopTabStripeConfiguration = TabConfiguration;
type Props = TopTabStripeConfiguration & InterfaceProps & {
tabs: TabModel[];
activeIdx: number;
noTopTabs: boolean;
closeableTabs: boolean;
onNewTab: () => void;
onCloseTab: (idx: number) => void;
onSwitchTab: (idx: number) => void;
needsSidebar: boolean;
isSidebarOpen: boolean;
onToggleSidebar: () => void;
};
export default class TopTabStripe extends React.PureComponent<Props> {
componentDidMount(): void;
/**
* Register any keyboard event listeners
*
*/
private addKeyboardListeners;
private readonly closeTab;
private readonly switchTab;
/** Render tabs */
private tabs;
private headerName;
private sidebarToggle;
/** <Masthead/> property */
private readonly inset;
/** <Masthead/> property */
private readonly display;
private header;
/**
* React render handler
*
*/
render(): JSX.Element;
}
export {};