{"version":3,"file":"dropdown.d.ts","sources":["dropdown.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA","sourcesContent":["import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, AfterContentInit, OnDestroy, QueryList, Renderer2, SimpleChanges } from '@angular/core';\r\nimport { Placement, PlacementArray } from '../util/positioning';\r\nimport { NgbDropdownConfig } from './dropdown-config';\r\nexport declare class NgbNavbar {\r\n}\r\n/**\r\n * A directive you should put put on a dropdown item to enable keyboard navigation.\r\n * Arrow keys will move focus between items marked with this directive.\r\n *\r\n * @since 4.1.0\r\n */\r\nexport declare class NgbDropdownItem {\r\n    elementRef: ElementRef<HTMLElement>;\r\n    private _disabled;\r\n    set disabled(value: boolean);\r\n    get disabled(): boolean;\r\n    constructor(elementRef: ElementRef<HTMLElement>);\r\n}\r\n/**\r\n * A directive that wraps dropdown menu content and dropdown items.\r\n */\r\nexport declare class NgbDropdownMenu {\r\n    dropdown: any;\r\n    placement: Placement;\r\n    isOpen: boolean;\r\n    menuItems: QueryList<NgbDropdownItem>;\r\n    constructor(dropdown: any);\r\n}\r\n/**\r\n * A directive to mark an element to which dropdown menu will be anchored.\r\n *\r\n * This is a simple version of the `NgbDropdownToggle` directive.\r\n * It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support\r\n * for events other than click.\r\n *\r\n * @since 1.1.0\r\n */\r\nexport declare class NgbDropdownAnchor {\r\n    dropdown: any;\r\n    private _elementRef;\r\n    anchorEl: any;\r\n    constructor(dropdown: any, _elementRef: ElementRef<HTMLElement>);\r\n    getNativeElement(): HTMLElement;\r\n}\r\n/**\r\n * A directive to mark an element that will toggle dropdown via the `click` event.\r\n *\r\n * You can also use `NgbDropdownAnchor` as an alternative.\r\n */\r\nexport declare class NgbDropdownToggle extends NgbDropdownAnchor {\r\n    constructor(dropdown: any, elementRef: ElementRef<HTMLElement>);\r\n}\r\n/**\r\n * A directive that provides contextual overlays for displaying lists of links and more.\r\n */\r\nexport declare class NgbDropdown implements AfterContentInit, OnDestroy {\r\n    private _changeDetector;\r\n    private _document;\r\n    private _ngZone;\r\n    private _elementRef;\r\n    private _renderer;\r\n    private _closed$;\r\n    private _zoneSubscription;\r\n    private _bodyContainer;\r\n    private _menu;\r\n    private _menuElement;\r\n    private _anchor;\r\n    /**\r\n     * Indicates whether the dropdown should be closed when clicking one of dropdown items or pressing ESC.\r\n     *\r\n     * * `true` - the dropdown will close on both outside and inside (menu) clicks.\r\n     * * `false` - the dropdown can only be closed manually via `close()` or `toggle()` methods.\r\n     * * `\"inside\"` - the dropdown will close on inside menu clicks, but not outside clicks.\r\n     * * `\"outside\"` - the dropdown will close only on the outside clicks and not on menu clicks.\r\n     */\r\n    autoClose: boolean | 'outside' | 'inside';\r\n    /**\r\n     * Defines whether or not the dropdown menu is opened initially.\r\n     */\r\n    _open: boolean;\r\n    /**\r\n     * The preferred placement of the dropdown.\r\n     *\r\n     * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\r\n     * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\r\n     * `\"right-bottom\"`\r\n     *\r\n     * Accepts an array of strings or a string with space separated possible values.\r\n     *\r\n     * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\r\n     *\r\n     * Please see the [positioning overview](#/positioning) for more details.\r\n     */\r\n    placement: PlacementArray;\r\n    /**\r\n    * A selector specifying the element the dropdown should be appended to.\r\n    * Currently only supports \"body\".\r\n    *\r\n    * @since 4.1.0\r\n    */\r\n    container: null | 'body';\r\n    /**\r\n     * Enable or disable the dynamic positioning. The default value is dynamic unless the dropdown is used\r\n     * inside a Bootstrap navbar. If you need custom placement for a dropdown in a navbar, set it to\r\n     * dynamic explicitly. See the [positioning of dropdown](#/positioning#dropdown)\r\n     * and the [navbar demo](/#/components/dropdown/examples#navbar) for more details.\r\n     *\r\n     * @since 4.2.0\r\n     */\r\n    display: 'dynamic' | 'static';\r\n    /**\r\n     * An event fired when the dropdown is opened or closed.\r\n     *\r\n     * The event payload is a `boolean`:\r\n     * * `true` - the dropdown was opened\r\n     * * `false` - the dropdown was closed\r\n     */\r\n    openChange: EventEmitter<boolean>;\r\n    constructor(_changeDetector: ChangeDetectorRef, config: NgbDropdownConfig, _document: any, _ngZone: NgZone, _elementRef: ElementRef<HTMLElement>, _renderer: Renderer2, ngbNavbar: NgbNavbar);\r\n    ngAfterContentInit(): void;\r\n    ngOnChanges(changes: SimpleChanges): void;\r\n    /**\r\n     * Checks if the dropdown menu is open.\r\n     */\r\n    isOpen(): boolean;\r\n    /**\r\n     * Opens the dropdown menu.\r\n     */\r\n    open(): void;\r\n    private _setCloseHandlers;\r\n    /**\r\n     * Closes the dropdown menu.\r\n     */\r\n    close(): void;\r\n    /**\r\n     * Toggles the dropdown menu.\r\n     */\r\n    toggle(): void;\r\n    ngOnDestroy(): void;\r\n    onKeyDown(event: KeyboardEvent): void;\r\n    private _isDropup;\r\n    private _isEventFromToggle;\r\n    private _getMenuElements;\r\n    private _positionMenu;\r\n    private _getFirstPlacement;\r\n    private _resetContainer;\r\n    private _applyContainer;\r\n    private _applyPlacementClasses;\r\n}\r\n"]}