@kelvininc/ui-components
Version:
Kelvin UI Components
35 lines (34 loc) • 1.1 kB
TypeScript
import { EventEmitter } from '../../stencil-public-runtime';
import { EBadgeType, EIconName, ETagState } from '../../types';
import { ETabItemType } from '../tab-item/tab-item.types';
export interface ITabNavigationItem {
tabKey: number | string;
label?: string;
icon?: EIconName;
badge?: string;
badgeType?: EBadgeType;
tagIcon?: EIconName;
tagState?: ETagState;
disabled?: boolean;
customAttributes?: Record<string, string>;
}
export interface ITabNotification {
active: boolean;
color?: string;
}
export type ISelectedTabIndicatorConfig = {
left: string;
width: string;
};
export interface ITabNavigationConfig {
/** (required) The tab items to render in this component */
tabs: ITabNavigationItem[];
/** (optional) The currently selected tab key */
selectedTabKey?: number | string;
/** (optional) Sets the visual variant of the tab navigation */
type?: ETabItemType;
}
export interface ITabNavigationEvents {
/** When the tab selection changes, emit the requested tab's key */
tabChange: EventEmitter<string>;
}