Input

Однострочное поле ввода с дополнениями.

Input.Control получает строковое value и onChange(value, event); дополнения ставятся через Input.LeftAddon и Input.RightAddon.

Живой пример

Настройки примера

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

'use client';

import { Input } from '@prosazhin/pbcomponents';
import { useState } from 'react';

function Example() {
  const [value, setValue] = useState('');
  return (
    <Input>
      <Input.Control
        value={value}
        onChange={setValue}
        placeholder='Placeholder'
      />
    </Input>
  );
}

API компонента

Составные части: Input.Control, Input.LeftAddon, Input.RightAddon.

PropТип / вариантыНазначениеПо умолчанию
size's' | 'm's · mРазмер компонента.m
disabledbooleanБлокирует взаимодействие.false
errorbooleanПоказывает состояние ошибки.false
Input.Control.placeholderstringПодсказка в пустом поле.
Input.Control.valuestringТекущее значение управляемого компонента.
Input.Control.onChange(value: string, event: InputEvent) => voidСообщает новую строку и событие ввода.
classNamestringКласс корневого элемента.
wrapperClassNamestringКласс внешней обёртки.
Input.Control.typeHTML input typetext · number · email · password · url · tel · search · date · datetime-local · month · week · timeТип поля: text, email, password и другие нативные типы.text
Input.Control.leftIconSvgTypenone · check · search · userИконка перед текстом; принимает SVG-компонент.
Input.Control.rightIconSvgTypenone · check · search · userИконка после текста; принимает SVG-компонент.
Input.Control.leftIconClassNamestringКласс левой иконки.
Input.Control.rightIconClassNamestringКласс правой иконки.
Input.Control.textClassNamestringКласс текстовой части.

Нативные HTML-атрибуты поддерживаются там, где компонент рендерит соответствующий элемент. Параметры className управляют только оформлением.