Skip to content
RefineUI

Input

Text input for single-line text entry.

Overview

Machine-readable contract from Component Spec.

component: inputexport: Inputversion: 1attributes: data-refineui=input

Anatomy

Partdata-refineui
rootinput

Variants

AxisValues
sizesm, md, lg

States

ScopeCategoryValues
componentenvironmentforced-colors, dir, prefers-contrast

Accessibility

SlotElementNative
inputinputtrue

Layout

PropertyValue
directionlogical
rtltrue

Variant

Select a recipe variant — preview and Recipe → Tokens update together.

Recipe → Tokens

Slot bindings for variant="default" — declared in Input/style → tokens.

SlotVariantPropertyTraceSemanticLight → foundationDark → foundationRecipe class
roottextinput.textforegroundPrimaryprimaryBlackneutralWhitetext-refineui-alias-foreground-primary placeholder:text-refineui-alias-foreground-placeholder
rootplaceholderinput.placeholderforegroundPlaceholderneutral450neutral500placeholder:text-refineui-alias-foreground-placeholder
rootbackgroundinput.backgroundbackgroundPrimaryneutralWhiteneutral900bg-refineui-alias-background-primary
rootdisabledBackgroundinput.disabledBackgroundbackgroundSurfaceDisabledneutral150neutral850bg-refineui-alias-background-surface-disabled
rootborder.defaultinput.border.defaultborderDefaultneutral300neutral650border-refineui-thin border-refineui-alias-border-default
rootborder.focusinput.border.focusborderFocusneutral750neutral350border-refineui-thin border-refineui-alias-border-strong
rootborder.errorinput.border.errorborderErrorred500red500border-refineui-thin border-refineui-alias-border-error
rootborder.successinput.border.successborderSuccessgreen500green500border-refineui-thin border-refineui-alias-border-success
rootborder.disabledinput.border.disabledborderDisabledneutral250neutral700border-refineui-thin border-refineui-alias-border-disabled

Component token trace

All paths in token-trace-v2.json prefixed with input.

TraceSemanticLight foundationDark foundationLightDark
input.backgroundbackgroundPrimaryneutralWhiteneutral900#FFFFFF#1A1A1A
input.border.defaultborderDefaultneutral300neutral650#DBDBDB#5B5B5B
input.border.disabledborderDisabledneutral250neutral700#E0E0E0#404040
input.border.errorborderErrorred500red500#FF6969#FF6969
input.border.focusborderFocusneutral750neutral350#333333#D8D8D8
input.border.successborderSuccessgreen500green500#26B12D#26B12D
input.disabledBackgroundbackgroundSurfaceDisabledneutral150neutral850#F0F0F0#222222
input.placeholderforegroundPlaceholderneutral450neutral500#BBBBBB#A4A4A4
input.textforegroundPrimaryprimaryBlackneutralWhite#212121#FFFFFF
npm install @refineui/react @refineui/tokens
import { Input } from "@refineui/react";
<Input placeholder="Enter your name" />
<Input
size="lg"
error={hasError}
value={email}
onChange={(e) => setEmail(e.target.value)}
/>
<Input fullWidth placeholder="Full width input" />
PropDefaultTypeDescription
size"md""sm" | "md" | "lg"Input size tier.
errorfalsebooleanShows error state styling.
successfalsebooleanShows success state styling.
fullWidthfalsebooleanStretches to full parent width.
disabledfalsebooleanDisables interaction.