UNPKG

@whitesev/pops

Version:

弹窗库

79 lines (76 loc) 1.66 kB
import type { PopsCommonConfig } from "../../types/components"; import type { PopsIcon } from "../../types/icon"; /** * pops.rightClickMenu的右键菜单配置 */ export interface PopsRightClickMenuDataDetails { /** * svg图标 */ icon: PopsIcon | string; /** * 图标是否旋转 */ iconIsLoading: boolean; /** * 文字 */ text: string | (() => string); /** * 点击的回调函数 * @param clickEvent 点击菜单的click事件 * @param contextMenuEvent 触发的contextmenu事件 * @param liElement <li>元素 * @returns * + true(默认) 关闭菜单 * + false 不关闭菜单 * */ callback?: ( clickEvent: PointerEvent, contextMenuEvent: PointerEvent, liElement: HTMLLIElement ) => boolean | void | Promise<boolean | void>; /** * 子项配置 */ item?: PopsRightClickMenuDataDetails[] | null; } /** * pops.rightClickMenu */ export interface PopsRightClickMenuDetails extends Pick< PopsCommonConfig, "useShadowRoot" | "beforeAppendToPageCallBack" | "zIndex" | "style" | "only" > { /** * 目标,默认为document.documentElement G */ target?: | HTMLElement | (typeof globalThis & Window) | Window | EventTarget | Node; /** * 目标的子元素选择器,默认为空 */ targetSelector?: string | null; /** * 右键菜单数据 */ data: PopsRightClickMenuDataDetails[]; /** * 自定义className,默认为空 */ className?: string; /** * 是否启用动画,默认true */ isAnimation?: boolean; /** * 是否阻止默认contextmenu事件 */ preventDefault?: boolean; }