TextField

Связанные компоненты: TextFieldClear (14446:247159), TextFieldGroup (13943:164509), TextFieldSlider (22919:4905)

1. Key Principles of Use

What it is

TextField — однострочное поле ввода текстовых данных. Основной инпут системы.

When to use

Use — для ввода имени, email, телефона, пароля, поискового запроса, числа.

Don't use:

  • Для длинных текстов — используйте TextArea
  • Для выбора из списка — используйте Select или Autocomplete
  • Для числового диапазона — используйте Range

2. Anatomy

[Label]
┌──────────────────────────────────────────┐
│ [prefix]  placeholder / value  [suffix]  │
└──────────────────────────────────────────┘
[Hint text]
СлотПропОписание
labelLabelPlacementМетка поля. Может быть снаружи, внутри или скрыта
input—Само поле ввода
prefix—Иконка, текст или элемент слева внутри поля
suffix—Иконка, текст или элемент справа
hintHintPlacementПодсказка / текст ошибки
requiredMarkerRequiredPlacementМаркер обязательности

3. Variants

Figma Component Sets

Имя в FigmapxT-shirt
TextField 32 XS32XS
TextField 40 S40S
TextField 48 M48M
TextField 56 L56L
TextField 64 XL64XL

View (состояние валидации)

ViewОписание
DefaultНейтральное
ErrorОшибка валидации
WarningПредупреждение
SuccessУспешная валидация

LabelPlacement

ЗначениеОписание
OuterЛейбл над полем
InnerFloating label внутри поля (XS не поддерживает)
NoneЛейбл скрыт

HintPlacement

ЗначениеОписание
OuterПодсказка под полем
InnerПодсказка внутри при пустом поле

Value (состояние заполненности)

ЗначениеОписание
EmptyПоле пустое
SingleОднострочное значение
MultipleМногострочное значение

4. Sizes

T-shirtpxКонтекст
XS32Тулбары, компактные формы
S40Вторичные формы
M48Стандартные формы — дефолт
L56Акцентные поля
XL64Touch-first

5. States

СостояниеFigma-пропОписание
defaultView=DefaultНейтральное
focusFocused=TrueФокус, выделение поля
filledValue=Single/MultipleЕсть значение
errorView=ErrorОшибка
warningView=WarningПредупреждение
successView=SuccessУспех
disabledDisabled=TrueНедоступно
read-onlyReadOnly=TrueТолько чтение
requiredRequired=TrueОбязательное
optionalOptional=TrueНеобязательное (маркер)

6. Behavior

Keyboard interaction

КлавишаДействие
Tab / Shift+TabПереход к полю / из поля
Ввод символовЗаполнение значения
EscapeСнять фокус (опционально)

7. Accessibility

АтрибутЗначениеКогда
<input> с <label>—Всегда
aria-invalid="true"—View=Error
aria-describedbyID hint-элементаПри наличии подсказки / ошибки
aria-required="true"—Required=True
readonly—ReadOnly=True
disabled—Disabled=True

8. Design Tokens

РольSDDS Token
Фон поляSurfaces/Default/General/Solid/Secondary
Обводка defaultOutlines/Default/General/Solid/Secondary
Обводка focusOutlines/Default/Accent/Solid/Accent
Обводка errorOutlines/Default/Status/Solid/Error
Текст значенияText&Icons/Default/General/Primary
Лейбл (outer)Text&Icons/Default/General/Secondary
PlaceholderText&Icons/Default/General/Tertiary
Hint (ошибка)Text&Icons/Default/Status/Error
Disabled фонSurfaces/Default/General/Solid/Tertiary
Disabled текстText&Icons/Default/General/Tertiary
Нашли расхождение документации и библиотеки — напишите команде.Сообщить о расхождении