@opensig/opendesign
Version:
<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>
86 lines (85 loc) • 2.21 kB
TypeScript
import { Component, ExtractPropTypes, PropType, VNode, ComponentPublicInstance } from 'vue';
export declare const MessageStatusTypes: readonly ["info", "success", "warning", "danger", "loading"];
export type MessageStatusT = (typeof MessageStatusTypes)[number];
export type MessagePositionT = 'top' | 'bottom';
export declare const messageProps: {
/**
* 消息是否可见 v-model
*/
visible: {
type: BooleanConstructor;
default: undefined;
};
/**
* 非受控模式,消息是否默认可见
*/
defaultVisible: {
type: BooleanConstructor;
default: boolean;
};
/**
* 状态 MessageStatusT
*/
status: {
type: PropType<MessageStatusT>;
default: string;
};
/**
* 预置背景(跟随状态)
*/
colorful: {
type: BooleanConstructor;
default: boolean;
};
/**
* 消息显示的持续时间,函数式调用时,默认值为3000
*/
duration: {
type: NumberConstructor;
};
/**
* 是否可手动关闭
*/
closable: {
type: BooleanConstructor;
default: boolean;
};
/**
* 关闭前的钩子函数
*/
beforeClose: {
type: PropType<() => Promise<boolean> | boolean>;
};
/**
* 消息标题
*/
title: {
type: StringConstructor;
};
};
export declare const messageListProps: {
/**
* 消息列表位置 MessagePositionT
*/
position: {
type: PropType<MessagePositionT>;
default: string;
};
/**
* 消息列表销毁前的钩子函数
*/
onDestory: {
type: PropType<() => void>;
};
};
export type MessagePropsT = ExtractPropTypes<typeof messageProps>;
export type MessageListPropsT = ExtractPropTypes<typeof messageListProps>;
export type MessageParamsT = Partial<MessagePropsT & {
content: string | VNode | Component;
position: MessagePositionT;
target?: string | ComponentPublicInstance | HTMLElement | null;
targetAlign?: 'center' | 'left' | 'right';
icon: VNode | Component;
onDurationEnd: () => void;
onClose: (ev?: MouseEvent) => void;
}>;