@studiometa/js-toolkit 2.0.0-alpha.1 → 2.0.0-alpha.10

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.
Files changed (201) hide show
  1. package/Base/index.d.ts +29 -47
  2. package/Base/index.js +144 -171
  3. package/Base/managers/ChildrenManager.d.ts +6 -6
  4. package/Base/managers/ChildrenManager.js +95 -119
  5. package/Base/managers/EventsManager.d.ts +9 -9
  6. package/Base/managers/EventsManager.js +128 -161
  7. package/Base/managers/OptionsManager.d.ts +50 -5
  8. package/Base/managers/OptionsManager.js +115 -116
  9. package/Base/managers/RefsManager.js +62 -73
  10. package/Base/managers/ServicesManager.d.ts +14 -3
  11. package/Base/managers/ServicesManager.js +78 -77
  12. package/Base/utils.js +5 -8
  13. package/README.md +12 -70
  14. package/decorators/index.js +1 -2
  15. package/decorators/withBreakpointManager.d.ts +4 -4
  16. package/decorators/withBreakpointManager.js +37 -75
  17. package/decorators/withBreakpointObserver.d.ts +2 -2
  18. package/decorators/withBreakpointObserver.js +54 -77
  19. package/decorators/withDrag.d.ts +3 -3
  20. package/decorators/withDrag.js +17 -41
  21. package/decorators/withExtraConfig.d.ts +3 -3
  22. package/decorators/withExtraConfig.js +2 -24
  23. package/decorators/withIntersectionObserver.d.ts +2 -2
  24. package/decorators/withIntersectionObserver.js +17 -56
  25. package/decorators/withMountWhenInView.d.ts +3 -3
  26. package/decorators/withMountWhenInView.js +23 -51
  27. package/helpers/createApp.d.ts +3 -3
  28. package/helpers/createApp.js +10 -12
  29. package/helpers/importOnInteraction.d.ts +3 -3
  30. package/helpers/importOnInteraction.js +7 -8
  31. package/helpers/importWhenIdle.d.ts +3 -3
  32. package/helpers/importWhenIdle.js +7 -8
  33. package/helpers/importWhenVisible.d.ts +3 -3
  34. package/helpers/importWhenVisible.js +9 -16
  35. package/helpers/index.d.ts +1 -3
  36. package/helpers/index.js +1 -4
  37. package/helpers/utils.js +1 -2
  38. package/index.d.ts +14 -4
  39. package/index.js +4 -4
  40. package/index.modern.js +1 -2
  41. package/index.umd.js +1 -2
  42. package/package.json +4 -6
  43. package/services/Service.js +48 -67
  44. package/services/drag.js +143 -179
  45. package/services/index.js +1 -2
  46. package/services/key.js +55 -97
  47. package/services/load.d.ts +1 -1
  48. package/services/load.js +21 -50
  49. package/services/pointer.js +117 -156
  50. package/services/raf.js +36 -64
  51. package/services/resize.js +47 -86
  52. package/services/scroll.js +81 -120
  53. package/utils/collide/boundingRectToCircle.js +7 -6
  54. package/utils/collide/collideCircleCircle.js +1 -2
  55. package/utils/collide/collideCircleRect.js +1 -2
  56. package/utils/collide/collidePointCircle.js +1 -2
  57. package/utils/collide/collidePointRect.js +1 -2
  58. package/utils/collide/collideRectRect.js +1 -2
  59. package/utils/collide/index.js +1 -2
  60. package/utils/css/classes.js +2 -3
  61. package/utils/css/index.js +1 -2
  62. package/utils/css/matrix.js +1 -2
  63. package/utils/css/styles.js +3 -8
  64. package/utils/css/transition.js +67 -140
  65. package/utils/debounce.js +3 -4
  66. package/utils/focusTrap.js +4 -5
  67. package/utils/history.js +13 -20
  68. package/utils/index.d.ts +2 -1
  69. package/utils/index.js +2 -2
  70. package/utils/keyCodes.js +1 -2
  71. package/utils/math/clamp.js +1 -2
  72. package/utils/math/clamp01.js +1 -2
  73. package/utils/math/damp.js +1 -2
  74. package/utils/math/index.js +1 -2
  75. package/utils/math/inertiaFinalValue.js +1 -2
  76. package/utils/math/lerp.js +1 -2
  77. package/utils/math/map.js +1 -2
  78. package/utils/math/round.js +1 -2
  79. package/utils/memoize.d.ts +30 -0
  80. package/utils/memoize.js +30 -0
  81. package/utils/nextFrame.js +4 -9
  82. package/utils/object/autoBind.js +11 -19
  83. package/utils/object/getAllProperties.js +3 -11
  84. package/utils/object/index.js +1 -2
  85. package/utils/object/isObject.js +2 -4
  86. package/utils/string/index.js +1 -2
  87. package/utils/string/withLeadingCharacters.js +1 -2
  88. package/utils/string/withLeadingSlash.js +1 -2
  89. package/utils/string/withTrailingCharacters.js +1 -2
  90. package/utils/string/withTrailingSlash.js +1 -2
  91. package/utils/string/withoutLeadingCharacters.js +1 -2
  92. package/utils/string/withoutLeadingCharactersRecursive.js +1 -2
  93. package/utils/string/withoutLeadingSlash.js +1 -2
  94. package/utils/string/withoutTrailingCharacters.js +1 -2
  95. package/utils/string/withoutTrailingCharactersRecursive.js +1 -2
  96. package/utils/string/withoutTrailingSlash.js +1 -2
  97. package/utils/throttle.js +2 -3
  98. package/Base/index.js.map +0 -1
  99. package/Base/managers/ChildrenManager.js.map +0 -1
  100. package/Base/managers/EventsManager.js.map +0 -1
  101. package/Base/managers/OptionsManager.js.map +0 -1
  102. package/Base/managers/RefsManager.js.map +0 -1
  103. package/Base/managers/ServicesManager.js.map +0 -1
  104. package/Base/utils.js.map +0 -1
  105. package/components/Accordion/Accordion.d.ts +0 -83
  106. package/components/Accordion/Accordion.js +0 -121
  107. package/components/Accordion/Accordion.js.map +0 -1
  108. package/components/Accordion/AccordionItem.d.ts +0 -122
  109. package/components/Accordion/AccordionItem.js +0 -327
  110. package/components/Accordion/AccordionItem.js.map +0 -1
  111. package/components/Accordion/index.d.ts +0 -27
  112. package/components/Accordion/index.js +0 -39
  113. package/components/Accordion/index.js.map +0 -1
  114. package/components/Cursor.d.ts +0 -138
  115. package/components/Cursor.js +0 -167
  116. package/components/Cursor.js.map +0 -1
  117. package/components/Draggable.d.ts +0 -49
  118. package/components/Draggable.js +0 -77
  119. package/components/Draggable.js.map +0 -1
  120. package/components/Modal.d.ts +0 -158
  121. package/components/Modal.js +0 -270
  122. package/components/Modal.js.map +0 -1
  123. package/components/Tabs.d.ts +0 -108
  124. package/components/Tabs.js +0 -195
  125. package/components/Tabs.js.map +0 -1
  126. package/components/index.d.ts +0 -6
  127. package/components/index.js +0 -7
  128. package/components/index.js.map +0 -1
  129. package/decorators/index.js.map +0 -1
  130. package/decorators/withBreakpointManager.js.map +0 -1
  131. package/decorators/withBreakpointObserver.js.map +0 -1
  132. package/decorators/withDrag.js.map +0 -1
  133. package/decorators/withExtraConfig.js.map +0 -1
  134. package/decorators/withIntersectionObserver.js.map +0 -1
  135. package/decorators/withMountWhenInView.js.map +0 -1
  136. package/helpers/createApp.js.map +0 -1
  137. package/helpers/createBase.d.ts +0 -7
  138. package/helpers/createBase.js +0 -7
  139. package/helpers/createBase.js.map +0 -1
  140. package/helpers/defineComponent.d.ts +0 -11
  141. package/helpers/defineComponent.js +0 -68
  142. package/helpers/defineComponent.js.map +0 -1
  143. package/helpers/importOnInteraction.js.map +0 -1
  144. package/helpers/importWhenIdle.js.map +0 -1
  145. package/helpers/importWhenVisible.js.map +0 -1
  146. package/helpers/index.js.map +0 -1
  147. package/helpers/utils.js.map +0 -1
  148. package/index.js.map +0 -1
  149. package/index.modern.js.map +0 -1
  150. package/index.umd.js.map +0 -1
  151. package/services/Service.js.map +0 -1
  152. package/services/drag.js.map +0 -1
  153. package/services/index.js.map +0 -1
  154. package/services/key.js.map +0 -1
  155. package/services/load.js.map +0 -1
  156. package/services/pointer.js.map +0 -1
  157. package/services/raf.js.map +0 -1
  158. package/services/resize.js.map +0 -1
  159. package/services/scroll.js.map +0 -1
  160. package/utils/collide/boundingRectToCircle.js.map +0 -1
  161. package/utils/collide/collideCircleCircle.js.map +0 -1
  162. package/utils/collide/collideCircleRect.js.map +0 -1
  163. package/utils/collide/collidePointCircle.js.map +0 -1
  164. package/utils/collide/collidePointRect.js.map +0 -1
  165. package/utils/collide/collideRectRect.js.map +0 -1
  166. package/utils/collide/index.js.map +0 -1
  167. package/utils/css/classes.js.map +0 -1
  168. package/utils/css/index.js.map +0 -1
  169. package/utils/css/matrix.js.map +0 -1
  170. package/utils/css/styles.js.map +0 -1
  171. package/utils/css/transition.js.map +0 -1
  172. package/utils/debounce.js.map +0 -1
  173. package/utils/focusTrap.js.map +0 -1
  174. package/utils/history.js.map +0 -1
  175. package/utils/index.js.map +0 -1
  176. package/utils/keyCodes.js.map +0 -1
  177. package/utils/math/clamp.js.map +0 -1
  178. package/utils/math/clamp01.js.map +0 -1
  179. package/utils/math/damp.js.map +0 -1
  180. package/utils/math/index.js.map +0 -1
  181. package/utils/math/inertiaFinalValue.js.map +0 -1
  182. package/utils/math/lerp.js.map +0 -1
  183. package/utils/math/map.js.map +0 -1
  184. package/utils/math/round.js.map +0 -1
  185. package/utils/nextFrame.js.map +0 -1
  186. package/utils/object/autoBind.js.map +0 -1
  187. package/utils/object/getAllProperties.js.map +0 -1
  188. package/utils/object/index.js.map +0 -1
  189. package/utils/object/isObject.js.map +0 -1
  190. package/utils/string/index.js.map +0 -1
  191. package/utils/string/withLeadingCharacters.js.map +0 -1
  192. package/utils/string/withLeadingSlash.js.map +0 -1
  193. package/utils/string/withTrailingCharacters.js.map +0 -1
  194. package/utils/string/withTrailingSlash.js.map +0 -1
  195. package/utils/string/withoutLeadingCharacters.js.map +0 -1
  196. package/utils/string/withoutLeadingCharactersRecursive.js.map +0 -1
  197. package/utils/string/withoutLeadingSlash.js.map +0 -1
  198. package/utils/string/withoutTrailingCharacters.js.map +0 -1
  199. package/utils/string/withoutTrailingCharactersRecursive.js.map +0 -1
  200. package/utils/string/withoutTrailingSlash.js.map +0 -1
  201. package/utils/throttle.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studiometa/js-toolkit",
