{"version":3,"file":"ng-doc-ui-kit-components-dropdown.mjs","sources":["../../../../libs/ui-kit/components/dropdown/dropdown.component.ts","../../../../libs/ui-kit/components/dropdown/ng-doc-ui-kit-components-dropdown.ts"],"sourcesContent":["import { Point } from '@angular/cdk/drag-drop';\nimport {\n  CdkOverlayOrigin,\n  FlexibleConnectedPositionStrategy,\n  PositionStrategy,\n} from '@angular/cdk/overlay';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  inject,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n  ViewContainerRef,\n} from '@angular/core';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { dropdownOpenAnimation } from '@ng-doc/ui-kit/animations';\nimport { NgDocOverlayHost } from '@ng-doc/ui-kit/classes/overlay-host';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes/overlay-ref';\nimport { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';\nimport { mergeOverlayConfigs, toElement } from '@ng-doc/ui-kit/helpers';\nimport { NgDocOverlayConfig, NgDocOverlayProperties } from '@ng-doc/ui-kit/interfaces';\nimport { ngDocZoneDetach } from '@ng-doc/ui-kit/observables';\nimport { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';\nimport { NgDocContent, NgDocOverlayOrigin, NgDocOverlayPosition } from '@ng-doc/ui-kit/types';\nimport { NgDocOverlayUtils } from '@ng-doc/ui-kit/utils';\n\n@Component({\n  selector: 'ng-doc-dropdown',\n  template: ``,\n  styleUrls: ['./dropdown.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [NgDocOverlayService],\n  standalone: true,\n})\nexport class NgDocDropdownComponent implements OnChanges, OnDestroy {\n  protected changeDetectorRef = inject(ChangeDetectorRef);\n  protected overlayService = inject(NgDocOverlayService);\n  protected viewContainerRef = inject(ViewContainerRef);\n  protected ngZone = inject(NgZone);\n  protected overlayHost = inject<NgDocOverlayHost>(NgDocOverlayHost, { optional: true });\n\n  @Input()\n  content: NgDocContent = '';\n\n  @Input()\n  origin: CdkOverlayOrigin | Point | null = null;\n\n  @Input()\n  closeIfOutsideClick: boolean = true;\n\n  @Input()\n  closeIfInnerClick: boolean = false;\n\n  @Input()\n  withArrow: boolean = false;\n\n  @Input()\n  borderOffset: number = -8;\n\n  @Input()\n  panelClass: string | string[] = [];\n\n  @Input()\n  contactBorder: boolean = true;\n\n  @Input()\n  hasBackdrop: boolean = false;\n\n  @Input()\n  positions: NgDocOverlayPosition | NgDocOverlayPosition[] = [\n    'bottom-center',\n    'top-center',\n    'right-center',\n    'left-center',\n  ];\n\n  @Input()\n  minHeight: number | string = '';\n\n  @Input()\n  maxHeight: number | string = '';\n\n  @Input()\n  height: number | string = '';\n\n  @Input()\n  minWidth: number | string = '';\n\n  @Input()\n  maxWidth: number | string = '';\n\n  @Input()\n  width: number | string = '';\n\n  @Output()\n  beforeOpen: EventEmitter<void> = new EventEmitter<void>();\n\n  @Output()\n  afterOpen: EventEmitter<void> = new EventEmitter<void>();\n\n  @Output()\n  beforeClose: EventEmitter<void> = new EventEmitter<void>();\n\n  @Output()\n  afterClose: EventEmitter<void> = new EventEmitter<void>();\n\n  overlay: NgDocOverlayRef | null = null;\n  overlayProperties: NgDocOverlayProperties = this.getOverlayProperties();\n\n  constructor() {}\n\n  ngOnChanges({ origin }: SimpleChanges): void {\n    if (origin && origin.currentValue !== origin.previousValue) {\n      if (!origin.currentValue) {\n        this.origin = origin.previousValue as CdkOverlayOrigin | Point | null;\n      }\n\n      if (this.overlay) {\n        const positionStrategy: PositionStrategy | undefined =\n          this.overlay.overlayRef.getConfig().positionStrategy;\n        if (positionStrategy instanceof FlexibleConnectedPositionStrategy && this.currentOrigin) {\n          this.overlay.overlayRef.updatePositionStrategy(\n            positionStrategy.setOrigin(this.currentOrigin),\n          );\n        }\n      }\n    }\n    this.updateOverlayPosition();\n  }\n\n  @HostBinding('attr.tabIndex')\n  get tabIndex(): number {\n    return this.isOpened ? 0 : -1;\n  }\n\n  @HostListener('focus')\n  focus(): void {\n    this.overlay?.focus();\n  }\n\n  get isFocused(): boolean {\n    return !!this.overlay?.isFocused;\n  }\n\n  open(): void {\n    if (!this.overlay?.hasAttached) {\n      const config: NgDocOverlayConfig = this.getConfig();\n      this.overlay = this.overlayService.open(this.content, config);\n      this.beforeOpen.emit();\n      this.overlay\n        ?.afterOpen()\n        .pipe(ngDocZoneDetach(this.ngZone))\n        .subscribe(() => this.afterOpen.emit());\n\n      this.overlay\n        ?.beforeClose()\n        .pipe(ngDocZoneDetach(this.ngZone))\n        .subscribe(() => this.beforeClose.emit());\n\n      this.overlay\n        ?.afterClose()\n        .pipe(ngDocZoneDetach(this.ngZone))\n        .subscribe(() => this.afterClose.emit());\n\n      this.overlay.beforeClose().subscribe(() => this.close());\n\n      this.changeDetectorRef.markForCheck();\n    }\n  }\n\n  close(): void {\n    if (this.isOpened) {\n      this.overlay?.close();\n      this.changeDetectorRef.markForCheck();\n    }\n  }\n\n  toggle(): void {\n    this.isOpened ? this.close() : this.open();\n  }\n\n  get isOpened(): boolean {\n    return this.overlay?.isOpened === true;\n  }\n\n  updateOverlayPosition(): void {\n    if (this.overlay && this.overlay.hasAttached) {\n      this.overlay.overlayRef.updateSize(this.getConfig());\n      this.overlay.overlayRef.updatePosition();\n    }\n  }\n\n  private get currentOrigin(): NgDocOverlayOrigin | null {\n    return this.origin instanceof CdkOverlayOrigin\n      ? (this.origin.elementRef.nativeElement as HTMLElement)\n      : this.origin || this.overlayHost?.origin || null;\n  }\n\n  private getPositions(\n    positions: NgDocOverlayPosition | NgDocOverlayPosition[],\n    border: number,\n  ): NgDocOverlayPosition[] {\n    const origin: NgDocOverlayOrigin = toElement(this.currentOrigin) as HTMLElement;\n    if (origin instanceof HTMLElement) {\n      return NgDocOverlayUtils.getConnectedPosition(\n        !!positions && asArray(positions).length\n          ? positions\n          : ['bottom-center', 'top-center', 'right-center', 'left-center'],\n        origin,\n        border * -1,\n        this.withArrow,\n      );\n    } else {\n      return !!positions && asArray(positions).length\n        ? asArray(positions)\n        : ['bottom-center', 'top-center', 'right-center', 'left-center'];\n    }\n  }\n\n  private getConfig(): NgDocOverlayConfig {\n    const overlayProperties: NgDocOverlayProperties = mergeOverlayConfigs(\n      this.overlayProperties,\n      this.getOverlayProperties(),\n      this.overlayHost ?? undefined,\n    );\n    if (!this.currentOrigin) {\n      throw new Error('Origin for the dropdown was not provided.');\n    }\n    return {\n      overlayContainer: NgDocOverlayContainerComponent,\n      positionStrategy: this.overlayService.connectedPositionStrategy(\n        this.currentOrigin,\n        this.getPositions(overlayProperties.positions || [], overlayProperties.borderOffset || 0),\n      ),\n      scrollStrategy: this.overlayService.scrollStrategy().reposition(),\n      viewContainerRef: this.viewContainerRef,\n      openAnimation: dropdownOpenAnimation,\n      hasBackdrop: this.hasBackdrop,\n      ...overlayProperties,\n      panelClass: [\n        'ng-doc-dropdown',\n        ...asArray(this.panelClass),\n        ...asArray(this.overlayHost?.panelClass),\n      ],\n    };\n  }\n\n  private getOverlayProperties(): NgDocOverlayProperties {\n    return {\n      origin: this.currentOrigin || undefined,\n      positions: this.positions,\n      closeIfOutsideClick: this.closeIfOutsideClick,\n      closeIfInnerClick: this.closeIfInnerClick,\n      withPointer: this.withArrow,\n      contactBorder: this.contactBorder,\n      borderOffset: this.borderOffset,\n      panelClass: this.panelClass,\n      width: this.width,\n      height: this.height,\n      minWidth: this.minWidth,\n      minHeight: this.minHeight,\n      maxWidth: this.maxWidth,\n      maxHeight: this.maxHeight,\n      disposeOnNavigation: true,\n      disposeOnRouteNavigation: true,\n    };\n  }\n\n  ngOnDestroy(): void {\n    if (this.overlay) {\n      this.overlay.overlayRef.dispose();\n    }\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}