suis
Version:
Angular 16+ Component Library
61 lines (60 loc) • 3.32 kB
TypeScript
import { ElementRef } from '@angular/core';
import { SuisInputBase } from '../../../shared/classes/suis-input.base';
import { SuisSelectOption } from '../interfaces/suis-select-option.interfaces';
import { SuisSelectOptionDirective } from '../directives/suis-select-option.directive';
import { SuisSortOptional } from '../../../types/suis-sort.type';
import * as i0 from "@angular/core";
export declare abstract class SuisSelectBase<T> extends SuisInputBase {
/** @internal */
readonly suisSelectOption: import("@angular/core").Signal<SuisSelectOptionDirective | undefined>;
/** @internal */
readonly searchInput: import("@angular/core").Signal<ElementRef<any> | undefined>;
/** @internal */
protected searchPhrase: string;
/** @internal */
protected expanded: boolean;
/**
* Options displayed in dropdown list. Type of SuisSelectOption[].
*/
readonly options: import("@angular/core").InputSignal<SuisSelectOption[]>;
/**
* Defines way of sorting options. Type of SuisSortOptional. By default set to 'asc'.
*/
readonly sortOptions: import("@angular/core").InputSignal<SuisSortOptional>;
/**
* Displays search input above options. By default set to true.
*/
readonly search: import("@angular/core").InputSignal<boolean>;
/**
* Placeholder text displayed in options search. By default set to 'Search...'.
*/
readonly searchPlaceholder: import("@angular/core").InputSignal<string>;
/**
* Placeholder text displayed when value is not selected. By default set to 'Select option...'.
*/
readonly placeholder: import("@angular/core").InputSignal<string>;
/**
* Option value property name in options. By default set to 'value'.
*/
readonly optionValue: import("@angular/core").InputSignal<string>;
/**
* Option label property name in options. By default set to 'label'.
*/
readonly optionLabel: import("@angular/core").InputSignal<string>;
/**
* Emits on search phrase changed.
*/
readonly searchPhraseChanged: import("@angular/core").OutputEmitterRef<string>;
abstract onSelect(value: T): void;
abstract clearValue(): void;
abstract setValue(value: any): void;
onClear(event: Event): void;
onSearchPhraseChange(text: string): void;
onExpand(): void;
toggle(value: boolean): void;
onDocumentClick(event: Event): void;
/** @internal */
optionTrackBy(index: number, option: SuisSelectOption): string;
static ɵfac: i0.ɵɵFactoryDeclaration<SuisSelectBase<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<SuisSelectBase<any>, never, never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "sortOptions": { "alias": "sortOptions"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; }, { "searchPhraseChanged": "searchPhraseChanged"; }, ["suisSelectOption"], never, true, never>;
}