import { FC, PropsWithChildren, ReactNode } from 'react'; import { IPopupProps } from '../Popup/Popup'; import './Drawer.css'; declare type PartialPopupProps = Pick; export interface IDrawerAnimationParams { /** * Основные параметры анимации для rebound * @see https://github.com/facebook/rebound-js * * @default 230 */ tension: number; /** * @default 24 */ friction: number; /** * Отключает спринговые анимации (напр. для прогонов автотестов) */ disabled?: boolean; /** * Отключает анимации на момент перетаскивания шторки пальцем (таким образом делая их отзывчивее) */ dragImmediate?: boolean; } export interface IDrawerProps extends PropsWithChildren { /** * Функция, которая будет вызвана при попытке закрытия шторки. */ onClose?: () => void; /** * Функция, которая будет вызвана при завершении анимации закрытия шторки. */ onCloseEnd?: () => void; /** * Компонент шапки шторки. */ titleComponent?: ReactNode; /** * Делает шторку "статичной" */ dragDisabled?: boolean; /** * Меняет внешний вид для режима "шторка внутри шторки". */ nested?: boolean; /** * Направление, откуда появляется шторка. * * @default 'bottom' */ direction?: 'bottom' | 'left' | 'right'; /** * Максимальный размер шторки (ширина или высота в зависимости от direction). * Принимает любое валидное CSS значение. */ maxSize?: string; /** * Параметры анимации шторки. */ animation?: IDrawerAnimationParams; } /** * Используется для создания шторки. * @param {IDrawerProps} props */ export declare const Drawer: FC; export {};