Skip to content

Input

  • Layer: Component
  • Base: @ark-ui/solid

Input is the raw input element. Wrap with Field to add label, error message, and hint text.

<Field label="Search" hint="Describe what you remember">
<Input placeholder="What are you looking for?" />
</Field>

Depth via --surface2 background against --surface cards.

Basic inputs

Size comparison

SizePaddingFontUse
sm8px x 4px--fs-smDense forms, inline filters
md12px x 8px--fs-baseDefault. Most contexts.

Hint, error, and disabled

We'll never share your email.
This field is required.
  • Default--surface2 background, --border border
  • Placeholder--muted colour text
  • Focus — border transitions to --cyan, focus ring via box-shadow
  • Error — border transitions to --status-error, error message appears below. aria-invalid="true"
  • Disabledopacity: 0.4, cursor: not-allowed

Type to see validation

PropTypeDefaultDescription
size'sm' | 'md''md'Input size

Plus all native <input> attributes (placeholder, type, value, disabled, etc.).

PropTypeDefaultDescription
labelstringLabel rendered above the field
errorstringError message — triggers error state
hintstringHint text below the field (hidden when error is set)
requiredbooleanfalseMarks field as required
childrenJSX.ElementrequiredThe input element
  • <label> associated via for/id (Ark UI Field handles this automatically)
  • Error message linked via aria-describedby + aria-invalid
  • Hint text linked via aria-describedby
  • Error announced via role="alert"
TokenSource
--input-bg--color-background-surface-alt
--input-border--color-border-default
--input-border-focus--color-accent-primary
--input-border-error--color-status-error
--input-placeholder--color-text-muted
--input-radius--radius-md