{"version":3,"file":"tocca.min.js","names":["doc","win","createEvent","pointerId","currX","currY","cachedX","cachedY","timestamp","target","dblTapTimer","longtapTimer","defaults","useJquery","IGNORE_JQUERY","jQuery","swipeThreshold","SWIPE_THRESHOLD","tapThreshold","TAP_THRESHOLD","dbltapThreshold","DBL_TAP_THRESHOLD","longtapThreshold","LONG_TAP_THRESHOLD","tapPrecision","TAP_PRECISION","justTouchEvents","JUST_ON_TOUCH_DEVICES","wasTouch","touchevents_touchstart","touchEvent","pointerEvent","touchevents_touchend","touchevents_touchmove","tapNum","setListener","e","isTheSameFingerId","isMultipleTouches","type","pointer","getPointerEvent","pageX","pageY","setTimeout","sendEvent","getTimestamp","eventsArr","now","deltaY","deltaX","clearTimeout","push","length","i","eventName","distance","x","Math","abs","y","tocca","options","opt","lo","toLowerCase","ms","navigator","msPointerEnabled","window","PointerEvent","name","elm","events","callback","eventsArray","split","addEventListener","event","hasTargetTouches","Boolean","targetTouches","touches","Date","getTime","originalEvent","data","customEvent","Event","trigger","initEvent","key","dispatchEvent","parentNode","document"],"sources":["tocca.min.js"],"mappings":"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","ignoreList":[],"sourcesContent":["!function(doc,win){if(\"function\"!=typeof doc.createEvent)return;function pointerEvent(type){var lo=type.toLowerCase(),ms=\"MS\"+type;return navigator.msPointerEnabled?ms:!!window.PointerEvent&&lo}function touchEvent(name){return\"on\"+name in window&&name}function isTheSameFingerId(e){return!e.pointerId||void 0===pointerId||e.pointerId===pointerId}function setListener(elm,events,callback){for(var eventsArray=events.split(\" \"),i=eventsArray.length;i--;)elm.addEventListener(eventsArray[i],callback,!1)}function getPointerEvent(event){var hasTargetTouches=Boolean(event.targetTouches&&event.targetTouches.length);switch(!0){case Boolean(event.target.touches):return event.target.touches[0];case hasTargetTouches&&void 0!==event.targetTouches[0].pageX:return event.targetTouches[0];case hasTargetTouches&&Boolean(event.targetTouches[0].touches):return event.targetTouches[0].touches[0];default:return event}}function isMultipleTouches(event){return 1<(event.targetTouches||event.target.touches||[]).length}function getTimestamp(){return(new Date).getTime()}function sendEvent(elm,eventName,originalEvent,data){var customEvent=doc.createEvent(\"Event\");if(customEvent.originalEvent=originalEvent,(data=data||{}).x=currX,data.y=currY,defaults.useJquery&&(customEvent=jQuery.Event(eventName,{originalEvent:originalEvent}),jQuery(elm).trigger(customEvent,data)),customEvent.initEvent){for(var key in data)customEvent[key]=data[key];customEvent.initEvent(eventName,!0,!0),elm.dispatchEvent(customEvent)}for(;elm;)elm[\"on\"+eventName]&&elm[\"on\"+eventName](customEvent),elm=elm.parentNode}var pointerId,currX,currY,cachedX,cachedY,timestamp,target,dblTapTimer,longtapTimer,defaults={useJquery:!win.IGNORE_JQUERY&&\"undefined\"!=typeof jQuery,swipeThreshold:win.SWIPE_THRESHOLD||100,tapThreshold:win.TAP_THRESHOLD||150,dbltapThreshold:win.DBL_TAP_THRESHOLD||200,longtapThreshold:win.LONG_TAP_THRESHOLD||1e3,tapPrecision:win.TAP_PRECISION/2||30,justTouchEvents:win.JUST_ON_TOUCH_DEVICES},wasTouch=!1,touchevents_touchstart=touchEvent(\"touchstart\")||pointerEvent(\"PointerDown\"),touchevents_touchend=touchEvent(\"touchend\")||pointerEvent(\"PointerUp\"),touchevents_touchmove=touchEvent(\"touchmove\")||pointerEvent(\"PointerMove\"),tapNum=0;setListener(doc,touchevents_touchstart+(defaults.justTouchEvents?\"\":\" mousedown\"),function(e){if(isTheSameFingerId(e)&&!isMultipleTouches(e)&&(pointerId=e.pointerId,\"mousedown\"!==e.type&&(wasTouch=!0),\"mousedown\"!==e.type||!wasTouch)){var pointer=getPointerEvent(e);cachedX=currX=pointer.pageX,cachedY=currY=pointer.pageY,longtapTimer=setTimeout(function(){sendEvent(e.target,\"longtap\",e),target=e.target},defaults.longtapThreshold),timestamp=getTimestamp(),tapNum++}}),setListener(doc,touchevents_touchend+(defaults.justTouchEvents?\"\":\" mouseup\"),function(e){if(isTheSameFingerId(e)&&!isMultipleTouches(e))if(pointerId=void 0,\"mouseup\"===e.type&&wasTouch)wasTouch=!1;else{var eventsArr=[],now=getTimestamp(),deltaY=cachedY-currY,deltaX=cachedX-currX;if(clearTimeout(dblTapTimer),clearTimeout(longtapTimer),deltaX<=-defaults.swipeThreshold&&eventsArr.push(\"swiperight\"),deltaX>=defaults.swipeThreshold&&eventsArr.push(\"swipeleft\"),deltaY<=-defaults.swipeThreshold&&eventsArr.push(\"swipedown\"),deltaY>=defaults.swipeThreshold&&eventsArr.push(\"swipeup\"),eventsArr.length){for(var i=0;i=currX-defaults.tapPrecision&&cachedX<=currX+defaults.tapPrecision&&cachedY>=currY-defaults.tapPrecision&&cachedY<=currY+defaults.tapPrecision&&0<=timestamp+defaults.tapThreshold-now&&(sendEvent(e.target,2<=tapNum&&target===e.target?\"dbltap\":\"tap\",e),target=e.target),dblTapTimer=setTimeout(function(){tapNum=0},defaults.dbltapThreshold)}}),setListener(doc,touchevents_touchmove+(defaults.justTouchEvents?\"\":\" mousemove\"),function(e){if(isTheSameFingerId(e)&&(\"mousemove\"!==e.type||!wasTouch)){var pointer=getPointerEvent(e);currX=pointer.pageX,currY=pointer.pageY}}),win.tocca=function(options){for(var opt in options)defaults[opt]=options[opt];return defaults}}(document,window);"]}