{"version":3,"file":"vts-voffice-ng-vts-tooltip.mjs","sources":["../../components/tooltip/base.ts","../../components/tooltip/tooltip.ts","../../components/tooltip/tooltip.module.ts","../../components/tooltip/public-api.ts","../../components/tooltip/vts-voffice-ng-vts-tooltip.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 { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n  CdkConnectedOverlay,\r\n  ConnectedOverlayPositionChange,\r\n  ConnectionPositionPair\r\n} from '@angular/cdk/overlay';\r\nimport {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  ComponentFactoryResolver,\r\n  ComponentRef,\r\n  Directive,\r\n  ElementRef,\r\n  EventEmitter,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  Renderer2,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewChild,\r\n  ViewContainerRef\r\n} from '@angular/core';\r\nimport { VtsConfigService, PopConfirmConfig, PopoverConfig } from '@vts-voffice/ng-vts/core/config';\r\nimport { VtsNoAnimationDirective } from '@vts-voffice/ng-vts/core/no-animation';\r\nimport {\r\n  DEFAULT_TOOLTIP_POSITIONS,\r\n  getPlacementName,\r\n  POSITION_MAP\r\n} from '@vts-voffice/ng-vts/core/overlay';\r\nimport {\r\n  BooleanInput,\r\n  NgClassInterface,\r\n  NgStyleInterface,\r\n  VtsSafeAny,\r\n  VtsTSType\r\n} from '@vts-voffice/ng-vts/core/types';\r\nimport { isNotNil, toBoolean } from '@vts-voffice/ng-vts/core/util';\r\nimport { Subject, asapScheduler } from 'rxjs';\r\nimport { distinctUntilChanged, takeUntil, filter, delay } from 'rxjs/operators';\r\n\r\nexport interface PropertyMapping {\r\n  [key: string]: [string, () => unknown];\r\n}\r\n\r\nexport type VtsTooltipType = 'sentence' | 'paragraph';\r\n\r\nexport type VtsTooltipTrigger = 'click' | 'focus' | 'hover' | null;\r\n\r\n@Directive()\r\nexport abstract class VtsTooltipBaseDirective implements OnChanges, OnDestroy, AfterViewInit {\r\n  arrowPointAtCenter?: boolean;\r\n  config?: Required<PopoverConfig | PopConfirmConfig>;\r\n  directiveTitle?: VtsTSType | null;\r\n  directiveContent?: VtsTSType | null;\r\n  title?: VtsTSType | null;\r\n  content?: VtsTSType | null;\r\n  trigger?: VtsTooltipTrigger;\r\n  placement?: string | string[];\r\n  origin?: ElementRef<HTMLElement>;\r\n  visible?: boolean;\r\n  mouseEnterDelay?: number;\r\n  mouseLeaveDelay?: number;\r\n  overlayClassName?: string;\r\n  overlayStyle?: NgStyleInterface;\r\n  visibleChange = new EventEmitter<boolean>();\r\n  vtsType?: VtsTooltipType;\r\n\r\n  /**\r\n   * For create tooltip dynamically. This should be override for each different component.\r\n   */\r\n  protected componentRef!: ComponentRef<VtsTooltipBaseComponent>;\r\n\r\n  /**\r\n   * This true title that would be used in other parts on this component.\r\n   */\r\n  protected get _title(): VtsTSType | null {\r\n    return this.title || this.directiveTitle || null;\r\n  }\r\n\r\n  protected get _content(): VtsTSType | null {\r\n    return this.content || this.directiveContent || null;\r\n  }\r\n\r\n  protected get _trigger(): VtsTooltipTrigger {\r\n    return typeof this.trigger !== 'undefined' ? this.trigger : 'hover';\r\n  }\r\n\r\n  protected get _placement(): string[] {\r\n    const p = this.placement;\r\n    return Array.isArray(p) && p.length > 0 ? p : typeof p === 'string' && p ? [p] : ['top'];\r\n  }\r\n\r\n  protected get _visible(): boolean {\r\n    return (typeof this.visible !== 'undefined' ? this.visible : this.internalVisible) || false;\r\n  }\r\n\r\n  protected get _mouseEnterDelay(): number {\r\n    return this.mouseEnterDelay || 0.15;\r\n  }\r\n\r\n  protected get _mouseLeaveDelay(): number {\r\n    return this.mouseLeaveDelay || 0.1;\r\n  }\r\n\r\n  protected get _overlayClassName(): string | null {\r\n    return this.overlayClassName || null;\r\n  }\r\n\r\n  protected get _overlayStyle(): NgStyleInterface | null {\r\n    return this.overlayStyle || null;\r\n  }\r\n\r\n  protected get _vtsType(): VtsTooltipType | null {\r\n    return this.vtsType || 'sentence';\r\n  }\r\n\r\n  private internalVisible = false;\r\n\r\n  protected getProxyPropertyMap(): PropertyMapping {\r\n    return {\r\n      noAnimation: ['noAnimation', () => this.noAnimation]\r\n    };\r\n  }\r\n\r\n  component?: VtsTooltipBaseComponent;\r\n\r\n  protected readonly destroy$ = new Subject<void>();\r\n  protected readonly triggerDisposables: Array<() => void> = [];\r\n\r\n  private delayTimer?: number | ReturnType<typeof setTimeout>;\r\n\r\n  constructor(\r\n    public elementRef: ElementRef,\r\n    protected hostView: ViewContainerRef,\r\n    protected resolver: ComponentFactoryResolver,\r\n    protected renderer: Renderer2,\r\n    protected noAnimation?: VtsNoAnimationDirective,\r\n    protected vtsConfigService?: VtsConfigService\r\n  ) {}\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { trigger } = changes;\r\n\r\n    if (trigger && !trigger.isFirstChange()) {\r\n      this.registerTriggers();\r\n    }\r\n\r\n    if (this.component) {\r\n      this.updatePropertiesByChanges(changes);\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.createComponent();\r\n    this.registerTriggers();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n\r\n    // Clear toggling timer. Issue #3875 #4317 #4386\r\n    this.clearTogglingTimer();\r\n    this.removeTriggerListeners();\r\n  }\r\n\r\n  show(): void {\r\n    this.component?.show();\r\n  }\r\n\r\n  hide(): void {\r\n    this.component?.hide();\r\n  }\r\n\r\n  /**\r\n   * Force the component to update its position.\r\n   */\r\n  updatePosition(): void {\r\n    if (this.component) {\r\n      this.component.updatePosition();\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Create a dynamic tooltip component. This method can be override.\r\n   */\r\n  protected createComponent(): void {\r\n    const componentRef = this.componentRef;\r\n    this.component = componentRef.instance as VtsTooltipBaseComponent;\r\n\r\n    // Remove the component's DOM because it should be in the overlay container.\r\n    this.renderer.removeChild(\r\n      this.renderer.parentNode(this.elementRef.nativeElement),\r\n      componentRef.location.nativeElement\r\n    );\r\n    this.component.setOverlayOrigin(this.origin || this.elementRef);\r\n\r\n    this.initProperties();\r\n\r\n    const ngVisibleChange$ = this.component.vtsVisibleChange.pipe(distinctUntilChanged());\r\n\r\n    ngVisibleChange$.pipe(takeUntil(this.destroy$)).subscribe((visible: boolean) => {\r\n      this.internalVisible = visible;\r\n      this.visibleChange.emit(visible);\r\n    });\r\n\r\n    // In some cases, the rendering takes into account the height at which the `arrow` is in wrong place,\r\n    // so `cdk` sets the container position incorrectly.\r\n    // To avoid this, after placing the `arrow` in the correct position, we should `re-calculate` the position of the `overlay`.\r\n    ngVisibleChange$\r\n      .pipe(\r\n        filter((visible: boolean) => visible),\r\n        delay(0, asapScheduler),\r\n        filter(() => Boolean(this.component?.overlay?.overlayRef)),\r\n        takeUntil(this.destroy$)\r\n      )\r\n      .subscribe(() => {\r\n        this.component?.updatePosition();\r\n      });\r\n  }\r\n\r\n  protected registerTriggers(): void {\r\n    // When the method gets invoked, all properties has been synced to the dynamic component.\r\n    // After removing the old API, we can just check the directive's own `vtsTrigger`.\r\n    const el = this.elementRef.nativeElement;\r\n    const trigger = this.trigger;\r\n\r\n    this.removeTriggerListeners();\r\n\r\n    if (trigger === 'hover') {\r\n      let overlayElement: HTMLElement;\r\n      this.triggerDisposables.push(\r\n        this.renderer.listen(el, 'mouseenter', () => {\r\n          this.delayEnterLeave(true, true, this._mouseEnterDelay);\r\n        })\r\n      );\r\n      this.triggerDisposables.push(\r\n        this.renderer.listen(el, 'mouseleave', () => {\r\n          this.delayEnterLeave(true, false, this._mouseLeaveDelay);\r\n          if (this.component?.overlay.overlayRef && !overlayElement) {\r\n            overlayElement = this.component.overlay.overlayRef.overlayElement;\r\n            this.triggerDisposables.push(\r\n              this.renderer.listen(overlayElement, 'mouseenter', () => {\r\n                this.delayEnterLeave(false, true, this._mouseEnterDelay);\r\n              })\r\n            );\r\n            this.triggerDisposables.push(\r\n              this.renderer.listen(overlayElement, 'mouseleave', () => {\r\n                this.delayEnterLeave(false, false, this._mouseLeaveDelay);\r\n              })\r\n            );\r\n          }\r\n        })\r\n      );\r\n    } else if (trigger === 'focus') {\r\n      this.triggerDisposables.push(this.renderer.listen(el, 'focusin', () => this.show()));\r\n      this.triggerDisposables.push(this.renderer.listen(el, 'focusout', () => this.hide()));\r\n    } else if (trigger === 'click') {\r\n      this.triggerDisposables.push(\r\n        this.renderer.listen(el, 'click', (e: MouseEvent) => {\r\n          e.preventDefault();\r\n          this.show();\r\n        })\r\n      );\r\n    }\r\n    // Else do nothing because user wants to control the visibility programmatically.\r\n  }\r\n\r\n  private updatePropertiesByChanges(changes: SimpleChanges): void {\r\n    this.updatePropertiesByKeys(Object.keys(changes));\r\n  }\r\n\r\n  private updatePropertiesByKeys(keys?: string[]): void {\r\n    const mappingProperties: PropertyMapping = {\r\n      // common mappings\r\n      title: ['vtsTitle', () => this._title],\r\n      directiveTitle: ['vtsTitle', () => this._title],\r\n      content: ['vtsContent', () => this._content],\r\n      directiveContent: ['vtsContent', () => this._content],\r\n      trigger: ['vtsTrigger', () => this._trigger],\r\n      placement: ['vtsPlacement', () => this._placement],\r\n      visible: ['vtsVisible', () => this._visible],\r\n      mouseEnterDelay: ['vtsMouseEnterDelay', () => this._mouseEnterDelay],\r\n      mouseLeaveDelay: ['vtsMouseLeaveDelay', () => this._mouseLeaveDelay],\r\n      overlayClassName: ['vtsOverlayClassName', () => this._overlayClassName],\r\n      overlayStyle: ['vtsOverlayStyle', () => this._overlayStyle],\r\n      type: ['vtsType', () => this._vtsType],\r\n      arrowPointAtCenter: ['vtsArrowPointAtCenter', () => this.arrowPointAtCenter],\r\n      ...this.getProxyPropertyMap()\r\n    };\r\n\r\n    (keys || Object.keys(mappingProperties).filter(key => !key.startsWith('directive'))).forEach(\r\n      (property: VtsSafeAny) => {\r\n        if (mappingProperties[property]) {\r\n          const [name, valueFn] = mappingProperties[property];\r\n          this.updateComponentValue(name, valueFn());\r\n        }\r\n      }\r\n    );\r\n\r\n    this.component?.updateByDirective();\r\n  }\r\n\r\n  private initProperties(): void {\r\n    this.updatePropertiesByKeys();\r\n  }\r\n\r\n  private updateComponentValue(key: string, value: VtsSafeAny): void {\r\n    if (typeof value !== 'undefined') {\r\n      // @ts-ignore\r\n      this.component[key] = value;\r\n    }\r\n  }\r\n\r\n  private delayEnterLeave(isOrigin: boolean, isEnter: boolean, delay: number = -1): void {\r\n    if (this.delayTimer) {\r\n      this.clearTogglingTimer();\r\n    } else if (delay > 0) {\r\n      this.delayTimer = setTimeout(() => {\r\n        this.delayTimer = undefined;\r\n        isEnter ? this.show() : this.hide();\r\n      }, delay * 1000);\r\n    } else {\r\n      // `isOrigin` is used due to the tooltip will not hide immediately\r\n      // (may caused by the fade-out animation).\r\n      isEnter && isOrigin ? this.show() : this.hide();\r\n    }\r\n  }\r\n\r\n  private removeTriggerListeners(): void {\r\n    this.triggerDisposables.forEach(dispose => dispose());\r\n    this.triggerDisposables.length = 0;\r\n  }\r\n\r\n  private clearTogglingTimer(): void {\r\n    if (this.delayTimer) {\r\n      clearTimeout(this.delayTimer);\r\n      this.delayTimer = undefined;\r\n    }\r\n  }\r\n}\r\n\r\n@Directive()\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport abstract class VtsTooltipBaseComponent implements OnDestroy, OnInit {\r\n  static ngAcceptInputType_vtsVisible: BooleanInput;\r\n  static ngAcceptInputType_vtsArrowPointAtCenter: BooleanInput;\r\n\r\n  @ViewChild('overlay', { static: false }) overlay!: CdkConnectedOverlay;\r\n\r\n  vtsTitle: VtsTSType | null = null;\r\n  vtsContent: VtsTSType | null = null;\r\n  vtsArrowPointAtCenter: boolean = false;\r\n  vtsOverlayClassName!: string;\r\n  vtsOverlayStyle: NgStyleInterface = {};\r\n  vtsBackdrop = false;\r\n  vtsMouseEnterDelay?: number;\r\n  vtsMouseLeaveDelay?: number;\r\n  vtsType?: VtsTooltipType;\r\n\r\n  vtsVisibleChange = new Subject<boolean>();\r\n\r\n  set vtsVisible(value: boolean) {\r\n    const visible = toBoolean(value);\r\n    if (this._visible !== visible) {\r\n      this._visible = visible;\r\n      this.vtsVisibleChange.next(visible);\r\n    }\r\n  }\r\n\r\n  get vtsVisible(): boolean {\r\n    return this._visible;\r\n  }\r\n\r\n  _visible = false;\r\n\r\n  set vtsTrigger(value: VtsTooltipTrigger) {\r\n    this._trigger = value;\r\n  }\r\n\r\n  get vtsTrigger(): VtsTooltipTrigger {\r\n    return this._trigger;\r\n  }\r\n\r\n  protected _trigger: VtsTooltipTrigger = 'hover';\r\n\r\n  set vtsPlacement(value: string[]) {\r\n    const preferredPosition = value.map(placement => POSITION_MAP[placement]);\r\n    this._positions = [...preferredPosition, ...DEFAULT_TOOLTIP_POSITIONS];\r\n  }\r\n\r\n  preferredPlacement: string = 'top';\r\n\r\n  origin!: ElementRef<VtsSafeAny>;\r\n\r\n  public dir: Direction = 'ltr';\r\n\r\n  _classMap: NgClassInterface = {};\r\n\r\n  _prefix = 'vts-tooltip';\r\n\r\n  _positions: ConnectionPositionPair[] = [...DEFAULT_TOOLTIP_POSITIONS];\r\n\r\n  private destroy$ = new Subject<void>();\r\n\r\n  constructor(\r\n    public cdr: ChangeDetectorRef,\r\n    @Optional() private directionality: Directionality,\r\n    public noAnimation?: VtsNoAnimationDirective\r\n  ) {}\r\n  ngOnInit(): void {\r\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\r\n      this.dir = direction;\r\n      this.cdr.detectChanges();\r\n    });\r\n\r\n    this.dir = this.directionality.value;\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.vtsVisibleChange.complete();\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  show(): void {\r\n    if (this.vtsVisible) {\r\n      return;\r\n    }\r\n\r\n    if (!this.isEmpty()) {\r\n      this.vtsVisible = true;\r\n      this.vtsVisibleChange.next(true);\r\n      this.cdr.detectChanges();\r\n    }\r\n\r\n    // for ltr for overlay to display tooltip in correct placement in rtl direction.\r\n    if (\r\n      this.origin &&\r\n      this.overlay &&\r\n      this.overlay.overlayRef &&\r\n      this.overlay.overlayRef.getDirection() === 'rtl'\r\n    ) {\r\n      this.overlay.overlayRef.setDirection('ltr');\r\n    }\r\n  }\r\n\r\n  hide(): void {\r\n    if (!this.vtsVisible) {\r\n      return;\r\n    }\r\n\r\n    this.vtsVisible = false;\r\n    this.vtsVisibleChange.next(false);\r\n    this.cdr.detectChanges();\r\n  }\r\n\r\n  updateByDirective(): void {\r\n    this.updateStyles();\r\n    this.cdr.detectChanges();\r\n\r\n    Promise.resolve().then(() => {\r\n      this.updatePosition();\r\n      this.updateVisibilityByTitle();\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Force the component to update its position.\r\n   */\r\n  updatePosition(): void {\r\n    if (this.origin && this.overlay && this.overlay.overlayRef) {\r\n      this.overlay.overlayRef.updatePosition();\r\n    }\r\n  }\r\n\r\n  onPositionChange(position: ConnectedOverlayPositionChange): void {\r\n    this.preferredPlacement = getPlacementName(position)!;\r\n    this.updateStyles();\r\n\r\n    // We have to trigger immediate change detection or the element would blink.\r\n    this.cdr.detectChanges();\r\n  }\r\n\r\n  updateStyles(): void {\r\n    this._classMap = {\r\n      [this.vtsOverlayClassName]: true,\r\n      [`${this._prefix}-placement-${this.preferredPlacement}`]: true\r\n    };\r\n  }\r\n\r\n  setOverlayOrigin(origin: ElementRef<HTMLElement>): void {\r\n    this.origin = origin;\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  onClickOutside(event: MouseEvent): void {\r\n    if (!this.origin.nativeElement.contains(event.target) && this.vtsTrigger !== null) {\r\n      this.hide();\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Hide the component while the content is empty.\r\n   */\r\n  private updateVisibilityByTitle(): void {\r\n    if (this.isEmpty()) {\r\n      this.hide();\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Empty component cannot be opened.\r\n   */\r\n  protected abstract isEmpty(): boolean;\r\n}\r\n\r\nexport function isTooltipEmpty(value: string | TemplateRef<void> | null): boolean {\r\n  return value instanceof TemplateRef ? false : value === '' || !isNotNil(value);\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  ComponentFactoryResolver,\r\n  ComponentRef,\r\n  Directive,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Host,\r\n  Input,\r\n  Optional,\r\n  Output,\r\n  Renderer2,\r\n  ViewContainerRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { zoomBigMotion } from '@vts-voffice/ng-vts/core/animation';\r\nimport { isPresetColor, VtsPresetColor } from '@vts-voffice/ng-vts/core/color';\r\nimport { VtsNoAnimationDirective } from '@vts-voffice/ng-vts/core/no-animation';\r\nimport { BooleanInput, NgStyleInterface, VtsTSType } from '@vts-voffice/ng-vts/core/types';\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n  isTooltipEmpty,\r\n  VtsTooltipBaseComponent,\r\n  VtsTooltipBaseDirective,\r\n  VtsTooltipTrigger,\r\n  PropertyMapping,\r\n  VtsTooltipType\r\n} from './base';\r\nimport { InputBoolean } from '@vts-voffice/ng-vts/core/util';\r\n\r\n@Directive({\r\n  selector: '[vts-tooltip]',\r\n  exportAs: 'vtsTooltip',\r\n  host: {\r\n    '[class.vts-tooltip-open]': 'visible'\r\n  }\r\n})\r\nexport class VtsTooltipDirective extends VtsTooltipBaseDirective {\r\n  static ngAcceptInputType_arrowPointAtCenter: BooleanInput;\r\n\r\n  @Input('vtsTooltipTitle') override title?: VtsTSType | null;\r\n  @Input('vts-tooltip') override directiveTitle?: VtsTSType | null;\r\n  @Input('vtsTooltipTrigger') override trigger?: VtsTooltipTrigger = 'hover';\r\n  @Input('vtsTooltipPlacement') override placement?: string | string[] = 'top';\r\n  @Input('vtsTooltipOrigin') override origin?: ElementRef<HTMLElement>;\r\n  @Input('vtsTooltipVisible') override visible?: boolean;\r\n  @Input('vtsTooltipMouseEnterDelay') override mouseEnterDelay?: number;\r\n  @Input('vtsTooltipMouseLeaveDelay') override mouseLeaveDelay?: number;\r\n  @Input('vtsTooltipOverlayClassName') override overlayClassName?: string;\r\n  @Input('vtsTooltipOverlayStyle') override overlayStyle?: NgStyleInterface;\r\n  @Input('vtsTooltipType') override vtsType?: VtsTooltipType;\r\n  @Input('vtsTooltipArrowPointAtCenter') @InputBoolean() override arrowPointAtCenter?: boolean;\r\n  @Input() vtsTooltipColor?: string;\r\n\r\n  // tslint:disable-next-line:no-output-rename\r\n  @Output('vtsTooltipVisibleChange')\r\n  override readonly visibleChange = new EventEmitter<boolean>();\r\n\r\n  override componentRef: ComponentRef<VtsToolTipComponent> =\r\n    this.hostView.createComponent(VtsToolTipComponent);\r\n\r\n  constructor(\r\n    elementRef: ElementRef,\r\n    hostView: ViewContainerRef,\r\n    resolver: ComponentFactoryResolver,\r\n    renderer: Renderer2,\r\n    @Host() @Optional() noAnimation?: VtsNoAnimationDirective\r\n  ) {\r\n    super(elementRef, hostView, resolver, renderer, noAnimation);\r\n  }\r\n\r\n  protected override getProxyPropertyMap(): PropertyMapping {\r\n    return {\r\n      ...super.getProxyPropertyMap(),\r\n      vtsTooltipColor: ['vtsColor', () => this.vtsTooltipColor]\r\n    };\r\n  }\r\n}\r\n\r\n@Component({\r\n  selector: 'vts-tooltip',\r\n  exportAs: 'vtsTooltipComponent',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  animations: [zoomBigMotion],\r\n  template: `\r\n    <ng-template\r\n      #overlay=\"cdkConnectedOverlay\"\r\n      cdkConnectedOverlay\r\n      vtsConnectedOverlay\r\n      [cdkConnectedOverlayOrigin]=\"origin\"\r\n      [cdkConnectedOverlayOpen]=\"_visible\"\r\n      [cdkConnectedOverlayPositions]=\"_positions\"\r\n      [cdkConnectedOverlayPush]=\"true\"\r\n      [vtsArrowPointAtCenter]=\"vtsArrowPointAtCenter\"\r\n      (overlayOutsideClick)=\"onClickOutside($event)\"\r\n      (detach)=\"hide()\"\r\n      (positionChange)=\"onPositionChange($event)\"\r\n    >\r\n      <div\r\n        class=\"vts-tooltip\"\r\n        [class.vts-tooltip-rtl]=\"dir === 'rtl'\"\r\n        [class.vts-tooltip-sentence]=\"vtsType === 'sentence'\"\r\n        [class.vts-tooltip-paragraph]=\"vtsType === 'paragraph'\"\r\n        [ngClass]=\"_classMap\"\r\n        [ngStyle]=\"vtsOverlayStyle\"\r\n        [@.disabled]=\"noAnimation?.vtsNoAnimation\"\r\n        [vtsNoAnimation]=\"noAnimation?.vtsNoAnimation\"\r\n        [@zoomBigMotion]=\"'active'\"\r\n      >\r\n        <div class=\"vts-tooltip-content\">\r\n          <div class=\"vts-tooltip-arrow\">\r\n            <span class=\"vts-tooltip-arrow-content\" [ngStyle]=\"_contentStyleMap\"></span>\r\n          </div>\r\n          <div class=\"vts-tooltip-inner\" [ngStyle]=\"_contentStyleMap\">\r\n            <ng-container *vtsStringTemplateOutlet=\"vtsTitle\">\r\n              {{ vtsTitle }}\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n  `,\r\n  preserveWhitespaces: false\r\n})\r\nexport class VtsToolTipComponent extends VtsTooltipBaseComponent {\r\n  override vtsTitle: VtsTSType | null = null;\r\n\r\n  vtsColor?: string | VtsPresetColor;\r\n\r\n  _contentStyleMap: NgStyleInterface = {};\r\n\r\n  constructor(\r\n    cdr: ChangeDetectorRef,\r\n    @Optional() directionality: Directionality,\r\n    @Host() @Optional() noAnimation?: VtsNoAnimationDirective\r\n  ) {\r\n    super(cdr, directionality, noAnimation);\r\n  }\r\n\r\n  protected isEmpty(): boolean {\r\n    return isTooltipEmpty(this.vtsTitle);\r\n  }\r\n\r\n  override updateStyles(): void {\r\n    const isColorPreset = this.vtsColor && isPresetColor(this.vtsColor);\r\n\r\n    this._classMap = {\r\n      [this.vtsOverlayClassName]: true,\r\n      [`${this._prefix}-placement-${this.preferredPlacement}`]: true,\r\n      [`${this._prefix}-${this.vtsColor}`]: isColorPreset\r\n    };\r\n\r\n    this._contentStyleMap = {\r\n      backgroundColor: !!this.vtsColor && !isColorPreset ? this.vtsColor : 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 { 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 { VtsNoAnimationModule } from '@vts-voffice/ng-vts/core/no-animation';\r\nimport { VtsOutletModule } from '@vts-voffice/ng-vts/core/outlet';\r\nimport { VtsOverlayModule } from '@vts-voffice/ng-vts/core/overlay';\r\n// NOTE: the `t` is not uppercase in directives. Change this would however introduce breaking change.\r\nimport { VtsToolTipComponent, VtsTooltipDirective } from './tooltip';\r\n\r\n@NgModule({\r\n  declarations: [VtsToolTipComponent, VtsTooltipDirective],\r\n  exports: [VtsToolTipComponent, VtsTooltipDirective],\r\n  imports: [\r\n    BidiModule,\r\n    CommonModule,\r\n    OverlayModule,\r\n    VtsOutletModule,\r\n    VtsOverlayModule,\r\n    VtsNoAnimationModule\r\n  ]\r\n})\r\nexport class VtsToolTipModule {}\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 './tooltip';\r\nexport * from './tooltip.module';\r\nexport * from './base';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3"],"mappings":"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"}