Production default
Balanced spacing, hierarchy, and content for the most common product workflow.
<InputGroup
label="Input Group"
value="sample-1"
placeholder="Enter a sample value"
actionLabel="Input Group"
/>
// Generated by scripts/generate-showcase.mjs. Do not edit directly.
page InputGroupDetail {
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 Group"
state playground_hiddenLabel = (ctx.url.searchParams.get("pg_hiddenLabel") ?? "false") === "true"
state playground_value = ctx.url.searchParams.get("pg_value") ?? "sample-1"
state playground_placeholder = ctx.url.searchParams.get("pg_placeholder") ?? "Enter a sample value"
state playground_type = ctx.url.searchParams.get("pg_type") ?? "text"
state playground_startText = ctx.url.searchParams.get("pg_startText") ?? ""
state playground_endText = ctx.url.searchParams.get("pg_endText") ?? ""
state playground_icon = ctx.url.searchParams.get("pg_icon") ?? ""
state playground_iconPosition = ctx.url.searchParams.get("pg_iconPosition") ?? "start"
state playground_actionLabel = ctx.url.searchParams.get("pg_actionLabel") ?? "Input Group"
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_variant = ctx.url.searchParams.get("pg_variant") ?? "normal"
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_class = ctx.url.searchParams.get("pg_class") ?? "showcase-instance showcase-instance--1"
seo {
title = "Input Group"
description = "Theme-aware, responsive input group component."
}
view {
Theme-aware, responsive input group component. Change any prop and inspect the server-rendered component immediately.Input Group
Configure Input Group
<InputGroup
label="Input Group"
value="sample-1"
placeholder="Enter a sample value"
actionLabel="Input Group"
/>payload.
Compare configurations and resize the browser to check responsive behavior.
Balanced spacing, hierarchy, and content for the most common product workflow.
<InputGroup
label="Input Group"
value="sample-1"
placeholder="Enter a sample value"
actionLabel="Input Group"
/>
A tighter variation for dashboards, side panels, tables, and operational interfaces.
<InputGroup
size="sm"
label="Compact example"
value="sample-2"
placeholder="Enter a sample value"
icon="icon-[lucide--arrow-right]"
actionLabel="Compact example"
variant="secondary"
/>
A more expressive variation using additional data, stronger emphasis, and optional states.
<InputGroup
size="lg"
label="Advanced example"
value="sample-3"
placeholder="Search by name, email, or identifier"
icon="icon-[lucide--trash-2]"
actionLabel="Advanced example"
variant="success"
/>
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.@submitFires when the component emits the submit event.@actionFires when the component's primary or item action is activated.<InputGroup
@input='console.log(payload)'
@change='console.log(payload)'
@focus='console.log(payload)'
@blur='console.log(payload)'
@submit='console.log(payload)'
@action='console.log(payload)'
/>import { registerOutputHandler } from "@wrnexus/csr/outputs"
const component = document.querySelector("[data-ui-component=\"InputGroup\"], [data-component=\"InputGroup\"]")
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, "submit", (payload) => {
console.log("submit", payload)
})
if (component) registerOutputHandler(component, "action", (payload) => {
console.log("action", 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 group" | No |
hiddenLabel | boolean | false | No |
value | string | "" | No |
placeholder | string | "" | No |
type | string | "text" | No |
startText | string | "" | No |
endText | string | "" | No |
icon | string | "" | No |
iconPosition | string | "start" | No |
actionLabel | string | "" | No |
helperText | string | "" | No |
cornerHint | string | "" | No |
error | string | "" | No |
inline | boolean | false | No |
variant | string | "normal" | No |
readonly | boolean | false | No |
disabled | boolean | false | No |
required | boolean | false | No |
class | string | "" | No |