{"version":3,"file":"mdb-angular-ui-kit-tooltip.mjs","sources":["../../../projects/mdb-angular-ui-kit/tooltip/tooltip.component.ts","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.component.html","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.directive.ts","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.module.ts","../../../projects/mdb-angular-ui-kit/tooltip/mdb-angular-ui-kit-tooltip.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  HostBinding,\n  Input,\n} from '@angular/core';\nimport { trigger, style, animate, transition, state, AnimationEvent } from '@angular/animations';\nimport { Subject } from 'rxjs';\n@Component({\n  selector: 'mdb-tooltip',\n  templateUrl: 'tooltip.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('fade', [\n      state('visible', style({ opacity: 1 })),\n      state('hidden', style({ opacity: 0 })),\n      transition('visible => hidden', animate('150ms linear')),\n      transition(':enter', animate('150ms linear')),\n    ]),\n  ],\n  standalone: false,\n})\nexport class MdbTooltipComponent {\n  @Input() title: string;\n  @Input() html: boolean;\n  @Input() animation: boolean;\n\n  @HostBinding('class.tooltip') tooltip = true;\n\n  readonly _hidden: Subject<void> = new Subject();\n\n  animationState = 'hidden';\n\n  constructor(private _cdRef: ChangeDetectorRef) {}\n\n  markForCheck(): void {\n    this._cdRef.markForCheck();\n  }\n\n  detectChanges(): void {\n    this._cdRef.detectChanges();\n  }\n\n  onAnimationEnd(event: AnimationEvent): void {\n    if (event.toState === 'hidden') {\n      this._hidden.next();\n    }\n  }\n}\n","@if (html) {\n<div\n  [@fade]=\"animationState\"\n  (@fade.done)=\"onAnimationEnd($event)\"\n  [@.disabled]=\"!animation\"\n  [innerHTML]=\"title\"\n  class=\"tooltip-inner\"\n></div>\n} @if (!html) {\n<div\n  [@fade]=\"animationState\"\n  (@fade.done)=\"onAnimationEnd($event)\"\n  [@.disabled]=\"!animation\"\n  class=\"tooltip-inner\"\n>\n  {{ title }}\n</div>\n}\n","import {\n  ChangeDetectorRef,\n  ComponentRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  inject,\n} from '@angular/core';\nimport {\n  ConnectedPosition,\n  Overlay,\n  OverlayConfig,\n  OverlayPositionBuilder,\n  OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { MdbTooltipComponent } from './tooltip.component';\nimport { MdbTooltipPosition } from './tooltip.types';\nimport { fromEvent, Subject } from 'rxjs';\nimport { first, takeUntil } from 'rxjs/operators';\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: '[mdbTooltip]',\n  exportAs: 'mdbTooltip',\n  standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbTooltipDirective implements OnInit, OnDestroy {\n  @Input() mdbTooltip = '';\n  @Input() tooltipDisabled = false;\n  @Input() placement: MdbTooltipPosition = 'top';\n  @Input() html = false;\n  @Input() animation = true;\n  @Input() trigger = 'hover focus';\n  @Input() delayShow = 0;\n  @Input() delayHide = 0;\n  @Input() offset = 6;\n\n  @Output() tooltipShow: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n  @Output() tooltipShown: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n  @Output() tooltipHide: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n  @Output() tooltipHidden: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n\n  private _overlayRef: OverlayRef;\n  private _tooltipRef: ComponentRef<MdbTooltipComponent>;\n  private _open = false;\n  private _showTimeout: any = 0;\n  private _hideTimeout: any = 0;\n\n  private _cdRef = inject(ChangeDetectorRef);\n\n  readonly _destroy$: Subject<void> = new Subject<void>();\n\n  constructor(\n    private _overlay: Overlay,\n    private _overlayPositionBuilder: OverlayPositionBuilder,\n    private _elementRef: ElementRef\n  ) {}\n\n  ngOnInit(): void {\n    if (this.tooltipDisabled || this.mdbTooltip === '') {\n      return;\n    }\n\n    this._bindTriggerEvents();\n  }\n\n  ngOnDestroy(): void {\n    if (this._open || this._showTimeout) {\n      this.hide();\n    }\n\n    this._destroy$.next();\n    this._destroy$.complete();\n  }\n\n  private _bindTriggerEvents(): void {\n    const triggers = this.trigger.split(' ');\n\n    triggers.forEach((trigger) => {\n      if (trigger === 'click') {\n        fromEvent(this._elementRef.nativeElement, trigger)\n          .pipe(takeUntil(this._destroy$))\n          .subscribe(() => this.toggle());\n      } else if (trigger !== 'manual') {\n        const evIn = trigger === 'hover' ? 'mouseenter' : 'focusin';\n        const evOut = trigger === 'hover' ? 'mouseleave' : 'focusout';\n\n        fromEvent(this._elementRef.nativeElement, evIn)\n          .pipe(takeUntil(this._destroy$))\n          .subscribe(() => this.show());\n        fromEvent(this._elementRef.nativeElement, evOut)\n          .pipe(takeUntil(this._destroy$))\n          .subscribe(() => this.hide());\n      }\n    });\n  }\n\n  private _createOverlayConfig(): OverlayConfig {\n    const positionStrategy = this._overlayPositionBuilder\n      .flexibleConnectedTo(this._elementRef)\n      .withPositions(this._getPosition());\n    const overlayConfig = new OverlayConfig({\n      hasBackdrop: false,\n      scrollStrategy: this._overlay.scrollStrategies.reposition(),\n      positionStrategy,\n    });\n\n    return overlayConfig;\n  }\n\n  private _createOverlay(): void {\n    this._overlayRef = this._overlay.create(this._createOverlayConfig());\n  }\n\n  private _getPosition(): ConnectedPosition[] {\n    let position;\n\n    const positionTop = {\n      originX: 'center',\n      originY: 'top',\n      overlayX: 'center',\n      overlayY: 'bottom',\n      offsetY: -this.offset,\n    };\n\n    const positionBottom = {\n      originX: 'center',\n      originY: 'bottom',\n      overlayX: 'center',\n      overlayY: 'top',\n      offsetY: this.offset,\n    };\n\n    const positionRight = {\n      originX: 'end',\n      originY: 'center',\n      overlayX: 'start',\n      overlayY: 'center',\n      offsetX: this.offset,\n    };\n\n    const positionLeft = {\n      originX: 'start',\n      originY: 'center',\n      overlayX: 'end',\n      overlayY: 'center',\n      offsetX: -this.offset,\n    };\n\n    switch (this.placement) {\n      case 'top':\n        position = [positionTop, positionBottom];\n        break;\n      case 'bottom':\n        position = [positionBottom, positionTop];\n        break;\n      case 'left':\n        position = [positionLeft, positionRight];\n        break;\n      case 'right':\n        position = [positionRight, positionLeft];\n        break;\n      default:\n        break;\n    }\n\n    return position;\n  }\n\n  show(): void {\n    if (this._hideTimeout || this._open) {\n      this._overlayRef.detach();\n      clearTimeout(this._hideTimeout);\n      this._hideTimeout = null;\n    }\n\n    this._createOverlay();\n\n    this._showTimeout = setTimeout(() => {\n      if (!this._overlayRef.hasAttached()) {\n        const tooltipPortal = new ComponentPortal(MdbTooltipComponent);\n\n        this.tooltipShow.emit(this);\n        this._open = true;\n\n        this._tooltipRef = this._overlayRef.attach(tooltipPortal);\n        this._tooltipRef.instance.title = this.mdbTooltip;\n        this._tooltipRef.instance.html = this.html;\n        this._tooltipRef.instance.animation = this.animation;\n        this._tooltipRef.instance.animationState = 'visible';\n\n        this._tooltipRef.instance.detectChanges();\n        this._cdRef.markForCheck();\n\n        this.tooltipShown.emit(this);\n      }\n    }, this.delayShow);\n  }\n\n  hide(): void {\n    if (this._showTimeout) {\n      clearTimeout(this._showTimeout);\n      this._showTimeout = null;\n    } else {\n      return;\n    }\n\n    this._hideTimeout = setTimeout(() => {\n      this.tooltipHide.emit(this);\n\n      if (!this._tooltipRef) {\n        this._overlayRef.detach();\n        this._open = false;\n        this.tooltipHidden.emit(this);\n      } else {\n        this._tooltipRef.instance._hidden.pipe(first()).subscribe(() => {\n          this._overlayRef.detach();\n          this._open = false;\n          this.tooltipHidden.emit(this);\n        });\n        this._tooltipRef.instance.animationState = 'hidden';\n        this._tooltipRef.instance.detectChanges();\n      }\n    }, this.delayHide);\n  }\n\n  toggle(): void {\n    if (this._open) {\n      this.hide();\n    } else {\n      this.show();\n    }\n  }\n}\n","import { MdbTooltipDirective } from './tooltip.directive';\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { MdbTooltipComponent } from './tooltip.component';\n\n@NgModule({\n  imports: [CommonModule, OverlayModule],\n  declarations: [MdbTooltipDirective, MdbTooltipComponent],\n  exports: [MdbTooltipDirective, MdbTooltipComponent],\n})\nexport class MdbTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}