@aplus-frontend/antdv
Version:
Vue basic component library maintained based on ant-design-vue
40 lines (39 loc) • 1.15 kB
TypeScript
import type { CSSProperties } from 'vue';
import type { Key } from '../_util/type';
import type { NoticeProps } from './Notice';
export type Placement = 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight';
export type StackConfig = boolean | {
/**
* When number is greater than threshold, notifications will be stacked together.
* @default 3
*/
threshold?: number;
/**
* Offset when notifications are stacked together.
* @default 8
*/
offset?: number;
/**
* Spacing between each notification when expanded.
*/
gap?: number;
};
export interface NoticeContent extends Omit<NoticeProps, 'prefixCls' | 'noticeKey' | 'onClose'> {
prefixCls?: string;
key?: Key;
updateMark?: string;
content?: any;
onClose?: () => void;
style?: CSSProperties;
class?: String;
placement?: Placement;
}
export type HolderReadyCallback = (div: HTMLDivElement, noticeProps: NoticeProps & {
key: Key;
}) => void;
export type NotificationState = {
notice: NoticeContent & {
userPassKey?: Key;
};
holderCallback?: HolderReadyCallback;
}[];