Search Private
Installation
npm i @snack-uikit/search-private
Description
- Пакет
@snack-uikit/search-privateпредоставляет компонентSearchPrivateдля реализации поисковых полей в интерфейсе. - Компонент является внутренним (private) и предназначен для использования внутри других пакетов UI Kit (например,
Search,Toolbar), а не напрямую в приложениях. SearchPrivateпредставляет собой поисковое поле с иконкой поиска в префиксе, кнопкой очистки значения в постфиксе и поддержкой состояния загрузки (отображается индикатор загрузки вместо иконки поиска).- Компонент поддерживает различные размеры (
size: 's' | 'm' | 'l'), управляется через пропыvalueиonChange, поддерживает обработчики фокуса (onFocus,onBlur) и подтверждения поиска по Enter (onSubmit). - Кнопка очистки значения появляется автоматически при наличии текста в поле и позволяет быстро очистить введённый поисковый запрос с сохранением фокуса на поле ввода.
- Компонент использует
InputPrivateв качестве базового элемента и поддерживает все стандартные пропы для работы с полем ввода.
Example
import { useState } from 'react';
import { SearchPrivate } from '@snack-uikit/search-private';
function Example() {
const [value, setValue] = useState('');
const [loading, setLoading] = useState(false);
const handleSubmit = (searchValue: string) => {
// Логика подтверждения поиска
console.log('Search submitted:', searchValue);
};
return (
<SearchPrivate
value={value}
onChange={setValue}
loading={loading}
onSubmit={handleSubmit}
size="m"
placeholder="Поиск..."
/>
);
}
SearchPrivate
Props
| name | type | default value | description |
|---|---|---|---|
| size | enum Size: "s", "m", "l" |
s | Размер |
| loading | boolean |
- | Состояние загрузки |
| onSubmit | (value: string) => void |
- | Колбек на подтверждение поиска по строке |
| className | string |
- | CSS-класс |
| tabIndex | number |
- | |
| value | string |
- | Значение input |
| onChange | (value: string, e?: ChangeEvent<HTMLInputElement>) => void |
- | Колбек смены значения |
| placeholder | string |
- | Значение плейсхолдера |
| onFocus | FocusEventHandler<HTMLInputElement> |
- | Колбек обработки получения фокуса |
| onBlur | FocusEventHandler<HTMLInputElement> |
- | Колбек обработки потери фокуса |
| onKeyDown | KeyboardEventHandler<HTMLInputElement> |
- | Колбек обработки начала нажатия клавиши клавиатуры |
| ref | LegacyRef<HTMLInputElement> |
- | Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). @see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs} |
| key | Key |
- |