ngx-toastr 8.2.1 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,6 +11,7 @@
11
11
  "ng://ngx-toastr/out/toastr/toast.directive.ts",
12
12
  "ng://ngx-toastr/out/toastr/toastr-config.ts",
13
13
  "ng://ngx-toastr/out/toastr/toast-injector.ts",
14
+ "ng://ngx-toastr/out/toastr/toast-token.ts",
14
15
  "ng://ngx-toastr/out/toastr/toastr.service.ts",
15
16
  "ng://ngx-toastr/out/toastr/toast.component.ts",
16
17
  "ng://ngx-toastr/out/toastr/default-config.ts",
@@ -25,13 +26,14 @@
25
26
  "/**\n * The OverlayContainer is the container in which all overlays will load.\n * It should be provided in the root component to ensure it is properly shared.\n */\nexport class OverlayContainer {\n private _containerElement: HTMLElement;\n\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement {\n if (!this._containerElement) { this._createContainer(); }\n return this._containerElement;\n }\n\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n private _createContainer(): void {\n const container = document.createElement('div');\n container.classList.add('overlay-container');\n document.body.appendChild(container);\n this._containerElement = container;\n }\n}\n",
26
27
  "import { ApplicationRef, ComponentFactoryResolver, Injectable } from '@angular/core';\nimport { DomPortalHost } from '../portal/dom-portal-host';\nimport { OverlayRef } from './overlay-ref';\n\nimport { ToastContainerDirective } from '../toastr/toast.directive';\nimport { OverlayContainer } from './overlay-container';\n\n\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalHost, so any kind of Portal can be loaded into one.\n */\n @Injectable()\n export class Overlay {\n private _paneElements: {string?: HTMLElement} = {};\n constructor(private _overlayContainer: OverlayContainer,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef) {}\n /**\n * Creates an overlay.\n * @returns A reference to the created overlay.\n */\n create(positionClass?: string, overlayContainer?: ToastContainerDirective): OverlayRef {\n // get existing pane if possible\n return this._createOverlayRef(this.getPaneElement(positionClass, overlayContainer));\n }\n\n getPaneElement(positionClass: string = '', overlayContainer?: ToastContainerDirective): HTMLElement {\n if (!this._paneElements[positionClass]) {\n this._paneElements[positionClass] = this._createPaneElement(positionClass, overlayContainer);\n }\n return this._paneElements[positionClass];\n }\n\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n private _createPaneElement(positionClass: string, overlayContainer?: ToastContainerDirective): HTMLElement {\n const pane = document.createElement('div');\n pane.id = 'toast-container';\n pane.classList.add(positionClass);\n pane.classList.add('toast-container');\n\n if (!overlayContainer) {\n this._overlayContainer.getContainerElement().appendChild(pane);\n } else {\n overlayContainer.getContainerElement().appendChild(pane);\n }\n return pane;\n }\n\n /**\n * Create a DomPortalHost into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal host.\n * @returns A portal host for the given DOM element.\n */\n private _createPortalHost(pane: HTMLElement): DomPortalHost {\n return new DomPortalHost(pane, this._componentFactoryResolver, this._appRef);\n }\n\n /**\n * Creates an OverlayRef for an overlay in the given DOM element.\n * @param pane DOM element for the overlay\n */\n private _createOverlayRef(pane: HTMLElement): OverlayRef {\n return new OverlayRef(this._createPortalHost(pane));\n }\n}\n\n\n/** Providers for Overlay and its related injectables. */\nexport const OVERLAY_PROVIDERS = [\n Overlay,\n OverlayContainer,\n];\n",
27
28
  "import {\n Directive,\n ElementRef,\n NgModule,\n} from '@angular/core';\n\n@Directive({\n selector: '[toastContainer]',\n exportAs: 'toastContainer',\n})\nexport class ToastContainerDirective {\n constructor(private el: ElementRef) { }\n getContainerElement(): HTMLElement {\n return this.el.nativeElement;\n }\n}\n\n@NgModule({\n declarations: [ToastContainerDirective],\n exports: [ToastContainerDirective],\n})\nexport class ToastContainerModule {}\n",
