import { ReactNode, MutableRefObject, MouseEventHandler, FC } from 'react'; import { SwipeDirection } from './constants'; import { SwipeEndHandler, SwipeMoveHandler, SwipePreventHandler, SwipeStartHandler } from './swipeUtils'; export interface SwipeProps { /** Рендер функция, при вызове которой передается свойство swipeContainerProps с необходимыми пропсами для swipe элемента */ children?: (props: { swipeContainerProps: { ref: MutableRefObject; onMouseDown: MouseEventHandler; onMouseMove: MouseEventHandler; onMouseUp: MouseEventHandler; onMouseLeave: MouseEventHandler; }; }) => ReactNode; /** Расстояние для QuickSwipe в процентах от размера контейнера */ quickSwipePercent?: number; /** Минимальное расстояние для свайпа в процентах от размера контейнера */ minSwipePercent?: number; /** Расстояние от границ контейнера (в процентах от ширины), при клике или quick-tap на которых необходимо осуществлять свайп */ maxBorderOffsetPercent?: number; /** Колбек, вызывающийся, когда свайп не был закончен, необходимо откатить состояние к начальному */ onSwipePrevent?: SwipePreventHandler; /** Колбек, вызывающийся, когда свайп закончился корректно */ onSwipeEnd?: SwipeEndHandler; /** Колбек, вызывающийся, когда свайп начался */ onSwipeStart?: SwipeStartHandler; /** Колбек, вызывающийся, когда с пользователь двигает пальцем или мышкой */ onSwipeMove?: SwipeMoveHandler; /** Направление свайпа (по горизонтали/вертикали) */ direction?: SwipeDirection; } declare const Swipe: FC; export { SwipeDirection }; export default Swipe;