ivue-material-plus
Version:
A high quality UI components Library with Vue.js
25 lines (20 loc) • 642 B
text/typescript
import type { InjectionKey } from 'vue';
import { SubmenuList } from './menu';
export type SubmenuContext = {
default?: null;
activeName?: (currentActiveName: number | string | boolean) => void;
handleMenuItemSelect?: (name: string | number) => void;
};
export const SubmenuContextKey: InjectionKey<SubmenuContext> =
Symbol('ivue-menu-submenu');
export interface Props {
name: string | number;
disabled: boolean;
}
export interface Data {
opened: boolean;
dropWidth: number;
timeout: ReturnType<typeof setTimeout> | null;
childSubmenuList: SubmenuList[];
active: boolean | number | string;
}