element-plus
Version:
A Component Library for Vue 3
37 lines (36 loc) • 1.1 kB
TypeScript
import type { ComponentInternalInstance, ComputedRef, Ref } from 'vue';
export declare type BeforeLeave = (newTabName: string, oldTabName: string) => void | Promise<void> | boolean;
export declare type ITabType = 'card' | 'border-card' | '';
export declare type ITabPosition = 'top' | 'right' | 'bottom' | 'left';
export declare type UpdatePaneStateCallback = (pane: Pane) => void;
export interface IElTabsProps {
type: ITabType;
activeName: string;
closable: boolean;
addable: boolean;
modelValue: string;
editable: boolean;
tabPosition: ITabPosition;
beforeLeave: BeforeLeave;
stretch: boolean;
}
export interface RootTabs {
props: IElTabsProps;
currentName: Ref<string>;
}
export interface IElPaneProps {
label: string;
name: string;
closable: boolean;
disabled: boolean;
lazy: boolean;
}
export interface Pane {
uid: number;
instance: ComponentInternalInstance;
props: IElPaneProps;
paneName: ComputedRef<string>;
active: ComputedRef<boolean>;
index: Ref<string>;
isClosable: ComputedRef<boolean>;
}