govuk-angular
Version:
Angular components port of govuk-frontend nunjucks macros.
56 lines (55 loc) • 2.2 kB
TypeScript
import { ElementRef, EventEmitter, AfterViewInit, ChangeDetectorRef } from '@angular/core';
import { Observable } from 'rxjs';
import { ErrorMessage } from '../error/error-message.model';
import { Hint } from '../hint/hint';
import { Label } from '../label/label';
import * as i0 from "@angular/core";
export declare type Option = {
text: string;
id: string;
group?: string;
selected?: boolean;
};
declare type GroupedOptions = {
groupName: string;
options: Option[];
};
export declare class FilteredSelectComponent implements AfterViewInit {
private cdr;
el: ElementRef;
id: string;
/** Label = {text: "", classes: "", isPageHeading: false} */
label: Label;
/** Class extention 'govuk-input--width-20 */
classes: string;
/** Hint text */
hint: Hint;
/** Error message to show */
errorMessage: ErrorMessage;
filterInputElementRef: ElementRef;
selectBoxElementRef: ElementRef;
fakeInputElementRef: ElementRef;
options: Option[];
grouped: boolean;
lines: number;
backgroundColor: string;
borderStyle: string;
chosenOption: EventEmitter<Option>;
filteredOptions: Observable<Option[]>;
filteredGroupedOptions: Observable<GroupedOptions[]>;
active: Observable<boolean>;
chosenText: Observable<string>;
selectBox: HTMLSelectElement;
filterInput: HTMLInputElement;
fakeInput: HTMLInputElement;
fakeInputFocus: Observable<boolean>;
changeFilterText: Observable<string>;
filterInputBlurFocusSelect: Observable<boolean>;
selectFocusOrBlur: Observable<boolean>;
optionChosen: Observable<Option>;
constructor(cdr: ChangeDetectorRef, el: ElementRef);
ngAfterViewInit(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<FilteredSelectComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<FilteredSelectComponent, "govuk-filtered-select", never, { "id": "id"; "label": "label"; "classes": "classes"; "hint": "hint"; "errorMessage": "errorMessage"; "options": "options"; "grouped": "grouped"; "lines": "lines"; "backgroundColor": "backgroundColor"; "borderStyle": "borderStyle"; }, { "chosenOption": "chosenOption"; }, never, never>;
}
export {};