@layui/layer-vue
Version:
a component library for Vue 3 base on layui-vue
242 lines (241 loc) • 7.15 kB
TypeScript
/** __vue_virtual_code_placeholder */
import type { BtnType, ImgListType, PropsContentType, MoveEndFn, ResizeEndFn } from "../types";
import { StyleValue } from "vue";
import "../theme/index.css";
import "@layui/component/theme/index.less";
export interface LayerProps {
modelValue?: boolean;
type?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | "dialog" | "page" | "iframe" | "loading" | "drawer" | "photos" | "notify" | "prompt";
title?: PropsContentType | boolean;
footer?: PropsContentType | boolean;
titleStyle?: string | StyleValue;
footerStyle?: string | StyleValue;
content?: PropsContentType;
isHtmlFragment?: boolean;
offset?: string | string[];
area?: string | string[];
move?: boolean;
maxmin?: boolean;
resize?: boolean;
shade?: boolean;
shadeClose?: boolean;
shadeStyle?: StyleValue;
shadeOpacity?: string;
layerClasses?: string;
zIndex?: number;
closeBtn?: boolean | string;
btn?: BtnType[];
btnAlign?: "l" | "c" | "r";
anim?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
isOutAnim?: boolean;
icon?: string | number;
imgList?: ImgListType[];
startIndex?: number;
animDuration?: string;
moveOut?: boolean;
teleport?: string;
teleportDisabled?: boolean;
lastPosition?: boolean;
time?: number;
load?: number;
yesText?: string;
formType?: 0 | 1 | 2 | "text" | "password" | "textarea";
value?: string;
maxLength?: number;
placeholder?: string;
isMessage?: boolean;
id?: string;
isFunction?: boolean;
appContext?: any;
success?: Function;
end?: Function;
yes?: Function;
beforeClose?: Function;
close?: Function;
min?: Function;
full?: Function;
revert?: Function;
moveStart?: Function;
moving?: Function;
moveEnd?: MoveEndFn;
resizeStart?: Function;
resizing?: Function;
resizeEnd?: ResizeEndFn;
internalDestroy?: Function;
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<LayerProps>, {
modelValue: boolean;
type: number;
title: string;
titleStyle: string;
isHtmlFragment: boolean;
offset: () => "auto";
area: () => "auto";
move: boolean;
maxmin: boolean;
resize: boolean;
shade: boolean;
shadeClose: boolean;
shadeOpacity: string;
closeBtn: string;
btnAlign: string;
anim: number;
isOutAnim: boolean;
imgList: () => never[];
startIndex: number;
animDuration: string;
moveOut: boolean;
teleport: string;
teleportDisabled: boolean;
lastPosition: boolean;
time: number;
load: number;
yesText: string;
formType: string;
value: string;
placeholder: string;
isMessage: boolean;
isFunction: boolean;
success: () => void;
end: () => void;
beforeClose: () => true;
close: () => void;
min: () => void;
full: () => void;
revert: () => void;
moveStart: () => void;
moving: () => void;
moveEnd: () => undefined;
resizeStart: () => void;
resizing: () => void;
resizeEnd: () => undefined;
}>, {
reset: () => void;
open: () => void;
close: () => void;
full: () => Promise<void>;
min: () => Promise<void>;
revert: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:modelValue")[], "close" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<LayerProps>, {
modelValue: boolean;
type: number;
title: string;
titleStyle: string;
isHtmlFragment: boolean;
offset: () => "auto";
area: () => "auto";
move: boolean;
maxmin: boolean;
resize: boolean;
shade: boolean;
shadeClose: boolean;
shadeOpacity: string;
closeBtn: string;
btnAlign: string;
anim: number;
isOutAnim: boolean;
imgList: () => never[];
startIndex: number;
animDuration: string;
moveOut: boolean;
teleport: string;
teleportDisabled: boolean;
lastPosition: boolean;
time: number;
load: number;
yesText: string;
formType: string;
value: string;
placeholder: string;
isMessage: boolean;
isFunction: boolean;
success: () => void;
end: () => void;
beforeClose: () => true;
close: () => void;
min: () => void;
full: () => void;
revert: () => void;
moveStart: () => void;
moving: () => void;
moveEnd: () => undefined;
resizeStart: () => void;
resizing: () => void;
resizeEnd: () => undefined;
}>>> & {
onClose?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
type: 0 | 2 | "loading" | "dialog" | "iframe" | "prompt" | 1 | 3 | 4 | 5 | 6 | 7 | "page" | "drawer" | "photos" | "notify";
offset: string | string[];
end: Function;
resize: boolean;
value: string;
move: boolean;
area: string | string[];
time: number;
title: boolean | PropsContentType;
close: Function;
load: number;
success: Function;
full: Function;
revert: Function;
placeholder: string;
min: Function;
teleport: string;
teleportDisabled: boolean;
titleStyle: string | false | import("vue").CSSProperties | StyleValue[] | null;
maxmin: boolean;
closeBtn: string | boolean;
imgList: ImgListType[];
startIndex: number;
isHtmlFragment: boolean;
modelValue: boolean;
formType: 0 | 2 | "textarea" | "text" | 1 | "password";
shade: boolean;
shadeClose: boolean;
shadeOpacity: string;
btnAlign: "r" | "l" | "c";
anim: 0 | 2 | 1 | 3 | 4 | 5 | 6;
isOutAnim: boolean;
animDuration: string;
moveOut: boolean;
lastPosition: boolean;
yesText: string;
isMessage: boolean;
isFunction: boolean;
beforeClose: Function;
moveStart: Function;
moving: Function;
moveEnd: MoveEndFn;
resizeStart: Function;
resizing: Function;
resizeEnd: ResizeEndFn;
}, {}>, {
title?(_: {}): any;
default?(_: {}): any;
footer?(_: {}): any;
}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
[K in keyof T]-?: {} extends Pick<T, K> ? {
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
} : {
type: import('vue').PropType<T[K]>;
required: true;
};
};
type __VLS_WithDefaults<P, D> = {
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
default: D[K];
}> : P[K];
};
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};
type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};