{"version":3,"file":"uib-angular-components-notification.mjs","sources":["../../../../libs/angular-components/components/notification/src/lib/models/notification-type.ts","../../../../libs/angular-components/components/notification/src/lib/models/notification-order.ts","../../../../libs/angular-components/components/notification/src/lib/settings/default-notification-extras.ts","../../../../libs/angular-components/components/notification/src/lib/settings/default-notification-options.ts","../../../../libs/angular-components/components/notification/src/lib/helpers/sort-by-notification-type.ts","../../../../libs/angular-components/components/notification/src/lib/services/notification-queue.service.ts","../../../../libs/angular-components/components/notification/src/lib/notification.service.ts","../../../../libs/angular-components/components/notification/src/lib/directives/notification-count.directive.ts","../../../../libs/angular-components/components/notification/src/lib/notification.component.ts","../../../../libs/angular-components/components/notification/src/lib/notification.component.html","../../../../libs/angular-components/components/notification/src/lib/directives/notification-outlet.directive.ts","../../../../libs/angular-components/components/notification/src/lib/notification.config.ts","../../../../libs/angular-components/components/notification/src/lib/notification.module.ts","../../../../libs/angular-components/components/notification/src/uib-angular-components-notification.ts"],"sourcesContent":["export type NotificationType = typeof NotificationType[keyof typeof NotificationType];\nexport const NotificationType = {\n  DEFAULT: 'default',\n  SUCCESS: 'success',\n  WARNING: 'warning',\n  CRITICAL: 'critical',\n} as const;\n","import { NotificationType } from './notification-type';\n\nexport const notificationOrder: Record<NotificationType, number> = [\n  NotificationType.CRITICAL,\n  NotificationType.WARNING,\n  NotificationType.DEFAULT,\n  NotificationType.SUCCESS,\n].reduce<Record<string, number>>((o, type, i) => ({ ...o, [type]: i }), {});\n","/* istanbul ignore file */\nimport { InjectionToken, Provider } from '@angular/core';\nimport { NotificationExtras, NotificationType } from '../models';\n\nexport const defaultNotificationExtras: NotificationExtras = {\n  buttonText: 'OK',\n  type: NotificationType.CRITICAL,\n};\n\nexport const NOTIFICATION_EXTRAS = new InjectionToken<NotificationExtras>('@uib/angular/compoonents/notification::NotificationExtras', {\n  providedIn: 'root',\n  factory: () => defaultNotificationExtras,\n});\n\nexport function provideNotificationExtras(extras?: Partial<NotificationExtras>): Provider {\n  return {\n    provide: NOTIFICATION_EXTRAS,\n    useValue: {\n      ...defaultNotificationExtras,\n      ...extras,\n    },\n    multi: false,\n  };\n}\n","/* istanbul ignore file */\nimport { InjectionToken, Provider } from '@angular/core';\nimport { NotificationOptions } from '../models';\n\nexport const defaultNotificationOptions: NotificationOptions = {\n  duration: 0,\n  override: true,\n};\n\nexport const NOTIFICATION_OPTIONS = new InjectionToken<NotificationOptions>('@uib/angular/compoonents/notification::NotificationOptions', {\n  providedIn: 'root',\n  factory: () => defaultNotificationOptions,\n});\n\nexport function provideNotificationOptions(options?: Partial<NotificationOptions>): Provider {\n  return {\n    provide: NOTIFICATION_OPTIONS,\n    useValue: {\n      ...defaultNotificationOptions,\n      ...options,\n    },\n    multi: false,\n  };\n}\n","import { notificationOrder, NotificationRef } from '../models';\n\nexport function sortByNotificationType(a: NotificationRef, b: NotificationRef): number {\n  const aType = a.notification.type;\n  const bType = b.notification.type;\n  return notificationOrder[aType] - notificationOrder[bType];\n}\n","import { Injectable } from '@angular/core';\nimport { Queue } from '@uib/angular/utils';\nimport { Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\nimport { sortByNotificationType } from '../helpers';\nimport { Notification, NotificationOptions, NotificationRef } from '../models';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NotificationQueueService {\n  private readonly queue$$ = new Queue<NotificationRef>(sortByNotificationType);\n  private readonly onRemove$$ = new Subject<NotificationRef>();\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(notification: Notification, options: NotificationOptions): NotificationRef {\n    return this.queue$$.add(\n      {\n        id: notification.id,\n        notification,\n        options,\n      },\n      options.override,\n    );\n  }\n\n  public remove(notificationRef: NotificationRef): void {\n    this.queue$$.remove(notificationRef);\n    this.onRemove$$.next(notificationRef);\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 { Notification, NotificationExtras, NotificationOptions, NotificationOutput, NotificationType } from './models';\nimport { NotificationQueueService } from './services/notification-queue.service';\nimport { NOTIFICATION_EXTRAS } from './settings/default-notification-extras';\nimport { NOTIFICATION_OPTIONS } from './settings/default-notification-options';\n\ntype NotificationInput = Partial<Notification> & Pick<Notification, 'title'>;\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NotificationService {\n  public onNotificationClose$ = this.notificationQueue.onRemove$.pipe(pluck('notification'));\n\n  constructor(\n    private readonly notificationQueue: NotificationQueueService,\n    @Inject(NOTIFICATION_OPTIONS) private readonly defaultOptions: NotificationOptions,\n    @Inject(NOTIFICATION_EXTRAS) private readonly defaultExtras: NotificationExtras,\n  ) {}\n\n  public create(notification: NotificationInput, options?: Partial<NotificationOptions>): NotificationOutput {\n    options = {\n      ...this.defaultOptions,\n      ...options,\n    };\n    notification = {\n      ...this.defaultExtras,\n      ...notification,\n    };\n    const addedItem = this.notificationQueue.add(notification as Notification, options as NotificationOptions);\n\n    return {\n      item: addedItem,\n      dismiss: () => this.notificationQueue.remove(addedItem),\n    };\n  }\n\n  public createError(notification: NotificationInput, options?: Partial<NotificationOptions>): NotificationOutput {\n    return this.create({ ...notification, type: NotificationType.CRITICAL }, options);\n  }\n\n  public createSuccess(notification: NotificationInput, options?: Partial<NotificationOptions>): NotificationOutput {\n    return this.create({ ...notification, type: NotificationType.SUCCESS }, options);\n  }\n\n  public createWarning(notification: NotificationInput, options?: Partial<NotificationOptions>): NotificationOutput {\n    return this.create({ ...notification, type: NotificationType.WARNING }, options);\n  }\n\n  public getQueue$(): Observable<Notification[]> {\n    return this.notificationQueue.queue$.pipe(arrayMap((ref) => ref.notification));\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 { NotificationService } from '../notification.service';\n\n@Directive({\n  selector: '[uibNotificationCount]',\n  exportAs: 'notificationCount',\n  providers: [DestroyService],\n})\nexport class NotificationCountDirective 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 notificationService: NotificationService,\n  ) {}\n\n  public ngAfterViewInit(): void {\n    this.notificationService\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 { group, query, transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { growY, shrinkY, slideInDown, slideOutUp } from '@uib/angular/animations';\nimport { DestroyService } from '@uib/angular/common';\nimport { EMPTY, Subject, timer } from 'rxjs';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { Notification, NotificationButton, NotificationButtonCallback, NotificationOptions } from './models';\n\n@Component({\n  selector: 'uib-notification',\n  templateUrl: 'notification.component.html',\n  styleUrls: ['notification.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [DestroyService],\n  host: {\n    '[@hostAnimation]': 'true',\n    '[class.uib-ribbon]': 'true',\n    '[class.uib-ribbon--notify]': 'true',\n  },\n  animations: [\n    trigger('hostAnimation', [\n      transition('void => *', [group([query(':self', useAnimation(growY)), query('.uib-notification', useAnimation(slideInDown))])]),\n      transition('* =>  void', [group([query(':self', useAnimation(shrinkY)), query('.uib-notification', useAnimation(slideOutUp))])]),\n    ]),\n  ],\n})\nexport class NotificationComponent {\n  private _options: NotificationOptions;\n\n  private readonly timer$$ = new Subject<number>();\n  private readonly timer$ = this.timer$$.pipe(switchMap((duration) => (duration > 0 ? timer(duration) : EMPTY)));\n\n  @Input()\n  public notification: Notification;\n\n  @Input()\n  public set options(value: NotificationOptions) {\n    this.timer$$.next(value.duration);\n    this._options = value;\n  }\n  public get options(): NotificationOptions {\n    return this._options;\n  }\n\n  public get buttons(): NotificationButton[] {\n    return this.notification.buttons ?? [];\n  }\n\n  @Output()\n  public dismiss = new EventEmitter<void>();\n\n  constructor(private readonly ngOnDestroy$: DestroyService) {\n    this.timer$.pipe(takeUntil(this.ngOnDestroy$)).subscribe(() => {\n      this.onDismiss();\n    });\n  }\n\n  public onDismiss(): void {\n    this.dismiss.emit();\n  }\n\n  public onButtonAction(action?: NotificationButtonCallback, dismiss?: boolean): void {\n    if (action) {\n      action();\n    }\n    if (dismiss ?? true) {\n      this.onDismiss();\n    }\n  }\n\n  @HostListener('swipeup')\n  public onSwipeUp(): void {\n    this.onDismiss();\n  }\n\n  public trackByIndex(index: number): number {\n    return index;\n  }\n}\n","<div class=\"uib-notification uib-notification--{{ notification?.type }}\" cdkTrapFocus cdkTrapFocusAutoCapture>\n  <div class=\"uib-notification__title\">\n    <ng-template [uibDynamicView]=\"notification.title\">\n    </ng-template>\n  </div>\n  <div class=\"uib-notification__description\">\n    <ng-template [uibDynamicView]=\"notification.description\">\n    </ng-template>\n  </div>\n  <div class=\"uib-notification__actions\">\n    <button\n      uibButton\n      variant=\"secondary\"\n      (click)=\"onButtonAction(btn.action, btn.dismiss)\"\n      *ngFor=\"let btn of notification.buttons; trackBy: trackByIndex\"\n    >\n      {{ btn.text }}\n    </button>\n    <button uibButton (click)=\"onDismiss()\" cdkFocusInitial>\n      {{ notification.buttonText }}\n    </button>\n  </div>\n</div>\n","import { AfterViewInit, Directive, OnDestroy, Output, ViewContainerRef } from '@angular/core';\nimport { DestroyService } from '@uib/angular/common';\nimport { ComponentRef, DynamicViewService } from '@uib/angular/components/dynamic-view';\nimport { filterNil } from '@uib/angular/utils';\nimport { map, pluck, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport { NotificationRef } from '../models';\nimport { NotificationComponent } from '../notification.component';\nimport { NotificationQueueService } from '../services/notification-queue.service';\n\n@Directive({\n  selector: 'uib-notification-outlet, [uibNotificationOutlet]',\n  providers: [DestroyService],\n  host: {\n    '[style.display]': \"'none'\",\n  },\n})\nexport class NotificationOutletDirective implements AfterViewInit, OnDestroy {\n  private static INITIALIZED = false;\n\n  private currentNotification: NotificationRef | null = null;\n  private notificationRef: ComponentRef<NotificationComponent> | null = null;\n\n  @Output()\n  public notificationClose = this.notificationsQueue.onRemove$.pipe(pluck('notification'));\n\n  constructor(\n    private readonly ngOnDestroy$: DestroyService,\n    private readonly dynamicViewService: DynamicViewService,\n    private readonly notificationsQueue: NotificationQueueService,\n    private readonly viewContainer: ViewContainerRef,\n  ) {}\n\n  public ngAfterViewInit(): void {\n    if (NotificationOutletDirective.INITIALIZED) {\n      throw new Error('Only one notification outlet per application allowed');\n    }\n    NotificationOutletDirective.INITIALIZED = true;\n    this.notificationsQueue.current$\n      .pipe(\n        takeUntil(this.ngOnDestroy$),\n        map((notification) => this.handleUpdate(notification)),\n        filterNil(),\n        switchMap((ref) => ref.instance.dismiss),\n        tap(() => this.removeNotification()),\n      )\n      .subscribe();\n  }\n\n  public ngOnDestroy(): void {\n    this.destroyNotification();\n    NotificationOutletDirective.INITIALIZED = false;\n  }\n\n  private createNotification() {\n    return this.dynamicViewService.createComponent(NotificationComponent, {\n      vcr: this.viewContainer,\n    });\n  }\n\n  private destroyNotification() {\n    if (this.notificationRef !== null) {\n      this.notificationRef.destroy();\n      this.notificationRef = null;\n    }\n  }\n\n  private removeNotification() {\n    if (this.currentNotification !== null) {\n      this.notificationsQueue.remove(this.currentNotification);\n    }\n  }\n\n  private handleUpdate(notification: NotificationRef | null) {\n    if (notification) {\n      if (this.notificationRef === null) {\n        this.notificationRef = this.createNotification();\n      }\n      this.notificationRef.update({\n        options: notification.options,\n        notification: notification.notification,\n      });\n    } else {\n      this.destroyNotification();\n    }\n    this.currentNotification = notification;\n    return this.notificationRef;\n  }\n}\n","import { InjectionToken } from '@angular/core';\nimport { NotificationExtras, NotificationOptions } from './models';\n\nexport type NotificationModuleConfig = {\n  extras?: Partial<NotificationExtras>;\n  options?: Partial<NotificationOptions>;\n};\n\nexport const NOTIFICATION_MODULE_CONFIG = new InjectionToken<NotificationModuleConfig>(\n  '@uib/angular/compoonents/notification::NotificationModuleConfig',\n);\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { 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 { ModuleConfigDependencies, ModuleConfigProvider, provideModuleConfig } from '@uib/angular/utils';\nimport { NotificationCountDirective } from './directives/notification-count.directive';\nimport { NotificationOutletDirective } from './directives/notification-outlet.directive';\nimport { NotificationComponent } from './notification.component';\nimport { NotificationModuleConfig, NOTIFICATION_MODULE_CONFIG } from './notification.config';\nimport { defaultNotificationExtras, NOTIFICATION_EXTRAS } from './settings/default-notification-extras';\nimport { defaultNotificationOptions, NOTIFICATION_OPTIONS } from './settings/default-notification-options';\n\n@NgModule({\n  imports: [A11yModule, CommonModule, ButtonModule, DynamicViewModule],\n  declarations: [NotificationCountDirective, NotificationOutletDirective, NotificationComponent],\n  exports: [NotificationCountDirective, NotificationOutletDirective, NotificationComponent],\n})\nexport class NotificationModule {\n  /**\n   * @deprecated Use `NotificationModule.forRoot` instead\n   */\n  public static configure<D extends ModuleConfigDependencies>(\n    config: ModuleConfigProvider<NotificationModuleConfig, D>,\n  ): ModuleWithProviders<NotificationModule> {\n    return NotificationModule.forRoot(config);\n  }\n\n  public static forRoot<D extends ModuleConfigDependencies>(\n    config: ModuleConfigProvider<NotificationModuleConfig, D> = {},\n  ): ModuleWithProviders<NotificationModule> {\n    return {\n      ngModule: NotificationModule,\n      providers: [\n        provideModuleConfig(NOTIFICATION_MODULE_CONFIG, config),\n        {\n          provide: NOTIFICATION_EXTRAS,\n          useFactory: (config: NotificationModuleConfig) => ({\n            ...defaultNotificationExtras,\n            ...config.extras,\n          }),\n          deps: [NOTIFICATION_MODULE_CONFIG],\n        },\n        {\n          provide: NOTIFICATION_OPTIONS,\n          useFactory: (config: NotificationModuleConfig) => ({\n            ...defaultNotificationOptions,\n            ...config.options,\n          }),\n          deps: [NOTIFICATION_MODULE_CONFIG],\n        },\n      ],\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NotificationQueueService","i2.NotificationService","i4","i2","i3.NotificationQueueService"],"mappings":"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"}