{"version":3,"file":"ifsworld-granite-components-tooltip.mjs","sources":["../../../../libs/granite-components/tooltip/src/lib/tooltip.component.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.component.html","../../../../libs/granite-components/tooltip/src/lib/tooltip-constants.library.ts","../../../../libs/granite-components/tooltip/src/lib/Services/granite-tooltip.service.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip-trigger-for.directive.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.module.ts","../../../../libs/granite-components/tooltip/src/ifsworld-granite-components-tooltip.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  Component,\n  TemplateRef,\n  ViewChild,\n} from '@angular/core';\n\n@Component({\n  selector: 'granite-tooltip',\n  templateUrl: './tooltip.component.html',\n  styleUrls: ['./tooltip.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class GraniteTooltipComponent {\n  @ViewChild(TemplateRef) _templateRef: TemplateRef<any>;\n}\n","<ng-template>\n  <div class=\"granite-tooltip\">\n    <ng-content></ng-content>\n  </div>\n</ng-template>\n","export class GraniteTooltipConstants {\n  static readonly OFFSET_X: number = 8;\n  static readonly OFFSET_Y: number = 8;\n}\n","import { Injectable } from '@angular/core';\nimport { GraniteTooltipComponent } from '../tooltip.component';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class GraniteTooltipService {\n  private _activeTooltip: GraniteTooltipComponent | null = null;\n\n  setActiveTooltip(tooltip: GraniteTooltipComponent): void {\n    if (this._activeTooltip && this._activeTooltip !== tooltip) {\n      this.clearActiveTooltip();\n    }\n    this._activeTooltip = tooltip;\n  }\n\n  clearActiveTooltip(): void {\n    this._activeTooltip = null;\n  }\n\n  get activeTooltip(): GraniteTooltipComponent | null {\n    return this._activeTooltip;\n  }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n  ConnectionPositionPair,\n  HorizontalConnectionPos,\n  Overlay,\n  OverlayRef,\n  VerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n  Directive,\n  ElementRef,\n  Inject,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  SimpleChanges,\n  ViewContainerRef,\n  inject,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { GraniteTooltipConstants } from './tooltip-constants.library';\nimport { GraniteTooltipComponent } from './tooltip.component';\nimport { GraniteTooltipService } from './Services/granite-tooltip.service';\nimport { GRANITE_CLIENT_OUTPUT } from '@ifsworld/granite-components/core';\n\n@Directive({\n  selector: '[graniteTooltipTriggerFor]',\n  host: {\n    '(mouseenter)': '_handleMouseenter($event)',\n    '(mouseleave)': '_handleMouseleave($event)',\n    '(blur)': '_handleBlur($event)',\n  },\n  standalone: false,\n})\nexport class GraniteTooltipTriggerForDirective\n  implements OnDestroy, OnInit, OnChanges\n{\n  @Input('graniteTooltipTriggerFor')\n  tooltip: GraniteTooltipComponent;\n\n  @Input()\n  hideDelay: number = 0;\n\n  @Input()\n  showDelay: number = 500;\n\n  @Input()\n  showOnKeyboardFocus: boolean = false;\n\n  @Input()\n  showOnClick: boolean = false;\n\n  private _elementRef = inject(ElementRef);\n  private _overlay = inject(Overlay);\n  private _viewContainerRef = inject(ViewContainerRef);\n  private _focusMonitor = inject(FocusMonitor);\n  private _tooltipService = inject(GraniteTooltipService);\n  private _clientOutput = inject(GRANITE_CLIENT_OUTPUT, { optional: true });\n\n  private _overlayRef: OverlayRef;\n  private _destroy: Subject<void> = new Subject();\n\n  private _detachOverlayTimeoutId: number | null;\n  private _attachOverlayTimeoutId: number | null;\n\n  ngOnInit(): void {\n    this._createOverlay();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.showOnKeyboardFocus) {\n      this._handleKeyboardFocus();\n    }\n    if (changes.showOnClick) {\n      this._handleClick();\n    }\n  }\n\n  ngOnDestroy(): void {\n    this._detachOverlay(this.hideDelay);\n    this._destroy.next();\n    this._destroy.complete();\n  }\n\n  _handleMouseenter(): void {\n    if (!this.showOnClick) {\n      this._attachOverlay(this.showDelay);\n    }\n  }\n\n  _handleMouseleave(): void {\n    this._detachOverlay(this.hideDelay);\n  }\n\n  _handleBlur(): void {\n    this._detachOverlay(this.hideDelay);\n  }\n\n  private _handleClick(): void {\n    fromEvent(this._getTriggerElement(), 'click')\n      .pipe(takeUntil(this._destroy))\n      .subscribe(() => {\n        this._attachOverlay(this.showDelay);\n      });\n  }\n\n  private _handleKeyboardFocus(): void {\n    this._focusMonitor\n      .monitor(this._getTriggerElement())\n      .pipe(takeUntil(this._destroy))\n      .subscribe((origin) => {\n        if (!origin) {\n          this._detachOverlay(this.hideDelay);\n        } else if (origin === 'keyboard') {\n          this._attachOverlay(this.hideDelay);\n        }\n      });\n  }\n\n  private _createOverlay(): void {\n    const scrollStrategy =\n      this._clientOutput.device !== 'touch'\n        ? this._overlay.scrollStrategies.reposition()\n        : this._overlay.scrollStrategies.close();\n    const positionStrategy = this._overlay\n      .position()\n      .flexibleConnectedTo(this._getTriggerElement())\n      .withPositions(this._getTooltipPositions())\n      .withPush(true);\n\n    this._overlayRef = this._overlay.create({\n      positionStrategy,\n      scrollStrategy,\n    });\n\n    this._overlayRef\n      .backdropClick()\n      .pipe(takeUntil(this._destroy))\n      .subscribe(() => {\n        this._detachOverlay(this.hideDelay);\n      });\n  }\n\n  private _attachOverlay(delay: number): void {\n    clearTimeout(this._detachOverlayTimeoutId);\n\n    if (\n      this._tooltipService.activeTooltip === this.tooltip &&\n      this._overlayRef.hasAttached()\n    ) {\n      return;\n    }\n    this._tooltipService.setActiveTooltip(this.tooltip);\n\n    this._attachOverlayTimeoutId = window.setTimeout(() => {\n      if (!this._overlayRef.hasAttached()) {\n        const portal = new TemplatePortal(\n          this.tooltip._templateRef,\n          this._viewContainerRef\n        );\n        this._overlayRef.attach(portal);\n      }\n    }, delay);\n  }\n\n  private _detachOverlay(delay: number): void {\n    clearTimeout(this._attachOverlayTimeoutId);\n\n    this._detachOverlayTimeoutId = window.setTimeout(() => {\n      if (this._overlayRef.hasAttached()) {\n        this._overlayRef.detach();\n        this._detachOverlayTimeoutId = null;\n        this._tooltipService.clearActiveTooltip();\n      }\n    }, delay);\n  }\n\n  private _getTriggerElement(): HTMLInputElement {\n    return this._elementRef.nativeElement;\n  }\n\n  private _createPositionPair(\n    originX: HorizontalConnectionPos,\n    originY: VerticalConnectionPos,\n    overlayX: HorizontalConnectionPos,\n    overlayY: VerticalConnectionPos,\n    offsetX: number | undefined,\n    offsetY: number | undefined,\n    positionName: string\n  ): ConnectionPositionPair {\n    return new ConnectionPositionPair(\n      { originX, originY },\n      { overlayX, overlayY },\n      offsetX,\n      offsetY,\n      `granite-tooltip-position-${positionName}`\n    );\n  }\n\n  private _getTooltipPositions(): ConnectionPositionPair[] {\n    const offsetX = GraniteTooltipConstants.OFFSET_X;\n    const offsetY = GraniteTooltipConstants.OFFSET_Y;\n\n    return [\n      // below\n      this._createPositionPair(\n        'center',\n        'bottom',\n        'center',\n        'top',\n        undefined,\n        offsetY,\n        'below'\n      ),\n      // above\n      this._createPositionPair(\n        'center',\n        'top',\n        'center',\n        'bottom',\n        undefined,\n        -offsetY,\n        'above'\n      ),\n      // right\n      this._createPositionPair(\n        'end',\n        'center',\n        'start',\n        'center',\n        offsetX,\n        undefined,\n        'right'\n      ),\n      // left\n      this._createPositionPair(\n        'start',\n        'center',\n        'end',\n        'center',\n        -offsetX,\n        undefined,\n        'left'\n      ),\n      // below-start\n      this._createPositionPair(\n        'start',\n        'bottom',\n        'start',\n        'top',\n        undefined,\n        offsetY,\n        'below-start'\n      ),\n      // below-end\n      this._createPositionPair(\n        'end',\n        'bottom',\n        'end',\n        'top',\n        undefined,\n        offsetY,\n        'below-end'\n      ),\n      // above-start\n      this._createPositionPair(\n        'start',\n        'top',\n        'start',\n        'bottom',\n        undefined,\n        -offsetY,\n        'above-start'\n      ),\n      // above-end\n      this._createPositionPair(\n        'end',\n        'top',\n        'end',\n        'bottom',\n        undefined,\n        -offsetY,\n        'above-end'\n      ),\n      // right-start\n      this._createPositionPair(\n        'end',\n        'top',\n        'start',\n        'top',\n        offsetX,\n        undefined,\n        'right-start'\n      ),\n      // right-end\n      this._createPositionPair(\n        'end',\n        'bottom',\n        'start',\n        'bottom',\n        offsetX,\n        undefined,\n        'right-end'\n      ),\n      // left-start\n      this._createPositionPair(\n        'start',\n        'top',\n        'end',\n        'top',\n        -offsetX,\n        undefined,\n        'left-start'\n      ),\n      // left-end\n      this._createPositionPair(\n        'start',\n        'bottom',\n        'end',\n        'bottom',\n        -offsetX,\n        undefined,\n        'left-end'\n      ),\n    ];\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GraniteTooltipComponent } from './tooltip.component';\nimport { GraniteTooltipTriggerForDirective } from './tooltip-trigger-for.directive';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n  exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n})\nexport class GraniteTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}