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