InputPrivate

@cloud-ru/ds-input-private — внутренний строительный блок для полей ввода. Реализует общую визуальную обвязку: рамка по состоянию (focus / disabled / readonly / error), слоты под иконку, prefix/suffix, кнопку очистки и счётчик символов. Прямого применения в продуктовом коде не имеет — используйте публичные пакеты (@cloud-ru/ds-search, доменные поля), которые композируются поверх него.

Когда использовать

  • Создаёте новый публичный input-компонент и хотите получить готовое поведение состояний и слотов.
  • Реализуете кастомный фильтр / автокомплит и нужна та же обвязка, что у Search.

В продуктовом коде не импортируйте напрямую — берите публичный компонент.

Установка

pnpm add @cloud-ru/ds-input-private
import { InputPrivate, useClearButton, useButtonNavigation } from '@cloud-ru/ds-input-private'

Props

InputPrivate

Types

PropsInputPrivateProps
PropTypeDefaultRequiredDescription
autoCompletestring | booleanfalsenoВключен ли автокомплит для поля
autoFocusbooleanfalsenoВключен ли авто-фокус для поля
classNamestringnoCSS-класс
data-test-idstringno
disabledbooleanfalsenoЯвляется ли поле деактивированным
idstringnoЗначение html-атрибута id
inputMode"decimal" | "email" | "none" | "numeric" | "search" | "tel" | "text" | "url"textnoРежим работы экранной клавиатуры
maxnumbernoМаксимальное значение поля
maxLengthnumbernoМаксимальная длина вводимого значения
minnumbernoМинимальное значение поля
namestringnoЗначение html-атрибута name
onBlurFocusEventHandler<HTMLInputElement>noКолбек обработки потери фокуса
onChange((value: string, e?: ChangeEvent<HTMLInputElement>) => void)noКолбек смены значения
onClickMouseEventHandler<HTMLInputElement>noКолбек обработки клика
onFocusFocusEventHandler<HTMLInputElement>noКолбек обработки получения фокуса
onKeyDownKeyboardEventHandler<HTMLInputElement>noКолбек обработки начала нажатия клавиши клавиатуры
onMouseDownMouseEventHandler<HTMLInputElement>noКолбек обработки нажатия кнопки мыши
onPasteClipboardEventHandler<HTMLInputElement>noКолбек обработки вставки значения
patternstringnoРегулярное выражение валидного инпута
placeholderstringnoЗначение плейсхолдера
readonlybooleanfalsenoЯвляется ли поле доступным только для чтения
spellCheckbooleantruenoЗначение атрибута spellcheck (проверка орфографии)
stepstring | numbernoМаксимальное значение поля
tabIndexnumber0noЗначение атрибута tab-index
type"email" | "number" | "password" | "tel" | "text" | "url"textnoТип инпута
valuestringnoЗначение input

Unions

Types

InputPrivateProps

Unions

useButtonNavigation

Types

PropsUseButtonNavigationProps
PropTypeDefaultRequiredDescription
inputRefRefObject<T | null>yes
onButtonKeyDownKeyboardEventHandler<HTMLButtonElement>() => {}no
postfixButtonsButtonProps[]yes
prefixButtonsButtonProps[][]no
readonlybooleanyes
setInputFocus(() => void)() => focusWithoutScroll(inputRef.current)no
submitKeysstring[]yes

Types

UseButtonNavigationProps

useClearButton

Types

PropsUseClearButtonProps
PropTypeDefaultRequiredDescription
clearButtonRefRefObject<HTMLButtonElement | null>yes
dataTestIdstringbutton-clear-valuenodata-test-id кнопки. Переопределяется полем, когда у него свой публичный id слота.
disabledbooleanno
onClearMouseEventHandler<HTMLButtonElement>yes
onDownMouseEventHandler<HTMLButtonElement>no
showClearButtonbooleanyes
size"l" | "m" | "s"yes

Unions

Types

UseClearButtonProps

Unions

Смотри также