28
- "import { SafeHtml } from '@angular/platform-browser';\n\nimport { Observable } from 'rxjs/Observable';\nimport { Subject } from 'rxjs/Subject';\n\nimport { ComponentType } from '../portal/portal';\nimport { ToastRef } from './toast-injector';\n\n/**\n * Configuration for an individual toast.\n */\n export interface IndividualConfig {\n /**\n * disable both timeOut and extendedTimeOut\n * default: false\n */\n disableTimeOut: boolean;\n /**\n * toast time to live in milliseconds\n * default: 5000\n */\n timeOut: number;\n /**\n * toast show close button\n * default: false\n */\n closeButton: boolean;\n /** time to close after a user hovers over toast */\n /**\n * show toast progress bar\n * default: false\n */\n extendedTimeOut: number;\n /**\n * show toast progress bar\n * default: false\n */\n progressBar: boolean;\n\n /**\n * changes toast progress bar animation\n * default: decreasing\n */\n progressAnimation?: 'increasing' | 'decreasing';\n /**\n * render html in toast message (possibly unsafe)\n * default: false\n */\n enableHtml: boolean;\n /**\n * css class on toast component\n * default: toast\n */\n toastClass: string;\n /**\n * css class on toast container\n * default: toast-top-right\n */\n positionClass: string;\n /**\n * css class on to toast title\n * default: toast-title\n */\n titleClass: string;\n /**\n * css class on to toast title\n * default: toast-title\n */\n messageClass: string;\n /**\n * animation easing on toast\n * default: ease-in\n */\n easing: string;\n /**\n * animation ease time on toast\n * default: 300\n */\n easeTime: string | number;\n /**\n * clicking on toast dismisses it\n * default: true\n */\n tapToDismiss: boolean;\n /**\n * Angular toast component to be shown\n * default: Toast\n */\n toastComponent: ComponentType<any>;\n /**\n * Helps show toast from a websocket or from event outside Angular\n * default: false\n */\n onActivateTick: boolean;\n}\n\nexport interface ToastrIconClasses {\n error: string;\n info: string;\n success: string;\n warning: string;\n}\n\n/**\n * Global Toast configuration\n * Includes all IndividualConfig\n */\nexport interface GlobalConfig extends IndividualConfig {\n /**\n * max toasts opened. Toasts will be queued\n * Zero is unlimited\n * default: 0\n */\n maxOpened: number;\n /**\n * dismiss current toast when max is reached\n * default: false\n */\n autoDismiss: boolean;\n iconClasses: Partial<ToastrIconClasses>;\n /**\n * New toast placement\n * default: true\n */\n newestOnTop: boolean;\n /**\n * block duplicate messages\n * default: false\n */\n preventDuplicates: boolean;\n}\n\n/**\n * Everything a toast needs to launch\n */\nexport class ToastPackage {\n private _onTap = new Subject<any>();\n private _onAction = new Subject<any>();\n\n constructor(\n public toastId: number,\n public config: IndividualConfig,\n public message: string | SafeHtml | null | undefined,\n public title: string | undefined,\n public toastType: string,\n public toastRef: ToastRef<any>,\n ) {\n this.toastRef.afterClosed().subscribe(() => {\n this._onAction.complete();\n this._onTap.complete();\n });\n }\n\n /** Fired on click */\n triggerTap() {\n this._onTap.next();\n this._onTap.complete();\n }\n\n onTap(): Observable<any> {\n return this._onTap.asObservable();\n }\n\n /** available for use in custom toast */\n triggerAction(action?: any) {\n this._onAction.next(action);\n }\n\n onAction(): Observable<any> {\n return this._onAction.asObservable();\n }\n}\n\n/* tslint:disable:no-empty-interface */\nexport interface GlobalToastrConfig extends GlobalConfig {}\nexport interface IndividualToastrConfig extends IndividualConfig {}\nexport interface ToastrConfig extends IndividualConfig {}\n",
29
+ "import { SafeHtml } from '@angular/platform-browser';\n\nimport { Observable } from 'rxjs/Observable';\nimport { Subject } from 'rxjs/Subject';\n\nimport { ComponentType } from '../portal/portal';\nimport { ToastRef } from './toast-injector';\n\n/**\n * Configuration for an individual toast.\n */\n export interface IndividualConfig {\n /**\n * disable both timeOut and extendedTimeOut\n * default: false\n */\n disableTimeOut: boolean;\n /**\n * toast time to live in milliseconds\n * default: 5000\n */\n timeOut: number;\n /**\n * toast show close button\n * default: false\n */\n closeButton: boolean;\n /**\n * time to close after a user hovers over toast\n * default: 1000\n */\n extendedTimeOut: number;\n /**\n * show toast progress bar\n * default: false\n */\n progressBar: boolean;\n\n /**\n * changes toast progress bar animation\n * default: decreasing\n */\n progressAnimation?: 'increasing' | 'decreasing';\n /**\n * render html in toast message (possibly unsafe)\n * default: false\n */\n enableHtml: boolean;\n /**\n * css class on toast component\n * default: toast\n */\n toastClass: string;\n /**\n * css class on toast container\n * default: toast-top-right\n */\n positionClass: string;\n /**\n * css class on to toast title\n * default: toast-title\n */\n titleClass: string;\n /**\n * css class on to toast title\n * default: toast-title\n */\n messageClass: string;\n /**\n * animation easing on toast\n * default: ease-in\n */\n easing: string;\n /**\n * animation ease time on toast\n * default: 300\n */\n easeTime: string | number;\n /**\n * clicking on toast dismisses it\n * default: true\n */\n tapToDismiss: boolean;\n /**\n * Angular toast component to be shown\n * default: Toast\n */\n toastComponent: ComponentType<any>;\n /**\n * Helps show toast from a websocket or from event outside Angular\n * default: false\n */\n onActivateTick: boolean;\n}\n\nexport interface ToastrIconClasses {\n error: string;\n info: string;\n success: string;\n warning: string;\n}\n\n/**\n * Global Toast configuration\n * Includes all IndividualConfig\n */\nexport interface GlobalConfig extends IndividualConfig {\n /**\n * max toasts opened. Toasts will be queued\n * Zero is unlimited\n * default: 0\n */\n maxOpened: number;\n /**\n * dismiss current toast when max is reached\n * default: false\n */\n autoDismiss: boolean;\n iconClasses: Partial<ToastrIconClasses>;\n /**\n * New toast placement\n * default: true\n */\n newestOnTop: boolean;\n /**\n * block duplicate messages\n * default: false\n */\n preventDuplicates: boolean;\n}\n\n/**\n * Everything a toast needs to launch\n */\nexport class ToastPackage {\n private _onTap = new Subject<any>();\n private _onAction = new Subject<any>();\n\n constructor(\n public toastId: number,\n public config: IndividualConfig,\n public message: string | SafeHtml | null | undefined,\n public title: string | undefined,\n public toastType: string,\n public toastRef: ToastRef<any>,\n ) {\n this.toastRef.afterClosed().subscribe(() => {\n this._onAction.complete();\n this._onTap.complete();\n });\n }\n\n /** Fired on click */\n triggerTap() {\n this._onTap.next();\n this._onTap.complete();\n }\n\n onTap(): Observable<any> {\n return this._onTap.asObservable();\n }\n\n /** available for use in custom toast */\n triggerAction(action?: any) {\n this._onAction.next(action);\n }\n\n onAction(): Observable<any> {\n return this._onAction.asObservable();\n }\n}\n\n/* tslint:disable:no-empty-interface */\nexport interface GlobalToastrConfig extends GlobalConfig {}\nexport interface IndividualToastrConfig extends IndividualConfig {}\nexport interface ToastrConfig extends IndividualConfig {}\n",
29
30
  "import { Injector } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { Subject } from 'rxjs/Subject';\n\nimport { OverlayRef } from '../overlay/overlay-ref';\nimport { ToastPackage } from './toastr-config';\n\n/**\n * Reference to a toast opened via the Toastr service.\n */\nexport class ToastRef<T> {\n /** The instance of component opened into the toast. */\n componentInstance: T;\n\n /** Subject for notifying the user that the toast has finished closing. */\n private _afterClosed = new Subject<any>();\n /** triggered when toast is activated */\n private _activate = new Subject<any>();\n /** notifies the toast that it should close before the timeout */\n private _manualClose = new Subject<any>();\n\n constructor(private _overlayRef: OverlayRef) { }\n\n manualClose() {\n this._manualClose.next();\n this._manualClose.complete();\n }\n\n manualClosed(): Observable<any> {\n return this._manualClose.asObservable();\n }\n\n /**\n * Close the toast.\n */\n close(): void {\n this._overlayRef.detach();\n this._afterClosed.next();\n this._afterClosed.complete();\n this._manualClose.complete();\n this._activate.complete();\n }\n\n /** Gets an observable that is notified when the toast is finished closing. */\n afterClosed(): Observable<any> {\n return this._afterClosed.asObservable();\n }\n\n isInactive() {\n return this._activate.isStopped;\n }\n\n activate() {\n this._activate.next();\n this._activate.complete();\n }\n\n /** Gets an observable that is notified when the toast has started opening. */\n afterActivate(): Observable<any> {\n return this._activate.asObservable();\n }\n}\n\n\n/** Custom injector type specifically for instantiating components with a toast. */\nexport class ToastInjector implements Injector {\n constructor(\n private _toastPackage: ToastPackage,\n private _parentInjector: Injector) { }\n\n get(token: any, notFoundValue?: any): any {\n if (token === ToastPackage && this._toastPackage) {\n return this._toastPackage;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n",
30
- "import {\n ComponentRef,\n Inject,\n Injectable,\n Injector,\n NgZone,\n SecurityContext\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { Observable } from 'rxjs/Observable';\n\nimport { Overlay } from '../overlay/overlay';\nimport { ComponentPortal } from '../portal/portal';\nimport { ToastInjector, ToastRef } from './toast-injector';\nimport { ToastToken, TOAST_CONFIG } from './toast-token';\nimport { ToastContainerDirective } from './toast.directive';\nimport {\n GlobalConfig,\n IndividualConfig,\n ToastPackage,\n} from './toastr-config';\n\n\nexport interface ActiveToast {\n /** Your Toast ID. Use this to close it individually */\n toastId: number;\n /** the message of your toast. Stored to prevent duplicates */\n message: string;\n /** a reference to the component see portal.ts */\n portal: ComponentRef<any>;\n /** a reference to your toast */\n toastRef: ToastRef<any>;\n /** triggered when toast is active */\n onShown: Observable<any>;\n /** triggered when toast is destroyed */\n onHidden: Observable<any>;\n /** triggered on toast click */\n onTap: Observable<any>;\n /** available for your use in custom toast */\n onAction: Observable<any>;\n}\n\n@Injectable()\nexport class ToastrService {\n toastrConfig: GlobalConfig;\n currentlyActive = 0;\n toasts: ActiveToast[] = [];\n overlayContainer: ToastContainerDirective;\n previousToastMessage: string | undefined;\n private index = 0;\n\n constructor(\n @Inject(TOAST_CONFIG) token: ToastToken,\n private overlay: Overlay,\n private _injector: Injector,\n private sanitizer: DomSanitizer,\n private ngZone: NgZone\n ) {\n const defaultConfig = new token.defaults;\n this.toastrConfig = { ...defaultConfig, ...token.config };\n this.toastrConfig.iconClasses = {\n ...defaultConfig.iconClasses,\n ...token.config.iconClasses,\n };\n }\n /** show toast */\n show(message?: string, title?: string, override: Partial<IndividualConfig> = {}, type = '') {\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show successful toast */\n success(message?: string, title?: string, override: Partial<IndividualConfig> = {}) {\n const type = this.toastrConfig.iconClasses.success || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show error toast */\n error(message?: string, title?: string, override: Partial<IndividualConfig> = {}) {\n const type = this.toastrConfig.iconClasses.error || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show info toast */\n info(message?: string, title?: string, override: Partial<IndividualConfig> = {}) {\n const type = this.toastrConfig.iconClasses.info || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show warning toast */\n warning(message?: string, title?: string, override: Partial<IndividualConfig> = {}) {\n const type = this.toastrConfig.iconClasses.warning || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /**\n * Remove all or a single toast by id\n */\n clear(toastId?: number) {\n // Call every toastRef manualClose function\n for (const toast of this.toasts) {\n if (toastId !== undefined) {\n if (toast.toastId === toastId) {\n toast.toastRef.manualClose();\n return;\n }\n } else {\n toast.toastRef.manualClose();\n }\n }\n }\n /**\n * Remove and destroy a single toast by id\n */\n remove(toastId: number) {\n const found = this._findToast(toastId);\n if (!found) {\n return false;\n }\n found.activeToast.toastRef.close();\n this.toasts.splice(found.index, 1);\n this.currentlyActive = this.currentlyActive - 1;\n if (!this.toastrConfig.maxOpened || !this.toasts.length) {\n return false;\n }\n if (this.currentlyActive <= +this.toastrConfig.maxOpened && this.toasts[this.currentlyActive]) {\n const p = this.toasts[this.currentlyActive].toastRef;\n if (!p.isInactive()) {\n this.currentlyActive = this.currentlyActive + 1;\n p.activate();\n }\n }\n return true;\n }\n\n /**\n * Determines if toast message is already shown\n */\n isDuplicate(message: string) {\n for (let i = 0; i < this.toasts.length; i++) {\n if (this.toasts[i].message === message) {\n return true;\n }\n }\n return false;\n }\n\n /** create a clone of global config and apply individual settings */\n private applyConfig(override: Partial<IndividualConfig> = {}): GlobalConfig {\n return { ...this.toastrConfig, ...override };\n }\n\n /**\n * Find toast object by id\n */\n private _findToast(toastId: number): { index: number, activeToast: ActiveToast } | null {\n for (let i = 0; i < this.toasts.length; i++) {\n if (this.toasts[i].toastId === toastId) {\n return { index: i, activeToast: this.toasts[i] };\n }\n }\n return null;\n }\n\n /**\n * Determines the need to run inside angular's zone then builds the toast\n */\n private _preBuildNotification(\n toastType: string,\n message: string | undefined,\n title: string | undefined,\n config: GlobalConfig,\n ): ActiveToast | null {\n if (config.onActivateTick) {\n return this.ngZone.run(() => this._buildNotification(toastType, message, title, config));\n }\n return this._buildNotification(toastType, message, title, config);\n }\n\n /**\n * Creates and attaches toast data to component\n * returns null if toast is duplicate and preventDuplicates == True\n */\n private _buildNotification(\n toastType: string,\n message: string | undefined,\n title: string | undefined,\n config: GlobalConfig,\n ): ActiveToast | null {\n if (!config.toastComponent) {\n throw new Error('toastComponent required');\n }\n // max opened and auto dismiss = true\n if (message && this.toastrConfig.preventDuplicates && this.isDuplicate(message)) {\n return null;\n }\n this.previousToastMessage = message;\n let keepInactive = false;\n if (this.toastrConfig.maxOpened && this.currentlyActive >= this.toastrConfig.maxOpened) {\n keepInactive = true;\n if (this.toastrConfig.autoDismiss) {\n this.clear(this.toasts[this.toasts.length - 1].toastId);\n }\n }\n const overlayRef = this.overlay.create(config.positionClass, this.overlayContainer);\n this.index = this.index + 1;\n let sanitizedMessage: string | SafeHtml | undefined | null = message;\n if (message && config.enableHtml) {\n sanitizedMessage = this.sanitizer.sanitize(SecurityContext.HTML, message);\n }\n const toastRef = new ToastRef(overlayRef);\n const toastPackage = new ToastPackage(\n this.index,\n config,\n sanitizedMessage,\n title,\n toastType,\n toastRef,\n );\n const toastInjector = new ToastInjector(toastPackage, this._injector);\n const component = new ComponentPortal(config.toastComponent, toastInjector);\n const ins: ActiveToast = {\n toastId: this.index,\n message: message || '',\n toastRef,\n onShown: toastRef.afterActivate(),\n onHidden: toastRef.afterClosed(),\n onTap: toastPackage.onTap(),\n onAction: toastPackage.onAction(),\n portal: overlayRef.attach(component, this.toastrConfig.newestOnTop),\n };\n\n if (!keepInactive) {\n setTimeout(() => {\n ins.toastRef.activate();\n this.currentlyActive = this.currentlyActive + 1;\n });\n }\n\n this.toasts.push(ins);\n return ins;\n }\n}\n",
31
+ "import { InjectionToken } from '@angular/core';\n\nimport { GlobalConfig } from './toastr-config';\n\nexport interface ToastToken {\n config: GlobalConfig;\n defaults: any;\n}\n\nexport const TOAST_CONFIG = new InjectionToken<ToastToken>('ToastConfig');\n",
32
+ "import {\n ComponentRef,\n Inject,\n Injectable,\n Injector,\n NgZone,\n SecurityContext\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { Observable } from 'rxjs/Observable';\n\nimport { Overlay } from '../overlay/overlay';\nimport { ComponentPortal } from '../portal/portal';\nimport { ToastInjector, ToastRef } from './toast-injector';\nimport { ToastToken, TOAST_CONFIG } from './toast-token';\nimport { ToastContainerDirective } from './toast.directive';\nimport {\n GlobalConfig,\n IndividualConfig,\n ToastPackage,\n} from './toastr-config';\n\n\nexport interface ActiveToast<C> {\n /** Your Toast ID. Use this to close it individually */\n toastId: number;\n /** the message of your toast. Stored to prevent duplicates */\n message: string;\n /** a reference to the component see portal.ts */\n portal: ComponentRef<C>;\n /** a reference to your toast */\n toastRef: ToastRef<C>;\n /** triggered when toast is active */\n onShown: Observable<any>;\n /** triggered when toast is destroyed */\n onHidden: Observable<any>;\n /** triggered on toast click */\n onTap: Observable<any>;\n /** available for your use in custom toast */\n onAction: Observable<any>;\n}\n\n@Injectable()\nexport class ToastrService {\n toastrConfig: GlobalConfig;\n currentlyActive = 0;\n toasts: ActiveToast<any>[] = [];\n overlayContainer: ToastContainerDirective;\n previousToastMessage: string | undefined;\n private index = 0;\n\n constructor(\n @Inject(TOAST_CONFIG) token: ToastToken,\n private overlay: Overlay,\n private _injector: Injector,\n private sanitizer: DomSanitizer,\n private ngZone: NgZone\n ) {\n const defaultConfig = new token.defaults;\n this.toastrConfig = { ...defaultConfig, ...token.config };\n this.toastrConfig.iconClasses = {\n ...defaultConfig.iconClasses,\n ...token.config.iconClasses,\n };\n }\n /** show toast */\n show(message?: string, title?: string, override: Partial<IndividualConfig> = {}, type = '') {\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show successful toast */\n success(message?: string, title?: string, override: Partial<IndividualConfig> = {}) {\n const type = this.toastrConfig.iconClasses.success || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show error toast */\n error(message?: string, title?: string, override: Partial<IndividualConfig> = {}) {\n const type = this.toastrConfig.iconClasses.error || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show info toast */\n info(message?: string, title?: string, override: Partial<IndividualConfig> = {}) {\n const type = this.toastrConfig.iconClasses.info || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show warning toast */\n warning(message?: string, title?: string, override: Partial<IndividualConfig> = {}) {\n const type = this.toastrConfig.iconClasses.warning || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /**\n * Remove all or a single toast by id\n */\n clear(toastId?: number) {\n // Call every toastRef manualClose function\n for (const toast of this.toasts) {\n if (toastId !== undefined) {\n if (toast.toastId === toastId) {\n toast.toastRef.manualClose();\n return;\n }\n } else {\n toast.toastRef.manualClose();\n }\n }\n }\n /**\n * Remove and destroy a single toast by id\n */\n remove(toastId: number) {\n const found = this._findToast(toastId);\n if (!found) {\n return false;\n }\n found.activeToast.toastRef.close();\n this.toasts.splice(found.index, 1);\n this.currentlyActive = this.currentlyActive - 1;\n if (!this.toastrConfig.maxOpened || !this.toasts.length) {\n return false;\n }\n if (this.currentlyActive < this.toastrConfig.maxOpened && this.toasts[this.currentlyActive]) {\n const p = this.toasts[this.currentlyActive].toastRef;\n if (!p.isInactive()) {\n this.currentlyActive = this.currentlyActive + 1;\n p.activate();\n }\n }\n return true;\n }\n\n /**\n * Determines if toast message is already shown\n */\n isDuplicate(message: string) {\n for (let i = 0; i < this.toasts.length; i++) {\n if (this.toasts[i].message === message) {\n return true;\n }\n }\n return false;\n }\n\n /** create a clone of global config and apply individual settings */\n private applyConfig(override: Partial<IndividualConfig> = {}): GlobalConfig {\n return { ...this.toastrConfig, ...override };\n }\n\n /**\n * Find toast object by id\n */\n private _findToast(toastId: number): { index: number, activeToast: ActiveToast<any> } | null {\n for (let i = 0; i < this.toasts.length; i++) {\n if (this.toasts[i].toastId === toastId) {\n return { index: i, activeToast: this.toasts[i] };\n }\n }\n return null;\n }\n\n /**\n * Determines the need to run inside angular's zone then builds the toast\n */\n private _preBuildNotification(\n toastType: string,\n message: string | undefined,\n title: string | undefined,\n config: GlobalConfig,\n ): ActiveToast<any> | null {\n if (config.onActivateTick) {\n return this.ngZone.run(() => this._buildNotification(toastType, message, title, config));\n }\n return this._buildNotification(toastType, message, title, config);\n }\n\n /**\n * Creates and attaches toast data to component\n * returns null if toast is duplicate and preventDuplicates == True\n */\n private _buildNotification(\n toastType: string,\n message: string | undefined,\n title: string | undefined,\n config: GlobalConfig,\n ): ActiveToast<any> | null {\n if (!config.toastComponent) {\n throw new Error('toastComponent required');\n }\n // max opened and auto dismiss = true\n if (message && this.toastrConfig.preventDuplicates && this.isDuplicate(message)) {\n return null;\n }\n this.previousToastMessage = message;\n let keepInactive = false;\n if (this.toastrConfig.maxOpened && this.currentlyActive >= this.toastrConfig.maxOpened) {\n keepInactive = true;\n if (this.toastrConfig.autoDismiss) {\n this.clear(this.toasts[this.toasts.length - 1].toastId);\n }\n }\n const overlayRef = this.overlay.create(config.positionClass, this.overlayContainer);\n this.index = this.index + 1;\n let sanitizedMessage: string | SafeHtml | undefined | null = message;\n if (message && config.enableHtml) {\n sanitizedMessage = this.sanitizer.sanitize(SecurityContext.HTML, message);\n }\n const toastRef = new ToastRef(overlayRef);\n const toastPackage = new ToastPackage(\n this.index,\n config,\n sanitizedMessage,\n title,\n toastType,\n toastRef,\n );\n const toastInjector = new ToastInjector(toastPackage, this._injector);\n const component = new ComponentPortal(config.toastComponent, toastInjector);\n const portal = overlayRef.attach(component, this.toastrConfig.newestOnTop);\n toastRef.componentInstance = (<any>portal)._component;\n const ins: ActiveToast<any> = {\n toastId: this.index,\n message: message || '',\n toastRef,\n onShown: toastRef.afterActivate(),\n onHidden: toastRef.afterClosed(),\n onTap: toastPackage.onTap(),\n onAction: toastPackage.onAction(),\n portal,\n };\n\n if (!keepInactive) {\n setTimeout(() => {\n ins.toastRef.activate();\n this.currentlyActive = this.currentlyActive + 1;\n });\n }\n\n this.toasts.push(ins);\n return ins;\n }\n}\n",
31
33
  "import {\n animate,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n Component,\n HostBinding,\n HostListener,\n NgZone,\n OnDestroy,\n} from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\n\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { IndividualConfig, ToastPackage } from './toastr-config';\nimport { ToastrService } from './toastr.service';\n\n@Component({\n selector: '[toast-component]',\n template: `\n <button *ngIf=\"options.closeButton\" (click)=\"remove()\" class=\"toast-close-button\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div *ngIf=\"title\" [class]=\"options.titleClass\" [attr.aria-label]=\"title\">\n {{ title }}\n </div>\n <div *ngIf=\"message && options.enableHtml\" role=\"alertdialog\" aria-live=\"polite\"\n [class]=\"options.messageClass\" [innerHTML]=\"message\">\n </div>\n <div *ngIf=\"message && !options.enableHtml\" role=\"alertdialog\" aria-live=\"polite\"\n [class]=\"options.messageClass\" [attr.aria-label]=\"message\">\n {{ message }}\n </div>\n <div *ngIf=\"options.progressBar\">\n <div class=\"toast-progress\" [style.width]=\"width + '%'\"></div>\n </div>\n `,\n animations: [\n trigger('flyInOut', [\n state('inactive', style({\n display: 'none',\n opacity: 0,\n })),\n state('active', style({})),\n state('removed', style({ opacity: 0 })),\n transition('inactive => active',\n animate('{{ easeTime }}ms {{ easing }}')\n ),\n transition('active => removed',\n animate('{{ easeTime }}ms {{ easing }}'),\n ),\n ]),\n ],\n preserveWhitespaces: false,\n})\nexport class Toast implements OnDestroy {\n message?: string | SafeHtml | null;\n title?: string;\n options: IndividualConfig;\n /** width of progress bar */\n width = -1;\n /** a combination of toast type and options.toastClass */\n @HostBinding('class') toastClasses = '';\n /** controls animation */\n @HostBinding('@flyInOut') state = {\n value: 'inactive',\n params: {\n easeTime: this.toastPackage.config.easeTime,\n easing: 'ease-in',\n },\n };\n private timeout: any;\n private intervalId: any;\n private hideTime: number;\n private sub: Subscription;\n private sub1: Subscription;\n\n constructor(\n protected toastrService: ToastrService,\n public toastPackage: ToastPackage,\n protected ngZone?: NgZone,\n ) {\n this.message = toastPackage.message;\n this.title = toastPackage.title;\n this.options = toastPackage.config;\n this.toastClasses = `${toastPackage.toastType} ${toastPackage.config.toastClass}`;\n this.sub = toastPackage.toastRef.afterActivate().subscribe(() => {\n this.activateToast();\n });\n this.sub1 = toastPackage.toastRef.manualClosed().subscribe(() => {\n this.remove();\n });\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n this.sub1.unsubscribe();\n clearInterval(this.intervalId);\n clearTimeout(this.timeout);\n }\n /**\n * activates toast and sets timeout\n */\n activateToast() {\n this.state = { ...this.state, value: 'active' };\n if (!this.options.disableTimeOut && this.options.timeOut) {\n this.outsideTimeout(() => this.remove(), this.options.timeOut);\n this.hideTime = new Date().getTime() + this.options.timeOut;\n if (this.options.progressBar) {\n this.outsideInterval(() => this.updateProgress(), 10);\n }\n }\n }\n /**\n * updates progress bar width\n */\n updateProgress() {\n if (this.width === 0 || this.width === 100 || !this.options.timeOut) {\n return;\n }\n const now = new Date().getTime();\n const remaining = this.hideTime - now;\n this.width = (remaining / this.options.timeOut) * 100;\n if (this.options.progressAnimation === 'increasing') {\n this.width = 100 - this.width;\n }\n if (this.width <= 0) {\n this.width = 0;\n }\n if (this.width >= 100) {\n this.width = 100;\n }\n }\n\n /**\n * tells toastrService to remove this toast after animation time\n */\n remove() {\n if (this.state.value === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.state = {...this.state, value: 'removed'};\n this.outsideTimeout(() =>\n this.toastrService.remove(this.toastPackage.toastId),\n +this.toastPackage.config.easeTime,\n );\n }\n @HostListener('click')\n tapToast() {\n if (this.state.value === 'removed') {\n return;\n }\n this.toastPackage.triggerTap();\n if (this.options.tapToDismiss) {\n this.remove();\n }\n }\n @HostListener('mouseenter')\n stickAround() {\n if (this.state.value === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.options.timeOut = 0;\n this.hideTime = 0;\n\n // disable progressBar\n clearInterval(this.intervalId);\n this.width = 0;\n }\n @HostListener('mouseleave')\n delayedHideToast() {\n if (this.options.disableTimeOut\n || this.options.extendedTimeOut === 0\n || this.state.value === 'removed') {\n return;\n }\n this.outsideTimeout(() => this.remove(), this.options.extendedTimeOut);\n this.options.timeOut = this.options.extendedTimeOut;\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\n this.width = -1;\n if (this.options.progressBar) {\n this.outsideInterval(() => this.updateProgress(), 10);\n }\n }\n\n outsideTimeout(func: Function, timeout: number) {\n if (this.ngZone) {\n this.ngZone.runOutsideAngular(() =>\n this.timeout = setTimeout(() => this.runInsideAngular(func), timeout)\n );\n } else {\n this.timeout = setTimeout(() => func(), timeout);\n }\n }\n\n outsideInterval(func: Function, timeout: number) {\n if (this.ngZone) {\n this.ngZone.runOutsideAngular(() =>\n this.intervalId = setInterval(() => this.runInsideAngular(func), timeout)\n );\n } else {\n this.intervalId = setInterval(() => func(), timeout);\n }\n }\n\n private runInsideAngular(func: Function) {\n if (this.ngZone) {\n this.ngZone.run(() => func());\n } else {\n func();\n }\n }\n\n}\n",
