{"version":3,"file":"marcura-marcura-notifications.mjs","sources":["../../src/lib/components/abstract-notification-content/abstract-notification-content.component.ts","../../src/lib/model/notification-look.enum.ts","../../src/lib/model/notification-type.enum.ts","../../src/lib/components/inline-notification/inline-notification.component.ts","../../src/lib/components/inline-notification/inline-notification.component.html","../../src/lib/components/inline-multiple-notification/inline-multiple-notification.component.ts","../../src/lib/components/inline-multiple-notification/inline-multiple-notification.component.html","../../src/lib/model/notification-position.enum.ts","../../src/lib/components/notification-content/notification-content.component.ts","../../src/lib/components/notification-content/notification-content.component.html","../../src/lib/components/notification-content-wrapper/notification-content-wrapper.component.ts","../../src/lib/components/notification-content-wrapper/notification-content-wrapper.component.html","../../src/lib/model/notification.ts","../../src/lib/notifications.injectables.ts","../../src/lib/services/notifications.service.ts","../../src/lib/components/notification-containers/notification-containers.component.ts","../../src/lib/components/notification-containers/notification-containers.component.html","../../src/lib/notifications.module.ts","../../src/marcura-marcura-notifications.ts"],"sourcesContent":["import {Component, Directive, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Directive()\r\nexport abstract class AbstractNotificationContentComponent {\r\n  @Input()\r\n  public title: string = '';\r\n  @Input()\r\n  public text: string = '';\r\n  @Input()\r\n  public hasClose: boolean = true;\r\n  @Output()\r\n  public readonly closed: EventEmitter<void> = new EventEmitter();\r\n\r\n  public onClosed(): void {\r\n    this.closed.emit();\r\n  }\r\n}\r\n","export enum NotificationLook {\r\n  Outline = 'outline',\r\n  Filled = 'filled',\r\n  Bare = 'bare'\r\n}\r\n","export enum NotificationType {\r\n  Success = 'success',\r\n  Error = 'error',\r\n  Warning = 'warning',\r\n  Info = 'info',\r\n  None = 'none',\r\n}\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  HostBinding,\r\n  Input,\r\n  Output,\r\n  ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {NotificationLook} from '../../model/notification-look.enum';\r\nimport {NotificationType} from '../../model/notification-type.enum';\r\n\r\n@Component({\r\n  selector: 'sg-inline-notification',\r\n  templateUrl: 'inline-notification.component.html',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  standalone: false,\r\n})\r\nexport class InlineNotificationComponent {\r\n  private _look: NotificationLook = NotificationLook.Outline;\r\n\r\n  @HostBinding('class.sg-inline-notification')\r\n  public readonly hasCssClass: boolean = true;\r\n  @HostBinding('class.sg-inline-notification--look-filled')\r\n  public get isFilledLook(): boolean {\r\n    return this._look === NotificationLook.Filled;\r\n  }\r\n  @HostBinding('class.sg-inline-notification--look-bare')\r\n  public get isBareLook(): boolean {\r\n    return this._look === NotificationLook.Bare;\r\n  }\r\n\r\n  @Input()\r\n  public type: NotificationType = NotificationType.None;\r\n  @Input()\r\n  public title: string | null = null;\r\n  @Input()\r\n  public hasClose: boolean = false;\r\n  @Input()\r\n  public get look(): NotificationLook {\r\n    return this._look;\r\n  }\r\n  public set look(look: NotificationLook) {\r\n    if (look && this._look !== look) {\r\n      this._look = look;\r\n      this._changeDetectorRef.markForCheck();\r\n    }\r\n  }\r\n\r\n  @Output()\r\n  public readonly closed: EventEmitter<void> = new EventEmitter();\r\n\r\n  public get icon(): string {\r\n    return  this.type === NotificationType.None ? NotificationType.Info : this.type;\r\n  }\r\n\r\n  public constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {}\r\n}\r\n","<div dir=\"ltr\" class=\"k-notification-container\">\r\n  <div class=\"k-widget k-notification k-notification-{{ type }}\">\r\n    <span class=\"k-icon k-i-{{ icon }}\"></span>\r\n    <div class=\"sg-notification-content\">\r\n      <div class=\"sg-notification-content__left\">\r\n        <span class=\"sg-notification-content__title\" *ngIf=\"title\">{{ title }}</span>\r\n        <span class=\"sg-notification-content__text\"><ng-content></ng-content></span>\r\n      </div>\r\n      <div class=\"sg-notification-content__right\" *ngIf=\"hasClose\">\r\n        <i class=\"sg-notification-content__close far fa-times\" (click)=\"closed.emit()\"></i>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  EventEmitter,\r\n  HostBinding,\r\n  Input,\r\n  Output,\r\n  ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {NotificationType} from '../../model/notification-type.enum';\r\nimport {NotificationItem} from '../../model/notification-item.interface';\r\n\r\n@Component({\r\n  selector: 'sg-inline-multiple-notification',\r\n  templateUrl: 'inline-multiple-notification.component.html',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  standalone: false,\r\n})\r\nexport class InlineMultipleNotificationComponent {\r\n  @HostBinding('class.sg-inline-notification')\r\n  public readonly cssClass: boolean = true;\r\n  @HostBinding('class.sg-inline-notification--multiple')\r\n  public get cssClassMultiple(): boolean {\r\n    return this.items.length > 1;\r\n  }\r\n  @Input()\r\n  public type: NotificationType = NotificationType.None;\r\n  @Input()\r\n  public items: NotificationItem[] = [];\r\n  @Input()\r\n  public hasClose: boolean = false;\r\n  @Input()\r\n  public sanitizeMessage: boolean = true;\r\n  @Output()\r\n  public readonly closed: EventEmitter<void> = new EventEmitter();\r\n\r\n  public get icon(): string {\r\n    return  this.type === NotificationType.None ? NotificationType.Info : this.type;\r\n  }\r\n}\r\n","<div dir=\"ltr\" class=\"k-notification-container\">\r\n  <div class=\"k-widget k-notification k-notification-{{ type }}\">\r\n    <div class=\"k-notification-wrap\">\r\n      <span class=\"k-icon k-i-{{ icon }}\"></span>\r\n      <div class=\"sg-notification-content\">\r\n        <div class=\"sg-notification-content__left\">\r\n          <div class=\"sg-notification-content__row\" *ngFor=\"let item of items\">\r\n            <span class=\"sg-notification-content__title\" *ngIf=\"item.title\">{{ item.title }}</span>\r\n            <span *ngIf=\"sanitizeMessage\" class=\"sg-notification-content__text\">{{item.message}}</span>\r\n            <span *ngIf=\"!sanitizeMessage\" class=\"sg-notification-content__text\" [innerHTML]=\"item.message\"></span>\r\n          </div>\r\n        </div>\r\n        <div class=\"sg-notification-content__right\" *ngIf=\"hasClose\">\r\n          <i class=\"sg-notification-content__close far fa-times\" (click)=\"closed.emit()\"></i>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","export enum NotificationPosition {\r\n  TopRight = 'TopRight',\r\n  TopCenter = 'TopCenter',\r\n  TopStretch = 'TopStretch',\r\n  BottomRight = 'BottomRight',\r\n  BottomCenter = 'BottomCenter',\r\n  BottomStretch = 'BottomStretch',\r\n}\r\n","import {Component, HostBinding} from '@angular/core';\r\nimport {AbstractNotificationContentComponent} from '../abstract-notification-content/abstract-notification-content.component';\r\n\r\n@Component({\r\n  selector: 'sg-notification-content',\r\n  templateUrl: 'notification-content.component.html',\r\n  standalone: false,\r\n})\r\nexport class NotificationContentComponent extends AbstractNotificationContentComponent {\r\n  @HostBinding('class.sg-notification-content')\r\n  public readonly hasCssClass: boolean = true;\r\n}\r\n","<div class=\"sg-notification-content__left\">\r\n  <span class=\"sg-notification-content__title\" *ngIf=\"title\">{{ title }}</span>\r\n  <span class=\"sg-notification-content__text\"><ng-content></ng-content></span>\r\n</div>\r\n<div class=\"sg-notification-content__right\" *ngIf=\"hasClose\">\r\n  <i class=\"sg-notification-content__close far fa-times\" (click)=\"onClosed()\"></i>\r\n</div>\r\n","import {Component} from '@angular/core';\r\nimport {AbstractNotificationContentComponent} from '../abstract-notification-content/abstract-notification-content.component';\r\n\r\n@Component({\r\n  selector: 'sg-notification-content-wrapper',\r\n  templateUrl: 'notification-content-wrapper.component.html',\r\n  standalone: false,\r\n})\r\nexport class NotificationContentWrapperComponent extends AbstractNotificationContentComponent {}\r\n","<sg-notification-content [title]=\"title\" [hasClose]=\"hasClose\" (closed)=\"closed.emit()\">{{\r\n  text\r\n}}</sg-notification-content>\r\n","import {EventEmitter} from '@angular/core';\r\nimport {NotificationRef} from '@progress/kendo-angular-notification';\r\n\r\nexport class Notification {\r\n  public readonly closed: EventEmitter<void> = new EventEmitter();\r\n\r\n  public constructor(public readonly id: number, public readonly ref: NotificationRef) {}\r\n\r\n  public close(): void {\r\n    this.ref.hide();\r\n    this.closed.emit();\r\n  }\r\n}\r\n","import {InjectionToken} from '@angular/core';\r\nimport {INotificationsConfig} from './model/notifications-config.interface';\r\n\r\nexport const NOTIFICATIONS_CONFIG: InjectionToken<INotificationsConfig> = new InjectionToken<INotificationsConfig>(\r\n  'NotificationsConfig'\r\n);\r\n","import {Inject, Injectable, ViewContainerRef} from '@angular/core';\r\nimport {Observer, WINDOW} from '@marcura/marcura-common';\r\nimport {NotificationRef, NotificationService} from '@progress/kendo-angular-notification';\r\nimport {AbstractNotificationContentComponent} from '../components/abstract-notification-content/abstract-notification-content.component';\r\nimport {NotificationContentWrapperComponent} from '../components/notification-content-wrapper/notification-content-wrapper.component';\r\nimport {INotificationContainers} from '../model/containers.interface';\r\nimport {Notification} from '../model/notification';\r\nimport {INotificationConfig} from '../model/notification-config.interface';\r\nimport {NotificationPosition} from '../model/notification-position.enum';\r\nimport {NotificationType} from '../model/notification-type.enum';\r\nimport {INotificationsConfig} from '../model/notifications-config.interface';\r\nimport {INotificationPositions} from '../model/positions.interface';\r\nimport {NOTIFICATIONS_CONFIG} from '../notifications.injectables';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class NotificationsService {\r\n  private readonly _window: Window;\r\n  private readonly _oberver: Observer = new Observer();\r\n  private _notificationCounter: number = 1;\r\n  private _openedNotifications: Notification[] = [];\r\n  private readonly _positions: INotificationPositions = {\r\n    [NotificationPosition.TopRight]: {vertical: 'top', horizontal: 'right'},\r\n    [NotificationPosition.TopCenter]: {vertical: 'top', horizontal: 'center'},\r\n    [NotificationPosition.TopStretch]: {vertical: 'top', horizontal: 'center'},\r\n    [NotificationPosition.BottomRight]: {vertical: 'bottom', horizontal: 'right'},\r\n    [NotificationPosition.BottomCenter]: {vertical: 'bottom', horizontal: 'center'},\r\n    [NotificationPosition.BottomStretch]: {vertical: 'bottom', horizontal: 'center'},\r\n  };\r\n  private readonly _containers: INotificationContainers = {\r\n    [NotificationPosition.TopRight]: null,\r\n    [NotificationPosition.TopCenter]: null,\r\n    [NotificationPosition.TopStretch]: null,\r\n    [NotificationPosition.BottomRight]: null,\r\n    [NotificationPosition.BottomCenter]: null,\r\n    [NotificationPosition.BottomStretch]: null,\r\n  };\r\n\r\n  public constructor(\r\n    @Inject(NOTIFICATIONS_CONFIG) private readonly _config: INotificationsConfig,\r\n    private readonly _notificationService: NotificationService,\r\n    // Use any as type here to make strictMetadataEmit work without an error.\r\n    // See https://github.com/angular/angular/issues/20351.\r\n    @Inject(WINDOW) window: any\r\n  ) {\r\n    this._window = window;\r\n  }\r\n\r\n  private _isOpened(notification: Notification): boolean {\r\n    return this._openedNotifications.some((openedNotification) => {\r\n      return openedNotification.id === notification.id;\r\n    });\r\n  }\r\n\r\n  private _open(title: string, text: string, type: NotificationType, config?: INotificationConfig): Notification {\r\n    const extendedConfig: INotificationsConfig = {...this._config, ...config};\r\n    extendedConfig.content = extendedConfig.content || NotificationContentWrapperComponent;\r\n    const notificationRef: NotificationRef = this._notificationService.show({\r\n      animation: extendedConfig.animation,\r\n      // Close icon is hidden with CSS and implemented manually to support closed event.\r\n      // Parameter \"closable\" must to be true to prevent Kendo from closing notification automatically.\r\n      closable: true,\r\n      hideAfter: extendedConfig.shouldClose ? 0 : extendedConfig.closeAfter,\r\n      content: extendedConfig.content,\r\n      position: extendedConfig.position ? this._positions[extendedConfig.position] : undefined,\r\n      type: {style: type, icon: true},\r\n      appendTo: extendedConfig.position ? this._containers[extendedConfig.position] ?? undefined : undefined,\r\n      width: extendedConfig.width,\r\n    });\r\n    const notification: Notification = new Notification(this._notificationCounter, notificationRef);\r\n    this._openedNotifications.push(notification);\r\n    this._notificationCounter++;\r\n\r\n    if (this._openedNotifications.length > (this._config.maxOpened ?? 0)) {\r\n      const firstNotification: Notification | undefined = this._openedNotifications.shift();\r\n      (<AbstractNotificationContentComponent>(<any>firstNotification?.ref.content)).closed.emit();\r\n    }\r\n\r\n    if (notificationRef) {\r\n      const notificationContent: AbstractNotificationContentComponent = <AbstractNotificationContentComponent>(\r\n        notificationRef.content?.instance\r\n      );\r\n      notificationContent.title = title;\r\n      notificationContent.text = text;\r\n      notificationContent.hasClose = extendedConfig.hasClose ?? false;\r\n      this._oberver.listen(notificationContent.closed, () => {\r\n        this._close(notification);\r\n      });\r\n    }\r\n\r\n    if (extendedConfig.shouldClose) {\r\n      this._window.setTimeout(() => this._close(notification), extendedConfig.closeAfter);\r\n    }\r\n\r\n    return notification;\r\n  }\r\n\r\n  private _close(notification: Notification): void {\r\n    if (!this._isOpened(notification)) {\r\n      notification.ref.hide();\r\n      return;\r\n    }\r\n\r\n    this._openedNotifications = this._openedNotifications.filter((openedNotification) => {\r\n      return openedNotification.id !== notification.id;\r\n    });\r\n    notification.close();\r\n  }\r\n\r\n  public registerContainer(position: NotificationPosition, container: ViewContainerRef): void {\r\n    if (!this._containers[position]) {\r\n      this._containers[position] = container;\r\n    }\r\n  }\r\n\r\n  public unregisterContainer(position: NotificationPosition): void {\r\n    delete this._containers[position];\r\n  }\r\n\r\n  public success(title: string, text: string, config?: INotificationConfig): Notification {\r\n    return this._open(title, text, NotificationType.Success, config);\r\n  }\r\n\r\n  public error(title: string, text: string, config?: INotificationConfig): Notification {\r\n    return this._open(title, text, NotificationType.Error, config);\r\n  }\r\n\r\n  public warning(title: string, text: string, config?: INotificationConfig): Notification {\r\n    return this._open(title, text, NotificationType.Warning, config);\r\n  }\r\n\r\n  public info(title: string, text: string, config?: INotificationConfig): Notification {\r\n    return this._open(title, text, NotificationType.Info, config);\r\n  }\r\n}\r\n","import {Component, OnDestroy, OnInit, ViewChild, ViewContainerRef, ViewEncapsulation} from '@angular/core';\r\nimport {NotificationPosition} from '../../model/notification-position.enum';\r\nimport {NotificationsService} from '../../services/notifications.service';\r\n\r\n@Component({\r\n  selector: 'sg-notification-containers',\r\n  templateUrl: 'notification-containers.component.html',\r\n  encapsulation: ViewEncapsulation.None,\r\n  standalone: false,\r\n})\r\nexport class NotificationContainersComponent implements OnInit, OnDestroy {\r\n  @ViewChild('topRightContainer', {read: ViewContainerRef, static: true})\r\n  public topRightContainer!: ViewContainerRef;\r\n  @ViewChild('topCenterContainer', {read: ViewContainerRef, static: true})\r\n  public topCenterContainer!: ViewContainerRef;\r\n  @ViewChild('topStretchContainer', {read: ViewContainerRef, static: true})\r\n  public topStretchContainer!: ViewContainerRef;\r\n  @ViewChild('bottomRightContainer', {read: ViewContainerRef, static: true})\r\n  public bottomRightContainer!: ViewContainerRef;\r\n  @ViewChild('bottomCenterContainer', {read: ViewContainerRef, static: true})\r\n  public bottomCenterContainer!: ViewContainerRef;\r\n  @ViewChild('bottomStretchContainer', {read: ViewContainerRef, static: true})\r\n  public bottomStretchContainer!: ViewContainerRef;\r\n\r\n  public constructor(private readonly _notificationsService: NotificationsService) {}\r\n\r\n  public ngOnInit(): void {\r\n    this._notificationsService.registerContainer(NotificationPosition.TopRight, this.topRightContainer);\r\n    this._notificationsService.registerContainer(NotificationPosition.TopCenter, this.topCenterContainer);\r\n    this._notificationsService.registerContainer(NotificationPosition.TopStretch, this.topStretchContainer);\r\n    this._notificationsService.registerContainer(NotificationPosition.BottomRight, this.bottomRightContainer);\r\n    this._notificationsService.registerContainer(NotificationPosition.BottomCenter, this.bottomCenterContainer);\r\n    this._notificationsService.registerContainer(NotificationPosition.BottomStretch, this.bottomStretchContainer);\r\n  }\r\n\r\n  public ngOnDestroy(): void {\r\n    this._notificationsService.unregisterContainer(NotificationPosition.TopRight);\r\n    this._notificationsService.unregisterContainer(NotificationPosition.TopCenter);\r\n    this._notificationsService.unregisterContainer(NotificationPosition.TopStretch);\r\n    this._notificationsService.unregisterContainer(NotificationPosition.BottomRight);\r\n    this._notificationsService.unregisterContainer(NotificationPosition.BottomCenter);\r\n    this._notificationsService.unregisterContainer(NotificationPosition.BottomStretch);\r\n  }\r\n}\r\n","<div #topRightContainer class=\"sg-notification-container sg-notification-container--top-right\"></div>\r\n<div #topCenterContainer class=\"sg-notification-container sg-notification-container--top-center\"></div>\r\n<div #topStretchContainer class=\"sg-notification-container sg-notification-container--top-stretch\"></div>\r\n<div #bottomRightContainer class=\"sg-notification-container sg-notification-container--bottom-right\"></div>\r\n<div #bottomCenterContainer class=\"sg-notification-container sg-notification-container--bottom-center\"></div>\r\n<div #bottomStretchContainer class=\"sg-notification-container sg-notification-container--bottom-stretch\"></div>\r\n","import {CommonModule} from '@angular/common';\r\nimport {ElementRef, ModuleWithProviders, NgModule} from '@angular/core';\r\nimport {NotificationModule, NOTIFICATION_CONTAINER} from '@progress/kendo-angular-notification';\r\nimport {AbstractNotificationContentComponent} from './components/abstract-notification-content/abstract-notification-content.component';\r\nimport {InlineNotificationComponent} from './components/inline-notification/inline-notification.component';\r\nimport {NotificationContainersComponent} from './components/notification-containers/notification-containers.component';\r\nimport {NotificationContentWrapperComponent} from './components/notification-content-wrapper/notification-content-wrapper.component';\r\nimport {NotificationContentComponent} from './components/notification-content/notification-content.component';\r\nimport {NotificationPosition} from './model/notification-position.enum';\r\nimport {INotificationsConfig} from './model/notifications-config.interface';\r\nimport {NOTIFICATIONS_CONFIG} from './notifications.injectables';\r\nimport {NotificationsService} from './services/notifications.service';\r\nimport {InlineMultipleNotificationComponent} from './components/inline-multiple-notification/inline-multiple-notification.component';\r\n\r\nexport function getNotificationsContainer(): ElementRef {\r\n  return {nativeElement: document.body} as ElementRef;\r\n}\r\n\r\nconst components: any[] = [\r\n  InlineNotificationComponent,\r\n  InlineMultipleNotificationComponent,\r\n  NotificationContentComponent,\r\n  NotificationContentWrapperComponent,\r\n  NotificationContainersComponent,\r\n];\r\n\r\n@NgModule({\r\n  declarations: [...components],\r\n  imports: [CommonModule, NotificationModule],\r\n  exports: [...components],\r\n})\r\nexport class NotificationsModule {\r\n  public static forRoot(config?: INotificationsConfig): ModuleWithProviders<NotificationsModule> {\r\n    return {\r\n      ngModule: NotificationsModule,\r\n      providers: [\r\n        NotificationsService,\r\n        {\r\n          provide: NOTIFICATIONS_CONFIG,\r\n          useValue: <INotificationsConfig>{\r\n            animation: {type: 'fade', duration: 400},\r\n            hasClose: true,\r\n            shouldClose: true,\r\n            closeAfter: 4000,\r\n            position: NotificationPosition.TopRight,\r\n            width: 400,\r\n            maxOpened: 7,\r\n            content: NotificationContentWrapperComponent,\r\n            ...config,\r\n          },\r\n        },\r\n        {\r\n          provide: NOTIFICATION_CONTAINER,\r\n          useFactory: getNotificationsContainer,\r\n        },\r\n      ],\r\n    };\r\n  }\r\n\r\n  public static forChild(): ModuleWithProviders<NotificationsModule> {\r\n    return {\r\n      ngModule: NotificationsModule,\r\n      providers: [],\r\n    };\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NotificationContentComponent","i1","i1.NotificationsService"],"mappings":"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"}