1.0.0 • Published 9 months ago

@erusinchuk/react-otp-input v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

React OTP Input

Современный, настраиваемый компонент для ввода OTP (One-Time Password) в React приложениях.

Установка

npm install react-otp-input
# или
yarn add react-otp-input

Использование

import React, { useState } from 'react';
import OTPInput from 'react-otp-input';

function App() {
  const [otp, setOtp] = useState('');

  return (
    <OTPInput
      value={otp}
      onChange={setOtp}
      numDigits={6}
      colors={{
        border: '#e0e0e0',
        borderHover: '#667eea',
        borderFocus: '#667eea',
        text: '#000',
        background: 'white',
        placeholder: '#999'
      }}
      styles={{
        width: '50px',
        height: '50px',
        fontSize: '1.5rem',
        borderRadius: '12px',
        gap: '12px'
      }}
    />
  );
}

Пропсы

ПропТипПо умолчаниюОписание
valuestring-Текущее значение OTP
onChange(value: string) => void-Функция обратного вызова при изменении значения
numDigitsnumber-Количество полей ввода
renderSeparatorReact.ReactNode-Компонент-разделитель между полями ввода
renderInput(props: React.InputHTMLAttributes) => React.ReactNode-Кастомный компонент для рендеринга полей ввода
classNamestring-CSS класс для контейнера
colorsobject-Объект с цветами для стилизации
stylesobject-Объект со стилями для настройки размеров и отступов

colors

СвойствоТипПо умолчаниюОписание
borderstring'#e0e0e0'Цвет границы поля ввода
borderHoverstring'#667eea'Цвет границы при наведении
borderFocusstring'#667eea'Цвет границы при фокусе
textstring'inherit'Цвет текста
backgroundstring'white'Цвет фона
placeholderstring'#999'Цвет плейсхолдера

styles

СвойствоТипПо умолчаниюОписание
widthstring'50px'Ширина поля ввода
heightstring'50px'Высота поля ввода
fontSizestring'1.5rem'Размер шрифта
borderRadiusstring'12px'Скругление углов
gapstring'12px'Отступ между полями ввода

Особенности

  • 🎨 Полностью настраиваемый внешний вид
  • ⌨️ Автоматический переход к следующему полю
  • ⌫ Поддержка backspace для возврата к предыдущему полю
  • 📱 Адаптивный дизайн
  • 🎯 Типизация TypeScript
  • 💅 Стилизация через styled-components

Лицензия

MIT