UNPKG

@hxui/angular

Version:

* * *

178 lines (177 loc) 4.7 kB
import { InjectionToken } from '@angular/core'; import { SafeHtml } from '@angular/platform-browser'; import { Observable } from 'rxjs'; import { ComponentType } from './portal/portal'; import { ToastrRef } from './toastr-injector'; export declare type ProgressAnimationType = 'increasing' | 'decreasing'; export declare enum ToastrPosition { CENTER_CENTER = 0, TOP_CENTER = 1, BOTTOM_CENTER = 2, TOP_FULL_WIDTH = 3, BOTTOM_FULL_WIDTH = 4, TOP_LEFT = 5, TOP_RIGHT = 6, BOTTOM_LEFT = 7, BOTTOM_RIGHT = 8 } /** * Configuration for an individual toast. */ export interface IndividualConfig { /** * disable both timeOut and extendedTimeOut * default: false */ disableTimeOut: boolean; /** * toast time to live in milliseconds * default: 5000 */ timeOut: number; /** * toast show close button * default: false */ closeButton: boolean; /** * time to close after a user hovers over toast * default: 1000 */ extendedTimeOut: number; /** * show toast progress bar * default: false */ progressBar: boolean; /** * changes toast progress bar animation * default: decreasing */ progressAnimation: ProgressAnimationType; /** * render html in toast message (possibly unsafe) * default: false */ enableHtml: boolean; /** * css class on toast component * default: toast */ toastClass: string; /** * Position of toastr container * default: ToastrPosition.TOP_RIGHT */ position: ToastrPosition; /** * css class on toast title * default: toast-title */ titleClass: string; /** * css class on toast message * default: toast-message */ messageClass: string; /** * animation easing on toast * default: ease-in */ easing: string; /** * animation ease time on toast * default: 300 */ easeTime: string | number; /** * clicking on toast dismisses it * default: true */ tapToDismiss: boolean; /** * Angular toast component to be shown * default: Toast */ toastComponent?: ComponentType<any>; /** * Helps show toast from a websocket or from event outside Angular * default: false */ onActivateTick: boolean; } export interface ToastrIconClasses { none: string; error: string; info: string; success: string; warning: string; } /** * Global Toast configuration * Includes all IndividualConfig */ export interface GlobalConfig extends IndividualConfig { /** * max toasts opened. Toasts will be queued * Zero is unlimited * default: 0 */ maxOpened: number; /** * dismiss current toast when max is reached * default: false */ autoDismiss: boolean; iconClasses: Partial<ToastrIconClasses>; /** * New toast placement * default: true */ newestOnTop: boolean; /** * block duplicate messages * default: false */ preventDuplicates: boolean; /** * Reset toast timeout when there's a duplicate (preventDuplicates needs to be set to true) * default: false */ resetTimeoutOnDuplicate: boolean; } /** * Everything a toast needs to launch */ export declare class ToastPackage { toastId: number; config: IndividualConfig; message: string | SafeHtml | null | undefined; title: string | undefined; toastType: string; toastRef: ToastrRef<any>; private _onTap; private _onAction; constructor(toastId: number, config: IndividualConfig, message: string | SafeHtml | null | undefined, title: string | undefined, toastType: string, toastRef: ToastrRef<any>); /** Fired on click */ triggerTap(): void; onTap(): Observable<any>; /** available for use in custom toast */ triggerAction(action?: any): void; onAction(): Observable<any>; } /** @deprecated use GlobalConfig */ export interface GlobalToastrConfig extends GlobalConfig { } /** @deprecated use IndividualConfig */ export interface IndividualToastrConfig extends IndividualConfig { } /** @deprecated use IndividualConfig */ export interface ToastrConfig extends IndividualConfig { } export declare const DefaultNoComponentGlobalConfig: GlobalConfig; export interface ToastrToken { default: GlobalConfig; config: Partial<GlobalConfig>; } export declare const TOAST_CONFIG: InjectionToken<ToastrToken>;