import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core'; import { Subscription } from 'rxjs'; import { IconDefinition } from '@fortawesome/free-solid-svg-icons'; import { ToolbarOptionComponent } from '../toolbar-option/toolbar-option.component'; import { Loggable } from '../../Loggable'; import * as i0 from "@angular/core"; export declare class ToolbarSelectComponent extends Loggable implements OnDestroy, AfterContentInit { private elementRef; readonly name = "ToolbarSelectComponent"; /** * Font Awesome 5 icon to use for the dropdown arrow. */ readonly faAngleDown: IconDefinition; /** * A QueryList of the ToolbarOptionComponents that populate the options. */ readonly options: QueryList; /** * Used to apply classes to the host element */ readonly isInitialized = true; /** * Tab Index to enable keyboard navigation */ readonly tabIndex = 0; /** * Boolean state of the dropdown menu. open = true; closed = false */ isOpen: boolean; /** * Controls the presentation of the dropdown. When fullWidth is true, * the dropdown is left aligned and the width of the dropdown label. */ fullWidth: boolean; /** * Boolean. True when the component has focus, otherwise false. */ hasFocus: boolean; /** * Allows the control to be disabled. */ disabled: boolean; /** * The index of the currently-highlighted option */ highlightedIndex: number; /** * Label for the input, shown to the left of the current value. */ label: string; /** * The index of the currently-selected option. */ selectedIndex: number; /** * Array of subscriptions created during the life of the component. */ private _subscriptions; /** * The current value of the component. */ private _value; get value(): any; set value(value: any); valueChange: EventEmitter; /** * Constructs a new ToolbarSelectComponent. * @param elementRef Reference to the component's host element. */ constructor(elementRef: ElementRef); /** * Manages rxjs subscriptions so that the component doesn't leak memory. * @param subscription Subscription to add to tracking array. */ addSubscription(subscription: Subscription): this; /** * Initializes the subscriptions for hover and clicks from ToolbarOptionComponent children. */ ngAfterContentInit(): void; /** * Safely closes subscriptions when the component is destroyed. */ ngOnDestroy(): void; /** * Finds the index of a value within the options ToolbarOptionComponent array. * @param value Value to find in the options. */ getIndexByValue(value: any): number; /** * Highlights an option by its position in the `option` array. * @param highlightIndex The index of the option to highlight on screen. * @param scrollToHighlightedOption Boolean, if the option should be scrolled to on highlight. */ highlightOptionByIndex(highlightIndex: number, scrollToHighlightedOption?: boolean): void; /** * Toggles the dropdown being open or closed. */ toggleOpen(): void; /** * Opens the dropdown. */ private open; /** * Closes the dropdown */ private close; /** * Called when the component gets focus. Used to make keyboard navigation make sense. */ onFocusIn(): void; /** * Called when the component loses focus. */ onFocusOut(): void; /** * Closes dropdown on stray click * @param event Click event containing the target. */ onClick(event: any): void; /** * Processes keyboard presses to enable keyboard navigation. * @param event An event containing details about the key press. */ onDocumentKeyDown(event: KeyboardEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }