{"version":3,"file":"ng-zorro-antd-notification.mjs","sources":["../../components/notification/notification.component.ts","../../components/notification/notification-container.component.ts","../../components/notification/notification.service.module.ts","../../components/notification/notification.module.ts","../../components/notification/notification.service.ts","../../components/notification/public-api.ts","../../components/notification/ng-zorro-antd-notification.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, Output, ViewEncapsulation } from '@angular/core';\n\nimport { notificationMotion } from 'ng-zorro-antd/core/animation';\nimport { NzMNComponent } from 'ng-zorro-antd/message';\n\nimport { NzNotificationData } from './typings';\n\n@Component({\n  encapsulation: ViewEncapsulation.None,\n  selector: 'nz-notification',\n  exportAs: 'nzNotification',\n  preserveWhitespaces: false,\n  animations: [notificationMotion],\n  template: `\n    <div\n      class=\"ant-notification-notice ant-notification-notice-closable\"\n      [ngStyle]=\"instance.options?.nzStyle || null\"\n      [ngClass]=\"instance.options?.nzClass || ''\"\n      [@notificationMotion]=\"state\"\n      (@notificationMotion.done)=\"animationStateChanged.next($event)\"\n      (click)=\"onClick($event)\"\n      (mouseenter)=\"onEnter()\"\n      (mouseleave)=\"onLeave()\"\n    >\n      <div *ngIf=\"!instance.template\" class=\"ant-notification-notice-content\">\n        <div\n          class=\"ant-notification-notice-content\"\n          [ngClass]=\"{ 'ant-notification-notice-with-icon': instance.type !== 'blank' }\"\n        >\n          <div [class.ant-notification-notice-with-icon]=\"instance.type !== 'blank'\">\n            <ng-container [ngSwitch]=\"instance.type\">\n              <i\n                *ngSwitchCase=\"'success'\"\n                nz-icon\n                nzType=\"check-circle\"\n                class=\"ant-notification-notice-icon ant-notification-notice-icon-success\"\n              ></i>\n              <i\n                *ngSwitchCase=\"'info'\"\n                nz-icon\n                nzType=\"info-circle\"\n                class=\"ant-notification-notice-icon ant-notification-notice-icon-info\"\n              ></i>\n              <i\n                *ngSwitchCase=\"'warning'\"\n                nz-icon\n                nzType=\"exclamation-circle\"\n                class=\"ant-notification-notice-icon ant-notification-notice-icon-warning\"\n              ></i>\n              <i\n                *ngSwitchCase=\"'error'\"\n                nz-icon\n                nzType=\"close-circle\"\n                class=\"ant-notification-notice-icon ant-notification-notice-icon-error\"\n              ></i>\n            </ng-container>\n            <div class=\"ant-notification-notice-message\" [innerHTML]=\"instance.title\"></div>\n            <div class=\"ant-notification-notice-description\" [innerHTML]=\"instance.content\"></div>\n          </div>\n        </div>\n      </div>\n      <ng-template\n        [ngIf]=\"instance.template\"\n        [ngTemplateOutlet]=\"instance.template!\"\n        [ngTemplateOutletContext]=\"{ $implicit: this, data: instance.options?.nzData }\"\n      ></ng-template>\n      <a tabindex=\"0\" class=\"ant-notification-notice-close\" (click)=\"close()\">\n        <span class=\"ant-notification-notice-close-x\">\n          <ng-container *ngIf=\"instance.options?.nzCloseIcon; else iconTpl\">\n            <ng-container *nzStringTemplateOutlet=\"instance.options?.nzCloseIcon; let closeIcon\">\n              <i nz-icon [nzType]=\"closeIcon\"></i>\n            </ng-container>\n          </ng-container>\n          <ng-template #iconTpl>\n            <i nz-icon nzType=\"close\" class=\"ant-notification-close-icon\"></i>\n          </ng-template>\n        </span>\n      </a>\n    </div>\n  `\n})\nexport class NzNotificationComponent extends NzMNComponent implements OnDestroy {\n  @Input() override instance!: Required<NzNotificationData>;\n  @Input() override index!: number;\n  @Input() placement?: string;\n\n  @Output() override readonly destroyed = new EventEmitter<{ id: string; userAction: boolean }>();\n\n  constructor(cdr: ChangeDetectorRef) {\n    super(cdr);\n  }\n\n  override ngOnDestroy(): void {\n    super.ngOnDestroy();\n    this.instance.onClick.complete();\n  }\n\n  onClick(event: MouseEvent): void {\n    this.instance.onClick.next(event);\n  }\n\n  close(): void {\n    this.destroy(true);\n  }\n\n  get state(): string | undefined {\n    if (this.instance.state === 'enter') {\n      if (this.placement === 'topLeft' || this.placement === 'bottomLeft') {\n        return 'enterLeft';\n      } else {\n        return 'enterRight';\n      }\n    } else {\n      return this.instance.state;\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction } from '@angular/cdk/bidi';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NotificationConfig, NzConfigService } from 'ng-zorro-antd/core/config';\nimport { toCssPixel } from 'ng-zorro-antd/core/util';\nimport { NzMNContainerComponent } from 'ng-zorro-antd/message';\n\nimport { NzNotificationData, NzNotificationDataOptions } from './typings';\n\nconst NZ_CONFIG_MODULE_NAME = 'notification';\n\nconst NZ_NOTIFICATION_DEFAULT_CONFIG: Required<NotificationConfig> = {\n  nzTop: '24px',\n  nzBottom: '24px',\n  nzPlacement: 'topRight',\n  nzDuration: 4500,\n  nzMaxStack: 7,\n  nzPauseOnHover: true,\n  nzAnimate: true,\n  nzDirection: 'ltr'\n};\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  selector: 'nz-notification-container',\n  exportAs: 'nzNotificationContainer',\n  preserveWhitespaces: false,\n  template: `\n    <div\n      class=\"ant-notification ant-notification-topLeft\"\n      [class.ant-notification-rtl]=\"dir === 'rtl'\"\n      [style.top]=\"top\"\n      [style.left]=\"'0px'\"\n    >\n      <nz-notification\n        *ngFor=\"let instance of topLeftInstances\"\n        [instance]=\"instance\"\n        [placement]=\"config.nzPlacement\"\n        (destroyed)=\"remove($event.id, $event.userAction)\"\n      ></nz-notification>\n    </div>\n    <div\n      class=\"ant-notification ant-notification-topRight\"\n      [class.ant-notification-rtl]=\"dir === 'rtl'\"\n      [style.top]=\"top\"\n      [style.right]=\"'0px'\"\n    >\n      <nz-notification\n        *ngFor=\"let instance of topRightInstances\"\n        [instance]=\"instance\"\n        [placement]=\"config.nzPlacement\"\n        (destroyed)=\"remove($event.id, $event.userAction)\"\n      ></nz-notification>\n    </div>\n    <div\n      class=\"ant-notification ant-notification-bottomLeft\"\n      [class.ant-notification-rtl]=\"dir === 'rtl'\"\n      [style.bottom]=\"bottom\"\n      [style.left]=\"'0px'\"\n    >\n      <nz-notification\n        *ngFor=\"let instance of bottomLeftInstances\"\n        [instance]=\"instance\"\n        [placement]=\"config.nzPlacement\"\n        (destroyed)=\"remove($event.id, $event.userAction)\"\n      ></nz-notification>\n    </div>\n    <div\n      class=\"ant-notification ant-notification-bottomRight\"\n      [class.ant-notification-rtl]=\"dir === 'rtl'\"\n      [style.bottom]=\"bottom\"\n      [style.right]=\"'0px'\"\n    >\n      <nz-notification\n        *ngFor=\"let instance of bottomRightInstances\"\n        [instance]=\"instance\"\n        [placement]=\"config.nzPlacement\"\n        (destroyed)=\"remove($event.id, $event.userAction)\"\n      ></nz-notification>\n    </div>\n  `\n})\nexport class NzNotificationContainerComponent extends NzMNContainerComponent {\n  dir: Direction = 'ltr';\n  bottom?: string | null;\n  top?: string | null;\n  override config!: Required<NotificationConfig>; // initialized by parent class constructor\n  override instances: Array<Required<NzNotificationData>> = [];\n  topLeftInstances: Array<Required<NzNotificationData>> = [];\n  topRightInstances: Array<Required<NzNotificationData>> = [];\n  bottomLeftInstances: Array<Required<NzNotificationData>> = [];\n  bottomRightInstances: Array<Required<NzNotificationData>> = [];\n\n  constructor(cdr: ChangeDetectorRef, nzConfigService: NzConfigService) {\n    super(cdr, nzConfigService);\n    const config = this.nzConfigService.getConfigForComponent(NZ_CONFIG_MODULE_NAME);\n    this.dir = config?.nzDirection || 'ltr';\n  }\n\n  override create(notification: NzNotificationData): Required<NzNotificationData> {\n    const noti = this.onCreate(notification);\n    const key = noti.options.nzKey;\n    const notificationWithSameKey = this.instances.find(\n      msg => msg.options.nzKey === (notification.options as Required<NzNotificationDataOptions>).nzKey\n    );\n    if (key && notificationWithSameKey) {\n      this.replaceNotification(notificationWithSameKey, noti);\n    } else {\n      if (this.instances.length >= this.config.nzMaxStack) {\n        this.instances = this.instances.slice(1);\n      }\n      this.instances = [...this.instances, noti];\n    }\n\n    this.readyInstances();\n\n    return noti;\n  }\n\n  protected override onCreate(instance: NzNotificationData): Required<NzNotificationData> {\n    instance.options = this.mergeOptions(instance.options);\n    instance.onClose = new Subject<boolean>();\n    instance.onClick = new Subject<MouseEvent>();\n    return instance as Required<NzNotificationData>;\n  }\n\n  protected subscribeConfigChange(): void {\n    this.nzConfigService\n      .getConfigChangeEventForComponent(NZ_CONFIG_MODULE_NAME)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.updateConfig();\n        const config = this.nzConfigService.getConfigForComponent(NZ_CONFIG_MODULE_NAME);\n        if (config) {\n          const { nzDirection } = config;\n          this.dir = nzDirection || this.dir;\n        }\n      });\n  }\n\n  protected updateConfig(): void {\n    this.config = {\n      ...NZ_NOTIFICATION_DEFAULT_CONFIG,\n      ...this.config,\n      ...this.nzConfigService.getConfigForComponent(NZ_CONFIG_MODULE_NAME)\n    };\n\n    this.top = toCssPixel(this.config.nzTop!);\n    this.bottom = toCssPixel(this.config.nzBottom!);\n\n    this.cdr.markForCheck();\n  }\n\n  private replaceNotification(old: NzNotificationData, _new: NzNotificationData): void {\n    old.title = _new.title;\n    old.content = _new.content;\n    old.template = _new.template;\n    old.type = _new.type;\n    old.options = _new.options;\n  }\n\n  protected override readyInstances(): void {\n    this.topLeftInstances = this.instances.filter(m => m.options.nzPlacement === 'topLeft');\n    this.topRightInstances = this.instances.filter(m => m.options.nzPlacement === 'topRight' || !m.options.nzPlacement);\n    this.bottomLeftInstances = this.instances.filter(m => m.options.nzPlacement === 'bottomLeft');\n    this.bottomRightInstances = this.instances.filter(m => m.options.nzPlacement === 'bottomRight');\n\n    this.cdr.detectChanges();\n  }\n\n  protected override mergeOptions(options?: NzNotificationDataOptions): NzNotificationDataOptions {\n    const { nzDuration, nzAnimate, nzPauseOnHover, nzPlacement } = this.config;\n    return { nzDuration, nzAnimate, nzPauseOnHover, nzPlacement, ...options };\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\n@NgModule()\nexport class NzNotificationServiceModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzNotificationContainerComponent } from './notification-container.component';\nimport { NzNotificationComponent } from './notification.component';\nimport { NzNotificationServiceModule } from './notification.service.module';\n\n@NgModule({\n  imports: [BidiModule, CommonModule, OverlayModule, NzIconModule, NzOutletModule, NzNotificationServiceModule],\n  declarations: [NzNotificationComponent, NzNotificationContainerComponent],\n  entryComponents: [NzNotificationContainerComponent]\n})\nexport class NzNotificationModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Overlay } from '@angular/cdk/overlay';\nimport { Injectable, Injector, TemplateRef } from '@angular/core';\n\nimport { NzSingletonService } from 'ng-zorro-antd/core/services';\nimport { NzMNService } from 'ng-zorro-antd/message';\n\nimport { NzNotificationContainerComponent } from './notification-container.component';\nimport { NzNotificationServiceModule } from './notification.service.module';\nimport { NzNotificationData, NzNotificationDataOptions, NzNotificationRef } from './typings';\n\nlet notificationId = 0;\n\n@Injectable({\n  providedIn: NzNotificationServiceModule\n})\nexport class NzNotificationService extends NzMNService {\n  protected override container!: NzNotificationContainerComponent;\n  protected componentPrefix = 'notification-';\n\n  constructor(nzSingletonService: NzSingletonService, overlay: Overlay, injector: Injector) {\n    super(nzSingletonService, overlay, injector);\n  }\n\n  success(title: string, content: string, options?: NzNotificationDataOptions): NzNotificationRef {\n    return this.createInstance({ type: 'success', title, content }, options);\n  }\n\n  error(title: string, content: string, options?: NzNotificationDataOptions): NzNotificationRef {\n    return this.createInstance({ type: 'error', title, content }, options);\n  }\n\n  info(title: string, content: string, options?: NzNotificationDataOptions): NzNotificationRef {\n    return this.createInstance({ type: 'info', title, content }, options);\n  }\n\n  warning(title: string, content: string, options?: NzNotificationDataOptions): NzNotificationRef {\n    return this.createInstance({ type: 'warning', title, content }, options);\n  }\n\n  blank(title: string, content: string, options?: NzNotificationDataOptions): NzNotificationRef {\n    return this.createInstance({ type: 'blank', title, content }, options);\n  }\n\n  create(\n    type: 'success' | 'info' | 'warning' | 'error' | 'blank' | string,\n    title: string,\n    content: string,\n    options?: NzNotificationDataOptions\n  ): NzNotificationRef {\n    return this.createInstance({ type, title, content }, options);\n  }\n\n  template(template: TemplateRef<{}>, options?: NzNotificationDataOptions): NzNotificationRef {\n    return this.createInstance({ template }, options);\n  }\n\n  protected generateMessageId(): string {\n    return `${this.componentPrefix}-${notificationId++}`;\n  }\n\n  private createInstance(message: NzNotificationData, options?: NzNotificationDataOptions): NzNotificationRef {\n    this.container = this.withContainer(NzNotificationContainerComponent);\n\n    return this.container.create({\n      ...message,\n      ...{\n        createdAt: new Date(),\n        messageId: this.generateMessageId(),\n        options\n      }\n    });\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './notification.component';\nexport * from './notification.module';\nexport * from './typings';\nexport * from './notification.service';\nexport * from './notification.service.module';\nexport * from './notification-container.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.NzNotificationComponent","i3","i2"],"mappings":"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"}