{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\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; } }\nimport { EventTypes, MouseButtons, PointerType, TouchEventType } from \"../interfaces\";\nimport EventManager from \"./EventManager\";\nimport { isPointerInBounds } from \"../utils\";\nvar TouchEventManager = function (_EventManager) {\n _inherits(TouchEventManager, _EventManager);\n var _super = _createSuper(TouchEventManager);\n function TouchEventManager() {\n _classCallCheck(this, TouchEventManager);\n return _super.apply(this, arguments);\n }\n _createClass(TouchEventManager, [{\n key: \"setListeners\",\n value: function setListeners() {\n var _this = this;\n this.view.addEventListener('touchstart', function (event) {\n for (var i = 0; i < event.changedTouches.length; ++i) {\n var adaptedEvent = _this.mapEvent(event, EventTypes.DOWN, i, TouchEventType.DOWN);\n if (!isPointerInBounds(_this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y\n }) || event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n _this.markAsInBounds(adaptedEvent.pointerId);\n if (++_this.activePointersCounter > 1) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_DOWN;\n _this.onPointerAdd(adaptedEvent);\n } else {\n _this.onPointerDown(adaptedEvent);\n }\n }\n });\n this.view.addEventListener('touchmove', function (event) {\n for (var i = 0; i < event.changedTouches.length; ++i) {\n var adaptedEvent = _this.mapEvent(event, EventTypes.MOVE, i, TouchEventType.MOVE);\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n var inBounds = isPointerInBounds(_this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y\n });\n var pointerIndex = _this.pointersInBounds.indexOf(adaptedEvent.pointerId);\n if (inBounds) {\n if (pointerIndex < 0) {\n adaptedEvent.eventType = EventTypes.ENTER;\n _this.onPointerEnter(adaptedEvent);\n _this.markAsInBounds(adaptedEvent.pointerId);\n } else {\n _this.onPointerMove(adaptedEvent);\n }\n } else {\n if (pointerIndex >= 0) {\n adaptedEvent.eventType = EventTypes.OUT;\n _this.onPointerOut(adaptedEvent);\n _this.markAsOutOfBounds(adaptedEvent.pointerId);\n } else {\n _this.onPointerOutOfBounds(adaptedEvent);\n }\n }\n }\n });\n this.view.addEventListener('touchend', function (event) {\n for (var i = 0; i < event.changedTouches.length; ++i) {\n if (_this.activePointersCounter === 0) {\n break;\n }\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n var adaptedEvent = _this.mapEvent(event, EventTypes.UP, i, TouchEventType.UP);\n _this.markAsOutOfBounds(adaptedEvent.pointerId);\n if (--_this.activePointersCounter > 0) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_UP;\n _this.onPointerRemove(adaptedEvent);\n } else {\n _this.onPointerUp(adaptedEvent);\n }\n }\n });\n this.view.addEventListener('touchcancel', function (event) {\n for (var i = 0; i < event.changedTouches.length; ++i) {\n var adaptedEvent = _this.mapEvent(event, EventTypes.CANCEL, i, TouchEventType.CANCELLED);\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n _this.onPointerCancel(adaptedEvent);\n _this.markAsOutOfBounds(adaptedEvent.pointerId);\n _this.activePointersCounter = 0;\n }\n });\n }\n }, {\n key: \"mapEvent\",\n value: function mapEvent(event, eventType, index, touchEventType) {\n var rect = this.view.getBoundingClientRect();\n var clientX = event.changedTouches[index].clientX;\n var clientY = event.changedTouches[index].clientY;\n return {\n x: clientX,\n y: clientY,\n offsetX: clientX - rect.left,\n offsetY: clientY - rect.top,\n pointerId: event.changedTouches[index].identifier,\n eventType: eventType,\n pointerType: PointerType.TOUCH,\n buttons: MouseButtons.NONE,\n time: event.timeStamp,\n allTouches: event.touches,\n changedTouches: event.changedTouches,\n touchEventType: touchEventType\n };\n }\n }]);\n return TouchEventManager;\n}(EventManager);\nexport { TouchEventManager as default };","map":{"version":3,"mappings":"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","names":["EventTypes","MouseButtons","PointerType","TouchEventType","EventManager","isPointerInBounds","TouchEventManager","setListeners","view","addEventListener","event","i","changedTouches","length","adaptedEvent","mapEvent","DOWN","x","y","touchType","markAsInBounds","pointerId","activePointersCounter","eventType","ADDITIONAL_POINTER_DOWN","onPointerAdd","onPointerDown","MOVE","inBounds","pointerIndex","pointersInBounds","indexOf","ENTER","onPointerEnter","onPointerMove","OUT","onPointerOut","markAsOutOfBounds","onPointerOutOfBounds","UP","ADDITIONAL_POINTER_UP","onPointerRemove","onPointerUp","CANCEL","CANCELLED","onPointerCancel","index","touchEventType","rect","getBoundingClientRect","clientX","clientY","offsetX","left","offsetY","top","identifier","pointerType","TOUCH","buttons","NONE","time","timeStamp","allTouches","touches"],"sources":["/Users/mathildejean/Documents/BUT/LaSuperMeteo/LaSuperMeteo/iut-expo-starter/node_modules/react-native-gesture-handler/lib/module/web/tools/TouchEventManager.ts"],"sourcesContent":["import {\n AdaptedEvent,\n EventTypes,\n MouseButtons,\n PointerType,\n TouchEventType,\n} from '../interfaces';\nimport EventManager from './EventManager';\nimport { isPointerInBounds } from '../utils';\n\nexport default class TouchEventManager extends EventManager {\n public setListeners(): void {\n this.view.addEventListener('touchstart', (event: TouchEvent) => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.DOWN,\n i,\n TouchEventType.DOWN\n );\n\n // Here we skip stylus, because in case of anything different than touch we want to handle it by using PointerEvents\n // If we leave stylus to send touch events, handlers will receive every action twice\n if (\n !isPointerInBounds(this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y,\n }) ||\n //@ts-ignore touchType field does exist\n event.changedTouches[i].touchType === 'stylus'\n ) {\n continue;\n }\n\n this.markAsInBounds(adaptedEvent.pointerId);\n\n if (++this.activePointersCounter > 1) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_DOWN;\n this.onPointerAdd(adaptedEvent);\n } else {\n this.onPointerDown(adaptedEvent);\n }\n }\n });\n\n this.view.addEventListener('touchmove', (event: TouchEvent) => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.MOVE,\n i,\n TouchEventType.MOVE\n );\n //@ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n const inBounds: boolean = isPointerInBounds(this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y,\n });\n\n const pointerIndex: number = this.pointersInBounds.indexOf(\n adaptedEvent.pointerId\n );\n\n if (inBounds) {\n if (pointerIndex < 0) {\n adaptedEvent.eventType = EventTypes.ENTER;\n this.onPointerEnter(adaptedEvent);\n this.markAsInBounds(adaptedEvent.pointerId);\n } else {\n this.onPointerMove(adaptedEvent);\n }\n } else {\n if (pointerIndex >= 0) {\n adaptedEvent.eventType = EventTypes.OUT;\n this.onPointerOut(adaptedEvent);\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n } else {\n this.onPointerOutOfBounds(adaptedEvent);\n }\n }\n }\n });\n\n this.view.addEventListener('touchend', (event: TouchEvent) => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n // When we call reset on gesture handlers, it also resets their event managers\n // In some handlers (like RotationGestureHandler) reset is called before all pointers leave view\n // This means, that activePointersCounter will be set to 0, while there are still remaining pointers on view\n // Removing them will end in activePointersCounter going below 0, therefore handlers won't behave properly\n if (this.activePointersCounter === 0) {\n break;\n }\n\n //@ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.UP,\n i,\n TouchEventType.UP\n );\n\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n\n if (--this.activePointersCounter > 0) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_UP;\n this.onPointerRemove(adaptedEvent);\n } else {\n this.onPointerUp(adaptedEvent);\n }\n }\n });\n\n this.view.addEventListener('touchcancel', (event: TouchEvent) => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.CANCEL,\n i,\n TouchEventType.CANCELLED\n );\n\n //@ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n this.onPointerCancel(adaptedEvent);\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n this.activePointersCounter = 0;\n }\n });\n }\n\n protected mapEvent(\n event: TouchEvent,\n eventType: EventTypes,\n index: number,\n touchEventType: TouchEventType\n ): AdaptedEvent {\n const rect = this.view.getBoundingClientRect();\n const clientX = event.changedTouches[index].clientX;\n const clientY = event.changedTouches[index].clientY;\n\n return {\n x: clientX,\n y: clientY,\n offsetX: clientX - rect.left,\n offsetY: clientY - rect.top,\n pointerId: event.changedTouches[index].identifier,\n eventType: eventType,\n pointerType: PointerType.TOUCH,\n buttons: MouseButtons.NONE,\n time: event.timeStamp,\n allTouches: event.touches,\n changedTouches: event.changedTouches,\n touchEventType: touchEventType,\n };\n }\n}\n"]},"metadata":{},"sourceType":"module","externalDependencies":[]}