Production default
Balanced spacing, hierarchy, and content for the most common product workflow.
<Input
placeholder="Enter a sample value"
value="sample-1"
/>
// Generated by scripts/generate-showcase.mjs. Do not edit directly.
page InputDetail {
layout = "showcase"
state playground_size = ctx.url.searchParams.get("pg_size") ?? "default"
state playground_color = ctx.url.searchParams.get("pg_color") ?? "primary"
state playground_id = ctx.url.searchParams.get("pg_id") ?? ""
state playground_name = ctx.url.searchParams.get("pg_name") ?? ""
state playground_label = ctx.url.searchParams.get("pg_label") ?? "Input"
state playground_hiddenLabel = (ctx.url.searchParams.get("pg_hiddenLabel") ?? "false") === "true"
state playground_placeholder = ctx.url.searchParams.get("pg_placeholder") ?? "Enter a sample value"
state playground_value = ctx.url.searchParams.get("pg_value") ?? "sample-1"
state playground_type = ctx.url.searchParams.get("pg_type") ?? "text"
state playground_variant = ctx.url.searchParams.get("pg_variant") ?? "normal"
state playground_icon = ctx.url.searchParams.get("pg_icon") ?? ""
state playground_iconPosition = ctx.url.searchParams.get("pg_iconPosition") ?? "start"
state playground_helperText = ctx.url.searchParams.get("pg_helperText") ?? ""
state playground_cornerHint = ctx.url.searchParams.get("pg_cornerHint") ?? ""
state playground_error = ctx.url.searchParams.get("pg_error") ?? ""
state playground_inline = (ctx.url.searchParams.get("pg_inline") ?? "false") === "true"
state playground_readonly = (ctx.url.searchParams.get("pg_readonly") ?? "false") === "true"
state playground_disabled = (ctx.url.searchParams.get("pg_disabled") ?? "false") === "true"
state playground_required = (ctx.url.searchParams.get("pg_required") ?? "false") === "true"
state playground_autocomplete = ctx.url.searchParams.get("pg_autocomplete") ?? ""
state playground_inputmode = ctx.url.searchParams.get("pg_inputmode") ?? ""
state playground_minlength = ctx.url.searchParams.get("pg_minlength") ?? ""
state playground_maxlength = ctx.url.searchParams.get("pg_maxlength") ?? ""
state playground_pattern = ctx.url.searchParams.get("pg_pattern") ?? ""
state playground_min = ctx.url.searchParams.get("pg_min") ?? ""
state playground_max = ctx.url.searchParams.get("pg_max") ?? ""
state playground_step = ctx.url.searchParams.get("pg_step") ?? ""
state playground_class = ctx.url.searchParams.get("pg_class") ?? "showcase-instance showcase-instance--1"
seo {
title = "Input"
description = "Theme-aware, responsive input component."
}
view {
Theme-aware, responsive input component. Change any prop and inspect the server-rendered component immediately.Input
Configure Input
<Input
placeholder="Enter a sample value"
value="sample-1"
/>payload.
Compare configurations and resize the browser to check responsive behavior.
Balanced spacing, hierarchy, and content for the most common product workflow.
<Input
placeholder="Enter a sample value"
value="sample-1"
/>
A tighter variation for dashboards, side panels, tables, and operational interfaces.
<Input
size="sm"
label="Compact example"
placeholder="Enter a sample value"
value="sample-2"
variant="secondary"
icon="icon-[lucide--arrow-right]"
/>
A more expressive variation using additional data, stronger emphasis, and optional states.
<Input
size="lg"
label="Advanced example"
placeholder="Search by name, email, or identifier"
value="sample-3"
variant="success"
icon="icon-[lucide--trash-2]"
/>
Use declarative output handlers in .wrn files or register a direct output handler from JavaScript. The canonical API exposes payload and does not require event.detail.
@inputFires as the editable value changes.@changeFires when the component's committed value or selection changes.@focusFires when the interactive control receives focus.@blurFires when focus leaves the interactive control.@invalidFires when the component emits the invalid event.@keydownFires when the component emits the keydown event.@keyupFires when the component emits the keyup event.<Input
@input='console.log(payload)'
@change='console.log(payload)'
@focus='console.log(payload)'
@blur='console.log(payload)'
@invalid='console.log(payload)'
@keydown='console.log(payload)'
@keyup='console.log(payload)'
/>import { registerOutputHandler } from "@wrnexus/csr/outputs"
const component = document.querySelector("[data-ui-component=\"Input\"], [data-component=\"Input\"]")
if (component) registerOutputHandler(component, "input", (payload) => {
console.log("input", payload)
})
if (component) registerOutputHandler(component, "change", (payload) => {
console.log("change", payload)
})
if (component) registerOutputHandler(component, "focus", (payload) => {
console.log("focus", payload)
})
if (component) registerOutputHandler(component, "blur", (payload) => {
console.log("blur", payload)
})
if (component) registerOutputHandler(component, "invalid", (payload) => {
console.log("invalid", payload)
})
if (component) registerOutputHandler(component, "keydown", (payload) => {
console.log("keydown", payload)
})
if (component) registerOutputHandler(component, "keyup", (payload) => {
console.log("keyup", payload)
})All content and behavior shown above is supplied through these props and slots.
| Prop | Type | Default | Required |
|---|---|---|---|
size | string | "default" | No |
color | string | "primary" | No |
id | string | "" | No |
name | string | "" | No |
label | string | "Input" | No |
hiddenLabel | boolean | false | No |
placeholder | string | "" | No |
value | string | "" | No |
type | string | "text" | No |
variant | string | "normal" | No |
icon | string | "" | No |
iconPosition | string | "start" | No |
helperText | string | "" | No |
cornerHint | string | "" | No |
error | string | "" | No |
inline | boolean | false | No |
readonly | boolean | false | No |
disabled | boolean | false | No |
required | boolean | false | No |
autocomplete | string | "" | No |
inputmode | string | "" | No |
minlength | string | "" | No |
maxlength | string | "" | No |
pattern | string | "" | No |
min | string | "" | No |
max | string | "" | No |
step | string | "" | No |
class | string | "" | No |