3
- "version": "2.0.0-alpha.1",
3
+ "version": "2.0.0-alpha.10",
4
4
  "description": "A set of useful little bits of JavaScript to boost your project! 🚀",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -16,8 +16,9 @@
16
16
  },
17
17
  "homepage": "https://github.com/studiometa/js-toolkit#readme",
18
18
  "type": "module",
19
+ "sideEffects": false,
19
20
  "unpkg": "./index.umd.js",
20
- "main": "./index.umd.js",
21
+ "main": "./index.js",
21
22
  "module": "./index.js",
22
23
  "keywords": [
23
24
  "js-toolkit",
@@ -28,9 +29,6 @@
28
29
  "types": "index.d.ts",
29
30
  "dependencies": {
30
31
  "@babel/runtime": "^7.15.4",
31
- "deepmerge": "^4.2.2",
32
- "mem": "^9.0.1",
33
- "no-case": "^3.0.4",
34
- "stylefire": "^7.0.3"
32
+ "deepmerge": "^4.2.2"
35
33
  }
36
34
  }
@@ -1,82 +1,63 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
-
4
- var Service = function () {
5
- function Service() {
6
- _classCallCheck(this, Service);
7
-
1
+ export default class Service {
2
+ constructor() {
8
3
  this.callbacks = new Map();
9
4
  this.isInit = false;
10
5
  }
11
6
 
12
- _createClass(Service, [{
13
- key: "props",
14
- get: function get() {
15
- throw new Error('The `props` getter must be implemented.');
16
- }
17
- }, {
18
- key: "init",
19
- value: function init() {
20
- throw new Error('The `init` method must be implemented.');
21
- }
22
- }, {
23
- key: "kill",
24
- value: function kill() {
25
- throw new Error('The `kill` method must be implemented.');
26
- }
27
- }, {
28
- key: "add",
29
- value: function add(key, callback) {
30
- if (this.has(key)) {
31
- throw new Error("A callback with the key `".concat(key, "` has already been registered."));
32
- }
7
+ get props() {
8
+ throw new Error('The `props` getter must be implemented.');
9
+ }
33
10
 
34
- if (this.callbacks.size === 0 && !this.isInit) {
35
- this.init();
36
- this.isInit = true;
37
- }
11
+ init() {
12
+ throw new Error('The `init` method must be implemented.');
13
+ }
38
14
 
39
- this.callbacks.set(key, callback);
40
- return this;
41
- }
42
- }, {
43
- key: "has",
44
- value: function has(key) {
45
- return this.callbacks.has(key);
15
+ kill() {
16
+ throw new Error('The `kill` method must be implemented.');
17
+ }
18
+
19
+ add(key, callback) {
20
+ if (this.has(key)) {
21
+ throw new Error("A callback with the key `".concat(key, "` has already been registered."));
46
22
  }
47
- }, {
48
- key: "get",
49
- value: function get(key) {
50
- return this.callbacks.get(key);
23
+
24
+ if (this.callbacks.size === 0 && !this.isInit) {
25
+ this.init();
26
+ this.isInit = true;
51
27
  }
52
- }, {
53
- key: "remove",
54
- value: function remove(key) {
55
- this.callbacks.delete(key);
56
28
 
57
- if (this.callbacks.size === 0 && this.isInit) {
58
- this.kill();
59
- this.isInit = false;
60
- }
29
+ this.callbacks.set(key, callback);
30
+ return this;
31
+ }
32
+
33
+ has(key) {
34
+ return this.callbacks.has(key);
35
+ }
36
+
37
+ get(key) {
38
+ return this.callbacks.get(key);
39
+ }
40
+
41
+ remove(key) {
42
+ this.callbacks.delete(key);
61
43
 
62
- return this;
44
+ if (this.callbacks.size === 0 && this.isInit) {
45
+ this.kill();
46
+ this.isInit = false;
63
47
  }
64
- }, {
65
- key: "trigger",
66
- value: function trigger() {
67
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
- args[_key] = arguments[_key];
69
- }
70
48
 
71
- this.callbacks.forEach(function forEachCallback(callback) {
72
- callback.apply(void 0, args);
73
- });
74
- return this;
49
+ return this;
50
+ }
51
+
52
+ trigger() {
53
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
54
+ args[_key] = arguments[_key];
75
55
  }
76
- }]);
77
56
 
78
- return Service;
79
- }();
57
+ this.callbacks.forEach(function forEachCallback(callback) {
58
+ callback(...args);
59
+ });
60
+ return this;
61
+ }
80
62
 
81
- export { Service as default };
82
- //# sourceMappingURL=Service.js.map
63
+ }
package/services/drag.js CHANGED
@@ -1,19 +1,9 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
2
 
9
3
  function 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; }
10
4
 
11
5
  function _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; }
12
6
 
13
- function _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); }; }
14
-
15
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
16
-
17
7
  import Service from './Service.js';
