import { EventEmitter } from "../../stencil-public-runtime"; import type { InputState, InputType } from "./types"; import type { Theme } from '../../utils/styles'; /** * @component diwa-input * * A fully encapsulated, accessible text input primitive. * Supports all common text-based HTML input types and validation states. * * Design token override API (set on :root or any ancestor): * --diwa-input-height Height of the input * --diwa-input-padding-x Horizontal padding * --diwa-input-radius Border radius * --diwa-input-border Default border colour * --diwa-input-bg Background colour * --diwa-input-color Text colour * --diwa-input-placeholder-color Placeholder text colour * --diwa-input-font-size Font size * --diwa-input-border-focus Border colour when focused * --diwa-input-border-error Border colour in error state * --diwa-input-border-success Border colour in success state * * Usage: * * * * * @slot prefix — Icon or content placed before the input (e.g., a search icon) * @slot suffix — Icon or content placed after the input (e.g., a clear button) */ export declare class DiwaInput { /** Native input type. Controls keyboard, validation, and autocomplete behaviour. */ type: InputType; /** Visible label text. Linked to the inner via htmlFor/id. */ label?: string; /** Placeholder text shown when the field is empty. */ placeholder?: string; /** Controlled value. Update in response to the `change` event for controlled patterns. */ value: string; /** Marks the field as required. Sets aria-required on the inner input. */ required: boolean; /** Disables the input. Blocks pointer and keyboard interaction. */ disabled: boolean; /** Makes the input read-only. Content is selectable but not editable. */ readonly: boolean; /** * Validation state. Controls border colour and the hint text colour. * Pair with the `hint` prop to surface error or success messages. */ state: InputState; /** * Helper / hint text rendered below the input. * In the error state this text should describe the validation failure. * Associated via aria-describedby for screen reader announcement. */ hint?: string; /** * HTML autocomplete attribute passthrough. * Allows browsers to offer autocomplete suggestions. */ autocomplete?: string; /** * HTML name attribute — used to identify the field in form data. */ name?: string; /** * HTML id forwarded to the inner input. * When omitted the component generates a unique id for label association. */ inputId?: string; /** Per-component theme override. */ theme: Theme; /** * Emitted on every keystroke. * Payload is the current string value. */ input: EventEmitter; /** * Emitted when the input loses focus after value changes. * Payload is the committed string value. */ change: EventEmitter; /** * Emitted when the input receives focus. */ focus: EventEmitter; /** * Emitted when the input loses focus. */ blur: EventEmitter; private internalId; private get resolvedId(); private get hintId(); private handleInput; private handleChange; private handleFocus; private handleBlur; render(): any; } //# sourceMappingURL=diwa-input.d.ts.map