32
34
  "import { Toast } from './toast.component';\nimport { GlobalConfig } from './toastr-config';\n\nexport class DefaultGlobalConfig implements GlobalConfig {\n // Global\n maxOpened = 0;\n autoDismiss = false;\n newestOnTop = true;\n preventDuplicates = false;\n iconClasses = {\n error: 'toast-error',\n info: 'toast-info',\n success: 'toast-success',\n warning: 'toast-warning',\n };\n\n // Individual\n toastComponent = Toast;\n closeButton = false;\n disableTimeOut: false;\n timeOut = 5000;\n extendedTimeOut = 1000;\n enableHtml = false;\n progressBar = false;\n toastClass = 'toast';\n positionClass = 'toast-top-right';\n titleClass = 'toast-title';\n messageClass = 'toast-message';\n easing = 'ease-in';\n easeTime = 300;\n tapToDismiss = true;\n onActivateTick = false;\n progressAnimation: 'decreasing' | 'increasing' = 'decreasing';\n}\n",
33
35
  "import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n Optional,\n SkipSelf,\n} from '@angular/core';\n\nimport { Overlay } from '../overlay/overlay';\nimport { OverlayContainer } from '../overlay/overlay-container';\nimport { DefaultGlobalConfig } from './default-config';\nimport { TOAST_CONFIG } from './toast-token';\nimport { Toast } from './toast.component';\nimport { GlobalConfig } from './toastr-config';\nimport { ToastrService } from './toastr.service';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [Toast],\n declarations: [Toast],\n entryComponents: [Toast],\n})\nexport class ToastrModule {\n constructor(@Optional() @SkipSelf() parentModule: ToastrModule) {\n if (parentModule) {\n throw new Error('ToastrModule is already loaded. It should only be imported in your application\\'s main module.');\n }\n }\n static forRoot(config: Partial<GlobalConfig> = {}): ModuleWithProviders {\n return {\n ngModule: ToastrModule,\n providers: [\n { provide: TOAST_CONFIG, useValue: { config, defaults: DefaultGlobalConfig } },\n OverlayContainer,\n Overlay,\n ToastrService,\n ],\n };\n }\n}\n",
