@taiga-ui/kit
Version:
Taiga UI Angular main components kit
23 lines (22 loc) • 818 B
TypeScript
import type { TemplateRef } from '@angular/core';
import type { TuiContext } from '@taiga-ui/cdk/types';
import type { Observable } from 'rxjs';
import type { TuiTreeItem } from '../components/tree-item/tree-item.component';
export interface TuiTreeItemContext extends TuiContext<TuiTreeItem> {
readonly template: TemplateRef<Record<string, unknown>>;
}
export interface TuiTreeContext<T> extends TuiContext<T> {
readonly node: TuiTreeItem;
}
export interface TuiTreeController {
isExpanded(item: TuiTreeItem): boolean;
toggle(item: TuiTreeItem): void;
}
export interface TuiTreeAccessor<T> {
register(item: TuiTreeItem, value: T): void;
unregister(item: TuiTreeItem): void;
}
export interface TuiTreeLoader<T> {
hasChildren(item: T): boolean;
loadChildren(item: T): Observable<T[]>;
}