К содержимому
uiify

OTP input

Поле одноразового кода с отдельной ячейкой для каждого символа.

Браузеры
Chrome 123+Firefox 121+Safari 17.5+
Уровень
2
Сжатый размер
1.53 kB
Лимит принудительной компоновки
0 ms
Лимит axe
0
Совместим с SSR
Да
Публичный контракт
Тестовый стенд

Песочница

OTP Input

По умолчанию

API

OtpInput.Root

СвойствоТипПо умолчаниюОписание
valuestring—Текущий код, делающий поле управляемым.
defaultValuestring""Начальный код неуправляемого поля.
onValueChange(value: string) => void—Вызывается с кодом при каждом его изменении.
onComplete(value: string) => void—Вызывается, когда код достигает заданной длины.
lengthnumber6Число символов кода.
type"numeric" | "alphanumeric""numeric"Символы, сохраняемые при вводе или вставке.
maskbooleanfalseСкрывает введённые символы в ячейках.
disabledbooleanfalseОтключает скрытое поле ввода и задаёт атрибут data-disabled.
autoFocusbooleanfalseПереводит фокус на скрытое поле ввода при монтировании поля.
idstring—Идентификатор отображаемого корневого элемента.
renderReactElement | ((props, state) => ReactElement)—Заменяет отображаемый элемент, сохраняя поведение и связи доступности.

OtpInput.Slot

СвойствоТипПо умолчаниюОписание
index*number—Позиция символа кода, отображаемого этой ячейкой.
renderReactElement | ((props, state) => ReactElement)—Заменяет отображаемый элемент, сохраняя поведение и связи доступности.

OtpInput.HiddenInput

СвойствоТипПо умолчаниюОписание
autoFocusboolean—Переводит фокус на это поле ввода при монтировании, переопределяя настройку корня.
renderReactElement | ((props, state) => ReactElement)—Заменяет отображаемый элемент, сохраняя поведение и связи доступности.

Клавиатура

КлавишаДействие
TabПеревести фокус на элемент управления или с него
Enter / SpaceАктивировать при наличии фокуса (для элементов управления типа кнопки)

Доступность

По возможности используется семантический HTML. Изучите разметку в песочнице: ARIA добавляется только там, где нативных элементов недостаточно.

Привязка стилей

data-disabled
Эта страница переведена автоматически и ещё не проверена.