import { TEventMap } from './types'; import Configurator from '../Configurator'; import Elementor from '../Elementor'; import Stater from '../Stater'; import ElState from '../Elementor/ElState'; /** * 托動控制器 * unmount 跟 blur 都需要 停止計時器 */ declare class Dragger { private _configurator; private _elementor; private _elState; private _locator; private _stater; private _eventor; private _moveMinDistancePx; constructor(manager: { configurator: Configurator; elementor: Elementor; elState: ElState; stater: Stater; }); onDragStart: (callBack?: TEventMap['dragStart']) => void; onDragMove: (callBack?: TEventMap['dragMove']) => void; onDragEnd: (callBack?: TEventMap['dragEnd']) => void; offDragStart: (callBack?: TEventMap['dragStart']) => void; offDragMove: (callBack?: TEventMap['dragMove']) => void; offDragEnd: (callBack?: TEventMap['dragEnd']) => void; /** * mobile phone finger press start * @param event */ private _onMobileTouchStart; /** * Mobile phone finger press and move * @param event */ private _onMobileTouchMove; /** * Mobile phone finger press to end * @param event * * PS: Add event.preventDefault(); will affect the mobile phone click onClick event */ private _onMobileTouchEnd; /** * Web mouse click * @param event */ private _onWebMouseStart; /** * Web mouse movement * @param event */ private _onWebMouseMove; /** * web mouse release * @param event */ private _onWebMouseEnd; private _dragStart; private _dragMove; /** * The object movement ends (confirm the stop position and which Index position should be sucked) */ private _dragEnd; } export default Dragger;