{"version":3,"file":"uib-angular-components-snackbar.mjs","sources":["../../../../libs/angular-components/components/snackbar/src/lib/components/snackbar-item/snackbar-item.component.ts","../../../../libs/angular-components/components/snackbar/src/lib/components/snackbar-item/snackbar-item.component.html","../../../../libs/angular-components/components/snackbar/src/lib/services/snackbar-queue.service.ts","../../../../libs/angular-components/components/snackbar/src/lib/settings/default-snackbar-options.ts","../../../../libs/angular-components/components/snackbar/src/lib/snackbar.service.ts","../../../../libs/angular-components/components/snackbar/src/lib/directives/snackbar-item-count.directive.ts","../../../../libs/angular-components/components/snackbar/src/lib/snackbar.component.ts","../../../../libs/angular-components/components/snackbar/src/lib/snackbar.component.html","../../../../libs/angular-components/components/snackbar/src/lib/snackbar.config.ts","../../../../libs/angular-components/components/snackbar/src/lib/snackbar.module.ts","../../../../libs/angular-components/components/snackbar/src/uib-angular-components-snackbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { DestroyService } from '@uib/angular/common';\nimport { timer } from 'rxjs';\nimport { takeUntil, tap } from 'rxjs/operators';\nimport { SnackbarItem, SnackbarItemRef } from '../../models';\n\n@Component({\n  selector: 'uib-snackbar-item',\n  templateUrl: 'snackbar-item.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [DestroyService],\n  host: {\n    '[class.uib-snackbar]': 'true',\n  },\n})\nexport class SnackbarItemComponent implements OnInit {\n  @Input()\n  public ref: SnackbarItemRef;\n\n  @Output()\n  public dismiss = new EventEmitter<SnackbarItemRef>();\n\n  public get item(): SnackbarItem {\n    return this.ref.item;\n  }\n\n  public get hasDismissButton(): boolean {\n    return this.ref.options.duration <= 0;\n  }\n\n  constructor(private readonly ngOnDestroy$: DestroyService) {}\n\n  public ngOnInit(): void {\n    const { duration } = this.ref.options;\n    if (duration > 0) {\n      timer(duration)\n        .pipe(\n          takeUntil(this.ngOnDestroy$),\n          tap(() => this.onDismiss()),\n        )\n        .subscribe();\n    }\n  }\n\n  public onDismiss(): void {\n    this.dismiss.next(this.ref);\n  }\n}\n","<uib-icon [name]=\"icon\" *ngIf=\"item.icon as icon\"> </uib-icon>\n<div class=\"uib-snackbar__text\">\n  <p class=\"uib-snackbar__title\">\n    <ng-template [uibDynamicView]=\"item.title\">\n    </ng-template>\n  </p>\n  <p class=\"uib-snackbar__description\" *ngIf=\"item.description\">\n    <ng-template [uibDynamicView]=\"item.description\">\n    </ng-template>\n  </p>\n</div>\n<div class=\"uib-snackbar__buttons\" *ngIf=\"hasDismissButton\">\n  <button class=\"uib-snackbar__button\" (click)=\"onDismiss()\">\n    {{ ref.options.dismissButtonText }}\n  </button>\n</div>\n","import { Injectable } from '@angular/core';\nimport { Queue } from '@uib/angular/utils';\nimport { Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\nimport { SnackbarItem, SnackbarItemRef, SnackbarOptions } from '../models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SnackbarQueueService {\n  private readonly queue$$ = new Queue<SnackbarItemRef>();\n  private readonly onRemove$$ = new Subject<SnackbarItemRef>();\n\n  public readonly current$ = this.queue$$.current$;\n  public readonly queue$ = this.queue$$.value$;\n\n  public readonly onRemove$ = this.onRemove$$.pipe(share());\n\n  public add(item: SnackbarItem, options: SnackbarOptions): SnackbarItemRef {\n    return this.queue$$.add(\n      {\n        id: item.id,\n        item,\n        options,\n      },\n      false,\n    );\n  }\n\n  public remove(itemRef: SnackbarItemRef): void {\n    this.queue$$.remove(itemRef);\n    this.onRemove$$.next(itemRef);\n  }\n}\n","/* istanbul ignore file */\nimport { InjectionToken, ValueProvider } from '@angular/core';\nimport { SnackbarOptions } from '../models';\n\nconst defaultSnackbarOptions: SnackbarOptions = {\n  dismissButtonText: 'dismiss',\n  defaultIcon: 'uib-icon--information',\n  duration: 0,\n};\n\nexport const SNACKBAR_OPTIONS = new InjectionToken<SnackbarOptions>('@uib/angular/compoonents/snackbar::SnackbarOptions', {\n  providedIn: 'root',\n  factory: () => defaultSnackbarOptions,\n});\n\nexport function provideSnackbarOptions(options?: Partial<SnackbarOptions>): ValueProvider {\n  return {\n    provide: SNACKBAR_OPTIONS,\n    useValue: {\n      ...defaultSnackbarOptions,\n      ...options,\n    },\n    multi: false,\n  };\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { arrayMap } from '@uib/angular/utils';\nimport { Observable } from 'rxjs';\nimport { pluck } from 'rxjs/operators';\nimport { SnackbarItem, SnackbarOptions, SnackbarOutput } from './models';\nimport { SnackbarQueueService } from './services/snackbar-queue.service';\nimport { SNACKBAR_OPTIONS } from './settings/default-snackbar-options';\n\ntype SnackbarInput = Partial<SnackbarItem> & Pick<SnackbarItem, 'title'>;\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class SnackbarService {\n  public onItemDismiss$ = this.snackbarQueue.onRemove$.pipe(pluck('item'));\n\n  constructor(\n    private readonly snackbarQueue: SnackbarQueueService,\n    @Inject(SNACKBAR_OPTIONS) private readonly defaultOptions: SnackbarOptions,\n  ) {}\n\n  public create(item: SnackbarInput, options?: Partial<SnackbarOptions>): SnackbarOutput {\n    options = {\n      ...this.defaultOptions,\n      ...options,\n    };\n    item = {\n      ...item,\n      icon: item.icon || options.defaultIcon,\n    };\n    const addedItem = this.snackbarQueue.add(item, options as SnackbarOptions);\n\n    return {\n      item: addedItem,\n      dismiss: () => this.snackbarQueue.remove(addedItem),\n    };\n  }\n\n  public getQueue$(): Observable<SnackbarItem[]> {\n    return this.snackbarQueue.queue$.pipe(arrayMap((ref) => ref.item));\n  }\n}\n","import { AfterViewInit, Attribute, Directive, ElementRef } from '@angular/core';\nimport { DestroyService } from '@uib/angular/common';\nimport { coerceNumberProperty } from '@uib/angular/core';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { SnackbarService } from '../snackbar.service';\n\n@Directive({\n  selector: '[uibSnackbarItemCount]',\n  exportAs: 'snackbarItemCount',\n  providers: [DestroyService],\n})\nexport class SnackbarItemCountDirective implements AfterViewInit {\n  public count = 0;\n\n  constructor(\n    @Attribute('max') private readonly max: string,\n    private readonly ngOnDestroy$: DestroyService,\n    private readonly element: ElementRef<HTMLElement>,\n    private readonly snackbarService: SnackbarService,\n  ) {}\n\n  public ngAfterViewInit(): void {\n    this.snackbarService\n      .getQueue$()\n      .pipe(\n        takeUntil(this.ngOnDestroy$),\n        map((queue) => queue.length),\n        tap((count) => this.updateCount(count)),\n      )\n      .subscribe();\n  }\n\n  private updateCount(count: number) {\n    const max = coerceNumberProperty(this.max);\n    if (max > 0 && count > max) {\n      this.element.nativeElement.textContent = `${max}+`;\n    } else {\n      this.element.nativeElement.textContent = count.toString();\n    }\n    this.count = count;\n  }\n}\n","import { animate, group, style, transition, trigger, useAnimation } from '@angular/animations';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  OnDestroy,\n  Output,\n  Renderer2,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { fadeIn, fadeOut, slideInRight, slideOutRight } from '@uib/angular/animations';\nimport { DocumentRef } from '@uib/angular/common';\nimport { coerceNumberProperty, NumberInput, Transform } from '@uib/angular/core';\nimport { px } from '@uib/angular/utils';\nimport { map, pluck } from 'rxjs/operators';\nimport { SnackbarItemRef } from './models';\nimport { SnackbarQueueService } from './services/snackbar-queue.service';\n\n@Component({\n  selector: 'uib-snackbar',\n  templateUrl: 'snackbar.component.html',\n  styleUrls: ['snackbar.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class.ng-main__snackbar]': 'true',\n  },\n  animations: [\n    trigger('slide', [\n      transition(\n        ':enter',\n        group([useAnimation(slideInRight, { params: { duration: '200ms' } }), useAnimation(fadeIn, { params: { duration: '200ms' } })]),\n      ),\n      transition(':leave', [\n        group([useAnimation(slideOutRight, { params: { duration: '200ms' } }), useAnimation(fadeOut, { params: { duration: '200ms' } })]),\n        animate(\n          '150ms linear',\n          style({\n            height: 0,\n            paddingTop: 0,\n            paddingBottom: 0,\n            marginBottom: 0,\n          }),\n        ),\n      ]),\n    ]),\n  ],\n})\nexport class SnackbarComponent implements AfterViewInit, OnDestroy {\n  public static ngAcceptInputType_maxItems: NumberInput;\n  private static INITIALIZED = false;\n\n  public items$ = this.snackbarQueueService.queue$.pipe(map((items) => items.slice(0, this.maxItems)));\n\n  @Input()\n  @Transform(coerceNumberProperty)\n  public maxItems = 5;\n\n  @Output()\n  public dismiss = this.snackbarQueueService.onRemove$.pipe(pluck('item'));\n\n  constructor(\n    private readonly documentRef: DocumentRef,\n    private readonly elementRef: ElementRef,\n    private readonly renderer: Renderer2,\n    private readonly snackbarQueueService: SnackbarQueueService,\n  ) {}\n\n  public ngAfterViewInit(): void {\n    if (SnackbarComponent.INITIALIZED) {\n      throw new Error('Only one snackbar outlet per application allowed');\n    }\n    SnackbarComponent.INITIALIZED = true;\n    const headerElement = this.documentRef.nativeDocument.querySelector<HTMLElement>('.uib-header');\n    if (headerElement) {\n      this.renderer.setStyle(this.elementRef.nativeElement, 'top', px(headerElement.offsetHeight + 8));\n    }\n  }\n\n  public ngOnDestroy(): void {\n    SnackbarComponent.INITIALIZED = false;\n  }\n\n  public onDismiss(itemRef: SnackbarItemRef): void {\n    this.snackbarQueueService.remove(itemRef);\n  }\n\n  public trackById(_: number, ref: SnackbarItemRef): SnackbarItemRef['id'] {\n    return ref.id;\n  }\n}\n","<uib-snackbar-item @slide [ref]=\"ref\" (dismiss)=\"onDismiss($event)\" *ngFor=\"let ref of items$ | async; trackBy: trackById\">\n</uib-snackbar-item>\n","import { InjectionToken } from '@angular/core';\nimport { SnackbarOptions } from './models';\n\nexport type SnackbarModuleConfig = SnackbarOptions;\n\nexport const SNACKBAR_MODULE_CONFIG = new InjectionToken<SnackbarModuleConfig>('@uib/angular/compoonents/snackbar::SnackbarModuleConfig');\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ButtonModule } from '@uib/angular/components/button';\nimport { DynamicViewModule } from '@uib/angular/components/dynamic-view';\nimport { IconModule } from '@uib/angular/components/icon';\nimport { ModuleConfigDependencies, ModuleConfigProvider, provideModuleConfig } from '@uib/angular/utils';\nimport { SnackbarItemComponent } from './components/snackbar-item/snackbar-item.component';\nimport { SnackbarItemCountDirective } from './directives/snackbar-item-count.directive';\nimport { SNACKBAR_OPTIONS } from './settings/default-snackbar-options';\nimport { SnackbarComponent } from './snackbar.component';\nimport { SnackbarModuleConfig, SNACKBAR_MODULE_CONFIG } from './snackbar.config';\n\n@NgModule({\n  imports: [CommonModule, ButtonModule, IconModule, DynamicViewModule],\n  declarations: [SnackbarComponent, SnackbarItemComponent, SnackbarItemCountDirective],\n  exports: [SnackbarComponent, SnackbarItemComponent, SnackbarItemCountDirective],\n})\nexport class SnackbarModule {\n  /**\n   * @deprecated Use `SnackbarModule.forRoot` instead\n   */\n  public static configure<D extends ModuleConfigDependencies>(\n    config: ModuleConfigProvider<SnackbarModuleConfig, D>,\n  ): ModuleWithProviders<SnackbarModule> {\n    return SnackbarModule.forRoot(config);\n  }\n\n  public static forRoot<D extends ModuleConfigDependencies>(\n    config: ModuleConfigProvider<SnackbarModuleConfig, D>,\n  ): ModuleWithProviders<SnackbarModule> {\n    return {\n      ngModule: SnackbarModule,\n      providers: [\n        provideModuleConfig(SNACKBAR_MODULE_CONFIG, config),\n        {\n          provide: SNACKBAR_OPTIONS,\n          useFactory: (config: SnackbarModuleConfig) => config,\n          deps: [SNACKBAR_MODULE_CONFIG],\n        },\n      ],\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i2.SnackbarService","i2.SnackbarQueueService","i3.SnackbarItemComponent"],"mappings":"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"}