hammerjs-rails 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 61113979a344fb203996e65b0490468408a3bde1
4
- data.tar.gz: 67c20f4d81ac518018be012dc6710d7d5699fbe8
3
+ metadata.gz: 1d0f6a1f09711b6a340416c8ceba8dcb6e719272
4
+ data.tar.gz: 985935288d286be2d13ab6401b333e0cfacb0ea8
5
5
  SHA512:
6
- metadata.gz: 260e81aea505e453e3312beb4c52a374537649a3bad52b44cb954c7aef54a284efa202d91c9cae929cc9a8179487db51a3d841360ada209fae938ff56ec4bd29
7
- data.tar.gz: 96fbe421bd7128d2c3e0e99e33d3822764265196a96f92284e8687cf5e5c9c99eba35608679ee1cc29a37b170811aa6cc504730552a33e04bbdd72c672191fdf
6
+ metadata.gz: d09d5dfcc07a0958cc7cc25e99416da0c6cd82686b0fd653111877d30ccc524fc530d1c9d0d0ccf7a627c8f204337a94c8e1771b04f21dff4709abf5ca7bb83f
7
+ data.tar.gz: 94445121e4c04b33bd1cb541719df0c0e6bbac663b511f3e8b9aa3fb5843ae58f7a8fe01510e6cb87453aef94bc92c5747be62749e4861c46e03aabd2c66f430
@@ -1,5 +1,5 @@
1
1
  module Hammerjs
2
2
  module Rails
3
- VERSION = '2.0.4'
3
+ VERSION = '2.0.6'
4
4
  end
5
5
  end
@@ -1,12 +1,12 @@
1
- /*! Hammer.JS - v2.0.4 - 2014-09-28
1
+ /*! Hammer.JS - v2.0.6 - 2015-12-23
2
2
  * http://hammerjs.github.io/
3
3
  *
4
- * Copyright (c) 2014 Jorik Tangelder;
5
- * Licensed under the MIT license */
4
+ * Copyright (c) 2015 Jorik Tangelder;
5
+ * Licensed under the license */
6
6
  (function(window, document, exportName, undefined) {
7
7
  'use strict';
8
8
 
9
- var VENDOR_PREFIXES = ['', 'webkit', 'moz', 'MS', 'ms', 'o'];
9
+ var VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];
10
10
  var TEST_ELEMENT = document.createElement('div');
11
11
 
12
12
  var TYPE_FUNCTION = 'function';
@@ -71,15 +71,69 @@ function each(obj, iterator, context) {
71
71
  }
72
72
  }
73
73
 
