yuang-framework-ui-pc
Version:
yuang-framework-ui-pc Library
158 lines (156 loc) • 5.21 kB
TypeScript
import { PropType, ExtractPropTypes } from 'vue';
import { menuProps } from 'element-plus';
import { MenuItem, MenuMode, MenuTheme, PopupMenuTheme, PopupColorful, EllipsisProps, TextEllipsisTooltip } from './types';
/**
* 属性
*/
export declare const menusProps: {
mode: PropType<MenuMode>;
/** 菜单数据 */
items: {
type: PropType<MenuItem[]>;
required: boolean;
};
/** 主题 */
theme: PropType<MenuTheme>;
/** 弹出菜单主题 */
popupTheme: {
type: PropType<PopupMenuTheme>;
default: string;
};
/** 彩色菜单图标 */
colorful: BooleanConstructor;
/** 弹出菜单是否彩色图标 */
popupColorful: {
type: PropType<PopupColorful>;
default: string;
};
/** 一级子菜单类名 */
firstPopperClass: StringConstructor;
/** 禁用 tooltip */
tooltipDisabled: BooleanConstructor;
/** 省略菜单的属性 */
ellipsisProps: PropType<EllipsisProps>;
/** 是否开启菜单文本溢出提示 */
textEllipsisTooltip: PropType<TextEllipsisTooltip>;
defaultActive: {
readonly type: PropType<string>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: "";
};
defaultOpeneds: {
readonly type: PropType<string[]>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: () => [];
};
uniqueOpened: BooleanConstructor;
router: BooleanConstructor;
menuTrigger: {
readonly type: PropType<"hover" | "click">;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: "hover";
};
collapse: BooleanConstructor;
backgroundColor: StringConstructor;
textColor: StringConstructor;
activeTextColor: StringConstructor;
closeOnClickOutside: BooleanConstructor;
collapseTransition: {
readonly type: PropType<boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: true;
};
ellipsis: {
readonly type: PropType<boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: true;
};
popperOffset: {
readonly type: PropType<number>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: 6;
};
ellipsisIcon: {
readonly type: PropType<string | import('vue').Component>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: () => any;
};
popperEffect: {
readonly type: PropType<import('element-plus').PopperEffect>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: "dark";
};
popperClass: StringConstructor;
showTimeout: {
readonly type: PropType<number>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: 300;
};
hideTimeout: {
readonly type: PropType<number>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: 300;
};
persistent: {
readonly type: PropType<boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
} & {
readonly default: true;
};
};
export type MenusProps = ExtractPropTypes<typeof menusProps>;
export type MenuPropKeys = Array<keyof typeof menuProps>;
/**
* 菜单组件属性名
*/
export declare const menuPropKeys: MenuPropKeys;
/**
* 事件
*/
export declare const menusEmits: {
/** 子菜单项点击事件 */
itemClick: (_item: MenuItem, _e: MouseEvent) => boolean;
/** 子菜单项鼠标进入事件 */
itemMouseenter: (_item: MenuItem, _e: MouseEvent) => boolean;
/** 子菜单项鼠标离开事件 */
itemMouseleave: (_item: MenuItem, _e: MouseEvent) => boolean;
/** 父级菜单项鼠标进入事件 */
parentMouseenter: (_item: MenuItem, _e: MouseEvent) => boolean;
/** 父级菜单项鼠标离开事件 */
parentMouseleave: (_item: MenuItem, _e: MouseEvent) => boolean;
close: (index: string, indexPath: string[]) => boolean;
open: (index: string, indexPath: string[]) => boolean;
select: (index: string, indexPath: string[], item: import('element-plus').MenuItemClicked, routerResult?: Promise<void | import('vue-router').NavigationFailure>) => boolean;
};