@theredhead — Frontend Library - v1.0.0
    Preparing search index...

    Adapter interface for transforming raw text in a UIInput.

    When an adapter is attached to UIInput, the component exposes two models:

    • text – the raw, unaltered string as typed by the user
    • value – the processed string produced by toValue, also what is displayed in the native input element

    The value model is the primary output: it is the adapted version of the raw input and should be used by all consuming code (forms, bindings, persistence). The text model is a backing store that preserves the original keystrokes for adapters that need access to the unprocessed input (e.g. for validation or undo).

    Adapters may also provide prefix/suffix icons, respond to clicks on them, and expose validation via validate.

    readonly adapter = new UppercaseTextAdapter();
    // User types "hello" → text() = "hello", value() = "HELLO"
    // The input field displays "HELLO"
    <ui-input [adapter]="adapter" [(value)]="name" />
    
    interface TextAdapter {
        inputType?: string;
        prefixIcon?: string;
        suffixIcon?: string;
        onPrefixClick?(text: string): void;
        onSuffixClick?(text: string): void;
        toDisplayValue?(value: string): string;
        toValue(text: string): string;
        validate?(text: string): TextAdapterValidationResult;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    inputType?: string

    Optional HTML input type attribute value.

    When set, this overrides the type input on UIInput so the adapter can request the semantically correct native input type (e.g. "email", "tel", "url").

    prefixIcon?: string

    Optional SVG icon content to display before the input.

    Should be a Lucide SVG inner-content string (e.g. UIIcons.Lucide.Text.AtSign).

    suffixIcon?: string

    Optional SVG icon content to display after the input.

    Methods

    • Called when the user clicks the prefix icon.

      Parameters

      • text: string

        Current raw text value.

      Returns void

    • Called when the user clicks the suffix icon.

      Parameters

      • text: string

        Current raw text value.

      Returns void

    • Optional display formatter.

      When present, the native input element shows the string returned by this method instead of the raw toValue result. Use this to add locale-specific formatting (e.g. thousands separators) while keeping value() as the clean programmatic output.

      Parameters

      • value: string

        The adapted value produced by toValue.

      Returns string

      Formatted string to display in the input element.

    • Transform the raw text into the adapted value.

      Called on every input event. The result is stored in the value model and written back to the native input element, so the user sees the adapted text. The original keystrokes are preserved in the text model.

      Parameters

      • text: string

        Raw text from the input element.

      Returns string

      Adapted value string (displayed in the field and emitted via value).

    • Validate the raw text and return a result indicating whether the current input is valid.

      When present, UIInput exposes a valid signal and applies the invalid host class when validation fails.

      Parameters

      • text: string

        Raw text from the input element.

      Returns TextAdapterValidationResult

      Validation result with valid flag and error messages.