74
+ /**
75
+ * wrap a method with a deprecation warning and stack trace
76
+ * @param {Function} method
77
+ * @param {String} name
78
+ * @param {String} message
79
+ * @returns {Function} A new function wrapping the supplied method.
80
+ */
81
+ function deprecate(method, name, message) {
82
+ var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\n' + message + ' AT \n';
83
+ return function() {
84
+ var e = new Error('get-stack-trace');
85
+ var stack = e && e.stack ? e.stack.replace(/^[^\(]+?[\n$]/gm, '')
86
+ .replace(/^\s+at\s+/gm, '')
87
+ .replace(/^Object.<anonymous>\s*\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';
88
+
89
+ var log = window.console && (window.console.warn || window.console.log);
90
+ if (log) {
91
+ log.call(window.console, deprecationMessage, stack);
92
+ }
93
+ return method.apply(this, arguments);
94
+ };
95
+ }
96
+
97
+ /**
98
+ * extend object.
99
+ * means that properties in dest will be overwritten by the ones in src.
100
+ * @param {Object} target
101
+ * @param {...Object} objects_to_assign
102
+ * @returns {Object} target
103
+ */
104
+ var assign;
105
+ if (typeof Object.assign !== 'function') {
106
+ assign = function assign(target) {
107
+ if (target === undefined || target === null) {
108
+ throw new TypeError('Cannot convert undefined or null to object');
109
+ }
110
+
111
+ var output = Object(target);
112
+ for (var index = 1; index < arguments.length; index++) {
113
+ var source = arguments[index];
114
+ if (source !== undefined && source !== null) {
115
+ for (var nextKey in source) {
116
+ if (source.hasOwnProperty(nextKey)) {
117
+ output[nextKey] = source[nextKey];
118
+ }
119
+ }
120
+ }
121
+ }
122
+ return output;
123
+ };
124
+ } else {
125
+ assign = Object.assign;
126
+ }
127
+
74
128
  /**
75
129
  * extend object.
76
130
  * means that properties in dest will be overwritten by the ones in src.
77
131
  * @param {Object} dest
78
132
  * @param {Object} src
79
- * @param {Boolean} [merge]
133
+ * @param {Boolean=false} [merge]
80
134
  * @returns {Object} dest
81
135
  */
82
- function extend(dest, src, merge) {
136
+ var extend = deprecate(function extend(dest, src, merge) {
83
137
  var keys = Object.keys(src);
84
138
  var i = 0;
85
139
  while (i < keys.length) {
@@ -89,7 +143,7 @@ function extend(dest, src, merge) {
89
143
  i++;
90
144
  }
91
145
  return dest;
92
- }
146
+ }, 'extend', 'Use `assign`.');
93
147
 
94
148
  /**
95
149
  * merge the values from src in the dest.
@@ -98,9 +152,9 @@ function extend(dest, src, merge) {
98
152
  * @param {Object} src
99
153
  * @returns {Object} dest
100
154
  */
101
- function merge(dest, src) {
155
+ var merge = deprecate(function merge(dest, src) {
102
156
  return extend(dest, src, true);
103
- }
157
+ }, 'merge', 'Use `assign`.');
104
158
 
105
159
  /**
106
160
  * simple class inheritance
@@ -117,7 +171,7 @@ function inherit(child, base, properties) {
117
171
  childP._super = baseP;
118
172
 
119
173
  if (properties) {
120
- extend(childP, properties);
174
+ assign(childP, properties);
121
175
  }
122
176
  }
123
177
 
@@ -320,8 +374,8 @@ function uniqueId() {
320
374
  * @returns {DocumentView|Window}
321
375
  */
322
376
  function getWindowForElement(element) {
323
- var doc = element.ownerDocument;
324
- return (doc.defaultView || doc.parentWindow);
377
+ var doc = element.ownerDocument || element;
378
+ return (doc.defaultView || doc.parentWindow || window);
325
379
  }
326
380
 
327
381
  var MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;
@@ -500,9 +554,17 @@ function computeInputData(manager, input) {
500
554
  computeDeltaXY(session, input);
501
555
  input.offsetDirection = getDirection(input.deltaX, input.deltaY);
502
556
 
557
+ var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);
558
+ input.overallVelocityX = overallVelocity.x;
559
+ input.overallVelocityY = overallVelocity.y;
560
+ input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;
561
+
503
562
  input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;
504
563
  input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;
505
564
 
565
+ input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >
566
+ session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);
567
+
506
568
  computeIntervalInputData(session, input);
507
569
 
508
570
  // find the correct target
@@ -546,8 +608,8 @@ function computeIntervalInputData(session, input) {
546
608
  velocity, velocityX, velocityY, direction;
547
609
 
548
610
  if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {
549
- var deltaX = last.deltaX - input.deltaX;
550
- var deltaY = last.deltaY - input.deltaY;
611
+ var deltaX = input.deltaX - last.deltaX;
612
+ var deltaY = input.deltaY - last.deltaY;
551
613
 
552
614
  var v = getVelocity(deltaTime, deltaX, deltaY);
553
615
  velocityX = v.x;
@@ -652,9 +714,9 @@ function getDirection(x, y) {
652
714
  }
653
715
 
654
716
  if (abs(x) >= abs(y)) {
655
- return x > 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;
717
+ return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;
656
718
  }
657
- return y > 0 ? DIRECTION_UP : DIRECTION_DOWN;
719
+ return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;
658
720
  }
659
721
 
660
722
  /**
@@ -697,7 +759,7 @@ function getAngle(p1, p2, props) {
697
759
  * @return {Number} rotation
698
760
  */
699
761
  function getRotation(start, end) {
700
- return getAngle(end[1], end[0], PROPS_CLIENT_XY) - getAngle(start[1], start[0], PROPS_CLIENT_XY);
762
+ return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);
701
763
  }
702
764
 
703
765
  /**
@@ -790,7 +852,7 @@ var POINTER_ELEMENT_EVENTS = 'pointerdown';
790
852
  var POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';
791
853
 
792
854
  // IE10 has prefixed support, and case-sensitive
793
- if (window.MSPointerEvent) {
855
+ if (window.MSPointerEvent && !window.PointerEvent) {
794
856
  POINTER_ELEMENT_EVENTS = 'MSPointerDown';
795
857
  POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';
796
858
  }
@@ -1114,7 +1176,7 @@ TouchAction.prototype = {
1114
1176
  value = this.compute();
1115
1177
  }
1116
1178
 
1117
- if (NATIVE_TOUCH_ACTION) {
1179
+ if (NATIVE_TOUCH_ACTION && this.manager.element.style) {
1118
1180
  this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;
1119
1181
  }
1120
1182
  this.actions = value.toLowerCase().trim();
@@ -1165,6 +1227,23 @@ TouchAction.prototype = {
1165
1227
  var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);
1166
1228
  var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);
1167
1229
 
1230
+ if (hasNone) {
1231
+ //do not prevent defaults if this is a tap gesture
1232
+
1233
+ var isTapPointer = input.pointers.length === 1;
1234
+ var isTapMovement = input.distance < 2;
1235
+ var isTapTouchTime = input.deltaTime < 250;
1236
+
1237
+ if (isTapPointer && isTapMovement && isTapTouchTime) {
1238
+ return;
1239
+ }
1240
+ }
1241
+
1242
+ if (hasPanX && hasPanY) {
1243
+ // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent
1244
+ return;
1245
+ }
1246
+
1168
1247
  if (hasNone ||
1169
1248
  (hasPanY && direction & DIRECTION_HORIZONTAL) ||
1170
1249
  (hasPanX && direction & DIRECTION_VERTICAL)) {
@@ -1196,9 +1275,12 @@ function cleanTouchActions(actions) {
1196
1275
  var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);
1197
1276
  var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);
1198
1277
 
1199
- // pan-x and pan-y can be combined
1278
+ // if both pan-x and pan-y are set (different recognizers
1279
+ // for different directions, e.g. horizontal pan but vertical swipe?)
1280
+ // we need none (as otherwise with pan-x pan-y combined none of these
1281
+ // recognizers will work, since the browser would handle all panning
1200
1282
  if (hasPanX && hasPanY) {
1201
- return TOUCH_ACTION_PAN_X + ' ' + TOUCH_ACTION_PAN_Y;
1283
+ return TOUCH_ACTION_NONE;
1202
1284
  }
1203
1285
 
1204
1286
  // pan-x OR pan-y
@@ -1256,10 +1338,11 @@ var STATE_FAILED = 32;
1256
1338
  * @param {Object} options
1257
1339
  */
1258
1340
  function Recognizer(options) {
1341
+ this.options = assign({}, this.defaults, options || {});
1342
+
1259
1343
  this.id = uniqueId();
1260
1344
 
1261
1345
  this.manager = null;
1262
- this.options = merge(options || {}, this.defaults);
1263
1346
 
1264
1347
  // default is enable true
1265
1348
  this.options.enable = ifUndefined(this.options.enable, true);
@@ -1283,7 +1366,7 @@ Recognizer.prototype = {
1283
1366
  * @return {Recognizer}
1284
1367
  */
1285
1368
  set: function(options) {
1286
- extend(this.options, options);
1369
+ assign(this.options, options);
1287
1370
 
1288
1371
  // also update the touchAction, in case something changed about the directions/enabled state
1289
1372
  this.manager && this.manager.touchAction.update();
@@ -1387,20 +1470,24 @@ Recognizer.prototype = {
1387
1470
  var self = this;
1388
1471
  var state = this.state;
1389
1472
 
1390
- function emit(withState) {
1391
- self.manager.emit(self.options.event + (withState ? stateStr(state) : ''), input);
1473
+ function emit(event) {
1474
+ self.manager.emit(event, input);
1392
1475
  }
1393
1476
 
1394
1477
  // 'panstart' and 'panmove'
1395
1478
  if (state < STATE_ENDED) {
1396
- emit(true);
1479
+ emit(self.options.event + stateStr(state));
1397
1480
  }
1398
1481
 
1399
- emit(); // simple 'eventName' events
1482
+ emit(self.options.event); // simple 'eventName' events
1483
+
1484
+ if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)
1485
+ emit(input.additionalEvent);
1486
+ }
1400
1487
 
1401
1488
  // panend and pancancel
1402
1489
  if (state >= STATE_ENDED) {
1403
- emit(true);
1490
+ emit(self.options.event + stateStr(state));
1404
1491
  }
1405
1492
  },
1406
1493
 
@@ -1440,7 +1527,7 @@ Recognizer.prototype = {
1440
1527
  recognize: function(inputData) {
1441
1528
  // make a new copy of the inputData
1442
1529
  // so we can change the inputData without messing up the other recognizers
1443
- var inputDataClone = extend({}, inputData);
1530
+ var inputDataClone = assign({}, inputData);
1444
1531
 
1445
1532
  // is is enabled and allow recognizing?
1446
1533
  if (!boolOrFn(this.options.enable, [this, inputDataClone])) {
@@ -1665,14 +1752,15 @@ inherit(PanRecognizer, AttrRecognizer, {
1665
1752
  },
1666
1753
 
1667
1754
  emit: function(input) {
1755
+
1668
1756
  this.pX = input.deltaX;
1669
1757
  this.pY = input.deltaY;
1670
1758
 
1671
1759
  var direction = directionStr(input.direction);
1760
+
1672
1761
  if (direction) {
1673
- this.manager.emit(this.options.event + direction, input);
1762
+ input.additionalEvent = this.options.event + direction;
1674
1763
  }
1675
-
1676
1764
  this._super.emit.call(this, input);
1677
1765
  }
1678
1766
  });
@@ -1708,11 +1796,11 @@ inherit(PinchRecognizer, AttrRecognizer, {
1708
1796
  },
1709
1797
 
1710
1798
  emit: function(input) {
1711
- this._super.emit.call(this, input);
1712
1799
  if (input.scale !== 1) {
1713
1800
  var inOut = input.scale < 1 ? 'in' : 'out';
1714
- this.manager.emit(this.options.event + inOut, input);
1801
+ input.additionalEvent = this.options.event + inOut;
1715
1802
  }
1803
+ this._super.emit.call(this, input);
1716
1804
  }
1717
1805
  });
1718
1806
 
@@ -1737,8 +1825,8 @@ inherit(PressRecognizer, Recognizer, {
1737
1825
  defaults: {
1738
1826
  event: 'press',
1739
1827
  pointers: 1,
1740
- time: 500, // minimal time of the pointer to be pressed
1741
- threshold: 5 // a minimal movement is ok, but keep it low
1828
+ time: 251, // minimal time of the pointer to be pressed
1829
+ threshold: 9 // a minimal movement is ok, but keep it low
1742
1830
  },
1743
1831
 
1744
1832
  getTouchAction: function() {
@@ -1836,7 +1924,7 @@ inherit(SwipeRecognizer, AttrRecognizer, {
1836
1924
  defaults: {
1837
1925
  event: 'swipe',
1838
1926
  threshold: 10,
1839
- velocity: 0.65,
1927
+ velocity: 0.3,
1840
1928
  direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,
1841
1929
  pointers: 1
1842
1930
  },
@@ -1850,21 +1938,22 @@ inherit(SwipeRecognizer, AttrRecognizer, {
1850
1938
  var velocity;
1851
1939
 
1852
1940
  if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {
1853
- velocity = input.velocity;
1941
+ velocity = input.overallVelocity;
1854
1942
  } else if (direction & DIRECTION_HORIZONTAL) {
1855
- velocity = input.velocityX;
1943
+ velocity = input.overallVelocityX;
1856
1944
  } else if (direction & DIRECTION_VERTICAL) {
1857
- velocity = input.velocityY;
1945
+ velocity = input.overallVelocityY;
1858
1946
  }
1859
1947
 
1860
1948
  return this._super.attrTest.call(this, input) &&
1861
- direction & input.direction &&
1949
+ direction & input.offsetDirection &&
1862
1950
  input.distance > this.options.threshold &&
1951
+ input.maxPointers == this.options.pointers &&
1863
1952
  abs(velocity) > this.options.velocity && input.eventType & INPUT_END;
1864
1953
  },
1865
1954
 
1866
1955
  emit: function(input) {
1867
- var direction = directionStr(input.direction);
1956
+ var direction = directionStr(input.offsetDirection);
1868
1957
  if (direction) {
1869
1958
  this.manager.emit(this.options.event + direction, input);
1870
1959
  }
@@ -1907,7 +1996,7 @@ inherit(TapRecognizer, Recognizer, {
1907
1996
  taps: 1,
1908
1997
  interval: 300, // max time between the multi-tap taps
1909
1998
  time: 250, // max time of the pointer to be down (like finger on the screen)
1910
- threshold: 2, // a minimal movement is ok, but keep it low
1999
+ threshold: 9, // a minimal movement is ok, but keep it low
1911
2000
  posThreshold: 10 // a multi-tap can be a bit off the initial position
1912
2001
  },
1913
2002
 
@@ -1981,7 +2070,7 @@ inherit(TapRecognizer, Recognizer, {
1981
2070
  },
1982
2071
 
1983
2072
  emit: function() {
1984
- if (this.state == STATE_RECOGNIZED ) {
2073
+ if (this.state == STATE_RECOGNIZED) {
1985
2074
  this._input.tapCount = this.count;
1986
2075
  this.manager.emit(this.options.event, this._input);
1987
2076
  }
@@ -1989,7 +2078,7 @@ inherit(TapRecognizer, Recognizer, {
1989
2078
  });
1990
2079
 
1991
2080
  /**
1992
- * Simple way to create an manager with a default set of recognizers.
2081
+ * Simple way to create a manager with a default set of recognizers.
1993
2082
  * @param {HTMLElement} element
1994
2083
  * @param {Object} [options]
1995
2084
  * @constructor
@@ -2003,7 +2092,7 @@ function Hammer(element, options) {
2003
2092
  /**
2004
2093
  * @const {string}
2005
2094
  */
2006
- Hammer.VERSION = '2.0.4';
2095
+ Hammer.VERSION = '2.0.6';
2007
2096
 
2008
2097
  /**
2009
2098
  * default settings
@@ -2055,12 +2144,12 @@ Hammer.defaults = {
2055
2144
  */
2056
2145
  preset: [
2057
2146
  // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]
2058
- [RotateRecognizer, { enable: false }],
2059
- [PinchRecognizer, { enable: false }, ['rotate']],
2060
- [SwipeRecognizer,{ direction: DIRECTION_HORIZONTAL }],
2061
- [PanRecognizer, { direction: DIRECTION_HORIZONTAL }, ['swipe']],
2147
+ [RotateRecognizer, {enable: false}],
2148
+ [PinchRecognizer, {enable: false}, ['rotate']],
2149
+ [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],
2150
+ [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],
2062
2151
  [TapRecognizer],
2063
- [TapRecognizer, { event: 'doubletap', taps: 2 }, ['tap']],
2152
+ [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],
2064
2153
  [PressRecognizer]
2065
2154
  ],
2066
2155
 
@@ -2127,9 +2216,8 @@ var FORCED_STOP = 2;
2127
2216
  * @constructor
2128
2217
  */
2129
2218
  function Manager(element, options) {
2130
- options = options || {};
2219
+ this.options = assign({}, Hammer.defaults, options || {});
2131
2220
 
2132
- this.options = merge(options, Hammer.defaults);
2133
2221
  this.options.inputTarget = this.options.inputTarget || element;
2134
2222
 
2135
2223
  this.handlers = {};
@@ -2142,7 +2230,7 @@ function Manager(element, options) {
2142
2230
 
2143
2231
  toggleCssProps(this, true);
2144
2232
 
2145
- each(options.recognizers, function(item) {
2233
+ each(this.options.recognizers, function(item) {
2146
2234
  var recognizer = this.add(new (item[0])(item[1]));
2147
2235
  item[2] && recognizer.recognizeWith(item[2]);
2148
2236
  item[3] && recognizer.requireFailure(item[3]);
@@ -2156,7 +2244,7 @@ Manager.prototype = {
2156
2244
  * @returns {Manager}
2157
2245
  */
2158
2246
  set: function(options) {
2159
- extend(this.options, options);
2247
+ assign(this.options, options);
2160
2248
 
2161
2249
  // Options that need a little more setup
2162
2250
  if (options.touchAction) {
@@ -2290,11 +2378,19 @@ Manager.prototype = {
2290
2378
  return this;
2291
2379
  }
2292
2380
 
2293
- var recognizers = this.recognizers;
2294
2381
  recognizer = this.get(recognizer);
2295
- recognizers.splice(inArray(recognizers, recognizer), 1);
2296
2382
 
2297
- this.touchAction.update();
2383
+ // let's make sure this recognizer exists
2384
+ if (recognizer) {
2385
+ var recognizers = this.recognizers;
2386
+ var index = inArray(recognizers, recognizer);
2387
+
2388
+ if (index !== -1) {
2389
+ recognizers.splice(index, 1);
2390
+ this.touchAction.update();
2391
+ }
2392
+ }
2393
+
2298
2394
  return this;
2299
2395
  },
2300
2396
 
@@ -2325,7 +2421,7 @@ Manager.prototype = {
2325
2421
  if (!handler) {
2326
2422
  delete handlers[event];
2327
2423
  } else {
2328
- handlers[event].splice(inArray(handlers[event], handler), 1);
2424
+ handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);
2329
2425
  }
2330
2426
  });
2331
2427
  return this;
@@ -2381,6 +2477,9 @@ Manager.prototype = {
2381
2477
  */
2382
2478
  function toggleCssProps(manager, add) {
2383
2479
  var element = manager.element;
2480
+ if (!element.style) {
2481
+ return;
2482
+ }
2384
2483
  each(manager.options.cssProps, function(value, name) {
2385
2484
  element.style[prefixed(element.style, name)] = add ? value : '';
2386
2485
  });
@@ -2398,7 +2497,7 @@ function triggerDomEvent(event, data) {
2398
2497
  data.target.dispatchEvent(gestureEvent);
2399
2498
  }
2400
2499
 
2401
- extend(Hammer, {
2500
+ assign(Hammer, {
2402
2501
  INPUT_START: INPUT_START,
2403
2502
  INPUT_MOVE: INPUT_MOVE,
2404
2503
  INPUT_END: INPUT_END,
@@ -2445,12 +2544,18 @@ extend(Hammer, {
2445
2544
  each: each,
2446
2545
  merge: merge,
2447
2546
  extend: extend,
2547
+ assign: assign,
2448
2548
  inherit: inherit,
2449
2549
  bindFn: bindFn,
2450
2550
  prefixed: prefixed
2451
2551
  });
2452
2552
 
2453
- if (typeof define == TYPE_FUNCTION && define.amd) {
2553
+ // this prevents errors when Hammer is loaded in the presence of an AMD
2554
+ // style loader but by script tag, not by the loader.
2555
+ var freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line
2556
+ freeGlobal.Hammer = Hammer;
2557
+
2558
+ if (typeof define === 'function' && define.amd) {
2454
2559
  define(function() {
2455
2560
  return Hammer;
2456
2561
  });
@@ -2460,4 +2565,4 @@ if (typeof define == TYPE_FUNCTION && define.amd) {
2460
2565
  window[exportName] = Hammer;
2461
2566
  }
2462
2567
 
2463
- })(window, document, 'Hammer');
2568
+ })(window, document, 'Hammer');
@@ -1,7 +1,7 @@
1
- /*! Hammer.JS - v2.0.4 - 2014-09-28
1
+ /*! Hammer.JS - v2.0.6 - 2015-12-23
2
2
  * http://hammerjs.github.io/
3
3
  *
4
- * Copyright (c) 2014 Jorik Tangelder;
5
- * Licensed under the MIT license */
6
- !function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(k(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(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}function i(a,b){return h(a,b,!0)}function j(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&h(d,c)}function k(a,b){return function(){return a.apply(b,arguments)}}function l(a,b){return typeof a==kb?a.apply(b?b[0]||d:d,b):a}function m(a,b){return a===d?b:a}function n(a,b,c){g(r(b),function(b){a.addEventListener(b,c,!1)})}function o(a,b,c){g(r(b),function(b){a.removeEventListener(b,c,!1)})}function p(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function q(a,b){return a.indexOf(b)>-1}function r(a){return a.trim().split(/\s+/g)}function s(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 t(a){return Array.prototype.slice.call(a,0)}function u(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];s(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 v(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 w(){return ob++}function x(a){var b=a.ownerDocument;return b.defaultView||b.parentWindow}function y(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){l(a.options.enable,[a])&&c.handler(b)},this.init()}function z(a){var b,c=a.options.inputClass;return new(b=c?c:rb?N:sb?Q:qb?S:M)(a,A)}function A(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&yb&&d-e===0,g=b&(Ab|Bb)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,B(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function B(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=E(b)),e>1&&!c.firstMultiple?c.firstMultiple=E(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=F(d);b.timeStamp=nb(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=J(h,i),b.distance=I(h,i),C(c,b),b.offsetDirection=H(b.deltaX,b.deltaY),b.scale=g?L(g.pointers,d):1,b.rotation=g?K(g.pointers,d):0,D(c,b);var j=a.element;p(b.srcEvent.target,j)&&(j=b.srcEvent.target),b.target=j}function C(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};(b.eventType===yb||f.eventType===Ab)&&(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 D(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Bb&&(i>xb||h.velocity===d)){var j=h.deltaX-b.deltaX,k=h.deltaY-b.deltaY,l=G(i,j,k);e=l.x,f=l.y,c=mb(l.x)>mb(l.y)?l.x:l.y,g=H(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 E(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:F(b),deltaX:a.deltaX,deltaY:a.deltaY}}function F(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 G(a,b,c){return{x:b/a||0,y:c/a||0}}function H(a,b){return a===b?Cb:mb(a)>=mb(b)?a>0?Db:Eb:b>0?Fb:Gb}function I(a,b,c){c||(c=Kb);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function J(a,b,c){c||(c=Kb);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function K(a,b){return J(b[1],b[0],Lb)-J(a[1],a[0],Lb)}function L(a,b){return I(b[0],b[1],Lb)/I(a[0],a[1],Lb)}function M(){this.evEl=Nb,this.evWin=Ob,this.allow=!0,this.pressed=!1,y.apply(this,arguments)}function N(){this.evEl=Rb,this.evWin=Sb,y.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function O(){this.evTarget=Ub,this.evWin=Vb,this.started=!1,y.apply(this,arguments)}function P(a,b){var c=t(a.touches),d=t(a.changedTouches);return b&(Ab|Bb)&&(c=u(c.concat(d),"identifier",!0)),[c,d]}function Q(){this.evTarget=Xb,this.targetIds={},y.apply(this,arguments)}function R(a,b){var c=t(a.touches),d=this.targetIds;if(b&(yb|zb)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=t(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return p(a.target,i)}),b===yb)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&(Ab|Bb)&&delete d[g[e].identifier],e++;return h.length?[u(f.concat(h),"identifier",!0),h]:void 0}function S(){y.apply(this,arguments);var a=k(this.handler,this);this.touch=new Q(this.manager,a),this.mouse=new M(this.manager,a)}function T(a,b){this.manager=a,this.set(b)}function U(a){if(q(a,bc))return bc;var b=q(a,cc),c=q(a,dc);return b&&c?cc+" "+dc:b||c?b?cc:dc:q(a,ac)?ac:_b}function V(a){this.id=w(),this.manager=null,this.options=i(a||{},this.defaults),this.options.enable=m(this.options.enable,!0),this.state=ec,this.simultaneous={},this.requireFail=[]}function W(a){return a&jc?"cancel":a&hc?"end":a&gc?"move":a&fc?"start":""}function X(a){return a==Gb?"down":a==Fb?"up":a==Db?"left":a==Eb?"right":""}function Y(a,b){var c=b.manager;return c?c.get(a):a}function Z(){V.apply(this,arguments)}function $(){Z.apply(this,arguments),this.pX=null,this.pY=null}function _(){Z.apply(this,arguments)}function ab(){V.apply(this,arguments),this._timer=null,this._input=null}function bb(){Z.apply(this,arguments)}function cb(){Z.apply(this,arguments)}function db(){V.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function eb(a,b){return b=b||{},b.recognizers=m(b.recognizers,eb.defaults.preset),new fb(a,b)}function fb(a,b){b=b||{},this.options=i(b,eb.defaults),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.element=a,this.input=z(this),this.touchAction=new T(this,this.options.touchAction),gb(this,!0),g(b.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 gb(a,b){var c=a.element;g(a.options.cssProps,function(a,d){c.style[v(c.style,d)]=b?a:""})}function hb(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var ib=["","webkit","moz","MS","ms","o"],jb=b.createElement("div"),kb="function",lb=Math.round,mb=Math.abs,nb=Date.now,ob=1,pb=/mobile|tablet|ip(ad|hone|od)|android/i,qb="ontouchstart"in a,rb=v(a,"PointerEvent")!==d,sb=qb&&pb.test(navigator.userAgent),tb="touch",ub="pen",vb="mouse",wb="kinect",xb=25,yb=1,zb=2,Ab=4,Bb=8,Cb=1,Db=2,Eb=4,Fb=8,Gb=16,Hb=Db|Eb,Ib=Fb|Gb,Jb=Hb|Ib,Kb=["x","y"],Lb=["clientX","clientY"];y.prototype={handler:function(){},init:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(x(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&o(this.element,this.evEl,this.domHandler),this.evTarget&&o(this.target,this.evTarget,this.domHandler),this.evWin&&o(x(this.element),this.evWin,this.domHandler)}};var Mb={mousedown:yb,mousemove:zb,mouseup:Ab},Nb="mousedown",Ob="mousemove mouseup";j(M,y,{handler:function(a){var b=Mb[a.type];b&yb&&0===a.button&&(this.pressed=!0),b&zb&&1!==a.which&&(b=Ab),this.pressed&&this.allow&&(b&Ab&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:vb,srcEvent:a}))}});var Pb={pointerdown:yb,pointermove:zb,pointerup:Ab,pointercancel:Bb,pointerout:Bb},Qb={2:tb,3:ub,4:vb,5:wb},Rb="pointerdown",Sb="pointermove pointerup pointercancel";a.MSPointerEvent&&(Rb="MSPointerDown",Sb="MSPointerMove MSPointerUp MSPointerCancel"),j(N,y,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Pb[d],f=Qb[a.pointerType]||a.pointerType,g=f==tb,h=s(b,a.pointerId,"pointerId");e&yb&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Ab|Bb)&&(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 Tb={touchstart:yb,touchmove:zb,touchend:Ab,touchcancel:Bb},Ub="touchstart",Vb="touchstart touchmove touchend touchcancel";j(O,y,{handler:function(a){var b=Tb[a.type];if(b===yb&&(this.started=!0),this.started){var c=P.call(this,a,b);b&(Ab|Bb)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:tb,srcEvent:a})}}});var Wb={touchstart:yb,touchmove:zb,touchend:Ab,touchcancel:Bb},Xb="touchstart touchmove touchend touchcancel";j(Q,y,{handler:function(a){var b=Wb[a.type],c=R.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:tb,srcEvent:a})}}),j(S,y,{handler:function(a,b,c){var d=c.pointerType==tb,e=c.pointerType==vb;if(d)this.mouse.allow=!1;else if(e&&!this.mouse.allow)return;b&(Ab|Bb)&&(this.mouse.allow=!0),this.callback(a,b,c)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Yb=v(jb.style,"touchAction"),Zb=Yb!==d,$b="compute",_b="auto",ac="manipulation",bc="none",cc="pan-x",dc="pan-y";T.prototype={set:function(a){a==$b&&(a=this.compute()),Zb&&(this.manager.element.style[Yb]=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){l(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),U(a.join(" "))},preventDefaults:function(a){if(!Zb){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=q(d,bc),f=q(d,dc),g=q(d,cc);return e||f&&c&Hb||g&&c&Ib?this.preventSrc(b):void 0}},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var ec=1,fc=2,gc=4,hc=8,ic=hc,jc=16,kc=32;V.prototype={defaults:{},set:function(a){return h(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=Y(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=Y(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=Y(a,this),-1===s(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=Y(a,this);var b=s(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(c.options.event+(b?W(d):""),a)}var c=this,d=this.state;hc>d&&b(!0),b(),d>=hc&&b(!0)},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=kc)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(kc|ec)))return!1;a++}return!0},recognize:function(a){var b=h({},a);return l(this.options.enable,[this,b])?(this.state&(ic|jc|kc)&&(this.state=ec),this.state=this.process(b),void(this.state&(fc|gc|hc|jc)&&this.tryEmit(b))):(this.reset(),void(this.state=kc))},process:function(){},getTouchAction:function(){},reset:function(){}},j(Z,V,{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&(fc|gc),e=this.attrTest(a);return d&&(c&Bb||!e)?b|jc:d||e?c&Ab?b|hc:b&fc?b|gc:fc:kc}}),j($,Z,{defaults:{event:"pan",threshold:10,pointers:1,direction:Jb},getTouchAction:function(){var a=this.options.direction,b=[];return a&Hb&&b.push(dc),a&Ib&&b.push(cc),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&Hb?(e=0===f?Cb:0>f?Db:Eb,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Cb:0>g?Fb:Gb,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return Z.prototype.attrTest.call(this,a)&&(this.state&fc||!(this.state&fc)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=X(a.direction);b&&this.manager.emit(this.options.event+b,a),this._super.emit.call(this,a)}}),j(_,Z,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[bc]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&fc)},emit:function(a){if(this._super.emit.call(this,a),1!==a.scale){var b=a.scale<1?"in":"out";this.manager.emit(this.options.event+b,a)}}}),j(ab,V,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[_b]},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&(Ab|Bb)&&!f)this.reset();else if(a.eventType&yb)this.reset(),this._timer=e(function(){this.state=ic,this.tryEmit()},b.time,this);else if(a.eventType&Ab)return ic;return kc},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===ic&&(a&&a.eventType&Ab?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=nb(),this.manager.emit(this.options.event,this._input)))}}),j(bb,Z,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[bc]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&fc)}}),j(cb,Z,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Hb|Ib,pointers:1},getTouchAction:function(){return $.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Hb|Ib)?b=a.velocity:c&Hb?b=a.velocityX:c&Ib&&(b=a.velocityY),this._super.attrTest.call(this,a)&&c&a.direction&&a.distance>this.options.threshold&&mb(b)>this.options.velocity&&a.eventType&Ab},emit:function(a){var b=X(a.direction);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),j(db,V,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ac]},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&yb&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Ab)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||I(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=ic,this.tryEmit()},b.interval,this),fc):ic}return kc},failTimeout:function(){return this._timer=e(function(){this.state=kc},this.options.interval,this),kc},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==ic&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),eb.VERSION="2.0.4",eb.defaults={domEvents:!1,touchAction:$b,enable:!0,inputTarget:null,inputClass:null,preset:[[bb,{enable:!1}],[_,{enable:!1},["rotate"]],[cb,{direction:Hb}],[$,{direction:Hb},["swipe"]],[db],[db,{event:"doubletap",taps:2},["tap"]],[ab]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var lc=1,mc=2;fb.prototype={set:function(a){return h(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?mc:lc},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&ic)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===mc||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(fc|gc|hc)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof V)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;var b=this.recognizers;return a=this.get(a),b.splice(s(b,a),1),this.touchAction.update(),this},on:function(a,b){var c=this.handlers;return g(r(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this},off:function(a,b){var c=this.handlers;return g(r(a),function(a){b?c[a].splice(s(c[a],b),1):delete c[a]}),this},emit:function(a,b){this.options.domEvents&&hb(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&&gb(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},h(eb,{INPUT_START:yb,INPUT_MOVE:zb,INPUT_END:Ab,INPUT_CANCEL:Bb,STATE_POSSIBLE:ec,STATE_BEGAN:fc,STATE_CHANGED:gc,STATE_ENDED:hc,STATE_RECOGNIZED:ic,STATE_CANCELLED:jc,STATE_FAILED:kc,DIRECTION_NONE:Cb,DIRECTION_LEFT:Db,DIRECTION_RIGHT:Eb,DIRECTION_UP:Fb,DIRECTION_DOWN:Gb,DIRECTION_HORIZONTAL:Hb,DIRECTION_VERTICAL:Ib,DIRECTION_ALL:Jb,Manager:fb,Input:y,TouchAction:T,TouchInput:Q,MouseInput:M,PointerEventInput:N,TouchMouseInput:S,SingleTouchInput:O,Recognizer:V,AttrRecognizer:Z,Tap:db,Pan:$,Swipe:cb,Pinch:_,Rotate:bb,Press:ab,on:n,off:o,each:g,merge:i,extend:h,inherit:j,bindFn:k,prefixed:v}),typeof define==kb&&define.amd?define(function(){return eb}):"undefined"!=typeof module&&module.exports?module.exports=eb:a[c]=eb}(window,document,"Hammer");
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
7
  //# sourceMappingURL=hammer.min.map
@@ -0,0 +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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"}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hammerjs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vincent Pochet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-16 00:00:00.000000000 Z
11
+ date: 2017-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -55,6 +55,7 @@ files:
55
55
  - vendor/assets/javascripts/hammer.fakemultitouch.js
56
56
  - vendor/assets/javascripts/hammer.js
57
57
  - vendor/assets/javascripts/hammer.min.js
58
+ - vendor/assets/javascripts/hammer.min.map
58
59
  - vendor/assets/javascripts/hammer.showtouches.js
59
60
  - vendor/assets/javascripts/jquery.hammer.js
60
61
  homepage: https://github.com/vincent-pochet/hammerjs-rails
@@ -77,9 +78,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
78
  version: '0'
78
79
  requirements: []
79
80
  rubyforge_project:
80
- rubygems_version: 2.4.3
81
+ rubygems_version: 2.5.2
81
82
  signing_key:
82
83
  specification_version: 4
83
84
  summary: hammerjs packaged for Rails assets pipeline
84
85
  test_files: []
85
- has_rdoc: