UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

36 lines (35 loc) 2.04 kB
import { ChangeDetectorRef, type Provider, type Type } from '@angular/core'; import { type ControlValueAccessor, type FormControlStatus, NgControl } from '@angular/forms'; import { TuiValueTransformer } from './value-transformer'; import * as i0 from "@angular/core"; /** * Basic ControlValueAccessor class to build form components upon */ export declare abstract class TuiControl<T> implements ControlValueAccessor { private readonly fallback; private readonly refresh$; private readonly internal; protected readonly control: NgControl; protected readonly cdr: ChangeDetectorRef; protected transformer: TuiValueTransformer<any, any>; readonly value: import("@angular/core").Signal<T>; readonly readOnly: import("@angular/core").InputSignal<boolean>; readonly pseudoInvalid: import("@angular/core").InputSignal<boolean | null | undefined>; readonly touched: import("@angular/core").WritableSignal<boolean>; readonly status: import("@angular/core").WritableSignal<FormControlStatus | undefined>; readonly disabled: import("@angular/core").Signal<boolean>; readonly interactive: import("@angular/core").Signal<boolean>; readonly invalid: import("@angular/core").Signal<boolean>; readonly mode: import("@angular/core").Signal<"invalid" | "readonly" | "valid">; onTouched: (...args: any[]) => void; onChange: (value: T) => void; constructor(); registerOnChange(onChange: (value: unknown) => void): void; registerOnTouched(onTouched: () => void): void; setDisabledState(): void; writeValue(value: T | null): void; private update; static ɵfac: i0.ɵɵFactoryDeclaration<TuiControl<any>, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<TuiControl<any>, never, never, { "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "pseudoInvalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } export declare function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider;