{"version":3,"file":"ngx-bootstrap-tooltip.mjs","sources":["../../../../src/tooltip/tooltip.config.ts","../../../../src/tooltip/tooltip-container.component.ts","../../../../src/tooltip/tooltip.directive.ts","../../../../src/tooltip/tooltip.module.ts","../../../../src/tooltip/ngx-bootstrap-tooltip.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/** Default values provider for tooltip */\n@Injectable({ providedIn: 'root' })\nexport class TooltipConfig {\n  /** sets disable adaptive position */\n  adaptivePosition = true;\n  /** tooltip placement, supported positions: 'top', 'bottom', 'left', 'right' */\n  placement = 'top';\n  /** array of event names which triggers tooltip opening */\n  triggers = 'hover focus';\n  /** a selector specifying the element the tooltip should be appended to. */\n  container?: string;\n  /** delay before showing the tooltip */\n  delay = 0;\n}\n","import {\n  AfterViewInit,\n  Component,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { TooltipConfig } from './tooltip.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5 } from 'ngx-bootstrap/positioning';\n\n@Component({\n    selector: 'bs-tooltip-container',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        '[class]': '\"show tooltip in tooltip-\" + placement + \" \" + \"bs-tooltip-\" + placement + \" \" + placement + \" \" + containerClass',\n        '[attr.id]': 'this.id',\n        role: 'tooltip'\n    },\n    styles: [\n        `\n    :host.tooltip {\n      display: block;\n      pointer-events: none;\n      position: absolute;\n    }\n\n    :host.tooltip .tooltip-arrow {\n      position: absolute;\n    }\n  `\n    ],\n    template: `\n    <div class=\"tooltip-arrow arrow\"></div>\n    <div class=\"tooltip-inner\"><ng-content></ng-content></div>\n    `,\n    standalone: true\n})\nexport class TooltipContainerComponent implements AfterViewInit {\n  classMap?: { [key: string]: boolean };\n  placement?: string;\n  containerClass?: string;\n  animation?: boolean;\n  id?: string;\n\n  get _bsVersions(): IBsVersion {\n    return getBsVer();\n  }\n\n  constructor(config: TooltipConfig) {\n    // Config properties don't apply to container component\n    // Container properties are set dynamically by the component loader\n  }\n\n  ngAfterViewInit(): void {\n    this.classMap = { in: false, fade: false };\n    if (this.placement) {\n      if (this._bsVersions.isBs5) {\n        this.placement =  PlacementForBs5[this.placement as keyof typeof PlacementForBs5];\n      }\n\n      this.classMap[this.placement] = true;\n    }\n    this.classMap[`tooltip-${this.placement}`] = true;\n\n    this.classMap[\"in\"] = true;\n    if (this.animation) {\n      this.classMap[\"fade\"] = true;\n    }\n\n    if (this.containerClass) {\n      this.classMap[this.containerClass] = true;\n    }\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  OnDestroy,\n  OnInit,\n  Renderer2,\n  TemplateRef,\n  ViewContainerRef,\n  input,\n  output,\n  model\n} from '@angular/core';\n\nimport { TooltipContainerComponent } from './tooltip-container.component';\nimport { TooltipConfig } from './tooltip.config';\n\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { warnOnce, parseTriggers, Trigger } from 'ngx-bootstrap/utils';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\nimport { timer, Subscription } from 'rxjs';\nimport { AvailableBSPositions } from 'ngx-bootstrap/positioning';\n\nlet id = 0;\n\n@Directive({\n    selector: '[tooltip], [tooltipHtml]',\n    exportAs: 'bs-tooltip',\n    standalone: true,\n    providers: [\n      ComponentLoaderFactory, PositioningService\n    ]\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n  tooltipId = id++;\n  /** sets disable adaptive position */\n  readonly adaptivePosition = input(this._config.adaptivePosition);\n  /**\n   * Content to be displayed as tooltip.\n   */\n  readonly tooltip = model<string | TemplateRef<unknown> | undefined>();\n\n  /**\n   * Placement of a tooltip. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n   */\n  readonly placement = input<AvailableBSPositions>(this._config.placement as AvailableBSPositions);\n  /**\n   * Specifies events that should trigger. Supports a space separated list of\n   * event names.\n   */\n  readonly triggers = input(this._config.triggers);\n  /**\n   * A selector specifying the element the tooltip should be appended to.\n   */\n  readonly container = input<string | undefined>(this._config.container);\n  /**\n   * Css class for tooltip container\n   */\n  readonly containerClass = input('');\n  readonly boundariesElement = input<'viewport' | 'scrollParent' | 'window' | undefined>();\n  /**\n   * Returns whether or not the tooltip is currently being shown\n   */\n  get isOpen(): boolean {\n    return this._tooltip.isShown;\n  }\n\n  set isOpen(value: boolean) {\n    if (value) {\n      this.show();\n    } else {\n      this.hide();\n    }\n  }\n\n  /**\n   * Allows to disable tooltip\n   */\n  readonly isDisabled = input(false);\n\n  /**\n   * Delay before showing the tooltip\n   */\n  readonly delay = input(this._config.delay);\n\n  /**\n   * Emits an event when the tooltip is shown\n   */\n  onShown: EventEmitter<unknown>;\n  /**\n   * Emits an event when the tooltip is hidden\n   */\n  onHidden: EventEmitter<unknown>;\n\n  /** @deprecated - please use `tooltip` instead */\n  readonly tooltipHtml = input<string | TemplateRef<unknown> | undefined>(undefined);\n\n  /** @deprecated - please use `placement` instead */\n  readonly tooltipPlacement = input<AvailableBSPositions | undefined>(undefined);\n\n  /** @deprecated - please use `isOpen` instead */\n  readonly tooltipIsOpen = input<boolean | undefined>(undefined);\n\n  /** @deprecated - please use `isDisabled` instead */\n  readonly tooltipEnable = input<boolean | undefined>(undefined);\n\n  /** @deprecated - please use `container=\"body\"` instead */\n  readonly tooltipAppendToBody = input<boolean | undefined>(undefined);\n\n  /** @deprecated - removed, will be added to configuration */\n  readonly tooltipAnimation = input(true);\n\n  /** @deprecated - will replaced with customClass */\n  readonly tooltipClass = input<string | undefined>(undefined);\n\n  /** @deprecated - removed */\n  readonly tooltipContext = input<undefined>(undefined);\n\n  /** @deprecated */\n  readonly tooltipPopupDelay = input<number | undefined>(undefined);\n\n  /** @deprecated */\n  readonly tooltipFadeDuration = input(150);\n\n  /** @deprecated -  please use `triggers` instead */\n  readonly tooltipTrigger = input<string | string[] | undefined>(undefined);\n\n  /** @deprecated */\n  readonly tooltipStateChanged = output<boolean>();\n\n  protected _delayTimeoutId?: number;\n  protected _tooltipCancelShowFn?: () => void;\n\n  private _tooltip: ComponentLoader<TooltipContainerComponent>;\n  private _delaySubscription?: Subscription;\n  private _ariaDescribedby?: string;\n\n  constructor(\n    _viewContainerRef: ViewContainerRef,\n    cis: ComponentLoaderFactory,\n    private _config: TooltipConfig,\n    private _elementRef: ElementRef,\n    private _renderer: Renderer2,\n    private _positionService: PositioningService\n  ) {\n    this._tooltip = cis\n      .createLoader<TooltipContainerComponent>(this._elementRef, _viewContainerRef, this._renderer)\n      .provide({ provide: TooltipConfig, useValue: _config });\n\n    this.onShown = this._tooltip.onShown;\n    this.onHidden = this._tooltip.onHidden;\n  }\n\n  ngOnInit(): void {\n    // Handle deprecated inputs\n    const htmlContent = this.tooltipHtml();\n    if (htmlContent !== undefined) {\n      warnOnce('tooltipHtml was deprecated, please use `tooltip` instead');\n      this.tooltip.set(htmlContent);\n    }\n\n    const placementValue = this.tooltipPlacement();\n    if (placementValue !== undefined) {\n      warnOnce('tooltipPlacement was deprecated, please use `placement` instead');\n    }\n\n    const isOpenValue = this.tooltipIsOpen();\n    if (isOpenValue !== undefined) {\n      warnOnce('tooltipIsOpen was deprecated, please use `isOpen` instead');\n      this.isOpen = isOpenValue;\n    }\n\n    const enableValue = this.tooltipEnable();\n    if (enableValue !== undefined) {\n      warnOnce('tooltipEnable was deprecated, please use `isDisabled` instead');\n    }\n\n    const appendToBodyValue = this.tooltipAppendToBody();\n    if (appendToBodyValue !== undefined) {\n      warnOnce('tooltipAppendToBody was deprecated, please use `container=\"body\"` instead');\n    }\n\n    const classValue = this.tooltipClass();\n    if (classValue !== undefined) {\n      warnOnce('tooltipClass deprecated');\n    }\n\n    const contextValue = this.tooltipContext();\n    if (contextValue !== undefined) {\n      warnOnce('tooltipContext deprecated');\n    }\n\n    const delayValue = this.tooltipPopupDelay();\n    if (delayValue !== undefined) {\n      warnOnce('tooltipPopupDelay is deprecated, use `delay` instead');\n    }\n\n    const triggerValue = this.tooltipTrigger();\n    if (triggerValue !== undefined) {\n      warnOnce('tooltipTrigger was deprecated, please use `triggers` instead');\n    }\n\n    this._tooltip.listen({\n      triggers: this.triggers(),\n      show: () => this.show()\n    });\n\n    this.onShown.subscribe(() => {\n      this.setAriaDescribedBy();\n    });\n\n    this.onHidden.subscribe(() => {\n      this.setAriaDescribedBy();\n    });\n  }\n\n  setAriaDescribedBy(): void {\n    this._ariaDescribedby = this.isOpen ? `tooltip-${this.tooltipId}` : void 0;\n\n    if (this._ariaDescribedby) {\n      this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ariaDescribedby);\n    } else {\n      this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n    }\n  }\n\n  /**\n   * Toggles an element's tooltip. This is considered a \"manual\" triggering of\n   * the tooltip.\n   */\n  toggle(): void {\n    if (this.isOpen) {\n      return this.hide();\n    }\n\n    this.show();\n  }\n\n  /**\n   * Opens an element's tooltip. This is considered a \"manual\" triggering of\n   * the tooltip.\n   */\n  show(): void {\n    this._positionService.setOptions({\n      modifiers: {\n        flip: {\n          enabled: this.adaptivePosition()\n        },\n        preventOverflow: {\n          enabled: this.adaptivePosition(),\n          boundariesElement: this.boundariesElement() || 'scrollParent'\n        }\n      }\n    });\n\n    const tooltipValue = this.tooltip();\n    const isDisabledValue = this.isDisabled() || (this.tooltipEnable() !== undefined && !this.tooltipEnable());\n    const delayValue = this.tooltipPopupDelay() ?? this.delay();\n    const containerValue = this.tooltipAppendToBody() ? 'body' : this.container();\n    const placementValue = this.tooltipPlacement() ?? this.placement();\n    const triggersValue = this.tooltipTrigger()?.toString() ?? this.triggers();\n\n    if (this.isOpen || isDisabledValue || this._delayTimeoutId || !tooltipValue) {\n      return;\n    }\n\n    const showTooltip = () => {\n      if (this._delayTimeoutId) {\n        this._delayTimeoutId = undefined;\n      }\n\n      this._tooltip\n        .attach(TooltipContainerComponent)\n        .to(containerValue)\n        .position({ attachment: placementValue })\n        .show({\n          content: tooltipValue,\n          placement: placementValue,\n          containerClass: this.containerClass(),\n          id: `tooltip-${this.tooltipId}`\n        });\n    };\n    const cancelDelayedTooltipShowing = () => {\n      if (this._tooltipCancelShowFn) {\n        this._tooltipCancelShowFn();\n      }\n    };\n\n    if (delayValue) {\n      if (this._delaySubscription) {\n        this._delaySubscription.unsubscribe();\n      }\n\n      this._delaySubscription = timer(delayValue).subscribe(() => {\n        showTooltip();\n        cancelDelayedTooltipShowing();\n      });\n\n      if (triggersValue) {\n        parseTriggers(triggersValue).forEach((trigger: Trigger) => {\n          if (!trigger.close) {\n            return;\n          }\n          this._tooltipCancelShowFn = this._renderer.listen(this._elementRef.nativeElement, trigger.close, () => {\n            this._delaySubscription?.unsubscribe();\n            cancelDelayedTooltipShowing();\n          });\n        });\n      }\n    } else {\n      showTooltip();\n    }\n  }\n\n  /**\n   * Closes an element's tooltip. This is considered a \"manual\" triggering of\n   * the tooltip.\n   */\n  hide(): void {\n    if (this._delayTimeoutId) {\n      clearTimeout(this._delayTimeoutId);\n      this._delayTimeoutId = undefined;\n    }\n\n    if (!this._tooltip.isShown) {\n      return;\n    }\n\n    if (this._tooltip.instance?.classMap) {\n      this._tooltip.instance.classMap['in'] = false;\n    }\n\n    setTimeout(() => {\n      this._tooltip.hide();\n    }, this.tooltipFadeDuration());\n  }\n\n  ngOnDestroy(): void {\n    this._tooltip.dispose();\n    if (this._delaySubscription) {\n      this._delaySubscription.unsubscribe();\n    }\n    this.onShown.unsubscribe();\n    this.onHidden.unsubscribe();\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TooltipContainerComponent } from './tooltip-container.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n    imports: [CommonModule, TooltipDirective, TooltipContainerComponent],\n    exports: [TooltipDirective]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TooltipConfig","i2.TooltipConfig"],"mappings":"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"}