{"version":3,"file":"catrx-ui-tooltip.mjs","sources":["../../../../projects/catrx/ui/tooltip/src/tooltip.component.ts","../../../../projects/catrx/ui/tooltip/src/tooltip.component.html","../../../../projects/catrx/ui/tooltip/src/cat-tooltip.directive.ts","../../../../projects/catrx/ui/tooltip/src/cat-tooltip.module.ts","../../../../projects/catrx/ui/tooltip/catrx-ui-tooltip.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CatTooltipPosition } from './cat-tooltip.directive';\n\n@Component({\n  templateUrl: './tooltip.component.html',\n})\nexport class TooltipComponent {\n  tooltip = '';\n  left = 0;\n  top = 0;\n  position: CatTooltipPosition = 'above';\n  visible = false;\n}\n","<div\n  class=\"cat-tooltip\"\n  [class.cat-tooltip--visible]=\"visible\"\n  [ngClass]=\"['cat-tooltip--' + position]\"\n  [style.left]=\"left + 'px'\"\n  [style.top]=\"top + 'px'\">\n  {{ tooltip }}\n</div>\n","import {\n  ApplicationRef,\n  ComponentFactoryResolver,\n  ComponentRef,\n  Directive,\n  ElementRef,\n  EmbeddedViewRef,\n  HostListener,\n  Injector,\n  Input,\n  OnDestroy,\n} from '@angular/core';\nimport { interval } from 'rxjs/internal/observable/interval';\nimport { startWith } from 'rxjs/internal/operators/startWith';\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { TooltipComponent } from './tooltip.component';\n\nexport type CatTooltipPosition = 'above' | 'below' | 'left' | 'right' | 'above';\n\n@Directive({\n  selector: '[catTooltip]',\n})\nexport class CatTooltipDirective implements OnDestroy {\n  @Input() catTooltip = '';\n  @Input() catTooltipPosition: CatTooltipPosition = 'above';\n\n  private showTimeout: number;\n  private touchTimeout: number;\n  private hideTimeout: number;\n  private showDelay = 1000;\n  private hideDelay = 0;\n  private componentRef: ComponentRef<TooltipComponent> = null;\n  private intervalObserveTriggerDestroy: Subscription;\n\n  constructor(\n    private elementRef: ElementRef<HTMLElement>,\n    private appRef: ApplicationRef,\n    private componentFactoryResolver: ComponentFactoryResolver,\n    private injector: Injector\n  ) {}\n\n  @HostListener('mouseenter')\n  onMouseEnter(): void {\n    if (document.body.clientWidth > 980) this.initializeTooltip();\n  }\n\n  @HostListener('mouseleave')\n  onMouseLeave(): void {\n    this.destroy();\n  }\n\n  ngOnDestroy(): void {\n    this.destroy();\n  }\n\n  destroy(): void {\n    if (this.componentRef !== null) {\n      this.appRef.detachView(this.componentRef.hostView);\n      this.componentRef.destroy();\n      this.componentRef = null;\n    }\n    this.intervalObserveTriggerDestroy?.unsubscribe();\n  }\n\n  private initializeTooltip() {\n    if (this.componentRef === null) {\n      const componentFactory =\n        this.componentFactoryResolver.resolveComponentFactory(TooltipComponent);\n      this.componentRef = componentFactory.create(this.injector);\n      this.appRef.attachView(this.componentRef.hostView);\n      const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>)\n        .rootNodes[0] as HTMLElement;\n      document.querySelector('main').appendChild(domElem);\n      this.setTooltipComponentProperties();\n      this.showTimeout = window.setTimeout(\n        this.showTooltip.bind(this),\n        this.showDelay\n      );\n    }\n  }\n\n  private setTooltipComponentProperties() {\n    if (this.componentRef !== null) {\n      this.componentRef.instance.tooltip = this.catTooltip;\n\n      setTimeout(() => {\n        const position = this.calcPosition();\n\n        if (this.componentRef) {\n          this.componentRef.instance.left = position.leftPosition;\n          this.componentRef.instance.top = position.topPosition;\n          this.componentRef.instance.visible = true;\n        }\n\n        this.observeTriggerDestroy();\n\n        this.showTooltip();\n      }, 1);\n    }\n  }\n\n  private showTooltip() {\n    if (this.componentRef !== null) {\n      this.componentRef.instance.visible = true;\n    }\n  }\n\n  private observeTriggerDestroy() {\n    this.intervalObserveTriggerDestroy = interval(50)\n      .pipe(startWith(0))\n      .subscribe(() => {\n        if (!this.elementRef.nativeElement.isConnected) this.destroy();\n      });\n  }\n\n  private calcPosition(withoutSwitches = false) {\n    const bodyWidth = document.body.clientWidth;\n    const bodyHeigth = document.body.clientHeight;\n\n    let topPosition = 0;\n    let leftPosition = 0;\n\n    const { left, right, bottom, top, width, height } =\n      this.elementRef.nativeElement.getBoundingClientRect();\n    const elTooltipContent = document.querySelector('.cat-tooltip');\n    const tooltipWidth = elTooltipContent?.clientWidth;\n    const tooltipHeigth = elTooltipContent?.clientHeight;\n    const triggerWidth = this.elementRef.nativeElement.clientWidth;\n    const triggerHeight = this.elementRef.nativeElement.clientHeight;\n    const absoluteHorizontalPosition = left + width + tooltipWidth;\n    const absoluteVerticalPosition = top + height + tooltipHeigth;\n    const isMobile = bodyWidth <= 980;\n\n    if (!withoutSwitches) {\n      if (\n        this.calcPosition(true).topPosition - tooltipHeigth < 0 &&\n        this.catTooltipPosition === 'above'\n      )\n        this.catTooltipPosition = 'below';\n      if (\n        absoluteHorizontalPosition > bodyWidth &&\n        this.catTooltipPosition === 'right'\n      )\n        this.catTooltipPosition = 'left';\n      if (\n        this.calcPosition(true).leftPosition - tooltipWidth < 0 &&\n        this.catTooltipPosition === 'left'\n      )\n        this.catTooltipPosition = 'right';\n      if (\n        absoluteVerticalPosition > bodyHeigth &&\n        this.catTooltipPosition === 'below'\n      )\n        this.catTooltipPosition = 'above';\n    }\n\n    if (isMobile) {\n      leftPosition = 5;\n    }\n\n    switch (this.catTooltipPosition) {\n      case 'above':\n        if (!isMobile) {\n          leftPosition = left + this.calcMiddlePosition(tooltipWidth);\n          if ((leftPosition + tooltipWidth) > bodyWidth) {\n            leftPosition = bodyWidth - this.calcMiddlePosition(tooltipWidth) - 5;\n          }\n        }\n\n        topPosition = top;\n        break;\n      case 'below':\n        if (!isMobile) {\n          leftPosition = left + this.calcMiddlePosition(tooltipWidth);\n          if ((leftPosition + tooltipWidth) > bodyWidth) {\n            leftPosition = bodyWidth - this.calcMiddlePosition(tooltipWidth) - 5;\n          }\n        }\n\n        topPosition = top + triggerHeight + tooltipHeigth;\n        break;\n      case 'left':\n        if (!isMobile)\n          leftPosition = left - this.calcMiddlePosition(tooltipWidth);\n\n        topPosition =\n          top +\n          this.calcMiddlePosition(triggerHeight) +\n          this.calcMiddlePosition(tooltipHeigth);\n        break;\n      case 'right':\n        if (!isMobile)\n          leftPosition =\n            left + triggerWidth + this.calcMiddlePosition(tooltipWidth);\n\n        topPosition =\n          top +\n          this.calcMiddlePosition(triggerHeight) +\n          this.calcMiddlePosition(tooltipHeigth);\n        break;\n    }\n\n    return { topPosition, leftPosition };\n  }\n\n  private calcMiddlePosition(value: number) {\n    return value / 2;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TooltipComponent } from './tooltip.component';\nimport { CatTooltipDirective } from './cat-tooltip.directive';\n\n@NgModule({\n  declarations: [TooltipComponent, CatTooltipDirective],\n  imports: [CommonModule],\n  exports: [CatTooltipDirective],\n})\nexport class CatTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}