{"version":3,"file":"ui-vts-kit-ng-vts-modal.mjs","sources":["../../components/modal/modal-types.ts","../../components/modal/modal-config.ts","../../components/modal/modal-animations.ts","../../components/modal/utils.ts","../../components/modal/modal-container.ts","../../components/modal/modal-close.component.ts","../../components/modal/modal-confirm-container.component.ts","../../components/modal/modal-footer.component.ts","../../components/modal/modal-title.component.ts","../../components/modal/modal-container.component.ts","../../components/modal/modal-ref.ts","../../components/modal/modal.service.ts","../../components/modal/modal-content.directive.ts","../../components/modal/modal-footer.directive.ts","../../components/modal/modal-title.directive.ts","../../components/modal/modal.component.ts","../../components/modal/modal.module.ts","../../components/modal/modal-legacy-api.ts","../../components/modal/public-api.ts","../../components/modal/ui-vts-kit-ng-vts-modal.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 { Direction } from '@angular/cdk/bidi';\nimport { EventEmitter, TemplateRef, Type, ViewContainerRef } from '@angular/core';\nimport { VtsButtonShape, VtsButtonSize, VtsButtonType } from '@ui-vts-kit/ng-vts/button';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\nexport type OnClickCallback<T> = (instance: T) => (false | void | {}) | Promise<false | void | {}>;\n\nexport type ModalTypes = 'default' | 'confirm'; // Different modal styles we have supported\n\nexport type ConfirmType = 'confirm' | 'info' | 'success' | 'error' | 'warning'; // Subtypes of Confirm Modal\n\nexport interface StyleObjectLike {\n  [key: string]: string;\n}\n\n// @ts-ignore\nconst noopFun = () => void 0;\n\nexport class ModalOptions<T = VtsSafeAny, R = VtsSafeAny> {\n  vtsCentered?: boolean = false;\n  vtsClosable?: boolean = true;\n  vtsOkLoading?: boolean = false;\n  vtsOkDisabled?: boolean = false;\n  vtsCancelDisabled?: boolean = false;\n  vtsCancelLoading?: boolean = false;\n  vtsNoAnimation?: boolean = false;\n  vtsAutofocus?: 'ok' | 'cancel' | 'auto' | null = 'auto';\n  vtsMask?: boolean;\n  vtsMaskClosable?: boolean;\n  vtsKeyboard?: boolean = true;\n  vtsZIndex?: number = 1000;\n  vtsWidth?: number | string = 520;\n  vtsCloseIcon?: string | TemplateRef<void> = 'Close:vts';\n  vtsOkType?: VtsButtonType = 'primary';\n  vtsOkDanger?: boolean = false;\n  vtsModalType?: ModalTypes = 'default';\n  vtsOnCancel?: EventEmitter<T> | OnClickCallback<T> = noopFun;\n  vtsOnOk?: EventEmitter<T> | OnClickCallback<T> = noopFun;\n  vtsComponentParams?: Partial<T>;\n  vtsMaskStyle?: StyleObjectLike;\n  vtsBodyStyle?: StyleObjectLike;\n  vtsWrapClassName?: string;\n  vtsClassName?: string;\n  vtsStyle?: object;\n  vtsTitle?: string | TemplateRef<{}>;\n  vtsFooter?: string | TemplateRef<{}> | Array<ModalButtonOptions<T>> | null; // Default Modal ONLY\n  vtsCancelText?: string | null;\n  vtsOkText?: string | null;\n  vtsContent?: string | TemplateRef<VtsSafeAny> | Type<T>;\n  vtsCloseOnNavigation?: boolean;\n  vtsViewContainerRef?: ViewContainerRef;\n  // Template use only\n  vtsAfterOpen?: EventEmitter<void>;\n  vtsAfterClose?: EventEmitter<R>;\n\n  // Confirm\n  vtsIconType?: string = 'question-circle';\n  vtsDirection?: Direction;\n}\n\nexport interface ModalButtonOptions<T = VtsSafeAny> {\n  label: string;\n  type?: VtsButtonType;\n  danger?: boolean;\n  shape?: VtsButtonShape;\n  ghost?: boolean;\n  size?: VtsButtonSize;\n  autoLoading?: boolean; // Default: true, indicate whether show loading automatically while onClick returned a Promise\n\n  // [NOTE] \"componentInstance\" will refer to the component's instance when using Component\n  show?: boolean | ((this: ModalButtonOptions<T>, contentComponentInstance?: T) => boolean);\n  loading?: boolean | ((this: ModalButtonOptions<T>, contentComponentInstance?: T) => boolean); // This prop CAN'T use with autoLoading=true\n  disabled?: boolean | ((this: ModalButtonOptions<T>, contentComponentInstance?: T) => boolean);\n  onClick?(\n    this: ModalButtonOptions<T>,\n    contentComponentInstance?: T\n  ): VtsSafeAny | Promise<VtsSafeAny>;\n  [key: string]: VtsSafeAny;\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 { VtsConfigKey } from '@ui-vts-kit/ng-vts/core/config';\n\nexport const ZOOM_CLASS_NAME_MAP = {\n  enter: 'zoom-enter',\n  enterActive: 'zoom-enter-active',\n  leave: 'zoom-leave',\n  leaveActive: 'zoom-leave-active'\n};\n\nexport const FADE_CLASS_NAME_MAP = {\n  enter: 'fade-enter',\n  enterActive: 'fade-enter-active',\n  leave: 'fade-leave',\n  leaveActive: 'fade-leave-active'\n};\n\nexport const MODAL_MASK_CLASS_NAME = 'vts-modal-mask';\nexport const VTS_CONFIG_MODULE_NAME: VtsConfigKey = 'modal';\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  animate,\n  AnimationTriggerMetadata,\n  state,\n  style,\n  transition,\n  trigger\n} from '@angular/animations';\n\nexport const vtsModalAnimations: {\n  readonly modalContainer: AnimationTriggerMetadata;\n} = {\n  modalContainer: trigger('modalContainer', [\n    state('void, exit', style({})),\n    state('enter', style({})),\n    transition('* => enter', animate('.24s', style({}))),\n    transition('* => void, * => exit', animate('.2s', style({})))\n  ])\n};\n","import { ModalOptions } from './modal-types';\n\nexport function applyConfigDefaults(\n  config: ModalOptions,\n  defaultOptions: ModalOptions\n): ModalOptions {\n  return { ...defaultOptions, ...config };\n}\n\nexport function getValueWithConfig<T>(\n  userValue: T | undefined,\n  configValue: T | undefined,\n  defaultValue: T\n): T | undefined {\n  return typeof userValue === 'undefined'\n    ? typeof configValue === 'undefined'\n      ? defaultValue\n      : configValue\n    : userValue;\n}\n\nexport function setContentInstanceParams<T>(instance: T, params: Partial<T> | undefined): void {\n  Object.assign(instance, params);\n}\n\nexport function getConfigFromComponent<T extends ModalOptions>(component: T): ModalOptions {\n  const {\n    vtsCentered,\n    vtsMask,\n    vtsMaskClosable,\n    vtsClosable,\n    vtsOkLoading,\n    vtsOkDisabled,\n    vtsCancelDisabled,\n    vtsCancelLoading,\n    vtsKeyboard,\n    vtsNoAnimation,\n    vtsContent,\n    vtsComponentParams,\n    vtsFooter,\n    vtsZIndex,\n    vtsWidth,\n    vtsWrapClassName,\n    vtsClassName,\n    vtsStyle,\n    vtsTitle,\n    vtsCloseIcon,\n    vtsMaskStyle,\n    vtsBodyStyle,\n    vtsOkText,\n    vtsCancelText,\n    vtsOkType,\n    vtsOkDanger,\n    vtsIconType,\n    vtsModalType,\n    vtsOnOk,\n    vtsOnCancel,\n    vtsAfterOpen,\n    vtsAfterClose,\n    vtsCloseOnNavigation,\n    vtsAutofocus\n  } = component;\n  return {\n    vtsCentered,\n    vtsMask,\n    vtsMaskClosable,\n    vtsClosable,\n    vtsOkLoading,\n    vtsOkDisabled,\n    vtsCancelDisabled,\n    vtsCancelLoading,\n    vtsKeyboard,\n    vtsNoAnimation,\n    vtsContent,\n    vtsComponentParams,\n    vtsFooter,\n    vtsZIndex,\n    vtsWidth,\n    vtsWrapClassName,\n    vtsClassName,\n    vtsStyle,\n    vtsTitle,\n    vtsCloseIcon,\n    vtsMaskStyle,\n    vtsBodyStyle,\n    vtsOkText,\n    vtsCancelText,\n    vtsOkType,\n    vtsOkDanger,\n    vtsIconType,\n    vtsModalType,\n    vtsOnOk,\n    vtsOnCancel,\n    vtsAfterOpen,\n    vtsAfterClose,\n    vtsCloseOnNavigation,\n    vtsAutofocus\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 */\nimport { AnimationEvent } from '@angular/animations';\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport {\n  BasePortalOutlet,\n  CdkPortalOutlet,\n  ComponentPortal,\n  TemplatePortal\n} from '@angular/cdk/portal';\nimport {\n  ChangeDetectorRef,\n  ComponentRef,\n  Directive,\n  ElementRef,\n  EmbeddedViewRef,\n  EventEmitter,\n  OnDestroy,\n  Renderer2\n} from '@angular/core';\nimport { VtsConfigService } from '@ui-vts-kit/ng-vts/core/config';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { getElementOffset, isNotNil } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n  FADE_CLASS_NAME_MAP,\n  MODAL_MASK_CLASS_NAME,\n  VTS_CONFIG_MODULE_NAME,\n  ZOOM_CLASS_NAME_MAP\n} from './modal-config';\n\nimport { VtsModalRef } from './modal-ref';\nimport { ModalOptions } from './modal-types';\nimport { getValueWithConfig } from './utils';\n\nexport function throwVtsModalContentAlreadyAttachedError(): never {\n  throw Error('Attempting to attach modal content after content is already attached');\n}\n\n@Directive()\nexport class BaseModalContainerComponent extends BasePortalOutlet implements OnDestroy {\n  portalOutlet!: CdkPortalOutlet;\n  modalElementRef!: ElementRef<HTMLDivElement>;\n\n  animationStateChanged = new EventEmitter<AnimationEvent>();\n  containerClick = new EventEmitter<void>();\n  cancelTriggered = new EventEmitter<void>();\n  okTriggered = new EventEmitter<void>();\n\n  state: 'void' | 'enter' | 'exit' = 'enter';\n  document: Document;\n  modalRef!: VtsModalRef;\n  isStringContent: boolean = false;\n  dir: Direction = 'ltr';\n  private elementFocusedBeforeModalWasOpened: HTMLElement | null = null;\n  private focusTrap!: FocusTrap;\n  private mouseDown = false;\n  private oldMaskStyle: { [key: string]: string } | null = null;\n  protected destroy$ = new Subject();\n\n  get showMask(): boolean {\n    const defaultConfig: VtsSafeAny =\n      this.vtsConfigService.getConfigForComponent(VTS_CONFIG_MODULE_NAME) || {};\n\n    return !!getValueWithConfig<boolean>(this.config.vtsMask, defaultConfig.vtsMask, true);\n  }\n\n  get maskClosable(): boolean {\n    const defaultConfig: VtsSafeAny =\n      this.vtsConfigService.getConfigForComponent(VTS_CONFIG_MODULE_NAME) || {};\n\n    return !!getValueWithConfig<boolean>(\n      this.config.vtsMaskClosable,\n      defaultConfig.vtsMaskClosable,\n      true\n    );\n  }\n\n  constructor(\n    protected elementRef: ElementRef,\n    protected focusTrapFactory: FocusTrapFactory,\n    public cdr: ChangeDetectorRef,\n    protected render: Renderer2,\n    protected overlayRef: OverlayRef,\n    protected vtsConfigService: VtsConfigService,\n    public config: ModalOptions,\n    document?: VtsSafeAny,\n    protected animationType?: string\n  ) {\n    super();\n    this.document = document;\n    this.dir = overlayRef.getDirection();\n    this.isStringContent = typeof config.vtsContent === 'string';\n    this.vtsConfigService\n      .getConfigChangeEventForComponent(VTS_CONFIG_MODULE_NAME)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.updateMaskClassname();\n      });\n  }\n\n  onContainerClick(e: MouseEvent): void {\n    if (e.target === e.currentTarget && !this.mouseDown && this.showMask && this.maskClosable) {\n      this.containerClick.emit();\n    }\n  }\n\n  onMousedown(): void {\n    this.mouseDown = true;\n  }\n\n  onMouseup(): void {\n    if (this.mouseDown) {\n      setTimeout(() => {\n        this.mouseDown = false;\n      });\n    }\n  }\n\n  onCloseClick(): void {\n    this.cancelTriggered.emit();\n  }\n\n  onOkClick(): void {\n    this.okTriggered.emit();\n  }\n\n  attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n    if (this.portalOutlet.hasAttached()) {\n      throwVtsModalContentAlreadyAttachedError();\n    }\n    this.savePreviouslyFocusedElement();\n    this.setZIndexForBackdrop();\n    return this.portalOutlet.attachComponentPortal(portal);\n  }\n\n  attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n    if (this.portalOutlet.hasAttached()) {\n      throwVtsModalContentAlreadyAttachedError();\n    }\n    this.savePreviouslyFocusedElement();\n    this.setZIndexForBackdrop();\n    return this.portalOutlet.attachTemplatePortal(portal);\n  }\n\n  attachStringContent(): void {\n    this.savePreviouslyFocusedElement();\n    this.setZIndexForBackdrop();\n  }\n\n  getNativeElement(): HTMLElement {\n    return this.elementRef.nativeElement;\n  }\n\n  private animationDisabled(): boolean {\n    return this.config.vtsNoAnimation || this.animationType === 'NoopAnimations';\n  }\n\n  private setModalTransformOrigin(): void {\n    const modalElement = this.modalElementRef.nativeElement;\n    if (this.elementFocusedBeforeModalWasOpened as HTMLElement) {\n      const previouslyDOMRect = this.elementFocusedBeforeModalWasOpened!.getBoundingClientRect();\n      const lastPosition = getElementOffset(this.elementFocusedBeforeModalWasOpened!);\n      const x = lastPosition.left + previouslyDOMRect.width / 2;\n      const y = lastPosition.top + previouslyDOMRect.height / 2;\n      const transformOrigin = `${x - modalElement.offsetLeft}px ${\n        y - modalElement.offsetTop\n      }px 0px`;\n      this.render.setStyle(modalElement, 'transform-origin', transformOrigin);\n    }\n  }\n\n  private savePreviouslyFocusedElement(): void {\n    if (!this.focusTrap) {\n      this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);\n    }\n\n    if (this.document) {\n      this.elementFocusedBeforeModalWasOpened = this.document.activeElement as HTMLElement;\n      if (this.elementRef.nativeElement.focus) {\n        Promise.resolve().then(() => this.elementRef.nativeElement.focus());\n      }\n    }\n  }\n\n  private trapFocus(): void {\n    const element = this.elementRef.nativeElement;\n\n    if (this.config.vtsAutofocus) {\n      this.focusTrap.focusInitialElementWhenReady().then();\n    } else {\n      const activeElement = this.document.activeElement;\n      if (activeElement !== element && !element.contains(activeElement)) {\n        element.focus();\n      }\n    }\n  }\n\n  private restoreFocus(): void {\n    const toFocus = this.elementFocusedBeforeModalWasOpened as HTMLElement;\n\n    // We need the extra check, because IE can set the `activeElement` to null in some cases.\n    if (toFocus && typeof toFocus.focus === 'function') {\n      const activeElement = this.document.activeElement as Element;\n      const element = this.elementRef.nativeElement;\n\n      if (\n        !activeElement ||\n        activeElement === this.document.body ||\n        activeElement === element ||\n        element.contains(activeElement)\n      ) {\n        toFocus.focus();\n      }\n    }\n\n    if (this.focusTrap) {\n      this.focusTrap.destroy();\n    }\n  }\n\n  private setEnterAnimationClass(): void {\n    if (this.animationDisabled()) {\n      return;\n    }\n    // Make sure to set the `TransformOrigin` style before set the modelElement's class names\n    this.setModalTransformOrigin();\n    const modalElement = this.modalElementRef.nativeElement;\n    const backdropElement = this.overlayRef.backdropElement;\n    modalElement.classList.add(ZOOM_CLASS_NAME_MAP.enter);\n    modalElement.classList.add(ZOOM_CLASS_NAME_MAP.enterActive);\n    if (backdropElement) {\n      backdropElement.classList.add(FADE_CLASS_NAME_MAP.enter);\n      backdropElement.classList.add(FADE_CLASS_NAME_MAP.enterActive);\n    }\n  }\n\n  private setExitAnimationClass(): void {\n    const modalElement = this.modalElementRef.nativeElement;\n\n    modalElement.classList.add(ZOOM_CLASS_NAME_MAP.leave);\n    modalElement.classList.add(ZOOM_CLASS_NAME_MAP.leaveActive);\n\n    this.setMaskExitAnimationClass();\n  }\n\n  private setMaskExitAnimationClass(force: boolean = false): void {\n    const backdropElement = this.overlayRef.backdropElement;\n    if (backdropElement) {\n      if (this.animationDisabled() || force) {\n        // https://github.com/angular/components/issues/18645\n        backdropElement.classList.remove(MODAL_MASK_CLASS_NAME);\n        return;\n      }\n      backdropElement.classList.add(FADE_CLASS_NAME_MAP.leave);\n      backdropElement.classList.add(FADE_CLASS_NAME_MAP.leaveActive);\n    }\n  }\n\n  private cleanAnimationClass(): void {\n    if (this.animationDisabled()) {\n      return;\n    }\n    const backdropElement = this.overlayRef.backdropElement;\n    const modalElement = this.modalElementRef.nativeElement;\n    if (backdropElement) {\n      backdropElement.classList.remove(FADE_CLASS_NAME_MAP.enter);\n      backdropElement.classList.remove(FADE_CLASS_NAME_MAP.enterActive);\n    }\n    modalElement.classList.remove(ZOOM_CLASS_NAME_MAP.enter);\n    modalElement.classList.remove(ZOOM_CLASS_NAME_MAP.enterActive);\n    modalElement.classList.remove(ZOOM_CLASS_NAME_MAP.leave);\n    modalElement.classList.remove(ZOOM_CLASS_NAME_MAP.leaveActive);\n  }\n\n  private setZIndexForBackdrop(): void {\n    const backdropElement = this.overlayRef.backdropElement;\n    if (backdropElement) {\n      if (isNotNil(this.config.vtsZIndex)) {\n        this.render.setStyle(backdropElement, 'z-index', this.config.vtsZIndex);\n      }\n    }\n  }\n\n  bindBackdropStyle(): void {\n    const backdropElement = this.overlayRef.backdropElement;\n    if (backdropElement) {\n      if (this.oldMaskStyle) {\n        const styles = this.oldMaskStyle as { [key: string]: string };\n        Object.keys(styles).forEach(key => {\n          this.render.removeStyle(backdropElement, key);\n        });\n        this.oldMaskStyle = null;\n      }\n\n      this.setZIndexForBackdrop();\n\n      if (\n        typeof this.config.vtsMaskStyle === 'object' &&\n        Object.keys(this.config.vtsMaskStyle).length\n      ) {\n        const styles: { [key: string]: string } = {\n          ...this.config.vtsMaskStyle\n        };\n        Object.keys(styles).forEach(key => {\n          this.render.setStyle(backdropElement, key, styles[key]);\n        });\n        this.oldMaskStyle = styles;\n      }\n    }\n  }\n\n  updateMaskClassname(): void {\n    const backdropElement = this.overlayRef.backdropElement;\n    if (backdropElement) {\n      if (this.showMask) {\n        backdropElement.classList.add(MODAL_MASK_CLASS_NAME);\n      } else {\n        backdropElement.classList.remove(MODAL_MASK_CLASS_NAME);\n      }\n    }\n  }\n\n  onAnimationDone(event: AnimationEvent): void {\n    if (event.toState === 'enter') {\n      this.trapFocus();\n    } else if (event.toState === 'exit') {\n      this.restoreFocus();\n    }\n    this.cleanAnimationClass();\n    this.animationStateChanged.emit(event);\n  }\n\n  onAnimationStart(event: AnimationEvent): void {\n    if (event.toState === 'enter') {\n      this.setEnterAnimationClass();\n      this.bindBackdropStyle();\n    } else if (event.toState === 'exit') {\n      this.setExitAnimationClass();\n    }\n    this.animationStateChanged.emit(event);\n  }\n\n  startExitAnimation(): void {\n    this.state = 'exit';\n    this.cdr.markForCheck();\n  }\n\n  ngOnDestroy(): void {\n    this.setMaskExitAnimationClass(true);\n    this.destroy$.next();\n    this.destroy$.complete();\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 { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { ModalOptions } from './modal-types';\n\n@Component({\n  selector: 'button[vts-modal-close]',\n  exportAs: 'VtsModalCloseBuiltin',\n  template: `\n    <span class=\"vts-modal-close-x\">\n      <ng-container *vtsStringTemplateOutlet=\"config.vtsCloseIcon; let closeIcon\">\n        <i vts-icon [vtsType]=\"closeIcon\" class=\"vts-modal-close-icon\"></i>\n      </ng-container>\n    </span>\n  `,\n  host: {\n    class: 'vts-modal-close',\n    'aria-label': 'Close'\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VtsModalCloseComponent {\n  constructor(public config: ModalOptions) {}\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 { FocusTrapFactory } from '@angular/cdk/a11y';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  Optional,\n  Output,\n  Renderer2,\n  ViewChild\n} from '@angular/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { VtsConfigService } from '@ui-vts-kit/ng-vts/core/config';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\nimport { VtsI18nService, VtsModalI18nInterface } from '@ui-vts-kit/ng-vts/i18n';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { vtsModalAnimations } from './modal-animations';\nimport { BaseModalContainerComponent } from './modal-container';\nimport { ModalOptions } from './modal-types';\n\n@Component({\n  selector: 'vts-modal-confirm-container',\n  exportAs: 'vtsModalConfirmContainer',\n  template: `\n    <div\n      #modalElement\n      role=\"document\"\n      class=\"vts-modal\"\n      (mousedown)=\"onMousedown()\"\n      [ngClass]=\"config.vtsClassName!\"\n      [ngStyle]=\"config.vtsStyle!\"\n      [style.width]=\"config?.vtsWidth! | vtsToCssUnit\"\n    >\n      <div class=\"vts-modal-content\">\n        <button *ngIf=\"config.vtsClosable\" vts-modal-close (click)=\"onCloseClick()\"></button>\n        <div class=\"vts-modal-body\" [ngStyle]=\"config.vtsBodyStyle!\">\n          <div class=\"vts-modal-confirm-body-wrapper\">\n            <div class=\"vts-modal-confirm-body\">\n              <i vts-icon [vtsType]=\"config.vtsIconType!\"></i>\n              <span class=\"vts-modal-confirm-title\">\n                <ng-container *vtsStringTemplateOutlet=\"config.vtsTitle\">\n                  <span [innerHTML]=\"config.vtsTitle\"></span>\n                </ng-container>\n              </span>\n              <div class=\"vts-modal-confirm-content\">\n                <ng-template cdkPortalOutlet></ng-template>\n                <div *ngIf=\"isStringContent\" [innerHTML]=\"config.vtsContent\"></div>\n              </div>\n            </div>\n            <div class=\"vts-modal-confirm-btns\">\n              <button\n                *ngIf=\"config.vtsCancelText !== null\"\n                [attr.cdkFocusInitial]=\"config.vtsAutofocus === 'cancel' || null\"\n                vts-button\n                (click)=\"onCancel()\"\n                [vtsLoading]=\"!!config.vtsCancelLoading\"\n                [disabled]=\"config.vtsCancelDisabled\"\n              >\n                {{ config.vtsCancelText || locale.cancelText }}\n              </button>\n              <button\n                *ngIf=\"config.vtsOkText !== null\"\n                [attr.cdkFocusInitial]=\"config.vtsAutofocus === 'ok' || null\"\n                vts-button\n                [vtsType]=\"config.vtsOkType!\"\n                (click)=\"onOk()\"\n                [vtsLoading]=\"!!config.vtsOkLoading\"\n                [disabled]=\"config.vtsOkDisabled\"\n              >\n                {{ config.vtsOkText || locale.okText }}\n              </button>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n  animations: [vtsModalAnimations.modalContainer],\n  // Using OnPush for modal caused footer can not to detect changes. we can fix it when 8.x.\n  changeDetection: ChangeDetectionStrategy.Default,\n  host: {\n    tabindex: '-1',\n    role: 'dialog',\n    '[class]':\n      'config.vtsWrapClassName ? \"vts-modal-wrap \" + config.vtsWrapClassName : \"vts-modal-wrap\"',\n    '[class.vts-modal-wrap-rtl]': `dir === 'rtl'`,\n    '[class.vts-modal-centered]': 'config.vtsCentered',\n    '[style.zIndex]': 'config.vtsZIndex',\n    '[@.disabled]': 'config.vtsNoAnimation',\n    '[@modalContainer]': 'state',\n    '(@modalContainer.start)': 'onAnimationStart($event)',\n    '(@modalContainer.done)': 'onAnimationDone($event)',\n    '(click)': 'onContainerClick($event)',\n    '(mouseup)': 'onMouseup()'\n  }\n})\nexport class VtsModalConfirmContainerComponent extends BaseModalContainerComponent {\n  @ViewChild(CdkPortalOutlet, { static: true }) override portalOutlet!: CdkPortalOutlet;\n  @ViewChild('modalElement', { static: true })\n  overridemodalElementRef!: ElementRef<HTMLDivElement>;\n  @Output() override readonly cancelTriggered = new EventEmitter<void>();\n  @Output() override readonly okTriggered = new EventEmitter<void>();\n  locale!: VtsModalI18nInterface;\n\n  constructor(\n    private i18n: VtsI18nService,\n    elementRef: ElementRef,\n    focusTrapFactory: FocusTrapFactory,\n    cdr: ChangeDetectorRef,\n    render: Renderer2,\n    overlayRef: OverlayRef,\n    vtsConfigService: VtsConfigService,\n    public override config: ModalOptions,\n    @Optional() @Inject(DOCUMENT) document: VtsSafeAny,\n    @Optional() @Inject(ANIMATION_MODULE_TYPE) animationType: string\n  ) {\n    super(\n      elementRef,\n      focusTrapFactory,\n      cdr,\n      render,\n      overlayRef,\n      vtsConfigService,\n      config,\n      document,\n      animationType\n    );\n    this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this.locale = this.i18n.getLocaleData('Modal');\n    });\n  }\n\n  onCancel(): void {\n    this.cancelTriggered.emit();\n  }\n\n  onOk(): void {\n    this.okTriggered.emit();\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  Component,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Output\n} from '@angular/core';\nimport { isPromise } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { VtsI18nService, VtsModalI18nInterface } from '@ui-vts-kit/ng-vts/i18n';\n\nimport { VtsModalRef } from './modal-ref';\nimport { ModalButtonOptions, ModalOptions } from './modal-types';\n\n@Component({\n  selector: 'div[vts-modal-footer]',\n  exportAs: 'VtsModalFooterBuiltin',\n  template: `\n    <ng-container *ngIf=\"config.vtsFooter; else defaultFooterButtons\">\n      <ng-container\n        *vtsStringTemplateOutlet=\"\n          config.vtsFooter;\n          context: { $implicit: config.vtsComponentParams, modalRef: modalRef }\n        \"\n      >\n        <div *ngIf=\"!buttonsFooter\" [innerHTML]=\"config.vtsFooter\"></div>\n        <ng-container *ngIf=\"buttonsFooter\">\n          <button\n            *ngFor=\"let button of buttons\"\n            vts-button\n            (click)=\"onButtonClick(button)\"\n            [hidden]=\"!getButtonCallableProp(button, 'show')\"\n            [vtsLoading]=\"getButtonCallableProp(button, 'loading')\"\n            [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n            [vtsType]=\"button.type!\"\n            [vtsShape]=\"button.shape!\"\n            [vtsSize]=\"button.size!\"\n          >\n            {{ button.label }}\n          </button>\n        </ng-container>\n      </ng-container>\n    </ng-container>\n    <ng-template #defaultFooterButtons>\n      <button\n        *ngIf=\"config.vtsCancelText !== null\"\n        [attr.cdkFocusInitial]=\"config.vtsAutofocus === 'cancel' || null\"\n        vts-button\n        (click)=\"onCancel()\"\n        [vtsLoading]=\"!!config.vtsCancelLoading\"\n        [disabled]=\"config.vtsCancelDisabled\"\n      >\n        {{ config.vtsCancelText || locale.cancelText }}\n      </button>\n      <button\n        *ngIf=\"config.vtsOkText !== null\"\n        [attr.cdkFocusInitial]=\"config.vtsAutofocus === 'ok' || null\"\n        vts-button\n        [vtsType]=\"config.vtsOkType!\"\n        (click)=\"onOk()\"\n        [vtsLoading]=\"!!config.vtsOkLoading\"\n        [disabled]=\"config.vtsOkDisabled\"\n      >\n        {{ config.vtsOkText || locale.okText }}\n      </button>\n    </ng-template>\n  `,\n  host: {\n    class: 'vts-modal-footer'\n  },\n  changeDetection: ChangeDetectionStrategy.Default\n})\nexport class VtsModalFooterComponent implements OnDestroy {\n  buttonsFooter = false;\n  buttons: ModalButtonOptions[] = [];\n  locale!: VtsModalI18nInterface;\n  @Output() readonly cancelTriggered = new EventEmitter<void>();\n  @Output() readonly okTriggered = new EventEmitter<void>();\n  @Input() modalRef!: VtsModalRef;\n  private destroy$ = new Subject<void>();\n\n  constructor(private i18n: VtsI18nService, public config: ModalOptions) {\n    if (Array.isArray(config.vtsFooter)) {\n      this.buttonsFooter = true;\n      this.buttons = (config.vtsFooter as ModalButtonOptions[]).map(mergeDefaultOption);\n    }\n    this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this.locale = this.i18n.getLocaleData('Modal');\n    });\n  }\n\n  onCancel(): void {\n    this.cancelTriggered.emit();\n  }\n\n  onOk(): void {\n    this.okTriggered.emit();\n  }\n\n  /**\n   * Returns the value of the specified key.\n   * If it is a function, run and return the return value of the function.\n   */\n  getButtonCallableProp(options: ModalButtonOptions, prop: keyof ModalButtonOptions): boolean {\n    const value = options[prop];\n    const componentInstance = this.modalRef.getContentComponent();\n    return typeof value === 'function'\n      ? value.apply(options, componentInstance && [componentInstance])\n      : value;\n  }\n\n  /**\n   * Run function based on the type and set its `loading` prop if needed.\n   */\n  onButtonClick(options: ModalButtonOptions): void {\n    const loading = this.getButtonCallableProp(options, 'loading');\n    if (!loading) {\n      const result = this.getButtonCallableProp(options, 'onClick');\n      if (options.autoLoading && isPromise(result)) {\n        options.loading = true;\n        result.then(() => (options.loading = false)).catch(() => (options.loading = false));\n      }\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n\nfunction mergeDefaultOption(options: ModalButtonOptions): ModalButtonOptions {\n  return {\n    type: null,\n    size: 'md',\n    autoLoading: true,\n    show: true,\n    loading: false,\n    disabled: false,\n    ...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 { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { ModalOptions } from './modal-types';\n\n@Component({\n  selector: 'div[vts-modal-title]',\n  exportAs: 'VtsModalTitleBuiltin',\n  template: `\n    <div class=\"vts-modal-title\">\n      <ng-container *vtsStringTemplateOutlet=\"config.vtsTitle\">\n        <div [innerHTML]=\"config.vtsTitle\"></div>\n      </ng-container>\n    </div>\n  `,\n  host: {\n    class: 'vts-modal-header'\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VtsModalTitleComponent {\n  constructor(public config: ModalOptions) {}\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 */\nimport { FocusTrapFactory } from '@angular/cdk/a11y';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Inject,\n  Optional,\n  Renderer2,\n  ViewChild\n} from '@angular/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { VtsConfigService } from '@ui-vts-kit/ng-vts/core/config';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\n\nimport { vtsModalAnimations } from './modal-animations';\nimport { BaseModalContainerComponent } from './modal-container';\nimport { ModalOptions } from './modal-types';\n\n@Component({\n  selector: 'vts-modal-container',\n  exportAs: 'vtsModalContainer',\n  template: `\n    <div\n      #modalElement\n      role=\"document\"\n      class=\"vts-modal\"\n      (mousedown)=\"onMousedown()\"\n      [ngClass]=\"config.vtsClassName!\"\n      [ngStyle]=\"config.vtsStyle!\"\n      [style.width]=\"config?.vtsWidth! | vtsToCssUnit\"\n    >\n      <div class=\"vts-modal-content\">\n        <button *ngIf=\"config.vtsClosable\" vts-modal-close (click)=\"onCloseClick()\"></button>\n        <div *ngIf=\"config.vtsTitle\" vts-modal-title></div>\n        <div class=\"vts-modal-body\" [ngStyle]=\"config.vtsBodyStyle!\">\n          <ng-template cdkPortalOutlet></ng-template>\n          <div *ngIf=\"isStringContent\" [innerHTML]=\"config.vtsContent\"></div>\n        </div>\n        <div\n          *ngIf=\"config.vtsFooter !== null\"\n          vts-modal-footer\n          [modalRef]=\"modalRef\"\n          (cancelTriggered)=\"onCloseClick()\"\n          (okTriggered)=\"onOkClick()\"\n        ></div>\n      </div>\n    </div>\n  `,\n  animations: [vtsModalAnimations.modalContainer],\n  // Using OnPush for modal caused footer can not to detect changes. we can fix it when 8.x.\n  changeDetection: ChangeDetectionStrategy.Default,\n  host: {\n    tabindex: '-1',\n    role: 'dialog',\n    '[class]':\n      'config.vtsWrapClassName ? \"vts-modal-wrap \" + config.vtsWrapClassName : \"vts-modal-wrap\"',\n    '[class.vts-modal-wrap-rtl]': `dir === 'rtl'`,\n    '[class.vts-modal-centered]': 'config.vtsCentered',\n    '[style.zIndex]': 'config.vtsZIndex',\n    '[@.disabled]': 'config.vtsNoAnimation',\n    '[@modalContainer]': 'state',\n    '(@modalContainer.start)': 'onAnimationStart($event)',\n    '(@modalContainer.done)': 'onAnimationDone($event)',\n    '(click)': 'onContainerClick($event)',\n    '(mouseup)': 'onMouseup()'\n  }\n})\nexport class VtsModalContainerComponent extends BaseModalContainerComponent {\n  @ViewChild(CdkPortalOutlet, { static: true }) override portalOutlet!: CdkPortalOutlet;\n  @ViewChild('modalElement', { static: true })\n  override modalElementRef!: ElementRef<HTMLDivElement>;\n  constructor(\n    elementRef: ElementRef,\n    focusTrapFactory: FocusTrapFactory,\n    cdr: ChangeDetectorRef,\n    render: Renderer2,\n    overlayRef: OverlayRef,\n    vtsConfigService: VtsConfigService,\n    public override config: ModalOptions,\n    @Optional() @Inject(DOCUMENT) document: VtsSafeAny,\n    @Optional() @Inject(ANIMATION_MODULE_TYPE) animationType: string\n  ) {\n    super(\n      elementRef,\n      focusTrapFactory,\n      cdr,\n      render,\n      overlayRef,\n      vtsConfigService,\n      config,\n      document,\n      animationType\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 */\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { EventEmitter } from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { isPromise } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { BaseModalContainerComponent } from './modal-container';\nimport { VtsModalLegacyAPI } from './modal-legacy-api';\nimport { ModalOptions } from './modal-types';\n\nexport const enum VtsModalState {\n  OPEN,\n  CLOSING,\n  CLOSED\n}\n\nexport const enum VtsTriggerAction {\n  CANCEL = 'cancel',\n  OK = 'ok'\n}\n\nexport class VtsModalRef<T = VtsSafeAny, R = VtsSafeAny> implements VtsModalLegacyAPI<T, R> {\n  componentInstance: T | null = null;\n  result?: R;\n  state: VtsModalState = VtsModalState.OPEN;\n  afterClose: Subject<R> = new Subject();\n  afterOpen: Subject<void> = new Subject();\n\n  private closeTimeout?: number | ReturnType<typeof setTimeout>;\n\n  constructor(\n    private overlayRef: OverlayRef,\n    private config: ModalOptions,\n    public containerInstance: BaseModalContainerComponent\n  ) {\n    containerInstance.animationStateChanged\n      .pipe(\n        filter(event => event.phaseName === 'done' && event.toState === 'enter'),\n        take(1)\n      )\n      .subscribe(() => {\n        this.afterOpen.next();\n        this.afterOpen.complete();\n        if (config.vtsAfterOpen instanceof EventEmitter) {\n          config.vtsAfterOpen.emit();\n        }\n      });\n\n    containerInstance.animationStateChanged\n      .pipe(\n        filter(event => event.phaseName === 'done' && event.toState === 'exit'),\n        take(1)\n      )\n      .subscribe(() => {\n        clearTimeout(this.closeTimeout);\n        this._finishDialogClose();\n      });\n\n    containerInstance.containerClick.pipe(take(1)).subscribe(() => {\n      const cancelable = !this.config.vtsCancelLoading && !this.config.vtsOkLoading;\n      if (cancelable) {\n        this.trigger(VtsTriggerAction.CANCEL);\n      }\n    });\n\n    overlayRef\n      .keydownEvents()\n      .pipe(\n        filter(event => {\n          return (\n            (this.config.vtsKeyboard as boolean) &&\n            !this.config.vtsCancelLoading &&\n            !this.config.vtsOkLoading &&\n            event.keyCode === ESCAPE &&\n            !hasModifierKey(event)\n          );\n        })\n      )\n      .subscribe(event => {\n        event.preventDefault();\n        this.trigger(VtsTriggerAction.CANCEL);\n      });\n\n    containerInstance.cancelTriggered.subscribe(() => this.trigger(VtsTriggerAction.CANCEL));\n\n    containerInstance.okTriggered.subscribe(() => this.trigger(VtsTriggerAction.OK));\n\n    overlayRef.detachments().subscribe(() => {\n      this.afterClose.next(this.result);\n      this.afterClose.complete();\n      if (config.vtsAfterClose instanceof EventEmitter) {\n        config.vtsAfterClose.emit(this.result);\n      }\n      this.componentInstance = null;\n      this.overlayRef.dispose();\n    });\n  }\n\n  getContentComponent(): T {\n    return this.componentInstance as T;\n  }\n\n  getElement(): HTMLElement {\n    return this.containerInstance.getNativeElement();\n  }\n\n  destroy(result?: R): void {\n    this.close(result);\n  }\n\n  triggerOk(): Promise<void> {\n    return this.trigger(VtsTriggerAction.OK);\n  }\n\n  triggerCancel(): Promise<void> {\n    return this.trigger(VtsTriggerAction.CANCEL);\n  }\n\n  close(result?: R): void {\n    this.result = result;\n    this.containerInstance.animationStateChanged\n      .pipe(\n        filter(event => event.phaseName === 'start'),\n        take(1)\n      )\n      .subscribe(event => {\n        this.overlayRef.detachBackdrop();\n        this.closeTimeout = setTimeout(() => {\n          this._finishDialogClose();\n        }, event.totalTime + 100);\n      });\n\n    this.containerInstance.startExitAnimation();\n    this.state = VtsModalState.CLOSING;\n  }\n\n  updateConfig(config: ModalOptions): void {\n    Object.assign(this.config, config);\n    this.containerInstance.bindBackdropStyle();\n    this.containerInstance.cdr.markForCheck();\n  }\n\n  getState(): VtsModalState {\n    return this.state;\n  }\n\n  getConfig(): ModalOptions {\n    return this.config;\n  }\n\n  getBackdropElement(): HTMLElement | null {\n    return this.overlayRef.backdropElement;\n  }\n\n  private async trigger(action: VtsTriggerAction): Promise<void> {\n    const trigger = { ok: this.config.vtsOnOk, cancel: this.config.vtsOnCancel }[action];\n    const loadingKey = { ok: 'vtsOkLoading', cancel: 'vtsCancelLoading' }[action] as\n      | 'vtsOkLoading'\n      | 'vtsCancelLoading';\n    const loading = this.config[loadingKey];\n    if (loading) {\n      return;\n    }\n    if (trigger instanceof EventEmitter) {\n      trigger.emit(this.getContentComponent());\n    } else if (typeof trigger === 'function') {\n      const result = trigger(this.getContentComponent());\n      if (isPromise(result)) {\n        this.config[loadingKey] = true;\n        let doClose: boolean | void | {} = false;\n        try {\n          doClose = (await result) as any;\n        } finally {\n          this.config[loadingKey] = false;\n          this.closeWhitResult(doClose);\n        }\n      } else {\n        this.closeWhitResult(result);\n      }\n    }\n  }\n\n  private closeWhitResult(result: VtsSafeAny): void {\n    if (result !== false) {\n      this.close(result);\n    }\n  }\n\n  _finishDialogClose(): void {\n    this.state = VtsModalState.CLOSED;\n    this.overlayRef.dispose();\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 { Directionality } from '@angular/cdk/bidi';\nimport { ComponentType, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { Injectable, Injector, OnDestroy, Optional, SkipSelf, TemplateRef } from '@angular/core';\nimport { VtsConfigService } from '@ui-vts-kit/ng-vts/core/config';\nimport { warn } from '@ui-vts-kit/ng-vts/core/logger';\nimport { IndexableObject, VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { isNotNil } from '@ui-vts-kit/ng-vts/core/util';\nimport { defer, Observable, Subject } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { MODAL_MASK_CLASS_NAME, VTS_CONFIG_MODULE_NAME } from './modal-config';\nimport { VtsModalConfirmContainerComponent } from './modal-confirm-container.component';\nimport { BaseModalContainerComponent } from './modal-container';\nimport { VtsModalContainerComponent } from './modal-container.component';\nimport { VtsModalRef } from './modal-ref';\nimport { ConfirmType, ModalOptions } from './modal-types';\nimport { applyConfigDefaults, getValueWithConfig, setContentInstanceParams } from './utils';\n\ntype ContentType<T> = ComponentType<T> | TemplateRef<T> | string;\n\n@Injectable()\nexport class VtsModalService implements OnDestroy {\n  private openModalsAtThisLevel: VtsModalRef[] = [];\n  private readonly afterAllClosedAtThisLevel = new Subject<void>();\n\n  get openModals(): VtsModalRef[] {\n    return this.parentModal ? this.parentModal.openModals : this.openModalsAtThisLevel;\n  }\n\n  get _afterAllClosed(): Subject<void> {\n    const parent = this.parentModal;\n    return parent ? parent._afterAllClosed : this.afterAllClosedAtThisLevel;\n  }\n\n  readonly afterAllClose: Observable<void> = defer(() =>\n    this.openModals.length ? this._afterAllClosed : this._afterAllClosed.pipe(startWith(undefined))\n  ) as Observable<void>;\n\n  constructor(\n    private overlay: Overlay,\n    private injector: Injector,\n    private vtsConfigService: VtsConfigService,\n    @Optional() @SkipSelf() private parentModal: VtsModalService,\n    @Optional() private directionality: Directionality\n  ) {}\n\n  create<T, R = VtsSafeAny>(config: ModalOptions<T, R>): VtsModalRef<T, R> {\n    return this.open<T, R>(config.vtsContent as ComponentType<T>, config);\n  }\n\n  closeAll(): void {\n    this.closeModals(this.openModals);\n  }\n\n  confirm<T>(options: ModalOptions<T> = {}, confirmType: ConfirmType = 'confirm'): VtsModalRef<T> {\n    if ('vtsFooter' in options) {\n      warn(`The Confirm-Modal doesn't support \"vtsFooter\", this property will be ignored.`);\n    }\n    if (!('vtsWidth' in options)) {\n      options.vtsWidth = 416;\n    }\n    if (!('vtsMaskClosable' in options)) {\n      options.vtsMaskClosable = false;\n    }\n\n    options.vtsModalType = 'confirm';\n    options.vtsClassName = `vts-modal-confirm vts-modal-confirm-${confirmType} ${\n      options.vtsClassName || ''\n    }`;\n    return this.create(options);\n  }\n\n  info<T>(options: ModalOptions<T> = {}): VtsModalRef<T> {\n    return this.confirmFactory(options, 'info');\n  }\n\n  success<T>(options: ModalOptions<T> = {}): VtsModalRef<T> {\n    return this.confirmFactory(options, 'success');\n  }\n\n  error<T>(options: ModalOptions<T> = {}): VtsModalRef<T> {\n    return this.confirmFactory(options, 'error');\n  }\n\n  warning<T>(options: ModalOptions<T> = {}): VtsModalRef<T> {\n    return this.confirmFactory(options, 'warning');\n  }\n\n  private open<T, R>(\n    componentOrTemplateRef: ContentType<T>,\n    config?: ModalOptions\n  ): VtsModalRef<T, R> {\n    const configMerged = applyConfigDefaults(config || {}, new ModalOptions());\n    const overlayRef = this.createOverlay(configMerged);\n    const modalContainer = this.attachModalContainer(overlayRef, configMerged);\n    const modalRef = this.attachModalContent<T, R>(\n      componentOrTemplateRef,\n      modalContainer,\n      overlayRef,\n      configMerged\n    );\n    modalContainer.modalRef = modalRef;\n\n    this.openModals.push(modalRef);\n    modalRef.afterClose.subscribe(() => this.removeOpenModal(modalRef));\n\n    return modalRef;\n  }\n\n  private removeOpenModal(modalRef: VtsModalRef): void {\n    const index = this.openModals.indexOf(modalRef);\n    if (index > -1) {\n      this.openModals.splice(index, 1);\n\n      if (!this.openModals.length) {\n        this._afterAllClosed.next();\n      }\n    }\n  }\n\n  private closeModals(dialogs: VtsModalRef[]): void {\n    let i = dialogs.length;\n    while (i--) {\n      dialogs[i].close();\n      if (!this.openModals.length) {\n        this._afterAllClosed.next();\n      }\n    }\n  }\n\n  private createOverlay(config: ModalOptions): OverlayRef {\n    const globalConfig: VtsSafeAny =\n      this.vtsConfigService.getConfigForComponent(VTS_CONFIG_MODULE_NAME) || {};\n    const overlayConfig = new OverlayConfig({\n      hasBackdrop: true,\n      scrollStrategy: this.overlay.scrollStrategies.block(),\n      positionStrategy: this.overlay.position().global(),\n      disposeOnNavigation: getValueWithConfig(\n        config.vtsCloseOnNavigation,\n        globalConfig.vtsCloseOnNavigation,\n        true\n      ),\n      direction: getValueWithConfig(\n        config.vtsDirection,\n        globalConfig.vtsDirection,\n        this.directionality.value\n      )\n    });\n    if (getValueWithConfig(config.vtsMask, globalConfig.vtsMask, true)) {\n      overlayConfig.backdropClass = MODAL_MASK_CLASS_NAME;\n    }\n\n    return this.overlay.create(overlayConfig);\n  }\n\n  private attachModalContainer(\n    overlayRef: OverlayRef,\n    config: ModalOptions\n  ): BaseModalContainerComponent {\n    const userInjector =\n      config && config.vtsViewContainerRef && config.vtsViewContainerRef.injector;\n    const injector = Injector.create({\n      parent: userInjector || this.injector,\n      providers: [\n        { provide: OverlayRef, useValue: overlayRef },\n        { provide: ModalOptions, useValue: config }\n      ]\n    });\n\n    const ContainerComponent =\n      config.vtsModalType === 'confirm'\n        ? // If the mode is `confirm`, use `VtsModalConfirmContainerComponent`\n          VtsModalConfirmContainerComponent\n        : // If the mode is not `confirm`, use `VtsModalContainerComponent`\n          VtsModalContainerComponent;\n\n    const containerPortal = new ComponentPortal<BaseModalContainerComponent>(\n      ContainerComponent,\n      config.vtsViewContainerRef,\n      injector\n    );\n    const containerRef = overlayRef.attach<BaseModalContainerComponent>(containerPortal);\n\n    return containerRef.instance;\n  }\n\n  private attachModalContent<T, R>(\n    componentOrTemplateRef: ContentType<T>,\n    modalContainer: BaseModalContainerComponent,\n    overlayRef: OverlayRef,\n    config: ModalOptions<T>\n  ): VtsModalRef<T, R> {\n    const modalRef = new VtsModalRef<T, R>(overlayRef, config, modalContainer);\n\n    if (componentOrTemplateRef instanceof TemplateRef) {\n      modalContainer.attachTemplatePortal(\n        new TemplatePortal<T>(componentOrTemplateRef, null!, {\n          $implicit: config.vtsComponentParams,\n          modalRef\n        } as VtsSafeAny)\n      );\n    } else if (isNotNil(componentOrTemplateRef) && typeof componentOrTemplateRef !== 'string') {\n      const injector = this.createInjector<T, R>(modalRef, config);\n      const contentRef = modalContainer.attachComponentPortal<T>(\n        new ComponentPortal(componentOrTemplateRef, config.vtsViewContainerRef, injector)\n      );\n      setContentInstanceParams<T>(contentRef.instance, config.vtsComponentParams);\n      modalRef.componentInstance = contentRef.instance;\n    } else {\n      modalContainer.attachStringContent();\n    }\n    return modalRef;\n  }\n\n  private createInjector<T, R>(modalRef: VtsModalRef<T, R>, config: ModalOptions<T>): Injector {\n    const userInjector =\n      config && config.vtsViewContainerRef && config.vtsViewContainerRef.injector;\n\n    return Injector.create({\n      parent: userInjector || this.injector,\n      providers: [{ provide: VtsModalRef, useValue: modalRef }]\n    });\n  }\n\n  private confirmFactory<T>(\n    options: ModalOptions<T> = {},\n    confirmType: ConfirmType\n  ): VtsModalRef<T> {\n    const iconMap: IndexableObject = {\n      info: 'info-circle',\n      success: 'check-circle',\n      error: 'Close',\n      warning: 'exclamation-circle'\n    };\n    if (!('vtsIconType' in options)) {\n      options.vtsIconType = iconMap[confirmType];\n    }\n    if (!('vtsCancelText' in options)) {\n      // Remove the Cancel button if the user not specify a Cancel button\n      options.vtsCancelText = null;\n    }\n    return this.confirm(options, confirmType);\n  }\n\n  ngOnDestroy(): void {\n    this.closeModals(this.openModalsAtThisLevel);\n    this.afterAllClosedAtThisLevel.complete();\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 { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: '[vtsModalContent]',\n  exportAs: 'vtsModalContent'\n})\nexport class VtsModalContentDirective {\n  constructor(public templateRef: TemplateRef<{}>) {}\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 { Directive, Optional, TemplateRef } from '@angular/core';\nimport { VtsModalRef } from './modal-ref';\n\n@Directive({\n  selector: '[vtsModalFooter]',\n  exportAs: 'vtsModalFooter'\n})\nexport class VtsModalFooterDirective {\n  constructor(@Optional() private vtsModalRef: VtsModalRef, public templateRef: TemplateRef<{}>) {\n    if (this.vtsModalRef) {\n      this.vtsModalRef.updateConfig({\n        vtsFooter: this.templateRef\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 { Directive, Optional, TemplateRef } from '@angular/core';\nimport { VtsModalRef } from './modal-ref';\n\n@Directive({\n  selector: '[vtsModalTitle]',\n  exportAs: 'vtsModalTitle'\n})\nexport class VtsModalTitleDirective {\n  constructor(@Optional() private vtsModalRef: VtsModalRef, public templateRef: TemplateRef<{}>) {\n    if (this.vtsModalRef) {\n      this.vtsModalRef.updateConfig({\n        vtsTitle: this.templateRef\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 {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  Type,\n  ViewChild,\n  ViewContainerRef\n} from '@angular/core';\n\nimport { VtsButtonType } from '@ui-vts-kit/ng-vts/button';\nimport { warnDeprecation } from '@ui-vts-kit/ng-vts/core/logger';\nimport { BooleanInput, VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { Observable } from 'rxjs';\n\nimport { VtsModalContentDirective } from './modal-content.directive';\nimport { VtsModalFooterDirective } from './modal-footer.directive';\nimport { VtsModalLegacyAPI } from './modal-legacy-api';\nimport { VtsModalRef } from './modal-ref';\nimport { VtsModalTitleDirective } from './modal-title.directive';\nimport {\n  ModalButtonOptions,\n  ModalOptions,\n  ModalTypes,\n  OnClickCallback,\n  StyleObjectLike\n} from './modal-types';\nimport { VtsModalService } from './modal.service';\nimport { getConfigFromComponent } from './utils';\n\n@Component({\n  selector: 'vts-modal',\n  exportAs: 'vtsModal',\n  template: `\n    <ng-template><ng-content></ng-content></ng-template>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VtsModalComponent<T = VtsSafeAny, R = VtsSafeAny>\n  implements OnChanges, VtsModalLegacyAPI<T, R>, OnDestroy\n{\n  static ngAcceptInputType_vtsMask: BooleanInput;\n  static ngAcceptInputType_vtsMaskClosable: BooleanInput;\n  static ngAcceptInputType_vtsCloseOnNavigation: BooleanInput;\n  static ngAcceptInputType_vtsVisible: BooleanInput;\n  static ngAcceptInputType_vtsClosable: BooleanInput;\n  static ngAcceptInputType_vtsOkLoading: BooleanInput;\n  static ngAcceptInputType_vtsOkDisabled: BooleanInput;\n  static ngAcceptInputType_vtsCancelDisabled: BooleanInput;\n  static ngAcceptInputType_vtsCancelLoading: BooleanInput;\n  static ngAcceptInputType_vtsKeyboard: BooleanInput;\n  static ngAcceptInputType_vtsNoAnimation: BooleanInput;\n  static ngAcceptInputType_vtsOkDanger: BooleanInput;\n  static ngAcceptInputType_vtsCentered: BooleanInput;\n\n  @Input() @InputBoolean() vtsMask?: boolean;\n  @Input() @InputBoolean() vtsMaskClosable?: boolean;\n  @Input() @InputBoolean() vtsCloseOnNavigation?: boolean;\n  @Input() @InputBoolean() vtsVisible: boolean = false;\n  @Input() @InputBoolean() vtsClosable: boolean = true;\n  @Input() @InputBoolean() vtsOkLoading: boolean = false;\n  @Input() @InputBoolean() vtsOkDisabled: boolean = false;\n  @Input() @InputBoolean() vtsCancelDisabled: boolean = false;\n  @Input() @InputBoolean() vtsCancelLoading: boolean = false;\n  @Input() @InputBoolean() vtsKeyboard: boolean = true;\n  @Input() @InputBoolean() vtsNoAnimation = false;\n  @Input() @InputBoolean() vtsCentered = false;\n  @Input() vtsContent?: string | TemplateRef<{}> | Type<T>;\n  @Input() vtsComponentParams?: T;\n  @Input() vtsFooter?: string | TemplateRef<{}> | Array<ModalButtonOptions<T>> | null;\n  @Input() vtsZIndex: number = 1000;\n  @Input() vtsWidth: number | string = 520;\n  @Input() vtsWrapClassName?: string;\n  @Input() vtsClassName?: string;\n  @Input() vtsStyle?: object;\n  @Input() vtsTitle?: string | TemplateRef<{}>;\n  @Input() vtsCloseIcon: string | TemplateRef<void> = 'Close:vts';\n  @Input() vtsMaskStyle?: StyleObjectLike;\n  @Input() vtsBodyStyle?: StyleObjectLike;\n  @Input() vtsOkText?: string | null;\n  @Input() vtsCancelText?: string | null;\n  @Input() vtsOkType: VtsButtonType = 'primary';\n  @Input() @InputBoolean() vtsOkDanger: boolean = false;\n  @Input() vtsIconType: string = 'question-circle'; // Confirm Modal ONLY\n  @Input() vtsModalType: ModalTypes = 'default';\n  @Input() vtsAutofocus: 'ok' | 'cancel' | 'auto' | null = 'auto';\n\n  // TODO(@hsuanxyz) Input will not be supported\n  @Input()\n  @Output()\n  readonly vtsOnOk: EventEmitter<T> | OnClickCallback<T> | VtsSafeAny = new EventEmitter<T>();\n\n  // TODO(@hsuanxyz) Input will not be supported\n  @Input()\n  @Output()\n  readonly vtsOnCancel: EventEmitter<T> | OnClickCallback<T> | VtsSafeAny = new EventEmitter<T>();\n\n  @Output() readonly vtsAfterOpen = new EventEmitter<void>();\n  @Output() readonly vtsAfterClose = new EventEmitter<R>();\n  @Output() readonly vtsVisibleChange = new EventEmitter<boolean>();\n\n  @ViewChild(TemplateRef, { static: true })\n  contentTemplateRef!: TemplateRef<{}>;\n  @ContentChild(VtsModalTitleDirective, { static: true, read: TemplateRef })\n  set modalTitle(value: TemplateRef<VtsSafeAny>) {\n    if (value) {\n      this.setTitleWithTemplate(value);\n    }\n  }\n  @ContentChild(VtsModalContentDirective, { static: true, read: TemplateRef })\n  contentFromContentChild!: TemplateRef<VtsSafeAny>;\n  @ContentChild(VtsModalFooterDirective, { static: true, read: TemplateRef })\n  set modalFooter(value: TemplateRef<VtsSafeAny>) {\n    if (value) {\n      this.setFooterWithTemplate(value);\n    }\n  }\n\n  private modalRef: VtsModalRef | null = null;\n\n  get afterOpen(): Observable<void> {\n    // Observable alias for vtsAfterOpen\n    return this.vtsAfterOpen.asObservable();\n  }\n\n  get afterClose(): Observable<R> {\n    // Observable alias for vtsAfterClose\n    return this.vtsAfterClose.asObservable();\n  }\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    private modal: VtsModalService,\n    private viewContainerRef: ViewContainerRef\n  ) {}\n\n  open(): void {\n    if (!this.vtsVisible) {\n      this.vtsVisible = true;\n      this.vtsVisibleChange.emit(true);\n    }\n\n    if (!this.modalRef) {\n      const config = this.getConfig();\n      this.modalRef = this.modal.create(config);\n    }\n  }\n\n  close(result?: R): void {\n    if (this.vtsVisible) {\n      this.vtsVisible = false;\n      this.vtsVisibleChange.emit(false);\n    }\n\n    if (this.modalRef) {\n      this.modalRef.close(result);\n      this.modalRef = null;\n    }\n  }\n\n  destroy(result?: R): void {\n    this.close(result);\n  }\n\n  triggerOk(): void {\n    this.modalRef?.triggerOk();\n  }\n\n  triggerCancel(): void {\n    this.modalRef?.triggerCancel();\n  }\n\n  getContentComponent(): T | void {\n    return this.modalRef?.getContentComponent();\n  }\n\n  getElement(): HTMLElement | void {\n    return this.modalRef?.getElement();\n  }\n\n  getModalRef(): VtsModalRef | null {\n    return this.modalRef;\n  }\n\n  private setTitleWithTemplate(templateRef: TemplateRef<{}>): void {\n    this.vtsTitle = templateRef;\n    if (this.modalRef) {\n      // If modalRef already created, set the title in next tick\n      Promise.resolve().then(() => {\n        this.modalRef!.updateConfig({\n          vtsTitle: this.vtsTitle\n        });\n      });\n    }\n  }\n\n  private setFooterWithTemplate(templateRef: TemplateRef<{}>): void {\n    this.vtsFooter = templateRef;\n    if (this.modalRef) {\n      // If modalRef already created, set the footer in next tick\n      Promise.resolve().then(() => {\n        this.modalRef!.updateConfig({\n          vtsFooter: this.vtsFooter\n        });\n      });\n    }\n\n    this.cdr.markForCheck();\n  }\n\n  private getConfig(): ModalOptions {\n    const componentConfig = getConfigFromComponent(this);\n    componentConfig.vtsViewContainerRef = this.viewContainerRef;\n    if (!this.vtsContent && !this.contentFromContentChild) {\n      componentConfig.vtsContent = this.contentTemplateRef;\n      warnDeprecation(\n        'Usage `<ng-content></ng-content>` is deprecated, which will be removed in 12.0.0. Please instead use `<ng-template vtsModalContent></ng-template>` to declare the content of the modal.'\n      );\n    } else {\n      componentConfig.vtsContent = this.vtsContent || this.contentFromContentChild;\n    }\n    return componentConfig;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { vtsVisible, ...otherChanges } = changes;\n\n    if (Object.keys(otherChanges).length && this.modalRef) {\n      this.modalRef.updateConfig(getConfigFromComponent(this));\n    }\n\n    if (vtsVisible) {\n      if (this.vtsVisible) {\n        this.open();\n      } else {\n        this.close();\n      }\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.modalRef?._finishDialogClose();\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 { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { VtsButtonModule } from '@ui-vts-kit/ng-vts/button';\nimport { VtsNoAnimationModule } from '@ui-vts-kit/ng-vts/core/no-animation';\nimport { VtsOutletModule } from '@ui-vts-kit/ng-vts/core/outlet';\nimport { VtsI18nModule } from '@ui-vts-kit/ng-vts/i18n';\nimport { VtsIconModule } from '@ui-vts-kit/ng-vts/icon';\nimport { VtsPipesModule } from '@ui-vts-kit/ng-vts/pipes';\n\nimport { VtsModalCloseComponent } from './modal-close.component';\nimport { VtsModalConfirmContainerComponent } from './modal-confirm-container.component';\nimport { VtsModalContainerComponent } from './modal-container.component';\nimport { VtsModalContentDirective } from './modal-content.directive';\nimport { VtsModalFooterComponent } from './modal-footer.component';\nimport { VtsModalFooterDirective } from './modal-footer.directive';\nimport { VtsModalTitleComponent } from './modal-title.component';\nimport { VtsModalTitleDirective } from './modal-title.directive';\nimport { VtsModalComponent } from './modal.component';\nimport { VtsModalService } from './modal.service';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    BidiModule,\n    OverlayModule,\n    VtsOutletModule,\n    PortalModule,\n    VtsI18nModule,\n    VtsButtonModule,\n    VtsIconModule,\n    VtsPipesModule,\n    VtsNoAnimationModule,\n    VtsPipesModule\n  ],\n  exports: [\n    VtsModalComponent,\n    VtsModalFooterDirective,\n    VtsModalContentDirective,\n    VtsModalTitleDirective\n  ],\n  providers: [VtsModalService],\n  declarations: [\n    VtsModalComponent,\n    VtsModalFooterDirective,\n    VtsModalContentDirective,\n    VtsModalCloseComponent,\n    VtsModalFooterComponent,\n    VtsModalTitleComponent,\n    VtsModalTitleDirective,\n    VtsModalContainerComponent,\n    VtsModalConfirmContainerComponent,\n    VtsModalComponent\n  ]\n})\nexport class VtsModalModule {}\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 { Observable } from 'rxjs';\n\nexport abstract class VtsModalLegacyAPI<T, R> {\n  abstract afterOpen: Observable<void>;\n  abstract afterClose: Observable<R>;\n\n  abstract close(result?: R): void;\n  abstract destroy(result?: R): void;\n\n  /**\n   * Trigger the vtsOnOk/vtsOnCancel by manual\n   */\n  abstract triggerOk(): void;\n  abstract triggerCancel(): void;\n  /**\n   * Return the component instance of vtsContent when specify vtsContent as a Component\n   */\n  abstract getContentComponent(): T | void;\n\n  /**\n   * Get the dom element of this Modal\n   */\n  abstract getElement(): HTMLElement | void;\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 './modal-types';\nexport * from './modal.service';\nexport * from './modal-ref';\nexport * from './modal-config';\nexport * from './modal.component';\nexport * from './modal-title.directive';\nexport * from './modal-footer.directive';\nexport * from './modal-content.directive';\nexport * from './modal.module';\nexport * from './modal-confirm-container.component';\nexport * from './modal-container.component';\nexport * from './modal-container';\nexport * from './modal-close.component';\nexport * from './modal-title.component';\nexport * from './modal-legacy-api';\nexport * from './modal-types';\nexport * from './modal-animations';\nexport * from './modal-footer.component';\nexport * from './utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ModalOptions","i2","i3","i1","i4","i5.ModalOptions","i7","i10","i11","i12.VtsModalCloseComponent","i2.ModalOptions","i5","i6","i4.ModalOptions","i7.VtsModalCloseComponent","i8.VtsModalFooterComponent","i9.VtsModalTitleComponent","i1.VtsModalRef","i1.VtsModalService"],"mappings":"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"}