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