{"version":3,"file":"skyux-toast.mjs","sources":["../../../../../libs/components/toast/src/lib/modules/toast/toast-instance.ts","../../../../../libs/components/toast/src/lib/modules/shared/sky-toast-resources.module.ts","../../../../../libs/components/toast/src/lib/modules/toast/toaster.service.ts","../../../../../libs/components/toast/src/lib/modules/toast/types/toast-type.ts","../../../../../libs/components/toast/src/lib/modules/toast/toast.component.ts","../../../../../libs/components/toast/src/lib/modules/toast/toast.component.html","../../../../../libs/components/toast/src/lib/modules/toast/toast.module.ts","../../../../../libs/components/toast/src/lib/modules/toast/toast.ts","../../../../../libs/components/toast/src/lib/modules/toast/toast-body-context.ts","../../../../../libs/components/toast/src/lib/modules/toast/toast-body.component.ts","../../../../../libs/components/toast/src/lib/modules/toast/toast-body.component.html","../../../../../libs/components/toast/src/lib/modules/toast/toast-adapter.service.ts","../../../../../libs/components/toast/src/lib/modules/toast/types/toast-container-options.ts","../../../../../libs/components/toast/src/lib/modules/toast/types/toast-display-direction.ts","../../../../../libs/components/toast/src/lib/modules/toast/toaster.component.ts","../../../../../libs/components/toast/src/lib/modules/toast/toaster.component.html","../../../../../libs/components/toast/src/lib/modules/toast/toast.service.ts","../../../../../libs/components/toast/src/skyux-toast.ts"],"sourcesContent":["// #region imports\nimport { Observable, Subject } from 'rxjs';\n\n// #endregion\n\nexport class SkyToastInstance {\n  /**\n   * An observable that indicates when the toast is closed.\n   */\n  public get closed(): Observable<void> {\n    return this.#closedObs;\n  }\n\n  #closed: Subject<void>;\n  #closedObs: Observable<void>;\n\n  constructor() {\n    this.#closed = new Subject<void>();\n    this.#closedObs = this.#closed.asObservable();\n  }\n\n  /**\n   * Closes the toast component.\n   */\n  public close(): void {\n    this.#closed.next();\n    this.#closed.complete();\n  }\n}\n","/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-toast' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n  SkyI18nModule,\n  SkyLibResources,\n  SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n  'EN-US': {\n    skyux_toast_close_button_aria_label: { message: 'Close message:' },\n    skyux_toast_close_button_title: { message: 'Close the message' },\n  },\n  'FR-CA': {\n    skyux_toast_close_button_aria_label: { message: 'Message de fermeture :' },\n    skyux_toast_close_button_title: { message: 'Fermer le message' },\n  },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n  exports: [SkyI18nModule],\n})\nexport class SkyToastResourcesModule {}\n","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyToasterService {\n  public focusIn = new BehaviorSubject<boolean>(false);\n\n  public mouseOver = new BehaviorSubject<boolean>(false);\n}\n","export enum SkyToastType {\n  /**\n   * Sets the toast's icon and background color to the `danger` style.\n   */\n  Danger,\n  /**\n   * Sets the toast's icon and background color to the `info` style.\n   */\n  Info,\n  /**\n   * Sets the toast's icon and background color to the `success` style.\n   */\n  Success,\n  /**\n   * Sets the toast's icon and background color to the `warning` style.\n   */\n  Warning,\n}\n","import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EnvironmentInjector,\n  EventEmitter,\n  Input,\n  NgZone,\n  OnDestroy,\n  OnInit,\n  Output,\n  ViewEncapsulation,\n  inject,\n  input,\n} from '@angular/core';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { Subject, combineLatest } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyToastResourcesModule } from '../shared/sky-toast-resources.module';\n\nimport { SkyToasterService } from './toaster.service';\nimport { SkyToastType } from './types/toast-type';\n\nconst AUTO_CLOSE_MILLISECONDS = 6000;\nconst SKY_TOAST_TYPE_DEFAULT = SkyToastType.Info;\n\n/**\n * @internal\n */\n@Component({\n  selector: 'sky-toast',\n  templateUrl: './toast.component.html',\n  styleUrls: ['./toast.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  imports: [\n    CommonModule,\n    SkyIconModule,\n    SkyIdModule,\n    SkyThemeModule,\n    SkyToastResourcesModule,\n  ],\n})\nexport class SkyToastComponent implements OnInit, OnDestroy {\n  /**\n   * Whether to automatically close the toast. Only close toasts\n   * automatically if users can access the messages after the toasts close.\n   */\n  @Input()\n  public autoClose: boolean | undefined;\n\n  /**\n   * The environment injector created for this toast's body component.\n   * Destroyed in `ngOnDestroy` so that cleanup is deferred until after\n   * the leave animation completes.\n   */\n  public readonly environmentInjector = input<EnvironmentInjector>();\n\n  /**\n   * The `SkyToastType` type for the toast to determine the color and icon to display.\n   */\n  @Input()\n  public set toastType(value: SkyToastType | undefined) {\n    this.toastTypeOrDefault = value ?? SKY_TOAST_TYPE_DEFAULT;\n    this.#updateForToastType();\n  }\n\n  /**\n   * Fires when the toast closes.\n   */\n  @Output()\n  public closed = new EventEmitter<void>();\n\n  public get isOpen(): boolean {\n    return this.#isOpen;\n  }\n\n  public ariaLive = 'polite';\n  public ariaRole: string | undefined;\n  public classNames = '';\n  public iconName = 'info';\n  public toastTypeOrDefault: SkyToastType = SKY_TOAST_TYPE_DEFAULT;\n\n  #autoCloseTimeoutId: unknown;\n  #isOpen = false;\n  #ngUnsubscribe = new Subject<void>();\n\n  readonly #changeDetector = inject(ChangeDetectorRef);\n  readonly #toasterService = inject(SkyToasterService, { optional: true });\n  readonly #ngZone = inject(NgZone);\n\n  public ngOnInit(): void {\n    this.#isOpen = true;\n\n    this.startAutoCloseTimer();\n\n    if (this.#toasterService) {\n      combineLatest([\n        this.#toasterService.focusIn,\n        this.#toasterService.mouseOver,\n      ])\n        .pipe(takeUntil(this.#ngUnsubscribe))\n        .subscribe(([hasFocus, hasMouseOver]) => {\n          if (hasFocus || hasMouseOver) {\n            this.stopAutoCloseTimer();\n          } else {\n            this.startAutoCloseTimer();\n          }\n        });\n    }\n\n    this.#updateForToastType();\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n\n    this.stopAutoCloseTimer();\n    this.environmentInjector()?.destroy();\n  }\n\n  public close(): void {\n    if (!this.#isOpen) {\n      return;\n    }\n\n    this.stopAutoCloseTimer();\n\n    this.#isOpen = false;\n    this.closed.emit();\n    this.closed.complete();\n    this.#changeDetector.markForCheck();\n  }\n\n  public startAutoCloseTimer(): void {\n    if (\n      this.autoClose &&\n      (!this.#toasterService ||\n        (!this.#toasterService.focusIn.getValue() &&\n          !this.#toasterService.mouseOver.getValue()))\n    ) {\n      this.stopAutoCloseTimer();\n\n      this.#ngZone.runOutsideAngular(() => {\n        this.#autoCloseTimeoutId = setTimeout(() => {\n          this.close();\n        }, AUTO_CLOSE_MILLISECONDS);\n      });\n    }\n  }\n\n  public stopAutoCloseTimer(): void {\n    if (this.#autoCloseTimeoutId) {\n      clearTimeout(this.#autoCloseTimeoutId as number);\n    }\n  }\n\n  #updateForToastType(): void {\n    let icon: string;\n\n    switch (this.toastTypeOrDefault) {\n      case SkyToastType.Danger:\n      case SkyToastType.Warning:\n        icon = 'warning';\n        break;\n      case SkyToastType.Info:\n        icon = 'info';\n        break;\n      case SkyToastType.Success:\n        icon = 'success';\n        break;\n    }\n\n    this.iconName = icon;\n\n    let typeLabel: string;\n    switch (this.toastTypeOrDefault) {\n      case SkyToastType.Danger:\n        typeLabel = 'danger';\n        break;\n\n      case SkyToastType.Info:\n      default:\n        typeLabel = 'info';\n        break;\n\n      case SkyToastType.Success:\n        typeLabel = 'success';\n        break;\n\n      case SkyToastType.Warning:\n        typeLabel = 'warning';\n        break;\n    }\n\n    this.classNames = `sky-toast-${typeLabel}`;\n  }\n}\n","<div\n  class=\"sky-toast sky-shadow sky-rounded-corners sky-box sky-elevation-16\"\n  [ngClass]=\"classNames\"\n>\n  <div *skyThemeIf=\"'modern'\" aria-hidden=\"true\" class=\"sky-toast-icon\">\n    <sky-icon iconSize=\"xl\" variant=\"solid\" [iconName]=\"iconName\" />\n  </div>\n  <div *skyThemeIf=\"'default'\" aria-hidden=\"true\" class=\"sky-toast-icon\">\n    <sky-icon variant=\"solid\" [iconName]=\"iconName\" />\n  </div>\n  <div\n    #toastContent\n    class=\"sky-toast-content\"\n    skyId=\"toastContent\"\n    role=\"alert\"\n  >\n    <ng-content />\n  </div>\n  <button\n    class=\"sky-toast-btn-close\"\n    type=\"button\"\n    [attr.title]=\"'skyux_toast_close_button_title' | skyLibResources\"\n    [attr.aria-labelledby]=\"toastCloseMessage.id + ' ' + toastContent.id\"\n    (click)=\"close()\"\n  >\n    <sky-icon iconName=\"close\" />\n  </button>\n</div>\n<span\n  #toastCloseMessage\n  class=\"sky-screen-reader-only\"\n  skyId=\"toastCloseMessage\"\n  >{{ 'skyux_toast_close_button_aria_label' | skyLibResources }}</span\n>\n","import { NgModule } from '@angular/core';\n\nimport { SkyToastComponent } from './toast.component';\n\n@NgModule({\n  imports: [SkyToastComponent],\n  exports: [SkyToastComponent],\n})\nexport class SkyToastModule {}\n","// #region imports\nimport { Provider, Type } from '@angular/core';\n\nimport { SkyToastInstance } from './toast-instance';\nimport { SkyToastConfig } from './types/toast-config';\n\n// #endregion\n\nlet toastCount = 0;\n\n/**\n * @internal\n */\nexport class SkyToast {\n  public get bodyComponent(): Type<unknown> {\n    return this.#bodyComponent;\n  }\n\n  public get bodyComponentProviders(): Provider[] {\n    return this.#bodyComponentProviders;\n  }\n\n  public get config(): SkyToastConfig | undefined {\n    return this.#config;\n  }\n\n  public get instance(): SkyToastInstance {\n    return this.#instance;\n  }\n\n  public isRendered = false;\n\n  public toastId: number;\n\n  #bodyComponent: Type<unknown>;\n  #bodyComponentProviders: Provider[];\n  #config: SkyToastConfig | undefined;\n\n  #instance: SkyToastInstance;\n\n  constructor(\n    bodyComponent: Type<unknown>,\n    bodyComponentProviders: Provider[],\n    instance: SkyToastInstance,\n    config?: SkyToastConfig,\n  ) {\n    this.#bodyComponent = bodyComponent;\n    this.#bodyComponentProviders = bodyComponentProviders;\n    this.#instance = instance;\n    this.#config = config;\n\n    this.toastId = ++toastCount;\n  }\n}\n","import { Injectable } from '@angular/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyToastBodyContext {\n  public message: string | undefined;\n}\n","import { Component, inject } from '@angular/core';\n\nimport { SkyToastBodyContext } from './toast-body-context';\n\n/**\n * @internal\n */\n@Component({\n  selector: 'sky-toast-body',\n  templateUrl: './toast-body.component.html',\n})\nexport class SkyToastBodyComponent {\n  protected readonly context = inject(SkyToastBodyContext);\n}\n","<div class=\"sky-toast-body\">\n  {{ context.message }}\n</div>\n","import { ElementRef, Injectable } from '@angular/core';\nimport { SkyAppWindowRef } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyToastAdapterService {\n  #windowRef: SkyAppWindowRef;\n  constructor(windowRef: SkyAppWindowRef) {\n    this.#windowRef = windowRef;\n  }\n\n  public scrollBottom(elementRef: ElementRef): void {\n    const element = elementRef.nativeElement;\n    this.#windowRef.nativeWindow.setTimeout(() => {\n      element.scrollTop = element.scrollHeight;\n    });\n  }\n}\n","import { SkyToastDisplayDirection } from './toast-display-direction';\n\n/**\n * Global configuration options for displaying toast components.\n */\nexport class SkyToastContainerOptions {\n  /**\n   * Order in which toasts should appear in the page's toast container.\n   */\n  public displayDirection: SkyToastDisplayDirection | undefined;\n}\n","export enum SkyToastDisplayDirection {\n  /**\n   * Displays new toasts below previous toasts.\n   */\n  OldestOnTop,\n  /**\n   * Displays new toasts on top of previous toasts.\n   */\n  NewestOnTop,\n}\n","import { AsyncPipe, NgComponentOutlet } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EnvironmentInjector,\n  OnDestroy,\n  OnInit,\n  QueryList,\n  ViewChild,\n  ViewChildren,\n  ViewEncapsulation,\n  createEnvironmentInjector,\n  inject,\n} from '@angular/core';\nimport { SKY_STACKING_CONTEXT } from '@skyux/core';\n\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyToastResourcesModule } from '../shared/sky-toast-resources.module';\n\nimport { SkyToast } from './toast';\nimport { SkyToastAdapterService } from './toast-adapter.service';\nimport { SkyToastComponent } from './toast.component';\nimport { SkyToastService } from './toast.service';\nimport { SkyToasterService } from './toaster.service';\nimport { SkyToastContainerOptions } from './types/toast-container-options';\nimport { SkyToastDisplayDirection } from './types/toast-display-direction';\n\n/**\n * @internal\n */\n@Component({\n  selector: 'sky-toaster',\n  templateUrl: './toaster.component.html',\n  styleUrls: ['./toaster.component.scss'],\n  providers: [SkyToastAdapterService, SkyToasterService],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  imports: [\n    AsyncPipe,\n    NgComponentOutlet,\n    SkyToastComponent,\n    SkyToastResourcesModule,\n  ],\n})\nexport class SkyToasterComponent implements OnInit, OnDestroy {\n  public toastsForDisplay: SkyToast[] | undefined;\n\n  @ViewChild('toaster')\n  public toaster: ElementRef | undefined;\n\n  @ViewChildren(SkyToastComponent)\n  public toastComponents: QueryList<SkyToastComponent> | undefined;\n\n  protected toastInjectors = new Map<number, EnvironmentInjector>();\n  protected zIndex$ = new BehaviorSubject(1051);\n\n  #ngUnsubscribe = new Subject<void>();\n\n  readonly #changeDetector = inject(ChangeDetectorRef);\n  readonly #containerOptions = inject(SkyToastContainerOptions, {\n    optional: true,\n  });\n  readonly #domAdapter = inject(SkyToastAdapterService);\n  readonly #environmentInjector = inject(EnvironmentInjector);\n  readonly #toastService = inject(SkyToastService);\n  readonly #toasterService = inject(SkyToasterService);\n\n  public ngOnInit(): void {\n    this.#toastService.toastStream\n      .pipe(takeUntil(this.#ngUnsubscribe))\n      .subscribe((toasts: SkyToast[]) => {\n        this.#updateInjectors(toasts);\n        this.toastsForDisplay = this.#sortToastsForDisplay(toasts);\n\n        // Scroll to the bottom of the toaster element when a new toast is added.\n        if (\n          this.toaster &&\n          (!this.#containerOptions ||\n            this.#containerOptions.displayDirection ===\n              SkyToastDisplayDirection.OldestOnTop)\n        ) {\n          this.#domAdapter.scrollBottom(this.toaster);\n        }\n\n        this.#changeDetector.markForCheck();\n      });\n  }\n\n  public onToastClosed(toast: SkyToast): void {\n    // Defer close to prevent the host from being destroyed during\n    // its own change detection cycle.\n    queueMicrotask(() => toast.instance.close());\n  }\n\n  public closeAll(): void {\n    // Sanity check\n    /* istanbul ignore else */\n    if (this.toastComponents) {\n      for (const toastComponent of this.toastComponents) {\n        toastComponent.close();\n      }\n    }\n  }\n\n  public onMouseEnter(): void {\n    this.#toasterService.mouseOver.next(true);\n  }\n\n  public onMouseLeave(): void {\n    this.#toasterService.mouseOver.next(false);\n  }\n\n  public onFocusIn(): void {\n    this.#toasterService.focusIn.next(true);\n  }\n\n  public onFocusOut(): void {\n    this.#toasterService.focusIn.next(false);\n  }\n\n  public ngOnDestroy(): void {\n    this.#ngUnsubscribe.next();\n    this.#ngUnsubscribe.complete();\n\n    this.toastInjectors.clear();\n  }\n\n  #updateInjectors(toasts: SkyToast[]): void {\n    const activeIds = new Set(toasts.map((t) => t.toastId));\n\n    // Remove entries for removed toasts.\n    // The injector itself is destroyed by SkyToastComponent.ngOnDestroy\n    // after the leave animation completes.\n    for (const id of this.toastInjectors.keys()) {\n      if (!activeIds.has(id)) {\n        this.toastInjectors.delete(id);\n      }\n    }\n\n    // Create injectors for new toasts.\n    for (const toast of toasts) {\n      if (!this.toastInjectors.has(toast.toastId)) {\n        this.toastInjectors.set(\n          toast.toastId,\n          createEnvironmentInjector(\n            [\n              ...toast.bodyComponentProviders,\n              {\n                provide: SKY_STACKING_CONTEXT,\n                useValue: {\n                  zIndex: this.zIndex$\n                    .asObservable()\n                    .pipe(takeUntil(this.#ngUnsubscribe)),\n                },\n              },\n            ],\n            this.#environmentInjector,\n          ),\n        );\n      }\n    }\n  }\n\n  #sortToastsForDisplay(toasts: SkyToast[]): SkyToast[] {\n    const sortedToasts = toasts.slice();\n\n    if (\n      sortedToasts &&\n      this.#containerOptions &&\n      this.#containerOptions.displayDirection ===\n        SkyToastDisplayDirection.NewestOnTop\n    ) {\n      sortedToasts.reverse();\n    }\n\n    return sortedToasts;\n  }\n}\n","<div\n  #toaster\n  class=\"sky-toaster\"\n  [style.z-index]=\"zIndex$ | async\"\n  (focusin)=\"onFocusIn()\"\n  (focusout)=\"onFocusOut()\"\n  (mouseenter)=\"onMouseEnter()\"\n  (mouseleave)=\"onMouseLeave()\"\n>\n  @for (toast of toastsForDisplay; track toast.toastId) {\n    <sky-toast\n      animate.enter=\"sky-animation-emerge-enter\"\n      animate.leave=\"sky-animation-emerge-leave\"\n      [autoClose]=\"toast.config?.autoClose\"\n      [environmentInjector]=\"toastInjectors.get(toast.toastId)\"\n      [toastType]=\"toast.config?.type\"\n      (closed)=\"onToastClosed(toast)\"\n    >\n      <ng-container\n        [ngComponentOutlet]=\"toast.bodyComponent\"\n        [ngComponentOutletEnvironmentInjector]=\"\n          toastInjectors.get(toast.toastId)\n        \"\n      />\n    </sky-toast>\n  }\n</div>\n","import {\n  ComponentRef,\n  EnvironmentInjector,\n  Injectable,\n  OnDestroy,\n  Provider,\n  Type,\n  inject,\n} from '@angular/core';\nimport {\n  SkyDynamicComponentLegacyService,\n  SkyDynamicComponentService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { SkyToast } from './toast';\nimport { SkyToastBodyContext } from './toast-body-context';\nimport { SkyToastBodyComponent } from './toast-body.component';\nimport { SkyToastInstance } from './toast-instance';\nimport { SkyToasterComponent } from './toaster.component';\nimport { SkyToastConfig } from './types/toast-config';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SkyToastService implements OnDestroy {\n  private static host: ComponentRef<SkyToasterComponent> | undefined;\n  private static toasts: SkyToast[] = [];\n  private static toastStream: BehaviorSubject<SkyToast[]>;\n\n  /**\n   * @internal\n   */\n  public get toastStream(): Observable<SkyToast[]> {\n    return SkyToastService.toastStream;\n  }\n\n  #dynamicComponentService: SkyDynamicComponentService;\n  #environmentInjector = inject(EnvironmentInjector);\n\n  constructor(dynamicComponentService: SkyDynamicComponentService) {\n    this.#dynamicComponentService = dynamicComponentService;\n    SkyToastService.toastStream = new BehaviorSubject<SkyToast[]>([]);\n  }\n\n  public ngOnDestroy(): void {\n    if (SkyToastService.host) {\n      this.closeAll();\n      this.#removeHostComponent();\n    }\n\n    SkyToastService.toasts = [];\n    SkyToastService.toastStream.complete();\n  }\n\n  /**\n   * Opens a new toast and displays the specified message.\n   * @param message Specifies the text to display in the toast.\n   * @param config Specifies additional configuration options for the toast.\n   */\n  public openMessage(\n    message: string,\n    config?: SkyToastConfig,\n  ): SkyToastInstance {\n    const context = new SkyToastBodyContext();\n    context.message = message;\n\n    const providers = [\n      {\n        provide: SkyToastBodyContext,\n        useValue: context,\n      },\n    ];\n\n    return this.openComponent(SkyToastBodyComponent, config, providers);\n  }\n\n  /**\n   * Opens a new toast using a custom component.\n   * @param component Specifies an Angular component to inject into the toast body,\n   * @param config Specifies additional configuration options for the toast.\n   * @param providers Specifies an array of custom providers to pass to the custom component's\n   * constructor.\n   */\n  public openComponent(\n    component: Type<unknown>,\n    config?: SkyToastConfig,\n    providers: Provider[] = [],\n  ): SkyToastInstance {\n    const instance = new SkyToastInstance();\n\n    providers.push({\n      provide: SkyToastInstance,\n      useValue: instance,\n    });\n\n    const toast = new SkyToast(component, providers, instance, config);\n    this.#addToast(toast, instance);\n\n    return instance;\n  }\n\n  /**\n   * Closes all active toast components.\n   */\n  public closeAll(): void {\n    if (!SkyToastService.host) {\n      return;\n    }\n\n    SkyToastService.host.instance.closeAll();\n  }\n\n  #addToast(toast: SkyToast, instance: SkyToastInstance): void {\n    if (!SkyToastService.host) {\n      SkyToastService.host = this.#createHostComponent();\n    }\n\n    SkyToastService.toasts.push(toast);\n    SkyToastService.toastStream.next(SkyToastService.toasts);\n    instance.closed.subscribe(() => {\n      this.#removeToast(toast);\n    });\n  }\n\n  #removeToast(toast: SkyToast): void {\n    SkyToastService.toasts = SkyToastService.toasts.filter((t) => t !== toast);\n    SkyToastService.toastStream.next(SkyToastService.toasts);\n\n    if (SkyToastService.toasts.length === 0) {\n      this.#removeHostComponent();\n    }\n  }\n\n  #createHostComponent(): ComponentRef<SkyToasterComponent> {\n    const componentRef = this.#dynamicComponentService.createComponent(\n      SkyToasterComponent,\n      {\n        environmentInjector: this.#environmentInjector,\n      },\n    );\n\n    return componentRef;\n  }\n\n  #removeHostComponent(): void {\n    if (SkyToastService.host) {\n      this.#dynamicComponentService.removeComponent(SkyToastService.host);\n      SkyToastService.host = undefined;\n    }\n  }\n}\n\n/**\n * @internal\n * @deprecated Use `SkyToastService` to open a standalone component instead.\n */\n@Injectable({\n  // Toast service has always been provided in root, but we need\n  // to inject SkyDynamicComponentLegacyService for backward compatibility.\n  providedIn: 'root',\n})\nexport class SkyToastLegacyService extends SkyToastService {\n  /* istanbul ignore next */\n  constructor(dynamicComponentSvc: SkyDynamicComponentLegacyService) {\n    super(dynamicComponentSvc);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1"],"mappings":"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"}