@layui/layui-vue
Version:
a component library for Vue 3 base on layui-vue
40 lines (39 loc) • 1.39 kB
TypeScript
import type { Ref, ComponentPublicInstance, StyleValue, TeleportProps, InjectionKey } from "vue";
import type { Placement, OffsetOptions, Middlewares } from "./usePopper/index";
export type PopperTrigger = "click" | "hover" | "focus" | "contextMenu";
export interface PopperProps {
modelValue?: boolean;
trigger?: PopperTrigger | PopperTrigger[];
disabled?: boolean;
placement?: Placement;
showArrow?: boolean;
offset?: OffsetOptions;
enterable?: boolean;
showAfter?: number;
hideAfter?: number;
popperClass?: string | Array<string | object> | object;
popperStyle?: StyleValue;
clickOutsideToClose?: boolean;
middlewares?: Middlewares;
teleportProps?: TeleportProps;
}
export type ContentProps = PopperProps;
export type TriggerProps = Pick<PopperProps, "trigger"> & {
customEvents?: {
click?: (e: Event) => void;
mouseenter?: () => void;
mouseleave?: () => void;
contextmenu?: (e: Event) => void;
focusin?: () => void;
focusout?: () => void;
};
};
export type ContentComponentInstance = ComponentPublicInstance<{
show: () => void;
hidden: () => void;
update: () => void;
}>;
export type ContentContext = {
allContents?: Ref<HTMLElement>[][];
};
export declare const CONTENT_INJECTION_KEY: InjectionKey<ContentContext>;