1 viewer
Back to Components
Component · Input

Field

Canonical input element inside a Form (or standalone). Owns its own block class so it can be styled outside a Form.

Category
Input
Slots
5
States
3
Writer
Shared
cre8.primitive.field

Preview

Live renderShared SSR + WASM writers
Durable account address bound in HyperDB.
<Field
  default="acc-0x892a"
  description="Durable account address bound in HyperDB."
  label="Operator Account"
  name="account_id"
/>

Variants

States and intents
Display field
Ready

Anatomy

The named parts of the rendered markup. Recipes style these hooks, and every renderer keeps them stable.

SlotDOM class
root.primitive-field
label.primitive-field__label
control—
required.primitive-field__required
hint.primitive-field__hint
5 rows
Modifier
primitive-field--{kind}
State attribute
data-requiredfrom the required prop

States and platforms

The states the contract publishes, the platforms it declares, and the style recipes that dress it.

States
disabledinvalidrequired
Platforms
webnativeruntime-node
Recipes
unstyledruntime-console

Renderers

Shared writer
Field renders through the one writer the server and the WASM DOM share, so both emit the same markup.

Every tag in the example above renders through a shared writer.

Declared adapters. A status is the manifest's declaration, not a measured parity result.

TargetRendererStatus
webreactexperimental
runtime-nodeview-nodeready
ssrhtml-form-controlready
terminalterminal-form-controlplanned
nativenative-adapterexperimental
5 rows

Accessibility

Preserves the shared Input label, description, and error wiring for compatibility-only runtime views.

  • Field aliases keep the same programmatic label, help text, and validation relationships as Input.
  • Invalid fields expose aria-invalid plus an announced inline error without depending on recipe styling.