@tamagui/react-native-web-lite
Version:
React Native for Web
85 lines (84 loc) • 4.51 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: !0 });
}, __copyProps = (to, from, except, desc) => {
if (from && typeof from == "object" || typeof from == "function")
for (let key of __getOwnPropNames(from))
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
var PanResponder_exports = {};
__export(PanResponder_exports, {
default: () => PanResponder_default
});
module.exports = __toCommonJS(PanResponder_exports);
var currentCentroidXOfTouchesChangedAfter = function() {
return 0;
}, currentCentroidYOfTouchesChangedAfter = function() {
return 0;
}, previousCentroidXOfTouchesChangedAfter = function() {
return 0;
}, previousCentroidYOfTouchesChangedAfter = function() {
return 0;
}, PanResponder = {
_initializeGestureState(gestureState) {
gestureState.moveX = 0, gestureState.moveY = 0, gestureState.x0 = 0, gestureState.y0 = 0, gestureState.dx = 0, gestureState.dy = 0, gestureState.vx = 0, gestureState.vy = 0, gestureState.numberActiveTouches = 0, gestureState._accountsForMovesUpTo = 0;
},
_updateGestureStateOnMove(gestureState, touchHistory) {
gestureState.numberActiveTouches = touchHistory.numberActiveTouches, gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo), gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);
var movedAfter = gestureState._accountsForMovesUpTo, prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter), prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter), nextDX = gestureState.dx + (gestureState.moveX - prevX), nextDY = gestureState.dy + (gestureState.moveY - prevY), dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;
gestureState.vx = (nextDX - gestureState.dx) / dt, gestureState.vy = (nextDY - gestureState.dy) / dt, gestureState.dx = nextDX, gestureState.dy = nextDY, gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;
},
create(config) {
var _this = this, interactionState = {
handle: null
}, gestureState = {
stateID: Math.random(),
moveX: 0,
moveY: 0,
x0: 0,
y0: 0,
dx: 0,
dy: 0,
vx: 0,
vy: 0,
numberActiveTouches: 0,
_accountsForMovesUpTo: 0
}, panHandlers = {
onStartShouldSetResponder: function(evt) {
return config.onStartShouldSetPanResponder ? config.onStartShouldSetPanResponder(evt, gestureState) : !1;
},
onMoveShouldSetResponder: function(evt) {
return config.onMoveShouldSetPanResponder ? config.onMoveShouldSetPanResponder(evt, gestureState) : !1;
},
onResponderGrant: function(evt) {
_this._initializeGestureState(gestureState), gestureState.x0 = evt.nativeEvent.pageX || 0, gestureState.y0 = evt.nativeEvent.pageY || 0, config.onPanResponderGrant && config.onPanResponderGrant(evt, gestureState);
},
onResponderMove: function(evt) {
evt.nativeEvent.touches && evt.nativeEvent.touches.length === 1 && _this._updateGestureStateOnMove(gestureState, evt.nativeEvent), config.onPanResponderMove && config.onPanResponderMove(evt, gestureState);
},
onResponderRelease: function(evt) {
config.onPanResponderRelease && config.onPanResponderRelease(evt, gestureState), interactionState.handle && (interactionState.handle = null);
},
onResponderTerminate: function(evt) {
config.onPanResponderTerminate && config.onPanResponderTerminate(evt, gestureState), interactionState.handle && (interactionState.handle = null);
},
onResponderTerminationRequest: function(evt) {
return config.onPanResponderTerminationRequest ? config.onPanResponderTerminationRequest(evt, gestureState) : !0;
}
};
return {
panHandlers,
getInteractionHandle() {
return interactionState.handle;
}
};
}
}, PanResponder_default = PanResponder;
//# sourceMappingURL=index.js.map