Initial project import
This commit is contained in:
81
node_modules/@use-gesture/react/dist/use-gesture-react.esm.js
generated
vendored
Normal file
81
node_modules/@use-gesture/react/dist/use-gesture-react.esm.js
generated
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
import { registerAction, dragAction, pinchAction, wheelAction, scrollAction, moveAction, hoverAction } from '@use-gesture/core/actions';
|
||||
export * from '@use-gesture/core/actions';
|
||||
import React from 'react';
|
||||
import { Controller, parseMergedHandlers } from '@use-gesture/core';
|
||||
export * from '@use-gesture/core/utils';
|
||||
export * from '@use-gesture/core/types';
|
||||
|
||||
function useRecognizers(handlers, config = {}, gestureKey, nativeHandlers) {
|
||||
const ctrl = React.useMemo(() => new Controller(handlers), []);
|
||||
ctrl.applyHandlers(handlers, nativeHandlers);
|
||||
ctrl.applyConfig(config, gestureKey);
|
||||
React.useEffect(ctrl.effect.bind(ctrl));
|
||||
React.useEffect(() => {
|
||||
return ctrl.clean.bind(ctrl);
|
||||
}, []);
|
||||
if (config.target === undefined) {
|
||||
return ctrl.bind.bind(ctrl);
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function useDrag(handler, config) {
|
||||
registerAction(dragAction);
|
||||
return useRecognizers({
|
||||
drag: handler
|
||||
}, config || {}, 'drag');
|
||||
}
|
||||
|
||||
function usePinch(handler, config) {
|
||||
registerAction(pinchAction);
|
||||
return useRecognizers({
|
||||
pinch: handler
|
||||
}, config || {}, 'pinch');
|
||||
}
|
||||
|
||||
function useWheel(handler, config) {
|
||||
registerAction(wheelAction);
|
||||
return useRecognizers({
|
||||
wheel: handler
|
||||
}, config || {}, 'wheel');
|
||||
}
|
||||
|
||||
function useScroll(handler, config) {
|
||||
registerAction(scrollAction);
|
||||
return useRecognizers({
|
||||
scroll: handler
|
||||
}, config || {}, 'scroll');
|
||||
}
|
||||
|
||||
function useMove(handler, config) {
|
||||
registerAction(moveAction);
|
||||
return useRecognizers({
|
||||
move: handler
|
||||
}, config || {}, 'move');
|
||||
}
|
||||
|
||||
function useHover(handler, config) {
|
||||
registerAction(hoverAction);
|
||||
return useRecognizers({
|
||||
hover: handler
|
||||
}, config || {}, 'hover');
|
||||
}
|
||||
|
||||
function createUseGesture(actions) {
|
||||
actions.forEach(registerAction);
|
||||
return function useGesture(_handlers, _config) {
|
||||
const {
|
||||
handlers,
|
||||
nativeHandlers,
|
||||
config
|
||||
} = parseMergedHandlers(_handlers, _config || {});
|
||||
return useRecognizers(handlers, config, undefined, nativeHandlers);
|
||||
};
|
||||
}
|
||||
|
||||
function useGesture(handlers, config) {
|
||||
const hook = createUseGesture([dragAction, pinchAction, scrollAction, wheelAction, moveAction, hoverAction]);
|
||||
return hook(handlers, config || {});
|
||||
}
|
||||
|
||||
export { createUseGesture, useDrag, useGesture, useHover, useMove, usePinch, useScroll, useWheel };
|
||||
Reference in New Issue
Block a user