mirror of
https://github.com/element-plus/element-plus.git
synced 2024-12-21 02:50:11 +08:00
29 lines
715 B
TypeScript
29 lines
715 B
TypeScript
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<ComponentInternalInstance>
|
|
props: TabPaneProps
|
|
paneName: ComputedRef<string | undefined>
|
|
active: ComputedRef<boolean>
|
|
index: Ref<string | undefined>
|
|
isClosable: ComputedRef<boolean>
|
|
}>
|
|
|
|
export interface TabsRootContext {
|
|
props: TabsProps
|
|
currentName: Ref<string>
|
|
updatePaneState: (pane: TabsPaneContext) => void
|
|
}
|
|
|
|
export const tabsRootContextKey: InjectionKey<TabsRootContext> =
|
|
Symbol('tabsRootContextKey')
|