-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpointers.js
185 lines (159 loc) · 96 KB
/
pointers.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 1);
/******/ })
/************************************************************************/
/******/ ({
/***/ "./packages/js/pointers/src/Events/BaseEvent.js":
/*!******************************************************!*\
!*** ./packages/js/pointers/src/Events/BaseEvent.js ***!
\******************************************************/
/*! exports provided: BaseEvent */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BaseEvent\", function() { return BaseEvent; });\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n *\n */\nvar BaseEvent = /*#__PURE__*/function () {\n /**\n *\n * @param attributes\n */\n function BaseEvent(attributes) {\n _classCallCheck(this, BaseEvent);\n\n this._setAttributes(attributes); //assigned inside the event\n\n\n this.currentPointers = {};\n this.startingCoordinates = null;\n this.firstInteractionAt = null;\n this.hasMoved = false;\n this.movingThreshold = 2;\n this.triggeredAt = null; //this will be true if the event succeed on its main propose\n\n this.succeed = false;\n this.subs = [];\n }\n\n _createClass(BaseEvent, [{\n key: \"_setAttributes\",\n value: function _setAttributes(attributes) {\n var _this = this;\n\n Object.keys(attributes).forEach(function (key) {\n _this[key] = attributes[key];\n });\n }\n }, {\n key: \"handle\",\n value: function handle(e) {\n if (typeof this[e.type] === \"function\") {\n return this[e.type](e);\n }\n }\n }, {\n key: \"validateConditions\",\n value: function validateConditions(e) {\n var _this = this;\n\n return !this.conditions.find(function (condition) {\n // console.info(!condition.bind(_this)(e));\n //if the callback return false then stop it\n return !condition(e, _this);\n });\n }\n }, {\n key: \"pointerdown\",\n value: function pointerdown(e) {\n if (Object.keys(this.currentPointers).length === 0) {\n this.firstInteractionAt = this._getTime();\n this.startingCoordinates = {};\n this.startingCoordinates.x = e.clientX;\n this.startingCoordinates.y = e.clientY;\n }\n\n this.currentPointers[e.pointerId] = e;\n }\n /**\n * Always have this run after the child pointerup\n * @param e\n */\n\n }, {\n key: \"pointerup\",\n value: function pointerup(e) {\n this.reset(e);\n }\n }, {\n key: \"pointermove\",\n value: function pointermove(e) {\n if (!this.hasMoved && this.startingCoordinates && this.distance(e.clientX, e.clientY) >= this.movingThreshold) {\n this.hasMoved = true;\n }\n }\n }, {\n key: \"pointerleave\",\n value: function pointerleave(e) {\n this.reset(e);\n }\n }, {\n key: \"pointercancel\",\n value: function pointercancel(e) {\n this.reset(e);\n }\n }, {\n key: \"pointerenter\",\n value: function pointerenter(e) {}\n }, {\n key: \"reset\",\n value: function reset(e) {\n delete this.currentPointers[e.pointerId];\n\n if (Object.keys(this.currentPointers).length === 0) {\n this.startingCoordinates = null;\n this.firstInteractionAt = null;\n this.hasMoved = null;\n this.succeed = false;\n }\n }\n }, {\n key: \"distance\",\n value: function distance(x, y) {\n return Math.sqrt(Math.pow(this.startingCoordinates.x - x, 2) + Math.pow(this.startingCoordinates.y - y, 2));\n }\n }, {\n key: \"timeSinceFirstInteraction\",\n value: function timeSinceFirstInteraction() {\n if (!this.firstInteractionAt) return null;\n\n var currentTime = this._getTime();\n\n return currentTime - this.firstInteractionAt;\n }\n /**\n * This command run the handler if it succeed the conditions\n * @param e\n */\n\n }, {\n key: \"runIfOk\",\n value: function runIfOk(e) {\n if (this.validateConditions(e)) {\n this.triggeredAt = this._getTime();\n e.pevent = _objectSpread({}, this);\n e.data = this.data;\n\n if (this.selector) {\n var currentTarget = $(this.selector)[0];\n\n if (e.target == currentTarget) {\n e.currentTarget = currentTarget;\n this.handler.bind(currentTarget)(e);\n }\n } else this.handler.bind($(this.currentSelector)[0])(e);\n }\n }\n }, {\n key: \"getAvailableSubs\",\n value: function getAvailableSubs() {\n return this.subs;\n }\n }, {\n key: \"_getTime\",\n value: function _getTime() {\n return new Date().getTime();\n }\n }]);\n\n return BaseEvent;\n}();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wYWNrYWdlcy9qcy9wb2ludGVycy9zcmMvRXZlbnRzL0Jhc2VFdmVudC5qcz9hZmNmIl0sIm5hbWVzIjpbIkJhc2VFdmVudCIsImF0dHJpYnV0ZXMiLCJfc2V0QXR0cmlidXRlcyIsImN1cnJlbnRQb2ludGVycyIsInN0YXJ0aW5nQ29vcmRpbmF0ZXMiLCJmaXJzdEludGVyYWN0aW9uQXQiLCJoYXNNb3ZlZCIsIm1vdmluZ1RocmVzaG9sZCIsInRyaWdnZXJlZEF0Iiwic3VjY2VlZCIsInN1YnMiLCJfdGhpcyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiZSIsInR5cGUiLCJjb25kaXRpb25zIiwiZmluZCIsImNvbmRpdGlvbiIsImxlbmd0aCIsIl9nZXRUaW1lIiwieCIsImNsaWVudFgiLCJ5IiwiY2xpZW50WSIsInBvaW50ZXJJZCIsInJlc2V0IiwiZGlzdGFuY2UiLCJNYXRoIiwic3FydCIsInBvdyIsImN1cnJlbnRUaW1lIiwidmFsaWRhdGVDb25kaXRpb25zIiwicGV2ZW50IiwiZGF0YSIsInNlbGVjdG9yIiwiY3VycmVudFRhcmdldCIsIiQiLCJ0YXJnZXQiLCJoYW5kbGVyIiwiYmluZCIsImN1cnJlbnRTZWxlY3RvciIsIkRhdGUiLCJnZXRUaW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNPLElBQU1BLFNBQWI7QUFFSTtBQUNKO0FBQ0E7QUFDQTtBQUNJLHFCQUFZQyxVQUFaLEVBQ0E7QUFBQTs7QUFDSSxTQUFLQyxjQUFMLENBQW9CRCxVQUFwQixFQURKLENBR0k7OztBQUNBLFNBQUtFLGVBQUwsR0FBdUIsRUFBdkI7QUFDQSxTQUFLQyxtQkFBTCxHQUEyQixJQUEzQjtBQUNBLFNBQUtDLGtCQUFMLEdBQTBCLElBQTFCO0FBQ0EsU0FBS0MsUUFBTCxHQUFnQixLQUFoQjtBQUNBLFNBQUtDLGVBQUwsR0FBdUIsQ0FBdkI7QUFDQSxTQUFLQyxXQUFMLEdBQW1CLElB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eEIsQ0FBbEIsRUFBOEMzQixDQUE5QztBQUNQO0FBQ0o7QUFoSkw7QUFBQTtBQUFBLHVDQW1KSTtBQUNJLGFBQU8sS0FBS04sSUFBWjtBQUNIO0FBckpMO0FBQUE7QUFBQSwrQkF3Skk7QUFDSSxhQUFRLElBQUlrQyxJQUFKLEVBQUQsQ0FBYUMsT0FBYixFQUFQO0FBQ0g7QUExSkw7O0FBQUE7QUFBQSIsImZpbGUiOiIuL3BhY2thZ2VzL2pzL3BvaW50ZXJzL3NyYy9FdmVudHMvQmFzZUV2ZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICovXG5leHBvcnQgY2xhc3MgQmFzZUV2ZW50IHtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGF0dHJpYnV0ZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihhdHRyaWJ1dGVzKVxuICAgIHtcbiAgICAgICAgdGhpcy5fc2V0QXR0cmlidXRlcyhhdHRyaWJ1dGVzKTtcblxuICAgICAgICAvL2Fzc2lnbmVkIGluc2lkZSB0aGUgZXZlbnRcbiAgICAgICAgdGhpcy5jdXJyZW50UG9pbnRlcnMgPSB7fTtcbiAgICAgICAgdGhpcy5zdGFydGluZ0Nvb3JkaW5hdGVzID0gbnVsbDtcbiAgICAgICAgdGhpcy5maXJzdEludGVyYWN0aW9uQXQgPSBudWxsO1xuICAgICAgICB0aGlzLmhhc01vdmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubW92aW5nVGhyZXNob2xkID0gMjtcbiAgICAgICAgdGhpcy50cmlnZ2VyZWRBdCA9IG51bGw7XG5cbiAgICAgICAgLy90aGlzIHdpbGwgYmUgdHJ1ZSBpZiB0aGUgZXZlbnQgc3VjY2VlZCBvbiBpdHMgbWFpbiBwcm9wb3NlXG4gICAgICAgIHRoaXMuc3VjY2VlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuc3VicyA9IFtdO1xuICAgIH1cblxuICAgIF9zZXRBdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpXG4gICAge1xuICAgICAgICBsZXQgX3RoaXMgPSB0aGlzO1xuICAgICAgICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBfdGhpc1trZXldID0gYXR0cmlidXRlc1trZXldO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIGhhbmRsZShlKVxuICAgIHtcbiAgICAgICAgaWYodHlwZW9mIHRoaXNbZS50eXBlXSA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICB7XG4gICAgICAgICAgICByZXR1cm4gdGhpc1tlLnR5cGVdKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsaWRhdGVDb25kaXRpb25zKGUpXG4gICAge1xuICAgICAgICBsZXQgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gIXRoaXMuY29uZGl0aW9ucy5maW5kKGNvbmRpdGlvbiA9PiB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmluZm8oIWNvbmRpdGlvbi5iaW5kKF90aGlzKShlKSk7XG4gICAgICAgICAgICAvL2lmIHRoZSBjYWxsYmFjayByZXR1cm4gZmFsc2UgdGhlbiBzdG9wIGl0XG4gICAgICAgICAgICByZXR1cm4gIWNvbmRpdGlvbihlLF90aGlzKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwb2ludGVyZG93bihlKVxuICAgIHtcbiAgICAgICAgaWYoT2JqZWN0LmtleXModGhpcy5jdXJyZW50UG9pbnRlcnMpLmxlbmd0aCA9PT0gMClcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5maXJzdEludGVyYWN0aW9uQXQgPSB0aGlzLl9nZXRUaW1lKCk7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0aW5nQ29vcmRpbmF0ZXMgPSB7fTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRpbmdDb29yZGluYXRlcy54ID0gZS5jbGllbnRYO1xuICAgICAgICAgICAgdGhpcy5zdGFydGluZ0Nvb3JkaW5hdGVzLnkgPSBlLmNsaWVudFk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN1cnJlbnRQb2ludGVyc1tlLnBvaW50ZXJJZF0gPSBlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFsd2F5cyBoYXZlIHRoaXMgcnVuIGFmdGVyIHRoZSBjaGlsZCBwb2ludGVydXBcbiAgICAgKiBAcGFyYW0gZVxuICAgICAqL1xuICAgIHBvaW50ZXJ1cChlKVxuICAgIHtcbiAgICAgICAgdGhpcy5yZXNldChlKTtcbiAgICB9XG5cbiAgICBwb2ludGVybW92ZShlKVxuICAgIHtcbiAgICAgICAgaWYoIXRoaXMuaGFzTW92ZWQgJiYgdGhpcy5zdGFydGluZ0Nvb3JkaW5hdGVzICYmIHRoaXMuZGlzdGFuY2UoZS5jbGllbnRYLCBlLmNsaWVudFkpID49IHRoaXMubW92aW5nVGhyZXNob2xkKVxuICAgICAgICB7XG4gICAgICAgICAgICB0aGlzLmhhc01vdmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50ZXJsZWF2ZShlKXtcbiAgICAgICAgdGhpcy5yZXNldChlKTtcbiAgICB9XG5cbiAgICBwb2ludGVyY2FuY2VsKGUpe1xuICAgICAgICB0aGlzLnJlc2V0KGUpO1xuICAgIH1cblxuICAgIHBvaW50ZXJlbnRlcihlKXtcblxuICAgIH1cblxuICAgIHJlc2V0KGUpe1xuICAgICAgICBkZWxldGUgdGhpcy5jdXJyZW50UG9pbnRlcnNbZS5wb2ludGVySWRdO1xuXG4gICAgICAgIGlmKE9iamVjdC5rZXlzKHRoaXMuY3VycmVudFBvaW50ZXJzKS5sZW5ndGggPT09IDApXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRpbmdDb29yZGluYXRlcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmZpcnN0SW50ZXJhY3Rpb25BdCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmhhc01vdmVkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3VjY2VlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzdGFuY2UoeCx5KVxuICAgIHtcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydChcbiAgICAgICAgICAgIE1hdGgucG93KHRoaXMuc3RhcnRpbmdDb29yZGluYXRlcy54IC0geCwyKSArIE1hdGgucG93KHRoaXMuc3RhcnRpbmdDb29yZGluYXRlcy55IC0geSwyKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgdGltZVNpbmNlRmlyc3RJbnRlcmFjdGlvbigpXG4gICAge1xuICAgICAgICBpZighdGhpcy5maXJzdEludGVyYWN0aW9uQXQpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcblxuICAgICAgICBsZXQgY3VycmVudFRpbWUgPSB0aGlzLl9nZXRUaW1lKCk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRUaW1lIC0gdGhpcy5maXJzdEludGVyYWN0aW9uQXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBjb21tYW5kIHJ1biB0aGUgaGFuZGxlciBpZiBpdCBzdWNjZWVkIHRoZSBjb25kaXRpb25zXG4gICAgICogQHBhcmFtIGVcbiAgICAgKi9cbiAgICBydW5JZk9rKGUpXG4gICAge1xuICAgICAgICBpZih0aGlzLnZhbGlkYXRlQ29uZGl0aW9ucyhlKSl7XG5cbiAgICAgICAgICAgIHRoaXMudHJpZ2dlcmVkQXQgPSB0aGlzLl9nZXRUaW1lKCk7XG4gICAgICAgICAgICBlLnBldmVudCA9IHsuLi50aGlzfTtcbiAgICAgICAgICAgIGUuZGF0YSA9IHRoaXMuZGF0YTtcblxuICAgICAgICAgICAgaWYodGhpcy5zZWxlY3RvcilcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFRhcmdldCA9ICQodGhpcy5zZWxlY3RvcilbMF07XG4gICAgICAgICAgICAgICAgaWYoZS50YXJnZXQgPT0gY3VycmVudFRhcmdldClcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGUuY3VycmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlci5iaW5kKGN1cnJlbnRUYXJnZXQpKGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1lbHNlXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVyLmJpbmQoJCh0aGlzLmN1cnJlbnRTZWxlY3RvcilbMF0pKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlU3VicygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJzO1xuICAgIH1cblxuICAgIF9nZXRUaW1lKClcbiAgICB7XG4gICAgICAgIHJldHVybiAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/js/pointers/src/Events/BaseEvent.js\n");
/***/ }),
/***/ "./packages/js/pointers/src/Events/Mouse.js":
/*!**************************************************!*\
!*** ./packages/js/pointers/src/Events/Mouse.js ***!
\**************************************************/
/*! exports provided: Mouse */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Mouse\", function() { return Mouse; });\n/* harmony import */ var _BaseEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseEvent */ \"./packages/js/pointers/src/Events/BaseEvent.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\nvar Mouse = /*#__PURE__*/function (_BaseEvent) {\n _inherits(Mouse, _BaseEvent);\n\n var _super = _createSuper(Mouse);\n\n function Mouse(attributes) {\n var _this;\n\n _classCallCheck(this, Mouse);\n\n _this = _super.call(this, attributes);\n _this.subs = ['down', 'up', 'move', 'cancel', 'leave', 'enter'];\n return _this;\n }\n\n _createClass(Mouse, [{\n key: \"handle\",\n value: function handle(e) {\n _get(_getPrototypeOf(Mouse.prototype), \"handle\", this).call(this, e);\n }\n }, {\n key: \"pointerdown\",\n value: function pointerdown(e) {\n _get(_getPrototypeOf(Mouse.prototype), \"pointerdown\", this).call(this, e);\n\n if (this.sub === 'down' && e.pointerType === 'mouse') {\n this.runIfOk(e);\n }\n }\n }, {\n key: \"pointermove\",\n value: function pointermove(e) {\n _get(_getPrototypeOf(Mouse.prototype), \"pointermove\", this).call(this, e);\n\n if (this.sub === 'move' && e.pointerType === 'mouse') {\n this.runIfOk(e);\n }\n }\n }, {\n key: \"pointerup\",\n value: function pointerup(e) {\n if (this.sub === 'up' && e.pointerType === 'mouse') {\n this.runIfOk(e);\n }\n\n _get(_getPrototypeOf(Mouse.prototype), \"pointerup\", this).call(this, e);\n }\n }, {\n key: \"pointercancel\",\n value: function pointercancel(e) {\n if (this.sub === 'cancel' && e.pointerType === 'mouse') {\n this.runIfOk(e);\n }\n\n _get(_getPrototypeOf(Mouse.prototype), \"pointercancel\", this).call(this, e);\n }\n }, {\n key: \"pointerleave\",\n value: function pointerleave(e) {\n if (this.sub === 'leave' && e.pointerType === 'mouse') {\n this.runIfOk(e);\n }\n\n _get(_getPrototypeOf(Mouse.prototype), \"pointerleave\", this).call(this, e);\n }\n }, {\n key: \"pointerenter\",\n value: function pointerenter(e) {\n if (this.sub === 'enter' && e.pointerType === 'mouse') {\n this.runIfOk(e);\n }\n }\n }]);\n\n return Mouse;\n}(_BaseEvent__WEBPACK_IMPORTED_MODULE_0__[\"BaseEvent\"]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wYWNrYWdlcy9qcy9wb2ludGVycy9zcmMvRXZlbnRzL01vdXNlLmpzP2ZmMzEiXSwibmFtZXMiOlsiTW91c2UiLCJhdHRyaWJ1dGVzIiwic3VicyIsImUiLCJzdWIiLCJwb2ludGVyVHlwZSIsInJ1bklmT2siLCJCYXNlRXZlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFFTyxJQUFNQSxLQUFiO0FBQUE7O0FBQUE7O0FBQ0ksaUJBQVlDLFVBQVosRUFDQTtBQUFBOztBQUFBOztBQUNJLDhCQUFNQSxVQUFOO0FBQ0EsVUFBS0MsSUFBTCxHQUFZLENBQ1IsTUFEUSxFQUVSLElBRlEsRUFHUixNQUhRLEVBSVIsUUFKUSxFQUtSLE9BTFEsRUFNUixPQU5RLENBQVo7QUFGSjtBQVVDOztBQVpMO0FBQUE7QUFBQSwyQkFjV0MsQ0FkWCxFQWVJO0FBQ0ksd0VBQWFBLENBQWI7QUFDSDtBQWpCTDtBQUFBO0FBQUEsZ0NBbUJnQkEsQ0FuQmhCLEVBbUJtQjtBQUNYLDZFQUFrQkEsQ0FBbEI7O0FBRUEsVUFBRyxLQUFLQyxHQUFMLEtBQWEsTUFBYixJQUF1QkQsQ0FBQyxDQUFDRSxXQUFGLEtBQWtCLE9BQTVDLEVBQ0E7QUFDSSxhQUFLQyxPQUFMLENBQWFILENBQWI7QUFDSDtBQUNKO0FBMUJMO0FBQUE7QUFBQSxnQ0E0QmdCQSxDQTVCaEIsRUE0Qm1CO0FBQ1gsNkVBQWtCQSxDQUFsQjs7QUFFQSxVQUFHLEtBQUtDLEdBQUwsS0FBYSxNQUFiLElBQXVCRCxDQUFDLENBQUNFLFdBQUYsS0FBa0IsT0FBNUMsRUFDQTtBQUNJLGFBQUtDLE9BQUwsQ0FBYUgsQ0FBYjtBQUNIO0FBQ0o7QUFuQ0w7QUFBQTtBQUFBLDhCQXFDY0EsQ0FyQ2QsRUFxQ2lCO0FBQ1QsVUFBRyxLQUFLQyxHQUFMLEtBQWEsSUFBYixJQUFxQkQsQ0FBQyxDQUFDRSxXQUFGLEtBQWtCLE9BQTFDLEVBQ0E7QUFDSSxhQUFLQyxPQUFMLENBQWFILENBQWI7QUFDSDs7QUFFRCwyRUFBZ0JBLENBQWhCO0FBQ0g7QUE1Q0w7QUFBQTtBQUFBLGtDQThDa0JBLENBOUNsQixFQThDcUI7QUFDYixVQUFHLEtBQUtDLEdBQUwsS0FBYSxRQUFiLElBQXlCRCxDQUFDLENBQUNFLFdBQUYsS0FBa0IsT0FBOUMsRUFDQTtBQUNJLGFBQUtDLE9BQUwsQ0FBYUgsQ0FBYjtBQUNIOztBQUVELCtFQUFvQkEsQ0FBcEI7QUFDSDtBQXJETDtBQUFBO0FBQUEsaUNBdURpQkEsQ0F2RGpCLEVBdURvQjtBQUVaLFVBQUcsS0FBS0MsR0FBTCxLQUFhLE9BQWIsSUFBd0JELENBQUMsQ0FBQ0UsV0FBRixLQUFrQixPQUE3QyxFQUNBO0FBQ0ksYUFBS0MsT0FBTCxDQUFhSCxDQUFiO0FBQ0g7O0FBRUQsOEVBQW1CQSxDQUFuQjtBQUNIO0FBL0RMO0FBQUE7QUFBQSxpQ0FpRWlCQSxDQWpFakIsRUFpRW1CO0FBQ1gsVUFBRyxLQUFLQyxHQUFMLEtBQWEsT0FBYixJQUF3QkQsQ0FBQyxDQUFDRSxXQUFGLEtBQWtCLE9BQTdDLEVBQ0E7QUFDSSxhQUFLQyxPQUFMLENBQWFILENBQWI7QUFDSDtBQUNKO0FBdEVMOztBQUFBO0FBQUEsRUFBMkJJLG9EQUEzQiIsImZpbGUiOiIuL3BhY2thZ2VzL2pzL3BvaW50ZXJzL3NyYy9FdmVudHMvTW91c2UuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Jhc2VFdmVudH0gZnJvbSBcIi4vQmFzZUV2ZW50XCI7XG5cbmV4cG9ydCBjbGFzcyBNb3VzZSBleHRlbmRzIEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IoYXR0cmlidXRlcylcbiAgICB7XG4gICAgICAgIHN1cGVyKGF0dHJpYnV0ZXMpO1xuICAgICAgICB0aGlzLnN1YnMgPSBbXG4gICAgICAgICAgICAnZG93bicsXG4gICAgICAgICAgICAndXAnLFxuICAgICAgICAgICAgJ21vdmUnLFxuICAgICAgICAgICAgJ2NhbmNlbCcsXG4gICAgICAgICAgICAnbGVhdmUnLFxuICAgICAgICAgICAgJ2VudGVyJ1xuICAgICAgICBdO1xuICAgIH1cblxuICAgIGhhbmRsZShlKVxuICAgIHtcbiAgICAgICAgc3VwZXIuaGFuZGxlKGUpO1xuICAgIH1cblxuICAgIHBvaW50ZXJkb3duKGUpIHtcbiAgICAgICAgc3VwZXIucG9pbnRlcmRvd24oZSk7XG5cbiAgICAgICAgaWYodGhpcy5zdWIgPT09ICdkb3duJyAmJiBlLnBvaW50ZXJUeXBlID09PSAnbW91c2UnKVxuICAgICAgICB7XG4gICAgICAgICAgICB0aGlzLnJ1bklmT2soZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwb2ludGVybW92ZShlKSB7XG4gICAgICAgIHN1cGVyLnBvaW50ZXJtb3ZlKGUpO1xuXG4gICAgICAgIGlmKHRoaXMuc3ViID09PSAnbW92ZScgJiYgZS5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJylcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5ydW5JZk9rKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRlcnVwKGUpIHtcbiAgICAgICAgaWYodGhpcy5zdWIgPT09ICd1cCcgJiYgZS5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJylcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5ydW5JZk9rKGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIucG9pbnRlcnVwKGUpO1xuICAgIH1cblxuICAgIHBvaW50ZXJjYW5jZWwoZSkge1xuICAgICAgICBpZih0aGlzLnN1YiA9PT0gJ2NhbmNlbCcgJiYgZS5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJylcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5ydW5JZk9rKGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIucG9pbnRlcmNhbmNlbChlKTtcbiAgICB9XG5cbiAgICBwb2ludGVybGVhdmUoZSkge1xuXG4gICAgICAgIGlmKHRoaXMuc3ViID09PSAnbGVhdmUnICYmIGUucG9pbnRlclR5cGUgPT09ICdtb3VzZScpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucnVuSWZPayhlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLnBvaW50ZXJsZWF2ZShlKTtcbiAgICB9XG5cbiAgICBwb2ludGVyZW50ZXIoZSl7XG4gICAgICAgIGlmKHRoaXMuc3ViID09PSAnZW50ZXInICYmIGUucG9pbnRlclR5cGUgPT09ICdtb3VzZScpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucnVuSWZPayhlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/js/pointers/src/Events/Mouse.js\n");
/***/ }),
/***/ "./packages/js/pointers/src/Events/NthTap.js":
/*!***************************************************!*\
!*** ./packages/js/pointers/src/Events/NthTap.js ***!
\***************************************************/
/*! exports provided: NthTap */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NthTap\", function() { return NthTap; });\n/* harmony import */ var _BaseEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseEvent */ \"./packages/js/pointers/src/Events/BaseEvent.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\nvar NthTap = /*#__PURE__*/function (_BaseEvent) {\n _inherits(NthTap, _BaseEvent);\n\n var _super = _createSuper(NthTap);\n\n function NthTap(attributes) {\n var _this2;\n\n _classCallCheck(this, NthTap);\n\n _this2 = _super.call(this, attributes);\n _this2.pressingThreshold = 250;\n _this2.maxTimeBetweenTaps = 300;\n _this2._tapCount = 0;\n _this2.sub = 2;\n return _this2;\n }\n\n _createClass(NthTap, [{\n key: \"handle\",\n value: function handle(e) {\n _get(_getPrototypeOf(NthTap.prototype), \"handle\", this).call(this, e);\n }\n }, {\n key: \"pointerup\",\n value: function pointerup(e) {\n var _this = this;\n\n if (this.timeSinceFirstInteraction() <= this.pressingThreshold) {\n this._tapCount++;\n var currentCount = this._tapCount;\n setTimeout(function () {\n if (currentCount === _this._tapCount) _this._tapCount = 0;\n }, this.maxTimeBetweenTaps);\n if (this._tapCount === Number(this.sub)) this.runIfOk(e);\n }\n\n _get(_getPrototypeOf(NthTap.prototype), \"pointerup\", this).call(this, e);\n } //maximum waiting time for this event\n\n }, {\n key: \"waitingTime\",\n value: function waitingTime() {\n return this.maxTimeBetweenTaps * Number(this.sub);\n }\n }]);\n\n return NthTap;\n}(_BaseEvent__WEBPACK_IMPORTED_MODULE_0__[\"BaseEvent\"]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wYWNrYWdlcy9qcy9wb2ludGVycy9zcmMvRXZlbnRzL050aFRhcC5qcz83OTJhIl0sIm5hbWVzIjpbIk50aFRhcCIsImF0dHJpYnV0ZXMiLCJwcmVzc2luZ1RocmVzaG9sZCIsIm1heFRpbWVCZXR3ZWVuVGFwcyIsIl90YXBDb3VudCIsInN1YiIsImUiLCJfdGhpcyIsInRpbWVTaW5jZUZpcnN0SW50ZXJhY3Rpb24iLCJjdXJyZW50Q291bnQiLCJzZXRUaW1lb3V0IiwiTnVtYmVyIiwicnVuSWZPayIsIkJhc2VFdmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUVPLElBQU1BLE1BQWI7QUFBQTs7QUFBQTs7QUFDSSxrQkFBWUMsVUFBWixFQUNBO0FBQUE7O0FBQUE7O0FBQ0ksK0JBQU1BLFVBQU47QUFDQSxXQUFLQyxpQkFBTCxHQUF5QixHQUF6QjtBQUNBLFdBQUtDLGtCQUFMLEdBQTBCLEdBQTFCO0FBQ0EsV0FBS0MsU0FBTCxHQUFpQixDQUFqQjtBQUNBLFdBQUtDLEdBQUwsR0FBVyxDQUFYO0FBTEo7QUFNQzs7QUFSTDtBQUFBO0FBQUEsMkJBVVdDLENBVlgsRUFXSTtBQUNJLHlFQUFhQSxDQUFiO0FBQ0g7QUFiTDtBQUFBO0FBQUEsOEJBZWNBLENBZmQsRUFlaUI7QUFDVCxVQUFJQyxLQUFLLEdBQUcsSUFBWjs7QUFDQSxVQUFHLEtBQUtDLHlCQUFMLE1BQW9DLEtBQUtOLGlCQUE1QyxFQUNBO0FBQ0ksYUFBS0UsU0FBTDtBQUNBLFlBQUlLLFlBQVksR0FBRyxLQUFLTCxTQUF4QjtBQUVBTSxrQkFBVSxDQUFDLFlBQVc7QUFDbEIsY0FBR0QsWUFBWSxLQUFLRixLQUFLLENBQUNILFNBQTFCLEVBQ0lHLEtBQUssQ0FBQ0gsU0FBTixHQUFrQixDQUFsQjtBQUNQLFNBSFMsRUFHUixLQUFLRCxrQkFIRyxDQUFWO0FBS0EsWUFBRyxLQUFLQyxTQUFMLEtBQW1CTyxNQUFNLENBQUMsS0FBS04sR0FBTixDQUE1QixFQUNJLEtBQUtPLE9BQUwsQ0FBYU4sQ0FBYjtBQUNQOztBQUVELDRFQUFnQkEsQ0FBaEI7QUFDSCxLQWhDTCxDQWtDSTs7QUFsQ0o7QUFBQTtBQUFBLGtDQW9DSTtBQUNJLGFBQU8sS0FBS0gsa0JBQUwsR0FBMEJRLE1BQU0sQ0FBQyxLQUFLTixHQUFOLENBQXZDO0FBQ0g7QUF0Q0w7O0FBQUE7QUFBQSxFQUE0QlEsb0RBQTVCIiwiZmlsZSI6Ii4vcGFja2FnZXMvanMvcG9pbnRlcnMvc3JjL0V2ZW50cy9OdGhUYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Jhc2VFdmVudH0gZnJvbSBcIi4vQmFzZUV2ZW50XCI7XG5cbmV4cG9ydCBjbGFzcyBOdGhUYXAgZXh0ZW5kcyBCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKGF0dHJpYnV0ZXMpXG4gICAge1xuICAgICAgICBzdXBlcihhdHRyaWJ1dGVzKTtcbiAgICAgICAgdGhpcy5wcmVzc2luZ1RocmVzaG9sZCA9IDI1MDtcbiAgICAgICAgdGhpcy5tYXhUaW1lQmV0d2VlblRhcHMgPSAzMDA7XG4gICAgICAgIHRoaXMuX3RhcENvdW50ID0gMDtcbiAgICAgICAgdGhpcy5zdWIgPSAyO1xuICAgIH1cblxuICAgIGhhbmRsZShlKVxuICAgIHtcbiAgICAgICAgc3VwZXIuaGFuZGxlKGUpO1xuICAgIH1cblxuICAgIHBvaW50ZXJ1cChlKSB7XG4gICAgICAgIGxldCBfdGhpcyA9IHRoaXM7XG4gICAgICAgIGlmKHRoaXMudGltZVNpbmNlRmlyc3RJbnRlcmFjdGlvbigpIDw9IHRoaXMucHJlc3NpbmdUaHJlc2hvbGQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMuX3RhcENvdW50Kys7XG4gICAgICAgICAgICBsZXQgY3VycmVudENvdW50ID0gdGhpcy5fdGFwQ291bnQ7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgaWYoY3VycmVudENvdW50ID09PSBfdGhpcy5fdGFwQ291bnQpXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLl90YXBDb3VudCA9IDA7XG4gICAgICAgICAgICB9LHRoaXMubWF4VGltZUJldHdlZW5UYXBzKTtcblxuICAgICAgICAgICAgaWYodGhpcy5fdGFwQ291bnQgPT09IE51bWJlcih0aGlzLnN1YikpXG4gICAgICAgICAgICAgICAgdGhpcy5ydW5JZk9rKGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIucG9pbnRlcnVwKGUpO1xuICAgIH1cblxuICAgIC8vbWF4aW11bSB3YWl0aW5nIHRpbWUgZm9yIHRoaXMgZXZlbnRcbiAgICB3YWl0aW5nVGltZSgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhUaW1lQmV0d2VlblRhcHMgKiBOdW1iZXIodGhpcy5zdWIpO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./packages/js/pointers/src/Events/NthTap.js\n");
/***/ }),
/***/ "./packages/js/pointers/src/Events/Pan.js":
/*!************************************************!*\
!*** ./packages/js/pointers/src/Events/Pan.js ***!
\************************************************/
/*! exports provided: Pan */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Pan\", function() { return Pan; });\n/* harmony import */ var _BaseEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseEvent */ \"./packages/js/pointers/src/Events/BaseEvent.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\nvar Pan = /*#__PURE__*/function (_BaseEvent) {\n _inherits(Pan, _BaseEvent);\n\n var _super = _createSuper(Pan);\n\n function Pan(attributes) {\n var _this;\n\n _classCallCheck(this, Pan);\n\n _this = _super.call(this, attributes);\n _this.pressingThreshold = 251;\n _this.subs = ['start', 'move', 'end', 'cancel'];\n return _this;\n }\n\n _createClass(Pan, [{\n key: \"handle\",\n value: function handle(e) {\n _get(_getPrototypeOf(Pan.prototype), \"handle\", this).call(this, e);\n }\n }, {\n key: \"pointermove\",\n value: function pointermove(e) {\n if (!this.hasMoved && this.startingCoordinates && this.distance(e.clientX, e.clientY) >= this.movingThreshold) {\n this.hasMoved = true;\n this.succeed = true;\n\n if (this.sub === 'start') {\n this.runIfOk(e);\n }\n }\n\n if (this.hasMoved && (this.sub === null || this.sub === 'move')) {\n this.runIfOk(e);\n }\n }\n }, {\n key: \"pointerup\",\n value: function pointerup(e) {\n if (this.hasMoved && this.sub === 'end') {\n this.runIfOk(e);\n }\n\n _get(_getPrototypeOf(Pan.prototype), \"pointerup\", this).call(this, e);\n }\n }, {\n key: \"pointercancel\",\n value: function pointercancel(e) {\n if (this.hasMoved && this.sub === 'cancel') {\n this.runIfOk(e);\n }\n\n _get(_getPrototypeOf(Pan.prototype), \"pointercancel\", this).call(this, e);\n }\n }]);\n\n return Pan;\n}(_BaseEvent__WEBPACK_IMPORTED_MODULE_0__[\"BaseEvent\"]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wYWNrYWdlcy9qcy9wb2ludGVycy9zcmMvRXZlbnRzL1Bhbi5qcz80NTMyIl0sIm5hbWVzIjpbIlBhbiIsImF0dHJpYnV0ZXMiLCJwcmVzc2luZ1RocmVzaG9sZCIsInN1YnMiLCJlIiwiaGFzTW92ZWQiLCJzdGFydGluZ0Nvb3JkaW5hdGVzIiwiZGlzdGFuY2UiLCJjbGllbnRYIiwiY2xpZW50WSIsIm1vdmluZ1RocmVzaG9sZCIsInN1Y2NlZWQiLCJzdWIiLCJydW5JZk9rIiwiQmFzZUV2ZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBRU8sSUFBTUEsR0FBYjtBQUFBOztBQUFBOztBQUNJLGVBQVlDLFVBQVosRUFDQTtBQUFBOztBQUFBOztBQUNJLDhCQUFNQSxVQUFOO0FBQ0EsVUFBS0MsaUJBQUwsR0FBeUIsR0FBekI7QUFDQSxVQUFLQyxJQUFMLEdBQVksQ0FDUixPQURRLEVBRVIsTUFGUSxFQUdSLEtBSFEsRUFJUixRQUpRLENBQVo7QUFISjtBQVNDOztBQVhMO0FBQUE7QUFBQSwyQkFhV0MsQ0FiWCxFQWNJO0FBQ0ksc0VBQWFBLENBQWI7QUFDSDtBQWhCTDtBQUFBO0FBQUEsZ0NBa0JnQkEsQ0FsQmhCLEVBa0JtQjtBQUNYLFVBQUcsQ0FBQyxLQUFLQyxRQUFOLElBQWtCLEtBQUtDLG1CQUF2QixJQUE4QyxLQUFLQyxRQUFMLENBQWNILENBQUMsQ0FBQ0ksT0FBaEIsRUFBeUJKLENBQUMsQ0FBQ0ssT0FBM0IsS0FBdUMsS0FBS0MsZUFBN0YsRUFDQTtBQUNJLGFBQUtMLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxhQUFLTSxPQUFMLEdBQWUsSUFBZjs7QUFDQSxZQUFHLEtBQUtDLEdBQUwsS0FBYSxPQUFoQixFQUNBO0FBQ0ksZUFBS0MsT0FBTCxDQUFhVCxDQUFiO0FBQ0g7QUFDSjs7QUFFRCxVQUFHLEtBQUtDLFFBQUwsS0FBa0IsS0FBS08sR0FBTCxLQUFhLElBQWIsSUFBcUIsS0FBS0EsR0FBTCxLQUFhLE1BQXBELENBQUgsRUFDQTtBQUNJLGFBQUtDLE9BQUwsQ0FBYVQsQ0FBYjtBQUNIO0FBQ0o7QUFqQ0w7QUFBQTtBQUFBLDhCQW1DY0EsQ0FuQ2QsRUFtQ2lCO0FBQ1QsVUFBRyxLQUFLQyxRQUFMLElBQWlCLEtBQUtPLEdBQUwsS0FBYSxLQUFqQyxFQUNBO0FBQ0ksYUFBS0MsT0FBTCxDQUFhVCxDQUFiO0FBQ0g7O0FBRUQseUVBQWdCQSxDQUFoQjtBQUNIO0FBMUNMO0FBQUE7QUFBQSxrQ0E0Q2tCQSxDQTVDbEIsRUE0Q29CO0FBQ1osVUFBRyxLQUFLQyxRQUFMLElBQWlCLEtBQUtPLEdBQUwsS0FBYSxRQUFqQyxFQUNBO0FBQ0ksYUFBS0MsT0FBTCxDQUFhVCxDQUFiO0FBQ0g7O0FBRUQsNkVBQW9CQSxDQUFwQjtBQUNIO0FBbkRMOztBQUFBO0FBQUEsRUFBeUJVLG9EQUF6QiIsImZpbGUiOiIuL3BhY2thZ2VzL2pzL3BvaW50ZXJzL3NyYy9FdmVudHMvUGFuLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYXNlRXZlbnR9IGZyb20gXCIuL0Jhc2VFdmVudFwiO1xuXG5leHBvcnQgY2xhc3MgUGFuIGV4dGVuZHMgQmFzZUV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihhdHRyaWJ1dGVzKVxuICAgIHtcbiAgICAgICAgc3VwZXIoYXR0cmlidXRlcyk7XG4gICAgICAgIHRoaXMucHJlc3NpbmdUaHJlc2hvbGQgPSAyNTE7XG4gICAgICAgIHRoaXMuc3VicyA9IFtcbiAgICAgICAgICAgICdzdGFydCcsXG4gICAgICAgICAgICAnbW92ZScsXG4gICAgICAgICAgICAnZW5kJyxcbiAgICAgICAgICAgICdjYW5jZWwnLFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGhhbmRsZShlKVxuICAgIHtcbiAgICAgICAgc3VwZXIuaGFuZGxlKGUpO1xuICAgIH1cblxuICAgIHBvaW50ZXJtb3ZlKGUpIHtcbiAgICAgICAgaWYoIXRoaXMuaGFzTW92ZWQgJiYgdGhpcy5zdGFydGluZ0Nvb3JkaW5hdGVzICYmIHRoaXMuZGlzdGFuY2UoZS5jbGllbnRYLCBlLmNsaWVudFkpID49IHRoaXMubW92aW5nVGhyZXNob2xkKVxuICAgICAgICB7XG4gICAgICAgICAgICB0aGlzLmhhc01vdmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3VjY2VlZCA9IHRydWU7XG4gICAgICAgICAgICBpZih0aGlzLnN1YiA9PT0gJ3N0YXJ0JylcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bklmT2soZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZih0aGlzLmhhc01vdmVkICYmICh0aGlzLnN1YiA9PT0gbnVsbCB8fCB0aGlzLnN1YiA9PT0gJ21vdmUnKSlcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5ydW5JZk9rKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRlcnVwKGUpIHtcbiAgICAgICAgaWYodGhpcy5oYXNNb3ZlZCAmJiB0aGlzLnN1YiA9PT0gJ2VuZCcpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucnVuSWZPayhlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLnBvaW50ZXJ1cChlKTtcbiAgICB9XG5cbiAgICBwb2ludGVyY2FuY2VsKGUpe1xuICAgICAgICBpZih0aGlzLmhhc01vdmVkICYmIHRoaXMuc3ViID09PSAnY2FuY2VsJylcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5ydW5JZk9rKGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIucG9pbnRlcmNhbmNlbChlKTtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/js/pointers/src/Events/Pan.js\n");
/***/ }),
/***/ "./packages/js/pointers/src/Events/Press.js":
/*!**************************************************!*\
!*** ./packages/js/pointers/src/Events/Press.js ***!
\**************************************************/
/*! exports provided: Press */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Press\", function() { return Press; });\n/* harmony import */ var _BaseEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseEvent */ \"./packages/js/pointers/src/Events/BaseEvent.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\nvar Press = /*#__PURE__*/function (_BaseEvent) {\n _inherits(Press, _BaseEvent);\n\n var _super = _createSuper(Press);\n\n function Press(attributes) {\n var _this2;\n\n _classCallCheck(this, Press);\n\n _this2 = _super.call(this, attributes);\n _this2.pressingThreshold = 251;\n _this2.subs = ['up', 'down'];\n return _this2;\n }\n\n _createClass(Press, [{\n key: \"handle\",\n value: function handle(e) {\n _get(_getPrototypeOf(Press.prototype), \"handle\", this).call(this, e);\n }\n }, {\n key: \"pointerdown\",\n value: function pointerdown(e) {\n _get(_getPrototypeOf(Press.prototype), \"pointerdown\", this).call(this, e);\n\n var _this = this;\n\n var firstInteractionAt = this.firstInteractionAt;\n setTimeout(function () {\n if (firstInteractionAt === _this.firstInteractionAt && !this.hasMoved) {\n _this.succeed = true;\n if (_this.sub === 'down' || _this.sub === null) _this.runIfOk(e);\n }\n }, this.pressingThreshold);\n }\n }, {\n key: \"pointerup\",\n value: function pointerup(e) {\n if (this.succeed && this.sub === 'up' && !this.hasMoved) this.runIfOk(e);\n\n _get(_getPrototypeOf(Press.prototype), \"pointerup\", this).call(this, e);\n }\n }]);\n\n return Press;\n}(_BaseEvent__WEBPACK_IMPORTED_MODULE_0__[\"BaseEvent\"]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wYWNrYWdlcy9qcy9wb2ludGVycy9zcmMvRXZlbnRzL1ByZXNzLmpzPzVmMTgiXSwibmFtZXMiOlsiUHJlc3MiLCJhdHRyaWJ1dGVzIiwicHJlc3NpbmdUaHJlc2hvbGQiLCJzdWJzIiwiZSIsIl90aGlzIiwiZmlyc3RJbnRlcmFjdGlvbkF0Iiwic2V0VGltZW91dCIsImhhc01vdmVkIiwic3VjY2VlZCIsInN1YiIsInJ1bklmT2siLCJCYXNlRXZlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFFTyxJQUFNQSxLQUFiO0FBQUE7O0FBQUE7O0FBQ0ksaUJBQVlDLFVBQVosRUFDQTtBQUFBOztBQUFBOztBQUNJLCtCQUFNQSxVQUFOO0FBQ0EsV0FBS0MsaUJBQUwsR0FBeUIsR0FBekI7QUFDQSxXQUFLQyxJQUFMLEdBQVksQ0FDUixJQURRLEVBRVIsTUFGUSxDQUFaO0FBSEo7QUFPQzs7QUFUTDtBQUFBO0FBQUEsMkJBV1dDLENBWFgsRUFZSTtBQUNJLHdFQUFhQSxDQUFiO0FBQ0g7QUFkTDtBQUFBO0FBQUEsZ0NBZ0JnQkEsQ0FoQmhCLEVBZ0JtQjtBQUNYLDZFQUFrQkEsQ0FBbEI7O0FBRUEsVUFBSUMsS0FBSyxHQUFHLElBQVo7O0FBQ0EsVUFBSUMsa0JBQWtCLEdBQUcsS0FBS0Esa0JBQTlCO0FBQ0FDLGdCQUFVLENBQUMsWUFBVztBQUNsQixZQUFHRCxrQkFBa0IsS0FBS0QsS0FBSyxDQUFDQyxrQkFBN0IsSUFBbUQsQ0FBQyxLQUFLRSxRQUE1RCxFQUNBO0FBQ0lILGVBQUssQ0FBQ0ksT0FBTixHQUFnQixJQUFoQjtBQUVBLGNBQUdKLEtBQUssQ0FBQ0ssR0FBTixLQUFjLE1BQWQsSUFBd0JMLEtBQUssQ0FBQ0ssR0FBTixLQUFjLElBQXpDLEVBQ0lMLEtBQUssQ0FBQ00sT0FBTixDQUFjUCxDQUFkO0FBQ1A7QUFDSixPQVJTLEVBUVIsS0FBS0YsaUJBUkcsQ0FBVjtBQVNIO0FBOUJMO0FBQUE7QUFBQSw4QkFnQ2NFLENBaENkLEVBZ0NpQjtBQUNULFVBQUcsS0FBS0ssT0FBTCxJQUFnQixLQUFLQyxHQUFMLEtBQWEsSUFBN0IsSUFBcUMsQ0FBQyxLQUFLRixRQUE5QyxFQUNJLEtBQUtHLE9BQUwsQ0FBYVAsQ0FBYjs7QUFFSiwyRUFBZ0JBLENBQWhCO0FBQ0g7QUFyQ0w7O0FBQUE7QUFBQSxFQUEyQlEsb0RBQTNCIiwiZmlsZSI6Ii4vcGFja2FnZXMvanMvcG9pbnRlcnMvc3JjL0V2ZW50cy9QcmVzcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmFzZUV2ZW50fSBmcm9tIFwiLi9CYXNlRXZlbnRcIjtcblxuZXhwb3J0IGNsYXNzIFByZXNzIGV4dGVuZHMgQmFzZUV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihhdHRyaWJ1dGVzKVxuICAgIHtcbiAgICAgICAgc3VwZXIoYXR0cmlidXRlcyk7XG4gICAgICAgIHRoaXMucHJlc3NpbmdUaHJlc2hvbGQgPSAyNTE7XG4gICAgICAgIHRoaXMuc3VicyA9IFtcbiAgICAgICAgICAgICd1cCcsXG4gICAgICAgICAgICAnZG93bidcbiAgICAgICAgXVxuICAgIH1cblxuICAgIGhhbmRsZShlKVxuICAgIHtcbiAgICAgICAgc3VwZXIuaGFuZGxlKGUpO1xuICAgIH1cblxuICAgIHBvaW50ZXJkb3duKGUpIHtcbiAgICAgICAgc3VwZXIucG9pbnRlcmRvd24oZSk7XG5cbiAgICAgICAgbGV0IF90aGlzID0gdGhpcztcbiAgICAgICAgbGV0IGZpcnN0SW50ZXJhY3Rpb25BdCA9IHRoaXMuZmlyc3RJbnRlcmFjdGlvbkF0O1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgaWYoZmlyc3RJbnRlcmFjdGlvbkF0ID09PSBfdGhpcy5maXJzdEludGVyYWN0aW9uQXQgJiYgIXRoaXMuaGFzTW92ZWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgX3RoaXMuc3VjY2VlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICBpZihfdGhpcy5zdWIgPT09ICdkb3duJyB8fCBfdGhpcy5zdWIgPT09IG51bGwpXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLnJ1bklmT2soZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sdGhpcy5wcmVzc2luZ1RocmVzaG9sZCk7XG4gICAgfVxuXG4gICAgcG9pbnRlcnVwKGUpIHtcbiAgICAgICAgaWYodGhpcy5zdWNjZWVkICYmIHRoaXMuc3ViID09PSAndXAnICYmICF0aGlzLmhhc01vdmVkKVxuICAgICAgICAgICAgdGhpcy5ydW5JZk9rKGUpO1xuXG4gICAgICAgIHN1cGVyLnBvaW50ZXJ1cChlKTtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/js/pointers/src/Events/Press.js\n");
/***/ }),
/***/ "./packages/js/pointers/src/Events/Tap.js":
/*!************************************************!*\
!*** ./packages/js/pointers/src/Events/Tap.js ***!
\************************************************/
/*! exports provided: Tap */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tap\", function() { return Tap; });\n/* harmony import */ var _BaseEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseEvent */ \"./packages/js/pointers/src/Events/BaseEvent.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\nvar Tap = /*#__PURE__*/function (_BaseEvent) {\n _inherits(Tap, _BaseEvent);\n\n var _super = _createSuper(Tap);\n\n function Tap(attributes) {\n var _this;\n\n _classCallCheck(this, Tap);\n\n _this = _super.call(this, attributes);\n _this.pressingThreshold = 250;\n return _this;\n }\n\n _createClass(Tap, [{\n key: \"handle\",\n value: function handle(e) {\n _get(_getPrototypeOf(Tap.prototype), \"handle\", this).call(this, e);\n }\n }, {\n key: \"pointerup\",\n value: function pointerup(e) {\n if (this.timeSinceFirstInteraction() <= this.pressingThreshold && !this.hasMoved) {\n this.succeed = true;\n this.runIfOk(e);\n }\n\n _get(_getPrototypeOf(Tap.prototype), \"pointerup\", this).call(this, e);\n }\n }]);\n\n return Tap;\n}(_BaseEvent__WEBPACK_IMPORTED_MODULE_0__[\"BaseEvent\"]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wYWNrYWdlcy9qcy9wb2ludGVycy9zcmMvRXZlbnRzL1RhcC5qcz80ZjY1Il0sIm5hbWVzIjpbIlRhcCIsImF0dHJpYnV0ZXMiLCJwcmVzc2luZ1RocmVzaG9sZCIsImUiLCJ0aW1lU2luY2VGaXJzdEludGVyYWN0aW9uIiwiaGFzTW92ZWQiLCJzdWNjZWVkIiwicnVuSWZPayIsIkJhc2VFdmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUVPLElBQU1BLEdBQWI7QUFBQTs7QUFBQTs7QUFDSSxlQUFZQyxVQUFaLEVBQ0E7QUFBQTs7QUFBQTs7QUFDSSw4QkFBTUEsVUFBTjtBQUNBLFVBQUtDLGlCQUFMLEdBQXlCLEdBQXpCO0FBRko7QUFHQzs7QUFMTDtBQUFBO0FBQUEsMkJBT1dDLENBUFgsRUFRSTtBQUNJLHNFQUFhQSxDQUFiO0FBQ0g7QUFWTDtBQUFBO0FBQUEsOEJBWWNBLENBWmQsRUFZaUI7QUFDVCxVQUFHLEtBQUtDLHlCQUFMLE1BQW9DLEtBQUtGLGlCQUF6QyxJQUE4RCxDQUFDLEtBQUtHLFFBQXZFLEVBQ0E7QUFDSSxhQUFLQyxPQUFMLEdBQWUsSUFBZjtBQUNBLGFBQUtDLE9BQUwsQ0FBYUosQ0FBYjtBQUNIOztBQUVELHlFQUFnQkEsQ0FBaEI7QUFDSDtBQXBCTDs7QUFBQTtBQUFBLEVBQXlCSyxvREFBekIiLCJmaWxlIjoiLi9wYWNrYWdlcy9qcy9wb2ludGVycy9zcmMvRXZlbnRzL1RhcC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmFzZUV2ZW50fSBmcm9tIFwiLi9CYXNlRXZlbnRcIjtcblxuZXhwb3J0IGNsYXNzIFRhcCBleHRlbmRzIEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IoYXR0cmlidXRlcylcbiAgICB7XG4gICAgICAgIHN1cGVyKGF0dHJpYnV0ZXMpO1xuICAgICAgICB0aGlzLnByZXNzaW5nVGhyZXNob2xkID0gMjUwO1xuICAgIH1cblxuICAgIGhhbmRsZShlKVxuICAgIHtcbiAgICAgICAgc3VwZXIuaGFuZGxlKGUpO1xuICAgIH1cblxuICAgIHBvaW50ZXJ1cChlKSB7XG4gICAgICAgIGlmKHRoaXMudGltZVNpbmNlRmlyc3RJbnRlcmFjdGlvbigpIDw9IHRoaXMucHJlc3NpbmdUaHJlc2hvbGQgJiYgIXRoaXMuaGFzTW92ZWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMuc3VjY2VlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnJ1bklmT2soZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci5wb2ludGVydXAoZSk7XG4gICAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./packages/js/pointers/src/Events/Tap.js\n");
/***/ }),
/***/ "./packages/js/pointers/src/Pointers.js":
/*!**********************************************!*\
!*** ./packages/js/pointers/src/Pointers.js ***!
\**********************************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Events_Tap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Events/Tap */ \"./packages/js/pointers/src/Events/Tap.js\");\n/* harmony import */ var _Events_Press__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Events/Press */ \"./packages/js/pointers/src/Events/Press.js\");\n/* harmony import */ var _Events_Pan__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Events/Pan */ \"./packages/js/pointers/src/Events/Pan.js\");\n/* harmony import */ var _Events_NthTap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Events/NthTap */ \"./packages/js/pointers/src/Events/NthTap.js\");\n/* harmony import */ var _Events_Mouse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Events/Mouse */ \"./packages/js/pointers/src/Events/Mouse.js\");\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; 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\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\n\n/**\n * @property {string|null} currentSelector - the current element selector\n * @property {string|null} currentJqueryElement - the current JQuery element\n * @property {Map} elements - All the element managed by Pointers\n * @property {Array} conditions - All the conditions that will be added to the next event\n * @property {Object} options - All the options that will be added to the next event\n * @property {Object} events - The current supported events\n */\n\nvar Pointers = /*#__PURE__*/function () {\n function Pointers() {\n _classCallCheck(this, Pointers);\n\n this.currentSelector = null;\n this.currentJqueryElement = null;\n this.elements = new Map();\n this.conditions = [];\n this.options = {};\n this.events = {\n tap: _Events_Tap__WEBPACK_IMPORTED_MODULE_0__[\"Tap\"],\n nthtap: _Events_NthTap__WEBPACK_IMPORTED_MODULE_3__[\"NthTap\"],\n press: _Events_Press__WEBPACK_IMPORTED_MODULE_1__[\"Press\"],\n pan: _Events_Pan__WEBPACK_IMPORTED_MODULE_2__[\"Pan\"],\n mouse: _Events_Mouse__WEBPACK_IMPORTED_MODULE_4__[\"Mouse\"]\n };\n }\n /**\n * @description return [event name, event sub, event namespace]\n * @param eventsWithNamespace\n * @returns {Object}\n * @private\n */\n\n\n _createClass(Pointers, [{\n key: \"_splitEvents\",\n value: function _splitEvents(eventsWithNamespace) {\n var events = eventsWithNamespace.split(' ');\n return events.map(function (event) {\n var result = [event, null, null];\n var firstColumn = event.indexOf(':');\n var firstDot = event.indexOf('.');\n\n if (firstColumn > -1) {\n result[0] = event.substr(0, firstColumn);\n\n if (firstDot > -1) {\n result[1] = event.substr(firstColumn + 1, firstDot - firstColumn - 1);\n result[2] = event.substr(firstDot + 1);\n } else {\n result[1] = event.substr(firstColumn + 1);\n }\n } else if (firstDot > -1) {\n result[0] = event.substr(0, firstDot);\n result[2] = event.substr(firstDot + 1);\n }\n\n return result;\n });\n }\n /**\n *\n * @param eventsWithNamespace\n * @param selector\n * @param data\n * @param handler\n * @returns {Pointers}\n */\n\n }, {\n key: \"on\",\n value: function on(eventsWithNamespace, selector, data, handler) {\n var _this = this;\n\n var _this$_refineParamete = this._refineParameters(eventsWithNamespace, selector, data, handler);\n\n var _this$_refineParamete2 = _slicedToArray(_this$_refineParamete, 4);\n\n eventsWithNamespace = _this$_refineParamete2[0];\n selector = _this$_refineParamete2[1];\n data = _this$_refineParamete2[2];\n handler = _this$_refineParamete2[3];\n\n var events = this._splitEvents(eventsWithNamespace);\n\n events.forEach(function (event) {\n _this._assignEventListeners(event, selector, data, handler);\n });\n return this;\n }\n }, {\n key: \"_refineParameters\",\n value: function _refineParameters(eventsWithNamespace, selector, data, handler) {\n if (typeof data === 'function') {\n handler = data;\n data = null;\n }\n\n if (typeof selector === 'function') {\n handler = selector;\n selector = null;\n } else if (_typeof(selector) === 'object') {\n data = selector;\n selector = null;\n }\n\n return [eventsWithNamespace, selector, data, handler];\n }\n }, {\n key: \"_assignEventListeners\",\n value: function _assignEventListeners(events, selector, data, handler) {\n var eventName = events[0];\n var eventSub = events[1];\n var eventNamespace = events[2]; //if the event is not exist in our event list, then assign it directly to jquery\n\n if (!this.events.hasOwnProperty(eventName)) {\n this.currentJqueryElement.on(eventName + \".\" + eventNamespace, selector, data, handler);\n return null;\n } //if the element is not already saved on our elements then save it\n\n\n if (!this.elements.has(this.currentSelector)) {\n this.elements.set(this.currentSelector, []); //don't send data here, it will only work for the first event\n\n this.currentJqueryElement.on(\"pointerenter.pointers pointerdown.pointers pointermove.pointers pointerup.pointers pointercancel.pointers pointerleave.pointers\", this._handle.bind(this));\n }\n\n var event = new this.events[eventName](_objectSpread(_objectSpread({}, {\n name: eventName,\n sub: eventSub,\n namespace: eventNamespace !== null && eventNamespace !== void 0 ? eventNamespace : null,\n selector: selector,\n data: data,\n handler: handler,\n conditions: this.conditions,\n jqueryElement: this.currentJqueryElement,\n currentSelector: this.currentSelector\n }), this.options));\n this.elements.get(this.currentSelector).push(event);\n return event;\n }\n }, {\n key: \"_handle\",\n value: function _handle(e) {\n this.elements.get(this.currentSelector).forEach(function (eventInstance) {\n eventInstance.handle(e);\n });\n }\n }, {\n key: \"_reset\",\n value: function _reset() {\n this.conditions = [];\n this.options = {};\n return this;\n }\n }, {\n key: \"select\",\n value: function select() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this._reset();\n\n this.currentJqueryElement = $(element);\n this.currentSelector = element;\n return this;\n }\n /**\n *\n * @param eventsWithNamespace\n * @param selector\n * @returns {Pointers}\n */\n\n }, {\n key: \"off\",\n value: function off(eventsWithNamespace, selector) {\n var _this2 = this;\n\n var _this = this;\n\n var eventStrings = this._splitEvents(eventsWithNamespace);\n\n var elementEvents = _this.getEvents(); //remove the events from the element events\n\n\n eventStrings.forEach(function (eventString) {\n var eventName = eventString[0];\n var eventSub = eventString[1];\n var eventNamespace = eventString[2]; //if the event is not exist in our event list, then assign it directly to jquery\n\n if (!_this.events.hasOwnProperty(eventName)) {\n _this.currentJqueryElement.off(eventName + \".\" + eventNamespace, selector);\n\n return _this2;\n } //get the event index\n\n\n var eventIndex = elementEvents.findIndex(function (event) {\n //if event name space is not set then remove all that sub events\n if (eventNamespace) return event.name === eventName && event.sub === eventSub && event.namespace === eventNamespace;else return event.name === eventName && event.sub === eventSub;\n }); //event not found\n\n if (eventIndex === -1) return;\n elementEvents.splice(eventIndex, 1);\n });\n\n if (elementEvents.length === 0) {\n this.currentJqueryElement.off(\"pointerenter.pointers pointerdown.pointers pointermove.pointers pointercancel.pointers pointerup.pointers pointerleave.pointers\", selector);\n }\n\n return this;\n }\n /**\n *\n * @param {Number} condition\n */\n\n }, {\n key: \"pointersCount\",\n value: function pointersCount(condition) {\n this.conditions.push(function (e, pevent) {\n return Object.keys(pevent.currentPointers).length === condition || e.pointerType === 'mouse';\n });\n return this;\n }\n /**\n *\n * @param callable\n * @return {this}\n */\n\n }, {\n key: \"condition\",\n value: function condition(callable) {\n this.conditions.push(callable);\n return this;\n }\n /**\n *\n * @param {object} options\n * @returns {Pointers}\n */\n\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n this.options = options;\n return this;\n }\n /**\n *\n * @returns {V}\n */\n\n }, {\n key: \"getEvents\",\n value: function getEvents() {\n return this.elements.get(this.currentSelector);\n }\n /**\n *\n * @param eventName\n * @param eventObject\n * @returns {Pointers}\n */\n\n }, {\n key: \"addEvent\",\n value: function addEvent(eventName, eventObject) {\n this.events[eventName] = eventObject;\n return this;\n }\n }]);\n\n return Pointers;\n}();\n\nvar $pointer = new Pointers();\nwindow.$p = $pointer.select.bind($pointer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9wYWNrYWdlcy9qcy9wb2ludGVycy9zcmMvUG9pbnRlcnMuanM/NGE4NiJdLCJuYW1lcyI6WyJQb2ludGVycyIsImN1cnJlbnRTZWxlY3RvciIsImN1cnJlbnRKcXVlcnlFbGVtZW50IiwiZWxlbWVudHMiLCJNYXAiLCJjb25kaXRpb25zIiwib3B0aW9ucyIsImV2ZW50cyIsInRhcCIsIlRhcCIsIm50aHRhcCIsIk50aFRhcCIsInByZXNzIiwiUHJlc3MiLCJwYW4iLCJQYW4iLCJtb3VzZSIsIk1vdXNlIiwiZXZlbnRzV2l0aE5hbWVzcGFjZSIsInNwbGl0IiwibWFwIiwiZXZlbnQiLCJyZXN1bHQiLCJmaXJzdENvbHVtbiIsImluZGV4T2YiLCJmaXJzdERvdCIsInN1YnN0ciIsInNlbGVjdG9yIiwiZGF0YSIsImhhbmRsZXIiLCJfdGhpcyIsIl9yZWZpbmVQYXJhbWV0ZXJzIiwiX3NwbGl0RXZlbnRzIiwiZm9yRWFjaCIsIl9hc3NpZ25FdmVudExpc3RlbmVycyIsImV2ZW50TmFtZSIsImV2ZW50U3ViIiwiZXZlbnROYW1lc3BhY2UiLCJoYXNPd25Qcm9wZXJ0eSIsIm9uIiwiaGFzIiwic2V0IiwiX2hhbmRsZSIsImJpbmQiLCJuYW1lIiwic3ViIiwibmFtZXNwYWNlIiwianF1ZXJ5RWxlbWVudCIsImdldCIsInB1c2giLCJlIiwiZXZlbnRJbnN0YW5jZSIsImhhbmRsZSIsImVsZW1lbnQiLCJfcmVzZXQiLCIkIiwiZXZlbnRTdHJpbmdzIiwiZWxlbWVudEV2ZW50cyIsImdldEV2ZW50cyIsImV2ZW50U3RyaW5nIiwib2ZmIiwiZXZlbnRJbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsImxlbmd0aCIsImNvbmRpdGlvbiIsInBldmVudCIsIk9iamVjdCIsImtleXMiLCJjdXJyZW50UG9pbnRlcnMiLCJwb2ludGVyVHlwZSIsImNhbGxhYmxlIiwiZXZlbnRPYmplY3QiLCIkcG9pbnRlciIsIndpbmRvdyIsIiRwIiwic2VsZWN0Il0s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Q0E7QUFDQTs7Ozs2QkFDYWtDLFMsRUFBVXFDLFcsRUFDbkI7QUFDSSxXQUFLakUsTUFBTCxDQUFZNEIsU0FBWixJQUF5QnFDLFdBQXpCO0FBQ0EsYUFBTyxJQUFQO0FBQ0g7Ozs7OztBQUdMLElBQUlDLFFBQVEsR0FBRyxJQUFJekUsUUFBSixFQUFmO0FBQ0EwRSxNQUFNLENBQUNDLEVBQVAsR0FBWUYsUUFBUSxDQUFDRyxNQUFULENBQWdCakMsSUFBaEIsQ0FBcUI4QixRQUFyQixDQUFaIiwiZmlsZSI6Ii4vcGFja2FnZXMvanMvcG9pbnRlcnMvc3JjL1BvaW50ZXJzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUYXB9IGZyb20gXCIuL0V2ZW50cy9UYXBcIjtcbmltcG9ydCB7UHJlc3N9IGZyb20gXCIuL0V2ZW50cy9QcmVzc1wiO1xuaW1wb3J0IHtQYW59IGZyb20gXCIuL0V2ZW50cy9QYW5cIjtcbmltcG9ydCB7TnRoVGFwfSBmcm9tIFwiLi9FdmVudHMvTnRoVGFwXCI7XG5pbXBvcnQge01vdXNlfSBmcm9tIFwiLi9FdmVudHMvTW91c2VcIjtcblxuLyoqXG4gKiBAcHJvcGVydHkge3N0cmluZ3xudWxsfSBjdXJyZW50U2VsZWN0b3IgLSB0aGUgY3VycmVudCBlbGVtZW50IHNlbGVjdG9yXG4gKiBAcHJvcGVydHkge3N0cmluZ3xudWxsfSBjdXJyZW50SnF1ZXJ5RWxlbWVudCAtIHRoZSBjdXJyZW50IEpRdWVyeSBlbGVtZW50XG4gKiBAcHJvcGVydHkge01hcH0gZWxlbWVudHMgLSBBbGwgdGhlIGVsZW1lbnQgbWFuYWdlZCBieSBQb2ludGVyc1xuICogQHByb3BlcnR5IHtBcnJheX0gY29uZGl0aW9ucyAtIEFsbCB0aGUgY29uZGl0aW9ucyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIG5leHQgZXZlbnRcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBvcHRpb25zIC0gQWxsIHRoZSBvcHRpb25zIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgbmV4dCBldmVudFxuICogQHByb3BlcnR5IHtPYmplY3R9IGV2ZW50cyAtIFRoZSBjdXJyZW50IHN1cHBvcnRlZCBldmVudHNcbiAqL1xuY2xhc3MgUG9pbnRlcnMge1xuXG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0b3IgPSBudWxsO1xuICAgICAgICB0aGlzLmN1cnJlbnRKcXVlcnlFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5jb25kaXRpb25zID0gW107XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHt9O1xuXG4gICAgICAgIHRoaXMuZXZlbnRzID0ge1xuICAgICAgICAgICAgdGFwOiBUYXAsXG4gICAgICAgICAgICBudGh0YXA6IE50aFRhcCxcbiAgICAgICAgICAgIHByZXNzOlByZXNzLFxuICAgICAgICAgICAgcGFuOlBhbixcbiAgICAgICAgICAgIG1vdXNlOk1vdXNlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIHJldHVybiBbZXZlbnQgbmFtZSwgZXZlbnQgc3ViLCBldmVudCBuYW1lc3BhY2VdXG4gICAgICogQHBhcmFtIGV2ZW50c1dpdGhOYW1lc3BhY2VcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgX3NwbGl0RXZlbnRzKGV2ZW50c1dpdGhOYW1lc3BhY2UpXG4gICAge1xuICAgICAgICBsZXQgZXZlbnRzID0gZXZlbnRzV2l0aE5hbWVzcGFjZS5zcGxpdCgnICcpO1xuICAgICAgICByZXR1cm4gZXZlbnRzLm1hcChldmVudCA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gW2V2ZW50LG51bGwsbnVsbF07XG5cbiAgICAgICAgICAgIGxldCBmaXJzdENvbHVtbiA9IGV2ZW50LmluZGV4T2YoJzonKTtcbiAgICAgICAgICAgIGxldCBmaXJzdERvdCA9IGV2ZW50LmluZGV4T2YoJy4nKTtcblxuICAgICAgICAgICAgaWYoZmlyc3RDb2x1bW4gPiAtMSlcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbMF0gPSBldmVudC5zdWJzdHIoMCxmaXJzdENvbHVtbik7XG4gICAgICAgICAgICAgICAgaWYoZmlyc3REb3QgPiAtMSl7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFsxXSA9IGV2ZW50LnN1YnN0cihmaXJzdENvbHVtbisxLGZpcnN0RG90LWZpcnN0Q29sdW1uLTEpO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRbMl0gPSBldmVudC5zdWJzdHIoZmlyc3REb3QrMSlcbiAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0WzFdID0gZXZlbnQuc3Vic3RyKGZpcnN0Q29sdW1uKzEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1lbHNlIGlmKGZpcnN0RG90ID4gLTEpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVzdWx0WzBdID0gZXZlbnQuc3Vic3RyKDAsZmlyc3REb3QpO1xuICAgICAgICAgICAgICAgIHJlc3VsdFsyXSA9IGV2ZW50LnN1YnN0cihmaXJzdERvdCsxKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudHNXaXRoTmFtZXNwYWNlXG4gICAgICogQHBhcmFtIHNlbGVjdG9yXG4gICAgICogQHBhcmFtIGRhdGFcbiAgICAgKiBAcGFyYW0gaGFuZGxlclxuICAgICAqIEByZXR1cm5zIHtQb2ludGVyc31cbiAgICAgKi9cbiAgICBvbihldmVudHNXaXRoTmFtZXNwYWNlLHNlbGVjdG9yLGRhdGEsaGFuZGxlcil7XG4gICAgICAgIGxldCBfdGhpcyA9IHRoaXM7XG5cbiAgICAgICAgW2V2ZW50c1dpdGhOYW1lc3BhY2Usc2VsZWN0b3IsZGF0YSxoYW5kbGVyXSA9IHRoaXMuX3JlZmluZVBhcmFtZXRlcnMoZXZlbnRzV2l0aE5hbWVzcGFjZSxzZWxlY3RvcixkYXRhLGhhbmRsZXIpO1xuXG4gICAgICAgIGxldCBldmVudHMgPSB0aGlzLl9zcGxpdEV2ZW50cyhldmVudHNXaXRoTmFtZXNwYWNlKTtcblxuICAgICAgICBldmVudHMuZm9yRWFjaChmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICBfdGhpcy5fYXNzaWduRXZlbnRMaXN0ZW5lcnMoZXZlbnQsc2VsZWN0b3IsZGF0YSxoYW5kbGVyKVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBfcmVmaW5lUGFyYW1ldGVycyhldmVudHNXaXRoTmFtZXNwYWNlLHNlbGVjdG9yLGRhdGEsaGFuZGxlcilcbiAgICB7XG4gICAgICAgIGlmKHR5cGVvZiBkYXRhID09PSAnZnVuY3Rpb24nKXtcbiAgICAgICAgICAgIGhhbmRsZXIgPSBkYXRhO1xuICAgICAgICAgICAgZGF0YSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZih0eXBlb2Ygc2VsZWN0b3IgPT09ICdmdW5jdGlvbicpe1xuICAgICAgICAgICAgaGFuZGxlciA9IHNlbGVjdG9yO1xuICAgICAgICAgICAgc2VsZWN0b3IgPSBudWxsO1xuICAgICAgICB9ZWxzZSBpZiAodHlwZW9mIHNlbGVjdG9yID09PSAnb2JqZWN0Jyl7XG4gICAgICAgICAgICBkYXRhID0gc2VsZWN0b3I7XG4gICAgICAgICAgICBzZWxlY3RvciA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW2V2ZW50c1dpdGhOYW1lc3BhY2Usc2VsZWN0b3IsZGF0YSxoYW5kbGVyXTtcbiAgICB9XG5cblxuICAgIF9hc3NpZ25FdmVudExpc3RlbmVycyhldmVudHMsc2VsZWN0b3IsZGF0YSxoYW5kbGVyKVxuICAgIHtcbiAgICAgICAgbGV0IGV2ZW50TmFtZSA9IGV2ZW50c1swXTtcbiAgICAgICAgbGV0IGV2ZW50U3ViID0gZXZlbnRzWzFdO1xuICAgICAgICBsZXQgZXZlbnROYW1lc3BhY2UgPSBldmVudHNbMl07XG5cbiAgICAgICAgLy9pZiB0aGUgZXZlbnQgaXMgbm90IGV4aXN0IGluIG91ciBldmVudCBsaXN0LCB0aGVuIGFzc2lnbiBpdCBkaXJlY3RseSB0byBqcXVlcnlcbiAgICAgICAgaWYoIXRoaXMuZXZlbnRzLmhhc093blByb3BlcnR5KGV2ZW50TmFtZSkpe1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50SnF1ZXJ5RWxlbWVudC5vbihldmVudE5hbWUrXCIuXCIrZXZlbnROYW1lc3BhY2Usc2VsZWN0b3IsZGF0YSxoYW5kbGVyKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9pZiB0aGUgZWxlbWVudCBpcyBub3QgYWxyZWFkeSBzYXZlZCBvbiBvdXIgZWxlbWVudHMgdGhlbiBzYXZlIGl0XG4gICAgICAgIGlmKCF0aGlzLmVsZW1lbnRzLmhhcyh0aGlzLmN1cnJlbnRTZWxlY3RvcikpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudHMuc2V0KHRoaXMuY3VycmVudFNlbGVjdG9yLFtdKTtcbiAgICAgICAgICAgIC8vZG9uJ3Qgc2VuZCBkYXRhIGhlcmUsIGl0IHdpbGwgb25seSB3b3JrIGZvciB0aGUgZmlyc3QgZXZlbnRcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEpxdWVyeUVsZW1lbnQub24oYHBvaW50ZXJlbnRlci5wb2ludGVycyBwb2ludGVyZG93bi5wb2ludGVycyBwb2ludGVybW92ZS5wb2ludGVycyBwb2ludGVydXAucG9pbnRlcnMgcG9pbnRlcmNhbmNlbC5wb2ludGVycyBwb2ludGVybGVhdmUucG9pbnRlcnNgLHRoaXMuX2hhbmRsZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgbGV0IGV2ZW50ID0gbmV3IHRoaXMuZXZlbnRzW2V2ZW50TmFtZV0oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4ue1xuICAgICAgICAgICAgICAgICAgICBuYW1lOmV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgc3ViOmV2ZW50U3ViLFxuICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6ZXZlbnROYW1lc3BhY2UgPz8gbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6c2VsZWN0b3IsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6ZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlcjpoYW5kbGVyLFxuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zOnRoaXMuY29uZGl0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAganF1ZXJ5RWxlbWVudDogdGhpcy5jdXJyZW50SnF1ZXJ5RWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFNlbGVjdG9yOnRoaXMuY3VycmVudFNlbGVjdG9yLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmVsZW1lbnRzLmdldCh0aGlzLmN1cnJlbnRTZWxlY3RvcikucHVzaChldmVudCk7XG5cbiAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgIH1cblxuICAgIF9oYW5kbGUoZSlcbiAgICB7XG4gICAgICAgIHRoaXMuZWxlbWVudHMuZ2V0KHRoaXMuY3VycmVudFNlbGVjdG9yKS5mb3JFYWNoKGV2ZW50SW5zdGFuY2UgPT4ge1xuICAgICAgICAgICAgZXZlbnRJbnN0YW5jZS5oYW5kbGUoZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9yZXNldCgpe1xuICAgICAgICB0aGlzLmNvbmRpdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0ge307XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgc2VsZWN0KGVsZW1lbnQgPSBudWxsKXtcbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50SnF1ZXJ5RWxlbWVudCA9ICQoZWxlbWVudCk7XG4gICAgICAgIHRoaXMuY3VycmVudFNlbGVjdG9yID0gZWxlbWVudDtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudHNXaXRoTmFtZXNwYWNlXG4gICAgICogQHBhcmFtIHNlbGVjdG9yXG4gICAgICogQHJldHVybnMge1BvaW50ZXJzfVxuICAgICAqL1xuICAgIG9mZihldmVudHNXaXRoTmFtZXNwYWNlLHNlbGVjdG9yKVxuICAgIHtcbiAgICAgICAgbGV0IF90aGlzID0gdGhpcztcbiAgICAgICAgbGV0IGV2ZW50U3RyaW5ncyA9IHRoaXMuX3NwbGl0RXZlbnRzKGV2ZW50c1dpdGhOYW1lc3BhY2UpO1xuICAgICAgICBsZXQgZWxlbWVudEV2ZW50cyA9IF90aGlzLmdldEV2ZW50cygpO1xuXG4gICAgICAgIC8vcmVtb3ZlIHRoZSBldmVudHMgZnJvbSB0aGUgZWxlbWVudCBldmVudHNcbiAgICAgICAgZXZlbnRTdHJpbmdzLmZvckVhY2goZXZlbnRTdHJpbmcgPT4ge1xuICAgICAgICAgICAgbGV0IGV2ZW50TmFtZSA9IGV2ZW50U3RyaW5nWzBdO1xuICAgICAgICAgICAgbGV0IGV2ZW50U3ViID0gZXZlbnRTdHJpbmdbMV07XG4gICAgICAgICAgICBsZXQgZXZlbnROYW1lc3BhY2UgPSBldmVudFN0cmluZ1syXTtcbiAgICAgICAgICAgIC8vaWYgdGhlIGV2ZW50IGlzIG5vdCBleGlzdCBpbiBvdXIgZXZlbnQgbGlzdCwgdGhlbiBhc3NpZ24gaXQgZGlyZWN0bHkgdG8ganF1ZXJ5XG4gICAgICAgICAgICBpZighX3RoaXMuZXZlbnRzLmhhc093blByb3BlcnR5KGV2ZW50TmFtZSkpe1xuXG4gICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudEpxdWVyeUVsZW1lbnQub2ZmKGV2ZW50TmFtZStcIi5cIitldmVudE5hbWVzcGFjZSxzZWxlY3Rvcik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vZ2V0IHRoZSBldmVudCBpbmRleFxuICAgICAgICAgICAgbGV0IGV2ZW50SW5kZXggPSBlbGVtZW50RXZlbnRzLmZpbmRJbmRleChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgLy9pZiBldmVudCBuYW1lIHNwYWNlIGlzIG5vdCBzZXQgdGhlbiByZW1vdmUgYWxsIHRoYXQgc3ViIGV2ZW50c1xuICAgICAgICAgICAgICAgIGlmKGV2ZW50TmFtZXNwYWNlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQubmFtZSA9PT0gZXZlbnROYW1lICYmIGV2ZW50LnN1YiA9PT0gZXZlbnRTdWIgJiYgZXZlbnQubmFtZXNwYWNlID09PSBldmVudE5hbWVzcGFjZTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5uYW1lID09PSBldmVudE5hbWUgJiYgZXZlbnQuc3ViID09PSBldmVudFN1YjtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvL2V2ZW50IG5vdCBmb3VuZFxuICAgICAgICAgICAgaWYoZXZlbnRJbmRleCA9PT0gLTEpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICBlbGVtZW50RXZlbnRzLnNwbGljZShldmVudEluZGV4LDEpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZihlbGVtZW50RXZlbnRzLmxlbmd0aCA9PT0gMClcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50SnF1ZXJ5RWxlbWVudC5vZmYoYHBvaW50ZXJlbnRlci5wb2ludGVycyBwb2ludGVyZG93bi5wb2ludGVycyBwb2ludGVybW92ZS5wb2ludGVycyBwb2ludGVyY2FuY2VsLnBvaW50ZXJzIHBvaW50ZXJ1cC5wb2ludGVycyBwb2ludGVybGVhdmUucG9pbnRlcnNgLFxuICAgICAgICAgICAgICAgIHNlbGVjdG9yKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gY29uZGl0aW9uXG4gICAgICovXG4gICAgcG9pbnRlcnNDb3VudChjb25kaXRpb24pIHtcbiAgICAgICAgdGhpcy5jb25kaXRpb25zLnB1c2goZnVuY3Rpb24gKGUscGV2ZW50KXtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwZXZlbnQuY3VycmVudFBvaW50ZXJzKS5sZW5ndGggPT09IGNvbmRpdGlvbiB8fCBlLnBvaW50ZXJUeXBlID09PSAnbW91c2UnO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2FsbGFibGVcbiAgICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgICAqL1xuICAgIGNvbmRpdGlvbihjYWxsYWJsZSl7XG4gICAgICAgIHRoaXMuY29uZGl0aW9ucy5wdXNoKGNhbGxhYmxlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9uc1xuICAgICAqIEByZXR1cm5zIHtQb2ludGVyc31cbiAgICAgKi9cbiAgICBzZXRPcHRpb25zKG9wdGlvbnMpXG4gICAge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtWfVxuICAgICAqL1xuICAgIGdldEV2ZW50cygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50cy5nZXQodGhpcy5jdXJyZW50U2VsZWN0b3IpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50TmFtZVxuICAgICAqIEBwYXJhbSBldmVudE9iamVjdFxuICAgICAqIEByZXR1cm5zIHtQb2ludGVyc31cbiAgICAgKi9cbiAgICBhZGRFdmVudChldmVudE5hbWUsZXZlbnRPYmplY3QpXG4gICAge1xuICAgICAgICB0aGlzLmV2ZW50c1tldmVudE5hbWVdID0gZXZlbnRPYmplY3Q7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn1cblxubGV0ICRwb2ludGVyID0gbmV3IFBvaW50ZXJzKCk7XG53aW5kb3cuJHAgPSAkcG9pbnRlci5zZWxlY3QuYmluZCgkcG9pbnRlcik7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./packages/js/pointers/src/Pointers.js\n");
/***/ }),
/***/ 1:
/*!****************************************************!*\
!*** multi ./packages/js/pointers/src/Pointers.js ***!
\****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(/*! /shared/www/mwar/packages/js/pointers/src/Pointers.js */"./packages/js/pointers/src/Pointers.js");
/***/ })
/******/ });