import type { TabPaneProps, TabsProps } from '@element-plus/components/tabs' import type { ComputedRef, InjectionKey, Ref, Slots, UnwrapRef } from 'vue' export type TabsPaneContext = UnwrapRef<{ uid: number slots: Slots props: TabPaneProps paneName: ComputedRef active: ComputedRef index: Ref isClosable: ComputedRef }> export interface TabsRootContext { props: TabsProps currentName: Ref registerPane: (pane: TabsPaneContext) => void unregisterPane: (uid: number) => void } export const tabsRootContextKey: InjectionKey = Symbol('tabsRootContextKey')