@taiga-ui/core
Version:
Core library for creating Angular components and applications using Taiga UI
31 lines (30 loc) • 1.27 kB
TypeScript
import { InjectionToken, type Provider, type Signal, type Type } from '@angular/core';
import { type TuiIdentityMatcher, type TuiStringHandler } from '@taiga-ui/cdk/types';
import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
export interface TuiDataListAccessor<T = unknown> {
getOptions(includeDisabled?: boolean): readonly T[];
options?: Signal<readonly T[]>;
}
export interface TuiDataListHost<T> {
checkOption?(option: T): void;
handleOption?(option: T): void;
/**
* @deprecated Use `inject(TuiItemsHandlersDirective<T>).identityMatcher` instead
*/
readonly identityMatcher?: TuiIdentityMatcher<T>;
/**
* @deprecated Use `inject(TuiItemsHandlersDirective<T>).stringify` instead
*/
readonly stringify?: TuiStringHandler<T>;
readonly size?: TuiSizeL | TuiSizeS;
}
/**
* Accessor for data-list options
*/
export declare const TUI_DATA_LIST_ACCESSOR: InjectionToken<TuiDataListAccessor<unknown>>;
export declare function tuiAsDataListAccessor(accessor: Type<TuiDataListAccessor>): Provider;
/**
* DataList controller
*/
export declare const TUI_DATA_LIST_HOST: InjectionToken<TuiDataListHost<unknown>>;
export declare function tuiAsDataListHost<T>(host: Type<TuiDataListHost<T>>): Provider;