define(["exports","./../dom.js"],function(_exports,_dom){function TinyGesture(element,options){this.element=element,this.touch1=null,this.touch2=null,this.touchStartX=null,this.touchStartY=null,this.touchEndX=null,this.touchEndY=null,this.touchMove1=null,this.touchMove2=null,this.touchMoveX=null,this.touchMoveY=null,this.velocityX=null,this.velocityY=null,this.longPressTimer=null,this.doubleTapTimer=null,this.doubleTapWaiting=!1,this.thresholdX=0,this.thresholdY=0,this.disregardVelocityThresholdX=0,this.disregardVelocityThresholdY=0,this.swipingHorizontal=!1,this.swipingVertical=!1,this.swipingDirection=null,this.swipedHorizontal=!1,this.swipedVertical=!1,this.originalDistance=null,this.newDistance=null,this.scale=null,this.originalAngle=null,this.newAngle=null,this.rotation=null,this.handlers={panstart:[],panmove:[],panend:[],swipeleft:[],swiperight:[],swipeup:[],swipedown:[],tap:[],doubletap:[],longpress:[],pinch:[],pinchend:[],rotate:[],rotateend:[]},this._onTouchStart=this.onTouchStart.bind(this),this._onTouchMove=this.onTouchMove.bind(this),this._onTouchEnd=this.onTouchEnd.bind(this),this.opts=Object.assign({},TinyGesture.defaults,options),_dom.default.addEventListener(this.element,"touchstart",this._onTouchStart,{passive:!0}),this.element.addEventListener("touchmove",this._onTouchMove),_dom.default.addEventListener(this.element,"touchend",this._onTouchEnd,{passive:!0})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,TinyGesture.prototype.destroy=function(){var _a;_dom.default.removeEventListener(this.element,"touchstart",this._onTouchStart,{passive:!0}),this.element.removeEventListener("touchmove",this._onTouchMove),_dom.default.removeEventListener(this.element,"touchend",this._onTouchEnd,{passive:!0}),clearTimeout(null!=(_a=this.longPressTimer)?_a:void 0),clearTimeout(null!=(_a=this.doubleTapTimer)?_a:void 0)},TinyGesture.prototype.on=function(type,fn){var _this=this;if(this.handlers[type])return this.handlers[type].push(fn),{type:type,fn:fn,cancel:function(){return _this.off(type,fn)}}},TinyGesture.prototype.off=function(type,fn){this.handlers[type]&&-1!==(fn=this.handlers[type].indexOf(fn))&&this.handlers[type].splice(fn,1)},TinyGesture.prototype.fire=function(type,event){for(var i=0;ithis.thresholdX,this.swipingVertical=_c>this.thresholdY,this.swipingDirection=_cthis.opts.pressThreshold&&clearTimeout(null!=(touch1=this.longPressTimer)?touch1:void 0),this.fire("panmove",event)),"mousemove"!==event.type)&&null!=this.touchMove1&&null!=this.touchMove2&&(this.newDistance=Math.sqrt(Math.pow(this.touchMove2.screenX-this.touchMove1.screenX,2)+Math.pow(this.touchMove2.screenY-this.touchMove1.screenY,2)),this.scale=this.newDistance/(null!=(touch2=this.originalDistance)?touch2:0),this.fire("pinch",event),this.newAngle=Math.atan2((null!=(_c=this.touchMove2.screenY)?_c:0)-(null!=(touch1=this.touchMove1.screenY)?touch1:0),(null!=(touch2=this.touchMove2.screenX)?touch2:0)-(null!=(_c=this.touchMove1.screenX)?_c:0))/(Math.PI/180),this.rotation=this.newAngle-(null!=(touch1=this.originalAngle)?touch1:0),this.fire("rotate",event))},TinyGesture.prototype.onTouchEnd=function(event){var _a,_e,absY,distance,absDistance,diagonal,_this4=this,touch1=void 0;"mouseup"!==event.type&&(touch1=babelHelpers.toConsumableArray(event.changedTouches).find(function(touch){return touch.identifier===(null==(touch=_this4.touch1)?void 0:touch.identifier)}),babelHelpers.toConsumableArray(event.touches).find(function(touch){return touch.identifier===(null==(touch=_this4.touch1)?void 0:touch.identifier)})||(this.touch1=null,this.touchMove1=null),babelHelpers.toConsumableArray(event.touches).find(function(touch){return touch.identifier===(null==(touch=_this4.touch2)?void 0:touch.identifier)})||(this.touch2=null,this.touchMove2=null)),("mouseup"!==event.type||this.touchStartX&&null===this.touchEndX)&&("mouseup"!==event.type&&!touch1||(this.touchEndX="mouseup"===event.type?event.screenX:null!=(_a=null==touch1?void 0:touch1.screenX)?_a:0,this.touchEndY="mouseup"===event.type?event.screenY:null!=(_a=null==touch1?void 0:touch1.screenY)?_a:0,this.fire("panend",event),clearTimeout(null!=(touch1=this.longPressTimer)?touch1:void 0),touch1=this.touchEndX-(null!=(_a=this.touchStartX)?_a:0),_a=Math.abs(touch1),_e=this.touchEndY-(null!=(_e=this.touchStartY)?_e:0),absY=Math.abs(_e),distance=Math.sqrt(Math.pow(touch1,2)+Math.pow(_e,2)),absDistance=Math.abs(distance),diagonal=absY/_a,_a>this.thresholdX||absY>this.thresholdY||this.opts.diagonalSwipes&&(absDistance>this.thresholdX||absDistance>this.thresholdY)?(this.swipedHorizontal=_a>this.thresholdX||this.opts.diagonalSwipes&&absDistance>this.thresholdX,this.swipedVertical=absY>this.thresholdY||this.opts.diagonalSwipes&&absDistance>this.thresholdY,(!this.opts.diagonalSwipes||diagonalMath.tan((45+this.opts.diagonalLimit)*Math.PI/180))&&(absY<=_a&&(this.swipedVertical=!1),_athis.opts.velocityThreshold||distance>this.disregardVelocityThresholdX)&&this.fire("swiperight",event)),this.swipedVertical&&(_e<0?((null!=(touch1=this.velocityY)?touch1:0)<-this.opts.velocityThreshold||distance<-this.disregardVelocityThresholdY)&&this.fire("swipeup",event):((null!=(absDistance=this.velocityY)?absDistance:0)>this.opts.velocityThreshold||distance>this.disregardVelocityThresholdY)&&this.fire("swipedown",event))):_a