import * as _angular_core from '@angular/core'; import * as _angular_forms from '@angular/forms'; import { NgControl } from '@angular/forms'; /** * Wraps a label + control + error message into a single field row. * * Toggle `hasError` to apply error styling to the projected label and * any descendant input / textarea / checkbox. * * @example * ```html * * * * Invalid email * * ``` * * @see https://ngwr.dev/components/form */ declare class WrFormItem { /** * When `true`, applies error coloring to the projected label and inputs. * * @default false */ readonly hasError: _angular_core.InputSignalWithTransform; protected readonly classes: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Wraps a label + control + hint + error messages into a single block — * the layout primitive every form ends up reinventing. * * - Auto-binds `label[for]` to the projected control via a generated id * (or use the form-control's `[id]` if you set one). * - Reads the projected control's `NgControl` to surface validation * errors only when the control has been touched / submitted. * - Optional `[required]` / `[optional]` markers next to the label. * * @example * ```html * * * Email is required. * Not a valid email. * * ``` * * @see https://ngwr.dev/components/form-field */ declare class WrFormField { /** Label text shown above the control. */ readonly label: _angular_core.InputSignal; /** Hint text shown below the control. Hidden when an error is visible. */ readonly hint: _angular_core.InputSignal; /** Show a `*` next to the label. @default false */ readonly required: _angular_core.InputSignalWithTransform; /** Show `(optional)` next to the label. Mutually exclusive with `required`. @default false */ readonly optional: _angular_core.InputSignalWithTransform; /** Force a specific id on the label's `for` attribute. Auto-generated otherwise. */ readonly controlId: _angular_core.InputSignal; /** Projected `NgControl` — used to read touched / dirty / errors. */ protected readonly ngControl: _angular_core.Signal; protected readonly errors: _angular_core.Signal<_angular_forms.ValidationErrors | null>; protected readonly hasError: _angular_core.Signal; protected readonly classes: _angular_core.Signal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * One error message tied to a validator key. Renders only when the * parent form-field has a matching error in `control.errors`. * * @example * ```html * This field is required. * That doesn't look right. * ``` */ declare class WrFormError { /** * Validator key this message corresponds to (e.g. `'required'`). * Optional — without a key the message always renders, which is the * plain inline-error usage inside ``. */ readonly key: _angular_core.InputSignal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { WrFormError, WrFormField, WrFormItem };