34
- "import { CommonModule } from '@angular/common';\r\nimport {\r\n ApplicationRef,\r\n Component,\r\n HostBinding,\r\n HostListener,\r\n NgModule,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\n\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\nimport { IndividualConfig, ToastPackage } from './toastr-config';\r\nimport { ToastrService } from './toastr.service';\r\n\r\n@Component({\r\n selector: '[toast-component]',\r\n template: `\r\n <button *ngIf=\"options.closeButton\" (click)=\"remove()\" class=\"toast-close-button\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">&times;</span>\r\n </button>\r\n <div *ngIf=\"title\" [class]=\"options.titleClass\" [attr.aria-label]=\"title\">\r\n {{ title }}\r\n </div>\r\n <div *ngIf=\"message && options.enableHtml\" role=\"alert\" aria-live=\"polite\"\r\n [class]=\"options.messageClass\" [innerHTML]=\"message\">\r\n </div>\r\n <div *ngIf=\"message && !options.enableHtml\" role=\"alert\" aria-live=\"polite\"\r\n [class]=\"options.messageClass\" [attr.aria-label]=\"message\">\r\n {{ message }}\r\n </div>\r\n <div *ngIf=\"options.progressBar\">\r\n <div class=\"toast-progress\" [style.width]=\"width + '%'\"></div>\r\n </div>\r\n `,\r\n})\r\nexport class ToastNoAnimation implements OnDestroy {\r\n message?: string | SafeHtml | null;\r\n title?: string;\r\n options: IndividualConfig;\r\n /** width of progress bar */\r\n width = -1;\r\n /** a combination of toast type and options.toastClass */\r\n @HostBinding('class') toastClasses = '';\r\n /** controls animation */\r\n state = 'inactive';\r\n private timeout: any;\r\n private intervalId: any;\r\n private hideTime: number;\r\n private sub: Subscription;\r\n private sub1: Subscription;\r\n\r\n constructor(\r\n protected toastrService: ToastrService,\r\n public toastPackage: ToastPackage,\r\n protected appRef: ApplicationRef,\r\n ) {\r\n this.message = toastPackage.message;\r\n this.title = toastPackage.title;\r\n this.options = toastPackage.config;\r\n this.toastClasses = `${toastPackage.toastType} ${\r\n toastPackage.config.toastClass\r\n }`;\r\n this.sub = toastPackage.toastRef.afterActivate().subscribe(() => {\r\n this.activateToast();\r\n });\r\n this.sub1 = toastPackage.toastRef.manualClosed().subscribe(() => {\r\n this.remove();\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n this.sub1.unsubscribe();\r\n clearInterval(this.intervalId);\r\n clearTimeout(this.timeout);\r\n }\r\n /**\r\n * activates toast and sets timeout\r\n */\r\n activateToast() {\r\n this.state = 'active';\r\n if (!this.options.disableTimeOut && this.options.timeOut) {\r\n this.timeout = setTimeout(() => {\r\n this.remove();\r\n }, this.options.timeOut);\r\n this.hideTime = new Date().getTime() + this.options.timeOut;\r\n if (this.options.progressBar) {\r\n this.intervalId = setInterval(() => this.updateProgress(), 10);\r\n }\r\n }\r\n if (this.options.onActivateTick) {\r\n this.appRef.tick();\r\n }\r\n }\r\n /**\r\n * updates progress bar width\r\n */\r\n updateProgress() {\r\n if (this.width === 0 || this.width === 100 || !this.options.timeOut) {\r\n return;\r\n }\r\n const now = new Date().getTime();\r\n const remaining = this.hideTime - now;\r\n this.width = remaining / this.options.timeOut * 100;\r\n if (this.options.progressAnimation === 'increasing') {\r\n this.width = 100 - this.width;\r\n }\r\n if (this.width <= 0) {\r\n this.width = 0;\r\n }\r\n if (this.width >= 100) {\r\n this.width = 100;\r\n }\r\n }\r\n\r\n /**\r\n * tells toastrService to remove this toast after animation time\r\n */\r\n remove() {\r\n if (this.state === 'removed') {\r\n return;\r\n }\r\n clearTimeout(this.timeout);\r\n this.state = 'removed';\r\n this.timeout = setTimeout(\r\n () => this.toastrService.remove(this.toastPackage.toastId),\r\n );\r\n }\r\n @HostListener('click')\r\n tapToast() {\r\n if (this.state === 'removed') {\r\n return;\r\n }\r\n this.toastPackage.triggerTap();\r\n if (this.options.tapToDismiss) {\r\n this.remove();\r\n }\r\n }\r\n @HostListener('mouseenter')\r\n stickAround() {\r\n if (this.state === 'removed') {\r\n return;\r\n }\r\n clearTimeout(this.timeout);\r\n this.options.timeOut = 0;\r\n this.hideTime = 0;\r\n\r\n // disable progressBar\r\n clearInterval(this.intervalId);\r\n this.width = 0;\r\n }\r\n @HostListener('mouseleave')\r\n delayedHideToast() {\r\n if (this.options.disableTimeOut\r\n || this.options.extendedTimeOut === 0\r\n || this.state === 'removed') {\r\n return;\r\n }\r\n this.timeout = setTimeout(\r\n () => this.remove(),\r\n this.options.extendedTimeOut,\r\n );\r\n this.options.timeOut = this.options.extendedTimeOut;\r\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\r\n this.width = -1;\r\n if (this.options.progressBar) {\r\n this.intervalId = setInterval(() => this.updateProgress(), 10);\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [ToastNoAnimation],\r\n exports: [ToastNoAnimation],\r\n entryComponents: [ToastNoAnimation],\r\n})\r\nexport class ToastNoAnimationModule {}\r\n"
36
+ "import { CommonModule } from '@angular/common';\r\nimport {\r\n ApplicationRef,\r\n Component,\r\n HostBinding,\r\n HostListener,\r\n NgModule,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\n\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\nimport { IndividualConfig, ToastPackage } from './toastr-config';\r\nimport { ToastrService } from './toastr.service';\r\n\r\n@Component({\r\n selector: '[toast-component]',\r\n template: `\r\n <button *ngIf=\"options.closeButton\" (click)=\"remove()\" class=\"toast-close-button\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">&times;</span>\r\n </button>\r\n <div *ngIf=\"title\" [class]=\"options.titleClass\" [attr.aria-label]=\"title\">\r\n {{ title }}\r\n </div>\r\n <div *ngIf=\"message && options.enableHtml\" role=\"alert\" aria-live=\"polite\"\r\n [class]=\"options.messageClass\" [innerHTML]=\"message\">\r\n </div>\r\n <div *ngIf=\"message && !options.enableHtml\" role=\"alert\" aria-live=\"polite\"\r\n [class]=\"options.messageClass\" [attr.aria-label]=\"message\">\r\n {{ message }}\r\n </div>\r\n <div *ngIf=\"options.progressBar\">\r\n <div class=\"toast-progress\" [style.width]=\"width + '%'\"></div>\r\n </div>\r\n `,\r\n})\r\nexport class ToastNoAnimation implements OnDestroy {\r\n message?: string | SafeHtml | null;\r\n title?: string;\r\n options: IndividualConfig;\r\n /** width of progress bar */\r\n width = -1;\r\n /** a combination of toast type and options.toastClass */\r\n @HostBinding('class') toastClasses = '';\r\n\r\n @HostBinding('style.display')\r\n get displayStyle() {\r\n if (this.state === 'inactive') {\r\n return 'none';\r\n }\r\n return 'inherit';\r\n }\r\n\r\n /** controls animation */\r\n state = 'inactive';\r\n private timeout: any;\r\n private intervalId: any;\r\n private hideTime: number;\r\n private sub: Subscription;\r\n private sub1: Subscription;\r\n\r\n constructor(\r\n protected toastrService: ToastrService,\r\n public toastPackage: ToastPackage,\r\n protected appRef: ApplicationRef,\r\n ) {\r\n this.message = toastPackage.message;\r\n this.title = toastPackage.title;\r\n this.options = toastPackage.config;\r\n this.toastClasses = `${toastPackage.toastType} ${\r\n toastPackage.config.toastClass\r\n }`;\r\n this.sub = toastPackage.toastRef.afterActivate().subscribe(() => {\r\n this.activateToast();\r\n });\r\n this.sub1 = toastPackage.toastRef.manualClosed().subscribe(() => {\r\n this.remove();\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n this.sub1.unsubscribe();\r\n clearInterval(this.intervalId);\r\n clearTimeout(this.timeout);\r\n }\r\n /**\r\n * activates toast and sets timeout\r\n */\r\n activateToast() {\r\n this.state = 'active';\r\n if (!this.options.disableTimeOut && this.options.timeOut) {\r\n this.timeout = setTimeout(() => {\r\n this.remove();\r\n }, this.options.timeOut);\r\n this.hideTime = new Date().getTime() + this.options.timeOut;\r\n if (this.options.progressBar) {\r\n this.intervalId = setInterval(() => this.updateProgress(), 10);\r\n }\r\n }\r\n if (this.options.onActivateTick) {\r\n this.appRef.tick();\r\n }\r\n }\r\n /**\r\n * updates progress bar width\r\n */\r\n updateProgress() {\r\n if (this.width === 0 || this.width === 100 || !this.options.timeOut) {\r\n return;\r\n }\r\n const now = new Date().getTime();\r\n const remaining = this.hideTime - now;\r\n this.width = remaining / this.options.timeOut * 100;\r\n if (this.options.progressAnimation === 'increasing') {\r\n this.width = 100 - this.width;\r\n }\r\n if (this.width <= 0) {\r\n this.width = 0;\r\n }\r\n if (this.width >= 100) {\r\n this.width = 100;\r\n }\r\n }\r\n\r\n /**\r\n * tells toastrService to remove this toast after animation time\r\n */\r\n remove() {\r\n if (this.state === 'removed') {\r\n return;\r\n }\r\n clearTimeout(this.timeout);\r\n this.state = 'removed';\r\n this.timeout = setTimeout(\r\n () => this.toastrService.remove(this.toastPackage.toastId),\r\n );\r\n }\r\n @HostListener('click')\r\n tapToast() {\r\n if (this.state === 'removed') {\r\n return;\r\n }\r\n this.toastPackage.triggerTap();\r\n if (this.options.tapToDismiss) {\r\n this.remove();\r\n }\r\n }\r\n @HostListener('mouseenter')\r\n stickAround() {\r\n if (this.state === 'removed') {\r\n return;\r\n }\r\n clearTimeout(this.timeout);\r\n this.options.timeOut = 0;\r\n this.hideTime = 0;\r\n\r\n // disable progressBar\r\n clearInterval(this.intervalId);\r\n this.width = 0;\r\n }\r\n @HostListener('mouseleave')\r\n delayedHideToast() {\r\n if (this.options.disableTimeOut\r\n || this.options.extendedTimeOut === 0\r\n || this.state === 'removed') {\r\n return;\r\n }\r\n this.timeout = setTimeout(\r\n () => this.remove(),\r\n this.options.extendedTimeOut,\r\n );\r\n this.options.timeOut = this.options.extendedTimeOut;\r\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\r\n this.width = -1;\r\n if (this.options.progressBar) {\r\n this.intervalId = setInterval(() => this.updateProgress(), 10);\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [ToastNoAnimation],\r\n exports: [ToastNoAnimation],\r\n entryComponents: [ToastNoAnimation],\r\n})\r\nexport class ToastNoAnimationModule {}\r\n"
35
37
  ],
