import type { ReactNode, HTMLAttributes, CSSProperties } from 'react';
export type BottomSheetSnapPoint = string;
export type BottomSheetSnapPoints = string[];
export interface BottomSheetProps extends HTMLAttributes {
/**
* Состояние шторки, открыта или скрыта.
* @default false
*/
opened?: boolean;
/**
* Слот для основного контента.
*/
children?: ReactNode;
/**
* Слот для контента перед Header.
*/
contentBeforeHeader?: ReactNode;
/**
* Слот для Header.
*/
contentHeader?: ReactNode;
/**
* Слот для Footer.
*/
contentFooter?: ReactNode;
/**
* Расположение ручки скрытия.
* @default inner
*/
handlePlacement?: 'inner' | 'outer';
/**
* Отображать ли кнопку закрытия.
* @default true
*/
hasClose?: boolean;
/**
* Показывать ли ручку.
* @default true
*/
hasHandle?: boolean;
/**
* Наличие оверлея шторки.
* Если включен, то контент под шторкой перекрывается оверлеем, при нажатии на который шторка закрывается.
* @default true
*/
withOverlay?: boolean;
/**
* Нужно ли применять blur для оверлея.
* @default true
*/
withBlur?: boolean;
/**
* Наличие состояния анимации/перехода.
* @default true
*/
withTransition?: boolean;
/**
* Максимальная высота раскрытия шторки.
* @default 66dvh
*/
maxHeight?: CSSProperties['maxHeight'];
/**
* Значение z-index для подложки. Шторка располагается на слой выше.
* @default 1000
*/
zIndex?: CSSProperties['zIndex'];
/**
* Обработчик закрытия шторки. Вызывается по кнопке закрытия или свайпом вниз,
* при клике по оверлею (если не передан onOverlayClick)
* и при нажатии ESC (если не передан onEscKeyDown).
*/
onClose?: () => void;
/**
* Точки остановки шторки.
* CSS-размеры: '320px', '50%', '40dvh'.
* Если не передано или массив пуст — snap-points отключены.
*/
snapPoints?: BottomSheetSnapPoints;
/**
* Начальная точка остановки.
* По умолчанию — первая из `snapPoints`.
*/
initialSnapPoint?: BottomSheetSnapPoint;
/**
* Обработчик смены активной точки остановки.
*/
onSnapPointChange?: (snapPoint: BottomSheetSnapPoint) => void;
/**
* Обработчик клика по оверлею (если не передан, используется onClose).
*/
onOverlayClick?: (event: React.MouseEvent) => void;
/**
* Закрывать шторку при нажатии на ESC.
* @default true
*/
closeOnEsc?: boolean;
/**
* Обработчик нажатия ESC (если не передан, используется onClose).
*/
onEscKeyDown?: (event: KeyboardEvent) => void;
/**
* Вид компонента.
*/
view?: string;
/**
* Размер компонента.
*/
size?: string;
}
//# sourceMappingURL=BottomSheet.types.d.ts.map