import { ChangeEvent, KeyboardEvent, Ref } from 'react'; import { ScrollProps as OriginalScrollProps } from '@snack-uikit/scroll'; export type SearchState = { placeholder?: string; loading?: boolean; value?: string; onChange(value: string, e?: ChangeEvent): void; onKeyDown?(e: KeyboardEvent): void; }; export type ScrollProps = { /** Включить ли скролл для основной части списка */ scroll?: boolean; /** Ссылка на элемент, обозначающий самый конец прокручиваемого списка */ scrollRef?: Ref; /** Ссылка на контейнер, который скроллится */ scrollContainerRef?: Ref; /** Отключает возможность взаимодействовать со скролбарами мышью. */ untouchableScrollbars?: boolean; /** * Управление скрытием скролл баров: *
- `Never` - показывать всегда *
- `Leave` - скрывать когда курсор покидает компонент *
- `Scroll` - показывать только когда происходит скроллинг *
- `Move` - показывать при движении курсора над компонентом */ barHideStrategy?: OriginalScrollProps['barHideStrategy']; /** Колбек на скролл прокручиваемого списка */ onScroll?: OriginalScrollProps['onScroll']; };