36
38
  "names": [
37
39
  "extendStatics",
@@ -43,62 +45,76 @@
43
45
  "b",
44
46
  "p",
45
47
  "hasOwnProperty",
46
- "this",
48
+ "ComponentPortal",
47
49
  "component",
48
50
  "injector",
49
- "_attachedHost",
50
- "host",
51
+ "this",
52
+ "prototype",
51
53
  "attach",
54
+ "host",
52
55
  "newestOnTop",
53
- "undefined",
56
+ "_attachedHost",
54
57
  "detach",
58
+ "undefined",
55
59
  "defineProperty",
56
- "ComponentPortal",
57
- "prototype",
58
60
  "get",
59
61
  "setAttachedHost",
60
- "_attachedPortal",
62
+ "BasePortalHost",
61
63
  "portal",
64
+ "_attachedPortal",
62
65
  "attachComponentPortal",
63
- "BasePortalHost",
66
+ "_disposeFn",
67
+ "setDisposeFn",
68
+ "fn",
64
69
  "DomPortalHost",
65
70
  "_super",
71
+ "_hostDomElement",
72
+ "_componentFactoryResolver",
73
+ "_appRef",
74
+ "_this",
75
+ "call",
66
76
  "__",
67
77
  "constructor",
68
78
  "create",
69
79
  "tslib_1.__extends",
70
80
  "componentRef",
71
81
  "componentFactory",
72
- "_appRef",
82
+ "resolveComponentFactory",
73
83
  "attachView",
74
84
  "hostView",
75
- "setDisposeFn",
76
- "_this",
77
85
  "detachView",
78
86
  "destroy",
79
- "_hostDomElement",
80
- "appendChild",
87
+ "insertBefore",
81
88
  "_getComponentRootNode",
89
+ "firstChild",
90
+ "appendChild",
91
+ "rootNodes",
82
92
  "OverlayRef",
83
93
  "_portalHost",
84
94
  "OverlayContainer",
85
95
  "getContainerElement",
86
96
  "_containerElement",
87
97
  "_createContainer",
98
+ "container",
99
+ "document",
100
+ "createElement",
101
+ "classList",
102
+ "add",
103
+ "body",
88
104
  "Overlay",
89
105
  "_overlayContainer",
90
- "_componentFactoryResolver",
106
+ "_paneElements",
91
107
  "positionClass",
92
108
  "overlayContainer",
93
109
  "_createOverlayRef",
94
110
  "getPaneElement",
95
- "_paneElements",
96
111
  "_createPaneElement",
97
112
  "pane",
113
+ "id",
98
114
  "_createPortalHost",
99
- "decorators",
100
115
  "type",
101
116
  "Injectable",
117
+ "ComponentFactoryResolver",
102
118
  "ApplicationRef",
103
119
  "OVERLAY_PROVIDERS",
104
120
  "ToastContainerDirective",
@@ -107,6 +123,12 @@
107
123
  "Directive",
108
124
  "args",
109
125
  "selector",
126
+ "exportAs",
127
+ "ElementRef",
128
+ "ToastContainerModule",
129
+ "NgModule",
130
+ "declarations",
131
+ "exports",
110
132
  "ToastPackage",
111
133
  "toastId",
112
134
  "config",
@@ -116,32 +138,49 @@
116
138
  "toastRef",
117
139
  "_onTap",
118
140
  "Subject",
141
+ "_onAction",
142
+ "afterClosed",
143
+ "subscribe",
119
144
  "complete",
145
+ "triggerTap",
120
146
  "next",
121
147
  "onTap",
122
148
  "asObservable",
149
+ "triggerAction",
150
+ "action",
151
+ "onAction",
152
+ "ToastRef",
123
153
  "_overlayRef",
154
+ "_afterClosed",
124
155
  "_activate",
125
156
  "_manualClose",
126
- "ToastRef",
157
+ "manualClose",
127
158
  "manualClosed",
128
159
  "close",
129
- "afterClosed",
130
- "_afterClosed",
160
+ "isInactive",
161
+ "isStopped",
162
+ "activate",
131
163
  "afterActivate",
132
164
  "ToastInjector",
133
165
  "_toastPackage",
134
166
  "_parentInjector",
135
- "ToastrService",
136
167
  "token",
168
+ "notFoundValue",
169
+ "TOAST_CONFIG",
170
+ "InjectionToken",
171
+ "ToastrService",
137
172
  "overlay",
138
173
  "_injector",
139
174
  "sanitizer",
140
175
  "ngZone",
176
+ "currentlyActive",
177
+ "toasts",
178
+ "index",
179
+ "defaultConfig",
180
+ "defaults",
141
181
  "toastrConfig",
142
- "iconClasses",
143
182
  "assign",
144
- "defaultConfig",
183
+ "iconClasses",
145
184
  "show",
146
185
  "override",
147
186
  "_preBuildNotification",
@@ -150,33 +189,26 @@
150
189
  "error",
151
190
  "info",
152
191
  "warning",
192
+ "clear",
153
193
  "_a",
154
194
  "o",
155
195
  "m",
156
196
  "Symbol",
157
197
  "iterator",
158
198
  "i",
159
- "call",
160
199
  "length",
161
200
  "value",
162
201
  "done",
163
202
  "tslib_1.__values",
164
- "toasts",
165
203
  "_b",
166
204
  "toast",
167
- "manualClose",
168
- "e_1_1",
169
- "e_1",
170
- "_c",
171
- "return",
172
205
  "remove",
173
206
  "found",
174
207
  "_findToast",
175
208
  "activeToast",
176
- "currentlyActive",
209
+ "splice",
177
210
  "maxOpened",
178
211
  "isDuplicate",
179
- "index",
180
212
  "onActivateTick",
181
213
  "run",
182
214
  "_buildNotification",
@@ -186,35 +218,48 @@
186
218
  "previousToastMessage",
187
219
  "keepInactive",
188
220
  "autoDismiss",
189
- "clear",
190
221
  "overlayRef",
191
- "toastPackage",
192
222
  "sanitizedMessage",
223
+ "enableHtml",
224
+ "sanitize",
225
+ "SecurityContext",
226
+ "HTML",
227
+ "toastPackage",
193
228
  "toastInjector",
229
+ "componentInstance",
230
+ "_component",
194
231
  "ins",
195
- "activate",
232
+ "onShown",
233
+ "onHidden",
234
+ "setTimeout",
235
+ "push",
236
+ "decorators",
237
+ "Inject",
196
238
  "Injector",
197
239
  "DomSanitizer",
198
240
  "NgZone",
199
241
  "Toast",
200
242
  "toastrService",
201
243
  "width",
244
+ "toastClasses",
202
245
  "state",
203
246
  "params",
204
247
  "easeTime",
205
248
  "easing",
206
249
  "options",
250
+ "toastClass",
251
+ "sub",
252
+ "activateToast",
207
253
  "sub1",
208
- "subscribe",
209
254
  "ngOnDestroy",
210
- "sub",
211
255
  "unsubscribe",
212
256
  "clearInterval",
213
257
  "intervalId",
214
258
  "clearTimeout",
215
259
  "timeout",
216
- "outsideTimeout",
260
+ "disableTimeOut",
217
261
  "timeOut",
262
+ "outsideTimeout",
218
263
  "hideTime",
219
264
  "Date",
220
265
  "getTime",
@@ -225,44 +270,47 @@
225
270
  "remaining",
226
271
  "progressAnimation",
227
272
  "tapToast",
228
- "triggerTap",
229
273
  "tapToDismiss",
230
274
  "stickAround",
231
275
  "delayedHideToast",
232
- "disableTimeOut",
233
276
  "extendedTimeOut",
277
+ "func",
234
278
  "runOutsideAngular",
235
- "setTimeout",
236
279
  "runInsideAngular",
237
- "func",
238
280
  "setInterval",
239
281
  "Component",
240
282
  "template",
283
+ "animations",
284
+ "trigger",
241
285
  "style",
242
286
  "display",
243
287
  "opacity",
244
- "ctorParameters",
245
- "propDecorators",
246
- "toastClasses",
288
+ "transition",
289
+ "animate",
290
+ "preserveWhitespaces",
247
291
  "HostBinding",
248
292
  "HostListener",
249
293
  "DefaultGlobalConfig",
294
+ "closeButton",
250
295
  "titleClass",
251
296
  "messageClass",
252
297
  "ToastrModule",
253
298
  "parentModule",
299
+ "forRoot",
254
300
  "ngModule",
301
+ "providers",
302
+ "provide",
303
+ "useValue",
255
304
  "imports",
256
305
  "CommonModule",
257
- "exports",
258
- "declarations",
259
306
  "entryComponents",
307
+ "Optional",
308
+ "SkipSelf",
260
309
  "ToastNoAnimation",
261
310
  "appRef",
262
- "toastClass",
263
- "activateToast",
264
311
  "tick",
312
+ "displayStyle",
265
313
  "ToastNoAnimationModule"
266
314
  ],
