hammerjs-rails 2.0.6 → 2.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,8 @@
1
- /*! Hammer.JS - v2.0.6 - 2015-12-23
1
+ /*! Hammer.JS - v2.0.8 - 2016-09-30
2
2
  * http://hammerjs.github.io/
3
3
  *
4
- * Copyright (c) 2015 Jorik Tangelder;
5
- * Licensed under the license */
6
- !function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(b,c,d){var e="DEPRECATED METHOD: "+c+"\n"+d+" AT \n";return function(){var c=new Error("get-stack-trace"),d=c&&c.stack?c.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&hb(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==kb?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function s(a){return Array.prototype.slice.call(a,0)}function t(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];r(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ib.length;){if(c=ib[g],e=c?c+f:b,e in a)return e;g++}return d}function v(){return qb++}function w(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function x(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){k(a.options.enable,[a])&&c.handler(b)},this.init()}function y(a){var b,c=a.options.inputClass;return new(b=c?c:tb?M:ub?P:sb?R:L)(a,z)}function z(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Ab&&d-e===0,g=b&(Cb|Db)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,A(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function A(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=D(b)),e>1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=nb(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=mb(j.x)>mb(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};(b.eventType===Ab||f.eventType===Cb)&&(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Db&&(i>zb||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=mb(l.x)>mb(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:lb(a.pointers[c].clientX),clientY:lb(a.pointers[c].clientY)},c++;return{timeStamp:nb(),pointers:b,center:E(b),deltaX:a.deltaX,deltaY:a.deltaY}}function E(a){var b=a.length;if(1===b)return{x:lb(a[0].clientX),y:lb(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:lb(c/b),y:lb(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Eb:mb(a)>=mb(b)?0>a?Fb:Gb:0>b?Hb:Ib}function H(a,b,c){c||(c=Mb);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Mb);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Nb)+I(a[1],a[0],Nb)}function K(a,b){return H(b[0],b[1],Nb)/H(a[0],a[1],Nb)}function L(){this.evEl=Pb,this.evWin=Qb,this.allow=!0,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Tb,this.evWin=Ub,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=Wb,this.evWin=Xb,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Cb|Db)&&(c=t(c.concat(d),"identifier",!0)),[c,d]}function P(){this.evTarget=Zb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ab|Bb)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ab)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Cb|Db)&&delete d[g[e].identifier],e++;return h.length?[t(f.concat(h),"identifier",!0),h]:void 0}function R(){x.apply(this,arguments);var a=j(this.handler,this);this.touch=new P(this.manager,a),this.mouse=new L(this.manager,a)}function S(a,b){this.manager=a,this.set(b)}function T(a){if(p(a,dc))return dc;var b=p(a,ec),c=p(a,fc);return b&&c?dc:b||c?b?ec:fc:p(a,cc)?cc:bc}function U(a){this.options=hb({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=gc,this.simultaneous={},this.requireFail=[]}function V(a){return a&lc?"cancel":a&jc?"end":a&ic?"move":a&hc?"start":""}function W(a){return a==Ib?"down":a==Hb?"up":a==Fb?"left":a==Gb?"right":""}function X(a,b){var c=b.manager;return c?c.get(a):a}function Y(){U.apply(this,arguments)}function Z(){Y.apply(this,arguments),this.pX=null,this.pY=null}function $(){Y.apply(this,arguments)}function _(){U.apply(this,arguments),this._timer=null,this._input=null}function ab(){Y.apply(this,arguments)}function bb(){Y.apply(this,arguments)}function cb(){U.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function db(a,b){return b=b||{},b.recognizers=l(b.recognizers,db.defaults.preset),new eb(a,b)}function eb(a,b){this.options=hb({},db.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.element=a,this.input=y(this),this.touchAction=new S(this,this.options.touchAction),fb(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function fb(a,b){var c=a.element;c.style&&g(a.options.cssProps,function(a,d){c.style[u(c.style,d)]=b?a:""})}function gb(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var hb,ib=["","webkit","Moz","MS","ms","o"],jb=b.createElement("div"),kb="function",lb=Math.round,mb=Math.abs,nb=Date.now;hb="function"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var e=arguments[c];if(e!==d&&null!==e)for(var f in e)e.hasOwnProperty(f)&&(b[f]=e[f])}return b}:Object.assign;var ob=h(function(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a},"extend","Use `assign`."),pb=h(function(a,b){return ob(a,b,!0)},"merge","Use `assign`."),qb=1,rb=/mobile|tablet|ip(ad|hone|od)|android/i,sb="ontouchstart"in a,tb=u(a,"PointerEvent")!==d,ub=sb&&rb.test(navigator.userAgent),vb="touch",wb="pen",xb="mouse",yb="kinect",zb=25,Ab=1,Bb=2,Cb=4,Db=8,Eb=1,Fb=2,Gb=4,Hb=8,Ib=16,Jb=Fb|Gb,Kb=Hb|Ib,Lb=Jb|Kb,Mb=["x","y"],Nb=["clientX","clientY"];x.prototype={handler:function(){},init:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(w(this.element),this.evWin,this.domHandler)}};var Ob={mousedown:Ab,mousemove:Bb,mouseup:Cb},Pb="mousedown",Qb="mousemove mouseup";i(L,x,{handler:function(a){var b=Ob[a.type];b&Ab&&0===a.button&&(this.pressed=!0),b&Bb&&1!==a.which&&(b=Cb),this.pressed&&this.allow&&(b&Cb&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:xb,srcEvent:a}))}});var Rb={pointerdown:Ab,pointermove:Bb,pointerup:Cb,pointercancel:Db,pointerout:Db},Sb={2:vb,3:wb,4:xb,5:yb},Tb="pointerdown",Ub="pointermove pointerup pointercancel";a.MSPointerEvent&&!a.PointerEvent&&(Tb="MSPointerDown",Ub="MSPointerMove MSPointerUp MSPointerCancel"),i(M,x,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Rb[d],f=Sb[a.pointerType]||a.pointerType,g=f==vb,h=r(b,a.pointerId,"pointerId");e&Ab&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Cb|Db)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Vb={touchstart:Ab,touchmove:Bb,touchend:Cb,touchcancel:Db},Wb="touchstart",Xb="touchstart touchmove touchend touchcancel";i(N,x,{handler:function(a){var b=Vb[a.type];if(b===Ab&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Cb|Db)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:vb,srcEvent:a})}}});var Yb={touchstart:Ab,touchmove:Bb,touchend:Cb,touchcancel:Db},Zb="touchstart touchmove touchend touchcancel";i(P,x,{handler:function(a){var b=Yb[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:vb,srcEvent:a})}}),i(R,x,{handler:function(a,b,c){var d=c.pointerType==vb,e=c.pointerType==xb;if(d)this.mouse.allow=!1;else if(e&&!this.mouse.allow)return;b&(Cb|Db)&&(this.mouse.allow=!0),this.callback(a,b,c)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var $b=u(jb.style,"touchAction"),_b=$b!==d,ac="compute",bc="auto",cc="manipulation",dc="none",ec="pan-x",fc="pan-y";S.prototype={set:function(a){a==ac&&(a=this.compute()),_b&&this.manager.element.style&&(this.manager.element.style[$b]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),T(a.join(" "))},preventDefaults:function(a){if(!_b){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,dc),f=p(d,fc),g=p(d,ec);if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}if(!g||!f)return e||f&&c&Jb||g&&c&Kb?this.preventSrc(b):void 0}},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var gc=1,hc=2,ic=4,jc=8,kc=jc,lc=16,mc=32;U.prototype={defaults:{},set:function(a){return hb(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=X(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=X(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=X(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=X(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;jc>d&&b(c.options.event+V(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=jc&&b(c.options.event+V(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=mc)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(mc|gc)))return!1;a++}return!0},recognize:function(a){var b=hb({},a);return k(this.options.enable,[this,b])?(this.state&(kc|lc|mc)&&(this.state=gc),this.state=this.process(b),void(this.state&(hc|ic|jc|lc)&&this.tryEmit(b))):(this.reset(),void(this.state=mc))},process:function(){},getTouchAction:function(){},reset:function(){}},i(Y,U,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(hc|ic),e=this.attrTest(a);return d&&(c&Db||!e)?b|lc:d||e?c&Cb?b|jc:b&hc?b|ic:hc:mc}}),i(Z,Y,{defaults:{event:"pan",threshold:10,pointers:1,direction:Lb},getTouchAction:function(){var a=this.options.direction,b=[];return a&Jb&&b.push(fc),a&Kb&&b.push(ec),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Jb?(e=0===f?Eb:0>f?Fb:Gb,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Eb:0>g?Hb:Ib,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return Y.prototype.attrTest.call(this,a)&&(this.state&hc||!(this.state&hc)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=W(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i($,Y,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[dc]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&hc)},emit:function(a){if(1!==a.scale){var b=a.scale<1?"in":"out";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(_,U,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[bc]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Cb|Db)&&!f)this.reset();else if(a.eventType&Ab)this.reset(),this._timer=e(function(){this.state=kc,this.tryEmit()},b.time,this);else if(a.eventType&Cb)return kc;return mc},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===kc&&(a&&a.eventType&Cb?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=nb(),this.manager.emit(this.options.event,this._input)))}}),i(ab,Y,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[dc]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&hc)}}),i(bb,Y,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Jb|Kb,pointers:1},getTouchAction:function(){return Z.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Jb|Kb)?b=a.overallVelocity:c&Jb?b=a.overallVelocityX:c&Kb&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&mb(b)>this.options.velocity&&a.eventType&Cb},emit:function(a){var b=W(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(cb,U,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[cc]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime<b.time;if(this.reset(),a.eventType&Ab&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Cb)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||H(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e(function(){this.state=kc,this.tryEmit()},b.interval,this),hc):kc}return mc},failTimeout:function(){return this._timer=e(function(){this.state=mc},this.options.interval,this),mc},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==kc&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),db.VERSION="2.0.6",db.defaults={domEvents:!1,touchAction:ac,enable:!0,inputTarget:null,inputClass:null,preset:[[ab,{enable:!1}],[$,{enable:!1},["rotate"]],[bb,{direction:Jb}],[Z,{direction:Jb},["swipe"]],[cb],[cb,{event:"doubletap",taps:2},["tap"]],[_]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var nc=1,oc=2;eb.prototype={set:function(a){return hb(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?oc:nc},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&kc)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===oc||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(hc|ic|jc)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof U)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,"add",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,"remove",this))return this;if(a=this.get(a)){var b=this.recognizers,c=r(b,a);-1!==c&&(b.splice(c,1),this.touchAction.update())}return this},on:function(a,b){var c=this.handlers;return g(q(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this},off:function(a,b){var c=this.handlers;return g(q(a),function(a){b?c[a]&&c[a].splice(r(c[a],b),1):delete c[a]}),this},emit:function(a,b){this.options.domEvents&&gb(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&fb(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},hb(db,{INPUT_START:Ab,INPUT_MOVE:Bb,INPUT_END:Cb,INPUT_CANCEL:Db,STATE_POSSIBLE:gc,STATE_BEGAN:hc,STATE_CHANGED:ic,STATE_ENDED:jc,STATE_RECOGNIZED:kc,STATE_CANCELLED:lc,STATE_FAILED:mc,DIRECTION_NONE:Eb,DIRECTION_LEFT:Fb,DIRECTION_RIGHT:Gb,DIRECTION_UP:Hb,DIRECTION_DOWN:Ib,DIRECTION_HORIZONTAL:Jb,DIRECTION_VERTICAL:Kb,DIRECTION_ALL:Lb,Manager:eb,Input:x,TouchAction:S,TouchInput:P,MouseInput:L,PointerEventInput:M,TouchMouseInput:R,SingleTouchInput:N,Recognizer:U,AttrRecognizer:Y,Tap:cb,Pan:Z,Swipe:bb,Pinch:$,Rotate:ab,Press:_,on:m,off:n,each:g,merge:pb,extend:ob,assign:hb,inherit:i,bindFn:j,prefixed:u});var pc="undefined"!=typeof a?a:"undefined"!=typeof self?self:{};pc.Hammer=db,"function"==typeof define&&define.amd?define(function(){return db}):"undefined"!=typeof module&&module.exports?module.exports=db:a[c]=db}(window,document,"Hammer");
7
- //# sourceMappingURL=hammer.min.map
4
+ * Copyright (c) Jorik Tangelder;
5
+ * Licensed under the MIT license */
6
+ (function(window,document,exportName,undefined){"use strict";function ifUndefined(val1,val2){return val1===undefined?val2:val1}var VENDOR_PREFIXES=["","webkit","Moz","MS","ms","o"];var TEST_ELEMENT=document.createElement("div");var TYPE_FUNCTION="function";var round=Math.round;var abs=Math.abs;var now=Date.now;function prefixed(obj,property){var prefix=void 0;var prop=void 0;var camelProp=property[0].toUpperCase()+property.slice(1);var i=0;while(i<VENDOR_PREFIXES.length){prefix=VENDOR_PREFIXES[i];prop=prefix?prefix+camelProp:property;if(prop in obj){return prop}i++}return undefined}function getTouchActionProps(){if(!NATIVE_TOUCH_ACTION){return false}var touchMap={};var cssSupports=window.CSS&&window.CSS.supports;["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(val){return touchMap[val]=cssSupports?window.CSS.supports("touch-action",val):true});return touchMap}var PREFIXED_TOUCH_ACTION=prefixed(TEST_ELEMENT.style,"touchAction");var NATIVE_TOUCH_ACTION=PREFIXED_TOUCH_ACTION!==undefined;var TOUCH_ACTION_COMPUTE="compute";var TOUCH_ACTION_AUTO="auto";var TOUCH_ACTION_MANIPULATION="manipulation";var TOUCH_ACTION_NONE="none";var TOUCH_ACTION_PAN_X="pan-x";var TOUCH_ACTION_PAN_Y="pan-y";var TOUCH_ACTION_MAP=getTouchActionProps();var MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android/i;var SUPPORT_TOUCH="ontouchstart"in window;var SUPPORT_POINTER_EVENTS=prefixed(window,"PointerEvent")!==undefined;var SUPPORT_ONLY_TOUCH=SUPPORT_TOUCH&&MOBILE_REGEX.test(navigator.userAgent);var INPUT_TYPE_TOUCH="touch";var INPUT_TYPE_PEN="pen";var INPUT_TYPE_MOUSE="mouse";var INPUT_TYPE_KINECT="kinect";var COMPUTE_INTERVAL=25;var INPUT_START=1;var INPUT_MOVE=2;var INPUT_END=4;var INPUT_CANCEL=8;var DIRECTION_NONE=1;var DIRECTION_LEFT=2;var DIRECTION_RIGHT=4;var DIRECTION_UP=8;var DIRECTION_DOWN=16;var DIRECTION_HORIZONTAL=DIRECTION_LEFT|DIRECTION_RIGHT;var DIRECTION_VERTICAL=DIRECTION_UP|DIRECTION_DOWN;var DIRECTION_ALL=DIRECTION_HORIZONTAL|DIRECTION_VERTICAL;var PROPS_XY=["x","y"];var PROPS_CLIENT_XY=["clientX","clientY"];var STATE_POSSIBLE=1;var STATE_BEGAN=2;var STATE_CHANGED=4;var STATE_ENDED=8;var STATE_RECOGNIZED=STATE_ENDED;var STATE_CANCELLED=16;var STATE_FAILED=32;var assign=void 0;if(typeof Object.assign!=="function"){assign=function assign(target){if(target===undefined||target===null){throw new TypeError("Cannot convert undefined or null to object")}var output=Object(target);for(var index=1;index<arguments.length;index++){var source=arguments[index];if(source!==undefined&&source!==null){for(var nextKey in source){if(source.hasOwnProperty(nextKey)){output[nextKey]=source[nextKey]}}}}return output}}else{assign=Object.assign}var assign$1=assign;var _uniqueId=1;function uniqueId(){return _uniqueId++}function each(obj,iterator,context){var i=void 0;if(!obj){return}if(obj.forEach){obj.forEach(iterator,context)}else if(obj.length!==undefined){i=0;while(i<obj.length){iterator.call(context,obj[i],i,obj);i++}}else{for(i in obj){obj.hasOwnProperty(i)&&iterator.call(context,obj[i],i,obj)}}}function invokeArrayArg(arg,fn,context){if(Array.isArray(arg)){each(arg,context[fn],context);return true}return false}function inArray(src,find,findByKey){if(src.indexOf&&!findByKey){return src.indexOf(find)}else{var i=0;while(i<src.length){if(findByKey&&src[i][findByKey]==find||!findByKey&&src[i]===find){return i}i++}return-1}}var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};var asyncGenerator=function(){function AwaitValue(value){this.value=value}function AsyncGenerator(gen){var front,back;function send(key,arg){return new Promise(function(resolve,reject){var request={key:key,arg:arg,resolve:resolve,reject:reject,next:null};if(back){back=back.next=request}else{front=back=request;resume(key,arg)}})}function resume(key,arg){try{var result=gen[key](arg);var value=result.value;if(value instanceof AwaitValue){Promise.resolve(value.value).then(function(arg){resume("next",arg)},function(arg){resume("throw",arg)})}else{settle(result.done?"return":"normal",result.value)}}catch(err){settle("throw",err)}}function settle(type,value){switch(type){case"return":front.resolve({value:value,done:true});break;case"throw":front.reject(value);break;default:front.resolve({value:value,done:false});break}front=front.next;if(front){resume(front.key,front.arg)}else{back=null}}this._invoke=send;if(typeof gen.return!=="function"){this.return=undefined}}if(typeof Symbol==="function"&&Symbol.asyncIterator){AsyncGenerator.prototype[Symbol.asyncIterator]=function(){return this}}AsyncGenerator.prototype.next=function(arg){return this._invoke("next",arg)};AsyncGenerator.prototype.throw=function(arg){return this._invoke("throw",arg)};AsyncGenerator.prototype.return=function(arg){return this._invoke("return",arg)};return{wrap:function(fn){return function(){return new AsyncGenerator(fn.apply(this,arguments))}},await:function(value){return new AwaitValue(value)}}}();var classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}};var createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};var inherits=function(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass};var possibleConstructorReturn=function(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self};var slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"])_i["return"]()}finally{if(_d)throw _e}}return _arr}return function(arr,i){if(Array.isArray(arr)){return arr}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i)}else{throw new TypeError("Invalid attempt to destructure non-iterable instance")}}}();function boolOrFn(val,args){if((typeof val==="undefined"?"undefined":_typeof(val))===TYPE_FUNCTION){return val.apply(args?args[0]||undefined:undefined,args)}return val}function getRecognizerByNameIfManager(otherRecognizer,recognizer){var manager=recognizer.manager;if(manager){return manager.get(otherRecognizer)}return otherRecognizer}function stateStr(state){if(state&STATE_CANCELLED){return"cancel"}else if(state&STATE_ENDED){return"end"}else if(state&STATE_CHANGED){return"move"}else if(state&STATE_BEGAN){return"start"}return""}var Recognizer=function(){function Recognizer(options){classCallCheck(this,Recognizer);this.options=assign$1({},this.defaults,options||{});this.id=uniqueId();this.manager=null;this.options.enable=ifUndefined(this.options.enable,true);this.state=STATE_POSSIBLE;this.simultaneous={};this.requireFail=[]}createClass(Recognizer,[{key:"set",value:function set(options){assign$1(this.options,options);this.manager&&this.manager.touchAction.update();return this}},{key:"recognizeWith",value:function recognizeWith(otherRecognizer){if(invokeArrayArg(otherRecognizer,"recognizeWith",this)){return this}var simultaneous=this.simultaneous;otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);if(!simultaneous[otherRecognizer.id]){simultaneous[otherRecognizer.id]=otherRecognizer;otherRecognizer.recognizeWith(this)}return this}},{key:"dropRecognizeWith",value:function dropRecognizeWith(otherRecognizer){if(invokeArrayArg(otherRecognizer,"dropRecognizeWith",this)){return this}otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);delete this.simultaneous[otherRecognizer.id];return this}},{key:"requireFailure",value:function requireFailure(otherRecognizer){if(invokeArrayArg(otherRecognizer,"requireFailure",this)){return this}var requireFail=this.requireFail;otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);if(inArray(requireFail,otherRecognizer)===-1){requireFail.push(otherRecognizer);otherRecognizer.requireFailure(this)}return this}},{key:"dropRequireFailure",value:function dropRequireFailure(otherRecognizer){if(invokeArrayArg(otherRecognizer,"dropRequireFailure",this)){return this}otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);var index=inArray(this.requireFail,otherRecognizer);if(index>-1){this.requireFail.splice(index,1)}return this}},{key:"hasRequireFailures",value:function hasRequireFailures(){return this.requireFail.length>0}},{key:"canRecognizeWith",value:function canRecognizeWith(otherRecognizer){return!!this.simultaneous[otherRecognizer.id]}},{key:"emit",value:function emit(input){var self=this;var state=this.state;function emit(event){self.manager.emit(event,input)}if(state<STATE_ENDED){emit(self.options.event+stateStr(state))}emit(self.options.event);if(input.additionalEvent){emit(input.additionalEvent)}if(state>=STATE_ENDED){emit(self.options.event+stateStr(state))}}},{key:"tryEmit",value:function tryEmit(input){if(this.canEmit()){return this.emit(input)}this.state=STATE_FAILED}},{key:"canEmit",value:function canEmit(){var i=0;while(i<this.requireFail.length){if(!(this.requireFail[i].state&(STATE_FAILED|STATE_POSSIBLE))){return false}i++}return true}},{key:"recognize",value:function recognize(inputData){var inputDataClone=assign$1({},inputData);if(!boolOrFn(this.options.enable,[this,inputDataClone])){this.reset();this.state=STATE_FAILED;return}if(this.state&(STATE_RECOGNIZED|STATE_CANCELLED|STATE_FAILED)){this.state=STATE_POSSIBLE}this.state=this.process(inputDataClone);if(this.state&(STATE_BEGAN|STATE_CHANGED|STATE_ENDED|STATE_CANCELLED)){this.tryEmit(inputDataClone)}}},{key:"process",value:function process(inputData){}},{key:"getTouchAction",value:function getTouchAction(){}},{key:"reset",value:function reset(){}}]);return Recognizer}();Recognizer.prototype.defaults={};var AttrRecognizer=function(_Recognizer){inherits(AttrRecognizer,_Recognizer);function AttrRecognizer(){classCallCheck(this,AttrRecognizer);return possibleConstructorReturn(this,(AttrRecognizer.__proto__||Object.getPrototypeOf(AttrRecognizer)).apply(this,arguments))}createClass(AttrRecognizer,[{key:"attrTest",value:function attrTest(input){var optionPointers=this.options.pointers;return optionPointers===0||input.pointers.length===optionPointers}},{key:"process",value:function process(input){var state=this.state;var eventType=input.eventType;var isRecognized=state&(STATE_BEGAN|STATE_CHANGED);var isValid=this.attrTest(input);if(isRecognized&&(eventType&INPUT_CANCEL||!isValid)){return state|STATE_CANCELLED}else if(isRecognized||isValid){if(eventType&INPUT_END){return state|STATE_ENDED}else if(!(state&STATE_BEGAN)){return STATE_BEGAN}return state|STATE_CHANGED}return STATE_FAILED}}]);return AttrRecognizer}(Recognizer);AttrRecognizer.prototype.defaults={pointers:1};var RotateRecognizer=function(_AttrRecognizer){inherits(RotateRecognizer,_AttrRecognizer);function RotateRecognizer(){classCallCheck(this,RotateRecognizer);return possibleConstructorReturn(this,(RotateRecognizer.__proto__||Object.getPrototypeOf(RotateRecognizer)).apply(this,arguments))}createClass(RotateRecognizer,[{key:"getTouchAction",value:function getTouchAction(){return[TOUCH_ACTION_NONE]}},{key:"attrTest",value:function attrTest(input){return get(RotateRecognizer.prototype.__proto__||Object.getPrototypeOf(RotateRecognizer.prototype),"attrTest",this).call(this,input)&&(Math.abs(input.rotation)>this.options.threshold||this.state&STATE_BEGAN)}}]);return RotateRecognizer}(AttrRecognizer);RotateRecognizer.prototype.defaults={event:"rotate",threshold:0,pointers:2};var PinchRecognizer=function(_AttrRecognizer){inherits(PinchRecognizer,_AttrRecognizer);function PinchRecognizer(){classCallCheck(this,PinchRecognizer);return possibleConstructorReturn(this,(PinchRecognizer.__proto__||Object.getPrototypeOf(PinchRecognizer)).apply(this,arguments))}createClass(PinchRecognizer,[{key:"getTouchAction",value:function getTouchAction(){return[TOUCH_ACTION_NONE]}},{key:"attrTest",value:function attrTest(input){return get(PinchRecognizer.prototype.__proto__||Object.getPrototypeOf(PinchRecognizer.prototype),"attrTest",this).call(this,input)&&(Math.abs(input.scale-1)>this.options.threshold||this.state&STATE_BEGAN)}},{key:"emit",value:function emit(input){if(input.scale!==1){var inOut=input.scale<1?"in":"out";input.additionalEvent=this.options.event+inOut}get(PinchRecognizer.prototype.__proto__||Object.getPrototypeOf(PinchRecognizer.prototype),"emit",this).call(this,input)}}]);return PinchRecognizer}(AttrRecognizer);PinchRecognizer.prototype.defaults={event:"pinch",threshold:0,pointers:2};function directionStr(direction){if(direction===DIRECTION_DOWN){return"down"}else if(direction===DIRECTION_UP){return"up"}else if(direction===DIRECTION_LEFT){return"left"}else if(direction===DIRECTION_RIGHT){return"right"}return""}var PanRecognizer=function(_AttrRecognizer){inherits(PanRecognizer,_AttrRecognizer);function PanRecognizer(){classCallCheck(this,PanRecognizer);var _this=possibleConstructorReturn(this,(PanRecognizer.__proto__||Object.getPrototypeOf(PanRecognizer)).apply(this,arguments));_this.pX=null;_this.pY=null;return _this}createClass(PanRecognizer,[{key:"getTouchAction",value:function getTouchAction(){var direction=this.options.direction;var actions=[];if(direction&DIRECTION_HORIZONTAL){actions.push(TOUCH_ACTION_PAN_Y)}if(direction&DIRECTION_VERTICAL){actions.push(TOUCH_ACTION_PAN_X)}return actions}},{key:"directionTest",value:function directionTest(input){var options=this.options;var hasMoved=true;var distance=input.distance;var direction=input.direction;var x=input.deltaX;var y=input.deltaY;if(!(direction&options.direction)){if(options.direction&DIRECTION_HORIZONTAL){direction=x===0?DIRECTION_NONE:x<0?DIRECTION_LEFT:DIRECTION_RIGHT;hasMoved=x!==this.pX;distance=Math.abs(input.deltaX)}else{direction=y===0?DIRECTION_NONE:y<0?DIRECTION_UP:DIRECTION_DOWN;hasMoved=y!==this.pY;distance=Math.abs(input.deltaY)}}input.direction=direction;return hasMoved&&distance>options.threshold&&direction&options.direction}},{key:"attrTest",value:function attrTest(input){return AttrRecognizer.prototype.attrTest.call(this,input)&&(this.state&STATE_BEGAN||!(this.state&STATE_BEGAN)&&this.directionTest(input))}},{key:"emit",value:function emit(input){this.pX=input.deltaX;this.pY=input.deltaY;var direction=directionStr(input.direction);if(direction){input.additionalEvent=this.options.event+direction}get(PanRecognizer.prototype.__proto__||Object.getPrototypeOf(PanRecognizer.prototype),"emit",this).call(this,input)}}]);return PanRecognizer}(AttrRecognizer);PanRecognizer.prototype.defaults={event:"pan",threshold:10,pointers:1,direction:DIRECTION_ALL};var SwipeRecognizer=function(_AttrRecognizer){inherits(SwipeRecognizer,_AttrRecognizer);function SwipeRecognizer(){classCallCheck(this,SwipeRecognizer);return possibleConstructorReturn(this,(SwipeRecognizer.__proto__||Object.getPrototypeOf(SwipeRecognizer)).apply(this,arguments))}createClass(SwipeRecognizer,[{key:"getTouchAction",value:function getTouchAction(){return PanRecognizer.prototype.getTouchAction.call(this)}},{key:"attrTest",value:function attrTest(input){var direction=this.options.direction;var velocity=void 0;if(direction&(DIRECTION_HORIZONTAL|DIRECTION_VERTICAL)){velocity=input.overallVelocity}else if(direction&DIRECTION_HORIZONTAL){velocity=input.overallVelocityX}else if(direction&DIRECTION_VERTICAL){velocity=input.overallVelocityY}return get(SwipeRecognizer.prototype.__proto__||Object.getPrototypeOf(SwipeRecognizer.prototype),"attrTest",this).call(this,input)&&direction&input.offsetDirection&&input.distance>this.options.threshold&&input.maxPointers===this.options.pointers&&abs(velocity)>this.options.velocity&&input.eventType&INPUT_END}},{key:"emit",value:function emit(input){var direction=directionStr(input.offsetDirection);if(direction){this.manager.emit(this.options.event+direction,input)}this.manager.emit(this.options.event,input)}}]);return SwipeRecognizer}(AttrRecognizer);SwipeRecognizer.prototype.defaults={event:"swipe",threshold:10,velocity:.3,direction:DIRECTION_HORIZONTAL|DIRECTION_VERTICAL,pointers:1};function bindFn(fn,context){return function boundFn(){return fn.apply(context,arguments)}}function setTimeoutContext(fn,timeout,context){return setTimeout(bindFn(fn,context),timeout)}function getDistance(p1,p2,props){if(!props){props=PROPS_XY}var x=p2[props[0]]-p1[props[0]];var y=p2[props[1]]-p1[props[1]];return Math.sqrt(x*x+y*y)}var TapRecognizer=function(_Recognizer){inherits(TapRecognizer,_Recognizer);function TapRecognizer(){classCallCheck(this,TapRecognizer);var _this=possibleConstructorReturn(this,(TapRecognizer.__proto__||Object.getPrototypeOf(TapRecognizer)).apply(this,arguments));_this.pTime=false;_this.pCenter=false;_this._timer=null;_this._input=null;_this.count=0;return _this}createClass(TapRecognizer,[{key:"getTouchAction",value:function getTouchAction(){return[TOUCH_ACTION_MANIPULATION]}},{key:"process",value:function process(input){var _this2=this;var options=this.options;var validPointers=input.pointers.length===options.pointers;var validMovement=input.distance<options.threshold;var validTouchTime=input.deltaTime<options.time;this.reset();if(input.eventType&INPUT_START&&this.count===0){return this.failTimeout()}if(validMovement&&validTouchTime&&validPointers){if(input.eventType!==INPUT_END){return this.failTimeout()}var validInterval=this.pTime?input.timeStamp-this.pTime<options.interval:true;var validMultiTap=!this.pCenter||getDistance(this.pCenter,input.center)<options.posThreshold;this.pTime=input.timeStamp;this.pCenter=input.center;if(!validMultiTap||!validInterval){this.count=1}else{this.count+=1}this._input=input;var tapCount=this.count%options.taps;if(tapCount===0){if(!this.hasRequireFailures()){return STATE_RECOGNIZED}else{this._timer=setTimeoutContext(function(){_this2.state=STATE_RECOGNIZED;_this2.tryEmit()},options.interval,this);return STATE_BEGAN}}}return STATE_FAILED}},{key:"failTimeout",value:function failTimeout(){var _this3=this;this._timer=setTimeoutContext(function(){_this3.state=STATE_FAILED},this.options.interval,this);return STATE_FAILED}},{key:"reset",value:function reset(){clearTimeout(this._timer)}},{key:"emit",value:function emit(){if(this.state===STATE_RECOGNIZED){this._input.tapCount=this.count;this.manager.emit(this.options.event,this._input)}}}]);return TapRecognizer}(Recognizer);TapRecognizer.prototype.defaults={event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10};var PressRecognizer=function(_Recognizer){inherits(PressRecognizer,_Recognizer);function PressRecognizer(){classCallCheck(this,PressRecognizer);var _this=possibleConstructorReturn(this,(PressRecognizer.__proto__||Object.getPrototypeOf(PressRecognizer)).apply(this,arguments));_this._timer=null;_this._input=null;return _this}createClass(PressRecognizer,[{key:"getTouchAction",value:function getTouchAction(){return[TOUCH_ACTION_AUTO]}},{key:"process",value:function process(input){var _this2=this;var options=this.options;var validPointers=input.pointers.length===options.pointers;var validMovement=input.distance<options.threshold;var validTime=input.deltaTime>options.time;this._input=input;if(!validMovement||!validPointers||input.eventType&(INPUT_END|INPUT_CANCEL)&&!validTime){this.reset()}else if(input.eventType&INPUT_START){this.reset();this._timer=setTimeoutContext(function(){_this2.state=STATE_RECOGNIZED;_this2.tryEmit()},options.time,this)}else if(input.eventType&INPUT_END){return STATE_RECOGNIZED}return STATE_FAILED}},{key:"reset",value:function reset(){clearTimeout(this._timer)}},{key:"emit",value:function emit(input){if(this.state!==STATE_RECOGNIZED){return}if(input&&input.eventType&INPUT_END){this.manager.emit(this.options.event+"up",input)}else{this._input.timeStamp=now();this.manager.emit(this.options.event,this._input)}}}]);return PressRecognizer}(Recognizer);PressRecognizer.prototype.defaults={event:"press",pointers:1,time:251,threshold:9};function inStr(str,find){return str.indexOf(find)>-1}function cleanTouchActions(actions){if(inStr(actions,TOUCH_ACTION_NONE)){return TOUCH_ACTION_NONE}var hasPanX=inStr(actions,TOUCH_ACTION_PAN_X);var hasPanY=inStr(actions,TOUCH_ACTION_PAN_Y);if(hasPanX&&hasPanY){return TOUCH_ACTION_NONE}if(hasPanX||hasPanY){return hasPanX?TOUCH_ACTION_PAN_X:TOUCH_ACTION_PAN_Y}if(inStr(actions,TOUCH_ACTION_MANIPULATION)){return TOUCH_ACTION_MANIPULATION}return TOUCH_ACTION_AUTO}var TouchAction=function(){function TouchAction(manager,value){classCallCheck(this,TouchAction);this.manager=manager;this.set(value)}createClass(TouchAction,[{key:"set",value:function set(value){if(value===TOUCH_ACTION_COMPUTE){value=this.compute()}if(NATIVE_TOUCH_ACTION&&this.manager.element.style&&TOUCH_ACTION_MAP[value]){this.manager.element.style[PREFIXED_TOUCH_ACTION]=value}this.actions=value.toLowerCase().trim()}},{key:"update",value:function update(){this.set(this.manager.options.touchAction)}},{key:"compute",value:function compute(){var actions=[];each(this.manager.recognizers,function(recognizer){if(boolOrFn(recognizer.options.enable,[recognizer])){actions=actions.concat(recognizer.getTouchAction())}});return cleanTouchActions(actions.join(" "))}},{key:"preventDefaults",value:function preventDefaults(input){var srcEvent=input.srcEvent;var direction=input.offsetDirection;if(this.manager.session.prevented){srcEvent.preventDefault();return}var actions=this.actions;var hasNone=inStr(actions,TOUCH_ACTION_NONE)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];var hasPanY=inStr(actions,TOUCH_ACTION_PAN_Y)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];var hasPanX=inStr(actions,TOUCH_ACTION_PAN_X)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];if(hasNone){var isTapPointer=input.pointers.length===1;var isTapMovement=input.distance<2;var isTapTouchTime=input.deltaTime<250;if(isTapPointer&&isTapMovement&&isTapTouchTime){return}}if(hasPanX&&hasPanY){return}if(hasNone||hasPanY&&direction&DIRECTION_HORIZONTAL||hasPanX&&direction&DIRECTION_VERTICAL){return this.preventSrc(srcEvent)}}},{key:"preventSrc",value:function preventSrc(srcEvent){this.manager.session.prevented=true;srcEvent.preventDefault()}}]);return TouchAction}();function hasParent(node,parent){while(node){if(node===parent){return true}node=node.parentNode}return false}function getCenter(pointers){var pointersLength=pointers.length;if(pointersLength===1){return{x:round(pointers[0].clientX),y:round(pointers[0].clientY)}}var x=0;var y=0;var i=0;while(i<pointersLength){x+=pointers[i].clientX;y+=pointers[i].clientY;i++}return{x:round(x/pointersLength),y:round(y/pointersLength)}}function simpleCloneInputData(input){var pointers=[];var i=0;while(i<input.pointers.length){pointers[i]={clientX:round(input.pointers[i].clientX),clientY:round(input.pointers[i].clientY)};i++}return{timeStamp:now(),pointers:pointers,center:getCenter(pointers),deltaX:input.deltaX,deltaY:input.deltaY}}function getAngle(p1,p2,props){if(!props){props=PROPS_XY}var x=p2[props[0]]-p1[props[0]];var y=p2[props[1]]-p1[props[1]];return Math.atan2(y,x)*180/Math.PI}function getDirection(x,y){if(x===y){return DIRECTION_NONE}if(abs(x)>=abs(y)){return x<0?DIRECTION_LEFT:DIRECTION_RIGHT}return y<0?DIRECTION_UP:DIRECTION_DOWN}function computeDeltaXY(session,input){var center=input.center;var offset=session.offsetDelta||{};var prevDelta=session.prevDelta||{};var prevInput=session.prevInput||{};if(input.eventType===INPUT_START||prevInput.eventType===INPUT_END){prevDelta=session.prevDelta={x:prevInput.deltaX||0,y:prevInput.deltaY||0};offset=session.offsetDelta={x:center.x,y:center.y}}input.deltaX=prevDelta.x+(center.x-offset.x);input.deltaY=prevDelta.y+(center.y-offset.y)}function getVelocity(deltaTime,x,y){return{x:x/deltaTime||0,y:y/deltaTime||0}}function getScale(start,end){return getDistance(end[0],end[1],PROPS_CLIENT_XY)/getDistance(start[0],start[1],PROPS_CLIENT_XY)}function getRotation(start,end){return getAngle(end[1],end[0],PROPS_CLIENT_XY)+getAngle(start[1],start[0],PROPS_CLIENT_XY)}function computeIntervalInputData(session,input){var last=session.lastInterval||input;var deltaTime=input.timeStamp-last.timeStamp;var velocity=void 0;var velocityX=void 0;var velocityY=void 0;var direction=void 0;if(input.eventType!==INPUT_CANCEL&&(deltaTime>COMPUTE_INTERVAL||last.velocity===undefined)){var deltaX=input.deltaX-last.deltaX;var deltaY=input.deltaY-last.deltaY;var v=getVelocity(deltaTime,deltaX,deltaY);velocityX=v.x;velocityY=v.y;velocity=abs(v.x)>abs(v.y)?v.x:v.y;direction=getDirection(deltaX,deltaY);session.lastInterval=input}else{velocity=last.velocity;velocityX=last.velocityX;velocityY=last.velocityY;direction=last.direction}input.velocity=velocity;input.velocityX=velocityX;input.velocityY=velocityY;input.direction=direction}function computeInputData(manager,input){var session=manager.session;var pointers=input.pointers;var pointersLength=pointers.length;if(!session.firstInput){session.firstInput=simpleCloneInputData(input)}if(pointersLength>1&&!session.firstMultiple){session.firstMultiple=simpleCloneInputData(input)}else if(pointersLength===1){session.firstMultiple=false}var firstInput=session.firstInput;var firstMultiple=session.firstMultiple;var offsetCenter=firstMultiple?firstMultiple.center:firstInput.center;var center=input.center=getCenter(pointers);input.timeStamp=now();input.deltaTime=input.timeStamp-firstInput.timeStamp;input.angle=getAngle(offsetCenter,center);input.distance=getDistance(offsetCenter,center);computeDeltaXY(session,input);input.offsetDirection=getDirection(input.deltaX,input.deltaY);var overallVelocity=getVelocity(input.deltaTime,input.deltaX,input.deltaY);input.overallVelocityX=overallVelocity.x;input.overallVelocityY=overallVelocity.y;input.overallVelocity=abs(overallVelocity.x)>abs(overallVelocity.y)?overallVelocity.x:overallVelocity.y;input.scale=firstMultiple?getScale(firstMultiple.pointers,pointers):1;input.rotation=firstMultiple?getRotation(firstMultiple.pointers,pointers):0;input.maxPointers=!session.prevInput?input.pointers.length:input.pointers.length>session.prevInput.maxPointers?input.pointers.length:session.prevInput.maxPointers;computeIntervalInputData(session,input);var target=manager.element;if(hasParent(input.srcEvent.target,target)){target=input.srcEvent.target}input.target=target}function inputHandler(manager,eventType,input){var pointersLen=input.pointers.length;var changedPointersLen=input.changedPointers.length;var isFirst=eventType&INPUT_START&&pointersLen-changedPointersLen===0;var isFinal=eventType&(INPUT_END|INPUT_CANCEL)&&pointersLen-changedPointersLen===0;input.isFirst=!!isFirst;input.isFinal=!!isFinal;if(isFirst){manager.session={}}input.eventType=eventType;computeInputData(manager,input);manager.emit("hammer.input",input);manager.recognize(input);manager.session.prevInput=input}function splitStr(str){return str.trim().split(/\s+/g)}function addEventListeners(target,types,handler){each(splitStr(types),function(type){target.addEventListener(type,handler,false)})}function removeEventListeners(target,types,handler){each(splitStr(types),function(type){target.removeEventListener(type,handler,false)})}function getWindowForElement(element){var doc=element.ownerDocument||element;return doc.defaultView||doc.parentWindow||window}var Input=function(){function Input(manager,callback){classCallCheck(this,Input);var self=this;this.manager=manager;this.callback=callback;this.element=manager.element;this.target=manager.options.inputTarget;this.domHandler=function(ev){if(boolOrFn(manager.options.enable,[manager])){self.handler(ev)}};this.init()}createClass(Input,[{key:"handler",value:function handler(){}},{key:"init",value:function init(){this.evEl&&addEventListeners(this.element,this.evEl,this.domHandler);this.evTarget&&addEventListeners(this.target,this.evTarget,this.domHandler);this.evWin&&addEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)}},{key:"destroy",value:function destroy(){this.evEl&&removeEventListeners(this.element,this.evEl,this.domHandler);this.evTarget&&removeEventListeners(this.target,this.evTarget,this.domHandler);this.evWin&&removeEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler)}}]);return Input}();var POINTER_INPUT_MAP={pointerdown:INPUT_START,pointermove:INPUT_MOVE,pointerup:INPUT_END,pointercancel:INPUT_CANCEL,pointerout:INPUT_CANCEL};var IE10_POINTER_TYPE_ENUM={2:INPUT_TYPE_TOUCH,3:INPUT_TYPE_PEN,4:INPUT_TYPE_MOUSE,5:INPUT_TYPE_KINECT};var POINTER_ELEMENT_EVENTS="pointerdown";var POINTER_WINDOW_EVENTS="pointermove pointerup pointercancel";if(window.MSPointerEvent&&!window.PointerEvent){POINTER_ELEMENT_EVENTS="MSPointerDown";POINTER_WINDOW_EVENTS="MSPointerMove MSPointerUp MSPointerCancel"}var PointerEventInput=function(_Input){inherits(PointerEventInput,_Input);function PointerEventInput(){classCallCheck(this,PointerEventInput);var _this=possibleConstructorReturn(this,(PointerEventInput.__proto__||Object.getPrototypeOf(PointerEventInput)).apply(this,arguments));_this.evEl=POINTER_ELEMENT_EVENTS;_this.evWin=POINTER_WINDOW_EVENTS;_this.store=_this.manager.session.pointerEvents=[];return _this}createClass(PointerEventInput,[{key:"handler",value:function handler(ev){var store=this.store;var removePointer=false;var eventTypeNormalized=ev.type.toLowerCase().replace("ms","");var eventType=POINTER_INPUT_MAP[eventTypeNormalized];var pointerType=IE10_POINTER_TYPE_ENUM[ev.pointerType]||ev.pointerType;var isTouch=pointerType===INPUT_TYPE_TOUCH;var storeIndex=inArray(store,ev.pointerId,"pointerId");if(eventType&INPUT_START&&(ev.button===0||isTouch)){if(storeIndex<0){store.push(ev);storeIndex=store.length-1}}else if(eventType&(INPUT_END|INPUT_CANCEL)){removePointer=true}if(storeIndex<0){return}store[storeIndex]=ev;this.callback(this.manager,eventType,{pointers:store,changedPointers:[ev],pointerType:pointerType,srcEvent:ev});if(removePointer){store.splice(storeIndex,1)}}}]);return PointerEventInput}(Input);function toArray$1(obj){return Array.prototype.slice.call(obj,0)}function uniqueArray(src,key,sort){var results=[];var values=[];var i=0;while(i<src.length){var val=key?src[i][key]:src[i];if(inArray(values,val)<0){results.push(src[i])}values[i]=val;i++}if(sort){if(!key){results=results.sort()}else{results=results.sort(function(a,b){return a[key]>b[key]})}}return results}var TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:INPUT_MOVE,touchend:INPUT_END,touchcancel:INPUT_CANCEL};var TOUCH_TARGET_EVENTS="touchstart touchmove touchend touchcancel";var TouchInput=function(_Input){inherits(TouchInput,_Input);function TouchInput(){classCallCheck(this,TouchInput);TouchInput.prototype.evTarget=TOUCH_TARGET_EVENTS;
7
+ TouchInput.prototype.targetIds={};var _this=possibleConstructorReturn(this,(TouchInput.__proto__||Object.getPrototypeOf(TouchInput)).apply(this,arguments));_this.evTarget=TOUCH_TARGET_EVENTS;_this.targetIds={};return _this}createClass(TouchInput,[{key:"handler",value:function handler(ev){var type=TOUCH_INPUT_MAP[ev.type];var touches=getTouches.call(this,ev,type);if(!touches){return}this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:INPUT_TYPE_TOUCH,srcEvent:ev})}}]);return TouchInput}(Input);function getTouches(ev,type){var allTouches=toArray$1(ev.touches);var targetIds=this.targetIds;if(type&(INPUT_START|INPUT_MOVE)&&allTouches.length===1){targetIds[allTouches[0].identifier]=true;return[allTouches,allTouches]}var i=void 0;var targetTouches=void 0;var changedTouches=toArray$1(ev.changedTouches);var changedTargetTouches=[];var target=this.target;targetTouches=allTouches.filter(function(touch){return hasParent(touch.target,target)});if(type===INPUT_START){i=0;while(i<targetTouches.length){targetIds[targetTouches[i].identifier]=true;i++}}i=0;while(i<changedTouches.length){if(targetIds[changedTouches[i].identifier]){changedTargetTouches.push(changedTouches[i])}if(type&(INPUT_END|INPUT_CANCEL)){delete targetIds[changedTouches[i].identifier]}i++}if(!changedTargetTouches.length){return}return[uniqueArray(targetTouches.concat(changedTargetTouches),"identifier",true),changedTargetTouches]}var MOUSE_INPUT_MAP={mousedown:INPUT_START,mousemove:INPUT_MOVE,mouseup:INPUT_END};var MOUSE_ELEMENT_EVENTS="mousedown";var MOUSE_WINDOW_EVENTS="mousemove mouseup";var MouseInput=function(_Input){inherits(MouseInput,_Input);function MouseInput(){classCallCheck(this,MouseInput);var _this=possibleConstructorReturn(this,(MouseInput.__proto__||Object.getPrototypeOf(MouseInput)).apply(this,arguments));_this.evEl=MOUSE_ELEMENT_EVENTS;_this.evWin=MOUSE_WINDOW_EVENTS;_this.pressed=false;return _this}createClass(MouseInput,[{key:"handler",value:function handler(ev){var eventType=MOUSE_INPUT_MAP[ev.type];if(eventType&INPUT_START&&ev.button===0){this.pressed=true}if(eventType&INPUT_MOVE&&ev.which!==1){eventType=INPUT_END}if(!this.pressed){return}if(eventType&INPUT_END){this.pressed=false}this.callback(this.manager,eventType,{pointers:[ev],changedPointers:[ev],pointerType:INPUT_TYPE_MOUSE,srcEvent:ev})}}]);return MouseInput}(Input);var DEDUP_TIMEOUT=2500;var DEDUP_DISTANCE=25;var TouchMouseInput=function(_Input){inherits(TouchMouseInput,_Input);function TouchMouseInput(){classCallCheck(this,TouchMouseInput);var _this=possibleConstructorReturn(this,(TouchMouseInput.__proto__||Object.getPrototypeOf(TouchMouseInput)).apply(this,arguments));var handler=bindFn(_this.handler,_this);_this.touch=new TouchInput(_this.manager,handler);_this.mouse=new MouseInput(_this.manager,handler);_this.primaryTouch=null;_this.lastTouches=[];return _this}createClass(TouchMouseInput,[{key:"handler",value:function handler(manager,inputEvent,inputData){var isTouch=inputData.pointerType===INPUT_TYPE_TOUCH;var isMouse=inputData.pointerType===INPUT_TYPE_MOUSE;if(isMouse&&inputData.sourceCapabilities&&inputData.sourceCapabilities.firesTouchEvents){return}if(isTouch){recordTouches.call(this,inputEvent,inputData)}else if(isMouse&&isSyntheticEvent.call(this,inputData)){return}this.callback(manager,inputEvent,inputData)}},{key:"destroy",value:function destroy(){this.touch.destroy();this.mouse.destroy()}}]);return TouchMouseInput}(Input);function recordTouches(eventType,eventData){if(eventType&INPUT_START){this.primaryTouch=eventData.changedPointers[0].identifier;setLastTouch.call(this,eventData)}else if(eventType&(INPUT_END|INPUT_CANCEL)){setLastTouch.call(this,eventData)}}function setLastTouch(eventData){var _this2=this;var _eventData$changedPoi=slicedToArray(eventData.changedPointers,1);var touch=_eventData$changedPoi[0];if(touch.identifier===this.primaryTouch){(function(){var lastTouch={x:touch.clientX,y:touch.clientY};_this2.lastTouches.push(lastTouch);var lts=_this2.lastTouches;var removeLastTouch=function removeLastTouch(){var i=lts.indexOf(lastTouch);if(i>-1){lts.splice(i,1)}};setTimeout(removeLastTouch,DEDUP_TIMEOUT)})()}}function isSyntheticEvent(eventData){var x=eventData.srcEvent.clientX;var y=eventData.srcEvent.clientY;for(var i=0;i<this.lastTouches.length;i++){var t=this.lastTouches[i];var dx=Math.abs(x-t.x);var dy=Math.abs(y-t.y);if(dx<=DEDUP_DISTANCE&&dy<=DEDUP_DISTANCE){return true}}return false}function createInputInstance(manager){var Type=void 0;var inputClass=manager.options.inputClass;if(inputClass){Type=inputClass}else if(SUPPORT_POINTER_EVENTS){Type=PointerEventInput}else if(SUPPORT_ONLY_TOUCH){Type=TouchInput}else if(!SUPPORT_TOUCH){Type=MouseInput}else{Type=TouchMouseInput}return new Type(manager,inputHandler)}var STOP=1;var FORCED_STOP=2;var Manager=function(){function Manager(element,options){var _this=this;classCallCheck(this,Manager);this.options=assign$1({},Hammer.defaults,options||{});this.options.inputTarget=this.options.inputTarget||element;this.handlers={};this.session={};this.recognizers=[];this.oldCssProps={};this.element=element;this.input=createInputInstance(this);this.touchAction=new TouchAction(this,this.options.touchAction);toggleCssProps(this,true);each(this.options.recognizers,function(item){var recognizer=_this.add(new item[0](item[1]));item[2]&&recognizer.recognizeWith(item[2]);item[3]&&recognizer.requireFailure(item[3])},this)}createClass(Manager,[{key:"set",value:function set(options){assign$1(this.options,options);if(options.touchAction){this.touchAction.update()}if(options.inputTarget){this.input.destroy();this.input.target=options.inputTarget;this.input.init()}return this}},{key:"stop",value:function stop(force){this.session.stopped=force?FORCED_STOP:STOP}},{key:"recognize",value:function recognize(inputData){var session=this.session;if(session.stopped){return}this.touchAction.preventDefaults(inputData);var recognizer=void 0;var recognizers=this.recognizers;var curRecognizer=session.curRecognizer;if(!curRecognizer||curRecognizer&&curRecognizer.state&STATE_RECOGNIZED){curRecognizer=session.curRecognizer=null}var i=0;while(i<recognizers.length){recognizer=recognizers[i];if(session.stopped!==FORCED_STOP&&(!curRecognizer||recognizer===curRecognizer||recognizer.canRecognizeWith(curRecognizer))){recognizer.recognize(inputData)}else{recognizer.reset()}if(!curRecognizer&&recognizer.state&(STATE_BEGAN|STATE_CHANGED|STATE_ENDED)){curRecognizer=session.curRecognizer=recognizer}i++}}},{key:"get",value:function get(recognizer){if(recognizer instanceof Recognizer){return recognizer}var recognizers=this.recognizers;for(var i=0;i<recognizers.length;i++){if(recognizers[i].options.event===recognizer){return recognizers[i]}}return null}},{key:"add",value:function add(recognizer){if(invokeArrayArg(recognizer,"add",this)){return this}var existing=this.get(recognizer.options.event);if(existing){this.remove(existing)}this.recognizers.push(recognizer);recognizer.manager=this;this.touchAction.update();return recognizer}},{key:"remove",value:function remove(recognizer){if(invokeArrayArg(recognizer,"remove",this)){return this}recognizer=this.get(recognizer);if(recognizer){var recognizers=this.recognizers;var index=inArray(recognizers,recognizer);if(index!==-1){recognizers.splice(index,1);this.touchAction.update()}}return this}},{key:"on",value:function on(events,handler){if(events===undefined){return}if(handler===undefined){return}var handlers=this.handlers;each(splitStr(events),function(event){handlers[event]=handlers[event]||[];handlers[event].push(handler)});return this}},{key:"off",value:function off(events,handler){if(events===undefined){return}var handlers=this.handlers;each(splitStr(events),function(event){if(!handler){delete handlers[event]}else{handlers[event]&&handlers[event].splice(inArray(handlers[event],handler),1)}});return this}},{key:"emit",value:function emit(event,data){if(this.options.domEvents){triggerDomEvent(event,data)}var handlers=this.handlers[event]&&this.handlers[event].slice();if(!handlers||!handlers.length){return}data.type=event;data.preventDefault=function(){data.srcEvent.preventDefault()};var i=0;while(i<handlers.length){handlers[i](data);i++}}},{key:"destroy",value:function destroy(){this.element&&toggleCssProps(this,false);this.handlers={};this.session={};this.input.destroy();this.element=null}}]);return Manager}();function toggleCssProps(manager,add){var element=manager.element;if(!element.style){return}var prop=void 0;each(manager.options.cssProps,function(value,name){prop=prefixed(element.style,name);if(add){manager.oldCssProps[prop]=element.style[prop];element.style[prop]=value}else{element.style[prop]=manager.oldCssProps[prop]||""}});if(!add){manager.oldCssProps={}}}function triggerDomEvent(event,data){var gestureEvent=document.createEvent("Event");gestureEvent.initEvent(event,true,true);gestureEvent.gesture=data;data.target.dispatchEvent(gestureEvent)}var Hammer=function Hammer(element,options){classCallCheck(this,Hammer);options=options||{};options.recognizers=ifUndefined(options.recognizers,Hammer.defaults.preset);return new Manager(element,options)};Hammer.VERSION="2.0.8";Hammer.defaults={domEvents:false,touchAction:TOUCH_ACTION_COMPUTE,enable:true,inputTarget:null,inputClass:null,preset:[[RotateRecognizer,{enable:false}],[PinchRecognizer,{enable:false},["rotate"]],[SwipeRecognizer,{direction:DIRECTION_HORIZONTAL}],[PanRecognizer,{direction:DIRECTION_HORIZONTAL},["swipe"]],[TapRecognizer],[TapRecognizer,{event:"doubletap",taps:2},["tap"]],[PressRecognizer]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var SINGLE_TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:INPUT_MOVE,touchend:INPUT_END,touchcancel:INPUT_CANCEL};var SINGLE_TOUCH_TARGET_EVENTS="touchstart";var SINGLE_TOUCH_WINDOW_EVENTS="touchstart touchmove touchend touchcancel";var SingleTouchInput=function(_Input){inherits(SingleTouchInput,_Input);function SingleTouchInput(){classCallCheck(this,SingleTouchInput);var _this=possibleConstructorReturn(this,(SingleTouchInput.__proto__||Object.getPrototypeOf(SingleTouchInput)).apply(this,arguments));_this.evTarget=SINGLE_TOUCH_TARGET_EVENTS;_this.evWin=SINGLE_TOUCH_WINDOW_EVENTS;_this.started=false;Input.apply(_this,arguments);return _this}createClass(SingleTouchInput,[{key:"handler",value:function handler(ev){var type=SINGLE_TOUCH_INPUT_MAP[ev.type];if(type===INPUT_START){this.started=true}if(!this.started){return}var touches=normalizeSingleTouches.call(this,ev,type);if(type&(INPUT_END|INPUT_CANCEL)&&touches[0].length-touches[1].length===0){this.started=false}this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:INPUT_TYPE_TOUCH,srcEvent:ev})}}]);return SingleTouchInput}(Input);function normalizeSingleTouches(ev,type){var all=toArray$1(ev.touches);var changed=toArray$1(ev.changedTouches);if(type&(INPUT_END|INPUT_CANCEL)){all=uniqueArray(all.concat(changed),"identifier",true)}return[all,changed]}function deprecate(method,name,message){var deprecationMessage="DEPRECATED METHOD: "+name+"\n"+message+" AT \n";return function(){var e=new Error("get-stack-trace");var stack=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace";var log=window.console&&(window.console.warn||window.console.log);if(log){log.call(window.console,deprecationMessage,stack)}return method.apply(this,arguments)}}var extend=deprecate(function(dest,src,merge){var keys=Object.keys(src);var i=0;while(i<keys.length){if(!merge||merge&&dest[keys[i]]===undefined){dest[keys[i]]=src[keys[i]]}i++}return dest},"extend","Use `assign`.");var merge=deprecate(function(dest,src){return extend(dest,src,true)},"merge","Use `assign`.");function inherit(child,base,properties){var baseP=base.prototype;var childP=void 0;childP=child.prototype=Object.create(baseP);childP.constructor=child;childP._super=baseP;if(properties){assign$1(childP,properties)}}assign$1(Hammer,{INPUT_START:INPUT_START,INPUT_MOVE:INPUT_MOVE,INPUT_END:INPUT_END,INPUT_CANCEL:INPUT_CANCEL,STATE_POSSIBLE:STATE_POSSIBLE,STATE_BEGAN:STATE_BEGAN,STATE_CHANGED:STATE_CHANGED,STATE_ENDED:STATE_ENDED,STATE_RECOGNIZED:STATE_RECOGNIZED,STATE_CANCELLED:STATE_CANCELLED,STATE_FAILED:STATE_FAILED,DIRECTION_NONE:DIRECTION_NONE,DIRECTION_LEFT:DIRECTION_LEFT,DIRECTION_RIGHT:DIRECTION_RIGHT,DIRECTION_UP:DIRECTION_UP,DIRECTION_DOWN:DIRECTION_DOWN,DIRECTION_HORIZONTAL:DIRECTION_HORIZONTAL,DIRECTION_VERTICAL:DIRECTION_VERTICAL,DIRECTION_ALL:DIRECTION_ALL,Manager:Manager,Input:Input,TouchAction:TouchAction,TouchInput:TouchInput,MouseInput:MouseInput,PointerEventInput:PointerEventInput,TouchMouseInput:TouchMouseInput,SingleTouchInput:SingleTouchInput,Recognizer:Recognizer,AttrRecognizer:AttrRecognizer,Tap:TapRecognizer,Pan:PanRecognizer,Swipe:SwipeRecognizer,Pinch:PinchRecognizer,Rotate:RotateRecognizer,Press:PressRecognizer,on:addEventListeners,off:removeEventListeners,each:each,merge:merge,extend:extend,assign:assign$1,inherit:inherit,bindFn:bindFn,prefixed:prefixed,toArray:toArray$1,inArray:inArray,uniqueArray:uniqueArray,splitStr:splitStr,boolOrFn:boolOrFn,hasParent:hasParent,addEventListeners:addEventListeners,removeEventListeners:removeEventListeners});if(typeof define==="function"&&define.amd){define(function(){return Hammer})}else if(typeof module!=="undefined"&&module.exports){module.exports=Hammer}else{window[exportName]=Hammer}})(window,document,"Hammer");
8
+ //# sourceMappingURL=hammer.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["hammer.js"],"names":["window","document","exportName","undefined","ifUndefined","val1","val2","VENDOR_PREFIXES","TEST_ELEMENT","createElement","TYPE_FUNCTION","round","Math","abs","now","Date","prefixed","obj","property","prefix","prop","camelProp","toUpperCase","slice","i","length","getTouchActionProps","NATIVE_TOUCH_ACTION","touchMap","cssSupports","CSS","supports","forEach","val","PREFIXED_TOUCH_ACTION","style","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","MOBILE_REGEX","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","test","navigator","userAgent","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","COMPUTE_INTERVAL","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","PROPS_XY","PROPS_CLIENT_XY","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","assign","Object","target","TypeError","output","index","arguments","source","nextKey","hasOwnProperty","assign$1","_uniqueId","uniqueId","each","iterator","context","call","invokeArrayArg","arg","fn","Array","isArray","inArray","src","find","findByKey","indexOf","_typeof","Symbol","constructor","prototype","asyncGenerator","AwaitValue","value","this","AsyncGenerator","gen","front","back","send","key","Promise","resolve","reject","request","next","resume","result","then","settle","done","err","type","_invoke","return","asyncIterator","throw","wrap","apply","await","classCallCheck","instance","Constructor","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","get","object","receiver","Function","desc","getOwnPropertyDescriptor","parent","getPrototypeOf","getter","inherits","subClass","superClass","create","setPrototypeOf","__proto__","possibleConstructorReturn","self","ReferenceError","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_i","_s","push","boolOrFn","args","getRecognizerByNameIfManager","otherRecognizer","recognizer","manager","stateStr","state","Recognizer","options","defaults","id","enable","simultaneous","requireFail","set","touchAction","update","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","splice","hasRequireFailures","canRecognizeWith","emit","input","event","additionalEvent","tryEmit","canEmit","recognize","inputData","inputDataClone","reset","process","getTouchAction","AttrRecognizer","_Recognizer","attrTest","optionPointers","pointers","eventType","isRecognized","isValid","RotateRecognizer","_AttrRecognizer","rotation","threshold","PinchRecognizer","scale","inOut","directionStr","direction","PanRecognizer","_this","pX","pY","actions","directionTest","hasMoved","distance","x","deltaX","y","deltaY","SwipeRecognizer","velocity","overallVelocity","overallVelocityX","overallVelocityY","offsetDirection","maxPointers","bindFn","boundFn","setTimeoutContext","timeout","setTimeout","getDistance","p1","p2","sqrt","TapRecognizer","pTime","pCenter","_timer","_input","count","_this2","validPointers","validMovement","validTouchTime","deltaTime","time","failTimeout","validInterval","timeStamp","interval","validMultiTap","center","posThreshold","tapCount","taps","_this3","clearTimeout","PressRecognizer","validTime","inStr","str","cleanTouchActions","hasPanX","hasPanY","TouchAction","compute","element","toLowerCase","trim","recognizers","concat","join","preventDefaults","srcEvent","session","prevented","preventDefault","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","hasParent","node","parentNode","getCenter","pointersLength","clientX","clientY","simpleCloneInputData","getAngle","atan2","PI","getDirection","computeDeltaXY","offset","offsetDelta","prevDelta","prevInput","getVelocity","getScale","start","end","getRotation","computeIntervalInputData","last","lastInterval","velocityX","velocityY","v","computeInputData","firstInput","firstMultiple","offsetCenter","angle","inputHandler","pointersLen","changedPointersLen","changedPointers","isFirst","isFinal","splitStr","split","addEventListeners","types","handler","addEventListener","removeEventListeners","removeEventListener","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","callback","inputTarget","domHandler","ev","init","evEl","evTarget","evWin","destroy","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","MSPointerEvent","PointerEvent","PointerEventInput","_Input","store","pointerEvents","removePointer","eventTypeNormalized","replace","pointerType","isTouch","storeIndex","pointerId","button","toArray$1","uniqueArray","sort","results","values","a","b","TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_TARGET_EVENTS","TouchInput","targetIds","touches","getTouches","allTouches","identifier","targetTouches","changedTouches","changedTargetTouches","filter","touch","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","MouseInput","pressed","which","DEDUP_TIMEOUT","DEDUP_DISTANCE","TouchMouseInput","mouse","primaryTouch","lastTouches","inputEvent","isMouse","sourceCapabilities","firesTouchEvents","recordTouches","isSyntheticEvent","eventData","setLastTouch","_eventData$changedPoi","lastTouch","lts","removeLastTouch","t","dx","dy","createInputInstance","Type","inputClass","STOP","FORCED_STOP","Manager","Hammer","handlers","oldCssProps","toggleCssProps","item","add","stop","force","stopped","curRecognizer","existing","remove","on","events","off","data","domEvents","triggerDomEvent","cssProps","name","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","preset","VERSION","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","SINGLE_TOUCH_INPUT_MAP","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","SingleTouchInput","started","normalizeSingleTouches","all","changed","deprecate","method","message","deprecationMessage","e","Error","stack","log","console","warn","extend","dest","merge","keys","inherit","child","base","properties","baseP","childP","_super","Tap","Pan","Swipe","Pinch","Rotate","Press","toArray","define","amd","module","exports"],"mappings":"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","file":"hammer.min.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"hammer.min.js","sources":["hammer.js"],"names":["window","document","exportName","undefined","setTimeoutContext","fn","timeout","context","setTimeout","bindFn","invokeArrayArg","arg","Array","isArray","each","obj","iterator","i","forEach","length","call","hasOwnProperty","deprecate","method","name","message","deprecationMessage","e","Error","stack","replace","log","console","warn","apply","this","arguments","inherit","child","base","properties","childP","baseP","prototype","Object","create","constructor","_super","assign","boolOrFn","val","args","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","target","types","handler","splitStr","type","addEventListener","removeEventListeners","removeEventListener","hasParent","node","parent","parentNode","inStr","str","find","indexOf","trim","split","inArray","src","findByKey","toArray","slice","uniqueArray","key","sort","results","values","push","a","b","prefixed","property","prefix","prop","camelProp","toUpperCase","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","element","doc","ownerDocument","defaultView","parentWindow","Input","manager","callback","self","options","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","eventType","input","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","emit","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","now","deltaTime","angle","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","x","overallVelocityY","y","abs","scale","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","srcEvent","offset","offsetDelta","prevDelta","velocity","velocityX","velocityY","direction","last","lastInterval","COMPUTE_INTERVAL","v","clientX","round","clientY","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","p1","p2","props","PROPS_XY","Math","sqrt","atan2","PI","start","end","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","concat","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","targetTouches","changedTargetTouches","filter","touch","mouse","TouchAction","value","set","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","defaults","id","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","get","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","count","Hammer","recognizers","preset","Manager","handlers","touchAction","toggleCssProps","item","add","recognizeWith","requireFailure","style","cssProps","triggerDomEvent","event","data","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","createElement","Date","TypeError","output","index","source","nextKey","extend","dest","merge","keys","MOBILE_REGEX","test","navigator","userAgent","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","destroy","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","toLowerCase","isTouch","storeIndex","pointerId","splice","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","update","getTouchAction","join","preventDefaults","prevented","preventDefault","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","isValid","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","clearTimeout","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","stop","force","stopped","curRecognizer","existing","remove","on","events","off","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","define","amd","module","exports"],"mappings":"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"}
1
+ {"version":3,"file":"hammer.min.js","sources":["hammer.js"],"names":["window","document","exportName","undefined","setTimeoutContext","fn","timeout","context","setTimeout","bindFn","invokeArrayArg","arg","Array","isArray","each","obj","iterator","i","forEach","length","call","hasOwnProperty","deprecate","method","name","message","deprecationMessage","e","Error","stack","replace","log","console","warn","apply","this","arguments","inherit","child","base","properties","childP","baseP","prototype","Object","create","constructor","_super","assign","boolOrFn","val","args","TYPE_FUNCTION","ifUndefined","val1","val2","addEventListeners","target","types","handler","splitStr","type","addEventListener","removeEventListeners","removeEventListener","hasParent","node","parent","parentNode","inStr","str","find","indexOf","trim","split","inArray","src","findByKey","toArray","slice","uniqueArray","key","sort","results","values","push","a","b","prefixed","property","prefix","prop","camelProp","toUpperCase","VENDOR_PREFIXES","uniqueId","_uniqueId","getWindowForElement","element","doc","ownerDocument","defaultView","parentWindow","Input","manager","callback","self","options","inputTarget","domHandler","ev","enable","init","createInputInstance","Type","inputClass","SUPPORT_POINTER_EVENTS","PointerEventInput","SUPPORT_ONLY_TOUCH","TouchInput","SUPPORT_TOUCH","TouchMouseInput","MouseInput","inputHandler","eventType","input","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","INPUT_START","isFinal","INPUT_END","INPUT_CANCEL","session","computeInputData","emit","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","now","deltaTime","angle","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","deltaX","deltaY","overallVelocity","getVelocity","overallVelocityX","x","overallVelocityY","y","abs","scale","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","srcEvent","offset","offsetDelta","prevDelta","velocity","velocityX","velocityY","direction","last","lastInterval","COMPUTE_INTERVAL","v","clientX","round","clientY","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","p1","p2","props","PROPS_XY","Math","sqrt","atan2","PI","start","end","PROPS_CLIENT_XY","evEl","MOUSE_ELEMENT_EVENTS","evWin","MOUSE_WINDOW_EVENTS","allow","pressed","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","store","pointerEvents","SingleTouchInput","evTarget","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","started","normalizeSingleTouches","all","touches","changed","changedTouches","concat","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","INPUT_MOVE","identifier","targetTouches","changedTargetTouches","filter","touch","mouse","TouchAction","value","set","cleanTouchActions","actions","TOUCH_ACTION_NONE","hasPanX","TOUCH_ACTION_PAN_X","hasPanY","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_AUTO","Recognizer","defaults","id","state","STATE_POSSIBLE","simultaneous","requireFail","stateStr","STATE_CANCELLED","STATE_ENDED","STATE_CHANGED","STATE_BEGAN","directionStr","getRecognizerByNameIfManager","otherRecognizer","recognizer","get","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","count","Hammer","recognizers","preset","Manager","handlers","touchAction","toggleCssProps","item","add","recognizeWith","requireFailure","style","cssProps","triggerDomEvent","event","data","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","TEST_ELEMENT","createElement","Date","TypeError","output","index","source","nextKey","extend","dest","merge","keys","MOBILE_REGEX","test","navigator","userAgent","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","destroy","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM",2,3,4,5,"MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","toLowerCase","isTouch","storeIndex","pointerId","splice","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TOUCH_INPUT_MAP","inputEvent","inputData","isMouse","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","compute","update","getTouchAction","join","preventDefaults","prevented","preventDefault","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_RECOGNIZED","STATE_FAILED","dropRecognizeWith","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","process","reset","attrTest","optionPointers","isRecognized","isValid","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","clearTimeout","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","stop","force","stopped","curRecognizer","existing","remove","on","events","off","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","define","amd","module","exports"],"mappings":"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"}
@@ -0,0 +1,362 @@
1
+ (function(window, document, exportName, undefined) {
2
+ "use strict";
3
+
4
+ var isMultiTouch = false;
5
+ var multiTouchStartPos;
6
+ var eventTarget;
7
+ var touchElements = {};
8
+
9
+ // polyfills
10
+ if(!document.createTouch) {
11
+ document.createTouch = function(view, target, identifier, pageX, pageY, screenX, screenY, clientX, clientY) {
12
+ // auto set
13
+ if(clientX == undefined || clientY == undefined) {
14
+ clientX = pageX - window.pageXOffset;
15
+ clientY = pageY - window.pageYOffset;
16
+ }
17
+
18
+ return new Touch(target, identifier, {
19
+ pageX: pageX,
20
+ pageY: pageY,
21
+ screenX: screenX,
22
+ screenY: screenY,
23
+ clientX: clientX,
24
+ clientY: clientY
25
+ });
26
+ };
27
+ }
28
+
29
+ if(!document.createTouchList) {
30
+ document.createTouchList = function() {
31
+ var touchList = new TouchList();
32
+ for (var i = 0; i < arguments.length; i++) {
33
+ touchList[i] = arguments[i];
34
+ }
35
+ touchList.length = arguments.length;
36
+ return touchList;
37
+ };
38
+ }
39
+
40
+ /**
41
+ * create an touch point
42
+ * @constructor
43
+ * @param target
44
+ * @param identifier
45
+ * @param pos
46
+ * @param deltaX
47
+ * @param deltaY
48
+ * @returns {Object} touchPoint
49
+ */
50
+ function Touch(target, identifier, pos, deltaX, deltaY) {
51
+ deltaX = deltaX || 0;
52
+ deltaY = deltaY || 0;
53
+
54
+ this.identifier = identifier;
55
+ this.target = target;
56
+ this.clientX = pos.clientX + deltaX;
57
+ this.clientY = pos.clientY + deltaY;
58
+ this.screenX = pos.screenX + deltaX;
59
+ this.screenY = pos.screenY + deltaY;
60
+ this.pageX = pos.pageX + deltaX;
61
+ this.pageY = pos.pageY + deltaY;
62
+ }
63
+
64
+ /**
65
+ * create empty touchlist with the methods
66
+ * @constructor
67
+ * @returns touchList
68
+ */
69
+ function TouchList() {
70
+ var touchList = [];
71
+
72
+ touchList.item = function(index) {
73
+ return this[index] || null;
74
+ };
75
+
76
+ // specified by Mozilla
77
+ touchList.identifiedTouch = function(id) {
78
+ return this[id + 1] || null;
79
+ };
80
+
81
+ return touchList;
82
+ }
83
+
84
+
85
+ /**
86
+ * Simple trick to fake touch event support
87
+ * this is enough for most libraries like Modernizr and Hammer
88
+ */
89
+ function fakeTouchSupport() {
90
+ var objs = [window, document.documentElement];
91
+ var props = ['ontouchstart', 'ontouchmove', 'ontouchcancel', 'ontouchend'];
92
+
93
+ for(var o=0; o<objs.length; o++) {
94
+ for(var p=0; p<props.length; p++) {
95
+ if(objs[o] && objs[o][props[p]] == undefined) {
96
+ objs[o][props[p]] = null;
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ /**
103
+ * we don't have to emulate on a touch device
104
+ * @returns {boolean}
105
+ */
106
+ function hasTouchSupport() {
107
+ return ("ontouchstart" in window) || // touch events
108
+ (window.Modernizr && window.Modernizr.touch) || // modernizr
109
+ (navigator.msMaxTouchPoints || navigator.maxTouchPoints) > 2; // pointer events
110
+ }
111
+
112
+ /**
113
+ * disable mouseevents on the page
114
+ * @param ev
115
+ */
116
+ function preventMouseEvents(ev) {
117
+ ev.preventDefault();
118
+ ev.stopPropagation();
119
+ }
120
+
121
+ /**
122
+ * only trigger touches when the left mousebutton has been pressed
123
+ * @param touchType
124
+ * @returns {Function}
125
+ */
126
+ function onMouse(touchType) {
127
+ return function(ev) {
128
+ // prevent mouse events
129
+ preventMouseEvents(ev);
130
+
131
+ if (ev.which !== 1) {
132
+ return;
133
+ }
134
+
135
+ // The EventTarget on which the touch point started when it was first placed on the surface,
136
+ // even if the touch point has since moved outside the interactive area of that element.
137
+ // also, when the target doesnt exist anymore, we update it
138
+ if (ev.type == 'mousedown' || !eventTarget || (eventTarget && !eventTarget.dispatchEvent)) {
139
+ eventTarget = ev.target;
140
+ }
141
+
142
+ // shiftKey has been lost, so trigger a touchend
143
+ if (isMultiTouch && !ev.shiftKey) {
144
+ triggerTouch('touchend', ev);
145
+ isMultiTouch = false;
146
+ }
147
+
148
+ triggerTouch(touchType, ev);
149
+
150
+ // we're entering the multi-touch mode!
151
+ if (!isMultiTouch && ev.shiftKey) {
152
+ isMultiTouch = true;
153
+ multiTouchStartPos = {
154
+ pageX: ev.pageX,
155
+ pageY: ev.pageY,
156
+ clientX: ev.clientX,
157
+ clientY: ev.clientY,
158
+ screenX: ev.screenX,
159
+ screenY: ev.screenY
160
+ };
161
+ triggerTouch('touchstart', ev);
162
+ }
163
+
164
+ // reset
165
+ if (ev.type == 'mouseup') {
166
+ multiTouchStartPos = null;
167
+ isMultiTouch = false;
168
+ eventTarget = null;
169
+ }
170
+ }
171
+ }
172
+
173
+ /**
174
+ * trigger a touch event
175
+ * @param eventName
176
+ * @param mouseEv
177
+ */
178
+ function triggerTouch(eventName, mouseEv) {
179
+ var touchEvent = document.createEvent('Event');
180
+ touchEvent.initEvent(eventName, true, true);
181
+
182
+ touchEvent.altKey = mouseEv.altKey;
183
+ touchEvent.ctrlKey = mouseEv.ctrlKey;
184
+ touchEvent.metaKey = mouseEv.metaKey;
185
+ touchEvent.shiftKey = mouseEv.shiftKey;
186
+
187
+ touchEvent.touches = getActiveTouches(mouseEv, eventName);
188
+ touchEvent.targetTouches = getActiveTouches(mouseEv, eventName);
189
+ touchEvent.changedTouches = getChangedTouches(mouseEv, eventName);
190
+
191
+ eventTarget.dispatchEvent(touchEvent);
192
+ }
193
+
194
+ /**
195
+ * create a touchList based on the mouse event
196
+ * @param mouseEv
197
+ * @returns {TouchList}
198
+ */
199
+ function createTouchList(mouseEv) {
200
+ var touchList = new TouchList();
201
+
202
+ if (isMultiTouch) {
203
+ var f = TouchEmulator.multiTouchOffset;
204
+ var deltaX = multiTouchStartPos.pageX - mouseEv.pageX;
205
+ var deltaY = multiTouchStartPos.pageY - mouseEv.pageY;
206
+
207
+ touchList.push(new Touch(eventTarget, 1, multiTouchStartPos, (deltaX*-1) - f, (deltaY*-1) + f));
208
+ touchList.push(new Touch(eventTarget, 2, multiTouchStartPos, deltaX+f, deltaY-f));
209
+ } else {
210
+ touchList.push(new Touch(eventTarget, 1, mouseEv, 0, 0));
211
+ }
212
+
213
+ return touchList;
214
+ }
215
+
216
+ /**
217
+ * receive all active touches
218
+ * @param mouseEv
219
+ * @returns {TouchList}
220
+ */
221
+ function getActiveTouches(mouseEv, eventName) {
222
+ // empty list
223
+ if (mouseEv.type == 'mouseup') {
224
+ return new TouchList();
225
+ }
226
+
227
+ var touchList = createTouchList(mouseEv);
228
+ if(isMultiTouch && mouseEv.type != 'mouseup' && eventName == 'touchend') {
229
+ touchList.splice(1, 1);
230
+ }
231
+ return touchList;
232
+ }
233
+
234
+ /**
235
+ * receive a filtered set of touches with only the changed pointers
236
+ * @param mouseEv
237
+ * @param eventName
238
+ * @returns {TouchList}
239
+ */
240
+ function getChangedTouches(mouseEv, eventName) {
241
+ var touchList = createTouchList(mouseEv);
242
+
243
+ // we only want to return the added/removed item on multitouch
244
+ // which is the second pointer, so remove the first pointer from the touchList
245
+ //
246
+ // but when the mouseEv.type is mouseup, we want to send all touches because then
247
+ // no new input will be possible
248
+ if(isMultiTouch && mouseEv.type != 'mouseup' &&
249
+ (eventName == 'touchstart' || eventName == 'touchend')) {
250
+ touchList.splice(0, 1);
251
+ }
252
+
253
+ return touchList;
254
+ }
255
+
256
+ /**
257
+ * show the touchpoints on the screen
258
+ */
259
+ function showTouches(ev) {
260
+ var touch, i, el, styles;
261
+
262
+ // first all visible touches
263
+ for(i = 0; i < ev.touches.length; i++) {
264
+ touch = ev.touches[i];
265
+ el = touchElements[touch.identifier];
266
+ if(!el) {
267
+ el = touchElements[touch.identifier] = document.createElement("div");
268
+ document.body.appendChild(el);
269
+ }
270
+
271
+ styles = TouchEmulator.template(touch);
272
+ for(var prop in styles) {
273
+ el.style[prop] = styles[prop];
274
+ }
275
+ }
276
+
277
+ // remove all ended touches
278
+ if(ev.type == 'touchend' || ev.type == 'touchcancel') {
279
+ for(i = 0; i < ev.changedTouches.length; i++) {
280
+ touch = ev.changedTouches[i];
281
+ el = touchElements[touch.identifier];
282
+ if(el) {
283
+ el.parentNode.removeChild(el);
284
+ delete touchElements[touch.identifier];
285
+ }
286
+ }
287
+ }
288
+ }
289
+
290
+ /**
291
+ * TouchEmulator initializer
292
+ */
293
+ function TouchEmulator() {
294
+ if (hasTouchSupport()) {
295
+ return;
296
+ }
297
+
298
+ fakeTouchSupport();
299
+
300
+ window.addEventListener("mousedown", onMouse('touchstart'), true);
301
+ window.addEventListener("mousemove", onMouse('touchmove'), true);
302
+ window.addEventListener("mouseup", onMouse('touchend'), true);
303
+
304
+ window.addEventListener("mouseenter", preventMouseEvents, true);
305
+ window.addEventListener("mouseleave", preventMouseEvents, true);
306
+ window.addEventListener("mouseout", preventMouseEvents, true);
307
+ window.addEventListener("mouseover", preventMouseEvents, true);
308
+
309
+ // it uses itself!
310
+ window.addEventListener("touchstart", showTouches, true);
311
+ window.addEventListener("touchmove", showTouches, true);
312
+ window.addEventListener("touchend", showTouches, true);
313
+ window.addEventListener("touchcancel", showTouches, true);
314
+ }
315
+
316
+ // start distance when entering the multitouch mode
317
+ TouchEmulator.multiTouchOffset = 75;
318
+
319
+ /**
320
+ * css template for the touch rendering
321
+ * @param touch
322
+ * @returns object
323
+ */
324
+ TouchEmulator.template = function(touch) {
325
+ var size = 30;
326
+ var transform = 'translate('+ (touch.clientX-(size/2)) +'px, '+ (touch.clientY-(size/2)) +'px)';
327
+ return {
328
+ position: 'fixed',
329
+ left: 0,
330
+ top: 0,
331
+ background: '#fff',
332
+ border: 'solid 1px #999',
333
+ opacity: .6,
334
+ borderRadius: '100%',
335
+ height: size + 'px',
336
+ width: size + 'px',
337
+ padding: 0,
338
+ margin: 0,
339
+ display: 'block',
340
+ overflow: 'hidden',
341
+ pointerEvents: 'none',
342
+ webkitUserSelect: 'none',
343
+ mozUserSelect: 'none',
344
+ userSelect: 'none',
345
+ webkitTransform: transform,
346
+ mozTransform: transform,
347
+ transform: transform,
348
+ zIndex: 100
349
+ }
350
+ };
351
+
352
+ // export
353
+ if (typeof define == "function" && define.amd) {
354
+ define(function() {
355
+ return TouchEmulator;
356
+ });
357
+ } else if (typeof module != "undefined" && module.exports) {
358
+ module.exports = TouchEmulator;
359
+ } else {
360
+ window[exportName] = TouchEmulator;
361
+ }
362
+ })(window, document, "TouchEmulator");
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hammerjs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vincent Pochet
@@ -52,12 +52,17 @@ files:
52
52
  - hammerjs-rails.gemspec
53
53
  - lib/hammerjs-rails.rb
54
54
  - lib/hammerjs/rails/version.rb
55
- - vendor/assets/javascripts/hammer.fakemultitouch.js
55
+ - vendor/assets/javascripts/angular.hammer.js
56
+ - vendor/assets/javascripts/angular.hammer.min.js
57
+ - vendor/assets/javascripts/angular.hammer.min.js.map
58
+ - vendor/assets/javascripts/hammer-time.js
59
+ - vendor/assets/javascripts/hammer-time.min.js
56
60
  - vendor/assets/javascripts/hammer.js
57
61
  - vendor/assets/javascripts/hammer.min.js
62
+ - vendor/assets/javascripts/hammer.min.js.map
58
63
  - vendor/assets/javascripts/hammer.min.map
59
- - vendor/assets/javascripts/hammer.showtouches.js
60
64
  - vendor/assets/javascripts/jquery.hammer.js
65
+ - vendor/assets/javascripts/touch-emulator.js
61
66
  homepage: https://github.com/vincent-pochet/hammerjs-rails
62
67
  licenses:
63
68
  - MIT
@@ -1,81 +0,0 @@
1
- (function(Hammer) {
2
- /**
3
- * enable multitouch on the desktop by pressing the shiftkey
4
- * the other touch goes in the opposite direction so the center keeps at its place
5
- * it's recommended to enable Hammer.debug.showTouches for this one
6
- */
7
- Hammer.plugins.fakeMultitouch = function() {
8
- // keeps the start position to keep it centered
9
- var start_pos = false;
10
-
11
- // test for msMaxTouchPoints to enable this for IE10 with only one pointer (a mouse in all/most cases)
12
- Hammer.HAS_POINTEREVENTS = navigator.msPointerEnabled &&
13
- navigator.msMaxTouchPoints && navigator.msMaxTouchPoints >= 1;
14
-
15
- /**
16
- * overwrites Hammer.event.getTouchList.
17
- * @param {Event} ev
18
- * @param TOUCHTYPE type
19
- * @return {Array} Touches
20
- */
21
- Hammer.event.getTouchList = function(ev, eventType) {
22
- // get the fake pointerEvent touchlist
23
- if(Hammer.HAS_POINTEREVENTS) {
24
- return Hammer.PointerEvent.getTouchList();
25
- }
26
- // get the touchlist
27
- else if(ev.touches) {
28
- return ev.touches;
29
- }
30
-
31
- // reset on start of a new touch
32
- if(eventType == Hammer.EVENT_START) {
33
- start_pos = false;
34
- }
35
-
36
- // when the shift key is pressed, multitouch is possible on desktop
37
- // why shift? because ctrl and alt are taken by osx and linux
38
- if(ev.shiftKey) {
39
- // on touchstart we store the position of the mouse for multitouch
40
- if(!start_pos) {
41
- start_pos = {
42
- pageX: ev.pageX,
43
- pageY: ev.pageY
44
- };
45
- }
46
-
47
- var distance_x = start_pos.pageX - ev.pageX;
48
- var distance_y = start_pos.pageY - ev.pageY;
49
-
50
- // fake second touch in the opposite direction
51
- return [
52
- {
53
- identifier: 1,
54
- pageX : start_pos.pageX - distance_x - 50,
55
- pageY : start_pos.pageY - distance_y - -50,
56
- target : ev.target
57
- },
58
- {
59
- identifier: 2,
60
- pageX : start_pos.pageX + distance_x - -50,
61
- pageY : start_pos.pageY + distance_y - 50,
62
- target : ev.target
63
- }
64
- ];
65
- }
66
- // normal single touch
67
- else {
68
- start_pos = false;
69
- return [
70
- {
71
- identifier: 1,
72
- pageX : ev.pageX,
73
- pageY : ev.pageY,
74
- target : ev.target
75
- }
76
- ];
77
- }
78
- };
79
- };
80
-
81
- })(window.Hammer);