naive-ui
Version:
A Vue 3 Component Library. Fairly Complete, Theme Customizable, Uses TypeScript, Fast
32 lines (31 loc) • 1.13 kB
TypeScript
import type { CSSProperties, DefineComponent, ExtractPropTypes, PropType, Ref } from 'vue';
import type { ExtractPublicPropTypes, Mutable } from '../../_utils';
import type { modalProps } from './Modal';
export type ModalOptions = Mutable<Omit<Partial<ExtractPropTypes<typeof modalProps>>, 'internalStyle'> & {
class?: any;
style?: string | CSSProperties;
}>;
export type ModalReactive = {
readonly key: string;
readonly destroy: () => void;
} & ModalOptions;
export interface ModalApiInjection {
destroyAll: () => void;
create: (options: ModalOptions) => ModalReactive;
}
export interface ModalProviderInjection {
clickedRef: Ref<boolean>;
clickedPositionRef: Ref<{
x: number;
y: number;
} | null>;
}
export type ModalReactiveListInjection = Ref<ModalReactive[]>;
export type ModalProviderInst = ModalApiInjection;
export declare const modalProviderProps: {
to: PropType<string | HTMLElement>;
};
export type ModalProviderProps = ExtractPublicPropTypes<typeof modalProviderProps>;
export declare const NModalProvider: DefineComponent<{
to?: string | HTMLElement;
}>;