UNPKG

ivue-material-plus

Version:

A high quality UI components Library with Vue.js

53 lines (45 loc) • 1.21 kB
import type { InjectionKey } from 'vue'; export type MenuItemList = { uid: number; activeName: (name: string | number) => void; }; export type SubmenuList = { uid: number; submenu: SubmenuProxy; }; export interface SubmenuProxy { data: { opened: boolean; active: boolean | string | number; }; name: number; activeName: (status: boolean | string | number) => void; } export type MenuContext = { default?: null; data?: { menuItemList: MenuItemList[]; submenuList: SubmenuList[]; }; mode?: string; menuItemActive?: (name: string | number) => void; handleEmitSelectEvent?: (name: string | number) => void; updateOpenKeys?: (name: string | number) => void; handleMenuItemSelect?: (name: string | number) => void; }; export const MenuContextKey: InjectionKey<MenuContext> = Symbol('ivue-menu'); export interface Props { theme: string; mode: string; width: string; openNames: any[]; activeName?: string | number; accordion: boolean; } export interface Data { openedNames: any[]; menuItemList: MenuItemList[]; submenuList: SubmenuList[]; currentActiveName: string | number; ready: boolean; }