You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
46 KiB
1 line
46 KiB
{"ast":null,"code":"import _defineProperty2 from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _get from \"@babel/runtime/helpers/get\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nvar _excluded = [\"enabled\"];\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport PixelRatio from \"react-native-web/dist/exports/PixelRatio\";\nimport { State } from \"../../State\";\nimport { DEFAULT_TOUCH_SLOP } from \"../constants\";\nimport GestureHandler from \"./GestureHandler\";\nvar DEFAULT_MIN_POINTERS = 1;\nvar DEFAULT_MAX_POINTERS = 10;\nvar DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\nvar PanGestureHandler = function (_GestureHandler) {\n _inherits(PanGestureHandler, _GestureHandler);\n var _super = _createSuper(PanGestureHandler);\n function PanGestureHandler() {\n var _this;\n _classCallCheck(this, PanGestureHandler);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"customActivationProperties\", ['activeOffsetXStart', 'activeOffsetXEnd', 'failOffsetXStart', 'failOffsetXEnd', 'activeOffsetYStart', 'activeOffsetYEnd', 'failOffsetYStart', 'failOffsetYEnd', 'minVelocityX', 'minVelocityY']);\n _defineProperty(_assertThisInitialized(_this), \"velocityX\", 0);\n _defineProperty(_assertThisInitialized(_this), \"velocityY\", 0);\n _defineProperty(_assertThisInitialized(_this), \"minDistSq\", DEFAULT_MIN_DIST_SQ);\n _defineProperty(_assertThisInitialized(_this), \"activeOffsetXStart\", -Number.MAX_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"activeOffsetXEnd\", Number.MIN_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"failOffsetXStart\", Number.MIN_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"failOffsetXEnd\", Number.MAX_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"activeOffsetYStart\", Number.MAX_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"activeOffsetYEnd\", Number.MIN_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"failOffsetYStart\", Number.MIN_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"failOffsetYEnd\", Number.MAX_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"minVelocityX\", Number.MAX_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"minVelocityY\", Number.MAX_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"minVelocitySq\", Number.MAX_SAFE_INTEGER);\n _defineProperty(_assertThisInitialized(_this), \"minPointers\", DEFAULT_MIN_POINTERS);\n _defineProperty(_assertThisInitialized(_this), \"maxPointers\", DEFAULT_MAX_POINTERS);\n _defineProperty(_assertThisInitialized(_this), \"startX\", 0);\n _defineProperty(_assertThisInitialized(_this), \"startY\", 0);\n _defineProperty(_assertThisInitialized(_this), \"offsetX\", 0);\n _defineProperty(_assertThisInitialized(_this), \"offsetY\", 0);\n _defineProperty(_assertThisInitialized(_this), \"lastX\", 0);\n _defineProperty(_assertThisInitialized(_this), \"lastY\", 0);\n _defineProperty(_assertThisInitialized(_this), \"activateAfterLongPress\", 0);\n _defineProperty(_assertThisInitialized(_this), \"activationTimeout\", 0);\n return _this;\n }\n _createClass(PanGestureHandler, [{\n key: \"init\",\n value: function init(ref, propsRef) {\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"init\", this).call(this, ref, propsRef);\n }\n }, {\n key: \"updateGestureConfig\",\n value: function updateGestureConfig(_ref) {\n var _ref$enabled = _ref.enabled,\n enabled = _ref$enabled === void 0 ? true : _ref$enabled,\n props = _objectWithoutProperties(_ref, _excluded);\n this.resetConfig();\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"updateGestureConfig\", this).call(this, _objectSpread({\n enabled: enabled\n }, props));\n this.checkCustomActivationCriteria(this.customActivationProperties);\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n }\n }, {\n key: \"resetConfig\",\n value: function resetConfig() {\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"resetConfig\", this).call(this);\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n this.activateAfterLongPress = 0;\n }\n }, {\n key: \"transformNativeEvent\",\n value: function transformNativeEvent() {\n var rect = this.view.getBoundingClientRect();\n var ratio = PixelRatio.get();\n var translationX = this.getTranslationX();\n var translationY = this.getTranslationY();\n return {\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n absoluteX: this.tracker.getLastAvgX(),\n absoluteY: this.tracker.getLastAvgY(),\n velocityX: this.velocityX * ratio * 10,\n velocityY: this.velocityY * ratio * 10,\n x: this.tracker.getLastAvgX() - rect.left,\n y: this.tracker.getLastAvgY() - rect.top\n };\n }\n }, {\n key: \"getTranslationX\",\n value: function getTranslationX() {\n return this.lastX - this.startX + this.offsetX;\n }\n }, {\n key: \"getTranslationY\",\n value: function getTranslationY() {\n return this.lastY - this.startY + this.offsetY;\n }\n }, {\n key: \"clearActivationTimeout\",\n value: function clearActivationTimeout() {\n clearTimeout(this.activationTimeout);\n }\n }, {\n key: \"onPointerDown\",\n value: function onPointerDown(event) {\n this.tracker.addToTracker(event);\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"onPointerDown\", this).call(this, event);\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.tryBegin(event);\n this.checkBegan();\n }\n }, {\n key: \"onPointerAdd\",\n value: function onPointerAdd(event) {\n this.tracker.addToTracker(event);\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"onPointerAdd\", this).call(this, event);\n this.tryBegin(event);\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.startX = this.lastX;\n this.startY = this.lastY;\n if (this.tracker.getTrackedPointersCount() > this.maxPointers) {\n if (this.currentState === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n }, {\n key: \"onPointerUp\",\n value: function onPointerUp(event) {\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"onPointerUp\", this).call(this, event);\n if (this.currentState === State.ACTIVE) {\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n }\n this.tracker.removeFromTracker(event.pointerId);\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n }, {\n key: \"onPointerRemove\",\n value: function onPointerRemove(event) {\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"onPointerRemove\", this).call(this, event);\n this.tracker.removeFromTracker(event.pointerId);\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.startX = this.lastX;\n this.startY = this.lastY;\n if (!(this.currentState === State.ACTIVE && this.tracker.getTrackedPointersCount() < this.minPointers)) {\n this.checkBegan();\n }\n }\n }, {\n key: \"onPointerMove\",\n value: function onPointerMove(event) {\n this.tracker.track(event);\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n this.checkBegan();\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"onPointerMove\", this).call(this, event);\n }\n }, {\n key: \"onPointerCancel\",\n value: function onPointerCancel(event) {\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"onPointerCancel\", this).call(this, event);\n this.reset();\n }\n }, {\n key: \"onPointerOutOfBounds\",\n value: function onPointerOutOfBounds(event) {\n if (this.getShouldCancelWhenOutside()) {\n return;\n }\n this.tracker.track(event);\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n this.checkBegan();\n if (this.currentState === State.ACTIVE) {\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"onPointerOutOfBounds\", this).call(this, event);\n }\n }\n }, {\n key: \"shouldActivate\",\n value: function shouldActivate() {\n var dx = this.getTranslationX();\n if (this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER && dx < this.activeOffsetXStart) {\n return true;\n }\n if (this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER && dx > this.activeOffsetXEnd) {\n return true;\n }\n var dy = this.getTranslationY();\n if (this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER && dy < this.activeOffsetYStart) {\n return true;\n }\n if (this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER && dy > this.activeOffsetYEnd) {\n return true;\n }\n var distanceSq = dx * dx + dy * dy;\n if (this.minDistSq !== Number.MAX_SAFE_INTEGER && distanceSq >= this.minDistSq) {\n return true;\n }\n var vx = this.velocityX;\n if (this.minVelocityX !== Number.MAX_SAFE_INTEGER && (this.minVelocityX < 0 && vx <= this.minVelocityX || this.minVelocityX >= 0 && this.minVelocityX <= vx)) {\n return true;\n }\n var vy = this.velocityY;\n if (this.minVelocityY !== Number.MAX_SAFE_INTEGER && (this.minVelocityY < 0 && vy <= this.minVelocityY || this.minVelocityY >= 0 && this.minVelocityY <= vy)) {\n return true;\n }\n var velocitySq = vx * vx + vy * vy;\n return this.minVelocitySq !== Number.MAX_SAFE_INTEGER && velocitySq >= this.minVelocitySq;\n }\n }, {\n key: \"shouldFail\",\n value: function shouldFail() {\n var dx = this.getTranslationX();\n var dy = this.getTranslationY();\n var distanceSq = dx * dx + dy * dy;\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n if (this.failOffsetXStart !== Number.MIN_SAFE_INTEGER && dx < this.failOffsetXStart) {\n return true;\n }\n if (this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER && dx > this.failOffsetXEnd) {\n return true;\n }\n if (this.failOffsetYStart !== Number.MIN_SAFE_INTEGER && dy < this.failOffsetYStart) {\n return true;\n }\n return this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER && dy > this.failOffsetYEnd;\n }\n }, {\n key: \"tryBegin\",\n value: function tryBegin(event) {\n var _this2 = this;\n if (this.currentState === State.UNDETERMINED && this.tracker.getTrackedPointersCount() >= this.minPointers) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n this.begin();\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(function () {\n _this2.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n }\n }\n }, {\n key: \"checkBegan\",\n value: function checkBegan() {\n if (this.currentState === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n }, {\n key: \"activate\",\n value: function activate() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (this.currentState !== State.ACTIVE) {\n this.resetProgress();\n }\n _get(_getPrototypeOf(PanGestureHandler.prototype), \"activate\", this).call(this, force);\n }\n }, {\n key: \"onCancel\",\n value: function onCancel() {\n this.clearActivationTimeout();\n }\n }, {\n key: \"onReset\",\n value: function onReset() {\n this.clearActivationTimeout();\n }\n }, {\n key: \"resetProgress\",\n value: function resetProgress() {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n }]);\n return PanGestureHandler;\n}(GestureHandler);\nexport { PanGestureHandler as default };","map":{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAASA,KAAT;AACA,SAASC,kBAAT;AAGA,OAAOC,cAAP;AAEA,IAAMC,oBAAoB,GAAG,CAA7B;AACA,IAAMC,oBAAoB,GAAG,EAA7B;AACA,IAAMC,mBAAmB,GAAGJ,kBAAkB,GAAGA,kBAAjD;AAAA,IAEqBK,iBAAN;EAAA;EAAA;EAA+C;IAAA;IAAA;IAAA;MAAAC;IAAA;IAAA;IAAAC,6EACJ,CACtD,oBADsD,EAEtD,kBAFsD,EAGtD,kBAHsD,EAItD,gBAJsD,EAKtD,oBALsD,EAMtD,kBANsD,EAOtD,kBAPsD,EAQtD,gBARsD,EAStD,cATsD,EAUtD,cAVsD,CADI;IAAAA,4DAczC,CAdyC;IAAAA,4DAezC,CAfyC;IAAAA,4DAiBxCH,mBAjBwC;IAAAG,qEAmB/B,CAACC,MAAM,CAACC,gBAnBuB;IAAAF,mEAoBjCC,MAAM,CAACE,gBApB0B;IAAAH,mEAqBjCC,MAAM,CAACE,gBArB0B;IAAAH,iEAsBnCC,MAAM,CAACC,gBAtB4B;IAAAF,qEAwB/BC,MAAM,CAACC,gBAxBwB;IAAAF,mEAyBjCC,MAAM,CAACE,gBAzB0B;IAAAH,mEA0BjCC,MAAM,CAACE,gBA1B0B;IAAAH,iEA2BnCC,MAAM,CAACC,gBA3B4B;IAAAF,+DA6BrCC,MAAM,CAACC,gBA7B8B;IAAAF,+DA8BrCC,MAAM,CAACC,gBA9B8B;IAAAF,gEA+BpCC,MAAM,CAACC,gBA/B6B;IAAAF,8DAiCtCL,oBAjCsC;IAAAK,8DAkCtCJ,oBAlCsC;IAAAI,yDAoC3C,CApC2C;IAAAA,yDAqC3C,CArC2C;IAAAA,0DAsC1C,CAtC0C;IAAAA,0DAuC1C,CAvC0C;IAAAA,wDAwC5C,CAxC4C;IAAAA,wDAyC5C,CAzC4C;IAAAA,yEA2C3B,CA3C2B;IAAAA,oEA4ChC,CA5CgC;IAAA;EAAA;EAAA;IAAA;IAAA,OA8CrDI,cAAKC,GAAD,EAAcC,QAAd,EAAwD;MACjE,4EAAWD,GAAX,EAAgBC,QAAhB;IACD;EAAA;IAAA;IAAA,OAEMC,mCAAgE;MAAA,wBAA1CC,OAAO;QAAPA,OAAO,6BAAG,IAAZ;QAAqBC;MAC9C,KAAKC,WAAL;MAEA;QAA4BF,OAAO,EAAEA;MAAX,GAAuBC;MACjD,KAAKE,6BAAL,CAAmC,KAAKC,0BAAxC;MAEA,IAAI,KAAKC,MAAL,CAAYC,OAAZ,KAAwBC,SAA5B,EAAuC;QACrC,KAAKC,SAAL,GAAiB,KAAKH,MAAL,CAAYC,OAAZ,GAAsB,KAAKD,MAAL,CAAYC,OAAnD;MACD,CAFD,MAEO,IAAI,KAAKG,2BAAT,EAAsC;QAC3C,KAAKD,SAAL,GAAiBf,MAAM,CAACC,gBAAxB;MACD;MAED,IAAI,KAAKW,MAAL,CAAYK,WAAZ,KAA4BH,SAAhC,EAA2C;QACzC,KAAKG,WAAL,GAAmB,KAAKL,MAAL,CAAYK,WAA/B;MACD;MAED,IAAI,KAAKL,MAAL,CAAYM,WAAZ,KAA4BJ,SAAhC,EAA2C;QACzC,KAAKI,WAAL,GAAmB,KAAKN,MAAL,CAAYM,WAA/B;MACD;MAED,IAAI,KAAKN,MAAL,CAAYO,WAAZ,KAA4BL,SAAhC,EAA2C;QACzC,KAAKM,YAAL,GAAoB,KAAKR,MAAL,CAAYO,WAAhC;QACA,KAAKE,YAAL,GAAoB,KAAKT,MAAL,CAAYO,WAAhC;MACD;MAED,IAAI,KAAKP,MAAL,CAAYQ,YAAZ,KAA6BN,SAAjC,EAA4C;QAC1C,KAAKM,YAAL,GAAoB,KAAKR,MAAL,CAAYQ,YAAhC;MACD;MAED,IAAI,KAAKR,MAAL,CAAYS,YAAZ,KAA6BP,SAAjC,EAA4C;QAC1C,KAAKO,YAAL,GAAoB,KAAKT,MAAL,CAAYS,YAAhC;MACD;MAED,IAAI,KAAKT,MAAL,CAAYU,sBAAZ,KAAuCR,SAA3C,EAAsD;QACpD,KAAKQ,sBAAL,GAA8B,KAAKV,MAAL,CAAYU,sBAA1C;MACD;MAED,IAAI,KAAKV,MAAL,CAAYW,kBAAZ,KAAmCT,SAAvC,EAAkD;QAChD,KAAKS,kBAAL,GAA0B,KAAKX,MAAL,CAAYW,kBAAtC;QAEA,IAAI,KAAKX,MAAL,CAAYY,gBAAZ,KAAiCV,SAArC,EAAgD;UAC9C,KAAKU,gBAAL,GAAwBxB,MAAM,CAACC,gBAA/B;QACD;MACF;MAED,IAAI,KAAKW,MAAL,CAAYY,gBAAZ,KAAiCV,SAArC,EAAgD;QAC9C,KAAKU,gBAAL,GAAwB,KAAKZ,MAAL,CAAYY,gBAApC;QAEA,IAAI,KAAKZ,MAAL,CAAYW,kBAAZ,KAAmCT,SAAvC,EAAkD;UAChD,KAAKS,kBAAL,GAA0BvB,MAAM,CAACE,gBAAjC;QACD;MACF;MAED,IAAI,KAAKU,MAAL,CAAYa,gBAAZ,KAAiCX,SAArC,EAAgD;QAC9C,KAAKW,gBAAL,GAAwB,KAAKb,MAAL,CAAYa,gBAApC;QAEA,IAAI,KAAKb,MAAL,CAAYc,cAAZ,KAA+BZ,SAAnC,EAA8C;UAC5C,KAAKY,cAAL,GAAsB1B,MAAM,CAACC,gBAA7B;QACD;MACF;MAED,IAAI,KAAKW,MAAL,CAAYc,cAAZ,KAA+BZ,SAAnC,EAA8C;QAC5C,KAAKY,cAAL,GAAsB,KAAKd,MAAL,CAAYc,cAAlC;QAEA,IAAI,KAAKd,MAAL,CAAYa,gBAAZ,KAAiCX,SAArC,EAAgD;UAC9C,KAAKW,gBAAL,GAAwBzB,MAAM,CAACE,gBAA/B;QACD;MACF;MAED,IAAI,KAAKU,MAAL,CAAYe,kBAAZ,KAAmCb,SAAvC,EAAkD;QAChD,KAAKa,kBAAL,GAA0B,KAAKf,MAAL,CAAYe,kBAAtC;QAEA,IAAI,KAAKf,MAAL,CAAYgB,gBAAZ,KAAiCd,SAArC,EAAgD;UAC9C,KAAKc,gBAAL,GAAwB5B,MAAM,CAACC,gBAA/B;QACD;MACF;MAED,IAAI,KAAKW,MAAL,CAAYgB,gBAAZ,KAAiCd,SAArC,EAAgD;QAC9C,KAAKc,gBAAL,GAAwB,KAAKhB,MAAL,CAAYgB,gBAApC;QAEA,IAAI,KAAKhB,MAAL,CAAYe,kBAAZ,KAAmCb,SAAvC,EAAkD;UAChD,KAAKa,kBAAL,GAA0B3B,MAAM,CAACE,gBAAjC;QACD;MACF;MAED,IAAI,KAAKU,MAAL,CAAYiB,gBAAZ,KAAiCf,SAArC,EAAgD;QAC9C,KAAKe,gBAAL,GAAwB,KAAKjB,MAAL,CAAYiB,gBAApC;QAEA,IAAI,KAAKjB,MAAL,CAAYkB,cAAZ,KAA+BhB,SAAnC,EAA8C;UAC5C,KAAKgB,cAAL,GAAsB9B,MAAM,CAACC,gBAA7B;QACD;MACF;MAED,IAAI,KAAKW,MAAL,CAAYkB,cAAZ,KAA+BhB,SAAnC,EAA8C;QAC5C,KAAKgB,cAAL,GAAsB,KAAKlB,MAAL,CAAYkB,cAAlC;QAEA,IAAI,KAAKlB,MAAL,CAAYiB,gBAAZ,KAAiCf,SAArC,EAAgD;UAC9C,KAAKe,gBAAL,GAAwB7B,MAAM,CAACE,gBAA/B;QACD;MACF;IACF;EAAA;IAAA;IAAA,OAESO,uBAAoB;MAC5B;MAEA,KAAKc,kBAAL,GAA0B,CAACvB,MAAM,CAACC,gBAAlC;MACA,KAAKuB,gBAAL,GAAwBxB,MAAM,CAACE,gBAA/B;MACA,KAAKuB,gBAAL,GAAwBzB,MAAM,CAACE,gBAA/B;MACA,KAAKwB,cAAL,GAAsB1B,MAAM,CAACC,gBAA7B;MAEA,KAAK0B,kBAAL,GAA0B3B,MAAM,CAACC,gBAAjC;MACA,KAAK2B,gBAAL,GAAwB5B,MAAM,CAACE,gBAA/B;MACA,KAAK2B,gBAAL,GAAwB7B,MAAM,CAACE,gBAA/B;MACA,KAAK4B,cAAL,GAAsB9B,MAAM,CAACC,gBAA7B;MAEA,KAAKmB,YAAL,GAAoBpB,MAAM,CAACC,gBAA3B;MACA,KAAKoB,YAAL,GAAoBrB,MAAM,CAACC,gBAA3B;MACA,KAAK8B,aAAL,GAAqB/B,MAAM,CAACC,gBAA5B;MAEA,KAAKc,SAAL,GAAiBnB,mBAAjB;MAEA,KAAKqB,WAAL,GAAmBvB,oBAAnB;MACA,KAAKwB,WAAL,GAAmBvB,oBAAnB;MAEA,KAAK2B,sBAAL,GAA8B,CAA9B;IACD;EAAA;IAAA;IAAA,OAESU,gCAAuB;MAC/B,IAAMC,IAAa,GAAG,KAAKC,IAAL,CAAUC,qBAAV,EAAtB;MACA,IAAMC,KAAK,GAAGC,UAAU,CAACC,GAAX,EAAd;MAEA,IAAMC,YAAoB,GAAG,KAAKC,eAAL,EAA7B;MACA,IAAMC,YAAoB,GAAG,KAAKC,eAAL,EAA7B;MAEA,OAAO;QACLH,YAAY,EAAEI,KAAK,CAACJ,YAAD,CAAL,GAAsB,CAAtB,GAA0BA,YADnC;QAELE,YAAY,EAAEE,KAAK,CAACF,YAAD,CAAL,GAAsB,CAAtB,GAA0BA,YAFnC;QAGLG,SAAS,EAAE,KAAKC,OAAL,CAAaC,WAAb,EAHN;QAILC,SAAS,EAAE,KAAKF,OAAL,CAAaG,WAAb,EAJN;QAKLC,SAAS,EAAE,KAAKA,SAAL,GAAiBb,KAAjB,GAAyB,EAL/B;QAMLc,SAAS,EAAE,KAAKA,SAAL,GAAiBd,KAAjB,GAAyB,EAN/B;QAOLe,CAAC,EAAE,KAAKN,OAAL,CAAaC,WAAb,KAA6Bb,IAAI,CAACmB,IAPhC;QAQLC,CAAC,EAAE,KAAKR,OAAL,CAAaG,WAAb,KAA6Bf,IAAI,CAACqB;MARhC,CAAP;IAUD;EAAA;IAAA;IAAA,OAEOd,2BAA0B;MAChC,OAAO,KAAKe,KAAL,GAAa,KAAKC,MAAlB,GAA2B,KAAKC,OAAvC;IACD;EAAA;IAAA;IAAA,OACOf,2BAA0B;MAChC,OAAO,KAAKgB,KAAL,GAAa,KAAKC,MAAlB,GAA2B,KAAKC,OAAvC;IACD;EAAA;IAAA;IAAA,OAEOC,kCAA+B;MACrCC,YAAY,CAAC,KAAKC,iBAAN,CAAZ;IACD;EA7M2D;IAAA;IAAA,OAgNlDC,uBAAcC,KAAD,EAA4B;MACjD,KAAKpB,OAAL,CAAaqB,YAAb,CAA0BD,KAA1B;MACA,qFAAoBA,KAApB;MAEA,KAAKV,KAAL,GAAa,KAAKV,OAAL,CAAaC,WAAb,EAAb;MACA,KAAKY,KAAL,GAAa,KAAKb,OAAL,CAAaG,WAAb,EAAb;MAEA,KAAKmB,QAAL,CAAcF,KAAd;MACA,KAAKG,UAAL;IACD;EAAA;IAAA;IAAA,OAESC,sBAAaJ,KAAD,EAA4B;MAChD,KAAKpB,OAAL,CAAaqB,YAAb,CAA0BD,KAA1B;MACA,oFAAmBA,KAAnB;MACA,KAAKE,QAAL,CAAcF,KAAd;MAEA,KAAKR,OAAL,IAAgB,KAAKF,KAAL,GAAa,KAAKC,MAAlC;MACA,KAAKI,OAAL,IAAgB,KAAKF,KAAL,GAAa,KAAKC,MAAlC;MAEA,KAAKJ,KAAL,GAAa,KAAKV,OAAL,CAAaC,WAAb,EAAb;MACA,KAAKY,KAAL,GAAa,KAAKb,OAAL,CAAaG,WAAb,EAAb;MAEA,KAAKQ,MAAL,GAAc,KAAKD,KAAnB;MACA,KAAKI,MAAL,GAAc,KAAKD,KAAnB;MAEA,IAAI,KAAKb,OAAL,CAAayB,uBAAb,KAAyC,KAAKpD,WAAlD,EAA+D;QAC7D,IAAI,KAAKqD,YAAL,KAAsBhF,KAAK,CAACiF,MAAhC,EAAwC;UACtC,KAAKC,MAAL;QACD,CAFD,MAEO;UACL,KAAKC,IAAL;QACD;MACF,CAND,MAMO;QACL,KAAKN,UAAL;MACD;IACF;EAAA;IAAA;IAAA,OAESO,qBAAYV,KAAD,EAA4B;MAC/C,mFAAkBA,KAAlB;MAEA,IAAI,KAAKM,YAAL,KAAsBhF,KAAK,CAACiF,MAAhC,EAAwC;QACtC,KAAKjB,KAAL,GAAa,KAAKV,OAAL,CAAaC,WAAb,EAAb;QACA,KAAKY,KAAL,GAAa,KAAKb,OAAL,CAAaG,WAAb,EAAb;MACD;MAED,KAAKH,OAAL,CAAa+B,iBAAb,CAA+BX,KAAK,CAACY,SAArC;MAEA,IAAI,KAAKN,YAAL,KAAsBhF,KAAK,CAACiF,MAAhC,EAAwC;QACtC,KAAKM,GAAL;MACD,CAFD,MAEO;QACL,KAAKC,aAAL;QACA,KAAKL,IAAL;MACD;IACF;EAAA;IAAA;IAAA,OACSM,yBAAgBf,KAAD,EAA4B;MACnD,uFAAsBA,KAAtB;MACA,KAAKpB,OAAL,CAAa+B,iBAAb,CAA+BX,KAAK,CAACY,SAArC;MAEA,KAAKpB,OAAL,IAAgB,KAAKF,KAAL,GAAa,KAAKC,MAAlC;MACA,KAAKI,OAAL,IAAgB,KAAKF,KAAL,GAAa,KAAKC,MAAlC;MAEA,KAAKJ,KAAL,GAAa,KAAKV,OAAL,CAAaC,WAAb,EAAb;MACA,KAAKY,KAAL,GAAa,KAAKb,OAAL,CAAaG,WAAb,EAAb;MAEA,KAAKQ,MAAL,GAAc,KAAKD,KAAnB;MACA,KAAKI,MAAL,GAAc,KAAKD,KAAnB;MAEA,IACE,EACE,KAAKa,YAAL,KAAsBhF,KAAK,CAACiF,MAA5B,IACA,KAAK3B,OAAL,CAAayB,uBAAb,KAAyC,KAAKrD,WAFhD,CADF,EAKE;QACA,KAAKmD,UAAL;MACD;IACF;EAAA;IAAA;IAAA,OAESa,uBAAchB,KAAD,EAA4B;MACjD,KAAKpB,OAAL,CAAaqC,KAAb,CAAmBjB,KAAnB;MAEA,KAAKV,KAAL,GAAa,KAAKV,OAAL,CAAaC,WAAb,EAAb;MACA,KAAKY,KAAL,GAAa,KAAKb,OAAL,CAAaG,WAAb,EAAb;MACA,KAAKC,SAAL,GAAiB,KAAKJ,OAAL,CAAasC,YAAb,CAA0BlB,KAAK,CAACY,SAAhC,CAAjB;MACA,KAAK3B,SAAL,GAAiB,KAAKL,OAAL,CAAauC,YAAb,CAA0BnB,KAAK,CAACY,SAAhC,CAAjB;MAEA,KAAKT,UAAL;MAEA,qFAAoBH,KAApB;IACD;EAAA;IAAA;IAAA,OAESoB,yBAAgBpB,KAAD,EAA4B;MACnD,uFAAsBA,KAAtB;MAEA,KAAKqB,KAAL;IACD;EAAA;IAAA;IAAA,OACSC,8BAAqBtB,KAAD,EAA4B;MACxD,IAAI,KAAKuB,0BAAL,EAAJ,EAAuC;QACrC;MACD;MAED,KAAK3C,OAAL,CAAaqC,KAAb,CAAmBjB,KAAnB;MAEA,KAAKV,KAAL,GAAa,KAAKV,OAAL,CAAaC,WAAb,EAAb;MACA,KAAKY,KAAL,GAAa,KAAKb,OAAL,CAAaG,WAAb,EAAb;MACA,KAAKC,SAAL,GAAiB,KAAKJ,OAAL,CAAasC,YAAb,CAA0BlB,KAAK,CAACY,SAAhC,CAAjB;MACA,KAAK3B,SAAL,GAAiB,KAAKL,OAAL,CAAauC,YAAb,CAA0BnB,KAAK,CAACY,SAAhC,CAAjB;MAEA,KAAKT,UAAL;MAEA,IAAI,KAAKG,YAAL,KAAsBhF,KAAK,CAACiF,MAAhC,EAAwC;QACtC,4FAA2BP,KAA3B;MACD;IACF;EAAA;IAAA;IAAA,OAEOwB,0BAA0B;MAChC,IAAMC,EAAU,GAAG,KAAKlD,eAAL,EAAnB;MAEA,IACE,KAAKjB,kBAAL,KAA4BvB,MAAM,CAACC,gBAAnC,IACAyF,EAAE,GAAG,KAAKnE,kBAFZ,EAGE;QACA,OAAO,IAAP;MACD;MAED,IACE,KAAKC,gBAAL,KAA0BxB,MAAM,CAACE,gBAAjC,IACAwF,EAAE,GAAG,KAAKlE,gBAFZ,EAGE;QACA,OAAO,IAAP;MACD;MAED,IAAMmE,EAAU,GAAG,KAAKjD,eAAL,EAAnB;MAEA,IACE,KAAKf,kBAAL,KAA4B3B,MAAM,CAACC,gBAAnC,IACA0F,EAAE,GAAG,KAAKhE,kBAFZ,EAGE;QACA,OAAO,IAAP;MACD;MAED,IACE,KAAKC,gBAAL,KAA0B5B,MAAM,CAACE,gBAAjC,IACAyF,EAAE,GAAG,KAAK/D,gBAFZ,EAGE;QACA,OAAO,IAAP;MACD;MAED,IAAMgE,UAAkB,GAAGF,EAAE,GAAGA,EAAL,GAAUC,EAAE,GAAGA,EAA1C;MAEA,IACE,KAAK5E,SAAL,KAAmBf,MAAM,CAACC,gBAA1B,IACA2F,UAAU,IAAI,KAAK7E,SAFrB,EAGE;QACA,OAAO,IAAP;MACD;MAED,IAAM8E,EAAU,GAAG,KAAK5C,SAAxB;MAEA,IACE,KAAK7B,YAAL,KAAsBpB,MAAM,CAACC,gBAA7B,KACE,KAAKmB,YAAL,GAAoB,CAApB,IAAyByE,EAAE,IAAI,KAAKzE,YAArC,IACE,KAAKA,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqByE,EAFlD,CADF,EAIE;QACA,OAAO,IAAP;MACD;MAED,IAAMC,EAAU,GAAG,KAAK5C,SAAxB;MACA,IACE,KAAK7B,YAAL,KAAsBrB,MAAM,CAACC,gBAA7B,KACE,KAAKoB,YAAL,GAAoB,CAApB,IAAyByE,EAAE,IAAI,KAAKzE,YAArC,IACE,KAAKA,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqByE,EAFlD,CADF,EAIE;QACA,OAAO,IAAP;MACD;MAED,IAAMC,UAAkB,GAAGF,EAAE,GAAGA,EAAL,GAAUC,EAAE,GAAGA,EAA1C;MAEA,OACE,KAAK/D,aAAL,KAAuB/B,MAAM,CAACC,gBAA9B,IACA8F,UAAU,IAAI,KAAKhE,aAFrB;IAID;EAAA;IAAA;IAAA,OAEOiE,sBAAsB;MAC5B,IAAMN,EAAU,GAAG,KAAKlD,eAAL,EAAnB;MACA,IAAMmD,EAAU,GAAG,KAAKjD,eAAL,EAAnB;MACA,IAAMkD,UAAU,GAAGF,EAAE,GAAGA,EAAL,GAAUC,EAAE,GAAGA,EAAlC;MAEA,IAAI,KAAKrE,sBAAL,GAA8B,CAA9B,IAAmCsE,UAAU,GAAGhG,mBAApD,EAAyE;QACvE,KAAKiE,sBAAL;QACA,OAAO,IAAP;MACD;MAED,IACE,KAAKpC,gBAAL,KAA0BzB,MAAM,CAACE,gBAAjC,IACAwF,EAAE,GAAG,KAAKjE,gBAFZ,EAGE;QACA,OAAO,IAAP;MACD;MAED,IACE,KAAKC,cAAL,KAAwB1B,MAAM,CAACC,gBAA/B,IACAyF,EAAE,GAAG,KAAKhE,cAFZ,EAGE;QACA,OAAO,IAAP;MACD;MAED,IACE,KAAKG,gBAAL,KAA0B7B,MAAM,CAACE,gBAAjC,IACAyF,EAAE,GAAG,KAAK9D,gBAFZ,EAGE;QACA,OAAO,IAAP;MACD;MAED,OACE,KAAKC,cAAL,KAAwB9B,MAAM,CAACC,gBAA/B,IACA0F,EAAE,GAAG,KAAK7D,cAFZ;IAID;EAAA;IAAA;IAAA,OAEOqC,kBAASF,KAAD,EAA4B;MAAA;MAC1C,IACE,KAAKM,YAAL,KAAsBhF,KAAK,CAAC0G,YAA5B,IACA,KAAKpD,OAAL,CAAayB,uBAAb,MAA0C,KAAKrD,WAFjD,EAGE;QACA,KAAK8D,aAAL;QACA,KAAKtB,OAAL,GAAe,CAAf;QACA,KAAKG,OAAL,GAAe,CAAf;QACA,KAAKX,SAAL,GAAiB,CAAjB;QACA,KAAKC,SAAL,GAAiB,CAAjB;QAEA,KAAKgD,KAAL;QAEA,IAAI,KAAK5E,sBAAL,GAA8B,CAAlC,EAAqC;UACnC,KAAKyC,iBAAL,GAAyBoC,UAAU,CAAC,YAAM;YACxC,OAAKC,QAAL;UACD,CAFkC,EAEhC,KAAK9E,sBAF2B,CAAnC;QAGD;MACF,CAjBD,MAiBO;QACL,KAAK2B,SAAL,GAAiB,KAAKJ,OAAL,CAAasC,YAAb,CAA0BlB,KAAK,CAACY,SAAhC,CAAjB;QACA,KAAK3B,SAAL,GAAiB,KAAKL,OAAL,CAAauC,YAAb,CAA0BnB,KAAK,CAACY,SAAhC,CAAjB;MACD;IACF;EAAA;IAAA;IAAA,OAEOT,sBAAmB;MACzB,IAAI,KAAKG,YAAL,KAAsBhF,KAAK,CAAC8G,KAAhC,EAAuC;QACrC,IAAI,KAAKL,UAAL,EAAJ,EAAuB;UACrB,KAAKtB,IAAL;QACD,CAFD,MAEO,IAAI,KAAKe,cAAL,EAAJ,EAA2B;UAChC,KAAKW,QAAL;QACD;MACF;IACF;EAAA;IAAA;IAAA,OAEMA,oBAA8B;MAAA,IAArBE,KAAK,uEAAG,KAAT;MACb,IAAI,KAAK/B,YAAL,KAAsBhF,KAAK,CAACiF,MAAhC,EAAwC;QACtC,KAAKO,aAAL;MACD;MAED,gFAAeuB,KAAf;IACD;EAAA;IAAA;IAAA,OAESC,oBAAiB;MACzB,KAAK1C,sBAAL;IACD;EAAA;IAAA;IAAA,OAES2C,mBAAgB;MACxB,KAAK3C,sBAAL;IACD;EAAA;IAAA;IAAA,OAESkB,yBAAsB;MAC9B,IAAI,KAAKR,YAAL,KAAsBhF,KAAK,CAACiF,MAAhC,EAAwC;QACtC;MACD;MAED,KAAKhB,MAAL,GAAc,KAAKD,KAAnB;MACA,KAAKI,MAAL,GAAc,KAAKD,KAAnB;IACD;EAAA;EAAA;AAAA,EApe4CjE,cAAhC;AAAA,SAAMI,iBAAN","names":["State","DEFAULT_TOUCH_SLOP","GestureHandler","DEFAULT_MIN_POINTERS","DEFAULT_MAX_POINTERS","DEFAULT_MIN_DIST_SQ","PanGestureHandler","args","_defineProperty","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","init","ref","propsRef","updateGestureConfig","enabled","props","resetConfig","checkCustomActivationCriteria","customActivationProperties","config","minDist","undefined","minDistSq","hasCustomActivationCriteria","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","activateAfterLongPress","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","minVelocitySq","transformNativeEvent","rect","view","getBoundingClientRect","ratio","PixelRatio","get","translationX","getTranslationX","translationY","getTranslationY","isNaN","absoluteX","tracker","getLastAvgX","absoluteY","getLastAvgY","velocityX","velocityY","x","left","y","top","lastX","startX","offsetX","lastY","startY","offsetY","clearActivationTimeout","clearTimeout","activationTimeout","onPointerDown","event","addToTracker","tryBegin","checkBegan","onPointerAdd","getTrackedPointersCount","currentState","ACTIVE","cancel","fail","onPointerUp","removeFromTracker","pointerId","end","resetProgress","onPointerRemove","onPointerMove","track","getVelocityX","getVelocityY","onPointerCancel","reset","onPointerOutOfBounds","getShouldCancelWhenOutside","shouldActivate","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","UNDETERMINED","begin","setTimeout","activate","BEGAN","force","onCancel","onReset"],"sources":["/Users/mathildejean/Documents/BUT/LaSuperMeteo/LaSuperMeteo/iut-expo-starter/node_modules/react-native-gesture-handler/lib/module/web/handlers/PanGestureHandler.ts"],"sourcesContent":["import { PixelRatio } from 'react-native';\nimport { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = DEFAULT_MIN_POINTERS;\n private maxPointers = DEFAULT_MAX_POINTERS;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private activateAfterLongPress = 0;\n private activationTimeout = 0;\n\n public init(ref: number, propsRef: React.RefObject<unknown>): void {\n super.init(ref, propsRef);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent() {\n const rect: DOMRect = this.view.getBoundingClientRect();\n const ratio = PixelRatio.get();\n\n const translationX: number = this.getTranslationX();\n const translationY: number = this.getTranslationY();\n\n return {\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n absoluteX: this.tracker.getLastAvgX(),\n absoluteY: this.tracker.getLastAvgY(),\n velocityX: this.velocityX * ratio * 10,\n velocityY: this.velocityY * ratio * 10,\n x: this.tracker.getLastAvgX() - rect.left,\n y: this.tracker.getLastAvgY() - rect.top,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n private clearActivationTimeout(): void {\n clearTimeout(this.activationTimeout);\n }\n\n //EventsHandling\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n\n this.tryBegin(event);\n this.checkBegan();\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.getTrackedPointersCount() > this.maxPointers) {\n if (this.currentState === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n\n if (this.currentState === State.ACTIVE) {\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.currentState === State.ACTIVE &&\n this.tracker.getTrackedPointersCount() < this.minPointers\n )\n ) {\n this.checkBegan();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n\n this.checkBegan();\n\n super.onPointerMove(event);\n }\n\n protected onPointerCancel(event: AdaptedEvent): void {\n super.onPointerCancel(event);\n\n this.reset();\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.getShouldCancelWhenOutside()) {\n return;\n }\n\n this.tracker.track(event);\n\n this.lastX = this.tracker.getLastAvgX();\n this.lastY = this.tracker.getLastAvgY();\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n\n this.checkBegan();\n\n if (this.currentState === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedEvent): void {\n if (\n this.currentState === State.UNDETERMINED &&\n this.tracker.getTrackedPointersCount() >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin();\n\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n this.velocityX = this.tracker.getVelocityX(event.pointerId);\n this.velocityY = this.tracker.getVelocityY(event.pointerId);\n }\n }\n\n private checkBegan(): void {\n if (this.currentState === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n\n public activate(force = false): void {\n if (this.currentState !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onCancel(): void {\n this.clearActivationTimeout();\n }\n\n protected onReset(): void {\n this.clearActivationTimeout();\n }\n\n protected resetProgress(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n}\n"]},"metadata":{},"sourceType":"module","externalDependencies":[]} |