Skip to content

Input

Input renders a plain <input> with a fixed Tailwind class set (border, shadow, focus ring, file/placeholder/disabled variants). It composes no Navius primitive and implements no behavior of its own; type, value binding, validation, and every native input attribute are entirely the caller’s via Attributes.

Terminal window
navius add input --to ./src/MyApp --namespace MyApp.Ui
@using Zits.Ui.Components
<ZitsInput type="email" placeholder="Email" @bind-value="_email" />
@code {
private string? _email;
}

Input is a single element with no part tree and no props beyond Attributes; every attribute (type, value, placeholder, disabled, required, etc.) is a native HTML attribute passed straight through.

Attributes on ZitsInput is forwarded to the rendered input and merged with the base class set via Cn.Merge, with the caller’s classes applied last.

None. The component’s classes target no data-* attributes.

Input has no role or interactive mechanism beyond the native <input> element itself: no aria-* is wired by the component, so labeling (e.g. via ZitsLabel’s For) and any aria-* state are the caller’s responsibility through Attributes.