sard-uniapp
Version:
sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库
48 lines (47 loc) • 1.54 kB
TypeScript
import { type StyleValue } from 'vue';
import { type MenuOption } from '../menu/common';
import { type NodeRect } from '../../utils';
import { PopoverController } from './usePopover';
import { type Position } from './utils';
import { type DefaultProps } from '../config';
export interface PopoverProps<T extends MenuOption> {
rootStyle?: StyleValue;
rootClass?: string;
visible?: boolean;
options?: T[];
position?: Position;
direction?: 'vertical' | 'horizontal';
theme?: 'dark' | 'light';
refGap?: number;
viewportGap?: number;
transparent?: boolean;
controller?: PopoverController;
duration?: number;
}
export declare const defaultPopoverProps: () => DefaultProps<PopoverProps<any>>;
export interface PopoverSlots {
default?(props: Record<string, never>): any;
content?(props: Record<string, never>): any;
}
export interface PopoverEmits<T extends MenuOption> {
(e: 'update:visible', visible: boolean): void;
(e: 'select', option: T): void;
}
export interface ReferenceExpose {
getRect: () => NodeRect | Promise<NodeRect> | undefined;
}
export interface PopoverReferenceProps {
rootStyle?: StyleValue;
rootClass?: string;
}
export interface PopoverReferenceSlots {
default?(props: Record<string, never>): any;
}
export interface PopoverReferenceEmits {
(e: 'click', event: any): void;
}
export interface PopoverContext {
show: () => void;
register: (expose: ReferenceExpose) => void;
}
export declare const popoverContextSymbol: unique symbol;