/** * BaseSelect provide some parsed data into context. * You can use this hooks to get them. */ import type { InjectionKey } from 'vue'; import { inject, provide } from 'vue'; import type { BaseSelectProps } from '../BaseSelect'; export interface BaseSelectContextProps extends BaseSelectProps { triggerOpen: boolean; multiple: boolean; toggleOpen: (open?: boolean) => void; } const BaseSelectContextKey: InjectionKey = Symbol('BaseSelectContextKey'); export function useProvideBaseSelectProps(props: BaseSelectContextProps) { return provide(BaseSelectContextKey, props); } export default function useBaseProps() { return inject(BaseSelectContextKey, {} as BaseSelectContextProps); }