{"version":3,"file":"ngx-popovers-popover.mjs","sources":["../../../../packages/popover/src/lib/core/popover-config.ts","../../../../packages/popover/src/lib/core/popover.injections.ts","../../../../packages/popover/src/lib/directives/popover-template.directive.ts","../../../../packages/popover/src/lib/popover/popover.component.ts","../../../../packages/popover/src/lib/popover/popover.component.html","../../../../packages/popover/src/lib/directives/popover-anchor.directive.ts","../../../../packages/popover/src/lib/directives/popover-close.directive.ts","../../../../packages/popover/src/lib/popover.module.ts","../../../../packages/popover/src/ngx-popovers-popover.ts"],"sourcesContent":["import { FloatingConfig, NgxFloatingConfig } from '@ngx-popovers/core';\n\nexport interface PopoverConfig extends FloatingConfig {\n  arrow: boolean;\n  arrowPadding: number;\n\n  closeOnClickedOutside: boolean;\n}\n\nexport class NgxPopoverConfig extends NgxFloatingConfig implements PopoverConfig {\n  arrow = true;\n  arrowPadding = 2;\n  override autoUpdate = true;\n  closeOnClickedOutside = true;\n\n  constructor(\n    config: Partial<PopoverConfig> = {}\n  ) {\n    super();\n    Object.assign(this, config);\n  }\n}\n","import { InjectionToken } from '@angular/core';\nimport { NgxPopoverConfig } from './popover-config';\n\nexport const NGX_POPOVER_CONFIG = new InjectionToken('NGX_POPOVER_CONFIG', {\n  providedIn: 'root',\n  factory: () => new NgxPopoverConfig()\n});\n","import { Directive, TemplateRef } from '@angular/core';\n\n/**\n * Angular doesn't destroy elements in <ng-content />, so\n * the PopoverTemplate component uses for conditional content projection.\n *\n * The popover needs in a conditional projection because the components inside\n * must execute all of their lifecycle hooks.\n * And they must be destroyed when the popover closes\n *\n * @See https://angular.io/guide/content-projection#conditional-content-projection\n */\n@Directive({\n  selector: '[ngx-popover-template]',\n  standalone: true\n})\nexport class PopoverTemplate {\n  constructor(\n    public templateRef: TemplateRef<unknown>\n  ) {}\n}\n","import {\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  EventEmitter,\n  HostListener,\n  inject,\n  input,\n  Input,\n  OnChanges,\n  Output,\n  signal,\n  SimpleChanges,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Arrow, FloatingComponent, MiddlewareList, Placement } from '@ngx-popovers/core';\nimport { animate, AnimationEvent, style, transition, trigger } from '@angular/animations';\nimport { ComputePosition } from '../types';\nimport { NGX_POPOVER_CONFIG } from '../core/popover.injections';\nimport { PopoverTemplate } from '../directives/popover-template.directive';\n\n@Component({\n  selector: 'ngx-popover',\n  imports: [CommonModule, FloatingComponent],\n  templateUrl: './popover.component.html',\n  styleUrl: './popover.component.scss',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('fadeInOut', [\n      transition(':enter', [\n        style({ opacity: 0, transform: 'scale(0.9)' }),\n        animate(140, style({ opacity: 1, transform: 'scale(1)' }))\n      ]),\n      transition(':leave', [\n        animate(110, style({ opacity: 0 }))\n      ])\n    ])\n  ]\n})\nexport class PopoverComponent implements OnChanges {\n  private config = inject(NGX_POPOVER_CONFIG);\n  private cdRef = inject(ChangeDetectorRef);\n  private el = inject(ElementRef);\n\n  @ContentChild(PopoverTemplate)\n  template?: PopoverTemplate;\n\n  @ContentChild(Arrow)\n  arrow?: Arrow;\n\n  /* Set the Floating to the arrow */\n  @ViewChild(FloatingComponent)\n  set floatingComponent(component: FloatingComponent) {\n    if (this.arrow) {\n      this.arrow.setFloating(component);\n    }\n  }\n\n  @Input()\n  anchor: HTMLElement = this.el.nativeElement;\n\n  @Input()\n  placement: Placement = this.config.placement;\n\n  strategy = input(this.config.strategy);\n\n  @Input()\n  middleware: MiddlewareList = this.config.middleware;\n\n  /**\n   * Updates floating element automatically\n   */\n  @Input({ transform: booleanAttribute })\n  autoUpdate = this.config.autoUpdate;\n\n  /**\n   * HTMLElement where floating renders\n   */\n  @Input()\n  bindTo = this.config.bindTo;\n\n  /**\n   * If true then the popover will close after a user\n   * clicks outside the floating element\n   */\n  @Input({ transform: booleanAttribute })\n  closeOnClickedOutside = this.config.closeOnClickedOutside;\n\n  @Input({ transform: booleanAttribute })\n  disabled = false;\n\n  @Input({ transform: booleanAttribute })\n  animationDisabled = false;\n\n  @Input({ transform: booleanAttribute })\n  value = false;\n\n  @Output()\n  valueChange = new EventEmitter<boolean>();\n\n  @Output()\n  show = new EventEmitter();\n\n  @Output()\n  hide = new EventEmitter();\n\n  @Output()\n  clickedOutside = new EventEmitter<Element>();\n\n  @Output()\n  clickedInside = new EventEmitter<Element>();\n\n  @Output()\n  animationStart = new EventEmitter<AnimationEvent>();\n\n  @Output()\n  animationDone = new EventEmitter<AnimationEvent>();\n\n  @Output()\n  computePosition = new EventEmitter<ComputePosition>();\n\n  isAnimating = signal(false);\n\n  ngOnChanges(changes: SimpleChanges) {\n    const currentValue = changes['value']?.currentValue;\n\n    if (currentValue === true) {\n      this.open();\n    }\n    if (currentValue === false) {\n      this.close();\n    }\n  }\n\n  @HostListener('click', ['$event'])\n  onClick(event: MouseEvent) {\n    if (isElement(event.target)) {\n      if (this.anchor.contains(event.target)) {\n        this.toggle();\n      }\n    }\n  }\n\n  toggle() {\n    if (!this.disabled) {\n      if (this.value) {\n        this.close();\n      } else {\n        this.open();\n      }\n    }\n  }\n\n  open() {\n    this.isAnimating.set(true);\n    this.value = true;\n    this.valueChange.emit(true);\n    this.show.emit();\n  }\n\n  close() {\n    if (this.isAnimating()) {\n      return;\n    }\n    this.isAnimating.set(true);\n    this.value = false;\n    this.valueChange.emit(false);\n    this.hide.emit();\n  }\n\n  onClickedInside(element: Element) {\n    this.clickedInside.emit(element);\n  }\n\n  onClickedOutside(element: Element) {\n    this.clickedOutside.emit(element);\n    /* Close the popover when user clicks outside */\n    if (this.closeOnClickedOutside) {\n      this.close();\n      this.cdRef.detectChanges();\n    }\n  }\n\n  onAnimationStart($event: AnimationEvent) {\n    this.isAnimating.set(true);\n    this.animationStart.emit($event);\n  }\n\n  onAnimationDone($event: AnimationEvent) {\n    this.isAnimating.set(false);\n    this.animationDone.emit($event);\n  }\n\n  onComputePosition($event: ComputePosition) {\n    this.computePosition.emit($event);\n  }\n}\n\nfunction isElement(element: unknown): element is Element {\n  return element instanceof Element;\n}\n","<!--\n  By default, this content will be\n  the anchor and reference\n  of the Popover\n-->\n<ng-content />\n\n@if (value || isAnimating()) {\n  <ngx-floating\n    [reference]=\"anchor\"\n    [placement]=\"placement\"\n    [middleware]=\"middleware\"\n    [autoUpdate]=\"autoUpdate\"\n    [bindTo]=\"bindTo\"\n    [strategy]=\"strategy()\"\n\n    (clickedInside)=\"onClickedInside($event)\"\n    (clickedOutside)=\"onClickedOutside($event)\"\n    (computePositionReturn)=\"onComputePosition($event)\"\n  >\n    @if (value) {\n      <div\n        @fadeInOut\n        (@fadeInOut.start)=\"onAnimationStart($event)\"\n        (@fadeInOut.done)=\"onAnimationDone($event)\"\n        [@.disabled]=\"animationDisabled\"\n      >\n        <ng-container\n          [ngTemplateOutlet]=\"template?.templateRef || empty\"\n        />\n\n        <ng-content select=\"ngx-arrow\" />\n      </div>\n    }\n  </ngx-floating>\n}\n\n<ng-template #empty />\n","import { Directive, ElementRef, inject } from '@angular/core';\nimport { PopoverComponent } from '../popover/popover.component';\n\n/**\n * The directive used for providing an anchor element in\n * popover content.\n */\n@Directive({\n  selector: '[ngx-popover-anchor]',\n  standalone: true\n})\nexport class PopoverAnchor {\n  popover = inject(PopoverComponent);\n\n  constructor(\n    public el: ElementRef\n  ) {\n    this.popover.anchor = el.nativeElement;\n  }\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { PopoverComponent } from '../popover/popover.component';\n\n\n/**\n * The PopoverClose directive provides an ease-to-use method\n * for closing a popover within its template\n *\n * @example\n *\n * <ngx-popover>\n *   <button>Trigger</button>\n *\n *   <ng-template ngx-popover-template>\n *     <p>Lorem ipsum dolor.</p>\n *     <button ngx-popover-close>Close</button>\n *   </ng-template>\n * </ngx-popover>\n */\n@Directive({\n  selector: '[ngx-popover-close]',\n  standalone: true\n})\nexport class PopoverClose {\n  popover = inject(PopoverComponent);\n\n  @HostListener('click')\n  onClick() {\n    this.popover.close();\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { PopoverComponent } from './popover/popover.component';\nimport { PopoverTemplate } from './directives/popover-template.directive';\nimport { PopoverAnchor } from './directives/popover-anchor.directive';\nimport { PopoverClose } from './directives/popover-close.directive';\n\n@NgModule({\n  declarations: [],\n  imports: [\n    PopoverComponent,\n    PopoverTemplate,\n    PopoverAnchor,\n    PopoverClose\n  ],\n  exports: [\n    PopoverComponent,\n    PopoverTemplate,\n    PopoverAnchor,\n    PopoverClose\n  ]\n})\nexport class PopoverModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}