UNPKG

signal-template-forms

Version:

A powerful, type-safe Angular forms library built with signals, providing reactive form management with excellent developer experience and performance.

40 lines (39 loc) 2.88 kB
import { DestroyRef, ElementRef, Injector, OnInit, Renderer2 } from '@angular/core'; import { type FormOption } from '../../../models/signal-form.model'; import * as i0 from "@angular/core"; export declare class FormDropdownOverlayComponent implements OnInit { private readonly renderer; private readonly elementRef; private readonly destroyRef; private readonly injector; options: import("@angular/core").InputSignal<FormOption<string | number | boolean | object, unknown>[]>; multiselect: import("@angular/core").InputSignal<boolean>; triggerElement: import("@angular/core").InputSignal<HTMLElement | undefined>; initialSelection: import("@angular/core").InputSignal<FormOption<string | number | boolean | object, unknown> | FormOption<string | number | boolean | object, unknown>[] | undefined>; ariaListboxId: import("@angular/core").InputSignal<string>; select: import("@angular/core").OutputEmitterRef<FormOption<string | number | boolean | object, unknown> | FormOption<string | number | boolean | object, unknown>[] | null>; close: import("@angular/core").OutputEmitterRef<void>; optionElements: import("@angular/core").Signal<readonly ElementRef<any>[]>; protected focusedIndex: import("@angular/core").WritableSignal<number>; protected selectedOptions: import("@angular/core").WritableSignal<FormOption<string | number | boolean | object, unknown>[]>; protected readonly checkIcon: import("lucide-angular").LucideIconData; protected readonly clearIcon: import("lucide-angular").LucideIconData; constructor(renderer: Renderer2, elementRef: ElementRef, destroyRef: DestroyRef, injector: Injector); ngOnInit(): void; private handleSingleOrMultiSelect; selectOption(option: FormOption): void; private emitSelection; toggleOption(option: FormOption): void; setPosition({ top, left, width, }: { top: number; left: number; width: number | string; }): void; protected isSelected(formOption: FormOption): boolean; private listenToDocumentMouseClicks; private listenToTriggerElementKeyDown; private handleKeydown; private listenToOptionElementForView; static ɵfac: i0.ɵɵFactoryDeclaration<FormDropdownOverlayComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<FormDropdownOverlayComponent, "form-dropdown-overlay", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "multiselect": { "alias": "multiselect"; "required": false; "isSignal": true; }; "triggerElement": { "alias": "triggerElement"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "ariaListboxId": { "alias": "ariaListboxId"; "required": true; "isSignal": true; }; }, { "select": "select"; "close": "close"; }, never, never, true, never>; }