import { ActiveDescendantKeyManager } from '@angular/cdk/a11y'; import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, QueryList, TemplateRef } from '@angular/core'; import { TsOptgroupComponent, TsOptionComponent } from '@terminus/ui/option'; /** * Event object that is emitted when a {@link TsOptionComponent} is selected */ export declare class TsSelectionListPanelSelectedEvent { source: TsSelectionListPanelComponent; option: TsOptionComponent; constructor(source: TsSelectionListPanelComponent, option: TsOptionComponent); } /** * The panel used to display selection list {@link TsOptionComponent}s * * @example * */ export declare class TsSelectionListPanelComponent implements AfterContentInit { private changeDetectorRef; elementRef: ElementRef; /** * Manages active item in option list based on key events * * NOTE: {@link TsSelectionListTriggerDirective} needs access. */ keyManager: ActiveDescendantKeyManager; /** * Whether the panel should be visible */ showPanel: boolean; /** * Define the default component ID */ readonly uid: string; /** * Return the panel's scrollTop * * @returns The scrollTop number */ get scrollTop(): number; /** * Set the panel scrollTop * * This allows us to manually scroll to display options above or below the fold, as they are not actually being focused when active. * * @param scrollTop - The number of pixels to move */ set scrollTop(scrollTop: number); /** * Access the template. Used by {@link TsSelectionListTriggerDirective} */ template: TemplateRef; /** * Access the element for the panel containing the options */ panel: ElementRef; /** * Whether the panel is open */ isOpen: boolean; /** * Function that maps an option's control value to its display value in the trigger */ displayWith: ((value: any) => string) | null; /** * Define an ID for the component * * @param value */ set id(value: string); get id(): string; protected _id: string; /** * Access the list of option groups * * NOTE: Since we are nested so deep, the query selectors can't seem to find these components. So now we are letting the parent pass them * in explicitly. */ optionGroups: QueryList; /** * Access the list of options * * NOTE: Since we are nested so deep, the query selectors can't seem to find these components. So now we are letting the parent pass them * in explicitly. */ options: QueryList; /** * Event that is emitted when the panel is closed */ readonly closed: EventEmitter; /** * Event that is emitted when the panel is opened */ readonly opened: EventEmitter; /** * Event that is emitted whenever an option from the list is selected */ readonly optionSelected: EventEmitter; constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef); /** * Set up */ ngAfterContentInit(): void; /** * Emit the `select` event * * @param option */ emitSelectEvent(option: TsOptionComponent): void; /** * Set the visibility of the panel based on whether options exist */ setVisibility(): void; }