{"version":3,"file":"ng-zorro-antd-message.mjs","sources":["../../components/message/base.ts","../../components/message/message.component.ts","../../components/message/message-container.component.ts","../../components/message/message.service.module.ts","../../components/message/message.service.ts","../../components/message/message.module.ts","../../components/message/public-api.ts","../../components/message/ng-zorro-antd-message.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 { AnimationEvent } from '@angular/animations';\nimport { ComponentType, Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ChangeDetectorRef, Directive, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { MessageConfig, NzConfigService } from 'ng-zorro-antd/core/config';\nimport { NzSingletonService } from 'ng-zorro-antd/core/services';\n\nimport { NzMessageData, NzMessageDataOptions } from './typings';\n\nlet globalCounter = 0;\n\nexport abstract class NzMNService {\n  protected abstract componentPrefix: string;\n  protected container?: NzMNContainerComponent;\n\n  constructor(\n    protected nzSingletonService: NzSingletonService,\n    protected overlay: Overlay,\n    private injector: Injector\n  ) {}\n\n  remove(id?: string): void {\n    if (this.container) {\n      if (id) {\n        this.container.remove(id);\n      } else {\n        this.container.removeAll();\n      }\n    }\n  }\n\n  protected getInstanceId(): string {\n    return `${this.componentPrefix}-${globalCounter++}`;\n  }\n\n  protected withContainer<T extends NzMNContainerComponent>(ctor: ComponentType<T>): T {\n    let containerInstance = this.nzSingletonService.getSingletonWithKey(this.componentPrefix);\n    if (containerInstance) {\n      return containerInstance as T;\n    }\n\n    const overlayRef = this.overlay.create({\n      hasBackdrop: false,\n      scrollStrategy: this.overlay.scrollStrategies.noop(),\n      positionStrategy: this.overlay.position().global()\n    });\n    const componentPortal = new ComponentPortal(ctor, null, this.injector);\n    const componentRef = overlayRef.attach(componentPortal);\n    const overlayPane = overlayRef.overlayElement;\n    overlayPane.style.zIndex = '1010';\n\n    if (!containerInstance) {\n      this.container = containerInstance = componentRef.instance;\n      this.nzSingletonService.registerSingletonWithKey(this.componentPrefix, containerInstance);\n    }\n\n    return containerInstance as T;\n  }\n}\n\n@Directive()\nexport abstract class NzMNContainerComponent implements OnInit, OnDestroy {\n  config?: Required<MessageConfig>;\n  instances: Array<Required<NzMessageData>> = [];\n\n  protected readonly destroy$ = new Subject<void>();\n\n  constructor(protected cdr: ChangeDetectorRef, protected nzConfigService: NzConfigService) {\n    this.updateConfig();\n  }\n\n  ngOnInit(): void {\n    this.subscribeConfigChange();\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  create(data: NzMessageData): Required<NzMessageData> {\n    const instance = this.onCreate(data);\n\n    if (this.instances.length >= this.config!.nzMaxStack) {\n      this.instances = this.instances.slice(1);\n    }\n\n    this.instances = [...this.instances, instance];\n\n    this.readyInstances();\n\n    return instance;\n  }\n\n  remove(id: string, userAction: boolean = false): void {\n    this.instances.some((instance, index) => {\n      if (instance.messageId === id) {\n        this.instances.splice(index, 1);\n        this.instances = [...this.instances];\n        this.onRemove(instance, userAction);\n        this.readyInstances();\n        return true;\n      }\n      return false;\n    });\n  }\n\n  removeAll(): void {\n    this.instances.forEach(i => this.onRemove(i, false));\n    this.instances = [];\n\n    this.readyInstances();\n  }\n\n  protected onCreate(instance: NzMessageData): Required<NzMessageData> {\n    instance.options = this.mergeOptions(instance.options);\n    instance.onClose = new Subject<boolean>();\n    return instance as Required<NzMessageData>;\n  }\n\n  protected onRemove(instance: Required<NzMessageData>, userAction: boolean): void {\n    instance.onClose.next(userAction);\n    instance.onClose.complete();\n  }\n\n  protected readyInstances(): void {\n    this.cdr.detectChanges();\n  }\n\n  protected abstract updateConfig(): void;\n\n  protected abstract subscribeConfigChange(): void;\n\n  protected mergeOptions(options?: NzMessageDataOptions): NzMessageDataOptions {\n    const { nzDuration, nzAnimate, nzPauseOnHover } = this.config!;\n    return { nzDuration, nzAnimate, nzPauseOnHover, ...options };\n  }\n}\n\n@Directive()\nexport abstract class NzMNComponent implements OnInit, OnDestroy {\n  instance!: Required<NzMessageData>;\n  index?: number;\n\n  readonly destroyed = new EventEmitter<{ id: string; userAction: boolean }>();\n  readonly animationStateChanged: Subject<AnimationEvent> = new Subject<AnimationEvent>();\n\n  protected options!: Required<NzMessageDataOptions>;\n  protected autoClose?: boolean;\n  protected closeTimer?: number;\n  protected userAction: boolean = false;\n  protected eraseTimer: number | null = null;\n  protected eraseTimingStart?: number;\n  protected eraseTTL!: number;\n\n  protected constructor(protected cdr: ChangeDetectorRef) {}\n\n  ngOnInit(): void {\n    this.options = this.instance.options as Required<NzMessageDataOptions>;\n\n    if (this.options.nzAnimate) {\n      this.instance.state = 'enter';\n      this.animationStateChanged\n        .pipe(\n          filter(event => event.phaseName === 'done' && event.toState === 'leave'),\n          take(1)\n        )\n        .subscribe(() => {\n          clearTimeout(this.closeTimer);\n          this.destroyed.next({ id: this.instance.messageId, userAction: this.userAction });\n        });\n    }\n\n    this.autoClose = this.options.nzDuration > 0;\n\n    if (this.autoClose) {\n      this.initErase();\n      this.startEraseTimeout();\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.autoClose) {\n      this.clearEraseTimeout();\n    }\n    this.animationStateChanged.complete();\n  }\n\n  onEnter(): void {\n    if (this.autoClose && this.options.nzPauseOnHover) {\n      this.clearEraseTimeout();\n      this.updateTTL();\n    }\n  }\n\n  onLeave(): void {\n    if (this.autoClose && this.options.nzPauseOnHover) {\n      this.startEraseTimeout();\n    }\n  }\n\n  protected destroy(userAction: boolean = false): void {\n    this.userAction = userAction;\n    if (this.options.nzAnimate) {\n      this.instance.state = 'leave';\n      this.cdr.detectChanges();\n      this.closeTimer = setTimeout(() => {\n        this.closeTimer = undefined;\n        this.destroyed.next({ id: this.instance.messageId, userAction });\n      }, 200);\n    } else {\n      this.destroyed.next({ id: this.instance.messageId, userAction });\n    }\n  }\n\n  private initErase(): void {\n    this.eraseTTL = this.options.nzDuration;\n    this.eraseTimingStart = Date.now();\n  }\n\n  private updateTTL(): void {\n    if (this.autoClose) {\n      this.eraseTTL -= Date.now() - this.eraseTimingStart!;\n    }\n  }\n\n  private startEraseTimeout(): void {\n    if (this.eraseTTL > 0) {\n      this.clearEraseTimeout();\n      this.eraseTimer = setTimeout(() => this.destroy(), this.eraseTTL);\n      this.eraseTimingStart = Date.now();\n    } else {\n      this.destroy();\n    }\n  }\n\n  private clearEraseTimeout(): void {\n    if (this.eraseTimer !== null) {\n      clearTimeout(this.eraseTimer);\n      this.eraseTimer = null;\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 {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { moveUpMotion } from 'ng-zorro-antd/core/animation';\n\nimport { NzMNComponent } from './base';\nimport { NzMessageData } from './typings';\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  selector: 'nz-message',\n  exportAs: 'nzMessage',\n  preserveWhitespaces: false,\n  animations: [moveUpMotion],\n  template: `\n    <div\n      class=\"ant-message-notice\"\n      [@moveUpMotion]=\"instance.state\"\n      (@moveUpMotion.done)=\"animationStateChanged.next($event)\"\n      (mouseenter)=\"onEnter()\"\n      (mouseleave)=\"onLeave()\"\n    >\n      <div class=\"ant-message-notice-content\">\n        <div class=\"ant-message-custom-content\" [ngClass]=\"'ant-message-' + instance.type\">\n          <ng-container [ngSwitch]=\"instance.type\">\n            <span *ngSwitchCase=\"'success'\" nz-icon nzType=\"check-circle\"></span>\n            <span *ngSwitchCase=\"'info'\" nz-icon nzType=\"info-circle\"></span>\n            <span *ngSwitchCase=\"'warning'\" nz-icon nzType=\"exclamation-circle\"></span>\n            <span *ngSwitchCase=\"'error'\" nz-icon nzType=\"close-circle\"></span>\n            <span *ngSwitchCase=\"'loading'\" nz-icon nzType=\"loading\"></span>\n          </ng-container>\n          <ng-container *nzStringTemplateOutlet=\"instance.content\">\n            <span [innerHTML]=\"instance.content\"></span>\n          </ng-container>\n        </div>\n      </div>\n    </div>\n  `\n})\nexport class NzMessageComponent extends NzMNComponent implements OnInit, OnDestroy {\n  @Input() override instance!: Required<NzMessageData>;\n  @Output() override readonly destroyed = new EventEmitter<{ id: string; userAction: boolean }>();\n\n  constructor(cdr: ChangeDetectorRef) {\n    super(cdr);\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 { takeUntil } from 'rxjs/operators';\n\nimport { MessageConfig, NzConfigService } from 'ng-zorro-antd/core/config';\nimport { toCssPixel } from 'ng-zorro-antd/core/util';\n\nimport { NzMNContainerComponent } from './base';\n\nconst NZ_CONFIG_COMPONENT_NAME = 'message';\n\nconst NZ_MESSAGE_DEFAULT_CONFIG: Required<MessageConfig> = {\n  nzAnimate: true,\n  nzDuration: 3000,\n  nzMaxStack: 7,\n  nzPauseOnHover: true,\n  nzTop: 24,\n  nzDirection: 'ltr'\n};\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  selector: 'nz-message-container',\n  exportAs: 'nzMessageContainer',\n  preserveWhitespaces: false,\n  template: `\n    <div class=\"ant-message\" [class.ant-message-rtl]=\"dir === 'rtl'\" [style.top]=\"top\">\n      <nz-message\n        *ngFor=\"let instance of instances\"\n        [instance]=\"instance\"\n        (destroyed)=\"remove($event.id, $event.userAction)\"\n      ></nz-message>\n    </div>\n  `\n})\nexport class NzMessageContainerComponent extends NzMNContainerComponent {\n  dir: Direction = 'ltr';\n  top?: string | null;\n\n  constructor(cdr: ChangeDetectorRef, nzConfigService: NzConfigService) {\n    super(cdr, nzConfigService);\n    const config = this.nzConfigService.getConfigForComponent(NZ_CONFIG_COMPONENT_NAME);\n    this.dir = config?.nzDirection || 'ltr';\n  }\n\n  protected subscribeConfigChange(): void {\n    this.nzConfigService\n      .getConfigChangeEventForComponent(NZ_CONFIG_COMPONENT_NAME)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.updateConfig();\n        const config = this.nzConfigService.getConfigForComponent(NZ_CONFIG_COMPONENT_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_MESSAGE_DEFAULT_CONFIG,\n      ...this.config,\n      ...this.nzConfigService.getConfigForComponent(NZ_CONFIG_COMPONENT_NAME)\n    };\n\n    this.top = toCssPixel(this.config.nzTop);\n    this.cdr.markForCheck();\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 NzMessageServiceModule {}\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';\n\nimport { NzMNService } from './base';\nimport { NzMessageContainerComponent } from './message-container.component';\nimport { NzMessageServiceModule } from './message.service.module';\nimport { NzMessageData, NzMessageDataOptions, NzMessageRef } from './typings';\n\n@Injectable({\n  providedIn: NzMessageServiceModule\n})\nexport class NzMessageService extends NzMNService {\n  protected override container?: NzMessageContainerComponent;\n  protected componentPrefix = 'message-';\n\n  constructor(nzSingletonService: NzSingletonService, overlay: Overlay, injector: Injector) {\n    super(nzSingletonService, overlay, injector);\n  }\n\n  success(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n    return this.createInstance({ type: 'success', content }, options);\n  }\n\n  error(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n    return this.createInstance({ type: 'error', content }, options);\n  }\n\n  info(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n    return this.createInstance({ type: 'info', content }, options);\n  }\n\n  warning(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n    return this.createInstance({ type: 'warning', content }, options);\n  }\n\n  loading(content: string | TemplateRef<void>, options?: NzMessageDataOptions): NzMessageRef {\n    return this.createInstance({ type: 'loading', content }, options);\n  }\n\n  create(\n    type: 'success' | 'info' | 'warning' | 'error' | 'loading' | string,\n    content: string | TemplateRef<void>,\n    options?: NzMessageDataOptions\n  ): NzMessageRef {\n    return this.createInstance({ type, content }, options);\n  }\n\n  private createInstance(message: NzMessageData, options?: NzMessageDataOptions): NzMessageRef {\n    this.container = this.withContainer(NzMessageContainerComponent);\n\n    return this.container.create({\n      ...message,\n      ...{\n        createdAt: new Date(),\n        messageId: this.getInstanceId(),\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\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 { NzMessageContainerComponent } from './message-container.component';\nimport { NzMessageComponent } from './message.component';\nimport { NzMessageServiceModule } from './message.service.module';\n\n@NgModule({\n  imports: [BidiModule, CommonModule, OverlayModule, NzIconModule, NzOutletModule, NzMessageServiceModule],\n  declarations: [NzMessageContainerComponent, NzMessageComponent]\n})\nexport class NzMessageModule {}\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 './base';\nexport * from './message.service';\nexport * from './message.service.module';\nexport * from './message.module';\nexport * from './message.component';\nexport * from './typings';\nexport * from './message-container.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.NzMessageComponent"],"mappings":"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"}