Author: | ngneat |
---|---|
Official Page: | Go to website |
Publish Date: | May 11, 2021 |
License: | MIT |
Description:
Lightweight, customizable, and beautiful toast notifications for Angular apps.
Features:
- Hot by default
- Easy to use
- Accessible
- Reduce motion support
- Emoji Support
- Customizable
- Observable API
- Pause on hover
- Events
- Persistent
How to use it:
1. Install and import the module.
# NPM $ npm i @ngneat/overview@1 @ngneat/hot-toast
import { HotToastModule } from '@ngneat/hot-toast'; @NgModule({ imports: [HotToastModule.forRoot()], }) class AppModule {}
2. Create toast notification of different types as follows:
import { HotToastService } from '@ngneat/hot-toast'; @Component({}) export class AppComponent { constructor(private toast: HotToastService) {} showToast() { this.toast.show('Basic Notification!'); this.toast.loading('Loading...'); this.toast.success('Success Toast'); this.toast.warning('Warning Toast'); this.toast.error('Error Toast'); } update() { saveSettings.pipe( this.toast.observe( { loading: 'Saving...', success: 'Settings saved!', error: 'Could not save.', } ) ).subscribe(); } }
3. Default toast options.
/** * Unique id to associate with hot-toast. * There can't be multiple hot-toasts opened with same id. * * @default Date.now().toString() */ id: string; /** The message to show in the hot-toast. */ message: Content; /** * Role of the live region. * * @default status */ role: ToastRole; /** aria-live value for the live region. * * @default polite */ ariaLive: ToastAriaLive; /**Icon to show in the hot-toast */ icon?: Content; /** * Duration in milliseconds after which hot-toast will be auto closed. * Can be disabled via `autoClose: false` * * @default 3000 | error = 4000 | loading = 30000 */ duration?: number; /** * Show close button in hot-toast * * @default false */ dismissible?: boolean; /** * Auto close hot-toast after duration * * @default true */ autoClose?: boolean; /**Extra styles to apply for hot-toast */ style?: any; /**Extra CSS classes to be added to the hot toast container. */ className?: string; /**Use this to change icon color */ iconTheme?: IconTheme; /** * Visual appearance of hot-toast * * @default toast */ theme?: ToastTheme; /** * The position to place the hot-toast. * * @default top-center */ position?: ToastPosition; /**Extra styles to apply for close button */ closeStyle?: any; createdAt: number; visible: boolean; height?: number; observableMessages?: ObservableMessages<unknown, DataType>; /** * Useful when you want to keep a persistance for toast based on ids, across sessions. * * @example * // Lets say you want show hot-toast, with a particular id, * // max 3 times to a user irrespective of browser session. * // In this case you will set this as: * { enabled: true, count: 3 } * * @type {ToastPersistConfig} */ persist?: ToastPersistConfig; /** * Allows you to pass injector for your component * * @since 1.1.0 * @type {Injector} * @memberof Toast */ injector?: Injector; /** * Allows you to pass data for your component/template * * @since 2.0.0 * @type {DataType} * @memberof Toast */ data?: DataType;