UNPKG

@funidata/ngx-fudis

Version:

Funidata Design System.

64 lines (63 loc) 2.51 kB
import { OnDestroy, OnInit } from '@angular/core'; import { FudisIdService } from '../../services/id/id.service'; import { DropdownBaseDirective } from '../../directives/form/dropdown-base/dropdown-base.directive'; import { ButtonComponent } from '../button/button.component'; import { FudisInputSize } from '../../types/forms'; import { FudisDropdownMenuAlign } from '../../types/miscellaneous'; import { DropdownEventService } from '../../services/dropdown/dropdown-event.service'; import * as i0 from "@angular/core"; export declare class DropdownMenuComponent extends DropdownBaseDirective implements OnInit, OnDestroy { private _idService; private _dropdownEventService; private _document; private _parentButton; constructor(_idService: FudisIdService, _dropdownEventService: DropdownEventService, _document: Document, _parentButton: ButtonComponent); /** * Template reference for the Dropdown Menu wrapper element */ private _dropdownMenuElement; /** * Align Dropdown Menu opening position */ align: FudisDropdownMenuAlign; /** * Dropdown Menu size */ size: FudisInputSize; /** * Determine dropdown max-width */ protected _maxWidth: string; /** * Currently focused option */ private _focusedOption; /** * Subscription for dropdown width calculation event */ private _subscription; /** * Add or remove currently focused option. Called from DropdownMenuItem. */ setFocusedOption(id: string, type: 'add' | 'remove', event?: FocusEvent): void; /** * Check if focus is inside the Dropdown Menu component * * @param event Focus event * @returns Boolean */ private _componentFocused; closeDropdownMenu(): void; /** * Host Listener for dropdown's width, it needs to be wider than its Button parent */ private _getMaxWidth; /** * Host Listener for keydown events, especially Arrow Down and Escape from Dropdown Menu */ private _handleDropdownMenuKeyDown; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<DropdownMenuComponent, [null, null, null, { host: true; }]>; static ɵcmp: i0.ɵɵComponentDeclaration<DropdownMenuComponent, "fudis-dropdown-menu", never, { "align": { "alias": "align"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, ["fudis-dropdown-menu-item", "fudis-dropdown-menu-group"], false, never>; }