24 lines
596 B
TypeScript
Raw Normal View History

2024-11-05 10:14:41 +08:00
import type { InjectionKey } from 'vue'
import type {
SubsectionItemProps,
SubsectionItemRect,
SubsectionProps,
} from '../components/subsection'
export type SubsectionItemContext = SubsectionItemProps & {
uid: number
element: SubsectionItemRect
}
export type SubsectionContext = SubsectionProps & {
items: SubsectionItemContext[]
activeUid: number
addItem: (item: SubsectionItemContext) => void
removeItem: (uid: number) => void
setActiveItem: (uid: number) => void
}
export const subsectionContextKey: InjectionKey<SubsectionContext> = Symbol(
'subsectionContextKey'
)