{"version":3,"file":"clr-angular-popover-dropdown.mjs","sources":["../../../projects/angular/popover/dropdown/providers/dropdown-focus-handler.service.ts","../../../projects/angular/popover/dropdown/providers/dropdown.service.ts","../../../projects/angular/popover/dropdown/dropdown.ts","../../../projects/angular/popover/dropdown/dropdown-menu.ts","../../../projects/angular/popover/dropdown/dropdown-trigger.ts","../../../projects/angular/popover/dropdown/dropdown-item.ts","../../../projects/angular/popover/dropdown/menu-positions.ts","../../../projects/angular/popover/dropdown/dropdown.module.ts","../../../projects/angular/popover/dropdown/index.ts","../../../projects/angular/popover/dropdown/clr-angular-popover-dropdown.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, OnDestroy, Optional, PLATFORM_ID, Renderer2, SkipSelf } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\nimport {\n  ArrowKeyDirection,\n  customFocusableItemProvider,\n  FocusableItem,\n  FocusService,\n  Linkers,\n  uniqueIdFactory,\n  wrapObservable,\n} from '@clr/angular/utils';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n@Injectable()\nexport class DropdownFocusHandler implements OnDestroy, FocusableItem {\n  id = uniqueIdFactory();\n\n  right?: Observable<FocusableItem>;\n  down?: Observable<FocusableItem>;\n  up?: Observable<FocusableItem>;\n\n  private _trigger: HTMLElement;\n  private _container: HTMLElement;\n  private children: ReplaySubject<FocusableItem[]>;\n  private _unlistenFuncs: (() => void)[] = [];\n\n  constructor(\n    private renderer: Renderer2,\n    @SkipSelf()\n    @Optional()\n    private parent: DropdownFocusHandler,\n    private popoverService: ClrPopoverService,\n    private focusService: FocusService,\n    @Inject(PLATFORM_ID) private platformId: any\n  ) {\n    this.resetChildren();\n    this.moveToFirstItemWhenOpen();\n  }\n\n  get trigger() {\n    return this._trigger;\n  }\n  set trigger(el: HTMLElement) {\n    this._trigger = el;\n\n    if (this.parent) {\n      this._unlistenFuncs.push(\n        this.renderer.listen(el, 'keydown.arrowright', event => this.popoverService.toggleWithEvent(event))\n      );\n    } else {\n      this._unlistenFuncs.push(\n        this.renderer.listen(el, 'keydown.arrowup', event => this.popoverService.toggleWithEvent(event))\n      );\n      this._unlistenFuncs.push(\n        this.renderer.listen(el, 'keydown.arrowdown', event => this.popoverService.toggleWithEvent(event))\n      );\n    }\n  }\n\n  get container() {\n    return this._container;\n  }\n\n  set container(el: HTMLElement) {\n    this._container = el;\n\n    // whether root container or not, tab key should always toggle (i.e. close) the container\n    this._unlistenFuncs.push(\n      this.renderer.listen(el, 'keydown.tab', event => this.popoverService.toggleWithEvent(event)),\n      this.renderer.listen(el, 'keydown.shift.tab', event => this.popoverService.toggleWithEvent(event))\n    );\n\n    // All containers are registered to the focus service.\n    this.focusService.registerContainer(el);\n\n    if (this.parent) {\n      // if it's a nested container, pressing escape has the same effect as pressing left key, which closes the current\n      // popup and moves up to its parent. Here, we stop propagation so that the parent container\n      // doesn't receive the escape keydown\n      this._unlistenFuncs.push(\n        this.renderer.listen(el, 'keydown.escape', event => {\n          this.focusService.move(ArrowKeyDirection.LEFT);\n          event.stopPropagation();\n        })\n      );\n    }\n  }\n\n  ngOnDestroy() {\n    this._unlistenFuncs.forEach((unlisten: () => void) => unlisten());\n\n    this.focusService.detachListeners(this.container);\n  }\n\n  /**\n   * If the dropdown was opened by clicking on the trigger, we automatically move to the first item\n   */\n  moveToFirstItemWhenOpen() {\n    const subscription = this.popoverService.openChange.subscribe(open => {\n      if (open && this.popoverService.openEvent) {\n        // Even if we properly waited for ngAfterViewInit, the container still wouldn't be attached to the DOM.\n        // So setTimeout is the only way to wait for the container to be ready to move focus to first item.\n        setTimeout(() => {\n          this.focusService.moveTo(this);\n          if (this.parent) {\n            this.focusService.move(ArrowKeyDirection.RIGHT);\n          } else {\n            this.focusService.move(ArrowKeyDirection.DOWN);\n          }\n        });\n      }\n    });\n\n    this._unlistenFuncs.push(() => subscription.unsubscribe());\n  }\n\n  focus() {\n    if (this.trigger && isPlatformBrowser(this.platformId)) {\n      this.trigger.focus();\n    }\n  }\n\n  blur() {\n    if (this.trigger && isPlatformBrowser(this.platformId)) {\n      this.trigger.blur();\n    }\n  }\n\n  activate() {\n    if (isPlatformBrowser(this.platformId)) {\n      this.trigger.click();\n    }\n  }\n\n  resetChildren() {\n    this.children = new ReplaySubject<FocusableItem[]>(1);\n    if (this.parent) {\n      this.right = this.openAndGetChildren().pipe(map(all => all[0]));\n    } else {\n      this.down = this.openAndGetChildren().pipe(map(all => all[0]));\n      this.up = this.openAndGetChildren().pipe(map(all => all[all.length - 1]));\n    }\n  }\n\n  addChildren(children: FocusableItem[]) {\n    Linkers.linkVertical(children);\n    if (this.parent) {\n      Linkers.linkParent(children, this.closeAndGetThis(), ArrowKeyDirection.LEFT);\n    }\n    this.children.next(children);\n  }\n\n  private openAndGetChildren() {\n    return wrapObservable(this.children, () => (this.popoverService.open = true));\n  }\n\n  private closeAndGetThis() {\n    return wrapObservable(of(this), () => (this.popoverService.open = false));\n  }\n}\n\nexport const DROPDOWN_FOCUS_HANDLER_PROVIDER = customFocusableItemProvider(DropdownFocusHandler);\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class RootDropdownService {\n  private _changes = new Subject<boolean>();\n\n  get changes(): Observable<boolean> {\n    return this._changes.asObservable();\n  }\n\n  closeMenus(): void {\n    this._changes.next(false);\n  }\n}\n\nexport function clrRootDropdownFactory(existing: RootDropdownService) {\n  return existing || new RootDropdownService();\n}\n\nexport const ROOT_DROPDOWN_PROVIDER = {\n  provide: RootDropdownService,\n  useFactory: clrRootDropdownFactory,\n  deps: [[new Optional(), new SkipSelf(), RootDropdownService]],\n};\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectorRef, Component, Input, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { ClrPopoverHostDirective, ClrPopoverPoint, ClrPopoverService } from '@clr/angular/popover/common';\nimport { FOCUS_SERVICE_PROVIDER } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { DROPDOWN_FOCUS_HANDLER_PROVIDER, DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\nimport { ROOT_DROPDOWN_PROVIDER, RootDropdownService } from './providers/dropdown.service';\n@Component({\n  selector: 'clr-dropdown',\n  template: `<ng-content></ng-content>`,\n  host: {\n    '[class.dropdown]': 'true',\n    '[class.open]': 'popoverService.open',\n  },\n  providers: [ROOT_DROPDOWN_PROVIDER, FOCUS_SERVICE_PROVIDER, DROPDOWN_FOCUS_HANDLER_PROVIDER],\n  hostDirectives: [ClrPopoverHostDirective],\n  standalone: false,\n})\nexport class ClrDropdown implements OnDestroy {\n  @Input('clrCloseMenuOnItemClick') isMenuClosable = true;\n\n  private subscriptions: Subscription[] = [];\n\n  constructor(\n    @SkipSelf()\n    @Optional()\n    public parent: ClrDropdown,\n    public popoverService: ClrPopoverService,\n    public focusHandler: DropdownFocusHandler,\n    cdr: ChangeDetectorRef,\n    dropdownService: RootDropdownService\n  ) {\n    this.subscriptions.push(dropdownService.changes.subscribe(value => (popoverService.open = value)));\n    this.subscriptions.push(popoverService.openChange.subscribe(() => cdr.markForCheck()));\n  }\n\n  openAtPoint(point: ClrPopoverPoint, targetElement?: HTMLElement) {\n    this.popoverService.openAtPoint(point, targetElement);\n  }\n\n  ngOnDestroy() {\n    this.subscriptions.forEach(sub => sub.unsubscribe());\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n  AfterContentInit,\n  Component,\n  ContentChildren,\n  ElementRef,\n  HostBinding,\n  Inject,\n  Input,\n  OnDestroy,\n  Optional,\n  QueryList,\n  SkipSelf,\n} from '@angular/core';\nimport {\n  ClrPopoverContent,\n  ClrPopoverPosition,\n  ClrPopoverService,\n  ClrPopoverType,\n  DROPDOWN_POSITIONS,\n  POPOVER_HOST_ORIGIN,\n} from '@clr/angular/popover/common';\nimport { FocusableItem } from '@clr/angular/utils';\n\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\n\n@Component({\n  selector: 'clr-dropdown-menu',\n  template: `<ng-content></ng-content>`,\n  host: {\n    '[class.dropdown-menu]': 'true',\n    '[attr.role]': '\"menu\"',\n  },\n  standalone: false,\n  hostDirectives: [ClrPopoverContent],\n})\nexport class ClrDropdownMenu implements AfterContentInit, OnDestroy {\n  @ContentChildren(FocusableItem) items: QueryList<FocusableItem>;\n\n  constructor(\n    @Optional()\n    @Inject(POPOVER_HOST_ORIGIN)\n    parentHost: ElementRef<HTMLElement>,\n    @Optional()\n    @SkipSelf()\n    nested: ClrDropdownMenu,\n    private focusHandler: DropdownFocusHandler,\n    private elementRef: ElementRef,\n    private popoverService: ClrPopoverService,\n    private popoverContent: ClrPopoverContent\n  ) {\n    if (!parentHost) {\n      throw new Error('clr-dropdown-menu should only be used inside of a clr-dropdown');\n    }\n\n    popoverContent.scrollToClose = true;\n\n    popoverContent.contentType = ClrPopoverType.DROPDOWN;\n\n    popoverContent.contentAt = nested ? ClrPopoverPosition.RIGHT_TOP : ClrPopoverPosition.BOTTOM_LEFT;\n\n    popoverService.panelClass.push('clr-dropdown-container');\n  }\n\n  /*\n   * Fallback to hide when *clrIfOpen is not being used\n   */\n  @HostBinding('class.is-off-screen')\n  get isOffScreen() {\n    return !this.popoverService.open;\n  }\n\n  @Input('clrPosition')\n  set position(position: string | ClrPopoverPosition) {\n    if (!position) {\n      return;\n    }\n\n    const posIndex = DROPDOWN_POSITIONS.indexOf(position as ClrPopoverPosition);\n\n    if (posIndex === -1) {\n      return;\n    }\n\n    // set the popover values based on menu position\n    this.popoverContent.contentAt = DROPDOWN_POSITIONS[posIndex];\n  }\n\n  ngAfterContentInit() {\n    this.focusHandler.container = this.elementRef.nativeElement;\n    this.items.changes.subscribe(() => this.focusHandler.addChildren(this.items.toArray()));\n    // I saw this on GitHub as a solution to avoid code duplication because of missed QueryList changes\n    this.items.notifyOnChanges();\n  }\n\n  ngOnDestroy() {\n    this.focusHandler.resetChildren();\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\n\nimport { ClrDropdown } from './dropdown';\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\n\n@Directive({\n  // We support both selectors for legacy reasons\n  selector: '[clrDropdownTrigger],[clrDropdownToggle]',\n  host: {\n    '[class.dropdown-toggle]': 'isRootLevelToggle',\n    '[class.dropdown-item]': '!isRootLevelToggle',\n    '[class.expandable]': '!isRootLevelToggle',\n    '[class.active]': 'active',\n    '[attr.aria-haspopup]': '\"menu\"',\n    '[attr.aria-expanded]': 'active',\n  },\n  standalone: false,\n})\nexport class ClrDropdownTrigger {\n  isRootLevelToggle = true;\n\n  constructor(\n    dropdown: ClrDropdown,\n    private popoverService: ClrPopoverService,\n    el: ElementRef<HTMLElement>,\n    focusHandler: DropdownFocusHandler\n  ) {\n    // if the containing dropdown has a parent, then this is not the root level one\n    if (dropdown.parent) {\n      this.isRootLevelToggle = false;\n    }\n    focusHandler.trigger = el.nativeElement;\n    popoverService.origin = el;\n  }\n\n  get active(): boolean {\n    return this.popoverService.open;\n  }\n\n  @HostListener('click', ['$event'])\n  onDropdownTriggerClick(event: any): void {\n    this.popoverService.toggleWithEvent(event);\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\nimport { BASIC_FOCUSABLE_ITEM_PROVIDER, FocusableItem } from '@clr/angular/utils';\n\nimport { ClrDropdown } from './dropdown';\nimport { RootDropdownService } from './providers/dropdown.service';\n\n@Directive({\n  selector: '[clrDropdownItem]',\n  host: {\n    '[class.disabled]': 'disabled',\n    '[class.dropdown-item]': 'true',\n    '[attr.role]': '\"menuitem\"',\n    '[attr.aria-disabled]': 'disabled',\n    '[attr.id]': 'dropdownItemId',\n  },\n  providers: [BASIC_FOCUSABLE_ITEM_PROVIDER],\n  standalone: false,\n})\nexport class ClrDropdownItem {\n  constructor(\n    private dropdown: ClrDropdown,\n    private _dropdownService: RootDropdownService,\n    private focusableItem: FocusableItem,\n    private el: ElementRef,\n    private renderer: Renderer2\n  ) {}\n\n  @Input('clrDisabled')\n  get disabled() {\n    return this.focusableItem.disabled;\n  }\n  set disabled(value: boolean | string) {\n    // Empty string attribute evaluates to false but should disable the item, so we need to add a special case for it.\n    this.focusableItem.disabled = !!value || value === '';\n  }\n\n  /**\n   * Let you overwrite the focusable auto increment id.\n   */\n  @Input('id')\n  get dropdownItemId() {\n    return this.focusableItem.id;\n  }\n  set dropdownItemId(value: string) {\n    this.focusableItem.id = value;\n  }\n\n  @HostListener('click')\n  private onDropdownItemClick(): void {\n    // Move focus back to the root dropdown trigger.\n    // This is done BEFORE the dropdown is closed so that focus gets moved properly if a modal is opened.\n    if (this.dropdown.isMenuClosable && !this.disabled && this.dropdown.popoverService.open) {\n      const rootDropdown = this.findRootDropdown();\n\n      rootDropdown.focusHandler.focus();\n    }\n\n    // Ensure that the dropdown is closed after custom dropdown item click event handlers have run.\n    setTimeout(() => {\n      if (this.dropdown.isMenuClosable && !this.disabled) {\n        this._dropdownService.closeMenus();\n      }\n    });\n  }\n\n  @HostListener('keydown.space', ['$event'])\n  private onSpaceKeydown($event: KeyboardEvent) {\n    this.stopImmediatePropagationIfDisabled($event);\n  }\n\n  @HostListener('keydown.enter', ['$event'])\n  private onEnterKeydown($event: KeyboardEvent) {\n    this.stopImmediatePropagationIfDisabled($event);\n  }\n\n  private stopImmediatePropagationIfDisabled($event: Event) {\n    if (this.disabled) {\n      $event.preventDefault(); // prevent click event\n      $event.stopImmediatePropagation();\n    }\n  }\n\n  private findRootDropdown() {\n    let rootDropdown = this.dropdown;\n\n    while (rootDropdown.parent) {\n      rootDropdown = rootDropdown.parent;\n    }\n\n    return rootDropdown;\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport const CLR_MENU_POSITIONS: string[] = [\n  'bottom-left',\n  'bottom-right',\n  'left-bottom',\n  'left-top',\n  'right-bottom',\n  'right-top',\n  'top-left',\n  'top-right',\n];\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClrIcon } from '@clr/angular/icon';\nimport { ClrIfOpen } from '@clr/angular/popover/common';\n\nimport { ClrDropdown } from './dropdown';\nimport { ClrDropdownItem } from './dropdown-item';\nimport { ClrDropdownMenu } from './dropdown-menu';\nimport { ClrDropdownTrigger } from './dropdown-trigger';\n\nexport const CLR_DROPDOWN_DIRECTIVES: Type<any>[] = [ClrDropdown, ClrDropdownMenu, ClrDropdownTrigger, ClrDropdownItem];\n\n@NgModule({\n  imports: [CommonModule, ClrIcon, ClrIfOpen],\n  declarations: [CLR_DROPDOWN_DIRECTIVES],\n  exports: [CLR_DROPDOWN_DIRECTIVES, ClrIfOpen, ClrIcon],\n})\nexport class ClrDropdownModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './dropdown';\nexport * from './dropdown-menu';\nexport * from './dropdown-trigger';\nexport * from './dropdown-item';\nexport * from './menu-positions';\nexport * from './dropdown.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DropdownFocusHandler","i3.RootDropdownService","i1.DropdownFocusHandler","i1.ClrDropdown","i3.DropdownFocusHandler","i2.RootDropdownService","i3"],"mappings":"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"}