@datagouv/vue-toaster
Version:
Vue 3 toaster notification
145 lines (131 loc) • 4.01 kB
TypeScript
import { ComponentOptionsMixin } from 'vue';
import { DefineComponent } from 'vue';
import { ExtractPropTypes } from 'vue';
import { Plugin as Plugin_2 } from 'vue';
import { PropType } from 'vue';
import { PublicProps } from 'vue';
import { RendererElement } from 'vue';
import { RendererNode } from 'vue';
import { VNode } from 'vue';
declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
declare type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};
declare type __VLS_TypePropsToRuntimeProps<T> = {
[K in keyof T]-?: {} extends Pick<T, K> ? {
type: PropType<__VLS_NonUndefinedable<T[K]>>;
} : {
type: PropType<T[K]>;
required: true;
};
};
declare 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];
};
export declare function createToaster(globalOptions?: Options): {
show(message: string, options?: Options): {
vNode: VNode<RendererNode, RendererElement, {
[key: string]: any;
}>;
destroy: () => void;
el: Element | null;
};
clear(): void;
success(message: string, options?: Options): {
vNode: VNode<RendererNode, RendererElement, {
[key: string]: any;
}>;
destroy: () => void;
el: Element | null;
};
error(message: string, options?: Options): {
vNode: VNode<RendererNode, RendererElement, {
[key: string]: any;
}>;
destroy: () => void;
el: Element | null;
};
info(message: string, options?: Options): {
vNode: VNode<RendererNode, RendererElement, {
[key: string]: any;
}>;
destroy: () => void;
el: Element | null;
};
warning(message: string, options?: Options): {
vNode: VNode<RendererNode, RendererElement, {
[key: string]: any;
}>;
destroy: () => void;
el: Element | null;
};
};
export declare type Options = {
message?: string;
type?: Type;
position?: Position;
duration?: number | false;
dismissible?: boolean;
onClick?: Function;
onClose?: Function;
queue?: boolean;
maxToasts?: number | false;
pauseOnHover?: boolean;
useDefaultCss?: boolean;
};
declare const plugin: Plugin_2<Options>;
export default plugin;
export { plugin }
export declare type Position = "top" | "bottom" | "top-right" | "bottom-right" | "top-left" | "bottom-left";
export declare const Positions: Readonly<Record<string, Position>>;
declare interface Props {
message: string;
type?: string;
position?: Position;
maxToasts?: number | false;
duration?: number | false;
dismissible?: boolean;
queue?: boolean;
props?: boolean;
useDefaultCss?: boolean;
onClose?: Function;
onClick?: Function;
}
export declare const Toaster: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
type: string;
position: Position;
maxToasts: boolean;
duration: number;
dismissible: boolean;
queue: boolean;
props: boolean;
useDefaultCss: boolean;
onClose: () => void;
onClick: () => void;
}>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
type: string;
position: Position;
maxToasts: boolean;
duration: number;
dismissible: boolean;
queue: boolean;
props: boolean;
useDefaultCss: boolean;
onClose: () => void;
onClick: () => void;
}>>>, {
type: string;
position: Position;
maxToasts: number | false;
duration: number | false;
dismissible: boolean;
queue: boolean;
props: boolean;
useDefaultCss: boolean;
onClose: Function;
onClick: Function;
}, {}>;
export declare type Type = "default" | "success" | "info" | "warning" | "error";
export { }