267
- "mappings": "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"
315
+ "mappings": "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"
268
316
  }
@@ -10,10 +10,12 @@ import { CommonModule } from '@angular/common';
10
10
  */
11
11
  /**
12
12
  * @record
13
+ * @template T
13
14
  */
14
15
 
15
16
  /**
16
17
  * A `ComponentPortal` is a portal that instantiates some Component upon attachment.
18
+ * @template T
17
19
  */
18
20
  class ComponentPortal {
19
21
  /**
@@ -461,6 +463,7 @@ class ToastPackage {
461
463
  */
462
464
  /**
463
465
  * Reference to a toast opened via the Toastr service.
466
+ * @template T
464
467
  */
465
468
  class ToastRef {
466
469
  /**
@@ -574,6 +577,7 @@ const TOAST_CONFIG = new InjectionToken('ToastConfig');
574
577
  */
575
578
  /**
576
579
  * @record
580
+ * @template C
577
581
  */
578
582
 
579
583
  class ToastrService {
@@ -686,7 +690,7 @@ class ToastrService {
686
690
  if (!this.toastrConfig.maxOpened || !this.toasts.length) {
687
691
  return false;
688
692
  }
689
- if (this.currentlyActive <= +this.toastrConfig.maxOpened && this.toasts[this.currentlyActive]) {
693
+ if (this.currentlyActive < this.toastrConfig.maxOpened && this.toasts[this.currentlyActive]) {
690
694
  const /** @type {?} */ p = this.toasts[this.currentlyActive].toastRef;
691
695
  if (!p.isInactive()) {
692
696
  this.currentlyActive = this.currentlyActive + 1;
@@ -778,6 +782,8 @@ class ToastrService {
778
782
  const /** @type {?} */ toastPackage = new ToastPackage(this.index, config, sanitizedMessage, title, toastType, toastRef);
779
783
  const /** @type {?} */ toastInjector = new ToastInjector(toastPackage, this._injector);
780
784
  const /** @type {?} */ component = new ComponentPortal(config.toastComponent, toastInjector);
785
+ const /** @type {?} */ portal = overlayRef.attach(component, this.toastrConfig.newestOnTop);
786
+ toastRef.componentInstance = (/** @type {?} */ (portal))._component;
781
787
  const /** @type {?} */ ins = {
782
788
  toastId: this.index,
783
789
  message: message || '',
@@ -786,7 +792,7 @@ class ToastrService {
786
792
  onHidden: toastRef.afterClosed(),
787
793
  onTap: toastPackage.onTap(),
788
794
  onAction: toastPackage.onAction(),
789
- portal: overlayRef.attach(component, this.toastrConfig.newestOnTop),
795
+ portal,
790
796
  };
791
797
  if (!keepInactive) {
792
798
  setTimeout(() => {
@@ -1156,6 +1162,15 @@ class ToastNoAnimation {
1156
1162
  this.remove();
1157
1163
  });
1158
1164
  }
1165
+ /**
1166
+ * @return {?}
1167
+ */
1168
+ get displayStyle() {
1169
+ if (this.state === 'inactive') {
1170
+ return 'none';
1171
+ }
1172
+ return 'inherit';
1173
+ }
1159
1174
  /**
1160
1175
  * @return {?}
1161
1176
  */
@@ -1292,6 +1307,7 @@ ToastNoAnimation.ctorParameters = () => [
1292
1307
  ];
1293
1308
  ToastNoAnimation.propDecorators = {
1294
1309
  "toastClasses": [{ type: HostBinding, args: ['class',] },],
1310
+ "displayStyle": [{ type: HostBinding, args: ['style.display',] },],
1295
1311
  "tapToast": [{ type: HostListener, args: ['click',] },],
1296
1312
  "stickAround": [{ type: HostListener, args: ['mouseenter',] },],
1297
1313
  "delayedHideToast": [{ type: HostListener, args: ['mouseleave',] },],