{"version":3,"file":"obelisco-angular-tooltip.mjs","sources":["../../../projects/obelisco-angular/tooltip/tooltip.directive.ts","../../../projects/obelisco-angular/tooltip/o-tooltip.module.ts","../../../projects/obelisco-angular/tooltip/obelisco-angular-tooltip.ts"],"sourcesContent":["import {\n  Directive,\n  ElementRef,\n  HostListener,\n  Input,\n  OnDestroy,\n  OnInit,\n} from '@angular/core';\nimport tippy from 'tippy.js';\nimport { TooltipDirections } from 'obelisco-angular/core/models';\n\n@Directive({\n  selector: '[oTooltip]',\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n  @Input() public description: string = '';\n  @Input() public direction: TooltipDirections = 'top';\n  @Input() public trigger: 'mouseenter' | 'click' = 'mouseenter';\n\n  private tippyInstance: any;\n  private isTooltipVisible: boolean = false;\n\n  constructor(private elementRef: ElementRef) {}\n\n  ngOnInit(): void {\n    this.createTooltip();\n  }\n\n  ngOnDestroy(): void {\n    if (this.tippyInstance) {\n      this.tippyInstance.destroy();\n    }\n  }\n\n  @HostListener('window:resize')\n  onWindowResize(): void {\n    if (window.innerWidth < 975) {\n      this.createTooltip('top');\n    } else {\n      this.createTooltip();\n    }\n  }\n\n  private createTooltip(\n    newDirection: TooltipDirections = this.direction\n  ): void {\n    if (this.tippyInstance) {\n      this.tippyInstance.destroy();\n    }\n\n    if (\n      window.innerWidth < 975 &&\n      (newDirection === 'left' ||\n        newDirection === 'left-start' ||\n        newDirection === 'left-end')\n    ) {\n      newDirection = 'bottom';\n    } else if (\n      window.innerWidth < 975 &&\n      (newDirection === 'right' ||\n        newDirection === 'right-start' ||\n        newDirection === 'right-end')\n    ) {\n      newDirection = 'top';\n    }\n\n    this.tippyInstance = tippy(this.elementRef.nativeElement, {\n      content: this.description,\n      placement: newDirection,\n      offset: [0, 16],\n      theme: 'custom-theme',\n      trigger: this.trigger,\n    });\n  }\n\n  @HostListener('focusout')\n  closeTooltip(): void {\n    if (this.tippyInstance) {\n      this.tippyInstance.hide();\n    }\n  }\n\n  @HostListener('keydown.enter')\n  toggleTooltip(): void {\n    if (this.tippyInstance) {\n      if (this.isTooltipVisible) {\n        this.tippyInstance.hide();\n      } else {\n        this.tippyInstance.show();\n      }\n      this.isTooltipVisible = !this.isTooltipVisible;\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipDirective } from './tooltip.directive';\nimport {\n  provideTippyConfig,\n  tooltipVariation,\n  popperVariation,\n} from '@ngneat/helipopper';\n\n@NgModule({\n  declarations: [TooltipDirective],\n  imports: [\n    CommonModule,\n    //   TippyModule.forRoot({\n    //     variations: {\n    //       tooltip: tooltipVariation,\n    //       popper: popperVariation,\n    //     },\n    //   }),\n  ],\n  providers: [\n    provideTippyConfig({\n      defaultVariation: 'tooltip',\n      variations: {\n        tooltip: tooltipVariation,\n        popper: popperVariation,\n      },\n    }),\n  ],\n  exports: [TooltipDirective],\n})\nexport class OTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}