import * as i0 from '@angular/core'; /** * @license * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE */ /** * Native input `type` values supported by ``. */ type WrInputType = 'text' | 'number' | 'password' | 'email' | 'search' | 'tel' | 'url'; /** * @license * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE */ /** Control size for `[wrInput]` — shares the `--wr-control-*` contract. */ type WrInputSize = 'sm' | 'md' | 'lg'; /** * Applies NGWR input styling to a native `` element. * * Because this is an attribute directive on the real `` (not a wrapper * component), any other directive that targets `input` — `[(ngModel)]`, * `[formControl]`, validators, third-party libraries like `ngx-mask` — composes * naturally on the same element. * * @example * ```html * * * * * ``` * * For prefix / suffix / password-toggle layouts, wrap the input in * ``. * * @see https://ngwr.dev/components/input */ declare class WrInput { /** * Control size. Named `wrSize` (not `size`) so it never clashes with the * native `` attribute. @default 'md' */ readonly wrSize: i0.InputSignal; /** Pill-shaped corners. @default false */ readonly rounded: i0.InputSignalWithTransform; protected readonly classes: i0.Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Marks an element as the **left** decoration inside ``. * Adds the `.wr-input-group__affix` class so the group's layout flexes it * to the input's left edge. * * @example * ```html * * $ * * * ``` */ declare class WrInputPrefix { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Marks an element as the **right** decoration inside ``. * Adds the `.wr-input-group__affix` class so the group's layout flexes it * to the input's right edge. * * @example * ```html * * * USD * * ``` */ declare class WrInputSuffix { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Container for `` + `[wrInputPrefix]` / `[wrInputSuffix]` / * `` siblings. Renders the border and focus ring; the * inner native input drops its own border so it visually melts into the * group. * * Pure layout — no signals shared with the inner directive, focus styling is * driven entirely by `:focus-within` so any focusable child counts. * * @example * ```html * * $ * * USD * * ``` * * @see https://ngwr.dev/components/input */ declare class WrInputGroup { /** Pill-shaped corners. @default false */ readonly rounded: i0.InputSignalWithTransform; protected readonly classes: i0.Signal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Self-contained eye-toggle button. Flips the linked ``'s `type` * attribute between `password` and `text`. Drop it inside an * `` next to a password input. * * @example * ```html * * * * * ``` */ declare class WrPasswordToggle { /** Reference to the linked password input. */ readonly for: i0.InputSignal; protected readonly revealed: i0.WritableSignal; protected readonly ariaLabel: i0.Signal<"Hide password" | "Show password">; protected toggle(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { WrInput, WrInputGroup, WrInputPrefix, WrInputSuffix, WrPasswordToggle }; export type { WrInputSize, WrInputType };