{"version":3,"file":"cakewalk-ngx-headlessui.mjs","sources":["../../../projects/ngx-headlessui/src/lib/disclosure/disclosure.common.ts","../../../projects/ngx-headlessui/src/lib/disclosure/disclosure-button/disclosure-button.component.ts","../../../projects/ngx-headlessui/src/lib/disclosure/disclosure-button/disclosure-button.component.html","../../../projects/ngx-headlessui/src/lib/disclosure/disclosure-panel/disclosure-panel.component.ts","../../../projects/ngx-headlessui/src/lib/disclosure/disclosure-panel/disclosure-panel.component.html","../../../projects/ngx-headlessui/src/lib/disclosure/disclosure.component.ts","../../../projects/ngx-headlessui/src/lib/disclosure/disclosure.component.html","../../../projects/ngx-headlessui/src/lib/disclosure/disclosure.module.ts","../../../projects/ngx-headlessui/src/lib/core/utils.ts","../../../projects/ngx-headlessui/src/lib/menu/menu.directive.ts","../../../projects/ngx-headlessui/src/lib/menu/menu-button.directive.ts","../../../projects/ngx-headlessui/src/lib/menu/menu-item.directive.ts","../../../projects/ngx-headlessui/src/lib/menu/menu-items-panel.directive.ts","../../../projects/ngx-headlessui/src/lib/menu/menu.module.ts","../../../projects/ngx-headlessui/src/lib/menu/index.ts","../../../projects/ngx-headlessui/src/lib/switch/switch-group.directive.ts","../../../projects/ngx-headlessui/src/lib/switch/switch-description.directive.ts","../../../projects/ngx-headlessui/src/lib/switch/switch-label.directive.ts","../../../projects/ngx-headlessui/src/lib/core/keyboard.ts","../../../projects/ngx-headlessui/src/lib/switch/switch.component.ts","../../../projects/ngx-headlessui/src/lib/switch/switch.component.html","../../../projects/ngx-headlessui/src/lib/switch/switch.module.ts","../../../projects/ngx-headlessui/src/lib/core/disposables.ts","../../../projects/ngx-headlessui/src/lib/core/once.ts","../../../projects/ngx-headlessui/src/lib/transition/utils/transitions.ts","../../../projects/ngx-headlessui/src/lib/transition/transition.component.ts","../../../projects/ngx-headlessui/src/lib/transition/transition.component.html","../../../projects/ngx-headlessui/src/lib/transition/transition.module.ts","../../../projects/ngx-headlessui/src/lib/popover/popover.common.ts","../../../projects/ngx-headlessui/src/lib/popover/popover-button/popover-button.component.ts","../../../projects/ngx-headlessui/src/lib/popover/popover-button/popover-button.component.html","../../../projects/ngx-headlessui/src/lib/popover/popover-panel/popover-panel.component.ts","../../../projects/ngx-headlessui/src/lib/popover/popover-panel/popover-panel.component.html","../../../projects/ngx-headlessui/src/lib/popover/popover.component.ts","../../../projects/ngx-headlessui/src/lib/popover/popover.component.html","../../../projects/ngx-headlessui/src/lib/popover/popover.module.ts","../../../projects/ngx-headlessui/src/public-api.ts","../../../projects/ngx-headlessui/src/cakewalk-ngx-headlessui.ts"],"sourcesContent":["import { EventEmitter, InjectionToken } from '@angular/core';\r\n//import { AnimationReferenceMetadata } from '@angular/animations';\r\nimport { CancelableEventArgs, IBaseEventArgs } from '../core/utils';\r\n\r\nexport interface HuxDisclosureBase {\r\n    id: string;\r\n    //cssClass: string;\r\n    /** @hidden @internal */\r\n    headerId: string;\r\n    collapsed: boolean;\r\n    //animationSettings: { openAnimation: AnimationReferenceMetadata; closeAnimation: AnimationReferenceMetadata };\r\n    // contentCollapsed: EventEmitter<any>;\r\n    // contentCollapsing: EventEmitter<any>;\r\n    // contentExpanded: EventEmitter<any>;\r\n    // contentExpanding: EventEmitter<any>;\r\n    collapse(evt?: Event): any;\r\n    expand(evt?: Event): any;\r\n    toggle(evt?: Event): any;\r\n}\r\n\r\n/** @hidden */\r\nexport const HUX_DISCLOSURE_COMPONENT = new InjectionToken<HuxDisclosureBase>('HuxDisclosureToken');\r\n\r\nexport interface IDisclosureEventArgs extends IBaseEventArgs {\r\n    event: Event;\r\n}\r\n\r\nexport interface IDisclosureCancelableEventArgs extends IDisclosureEventArgs, CancelableEventArgs { }\r\n","import { ChangeDetectorRef, Component, Host, HostBinding, HostListener, Inject, Input, OnInit } from '@angular/core';\r\nimport { HuxDisclosureBase, HUX_DISCLOSURE_COMPONENT, IDisclosureCancelableEventArgs } from '../disclosure.common';\r\n\r\n@Component({\r\n  selector: 'hux-disclosure-button',\r\n  templateUrl: './disclosure-button.component.html'\r\n})\r\nexport class DisclosureButtonComponent {\r\n  public id = '';\r\n  public tabIndex = 0;\r\n  private _disabled = false;\r\n\r\n  @HostBinding('attr.aria-level')\r\n  @Input()\r\n  public lv = '3';\r\n\r\n  @HostBinding('attr.role')\r\n  @Input()\r\n  public role = 'heading';\r\n\r\n  @Input()\r\n  public cssClass: string;\r\n\r\n  public get controls(): string {\r\n    return this.panel.id;\r\n  }\r\n\r\n  public get isExpanded() {\r\n    return !this.panel.collapsed;\r\n  }\r\n\r\n  @Input()\r\n  //@HostBinding('class.igx-expansion-panel--disabled')\r\n  public get disabled(): boolean {\r\n    return this._disabled;\r\n  };\r\n\r\n  public set disabled(val: boolean) {\r\n    this._disabled = val;\r\n    if (val) {\r\n      delete this.tabIndex;\r\n    } else {\r\n      this.tabIndex = 0;\r\n    }\r\n  };\r\n\r\n  constructor(@Host() @Inject(HUX_DISCLOSURE_COMPONENT) public panel: HuxDisclosureBase, public cdr: ChangeDetectorRef) {\r\n    this.id = `${this.panel.id}-button`;\r\n  }\r\n\r\n  @HostListener('keydown.Enter', ['$event'])\r\n  @HostListener('keydown.Space', ['$event'])\r\n  @HostListener('keydown.Spacebar', ['$event'])\r\n  @HostListener('click', ['$event'])\r\n  public onAction(evt?: Event) {\r\n    if (this.disabled) {\r\n      evt.stopPropagation();\r\n      return;\r\n    }\r\n    const eventArgs: IDisclosureCancelableEventArgs = { event: evt, owner: this.panel, cancel: false };\r\n    //this.interaction.emit(eventArgs);\r\n    if (eventArgs.cancel === true) {\r\n      return;\r\n    }\r\n    this.panel.toggle(evt);\r\n    evt.preventDefault();\r\n  }\r\n\r\n  /** @hidden @internal */\r\n  @HostListener('keydown.Alt.ArrowDown', ['$event'])\r\n  public openPanel(event: KeyboardEvent) {\r\n    if (event.altKey) {\r\n      const eventArgs: IDisclosureCancelableEventArgs = { event, owner: this.panel, cancel: false };\r\n      //this.interaction.emit(eventArgs);\r\n      if (eventArgs.cancel === true) {\r\n        return;\r\n      }\r\n      this.panel.expand(event);\r\n    }\r\n  }\r\n\r\n  /** @hidden @internal */\r\n  @HostListener('keydown.Alt.ArrowUp', ['$event'])\r\n  public closePanel(event: KeyboardEvent) {\r\n    if (event.altKey) {\r\n      const eventArgs: IDisclosureCancelableEventArgs = { event, owner: this.panel, cancel: false };\r\n      //this.interaction.emit(eventArgs);\r\n      if (eventArgs.cancel === true) {\r\n        return;\r\n      }\r\n      this.panel.collapse(event);\r\n    }\r\n  }\r\n\r\n}\r\n","<div [class]=\"cssClass\" [attr.tabindex]=\"tabIndex\" type=\"button\" role=\"button\" [attr.id]=\"id\"\r\n[attr.aria-disabled]=\"disabled\" [attr.aria-expanded]=\"isExpanded\" [attr.aria-controls]=\"controls\" >\r\n    <ng-content></ng-content>\r\n</div>","import { ChangeDetectorRef, Component, ElementRef, HostBinding, Inject, Input, OnInit } from '@angular/core';\r\nimport { HuxDisclosureBase, HUX_DISCLOSURE_COMPONENT } from '../disclosure.common';\r\n\r\n@Component({\r\n  selector: 'hux-disclosure-panel',\r\n  templateUrl: './disclosure-panel.component.html'\r\n})\r\nexport class DisclosurePanelComponent {\r\n\r\n  /**\r\n      * Gets/sets the `role` attribute of the panel body\r\n      * Default is 'region';\r\n      * Get\r\n      * ```typescript\r\n      *  const currentRole = this.panel.body.role;\r\n      * ```\r\n      * Set\r\n      * ```typescript\r\n      *  this.panel.body.role = 'content';\r\n      * ```\r\n      * ```html\r\n      *  <hux-disclosure-panel [role]=\"'custom'\"></hux-disclosure-panel>\r\n      * ```\r\n      */\r\n  @Input()\r\n  @HostBinding('attr.role')\r\n  public role = 'region';\r\n\r\n  private _labelledBy = '';\r\n  private _label = '';\r\n  constructor(\r\n    @Inject(HUX_DISCLOSURE_COMPONENT) public panel: HuxDisclosureBase,\r\n    public element: ElementRef, public cdr: ChangeDetectorRef) {\r\n  }\r\n\r\n  /**\r\n     * Gets the `aria-label` attribute of the panel body\r\n     * Defaults to the panel id with '-region' in the end;\r\n     * Get\r\n     * ```typescript\r\n     *  const currentLabel = this.panel.body.label;\r\n     * ```\r\n     */\r\n  @Input()\r\n  @HostBinding('attr.aria-label')\r\n  public get label(): string {\r\n    return this._label || this.panel.id + '-region';\r\n  }\r\n  /**\r\n   * Sets the `aria-label` attribute of the panel body\r\n   * ```typescript\r\n   *  this.panel.body.label = 'my-custom-label';\r\n   * ```\r\n   * ```html\r\n   *  <hux-disclosure-panel [label]=\"'my-custom-label'\"></hux-disclosure-panel>\r\n   * ```\r\n   */\r\n  public set label(val: string) {\r\n    this._label = val;\r\n  }\r\n\r\n  /**\r\n   * Gets the `aria-labelledby` attribute of the panel body\r\n   * Defaults to the panel header id;\r\n   * Get\r\n   * ```typescript\r\n   *  const currentLabel = this.panel.body.labelledBy;\r\n   * ```\r\n   */\r\n  @Input()\r\n  @HostBinding('attr.aria-labelledby')\r\n  public get labelledBy(): string {\r\n    return this._labelledBy;\r\n  }\r\n  /**\r\n   * Sets the `aria-labelledby` attribute of the panel body\r\n   * ```typescript\r\n   *  this.panel.body.labelledBy = 'my-custom-id';\r\n   * ```\r\n   * ```html\r\n   *  <hux-disclosure-panel [labelledBy]=\"'my-custom-id'\"></hux-disclosure-panel>\r\n   * ```\r\n   */\r\n  public set labelledBy(val: string) {\r\n    this._labelledBy = val;\r\n  }\r\n}\r\n","<ng-content></ng-content>","import { AfterContentInit, ChangeDetectorRef, Component, ContentChild, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\r\nimport { DisclosureButtonComponent } from './disclosure-button/disclosure-button.component';\r\nimport { DisclosurePanelComponent } from './disclosure-panel/disclosure-panel.component';\r\nimport { HuxDisclosureBase, HUX_DISCLOSURE_COMPONENT, IDisclosureCancelableEventArgs, IDisclosureEventArgs } from './disclosure.common';\r\n\r\nlet NEXT_ID = 0;\r\n\r\n@Component({\r\n  selector: 'hux-disclosure',\r\n  templateUrl: './disclosure.component.html',\r\n  providers: [{ provide: HUX_DISCLOSURE_COMPONENT, useExisting: DisclosureComponent }]\r\n})\r\nexport class DisclosureComponent implements HuxDisclosureBase, AfterContentInit {\r\n  private _collapsed = true;\r\n  @ContentChild(DisclosurePanelComponent, { read: DisclosurePanelComponent })\r\n  public body: DisclosurePanelComponent;\r\n\r\n  @ContentChild(DisclosureButtonComponent, { read: DisclosureButtonComponent })\r\n  public header: DisclosureButtonComponent;\r\n\r\n  @HostBinding('attr.id')\r\n  @Input()\r\n  public id = `hux-disclosure-${NEXT_ID++}`;\r\n\r\n  @HostBinding('attr.aria-expanded')\r\n  public get panelExpanded() {\r\n    return !this.collapsed;\r\n  }\r\n\r\n  @Input()\r\n  public get collapsed(): boolean {\r\n    return this._collapsed;\r\n  }\r\n  public set collapsed(value) {\r\n    this._collapsed = value;\r\n    this.collapsedChange.emit(this._collapsed);\r\n  }\r\n\r\n  @Output()\r\n  public collapsedChange = new EventEmitter<boolean>();\r\n\r\n  /**\r\n   * Emitted when the expansion panel starts collapsing\r\n   * ```typescript\r\n   *  handleCollapsing(event: IDisclosureCancelableEventArgs)\r\n   * ```\r\n   * ```html\r\n   *  <hux-disclosure (contentCollapsing)=\"handleCollapsing($event)\">\r\n   *      ...\r\n   *  </hux-disclosure>\r\n   * ```\r\n   */\r\n  @Output()\r\n  public contentCollapsing = new EventEmitter<IDisclosureCancelableEventArgs>();\r\n\r\n  /**\r\n   * Emitted when the expansion panel finishes collapsing\r\n   * ```typescript\r\n   *  handleCollapsed(event: IDisclosureEventArgs)\r\n   * ```\r\n   * ```html\r\n   *  <hux-disclosure (contentCollapsed)=\"handleCollapsed($event)\">\r\n   *      ...\r\n   *  </hux-disclosure>\r\n   * ```\r\n   */\r\n  @Output()\r\n  public contentCollapsed = new EventEmitter<IDisclosureEventArgs>();\r\n\r\n  /**\r\n   * Emitted when the expansion panel starts expanding\r\n   * ```typescript\r\n   *  handleExpanding(event: IDisclosureCancelableEventArgs)\r\n   * ```\r\n   * ```html\r\n   *  <hux-disclosure (contentExpanding)=\"handleExpanding($event)\">\r\n   *      ...\r\n   *  </hux-disclosure>\r\n   * ```\r\n   */\r\n  @Output()\r\n  public contentExpanding = new EventEmitter<IDisclosureCancelableEventArgs>();\r\n\r\n  /**\r\n   * Emitted when the expansion panel finishes expanding\r\n   * ```typescript\r\n   *  handleExpanded(event: IDisclosureEventArgs)\r\n   * ```\r\n   * ```html\r\n   *  <hux-disclosure (contentExpanded)=\"handleExpanded($event)\">\r\n   *      ...\r\n   *  </hux-disclosure>\r\n   * ```\r\n   */\r\n  @Output()\r\n  public contentExpanded = new EventEmitter<IDisclosureEventArgs>();\r\n\r\n  public get headerId() {\r\n    return this.header ? `${this.id}-header` : '';\r\n  }\r\n\r\n\r\n\r\n  constructor(private cdr: ChangeDetectorRef) { }\r\n\r\n  public ngAfterContentInit(): void {\r\n    if (this.body && this.header) {\r\n      // schedule at end of turn:\r\n      Promise.resolve().then(() => {\r\n        this.body.labelledBy = this.body.labelledBy || this.headerId;\r\n        this.body.label = this.body.label || this.id + '-region';\r\n      });\r\n    }\r\n  }\r\n\r\n\r\n  public collapse(evt?: Event) {\r\n    if (this.collapsed) { // If expansion panel is already collapsed, do nothing\r\n      return;\r\n    }\r\n    const args = { event: evt, panel: this, owner: this, cancel: false };\r\n    this.contentCollapsing.emit(args);\r\n    if (args.cancel === true) {\r\n      return;\r\n    }\r\n    // this.playCloseAnimation(\r\n    //   this.body?.element,\r\n    //   () => {\r\n    //     this.contentCollapsed.emit({ event: evt, owner: this });\r\n    //     this.collapsed = true;\r\n    //     this.cdr.markForCheck();\r\n    //   }\r\n    // );\r\n    this.contentCollapsed.emit({ event: evt, owner: this });\r\n    this.collapsed = true;\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  public expand(evt?: Event) {\r\n    if (!this.collapsed) { // If the panel is already opened, do nothing\r\n      return;\r\n    }\r\n    const args = { event: evt, panel: this, owner: this, cancel: false };\r\n    this.contentExpanding.emit(args);\r\n    if (args.cancel === true) {\r\n      return;\r\n    }\r\n    this.collapsed = false;\r\n    this.cdr.detectChanges();\r\n    // this.playOpenAnimation(\r\n    //   this.body?.element,\r\n    //   () => {\r\n        this.contentExpanded.emit({ event: evt, owner: this });\r\n    //   }\r\n    // );\r\n  }\r\n\r\n  public toggle(evt?: Event) {\r\n    if (this.collapsed) {\r\n      this.open(evt);\r\n    } else {\r\n      this.close(evt);\r\n    }\r\n  }\r\n\r\n  public open(evt?: Event) {\r\n    this.expand(evt);\r\n  }\r\n\r\n  public close(evt?: Event) {\r\n    this.collapse(evt);\r\n  }\r\n}\r\n","<ng-content select=\"hux-disclosure-button\"></ng-content>\r\n<ng-content *ngIf=\"!collapsed\" select=\"hux-disclosure-panel\"></ng-content>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DisclosureComponent } from '../disclosure/disclosure.component';\r\nimport { DisclosureButtonComponent } from './disclosure-button/disclosure-button.component';\r\nimport { DisclosurePanelComponent } from './disclosure-panel/disclosure-panel.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    DisclosureComponent,\r\n    DisclosureButtonComponent,\r\n    DisclosurePanelComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    DisclosureComponent,\r\n    DisclosureButtonComponent,\r\n    DisclosurePanelComponent\r\n  ]\r\n})\r\nexport class DisclosureModule { }\r\n","let id = 0;\r\nexport function generateId() {\r\n    return ++id;\r\n}\r\n\r\nexport interface CancelableEventArgs {\r\n    /**\r\n     * Provides the ability to cancel the event.\r\n     */\r\n    cancel: boolean;\r\n}\r\n\r\nexport interface IBaseEventArgs {\r\n    /**\r\n     * Provides reference to the owner component.\r\n     */\r\n    owner?: any;\r\n}\r\n\r\nexport interface CancelableBrowserEventArgs extends CancelableEventArgs {\r\n    /** Browser event */\r\n    event?: Event;\r\n}","\r\n/// MENU - Spec: https://www.w3.org/TR/wai-aria-practices-1.2/#menubutton\r\n\r\nimport { ChangeDetectorRef, Directive, Input, Renderer2 } from \"@angular/core\";\r\nimport { MenuButtonDirective } from \"./menu-button.directive\";\r\nimport { FocusType, MenuItemDirective } from \"./menu-item.directive\";\r\nimport { MenuItemsPanelDirective } from \"./menu-items-panel.directive\";\r\n\r\n\r\n@Directive({\r\n    selector: '[hlMenu]',\r\n    exportAs: 'hlMenu'\r\n})\r\nexport class MenuDirective {\r\n    @Input()\r\n    static = false\r\n\r\n    expanded = false\r\n    windowClickUnlisten!: (() => void)\r\n\r\n    menuButton!: MenuButtonDirective\r\n    menuItemsPanel!: MenuItemsPanelDirective\r\n    menuItems: MenuItemDirective[] = []\r\n    activeItem: MenuItemDirective | null = null\r\n    searchQuery = ''\r\n    searchDebounce: ReturnType<typeof setTimeout> | null = null\r\n\r\n    constructor(\r\n        private renderer: Renderer2,\r\n        private changeDetection: ChangeDetectorRef) {\r\n    }\r\n\r\n    toggle(focusAfterExpand: FocusType | null = null, focusButtonOnClose = true) {\r\n        if (this.expanded) {\r\n            // close items panel\r\n            this.expanded = false\r\n            this.menuItemsPanel.collapse()\r\n            this.menuButton.element.removeAttribute('aria-controls')\r\n            this.menuButton.element.removeAttribute('expanded')\r\n            this.menuItems = []\r\n            this.activeItem = null\r\n            this.windowClickUnlisten()\r\n            if (focusButtonOnClose) {\r\n                this.menuButton.focus()\r\n            }\r\n            this.changeDetection.markForCheck()\r\n        } else {\r\n            // open items panel\r\n            this.expanded = true\r\n            this.changeDetection.markForCheck()\r\n\r\n            setTimeout(() => {\r\n                this.menuItemsPanel.expand()\r\n                this.menuItemsPanel.focus()\r\n                if (this.menuItemsPanel.element != null) {\r\n                    this.menuButton.element.setAttribute('aria-controls', this.menuItemsPanel.element.id)\r\n                }\r\n                this.menuButton.element.setAttribute('expanded', 'true')\r\n                this.windowClickUnlisten = this.initListeners()\r\n                if (focusAfterExpand) {\r\n                    setTimeout(() => this.focusItem(focusAfterExpand))\r\n                }\r\n            })\r\n        }\r\n    }\r\n\r\n\r\n    focusItem(focusType: FocusType) {\r\n        const activeItem = this.calculateFocusedItem(focusType)\r\n        if (activeItem === this.activeItem) {\r\n            return\r\n        }\r\n        this.activeItem = activeItem\r\n        this.menuItems.forEach(item => {\r\n            if (this.activeItem) {\r\n                this.menuItemsPanel.element?.setAttribute('aria-activedescendant', this.activeItem.element.id)\r\n            } else {\r\n                this.menuItemsPanel.element?.removeAttribute('aria-activedescendant')\r\n            }\r\n            item.setActive(item === this.activeItem)\r\n        })\r\n    }\r\n\r\n    clickActive() {\r\n        this.activeItem?.element.click()\r\n    }\r\n\r\n    search(value: string) {\r\n        if (this.searchDebounce) {\r\n            clearTimeout(this.searchDebounce)\r\n        }\r\n        this.searchDebounce = setTimeout(() => this.searchQuery = '', 350)\r\n\r\n        this.searchQuery += value.toLocaleLowerCase()\r\n        const matchingItem = this.menuItems.find(\r\n            item => {\r\n                const itemText = item.element.textContent?.trim().toLocaleLowerCase()\r\n                return itemText?.startsWith(this.searchQuery) && !item.hlMenuItemDisabled\r\n            }\r\n        )\r\n\r\n        if (matchingItem === undefined || matchingItem === this.activeItem) {\r\n            return\r\n        }\r\n\r\n        this.focusItem({ kind: 'FocusSpecific', item: matchingItem })\r\n    }\r\n\r\n\r\n    private calculateFocusedItem(focusType: FocusType): MenuItemDirective | null {\r\n        const enabledItems = this.menuItems.filter(item => !item.hlMenuItemDisabled)\r\n\r\n        switch (focusType.kind) {\r\n            case 'FocusSpecific':\r\n                return focusType.item\r\n\r\n            case 'FocusNothing':\r\n                return null\r\n\r\n            case 'FocusFirst':\r\n                return enabledItems[0]\r\n\r\n            case 'FocusLast':\r\n                return enabledItems[enabledItems.length - 1]\r\n\r\n            case 'FocusNext':\r\n                if (this.activeItem === null) {\r\n                    return enabledItems[0]\r\n                } else {\r\n                    const nextIndex = Math.min(enabledItems.indexOf(this.activeItem) + 1, enabledItems.length - 1)\r\n                    return enabledItems[nextIndex]\r\n                }\r\n\r\n            case 'FocusPrevious':\r\n                if (this.activeItem === null) {\r\n                    return enabledItems[enabledItems.length - 1]\r\n                } else {\r\n                    const previousIndex = Math.max(enabledItems.indexOf(this.activeItem) - 1, 0)\r\n                    return enabledItems[previousIndex]\r\n                }\r\n        }\r\n    }\r\n\r\n    private initListeners(): (() => void) {\r\n        return this.renderer.listen(window, 'click', (event: MouseEvent) => {\r\n            const target = event.target as HTMLElement\r\n            const active = document.activeElement\r\n\r\n            if (this.menuButton.element.contains(target)\r\n                || this.menuItemsPanel?.element?.contains(target)) {\r\n                return\r\n            }\r\n\r\n            const clickedTargetIsFocusable =\r\n                active !== document.body\r\n                && active?.contains(target)\r\n\r\n            // do not focus button if the clicked element is itself focusable\r\n            this.toggle(null, !clickedTargetIsFocusable)\r\n        })\r\n    }\r\n}","import { Directive, ElementRef, OnInit, Renderer2 } from \"@angular/core\";\r\nimport { generateId } from \"./../core/utils\";\r\nimport { MenuDirective } from \"./menu.directive\";\r\n\r\n@Directive({\r\n  selector: '[hlMenuButton]'\r\n})\r\nexport class MenuButtonDirective implements OnInit {\r\n  element!: HTMLElement\r\n\r\n  constructor(\r\n      elementRef: ElementRef,\r\n      private menu: MenuDirective,\r\n      private renderer: Renderer2) {\r\n      this.element = elementRef.nativeElement\r\n      menu.menuButton = this\r\n  }\r\n\r\n  ngOnInit(): void {\r\n      this.initAttributes(this.element)\r\n\r\n      this.renderer.listen(this.element, 'click', () => {\r\n          this.menu.toggle()\r\n      })\r\n\r\n      this.renderer.listen(\r\n          this.element,\r\n          'keydown',\r\n          (event: KeyboardEvent) => {\r\n              switch (event.key) {\r\n                  case ' ': // Space\r\n                  case 'Enter':\r\n                  case 'ArrowDown':\r\n                      event.preventDefault()\r\n                      this.menu.toggle({ kind: 'FocusFirst' })\r\n                      break\r\n\r\n                  case 'ArrowUp':\r\n                      event.preventDefault()\r\n                      this.menu.toggle({ kind: 'FocusLast' })\r\n                      break\r\n              }\r\n          }\r\n      )\r\n  }\r\n\r\n  focus() {\r\n      setTimeout(() => this.element?.focus())\r\n  }\r\n\r\n  private initAttributes(element: HTMLElement) {\r\n      element.id = `headlessui-menu-button-${generateId()}`\r\n      element.setAttribute('type', 'button')\r\n      element.setAttribute('aria-haspopup', 'true')\r\n  }\r\n}","import { Directive, EmbeddedViewRef, Input, OnInit, Renderer2, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\nimport { generateId } from \"./../core/utils\";\r\nimport { MenuDirective } from \"./menu.directive\";\r\n\r\n@Directive({\r\n    selector: '[hlMenuItem]'\r\n})\r\nexport class MenuItemDirective implements OnInit {\r\n\r\n    @Input()\r\n    hlMenuItemDisabled = false\r\n\r\n    element!: HTMLElement\r\n\r\n    private view!: EmbeddedViewRef<any>\r\n    private context = { active: false }\r\n\r\n    constructor(\r\n        private templateRef: TemplateRef<any>,\r\n        private viewContainerRef: ViewContainerRef,\r\n        private menu: MenuDirective,\r\n        private renderer: Renderer2) {\r\n        this.menu.menuItems.push(this)\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.view = this.viewContainerRef.createEmbeddedView(this.templateRef, { $implicit: this.context })\r\n        this.element = this.view.rootNodes[0]\r\n        this.initAttributes(this.element)\r\n        this.initListeners(this.element)\r\n    }\r\n\r\n    setActive(active: boolean) {\r\n        this.context.active = active\r\n        this.view.markForCheck()\r\n    }\r\n\r\n    private initAttributes(element: HTMLElement) {\r\n        element.id = `headlessui-menu-item-${generateId()}`\r\n        element.tabIndex = -1\r\n        element.setAttribute('role', 'menuitem')\r\n        if (this.hlMenuItemDisabled) {\r\n            this.element.setAttribute('aria-disabled', 'true')\r\n        } else {\r\n            this.element.removeAttribute('aria-disabled')\r\n        }\r\n    }\r\n\r\n    private initListeners(element: HTMLElement) {\r\n        this.renderer.listen(\r\n            element,\r\n            'pointermove',\r\n            () => this.menu.focusItem({ kind: 'FocusSpecific', item: this })\r\n        )\r\n\r\n        this.renderer.listen(\r\n            element,\r\n            'pointerleave',\r\n            () => this.menu.focusItem({ kind: 'FocusNothing' })\r\n        )\r\n\r\n        this.renderer.listen(\r\n            element,\r\n            'click',\r\n            (event) => {\r\n                if (this.hlMenuItemDisabled) {\r\n                    event.preventDefault()\r\n                    return\r\n                }\r\n                this.menu.toggle()\r\n            }\r\n        )\r\n    }\r\n}\r\n\r\n\r\ntype FocusFirst = { kind: 'FocusFirst' }\r\ntype FocusLast = { kind: 'FocusLast' }\r\ntype FocusPrevious = { kind: 'FocusPrevious' }\r\ntype FocusNext = { kind: 'FocusNext' }\r\ntype FocusNothing = { kind: 'FocusNothing' }\r\ntype FocusSpecific = { kind: 'FocusSpecific'; item: MenuItemDirective }\r\n\r\nexport type FocusType =\r\n    | FocusFirst\r\n    | FocusLast\r\n    | FocusPrevious\r\n    | FocusNext\r\n    | FocusNothing\r\n    | FocusSpecific\r\n    ","import { Directive, OnInit, Renderer2, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\nimport { generateId } from \"./../core/utils\";\r\nimport { MenuDirective } from \"./menu.directive\";\r\n\r\n@Directive({\r\n    selector: '[hlMenuItems]'\r\n})\r\nexport class MenuItemsPanelDirective implements OnInit {\r\n    element: HTMLElement | null = null\r\n\r\n    constructor(\r\n        private templateRef: TemplateRef<any>,\r\n        private viewContainerRef: ViewContainerRef,\r\n        private menu: MenuDirective,\r\n        private renderer: Renderer2) {\r\n        this.menu.menuItemsPanel = this\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        if (this.menu.static) {\r\n            this.expandInternal()\r\n        }\r\n    }\r\n\r\n    expand() {\r\n        if (!this.menu.static) {\r\n            this.expandInternal()\r\n        }\r\n    }\r\n\r\n    collapse() {\r\n        if (!this.menu.static) {\r\n            this.viewContainerRef.clear()\r\n            this.element = null\r\n        }\r\n    }\r\n\r\n    focus() {\r\n        this.element?.focus({ preventScroll: true })\r\n    }\r\n\r\n    private expandInternal() {\r\n        const view = this.viewContainerRef.createEmbeddedView(this.templateRef)\r\n        const element = view.rootNodes[0]\r\n        this.initAttributes(element)\r\n        this.initListeners(element)\r\n        this.element = element\r\n        view.markForCheck()\r\n    }\r\n\r\n    private initAttributes(element: HTMLElement) {\r\n        element.tabIndex = -1\r\n        element.id = `headlessui-menu-items-${generateId()}`\r\n        element.setAttribute('role', 'menu')\r\n        element.setAttribute('aria-labelledby', this.menu.menuButton.element.id)\r\n    }\r\n\r\n    private initListeners(element: HTMLElement) {\r\n        this.renderer.listen(\r\n            element,\r\n            'keydown',\r\n            (event: KeyboardEvent) => {\r\n                switch (event.key) {\r\n                    case ' ': // Space\r\n                        if (this.menu.searchQuery !== '') {\r\n                            event.preventDefault()\r\n                            this.menu.search(event.key)\r\n                        } else {\r\n                            event.preventDefault()\r\n                            this.menu.clickActive()\r\n                        }\r\n                        break\r\n                    case 'Enter':\r\n                        event.preventDefault()\r\n                        this.menu.clickActive()\r\n                        break\r\n\r\n                    case 'ArrowDown':\r\n                        event.preventDefault()\r\n                        this.menu.focusItem({ kind: 'FocusNext' })\r\n                        break\r\n\r\n                    case 'ArrowUp':\r\n                        event.preventDefault()\r\n                        this.menu.focusItem({ kind: 'FocusPrevious' })\r\n                        break\r\n\r\n                    case 'Home':\r\n                    case 'PageUp':\r\n                        event.preventDefault()\r\n                        this.menu.focusItem({ kind: 'FocusFirst' })\r\n                        break\r\n\r\n                    case 'End':\r\n                    case 'PageDown':\r\n                        event.preventDefault()\r\n                        this.menu.focusItem({ kind: 'FocusLast' })\r\n                        break\r\n\r\n                    case 'Escape':\r\n                        event.preventDefault()\r\n                        this.menu.toggle()\r\n                        break\r\n\r\n                    case 'Tab':\r\n                        event.preventDefault()\r\n                        break\r\n\r\n                    default:\r\n                        if (event.key.length === 1) {\r\n                            this.menu.search(event.key)\r\n                        }\r\n                }\r\n            }\r\n        )\r\n    }\r\n}","import { CommonModule } from '@angular/common';\r\nimport { MenuButtonDirective } from './menu-button.directive';\r\nimport { NgModule } from '@angular/core';\r\nimport { MenuItemDirective } from './menu-item.directive';\r\nimport { MenuItemsPanelDirective } from './menu-items-panel.directive';\r\nimport { MenuDirective } from './menu.directive';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    MenuButtonDirective,\r\n    MenuItemDirective,\r\n    MenuItemsPanelDirective,\r\n    MenuDirective\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    MenuButtonDirective,\r\n    MenuItemDirective,\r\n    MenuItemsPanelDirective,\r\n    MenuDirective\r\n  ],\r\n})\r\nexport class MenuModule { }","export * from './menu-button.directive';\r\nexport * from './menu-item.directive';\r\nexport * from './menu-items-panel.directive';\r\nexport * from './menu.directive';\r\nexport * from './menu.module';\r\n\r\n//export * from './menu';","import { Directive } from '@angular/core';\r\n\r\ntype StateDefinition = {\r\n  switchRef: HTMLButtonElement | null;\r\n  labelRef: HTMLLabelElement | null;\r\n  descriptionRef: HTMLParagraphElement | null;\r\n}\r\n\r\n@Directive({\r\n  selector: '[ngx-switch-group], [hux-switch-group], [switch-group], [SwitchGroup]',\r\n})\r\nexport class SwitchGroupDirective {\r\n  dataRef: StateDefinition = { switchRef: null, labelRef: null, descriptionRef: null };\r\n\r\n  constructor() { }\r\n}\r\n","import { Directive, ElementRef, forwardRef, HostListener, Inject } from '@angular/core';\r\nimport { generateId } from \"./../core/utils\";\r\n\r\nimport { SwitchGroupDirective } from './switch-group.directive';\r\n\r\n@Directive({\r\n  selector: '[ngx-switch-description], [hux-switch-description], [switch-description], [SwitchDescription]',\r\n  host: {\r\n    '[attr.id]': 'id'\r\n  }\r\n})\r\nexport class SwitchDescriptionDirective {\r\n  id: string = `headlessui-switch-description-${generateId()}`;\r\n\r\n  constructor(@Inject(forwardRef(() => SwitchGroupDirective)) public switchGroup: any, elementRef: ElementRef) {\r\n    this.switchGroup.dataRef.labelRef = elementRef.nativeElement;\r\n    // This settimeout is added to prevent for error like \r\n    // Expression has changed after it was checked\r\n    // for aria-describedby\r\n    setTimeout(() => {\r\n      this.switchGroup.dataRef.descriptionRef = elementRef.nativeElement;\r\n    }, 0);\r\n  }\r\n\r\n  @HostListener('pointerup')\r\n  handlePointerUp(): void {\r\n    this.switchGroup.dataRef.switchRef?.click();\r\n    this.switchGroup.dataRef.switchRef?.focus({ preventScroll: true });\r\n  }\r\n}\r\n","import { Directive, ElementRef, forwardRef, HostListener, Inject } from '@angular/core';\r\nimport { generateId } from \"./../core/utils\";\r\nimport { SwitchGroupDirective } from './switch-group.directive';\r\n\r\n@Directive({\r\n  selector: '[ngx-switch-label], [hux-switch-label], [switch-label], [SwitchLabel]',\r\n  host: {\r\n    '[attr.id]': 'id'\r\n  }\r\n})\r\nexport class SwitchLabelDirective {\r\n  id = `headlessui-switch-label-${generateId()}`;\r\n\r\n  constructor(@Inject(forwardRef(() => SwitchGroupDirective)) public switchGroup: any, elementRef: ElementRef) {\r\n    // This settimeout is added to prevent for error like \r\n    // Expression has changed after it was checked\r\n    // for aria-labelledby\r\n    setTimeout(() => {\r\n      this.switchGroup.dataRef.labelRef = elementRef.nativeElement;\r\n    }, 0);\r\n  }\r\n\r\n  @HostListener('pointerup')\r\n  handlePointerUp(): void {\r\n    this.switchGroup.dataRef.switchRef?.click();\r\n    this.switchGroup.dataRef.switchRef?.focus({ preventScroll: true });\r\n  }\r\n}\r\n","// TODO: This must already exist somewhere, right? 🤔\r\n// Ref: https://www.w3.org/TR/uievents-key/#named-key-attribute-values\r\nexport enum Keys {\r\n    Space = ' ',\r\n    Enter = 'Enter',\r\n    Escape = 'Escape',\r\n    Backspace = 'Backspace',\r\n  \r\n    ArrowUp = 'ArrowUp',\r\n    ArrowDown = 'ArrowDown',\r\n  \r\n    Home = 'Home',\r\n    End = 'End',\r\n  \r\n    PageUp = 'PageUp',\r\n    PageDown = 'PageDown',\r\n  \r\n    Tab = 'Tab',\r\n  };","import { AfterContentInit, Component, ContentChild, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Inject, Output, TemplateRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Keys } from './../core/keyboard';\r\nimport { generateId } from \"./../core/utils\";\r\nimport { SwitchGroupDirective } from './switch-group.directive';\r\n\r\n\r\n@Component({\r\n  selector: 'ngx-switch, hux-switch, switch, [Switch]',\r\n  templateUrl: './switch.component.html',\r\n  host: {\r\n    '[attr.id]': 'id',\r\n    '[attr.role]': '\"switch\"',\r\n    '[attr.tabIndex]': '0',\r\n    '[attr.aria-checked]': 'value',\r\n    //'[attr.aria-labelledby]': 'switchGroup.dataRef.labelRef?.id',\r\n    //'[attr.aria-describedby]': 'switchGroup.dataRef.descriptionRef?.id',\r\n  },\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => SwitchComponent),\r\n      multi: true\r\n    }\r\n  ]\r\n})\r\nexport class SwitchComponent implements ControlValueAccessor, AfterContentInit {\r\n\r\n  id = `headlessui-switch-${generateId()}`;\r\n  value: boolean = false;\r\n\r\n  @ContentChild(TemplateRef)\r\n  templateRef!: TemplateRef<any>;\r\n\r\n  @Output()\r\n  change: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n  propagateChange = (_: any) => { };\r\n\r\n  constructor(@Inject(forwardRef(() => SwitchGroupDirective)) public switchGroup: any, private elementRef: ElementRef) {\r\n    \r\n  }\r\n\r\n  @HostBinding('attr.aria-labelledby')\r\n  public get labelledBy(): string {\r\n    return this.switchGroup.dataRef.labelRef?.id;\r\n  }\r\n\r\n  @HostBinding('attr.aria-describedby')\r\n  public get describedBy(): string {\r\n    return this.switchGroup.dataRef.descriptionRef?.id;\r\n  }\r\n\r\n  public ngAfterContentInit(): void {\r\n    this.switchGroup.dataRef.switchRef = this.elementRef.nativeElement;\r\n  }\r\n\r\n  toggle(): void {\r\n    this.value = !this.value;\r\n    this.change.emit(this.value);\r\n  }\r\n\r\n  @HostListener('click', ['$event'])\r\n  handleClick(event: MouseEvent) {\r\n    event.preventDefault();\r\n    this.toggle();\r\n  }\r\n\r\n  @HostListener('onkeyup', ['$event'])\r\n  handleKeyUp(event: KeyboardEvent) {\r\n    if (event.key !== Keys.Tab) event.preventDefault();\r\n    if (event.key === Keys.Space) this.toggle();\r\n  }\r\n\r\n  @HostListener('onkeydown', ['$event'])\r\n  handleKeyPress(event: KeyboardEvent) {\r\n    event.preventDefault();\r\n  }\r\n\r\n  writeValue(obj: any): void {\r\n    this.value = obj;\r\n  }\r\n\r\n  registerOnChange(fn: any): void {\r\n    this.propagateChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: any): void {\r\n\r\n  }\r\n}\r\n","<ng-template [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletContext]=\"{'checked': value}\"></ng-template>\r\n<ng-content></ng-content>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { SwitchComponent } from './switch.component';\r\nimport { SwitchDescriptionDirective } from './switch-description.directive';\r\nimport { SwitchGroupDirective } from './switch-group.directive';\r\nimport { SwitchLabelDirective } from './switch-label.directive';\r\n\r\n@NgModule({\r\n  declarations: [SwitchComponent, SwitchGroupDirective, SwitchLabelDirective, SwitchDescriptionDirective],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [SwitchComponent, SwitchGroupDirective, SwitchLabelDirective, SwitchDescriptionDirective]\r\n})\r\nexport class SwitchModule { }\r\n","export function disposables() {\r\n    const disposables: Function[] = [];\r\n  \r\n    const api = {\r\n      requestAnimationFrame(...args: Parameters<typeof requestAnimationFrame>) {\r\n        const raf = requestAnimationFrame(...args);\r\n        api.add(() => cancelAnimationFrame(raf));\r\n      },\r\n  \r\n      nextFrame(...args: Parameters<typeof requestAnimationFrame>) {\r\n        api.requestAnimationFrame(() => {\r\n          api.requestAnimationFrame(...args);\r\n        })\r\n      },\r\n  \r\n      setTimeout(...args: Parameters<typeof setTimeout>) {\r\n        const timer = setTimeout(...args);\r\n        api.add(() => clearTimeout(timer));\r\n      },\r\n  \r\n      add(cb: () => void) {\r\n        disposables.push(cb);\r\n      },\r\n  \r\n      dispose() {\r\n        disposables.splice(0).forEach(dispose => dispose());\r\n      },\r\n    }\r\n  \r\n    return api;\r\n  }","export function once<T>(cb: (...args: T[]) => void) {\r\n    const state = { called: false };\r\n  \r\n    return (...args: T[]) => {\r\n      if (state.called) {\r\n        return;\r\n      }\r\n      state.called = true;\r\n      return cb(...args);\r\n    }\r\n  }","import { disposables } from '../../core/disposables';\r\nimport { once } from '../../core/once';\r\n\r\nfunction addClasses(node: HTMLElement, ...classes: string[]) {\r\n  node && classes.length > 0 && node.classList.add(...classes);\r\n}\r\n\r\nfunction removeClasses(node: HTMLElement, ...classes: string[]) {\r\n  node && classes.length > 0 && node.classList.remove(...classes);\r\n}\r\n\r\nexport enum Reason {\r\n  Finished = 'finished',\r\n  Cancelled = 'cancelled',\r\n}\r\n\r\nfunction waitForTransition(node: HTMLElement, done: (reason: Reason) => void) {\r\n  const d = disposables();\r\n\r\n  if (!node) return d.dispose;\r\n\r\n  // Safari returns a comma separated list of values, so let's sort them and take the highest value.\r\n  const { transitionDuration, transitionDelay } = getComputedStyle(node);\r\n\r\n  const [durationMs, delaysMs] = [transitionDuration, transitionDelay].map(value => {\r\n    const [resolvedValue = 0] = value\r\n      .split(',')\r\n      // Remove falseys we can't work with\r\n      .filter(Boolean)\r\n      // Values are returned as `0.3s` or `75ms`\r\n      .map(v => (v.includes('ms') ? parseFloat(v) : parseFloat(v) * 1000))\r\n      .sort((a, z) => z - a);\r\n\r\n    return resolvedValue;\r\n  })\r\n\r\n  // Waiting for the transition to end. We could use the `transitionend` event, however when no\r\n  // actual transition/duration is defined then the `transitionend` event is not fired.\r\n  //\r\n  // TODO: Downside is, when you slow down transitions via devtools this timeout is still using the\r\n  // full 100% speed instead of the 25% or 10%.\r\n  if (durationMs !== 0) {\r\n    d.setTimeout(() => {\r\n      done(Reason.Finished);\r\n    }, durationMs + delaysMs);\r\n  } else {\r\n    // No transition is happening, so we should cleanup already. Otherwise we have to wait until we\r\n    // get disposed.\r\n    done(Reason.Finished);\r\n  }\r\n\r\n  // If we get disposed before the timeout runs we should cleanup anyway\r\n  d.add(() => done(Reason.Cancelled));\r\n\r\n  return d.dispose;\r\n}\r\n\r\nexport function transition(\r\n  node: HTMLElement,\r\n  base: string[],\r\n  from: string[],\r\n  to: string[],\r\n  done?: (reason: Reason) => void\r\n) {\r\n  const d = disposables()\r\n  const _done = done !== undefined ? once(done) : () => { };\r\n\r\n  addClasses(node, ...base, ...from);\r\n\r\n  d.nextFrame(() => {\r\n    removeClasses(node, ...from);\r\n    addClasses(node, ...to);\r\n\r\n    d.add(\r\n      waitForTransition(node, reason => {\r\n        removeClasses(node, ...to, ...base);\r\n        return _done(reason);\r\n      })\r\n    )\r\n  })\r\n\r\n  // Once we get disposed, we should ensure that we cleanup after ourselves. In case of an unmount,\r\n  // the node itself will be nullified and will be a no-op. In case of a full transition the classes\r\n  // are already removed which is also a no-op. However if you go from enter -> leave mid-transition\r\n  // then we have some leftovers that should be cleaned.\r\n  d.add(() => removeClasses(node, ...base, ...from, ...to));\r\n\r\n  // When we get disposed early, than we should also call the done method but switch the reason.\r\n  d.add(() => _done(Reason.Cancelled));\r\n\r\n  return d.dispose;\r\n}","import {\r\n  Component,\r\n  ContentChildren,\r\n  EventEmitter,\r\n  HostBinding,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  QueryList,\r\n  ViewChild,\r\n  ViewContainerRef\r\n} from '@angular/core';\r\nimport { Reason, transition } from './utils/transitions';\r\nimport { first, skip } from 'rxjs/operators';\r\n\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Component({\r\n  selector: '[hux-transition], [transition], transition, hux-transition',\r\n  templateUrl: './transition.component.html'\r\n})\r\nexport class TransitionComponent implements OnInit {\r\n  @ContentChildren(TransitionComponent, { descendants: true })\r\n  _children: QueryList<TransitionComponent> = new QueryList<TransitionComponent>();\r\n\r\n  @ViewChild('transitionContainer', { read: ViewContainerRef, static: true })\r\n  _viewContainer!: ViewContainerRef | any;\r\n\r\n  /**\r\n   * Whether to show or not the contents of ngx-transition\r\n   */\r\n  @Input()\r\n  set show(value: boolean) {\r\n    if (this.isOnPushChangeDetectionStrategy && value) {\r\n      this._init = false;\r\n    }\r\n\r\n    this._show.next(value);\r\n  }\r\n\r\n  get show(): boolean {\r\n    return this._show.value;\r\n  }\r\n\r\n  _show: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n\r\n  /**\r\n   * Classes to be applied on the element when showing\r\n   */\r\n  @Input()\r\n  enter: string = '';\r\n  @Input()\r\n  enterFrom: string = '';\r\n  @Input()\r\n  enterTo: string = '';\r\n\r\n  /**\r\n   * Classes to be applied on the element when leaving\r\n   */\r\n  @Input()\r\n  leave: string = '';\r\n  @Input()\r\n  leaveFrom: string = '';\r\n  @Input()\r\n  leaveTo: string = '';\r\n\r\n  @Output()\r\n  beforeEnter: EventEmitter<any> = new EventEmitter();\r\n\r\n  @Output()\r\n  afterEnter: EventEmitter<any> = new EventEmitter();\r\n\r\n  @Output()\r\n  beforeLeave: EventEmitter<any> = new EventEmitter();\r\n\r\n  @Output()\r\n  afterLeave: EventEmitter<any> = new EventEmitter();\r\n\r\n  closed: boolean = true;\r\n\r\n  private _elementRef!: HTMLElement;\r\n  private _init: boolean = true;\r\n\r\n  /**\r\n   * This should be true if the animation is used in component which has Change Detection Strategy `(changeDetection)` to `OnPush`\r\n   * \r\n   * `changeDetection: ChangeDetectionStrategy.OnPush`\r\n   *\r\n   * @type {boolean}\r\n   * @memberof TransitionComponent\r\n   */\r\n  @Input()\r\n  isOnPushChangeDetectionStrategy: boolean = false;\r\n\r\n  constructor() {\r\n  }\r\n\r\n  @HostBinding('style.display')\r\n  get getDisplay(): string {\r\n    return this._init ? 'none' : '';\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.closed = !this.show;\r\n\r\n    if (this.closed) {\r\n      this._init = true;\r\n      if (this.closed) {\r\n        this.closed = false;\r\n        setTimeout(() => {\r\n          this._elementRef = this._getElement();\r\n          this.closed = true;\r\n        });\r\n      }\r\n    } else {\r\n      setTimeout(() => {\r\n        this._elementRef = this._getElement();\r\n        this._updateView();\r\n      });\r\n    }\r\n\r\n    this._show.pipe(skip(1)).subscribe(() => {\r\n      this._updateView();\r\n    });\r\n  }\r\n\r\n  private async _updateView(): Promise<any> {\r\n    if (this.show) {\r\n      this.closed = false;\r\n      this._transitionEnter();\r\n    } else {\r\n      if (this._children.length > 0) {\r\n        let childrenFinished: BehaviorSubject<number> = new BehaviorSubject<number>(0);\r\n\r\n        for (let child of this._children.toArray().reverse()) {\r\n          child.afterLeave.pipe(first()).subscribe(() => {\r\n            childrenFinished.pipe(first()).subscribe((value) => {\r\n              childrenFinished.next(++value);\r\n            });\r\n          });\r\n          child.show = false;\r\n        }\r\n\r\n        childrenFinished.subscribe((value) => {\r\n          if (value === this._children.length)\r\n            this._transitionLeave();\r\n        });\r\n      } else {\r\n        this._transitionLeave();\r\n      }\r\n    }\r\n  }\r\n\r\n  private _getElement(): HTMLElement {\r\n    if (!this._elementRef) {\r\n      this._elementRef = this._viewContainer.get(0).rootNodes.find((element: HTMLElement) => element.tagName);\r\n      this._init = false;\r\n    }\r\n    return this._elementRef;\r\n  }\r\n\r\n  private _transitionEnter(): void {\r\n    this.beforeEnter.emit();\r\n    transition(this._getElement(), this._useSplitClasses(this.enter), this._useSplitClasses(this.enterFrom), this._useSplitClasses(this.enterTo), (reason: Reason) => {\r\n      this.afterEnter.emit();\r\n\r\n      if (this._children.length > 0) {\r\n        this._children.forEach((child: TransitionComponent) => {\r\n          child.show = true;\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  private _transitionLeave(): void {\r\n    this.beforeLeave.emit();\r\n    transition(this._getElement(), this._useSplitClasses(this.leave), this._useSplitClasses(this.leaveFrom), this._useSplitClasses(this.leaveTo), (reason: Reason) => {\r\n      this.afterLeave.emit();\r\n      this.closed = true;\r\n    });\r\n  }\r\n\r\n  private _useSplitClasses(classes: string = ''): string[] {\r\n    return classes.split(' ').filter(className => className.trim().length > 1);\r\n  }\r\n}\r\n","<ng-template #transitionTemplate>\r\n    <ng-content></ng-content>\r\n </ng-template>\r\n \r\n <ng-container #transitionContainer [ngTemplateOutlet]=\"closed ? null : transitionTemplate\"></ng-container>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TransitionComponent } from '../transition/transition.component';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    TransitionComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [TransitionComponent]\r\n})\r\nexport class TransitionModule { }\r\n","import { InjectionToken } from \"@angular/core\";\r\nimport { CancelableEventArgs, IBaseEventArgs } from '../core/utils';\r\n\r\nexport interface HuxPopoverBase {\r\n    id: string;\r\n    //cssClass: string;\r\n    /** @hidden @internal */\r\n    headerId: string;\r\n    show: boolean;\r\n    toggle(evt?: Event): any;\r\n}\r\n\r\n/** @hidden */\r\nexport const HUX_POPOVER_COMPONENT = new InjectionToken<HuxPopoverBase>('HuxPopoverToken');\r\n\r\nexport interface IPopoverEventArgs extends IBaseEventArgs {\r\n    event: Event;\r\n}\r\n\r\nexport interface IPopoverCancelableEventArgs extends IPopoverEventArgs, CancelableEventArgs { }","import { Component, Host, HostBinding, HostListener, Inject, Input, OnInit } from '@angular/core';\r\nimport { HuxPopoverBase, HUX_POPOVER_COMPONENT, IPopoverCancelableEventArgs } from '../popover.common';\r\n\r\n@Component({\r\n  selector: 'hux-popover-button',\r\n  templateUrl: './popover-button.component.html'\r\n})\r\nexport class PopoverButtonComponent {\r\n  public id = '';\r\n  // public tabIndex = 0;\r\n  private _disabled = false;\r\n\r\n  @HostBinding('attr.aria-level')\r\n  @Input()\r\n  public lv = '3';\r\n\r\n  @HostBinding('attr.role')\r\n  @Input()\r\n  public role = 'heading';\r\n\r\n  public get controls(): string {\r\n    return this.panel.id;\r\n  }\r\n\r\n  public get isExpanded() {\r\n    return this.panel.show;\r\n  }\r\n\r\n  @Input()\r\n  //@HostBinding('class.igx-expansion-panel--disabled')\r\n  public get disabled(): boolean {\r\n    return this._disabled;\r\n  };\r\n\r\n  public set disabled(val: boolean) {\r\n    this._disabled = val;\r\n    /* if (val) {\r\n      delete this.tabIndex;\r\n    } else {\r\n      this.tabIndex = 0;\r\n    } */\r\n  };\r\n\r\n  constructor(@Host() @Inject(HUX_POPOVER_COMPONENT) public panel: HuxPopoverBase) {\r\n    this.id = `${this.panel.id}-button`;\r\n  }\r\n\r\n  @HostListener('keydown.Enter', ['$event'])\r\n  @HostListener('keydown.Space', ['$event'])\r\n  @HostListener('keydown.Spacebar', ['$event'])\r\n  @HostListener('click', ['$event'])\r\n  public onAction(evt?: Event) {\r\n    if (this.disabled) {\r\n      evt.stopPropagation();\r\n      return;\r\n    }\r\n    const eventArgs: IPopoverCancelableEventArgs = { event: evt, owner: this.panel, cancel: false };\r\n    //this.interaction.emit(eventArgs);\r\n    if (eventArgs.cancel === true) {\r\n      return;\r\n    }\r\n    this.panel.toggle(evt);\r\n    evt.preventDefault();\r\n  }\r\n\r\n}\r\n","<!-- Item active: \"text-gray-900\", Item inactive: \"text-gray-500\" -->\r\n<div type=\"button\" role=\"button\" [attr.id]=\"id\"\r\n[attr.aria-expanded]=\"isExpanded\" [attr.aria-controls]=\"controls\" style=\"outline: none;\" >\r\n    <ng-content></ng-content>\r\n</div>\r\n","import {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  HostBinding,\r\n  Inject,\r\n  Input,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { HuxPopoverBase, HUX_POPOVER_COMPONENT } from '../popover.common';\r\n\r\n@Component({\r\n  selector: 'hux-popover-panel',\r\n  templateUrl: './popover-panel.component.html',\r\n})\r\nexport class PopoverPanelComponent {\r\n  @ViewChild('popoverPanel') popoverPanel: ElementRef;\r\n  /**\r\n   * Gets/sets the `role` attribute of the panel body\r\n   * Default is 'region';\r\n   * Get\r\n   * ```typescript\r\n   *  const currentRole = this.panel.body.role;\r\n   * ```\r\n   * Set\r\n   * ```typescript\r\n   *  this.panel.body.role = 'content';\r\n   * ```\r\n   * ```html\r\n   *  <hux-popover-panel [role]=\"'custom'\"></hux-popover-panel>\r\n   * ```\r\n   */\r\n  @Input()\r\n  @HostBinding('attr.role')\r\n  public role = 'region';\r\n\r\n  private _labelledBy = '';\r\n  private _label = '';\r\n  private _cssClass = '';\r\n  constructor(\r\n    @Inject(HUX_POPOVER_COMPONENT) public panel: HuxPopoverBase,\r\n    public element: ElementRef,\r\n    public cdr: ChangeDetectorRef,\r\n  ) {}\r\n\r\n  ngOnDestroy(): void {\r\n    // this.popoverService.obShowPopoverPanel.unsubscribe();\r\n    // this.popoverService.obPopoverPanelCss.unsubscribe();\r\n  }\r\n\r\n  /**\r\n   * Gets the `aria-label` attribute of the panel body\r\n   * Defaults to the panel id with '-region' in the end;\r\n   * Get\r\n   * ```typescript\r\n   *  const currentLabel = this.panel.body.label;\r\n   * ```\r\n   */\r\n  @Input()\r\n  @HostBinding('attr.aria-label')\r\n  public get label(): string {\r\n    return this._label || this.panel.id + '-region';\r\n  }\r\n  /**\r\n   * Sets the `aria-label` attribute of the panel body\r\n   * ```typescript\r\n   *  this.panel.body.label = 'my-custom-label';\r\n   * ```\r\n   * ```html\r\n   *  <hux-popover-panel [label]=\"'my-custom-label'\"></hux-popover-panel>\r\n   * ```\r\n   */\r\n  public set label(val: string) {\r\n    this._label = val;\r\n  }\r\n\r\n  /**\r\n   * Gets the `aria-labelledby` attribute of the panel body\r\n   * Defaults to the panel header id;\r\n   * Get\r\n   * ```typescript\r\n   *  const currentLabel = this.panel.body.labelledBy;\r\n   * ```\r\n   */\r\n  @Input()\r\n  @HostBinding('attr.aria-labelledby')\r\n  public get labelledBy(): string {\r\n    return this._labelledBy;\r\n  }\r\n  /**\r\n   * Sets the `aria-labelledby` attribute of the panel body\r\n   * ```typescript\r\n   *  this.panel.body.labelledBy = 'my-custom-id';\r\n   * ```\r\n   * ```html\r\n   *  <hux-popover-panel [labelledBy]=\"'my-custom-id'\"></hux-popover-panel>\r\n   * ```\r\n   */\r\n  public set labelledBy(val: string) {\r\n    this._labelledBy = val;\r\n  }\r\n\r\n  //  @HostListener('keydown.Escape', ['$event'])\r\n  //  public onAction(evt?: Event) {\r\n  //    this.panel.toggle(evt);\r\n  //  }\r\n\r\n  // @HostListener('document:click', ['$event'])\r\n  // clickout = (event: any): void => {\r\n  //   if (this.element.nativeElement.contains(event.target)) {\r\n  //     //this.text = \"clicked inside\";\r\n  //   } else {\r\n  //     this.panel.toggle(event);\r\n  //   }\r\n  // }\r\n\r\n  // @HostListener('document:keydown', ['$event']) onKeydownHandler(event: KeyboardEvent) {\r\n  //   if (event.key === \"Escape\") {\r\n  //     this.panel.toggle(event);\r\n  //   }\r\n  // }\r\n}\r\n","<!-- Flyout menu, show/hide based on flyout menu state.\r\nEntering: \"transition ease-out duration-200\"\r\nFrom: \"opacity-0 translate-y-1\"\r\nTo: \"opacity-100 translate-y-0\"\r\nLeaving: \"transition ease-in duration-150\"\r\nFrom: \"opacity-100 translate-y-0\"\r\nTo: \"opacity-0 translate-y-1\" -->\r\n<div class=\"hux-popover-picker\">\r\n  <ng-content></ng-content>\r\n</div>\r\n","import { AfterContentInit, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\r\nimport { PopoverButtonComponent } from './popover-button/popover-button.component';\r\nimport { PopoverPanelComponent } from './popover-panel/popover-panel.component';\r\nimport { HuxPopoverBase, HUX_POPOVER_COMPONENT } from './popover.common';\r\n\r\nlet NEXT_ID = 0;\r\n\r\n@Component({\r\n  selector: 'hux-popover',\r\n  templateUrl: './popover.component.html',\r\n  providers: [{ provide: HUX_POPOVER_COMPONENT, useExisting: PopoverComponent }]\r\n})\r\nexport class PopoverComponent implements HuxPopoverBase, AfterContentInit {\r\n  private _showPopover: boolean = false;\r\n\r\n  @ContentChild(PopoverButtonComponent, { read: PopoverButtonComponent })\r\n  public header: PopoverButtonComponent;\r\n\r\n  @ContentChild(PopoverPanelComponent, { read: PopoverPanelComponent })\r\n  public body: PopoverPanelComponent;\r\n\r\n  @HostBinding('attr.id')\r\n  @Input()\r\n  public id = `hux-popover-${NEXT_ID++}`;\r\n\r\n  /**\r\n   * Gets the value of `(True | False)` for popover.\r\n   *\r\n   * Gets the `aria-expanded` attribute of the panel body\r\n   *\r\n   * @readonly\r\n   * @type {boolean}\r\n   * @memberof PopoverComponent\r\n   */\r\n  @HostBinding('attr.aria-expanded')\r\n  @Input()\r\n  public get show(): boolean {\r\n    return this._showPopover;\r\n  }\r\n\r\n  /**\r\n   * Sets the value of popover.\r\n   * `True` to show Popover, `False` to hide Popover\r\n   *\r\n   * @memberof PopoverComponent\r\n   */\r\n  public set show(value) {\r\n    this._showPopover = value;\r\n  }\r\n\r\n  public get headerId() {\r\n    return this.header ? `${this.id}-header` : '';\r\n  }\r\n  @Input()\r\n  public appendTo: string = '';\r\n\r\n  private _select: HTMLElement;\r\n  private _parent: HTMLElement;\r\n\r\n  @Output()\r\n  public onPopoverHide: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n  constructor(private cdr: ChangeDetectorRef, public element: ElementRef) { }\r\n\r\n  public ngAfterContentInit(): void {\r\n    if (this.body && this.header) {\r\n      Promise.resolve().then(() => {\r\n        this.body.labelledBy = this.body.labelledBy || this.headerId;\r\n        this.body.label = this.body.label || this.id + '-region';\r\n      });\r\n    }\r\n  }\r\n\r\n  public ngOnDestroy(): void {\r\n    this.hidePopover();\r\n  }\r\n\r\n  /**\r\n   * appends popover panel to the hmtl body\r\n   * and sets parent based on appendTo value\r\n   *\r\n   * @private\r\n   * @memberof PopoverComponent\r\n   */\r\n  private _appendDropdown = (): void => {\r\n    if (!this.appendTo) {\r\n      let popoverBtn = this.getPopoverPanel().popoverBtn\r\n      if (popoverBtn) {\r\n        this._parent = popoverBtn;\r\n        this._handleDropdownPosition();\r\n      }\r\n      return;\r\n    }\r\n    this._parent = document.querySelector(this.appendTo);\r\n    if (!this._parent) {\r\n      throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);\r\n    }\r\n    this._handleDropdownPosition();\r\n    this._parent.appendChild(this._select);\r\n  }\r\n\r\n  /**\r\n   * Updates position from left of the panel\r\n   * invoked only if panel is appended to the body\r\n   *\r\n   * @private\r\n   * @memberof PopoverComponent\r\n   */\r\n  private _updateXPosition = () => {\r\n    if (this._select && this._parent) {\r\n      const select = this._select.getBoundingClientRect();\r\n      const parent = this._parent.getBoundingClientRect();\r\n      this.defaultPanelLeft = this._select.style.left;\r\n      const offsetLeft = select.left - parent.left;\r\n\r\n      this._select.style.left = offsetLeft + 'px';\r\n      // this._select.style.width = select.width + 'px';\r\n      // this._select.style.minWidth = select.width + 'px';\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Updates position from top & bottom of panel based on viewport\r\n   *\r\n   * @private\r\n   * @memberof PopoverComponent\r\n   */\r\n  private _updateYPosition = (): void => {\r\n    if (this._select && this._parent) {\r\n      const select = this._select.getBoundingClientRect();\r\n      const parent = this._parent.getBoundingClientRect();\r\n      //const delta = select.height;\r\n      this.defaultPanelBottom = this._select.style.bottom;\r\n      this.defaultPanelTop = this._select.style.top;\r\n\r\n      const isInViewport =\r\n        select.top <= 720 &&\r\n        select.left >= 0 &&\r\n        select.bottom <=\r\n        (window.innerHeight || document.documentElement.clientHeight) &&\r\n        select.right <=\r\n        (window.innerWidth || document.documentElement.clientWidth);\r\n\r\n      let delta = 0;\r\n      if (this.appendTo) {\r\n        const offsetTop = select.top - parent.top;\r\n        this._select.style.top = offsetTop + 'px'; //+ delta + 'px';\r\n        this._select.style.bottom = 'auto';\r\n        delta = select.height + (this.getPopoverPanel().popoverBtn.getBoundingClientRect().height + 5);\r\n      } else {\r\n        delta = select.height + (select.height / 2) + parent.height;\r\n      }\r\n\r\n      if (!isInViewport) {\r\n        let offsetBottom = parent.bottom - select.bottom;\r\n        // delta value added\r\n        delta = select.height + (this.getPopoverPanel().popoverBtn.getBoundingClientRect().height + 15);\r\n        this._select.style.bottom = offsetBottom + delta + 'px';\r\n        this._select.style.top = 'auto';\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * handles invocation of X & Y positioning based on appendTo condition\r\n   *\r\n   * @private\r\n   * @memberof PopoverComponent\r\n   */\r\n  private _handleDropdownPosition = (): void => {\r\n    if (this.appendTo) {\r\n      this._updateXPosition();\r\n    }\r\n    this._updateYPosition();\r\n  }\r\n\r\n  /**\r\n   * hides popover panel\r\n   *\r\n   * @param {Event} [evt]\r\n   * @return {*}\r\n   * @memberof PopoverComponent\r\n   */\r\n  public hidePopover(evt?: Event) {\r\n    if (!this.show) { // If the popover is already hidden, do nothing\r\n      return;\r\n    }\r\n    const args = { event: evt, panel: this, owner: this, cancel: false };\r\n    if (args.cancel === true) {\r\n      return;\r\n    }\r\n    this._updatePositionOnHide();\r\n    this.show = false;\r\n\r\n    this.onPopoverHide.emit(true);\r\n\r\n    this.cdr.markForCheck();\r\n    // this.cdr.detectChanges();\r\n  }\r\n\r\n  /**\r\n   * show popover panel\r\n   *\r\n   * @param {Event} [evt]\r\n   * @return {*}\r\n   * @memberof PopoverComponent\r\n   */\r\n  public showPopover(evt?: Event) {\r\n    if (this.show) { // If the popover is already opened, do nothing\r\n      return;\r\n    }\r\n    const args = { event: evt, panel: this, owner: this, cancel: false };\r\n    if (args.cancel === true) {\r\n      return;\r\n    }\r\n    this.show = true;\r\n    setTimeout(() => {\r\n      this._select = this.getPopoverPanel().panel;\r\n      this._appendDropdown();\r\n\r\n      this.cdr.detectChanges();\r\n    }, 10);\r\n    // this.cdr.markForCheck();\r\n  }\r\n\r\n  defaultPanelBottom: any;\r\n  defaultPanelTop: any;\r\n  defaultPanelLeft: any;\r\n\r\n  getPopoverPanel() {\r\n    let panel: any;\r\n    let popoverBtn: any;\r\n    if (\r\n      this.element &&\r\n      this.element.nativeElement &&\r\n      this.element.nativeElement.children &&\r\n      this.element.nativeElement.children[0].children\r\n    ) {\r\n      const q = document.getElementById(this.id);\r\n\r\n      if (q && q.children[q.childElementCount - 2] && q.children[q.childElementCount - 1]) {\r\n        if (q.children[0].tagName === 'HUX-POPOVER-BUTTON') {\r\n          popoverBtn = q.children[0];\r\n        }\r\n        if (q.children[1].tagName === 'HUX-POPOVER-PANEL') {\r\n          if (q.querySelector('.hux-popover-picker').children[0].tagName === 'HUX-TRANSITION') {\r\n            if (q.querySelector('.hux-popover-picker').children[0] && q.querySelector('.hux-popover-picker').children[0].children[0]) {\r\n              if (q.querySelector('.hux-popover-picker').children[0].children[0].tagName === 'DIV') {\r\n                panel = q.querySelector('.hux-popover-picker').children[0].children[0];\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n    return { panel, popoverBtn };\r\n  }\r\n\r\n  /**\r\n   * sets popover panel default position\r\n   *\r\n   * @private\r\n   * @memberof PopoverComponent\r\n   */\r\n  private _updatePositionOnHide() {\r\n    if (this._select) {\r\n      this._select.style.bottom = this.defaultPanelBottom;\r\n      this._select.style.top = this.defaultPanelTop;\r\n      this._select.style.left = this.defaultPanelLeft;\r\n    }\r\n  }\r\n\r\n  public toggle(evt?: Event) {\r\n    if (!this.show) {\r\n      this.open(evt);\r\n    } else {\r\n      this.close(evt);\r\n    }\r\n  }\r\n\r\n  public open(evt?: Event) {\r\n    this.showPopover(evt);\r\n  }\r\n\r\n  public close(evt?: Event) {\r\n    this.hidePopover(evt);\r\n  }\r\n\r\n  @HostListener('document:click', ['$event'])\r\n  clickout = (event: any): void => {\r\n    if (this.element.nativeElement.contains(event.target)) {\r\n      //this.text = \"clicked inside\";\r\n    } else {\r\n      this.close(event);\r\n    }\r\n  }\r\n\r\n  @HostListener('keydown.esc', ['$event'])\r\n  onKeyDown(event: KeyboardEvent): void {\r\n    event.preventDefault();\r\n    event.stopPropagation();\r\n    this.close(event);\r\n  }\r\n}\r\n","<ng-content select=\"hux-popover-button\"></ng-content>\r\n<ng-content *ngIf=\"show\" select=\"hux-popover-panel\"></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PopoverComponent } from '../popover/popover.component';\r\nimport { PopoverButtonComponent } from './popover-button/popover-button.component';\r\nimport { PopoverPanelComponent } from './popover-panel/popover-panel.component';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    PopoverComponent,\r\n    PopoverButtonComponent,\r\n    PopoverPanelComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    PopoverComponent,\r\n    PopoverButtonComponent,\r\n    PopoverPanelComponent\r\n  ]\r\n})\r\nexport class PopoverModule { }\r\n","/*\r\n * Public API Surface of ngx-headlessui\r\n */\r\n\r\nexport * from './lib/disclosure';\r\nexport * from './lib/menu';\r\nexport * from './lib/switch';\r\nexport * from './lib/transition';\r\nexport * from './lib/popover';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NEXT_ID","i1.MenuDirective"],"mappings":"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"}