import type { ReactNode, HTMLAttributes } from 'react'; export type SheetSnapPoint = string; export type SheetSnapPoints = string[]; export interface SheetProps extends HTMLAttributes { /** * Состояние шторки, открыта или скрыта */ opened?: boolean; /** * Обработчик закрытия шторки. Вызывается при смахивании шторки вниз, * при клике по оверлею (если не передан onOverlayClick) * и при нажатии ESC (если не передан onEscKeyDown). */ onClose: () => void; /** * Обработчик клика по оверлею (если не передан, используется onClose). */ onOverlayClick?: (event: React.MouseEvent) => void; /** * Закрывать шторку при нажатии на ESC. * @default true */ closeOnEsc?: boolean; /** * Обработчик нажатия ESC (если не передан, используется onClose). */ onEscKeyDown?: (event: KeyboardEvent) => void; /** * Слот для контента в заголовке */ contentHeader?: ReactNode; /** * Является ли заголовок фиксированным * @default * false */ isHeaderFixed?: boolean; /** * Слот для контента в нижней части */ contentFooter?: ReactNode; /** * Является ли нижняя часть фиксированной * @default * false */ isFooterFixed?: boolean; /** * Наличие ручки у шторки * @default * true */ hasHandle?: boolean; /** * Позиция шторки относительно подложки */ handlePlacement?: string; /** * Наличие оверлея шторки. Если включен, то контент под шторкой перекрывается оверлеем, при нажатии на * который шторка закрывается. * @default * true */ withOverlay?: boolean; /** * Нужно ли применять blur для подложки. * @default * false */ withBlur?: boolean; children?: ReactNode; /** * Наличие состояния анимации/перехода * @default * true */ withTransition?: boolean; /** * Throttling внутренних обработчиков события onScroll */ throttleMs?: number; /** * Наличие событий скролла * @default * true */ hasScrollEvents?: boolean; /** * Точки остановки шторки. * CSS-размеры: '320px', '50%', '40dvh'. * Если не передано или массив пуст — snap-points отключены. */ snapPoints?: SheetSnapPoints; /** * Начальная точка остановки. * По умолчанию — первая из `snapPoints`. */ initialSnapPoint?: SheetSnapPoint; /** * Обработчик смены активной точки остановки. */ onSnapPointChange?: (snapPoint: SheetSnapPoint) => void; view?: string; } export type CommonProps = Pick; export type SheetHookArgs = Pick; //# sourceMappingURL=Sheet.types.d.ts.map