# TextField: API

## Пропсы корня

| Проп | Тип | По умолчанию | Обязательный | Описание |
| --- | --- | --- | --- | --- |
| `size` | `TextFieldSize` | `'md'` | Нет | Визуальный размер текстового поля. Влияет на отступы, размер шрифта и общую высоту. 'sm': компактное поле; 'md': по умолчанию; 'lg': просторная раскладка |
| `error` | `boolean` | — | Нет | Показывает поле ввода в состоянии ошибки. |
| `ref` | `Ref<HTMLDivElement>` | — | Нет | Ref, передаваемый на элемент-обёртку. Полезен для программного управления, фокуса или интеграции. |

Также принимает все атрибуты `<div>`.

## Дочерние части

- `TextFieldInput`: нативный элемент `<input>` внутри обёртки.

### `TextFieldInput`

| Проп | Тип | По умолчанию | Обязательный | Описание |
| --- | --- | --- | --- | --- |
| `ref` | `Ref<HTMLInputElement>` | — | Нет | Ref, передаваемый на нижележащий нативный элемент `<input>`. |

Также принимает все атрибуты `<input>`.

## Типы

- `TextFieldProps`
- `TextFieldInputProps`
- `TextFieldSize`

## Модель состояния

- `TextField` передаёт размер и состояние ошибки через контекст.
- Настоящее состояние ввода управляется на `TextFieldInput`.
- Контролируемое и неконтролируемое поведение подчиняется правилам нативного инпута на дочернем элементе.