18
8
  import usePointer from './pointer.js';
19
9
  import useRaf from './raf.js';
@@ -27,203 +17,180 @@ var MODES = {
27
17
  };
28
18
  var instanceIds = 0;
29
19
 
30
- var Drag = function (_Service) {
31
- _inherits(Drag, _Service);
32
-
33
- var _super = _createSuper(Drag);
34
-
35
- function Drag(target) {
36
- var _this;
37
-
20
+ class Drag extends Service {
21
+ constructor(target) {
38
22
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
23
+ super();
39
24
 
40
- _classCallCheck(this, Drag);
41
-
42
- _this = _super.call(this);
25
+ _defineProperty(this, "id", void 0);
43
26
 
44
- _defineProperty(_assertThisInitialized(_this), "id", void 0);
27
+ _defineProperty(this, "target", void 0);
45
28
 
46
- _defineProperty(_assertThisInitialized(_this), "target", void 0);
29
+ _defineProperty(this, "mode", void 0);
47
30
 
48
- _defineProperty(_assertThisInitialized(_this), "mode", void 0);
31
+ _defineProperty(this, "isGrabbing", false);
49
32
 
50
- _defineProperty(_assertThisInitialized(_this), "isGrabbing", false);
33
+ _defineProperty(this, "hasInertia", false);
51
34
 
52
- _defineProperty(_assertThisInitialized(_this), "hasInertia", false);
35
+ _defineProperty(this, "x", 0);
53
36
 
54
- _defineProperty(_assertThisInitialized(_this), "x", 0);
37
+ _defineProperty(this, "y", 0);
55
38
 
56
- _defineProperty(_assertThisInitialized(_this), "y", 0);
57
-
58
- _defineProperty(_assertThisInitialized(_this), "delta", {
39
+ _defineProperty(this, "delta", {
59
40
  x: 0,
60
41
  y: 0
61
42
  });
62
43
 
63
- _defineProperty(_assertThisInitialized(_this), "origin", {
44
+ _defineProperty(this, "origin", {
64
45
  x: 0,
65
46
  y: 0
66
47
  });
67
48
 
68
- _defineProperty(_assertThisInitialized(_this), "distance", {
49
+ _defineProperty(this, "distance", {
69
50
  x: 0,
70
51
  y: 0
71
52
  });
72
53
 
73
- _defineProperty(_assertThisInitialized(_this), "final", {
54
+ _defineProperty(this, "final", {
74
55
  x: 0,
75
56
  y: 0
76
57
  });
77
58
 
78
- _defineProperty(_assertThisInitialized(_this), "options", {
59
+ _defineProperty(this, "options", {
79
60
  factor: 0.85
80
61
  });
81
62
 
82
63
  instanceIds += 1;
83
- _this.id = "drag-".concat(instanceIds);
84
- _this.target = target;
85
- _this.options = _objectSpread(_objectSpread({}, _this.options), options);
86
- _this.pointerHandler = _this.pointerHandler.bind(_assertThisInitialized(_this));
87
- _this.rafHandler = _this.rafHandler.bind(_assertThisInitialized(_this));
88
- return _possibleConstructorReturn(_this, _assertThisInitialized(_this));
64
+ this.id = "drag-".concat(instanceIds);
65
+ this.target = target;
66
+ this.options = _objectSpread(_objectSpread({}, this.options), options);
67
+ this.pointerHandler = this.pointerHandler.bind(this);
68
+ this.rafHandler = this.rafHandler.bind(this);
69
+ return this;
89
70
  }
90
71
 
91
- _createClass(Drag, [{
92
- key: "init",
93
- value: function init() {
94
- var options = {
95
- passive: true
96
- };
97
- this.target.addEventListener('mousedown', this, options);
98
- this.target.addEventListener('touchstart', this, options);
99
- var pointer = usePointer();
100
- pointer.add(this.id, this.pointerHandler);
101
- return this;
102
- }
103
- }, {
104
- key: "kill",
105
- value: function kill() {
106
- this.target.removeEventListener('mousemove', this);
107
- this.target.removeEventListener('touchmove', this);
108
- var pointer = usePointer();
109
- pointer.remove(this.id);
110
- return this;
111
- }
112
- }, {
113
- key: "handleEvent",
114
- value: function handleEvent(event) {
115
- var x = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;
116
- var y = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;
117
- this.start(x, y);
118
- }
119
- }, {
120
- key: "start",
121
- value: function start(x, y) {
122
- this.x = x;
123
- this.y = y;
124
- this.origin.x = x;
125
- this.origin.y = y;
126
- this.delta.x = 0;
127
- this.delta.y = 0;
128
- this.distance.x = 0;
129
- this.distance.y = 0;
130
- this.final.x = x;
131
- this.final.y = y;
132
- this.mode = MODES.START;
133
- this.isGrabbing = true;
134
- this.trigger(this.props);
135
- }
136
- }, {
137
- key: "drop",
138
- value: function drop() {
139
- var _this2 = this;
140
-
141
- this.isGrabbing = false;
142
- this.mode = MODES.DROP;
143
- this.hasInertia = true;
144
- this.final.x = inertiaFinalValue(this.x, this.delta.x, this.options.factor);
145
- this.final.y = inertiaFinalValue(this.y, this.delta.y, this.options.factor);
146
- this.trigger(this.props);
147
- setTimeout(function () {
148
- var raf = useRaf();
149
- raf.remove(_this2.id);
150
- raf.add(_this2.id, _this2.rafHandler);
151
- }, 0);
152
- }
153
- }, {
154
- key: "stop",
155
- value: function stop() {
156
- useRaf().remove(this.id);
157
- this.hasInertia = false;
158
- this.mode = MODES.STOP;
72
+ init() {
73
+ var options = {
74
+ passive: true
75
+ };
76
+ this.target.addEventListener('mousedown', this, options);
77
+ this.target.addEventListener('touchstart', this, options);
78
+ var pointer = usePointer();
79
+ pointer.add(this.id, this.pointerHandler);
80
+ return this;
81
+ }
82
+
83
+ kill() {
84
+ this.target.removeEventListener('mousemove', this);
85
+ this.target.removeEventListener('touchmove', this);
86
+ var pointer = usePointer();
87
+ pointer.remove(this.id);
88
+ return this;
89
+ }
90
+
91
+ handleEvent(event) {
92
+ var x = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;
93
+ var y = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;
94
+ this.start(x, y);
95
+ }
96
+
97
+ start(x, y) {
98
+ this.x = x;
99
+ this.y = y;
100
+ this.origin.x = x;
101
+ this.origin.y = y;
102
+ this.delta.x = 0;
103
+ this.delta.y = 0;
104
+ this.distance.x = 0;
105
+ this.distance.y = 0;
106
+ this.final.x = x;
107
+ this.final.y = y;
108
+ this.mode = MODES.START;
109
+ this.isGrabbing = true;
110
+ this.trigger(this.props);
111
+ }
112
+
113
+ drop() {
114
+ this.isGrabbing = false;
115
+ this.mode = MODES.DROP;
116
+ this.hasInertia = true;
117
+ this.final.x = inertiaFinalValue(this.x, this.delta.x, this.options.factor);
118
+ this.final.y = inertiaFinalValue(this.y, this.delta.y, this.options.factor);
119
+ this.trigger(this.props);
120
+ setTimeout(() => {
121
+ var raf = useRaf();
122
+ raf.remove(this.id);
123
+ raf.add(this.id, this.rafHandler);
124
+ }, 0);
125
+ }
126
+
127
+ stop() {
128
+ useRaf().remove(this.id);
129
+ this.hasInertia = false;
130
+ this.mode = MODES.STOP;
131
+ this.trigger(this.props);
132
+ }
133
+
134
+ rafHandler() {
135
+ if (!this.isGrabbing) {
136
+ this.x += this.delta.x;
137
+ this.y += this.delta.y;
138
+ this.distance.x = this.x - this.origin.x;
139
+ this.distance.y = this.y - this.origin.y;
140
+ this.delta.x *= this.options.factor;
141
+ this.delta.y *= this.options.factor;
142
+
143
+ if (this.mode !== MODES.INERTIA) {
144
+ this.mode = MODES.INERTIA;
145
+ }
146
+
159
147
  this.trigger(this.props);
160
- }
161
- }, {
162
- key: "rafHandler",
163
- value: function rafHandler() {
164
- if (!this.isGrabbing) {
165
- this.x += this.delta.x;
166
- this.y += this.delta.y;
167
- this.distance.x = this.x - this.origin.x;
168
- this.distance.y = this.y - this.origin.y;
169
- this.delta.x *= this.options.factor;
170
- this.delta.y *= this.options.factor;
171
-
172
- if (this.mode !== MODES.INERTIA) {
173
- this.mode = MODES.INERTIA;
174
- }
175
-
176
- this.trigger(this.props);
177
-
178
- if (Math.abs(this.delta.x) < 0.1 && Math.abs(this.delta.y) < 0.1) {
179
- this.stop();
180
- }
148
+
149
+ if (Math.abs(this.delta.x) < 0.1 && Math.abs(this.delta.y) < 0.1) {
150
+ this.stop();
181
151
  }
182
152
  }
183
- }, {
184
- key: "pointerHandler",
185
- value: function pointerHandler(props) {
186
- if (this.isGrabbing) {
187
- this.x = props.x;
188
- this.y = props.y;
189
- this.delta.x = props.delta.x;
190
- this.delta.y = props.delta.y;
191
- this.final.x = props.x;
192
- this.final.y = props.y;
193
- this.distance.x = this.x - this.origin.x;
194
- this.distance.y = this.y - this.origin.y;
195
-
196
- if (this.mode !== MODES.DRAG) {
197
- this.mode = MODES.DRAG;
198
- }
199
-
200
- this.trigger(this.props);
201
-
202
- if (!props.isDown) {
203
- this.drop();
204
- }
153
+ }
154
+
155
+ pointerHandler(props) {
156
+ if (this.isGrabbing) {
157
+ this.x = props.x;
158
+ this.y = props.y;
159
+ this.delta.x = props.delta.x;
160
+ this.delta.y = props.delta.y;
161
+ this.final.x = props.x;
162
+ this.final.y = props.y;
163
+ this.distance.x = this.x - this.origin.x;
164
+ this.distance.y = this.y - this.origin.y;
165
+
166
+ if (this.mode !== MODES.DRAG) {
167
+ this.mode = MODES.DRAG;
168
+ }
169
+
170
+ this.trigger(this.props);
171
+
172
+ if (!props.isDown) {
173
+ this.drop();
205
174
  }
206
175
  }
207
- }, {
208
- key: "props",
209
- get: function get() {
210
- return {
211
- target: this.target,
212
- mode: this.mode,
213
- isGrabbing: this.isGrabbing,
214
- hasInertia: this.hasInertia,
215
- x: this.x,
216
- y: this.y,
217
- delta: this.delta,
218
- origin: this.origin,
219
- distance: this.distance,
220
- final: this.final
221
- };
222
- }
223
- }]);
176
+ }
224
177
 
225
- return Drag;
226
- }(Service);
178
+ get props() {
179
+ return {
180
+ target: this.target,
181
+ mode: this.mode,
182
+ isGrabbing: this.isGrabbing,
183
+ hasInertia: this.hasInertia,
184
+ x: this.x,
185
+ y: this.y,
186
+ delta: this.delta,
187
+ origin: this.origin,
188
+ distance: this.distance,
189
+ final: this.final
190
+ };
191
+ }
192
+
193
+ }
227
194
 
228
195
  var instances = new WeakMap();
229
196
  export default function useDrag(target, options) {
@@ -238,15 +205,12 @@ export default function useDrag(target, options) {
238
205
  var remove = drag.remove.bind(drag);
239
206
  var has = drag.has.bind(drag);
240
207
 
241
- var props = function props() {
242
- return drag.props;
243
- };
208
+ var props = () => drag.props;
244
209
 
245
210
  return {
246
- add: add,
247
- remove: remove,
248
- has: has,
249
- props: props
211
+ add,
212
+ remove,
213
+ has,
214
+ props
250
215
  };
251
- }
252
- //# sourceMappingURL=drag.js.map
216
+ }
package/services/index.js CHANGED
@@ -5,5 +5,4 @@ import usePointer from './pointer.js';
5
5
  import useRaf from './raf.js';
6
6
  import useResize from './resize.js';
7
7
  import useScroll from './scroll.js';
8
- export { useKey, usePointer, useDrag, useLoad, useRaf, useResize, useScroll };
9
- //# sourceMappingURL=index.js.map
8
+ export { useKey, usePointer, useDrag, useLoad, useRaf, useResize, useScroll };