ivue-material-plus
Version:
A high quality UI components Library with Vue.js
55 lines (48 loc) • 1.25 kB
text/typescript
import type {
InjectionKey,
ComponentInternalInstance,
ComponentPublicInstance,
} from 'vue';
export type PopoverContext = {
data?: {
disableCloseUnderTransfer: boolean;
closeDelay: number;
};
default?: boolean;
visible?: boolean;
handleCancel?: () => void;
};
export const PopoverContextKey: InjectionKey<PopoverContext> =
Symbol('ivue-popover');
export interface Props {
title?: string | number;
content: string | number;
trigger: string;
transfer: boolean;
transferClassName?: string;
theme: string;
width?: string | number;
wordWrap: boolean;
confirm: boolean;
disabled: boolean;
delay: number;
placement: string;
capture: boolean;
cancelText: string;
confirmText: string;
modelValue: boolean;
}
export interface Data {
timeout: ReturnType<typeof setTimeout> | null;
zIndex: number;
disableCloseUnderTransfer: boolean;
isInput: boolean;
currentTargetFocus: boolean;
closeDelay: number;
}
interface _ComponentPublicInstance extends ComponentPublicInstance {
updatePopper: () => void;
}
export interface _ComponentInternalInstance extends ComponentInternalInstance {
proxy: _ComponentPublicInstance | null;
}