{"version":3,"file":"vts-voffice-ng-vts-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/typings.ts","../../components/message/public-api.ts","../../components/message/vts-voffice-ng-vts-message.ts"],"sourcesContent":["/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { AnimationEvent } from '@angular/animations';\r\nimport { ComponentType, Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport {\r\n  ChangeDetectorRef,\r\n  Directive,\r\n  EventEmitter,\r\n  Injector,\r\n  OnDestroy,\r\n  OnInit\r\n} from '@angular/core';\r\nimport { MessageConfig, VtsConfigService } from '@vts-voffice/ng-vts/core/config';\r\nimport { VtsSingletonService } from '@vts-voffice/ng-vts/core/services';\r\nimport { Subject } from 'rxjs';\r\nimport { filter, take } from 'rxjs/operators';\r\n\r\nimport { VtsMessageData, VtsMessageDataOptions } from './typings';\r\n\r\nlet globalCounter = 0;\r\n\r\nexport abstract class VtsMNService {\r\n  protected abstract componentPrefix: string;\r\n  protected container?: VtsMNContainerComponent;\r\n\r\n  constructor(\r\n    protected vtsSingletonService: VtsSingletonService,\r\n    protected overlay: Overlay,\r\n    private injector: Injector\r\n  ) {}\r\n\r\n  remove(id?: string): void {\r\n    if (this.container) {\r\n      if (id) {\r\n        this.container.remove(id);\r\n      } else {\r\n        this.container.removeAll();\r\n      }\r\n    }\r\n  }\r\n\r\n  protected getInstanceId(): string {\r\n    return `${this.componentPrefix}-${globalCounter++}`;\r\n  }\r\n\r\n  protected withContainer<T extends VtsMNContainerComponent>(ctor: ComponentType<T>): T {\r\n    let containerInstance = this.vtsSingletonService.getSingletonWithKey(this.componentPrefix);\r\n    if (containerInstance) {\r\n      return containerInstance as T;\r\n    }\r\n\r\n    const overlayRef = this.overlay.create({\r\n      hasBackdrop: false,\r\n      scrollStrategy: this.overlay.scrollStrategies.noop(),\r\n      positionStrategy: this.overlay.position().global()\r\n    });\r\n    const componentPortal = new ComponentPortal(ctor, null, this.injector);\r\n    const componentRef = overlayRef.attach(componentPortal);\r\n    const overlayPane = overlayRef.overlayElement;\r\n    overlayPane.style.zIndex = '1010';\r\n\r\n    if (!containerInstance) {\r\n      this.container = containerInstance = componentRef.instance;\r\n      this.vtsSingletonService.registerSingletonWithKey(this.componentPrefix, containerInstance);\r\n    }\r\n\r\n    return containerInstance as T;\r\n  }\r\n}\r\n\r\n@Directive()\r\nexport abstract class VtsMNContainerComponent implements OnInit, OnDestroy {\r\n  config?: Required<MessageConfig>;\r\n  instances: Array<Required<VtsMessageData>> = [];\r\n\r\n  protected readonly destroy$ = new Subject<void>();\r\n\r\n  constructor(protected cdr: ChangeDetectorRef, protected vtsConfigService: VtsConfigService) {\r\n    this.updateConfig();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.subscribeConfigChange();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  create(data: VtsMessageData): Required<VtsMessageData> {\r\n    const instance = this.onCreate(data);\r\n\r\n    if (this.instances.length >= this.config!.vtsMaxStack) {\r\n      this.instances = this.instances.slice(1);\r\n    }\r\n\r\n    this.instances = [...this.instances, instance];\r\n\r\n    this.readyInstances();\r\n\r\n    return instance;\r\n  }\r\n\r\n  remove(id: string, userAction: boolean = false): void {\r\n    this.instances.some((instance, index) => {\r\n      if (instance.messageId === id) {\r\n        this.instances.splice(index, 1);\r\n        this.instances = [...this.instances];\r\n        this.onRemove(instance, userAction);\r\n        this.readyInstances();\r\n        return true;\r\n      }\r\n      return false;\r\n    });\r\n  }\r\n\r\n  removeAll(): void {\r\n    this.instances.forEach(i => this.onRemove(i, false));\r\n    this.instances = [];\r\n\r\n    this.readyInstances();\r\n  }\r\n\r\n  protected onCreate(instance: VtsMessageData): Required<VtsMessageData> {\r\n    instance.options = this.mergeOptions(instance.options);\r\n    instance.onClose = new Subject<boolean>();\r\n    return instance as Required<VtsMessageData>;\r\n  }\r\n\r\n  protected onRemove(instance: Required<VtsMessageData>, userAction: boolean): void {\r\n    instance.onClose.next(userAction);\r\n    instance.onClose.complete();\r\n  }\r\n\r\n  protected readyInstances(): void {\r\n    this.cdr.detectChanges();\r\n  }\r\n\r\n  protected abstract updateConfig(): void;\r\n\r\n  protected abstract subscribeConfigChange(): void;\r\n\r\n  protected mergeOptions(options?: VtsMessageDataOptions): VtsMessageDataOptions {\r\n    const { vtsDuration, vtsAnimate, vtsPauseOnHover } = this.config!;\r\n    return { vtsDuration, vtsAnimate, vtsPauseOnHover, ...options };\r\n  }\r\n}\r\n\r\n@Directive()\r\nexport abstract class VtsMNComponent implements OnInit, OnDestroy {\r\n  instance!: Required<VtsMessageData>;\r\n  index?: number;\r\n\r\n  readonly destroyed = new EventEmitter<{ id: string; userAction: boolean }>();\r\n  readonly animationStateChanged: Subject<AnimationEvent> = new Subject<AnimationEvent>();\r\n\r\n  protected options!: Required<VtsMessageDataOptions>;\r\n  protected autoClose?: boolean;\r\n  protected closeTimer?: number | ReturnType<typeof setTimeout>;\r\n  protected userAction: boolean = false;\r\n  protected eraseTimer: number | ReturnType<typeof setTimeout> | null = null;\r\n  protected eraseTimingStart?: number;\r\n  protected eraseTTL!: number;\r\n\r\n  protected constructor(protected cdr: ChangeDetectorRef) {}\r\n\r\n  ngOnInit(): void {\r\n    this.options = this.instance.options as Required<VtsMessageDataOptions>;\r\n\r\n    if (this.options.vtsAnimate) {\r\n      this.instance.state = 'enter';\r\n      this.animationStateChanged\r\n        .pipe(\r\n          filter(event => event.phaseName === 'done' && event.toState === 'leave'),\r\n          take(1)\r\n        )\r\n        .subscribe(() => {\r\n          clearTimeout(this.closeTimer);\r\n          this.destroyed.next({\r\n            id: this.instance.messageId,\r\n            userAction: this.userAction\r\n          });\r\n        });\r\n    }\r\n\r\n    this.autoClose = this.options.vtsDuration > 0;\r\n\r\n    if (this.autoClose) {\r\n      this.initErase();\r\n      this.startEraseTimeout();\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.autoClose) {\r\n      this.clearEraseTimeout();\r\n    }\r\n    this.animationStateChanged.complete();\r\n  }\r\n\r\n  onEnter(): void {\r\n    if (this.autoClose && this.options.vtsPauseOnHover) {\r\n      this.clearEraseTimeout();\r\n      this.updateTTL();\r\n    }\r\n  }\r\n\r\n  onLeave(): void {\r\n    if (this.autoClose && this.options.vtsPauseOnHover) {\r\n      this.startEraseTimeout();\r\n    }\r\n  }\r\n\r\n  protected destroy(userAction: boolean = false): void {\r\n    this.userAction = userAction;\r\n    if (this.options.vtsAnimate) {\r\n      this.instance.state = 'leave';\r\n      this.cdr.detectChanges();\r\n      this.closeTimer = setTimeout(() => {\r\n        this.closeTimer = undefined;\r\n        this.destroyed.next({\r\n          id: this.instance.messageId,\r\n          userAction: userAction\r\n        });\r\n      }, 200);\r\n    } else {\r\n      this.destroyed.next({\r\n        id: this.instance.messageId,\r\n        userAction: userAction\r\n      });\r\n    }\r\n  }\r\n\r\n  private initErase(): void {\r\n    this.eraseTTL = this.options.vtsDuration;\r\n    this.eraseTimingStart = Date.now();\r\n  }\r\n\r\n  private updateTTL(): void {\r\n    if (this.autoClose) {\r\n      this.eraseTTL -= Date.now() - this.eraseTimingStart!;\r\n    }\r\n  }\r\n\r\n  private startEraseTimeout(): void {\r\n    if (this.eraseTTL > 0) {\r\n      this.clearEraseTimeout();\r\n      this.eraseTimer = setTimeout(() => this.destroy(), this.eraseTTL);\r\n      this.eraseTimingStart = Date.now();\r\n    } else {\r\n      this.destroy();\r\n    }\r\n  }\r\n\r\n  private clearEraseTimeout(): void {\r\n    if (this.eraseTimer !== null) {\r\n      clearTimeout(this.eraseTimer);\r\n      this.eraseTimer = null;\r\n    }\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { moveUpMotion } from '@vts-voffice/ng-vts/core/animation';\r\n\r\nimport { VtsMNComponent } from './base';\r\nimport { VtsMessageData } from './typings';\r\n\r\n@Component({\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  selector: 'vts-message',\r\n  exportAs: 'vtsMessage',\r\n  preserveWhitespaces: false,\r\n  animations: [moveUpMotion],\r\n  template: `\r\n    <div\r\n      class=\"vts-message-notice\"\r\n      [@moveUpMotion]=\"instance.state\"\r\n      (@moveUpMotion.done)=\"animationStateChanged.next($event)\"\r\n      (mouseenter)=\"onEnter()\"\r\n      (mouseleave)=\"onLeave()\"\r\n    >\r\n      <div class=\"vts-message-notice-content\">\r\n        <div class=\"vts-message-custom-content\" [ngClass]=\"'vts-message-' + instance.type\">\r\n          <ng-container [ngSwitch]=\"instance.type\">\r\n            <i *ngSwitchCase=\"'success'\" vts-icon vtsType=\"CheckCircle\"></i>\r\n            <i *ngSwitchCase=\"'info'\" vts-icon vtsType=\"info-circle\"></i>\r\n            <i *ngSwitchCase=\"'warning'\" vts-icon vtsType=\"exclamation-circle\"></i>\r\n            <i *ngSwitchCase=\"'error'\" vts-icon vtsType=\"Close\"></i>\r\n            <i *ngSwitchCase=\"'loading'\" vts-icon vtsType=\"Sync\"></i>\r\n          </ng-container>\r\n          <ng-container *vtsStringTemplateOutlet=\"instance.content\">\r\n            <span [innerHTML]=\"instance.content\"></span>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  `\r\n})\r\nexport class VtsMessageComponent extends VtsMNComponent implements OnInit, OnDestroy {\r\n  @Input() override instance!: Required<VtsMessageData>;\r\n  @Output() override readonly destroyed = new EventEmitter<{\r\n    id: string;\r\n    userAction: boolean;\r\n  }>();\r\n\r\n  constructor(cdr: ChangeDetectorRef) {\r\n    super(cdr);\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { MessageConfig, VtsConfigService } from '@vts-voffice/ng-vts/core/config';\r\nimport { toCssPixel } from '@vts-voffice/ng-vts/core/util';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { Direction } from '@angular/cdk/bidi';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { VtsMNContainerComponent } from './base';\r\nimport { VtsMessageData } from './typings';\r\n\r\nconst VTS_CONFIG_COMPONENT_NAME = 'message';\r\n\r\nconst VTS_MESSAGE_DEFAULT_CONFIG: Required<MessageConfig> = {\r\n  vtsAnimate: true,\r\n  vtsDuration: 3000,\r\n  vtsMaxStack: 7,\r\n  vtsPauseOnHover: true,\r\n  vtsTop: 24,\r\n  vtsDirection: 'ltr'\r\n};\r\n\r\n@Component({\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  selector: 'vts-message-container',\r\n  exportAs: 'vtsMessageContainer',\r\n  preserveWhitespaces: false,\r\n  template: `\r\n    <div class=\"vts-message\" [class.vts-message-rtl]=\"dir === 'rtl'\" [style.top]=\"top\">\r\n      <vts-message\r\n        *ngFor=\"let instance of instances\"\r\n        [instance]=\"instance\"\r\n        (destroyed)=\"remove($event.id, $event.userAction)\"\r\n      ></vts-message>\r\n    </div>\r\n  `\r\n})\r\nexport class VtsMessageContainerComponent extends VtsMNContainerComponent {\r\n  override readonly destroy$ = new Subject<void>();\r\n  dir: Direction = 'ltr';\r\n  override instances: Array<Required<VtsMessageData>> = [];\r\n  top?: string | null;\r\n\r\n  constructor(cdr: ChangeDetectorRef, vtsConfigService: VtsConfigService) {\r\n    super(cdr, vtsConfigService);\r\n    const config = this.vtsConfigService.getConfigForComponent(VTS_CONFIG_COMPONENT_NAME);\r\n    this.dir = config?.vtsDirection || 'ltr';\r\n  }\r\n\r\n  protected subscribeConfigChange(): void {\r\n    this.vtsConfigService\r\n      .getConfigChangeEventForComponent(VTS_CONFIG_COMPONENT_NAME)\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(() => {\r\n        this.updateConfig();\r\n        const config = this.vtsConfigService.getConfigForComponent(VTS_CONFIG_COMPONENT_NAME);\r\n        if (config) {\r\n          const { vtsDirection } = config;\r\n          this.dir = vtsDirection || this.dir;\r\n        }\r\n      });\r\n  }\r\n\r\n  protected updateConfig(): void {\r\n    this.config = {\r\n      ...VTS_MESSAGE_DEFAULT_CONFIG,\r\n      ...this.config,\r\n      ...this.vtsConfigService.getConfigForComponent(VTS_CONFIG_COMPONENT_NAME)\r\n    };\r\n\r\n    this.top = toCssPixel(this.config.vtsTop);\r\n    this.cdr.markForCheck();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule()\r\nexport class VtsMessageServiceModule {}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { Overlay } from '@angular/cdk/overlay';\r\nimport { Injectable, Injector, TemplateRef } from '@angular/core';\r\nimport { VtsSingletonService } from '@vts-voffice/ng-vts/core/services';\r\n\r\nimport { VtsMNService } from './base';\r\nimport { VtsMessageContainerComponent } from './message-container.component';\r\nimport { VtsMessageServiceModule } from './message.service.module';\r\nimport { VtsMessageData, VtsMessageDataOptions, VtsMessageRef } from './typings';\r\n\r\n@Injectable({\r\n  providedIn: VtsMessageServiceModule\r\n})\r\nexport class VtsMessageService extends VtsMNService {\r\n  protected override container?: VtsMessageContainerComponent;\r\n  protected componentPrefix = 'message-';\r\n\r\n  constructor(vtsSingletonService: VtsSingletonService, overlay: Overlay, injector: Injector) {\r\n    super(vtsSingletonService, overlay, injector);\r\n  }\r\n\r\n  success(content: string | TemplateRef<void>, options?: VtsMessageDataOptions): VtsMessageRef {\r\n    return this.createInstance({ type: 'success', content }, options);\r\n  }\r\n\r\n  error(content: string | TemplateRef<void>, options?: VtsMessageDataOptions): VtsMessageRef {\r\n    return this.createInstance({ type: 'error', content }, options);\r\n  }\r\n\r\n  info(content: string | TemplateRef<void>, options?: VtsMessageDataOptions): VtsMessageRef {\r\n    return this.createInstance({ type: 'info', content }, options);\r\n  }\r\n\r\n  warning(content: string | TemplateRef<void>, options?: VtsMessageDataOptions): VtsMessageRef {\r\n    return this.createInstance({ type: 'warning', content }, options);\r\n  }\r\n\r\n  loading(content: string | TemplateRef<void>, options?: VtsMessageDataOptions): VtsMessageRef {\r\n    return this.createInstance({ type: 'loading', content }, options);\r\n  }\r\n\r\n  create(\r\n    type: 'success' | 'info' | 'warning' | 'error' | 'loading' | string,\r\n    content: string | TemplateRef<void>,\r\n    options?: VtsMessageDataOptions\r\n  ): VtsMessageRef {\r\n    return this.createInstance({ type, content }, options);\r\n  }\r\n\r\n  private createInstance(message: VtsMessageData, options?: VtsMessageDataOptions): VtsMessageRef {\r\n    this.container = this.withContainer(VtsMessageContainerComponent);\r\n\r\n    return this.container.create({\r\n      ...message,\r\n      ...{\r\n        createdAt: new Date(),\r\n        messageId: this.getInstanceId(),\r\n        options\r\n      }\r\n    });\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { BidiModule } from '@angular/cdk/bidi';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { VtsOutletModule } from '@vts-voffice/ng-vts/core/outlet';\r\nimport { VtsIconModule } from '@vts-voffice/ng-vts/icon';\r\nimport { VtsMessageContainerComponent } from './message-container.component';\r\nimport { VtsMessageComponent } from './message.component';\r\nimport { VtsMessageServiceModule } from './message.service.module';\r\n\r\n@NgModule({\r\n  imports: [\r\n    BidiModule,\r\n    CommonModule,\r\n    OverlayModule,\r\n    VtsIconModule,\r\n    VtsOutletModule,\r\n    VtsMessageServiceModule\r\n  ],\r\n  declarations: [VtsMessageContainerComponent, VtsMessageComponent]\r\n})\r\nexport class VtsMessageModule {}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { TemplateRef } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\nexport type VtsMessageType = 'success' | 'info' | 'warning' | 'error' | 'loading';\r\n\r\nexport interface VtsMessageDataOptions {\r\n  vtsDuration?: number;\r\n  vtsAnimate?: boolean;\r\n  vtsPauseOnHover?: boolean;\r\n}\r\n\r\nexport interface VtsMessageData {\r\n  type?: VtsMessageType | string;\r\n  content?: string | TemplateRef<void>;\r\n  messageId?: string;\r\n  createdAt?: Date;\r\n  options?: VtsMessageDataOptions;\r\n  state?: 'enter' | 'leave';\r\n\r\n  onClose?: Subject<boolean>;\r\n}\r\n\r\nexport type VtsMessageRef = Pick<Required<VtsMessageData>, 'onClose' | 'messageId'>;\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nexport * from './base';\r\nexport * from './message.service';\r\nexport * from './message.service.module';\r\nexport * from './message.module';\r\nexport * from './message.component';\r\nexport * from './typings';\r\nexport * from './message-container.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.VtsMessageComponent"],"mappings":"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"}