import * as i0 from '@angular/core'; import { PipeTransform, WritableSignal } from '@angular/core'; import { Primitive } from 'tableau-ui-angular/types'; import { ControlValueAccessor } from '@angular/forms'; import * as i5 from 'tableau-ui-angular/common'; import { OptionComponent, IOptionGridContext } from 'tableau-ui-angular/common'; import * as i4 from '@angular/common'; import * as i6 from 'tableau-ui-angular/icon'; declare class IsValueSelectedPipe implements PipeTransform { transform(selectedValue: T | T[] | undefined, optionValue: T, allowMultiple: boolean): boolean; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵpipe: i0.ɵɵPipeDeclaration, "isValueSelected", false>; } declare class ListMultiSelectComponent extends ListBaseComponent { protected $isMultiSelect(): this is ListMultiSelectComponent; protected selectValueInternal: (currentValue: T[] | undefined, selectedValue: T) => void; protected clearValueInternal: () => void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "tab-list-multi-select", never, {}, {}, never, never, false, never>; } declare abstract class ListBaseComponent implements ControlValueAccessor { protected readonly $options: i0.Signal[]>; private readonly elementRef; protected $isMultiSelect(): this is ListMultiSelectComponent; /** * Sets the focusability of the list * @remarks * - 'strong' - The list can be focused and navigated using the keyboard. Focus indicators are shown and are strong (primary color). * - 'silent' - The list can be focused and navigated using the keyboard. Focus indicators are shown, but are subtle . * - 'none' - The list cannot be focused or navigated using the keyboard. * @default 'full' */ readonly $focusMode: i0.ModelSignal<"none" | "silent" | "strong">; /** * Whether the list is disabled * @remarks * Set this using the FormControl if you are using reactive forms. * Only set this manually if you are not using reactive forms. * * @default false */ readonly $disabled: i0.ModelSignal; /** * The currently selected value. * @remarks * If allowMultiple is true, this should be an array of values. * If allowMultiple is false, this should be a single value. */ readonly $value: i0.ModelSignal; /** * The location of the check icon in dropdown option if an option is selected * @default 'none' */ readonly $selectedCheckIconLocation: i0.ModelSignal<"none" | "left" | "right">; /** * Highlight the selected item(s) with a primary back color * @default true */ readonly $selectedItemHighlight: i0.ModelSignal; /** * Whether multiple values can be selected * @default false */ /** * The template context to use for the dropdown options * @remarks * Use this to display the 'icon', 'text', and 'hint' properties of the options conditionally */ readonly $itemTemplateContext: i0.ModelSignal; protected readonly $itemTemplateActualContext: i0.Signal<{ renderIcon: boolean; renderText: boolean; renderHint: boolean; renderAsDisabled: boolean; }>; onChange: (value: TValue | undefined) => void; onTouched: () => void; writeValue(value: TValue | undefined): void; registerOnChange(fn: (value: TValue | undefined) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; protected readonly $highlightedOption: WritableSignal | undefined>; selectValue(option: OptionComponent, event: MouseEvent): void; protected abstract readonly selectValueInternal: (currentValue: TValue | undefined, selectedValue: TOption) => void; clearValue(e: Event): void; protected abstract readonly clearValueInternal: () => void; protected readonly $focused: WritableSignal; onFocus(): void; onBlur(): void; onMouseOut(): void; /** * * * @param e Handles KeyDown event for: * - host element * - global keydown event when dropdown is open * @returns */ onKeyDown(e: KeyboardEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "$focusMode": { "alias": "focusMode"; "required": false; "isSignal": true; }; "$disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "$value": { "alias": "value"; "required": false; "isSignal": true; }; "$selectedCheckIconLocation": { "alias": "selectedCheckIconLocation"; "required": false; "isSignal": true; }; "$selectedItemHighlight": { "alias": "selectedItemHighlight"; "required": false; "isSignal": true; }; "$itemTemplateContext": { "alias": "itemTemplateContext"; "required": false; "isSignal": true; }; }, { "$focusMode": "focusModeChange"; "$disabled": "disabledChange"; "$value": "valueChange"; "$selectedCheckIconLocation": "selectedCheckIconLocationChange"; "$selectedItemHighlight": "selectedItemHighlightChange"; "$itemTemplateContext": "itemTemplateContextChange"; }, ["$options"], never, true, never>; } declare class ListSingleSelectComponent extends ListBaseComponent { protected selectValueInternal: (currentValue: T | undefined, selectedValue: T) => void; protected clearValueInternal: () => void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "tab-list-single-select", never, {}, {}, never, never, false, never>; } declare class TableauUiListModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { ListMultiSelectComponent, ListSingleSelectComponent, TableauUiListModule };