@kolirt/vue-modal
Version:
Simple Vue3 modal package
274 lines (253 loc) • 11.8 kB
TypeScript
import type { AllowedComponentProps } from 'vue';
import type { Component } from 'vue';
import type { ComponentCustomProps } from 'vue';
import type { ComponentOptionsBase } from 'vue';
import type { ComponentOptionsMixin } from 'vue';
import type { ComponentProvideOptions } from 'vue';
import type { ComponentPublicInstance } from 'vue';
import type { ComputedOptions } from 'vue';
import type { ComputedRef } from 'vue';
import type { DebuggerEvent } from 'vue';
import type { DefineComponent } from 'vue';
import type { Directive } from 'vue';
import type { ExtractPropTypes } from 'vue';
import type { FunctionalComponent } from 'vue';
import type { LooseRequired } from '@vue/shared';
import type { MethodOptions } from 'vue';
import type { Plugin as Plugin_2 } from 'vue';
import type { PropType } from 'vue';
import type { Ref } from 'vue';
import type { Slot } from 'vue';
import type { VNodeProps } from 'vue';
import type { WatchCallback } from 'vue';
import type { WatchOptions } from 'vue';
export declare function $off(event: Events, callback: (...args: any) => void): void;
export declare function $on(event: Events, callback: (...args: any) => void): void;
declare type AnimationType = 'slideDown' | 'slideUp' | 'slideLeft' | 'slideRight' | 'fade' | 'none';
export declare function closeAllModals(forceCloseAll?: boolean): Promise<void>;
export declare function closeModal(): Promise<void>;
export declare function confirmModal<T>(data?: T): Promise<T>;
export declare function createModal(options?: Options): Plugin_2;
export declare enum Events {
Open = "open",
Opened = "opened",
Close = "close",
Closed = "closed"
}
declare type ExtractComponentProps<TComponent> = TComponent extends new () => {
$props: infer P;
} ? Omit<P, keyof VNodeProps | keyof AllowedComponentProps | keyof Array<any>> : never;
export declare const isOpened: ComputedRef<boolean>;
export declare const modals: ComputedRef<{
id: number;
component: FunctionalComponent<any, any, any> | {
new (...args: any[]): any;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} | {
[x: string]: any;
setup?: ((this: void, props: LooseRequired<any>, ctx: {
attrs: {
[x: string]: unknown;
};
slots: Readonly<{
[name: string]: Slot<any> | undefined;
}>;
emit: ((event: unknown, ...args: any[]) => void) | ((event: string, ...args: any[]) => void);
expose: (exposed?: Record<string, any> | undefined) => void;
}) => any) | undefined;
name?: string | undefined;
template?: string | object | undefined;
render?: Function | undefined;
components?: Record<string, Component<any, any, any, ComputedOptions, MethodOptions>> | undefined;
directives?: Record<string, Directive<any, any>> | undefined;
inheritAttrs?: boolean | undefined;
emits?: any;
slots?: {} | undefined;
expose?: string[] | undefined;
serverPrefetch?: (() => void | Promise<any>) | undefined;
compilerOptions?: {
isCustomElement?: ((tag: string) => boolean) | undefined;
whitespace?: "preserve" | "condense" | undefined;
comments?: boolean | undefined;
delimiters?: [string, string] | undefined;
} | undefined;
call?: ((this: unknown, ...args: unknown[]) => never) | undefined;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
__defaults?: any;
compatConfig?: {
GLOBAL_MOUNT?: boolean | "suppress-warning" | undefined;
GLOBAL_MOUNT_CONTAINER?: boolean | "suppress-warning" | undefined;
GLOBAL_EXTEND?: boolean | "suppress-warning" | undefined;
GLOBAL_PROTOTYPE?: boolean | "suppress-warning" | undefined;
GLOBAL_SET?: boolean | "suppress-warning" | undefined;
GLOBAL_DELETE?: boolean | "suppress-warning" | undefined;
GLOBAL_OBSERVABLE?: boolean | "suppress-warning" | undefined;
GLOBAL_PRIVATE_UTIL?: boolean | "suppress-warning" | undefined;
CONFIG_SILENT?: boolean | "suppress-warning" | undefined;
CONFIG_DEVTOOLS?: boolean | "suppress-warning" | undefined;
CONFIG_KEY_CODES?: boolean | "suppress-warning" | undefined;
CONFIG_PRODUCTION_TIP?: boolean | "suppress-warning" | undefined;
CONFIG_IGNORED_ELEMENTS?: boolean | "suppress-warning" | undefined;
CONFIG_WHITESPACE?: boolean | "suppress-warning" | undefined;
CONFIG_OPTION_MERGE_STRATS?: boolean | "suppress-warning" | undefined;
INSTANCE_SET?: boolean | "suppress-warning" | undefined;
INSTANCE_DELETE?: boolean | "suppress-warning" | undefined;
INSTANCE_DESTROY?: boolean | "suppress-warning" | undefined;
INSTANCE_EVENT_EMITTER?: boolean | "suppress-warning" | undefined;
INSTANCE_EVENT_HOOKS?: boolean | "suppress-warning" | undefined;
INSTANCE_CHILDREN?: boolean | "suppress-warning" | undefined;
INSTANCE_LISTENERS?: boolean | "suppress-warning" | undefined;
INSTANCE_SCOPED_SLOTS?: boolean | "suppress-warning" | undefined;
INSTANCE_ATTRS_CLASS_STYLE?: boolean | "suppress-warning" | undefined;
OPTIONS_DATA_FN?: boolean | "suppress-warning" | undefined;
OPTIONS_DATA_MERGE?: boolean | "suppress-warning" | undefined;
OPTIONS_BEFORE_DESTROY?: boolean | "suppress-warning" | undefined;
OPTIONS_DESTROYED?: boolean | "suppress-warning" | undefined;
WATCH_ARRAY?: boolean | "suppress-warning" | undefined;
PROPS_DEFAULT_THIS?: boolean | "suppress-warning" | undefined;
V_ON_KEYCODE_MODIFIER?: boolean | "suppress-warning" | undefined;
CUSTOM_DIR?: boolean | "suppress-warning" | undefined;
ATTR_FALSE_VALUE?: boolean | "suppress-warning" | undefined;
ATTR_ENUMERATED_COERCION?: boolean | "suppress-warning" | undefined;
TRANSITION_CLASSES?: boolean | "suppress-warning" | undefined;
TRANSITION_GROUP_ROOT?: boolean | "suppress-warning" | undefined;
COMPONENT_ASYNC?: boolean | "suppress-warning" | undefined;
COMPONENT_FUNCTIONAL?: boolean | "suppress-warning" | undefined;
COMPONENT_V_MODEL?: boolean | "suppress-warning" | undefined;
RENDER_FUNCTION?: boolean | "suppress-warning" | undefined;
FILTERS?: boolean | "suppress-warning" | undefined;
PRIVATE_APIS?: boolean | "suppress-warning" | undefined;
MODE?: 2 | 3 | ((comp: Component<any, any, any, ComputedOptions, MethodOptions> | null) => 2 | 3) | undefined;
} | undefined;
data?: ((this: any, vm: any) => any) | undefined;
computed?: ComputedOptions | undefined;
methods?: MethodOptions | undefined;
watch?: {
[x: string]: (string | WatchCallback<any, any> | ({
handler: string | WatchCallback<any, any>;
} & WatchOptions<boolean>)) | (string | WatchCallback<any, any> | ({
handler: string | WatchCallback<any, any>;
} & WatchOptions<boolean>))[];
} | undefined;
provide?: ComponentProvideOptions | undefined;
inject?: {} | string[] | undefined;
filters?: Record<string, Function> | undefined;
mixins?: any[] | undefined;
extends?: any;
beforeCreate?: (() => void) | undefined;
created?: (() => void) | undefined;
beforeMount?: (() => void) | undefined;
mounted?: (() => void) | undefined;
beforeUpdate?: (() => void) | undefined;
updated?: (() => void) | undefined;
activated?: (() => void) | undefined;
deactivated?: (() => void) | undefined;
beforeDestroy?: (() => void) | undefined;
beforeUnmount?: (() => void) | undefined;
destroyed?: (() => void) | undefined;
unmounted?: (() => void) | undefined;
renderTracked?: ((e: DebuggerEvent) => void) | undefined;
renderTriggered?: ((e: DebuggerEvent) => void) | undefined;
errorCaptured?: ((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | undefined;
delimiters?: [string, string] | undefined;
__differentiator?: string | number | symbol | undefined;
__isBuiltIn?: boolean | undefined;
__file?: string | undefined;
__name?: string | undefined;
};
props?: {
[key: string]: any;
} | undefined;
options: {
group?: string | undefined;
force?: boolean | undefined;
modalStyle?: {
padding?: string | undefined;
align?: "top" | "center" | undefined;
'z-index'?: number | undefined;
} | undefined;
};
}[]>;
declare type ModalStyle = {
padding?: string;
align?: 'top' | 'center';
'z-index'?: number;
};
export declare const ModalTarget: DefineComponent<{
group: {
type: PropType<string | undefined>;
required: false;
default: string;
};
withoutOverlay: {
type: PropType<boolean | undefined>;
required: false;
default: boolean;
};
}, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
group: {
type: PropType<string | undefined>;
required: false;
default: string;
};
withoutOverlay: {
type: PropType<boolean | undefined>;
required: false;
default: boolean;
};
}>>, {
group: string | undefined;
withoutOverlay: boolean | undefined;
}, {}>;
export declare function openModal<T = unknown, C extends Component = Component>(component: C, props: ExtractComponentProps<C> extends Record<string, never> ? {} : ExtractComponentProps<C>, options?: OpenModalOptions): Promise<T>;
declare type OpenModalOptions = {
group?: 'default' | string;
force?: boolean;
modalStyle?: ModalStyle;
};
declare type Options = {
transitionTime?: number;
animationType?: AnimationType;
modalStyle?: ModalStyle;
overlayStyle?: OverlayStyle;
};
declare type OverlayStyle = {
'background-color'?: string;
'backdrop-filter'?: string;
'z-index'?: number;
};
export declare const SimpleModal: DefineComponent<{
title: {};
showClose: {
type: BooleanConstructor;
default: boolean;
};
size: {
type: StringConstructor;
default: string;
validator(value: string): boolean;
};
}, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
title: {};
showClose: {
type: BooleanConstructor;
default: boolean;
};
size: {
type: StringConstructor;
default: string;
validator(value: string): boolean;
};
}>>, {
showClose: boolean;
size: string;
}, {}>;
export declare function useLock(): {
paddingSize: Ref<number | null>;
toggleLock: (value: boolean) => void;
};
export { }