{"version":3,"file":"uib-angular-components-dropdown.mjs","sources":["../../../../libs/angular-components/components/dropdown/src/lib/dropdown.config.ts","../../../../libs/angular-components/components/dropdown/src/lib/dropdown.directive.ts","../../../../libs/angular-components/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/angular-components/components/dropdown/src/uib-angular-components-dropdown.ts"],"sourcesContent":["import { InjectionToken, ViewContainerRef } from '@angular/core';\nimport { FloatingOverlayOptions } from '@uib/angular/components/floating-overlay';\nimport { Permutations } from '@uib/angular/utils';\n\nexport interface DropdownOptions extends Omit<Partial<FloatingOverlayOptions>, 'content' | 'context' | 'isDismissable'> {\n  alwaysVisible: boolean;\n  parentContainer?: ViewContainerRef;\n}\n\nexport type AllowedDropdownTrigger = 'click' | 'mouseenter' | 'focus' | 'tap' | 'keydown.enter' | 'input';\nexport type DropdownTrigger = Permutations<AllowedDropdownTrigger>;\n\nexport const DROPDOWN_OPTIONS = new InjectionToken<DropdownOptions>('@uib/angular/components/dropdown::DropdownOptions', {\n  providedIn: 'root',\n  factory: () => ({\n    alwaysVisible: false,\n    containerClass: null,\n    enableArrow: false,\n    enableFallback: false,\n    matchReferenceWidth: false,\n    offset: 0,\n    outerPadding: 8,\n    placement: 'bottom',\n  }),\n});\n","import {\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  Injector,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n} from '@angular/core';\nimport { DisabledController, EventListenerManager, WindowRef } from '@uib/angular/common';\nimport { DynamicContent } from '@uib/angular/components/dynamic-view';\nimport { FloatingOverlayRef, FloatingOverlayService } from '@uib/angular/components/floating-overlay';\nimport { BooleanInput, coerceBooleanProperty, Transform } from '@uib/angular/core';\nimport { getWordsFromString, hasChanged, NgChanges } from '@uib/angular/utils';\nimport { AllowedDropdownTrigger, DropdownOptions, DropdownTrigger, DROPDOWN_OPTIONS } from './dropdown.config';\n\nconst CLOSE_LISTENER_MAPPING: Record<AllowedDropdownTrigger, string | null> = {\n  click: null,\n  input: null,\n  focus: 'blur',\n  'keydown.enter': null,\n  mouseenter: 'mouseleave',\n  tap: 'blur',\n};\n\nfunction shouldHandleClickOutside(trigger: DropdownTrigger): boolean {\n  return (['click', 'keydown.enter'] as AllowedDropdownTrigger[]).some((allowedTrigger) => trigger.includes(allowedTrigger));\n}\n\n@Directive({\n  selector: '[uibDropdown]',\n  exportAs: 'uibDropdown',\n  providers: [EventListenerManager],\n  host: {\n    '[attr.tabindex]': 'isDisabled ? -1: 0',\n  },\n})\nexport class DropdownDirective implements OnInit, OnChanges, OnDestroy {\n  public static ngAcceptInputType_disabled: BooleanInput;\n\n  private overlayRef: FloatingOverlayRef | null = null;\n  private internalOptions = this.globalDropdownOptions;\n\n  public get isOpen(): boolean {\n    return this.overlayRef !== null;\n  }\n\n  @Input('uibDropdown')\n  public content: DynamicContent;\n\n  @Input('uibDropdownDisabled')\n  @Transform(coerceBooleanProperty)\n  public disabled = false;\n\n  @Input('uibDropdownTrigger')\n  public trigger: DropdownTrigger = 'click keydown.enter';\n\n  @Input('uibDropdownOptions')\n  public set options(value: Partial<DropdownOptions>) {\n    this.internalOptions = {\n      ...this.globalDropdownOptions,\n      ...value,\n    };\n  }\n  public get options(): DropdownOptions {\n    return this.internalOptions;\n  }\n\n  @Output('uibDropdownAfterOpen')\n  public afterOpen = new EventEmitter<void>();\n\n  @Output('uibDropdownAfterClose')\n  public afterClose = new EventEmitter<void>();\n\n  public get isDisabled(): boolean {\n    return !!this.disabledController?.disabled || this.disabled;\n  }\n\n  constructor(\n    private readonly changeDetector: ChangeDetectorRef,\n    private readonly eventListenerManager: EventListenerManager,\n    private readonly floatingOverlayService: FloatingOverlayService,\n    private readonly injector: Injector,\n    private readonly windowRef: WindowRef,\n    @Optional() private readonly disabledController: DisabledController | null,\n    @Inject(DROPDOWN_OPTIONS) private readonly globalDropdownOptions: DropdownOptions,\n    public readonly element: ElementRef<HTMLElement>,\n  ) {}\n\n  public ngOnInit(): void {\n    this.setupOpenListeners();\n    this.disabledController?.change$.subscribe(() => {\n      this.close();\n    });\n  }\n\n  public ngOnChanges(changes: NgChanges<DropdownDirective>): void {\n    if (hasChanged(changes, 'options', false)) {\n      const options = this.buildOverlayOptions();\n      if (this.overlayRef) {\n        this.overlayRef.updateOptions(options);\n      }\n    }\n    if (hasChanged(changes, 'trigger')) {\n      this.eventListenerManager.destroyListeners();\n      this.setupOpenListeners();\n    }\n    if (hasChanged(changes, 'disabled', false) && this.disabled) {\n      this.close();\n    }\n    if (changes.options.currentValue?.alwaysVisible !== changes.options.previousValue?.alwaysVisible) {\n      if (changes.options.currentValue?.alwaysVisible) {\n        setTimeout(() => this.open(), 0);\n      } else {\n        this.close();\n      }\n    }\n  }\n\n  public async ngOnDestroy(): Promise<void> {\n    await this.close();\n    this.eventListenerManager.destroyListeners();\n  }\n\n  public getOverlayRef(): FloatingOverlayRef | null {\n    return this.overlayRef;\n  }\n\n  public open(): void {\n    if (this.isOpen || this.isDisabled) return;\n    this.eventListenerManager.destroyListeners();\n    const options = this.buildOverlayOptions();\n    this.overlayRef = this.floatingOverlayService.createOverlay(this.element.nativeElement, options, {\n      injector: this.injector,\n      viewContainer: options.parentContainer,\n    });\n    this.overlayRef.onClose$.subscribe(() => {\n      this.close();\n    });\n    this.setupCloseListeners();\n    setTimeout(() => this.afterOpen.next());\n  }\n\n  public async close(): Promise<void> {\n    if (!this.isOpen || this.options.alwaysVisible) return;\n    await this.overlayRef?.destroy();\n    this.overlayRef = null;\n    this.eventListenerManager.destroyListeners();\n    this.setupOpenListeners();\n    this.changeDetector.markForCheck();\n    setTimeout(() => this.afterClose.next());\n  }\n\n  private buildOverlayOptions() {\n    return {\n      content: this.content,\n      isDismissable: shouldHandleClickOutside(this.trigger),\n      ...this.internalOptions,\n    };\n  }\n\n  private setupOpenListeners() {\n    for (const eventName of getWordsFromString(this.trigger)) {\n      this.eventListenerManager.addListener(eventName, () => this.open());\n    }\n  }\n\n  private setupCloseListeners() {\n    if (this.options.alwaysVisible) return;\n    for (const eventName of getWordsFromString(this.trigger)) {\n      const hideEventName = CLOSE_LISTENER_MAPPING[eventName as AllowedDropdownTrigger];\n      if (hideEventName) {\n        this.eventListenerManager.addListener(hideEventName, () => {\n          this.close();\n        });\n      }\n    }\n    if (shouldHandleClickOutside(this.trigger)) {\n      const keydownHandler = () =>\n        setTimeout(() => {\n          const { activeElement } = this.windowRef.nativeWindow.document;\n          if (!this.overlayRef?.element.contains(activeElement)) {\n            this.close();\n          }\n        });\n      for (const hideEventName of ['keydown.shift.tab', 'keydown.tab']) {\n        this.eventListenerManager.addListener(hideEventName, keydownHandler, this.windowRef.nativeWindow);\n      }\n      this.eventListenerManager.addListener('keydown.esc', () => this.close(), this.windowRef.nativeWindow);\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@uib/angular/common';\nimport { DynamicViewModule } from '@uib/angular/components/dynamic-view';\nimport { FloatingOverlayModule } from '@uib/angular/components/floating-overlay';\nimport { DropdownDirective } from './dropdown.directive';\n\n@NgModule({\n  imports: [CommonModule, DynamicViewModule, FloatingOverlayModule],\n  declarations: [DropdownDirective],\n  exports: [DropdownDirective],\n})\nexport class DropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}