@studiometa/js-toolkit 1.7.2 → 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 (237) hide show
  1. package/Base/index.d.ts +217 -0
  2. package/Base/index.js +237 -0
  3. package/Base/managers/ChildrenManager.d.ts +108 -0
  4. package/Base/managers/ChildrenManager.js +124 -0
  5. package/Base/managers/EventsManager.d.ts +190 -0
  6. package/Base/managers/EventsManager.js +195 -0
  7. package/Base/managers/OptionsManager.d.ts +120 -0
  8. package/Base/managers/OptionsManager.js +180 -0
  9. package/Base/managers/RefsManager.d.ts +84 -0
  10. package/Base/managers/RefsManager.js +83 -0
  11. package/{abstracts/Base/classes/Services.d.ts → Base/managers/ServicesManager.d.ts} +22 -7
  12. package/Base/managers/ServicesManager.js +115 -0
  13. package/{abstracts/Base → Base}/utils.d.ts +0 -30
  14. package/Base/utils.js +43 -0
  15. package/README.md +12 -70
  16. package/decorators/index.js +1 -2
  17. package/decorators/withBreakpointManager.d.ts +5 -5
  18. package/decorators/withBreakpointManager.js +41 -79
  19. package/decorators/withBreakpointObserver.d.ts +4 -4
  20. package/decorators/withBreakpointObserver.js +54 -77
  21. package/decorators/withDrag.d.ts +6 -6
  22. package/decorators/withDrag.js +17 -41
  23. package/decorators/withExtraConfig.d.ts +6 -6
  24. package/decorators/withExtraConfig.js +2 -24
  25. package/decorators/withIntersectionObserver.d.ts +4 -4
  26. package/decorators/withIntersectionObserver.js +17 -60
  27. package/decorators/withMountWhenInView.d.ts +8 -8
  28. package/decorators/withMountWhenInView.js +23 -51
  29. package/helpers/createApp.d.ts +4 -4
  30. package/helpers/createApp.js +10 -12
  31. package/helpers/importOnInteraction.d.ts +6 -6
  32. package/helpers/importOnInteraction.js +7 -8
  33. package/helpers/importWhenIdle.d.ts +4 -4
  34. package/helpers/importWhenIdle.js +7 -8
  35. package/helpers/importWhenVisible.d.ts +6 -6
  36. package/helpers/importWhenVisible.js +9 -16
  37. package/helpers/index.d.ts +1 -3
  38. package/helpers/index.js +1 -4
  39. package/helpers/utils.js +2 -3
  40. package/index.d.ts +19 -5
  41. package/index.js +5 -6
  42. package/index.modern.js +1 -3230
  43. package/index.umd.js +1 -3586
  44. package/package.json +3 -6
  45. package/{abstracts → services}/Service.d.ts +0 -0
  46. package/services/Service.js +63 -0
  47. package/services/drag.js +144 -180
  48. package/services/index.js +1 -2
  49. package/services/key.js +56 -98
  50. package/services/load.d.ts +1 -1
  51. package/services/load.js +22 -51
  52. package/services/pointer.js +118 -157
  53. package/services/raf.js +37 -65
  54. package/services/resize.js +46 -98
  55. package/services/scroll.js +81 -120
  56. package/utils/collide/boundingRectToCircle.js +7 -6
  57. package/utils/collide/collideCircleCircle.js +1 -2
  58. package/utils/collide/collideCircleRect.js +1 -2
  59. package/utils/collide/collidePointCircle.js +1 -2
  60. package/utils/collide/collidePointRect.js +1 -2
  61. package/utils/collide/collideRectRect.js +1 -2
  62. package/utils/collide/index.js +1 -2
  63. package/utils/css/classes.js +2 -3
  64. package/utils/css/index.js +1 -2
  65. package/utils/css/matrix.js +1 -2
  66. package/utils/css/styles.js +3 -8
  67. package/utils/css/transition.js +67 -140
  68. package/utils/debounce.js +3 -4
  69. package/utils/focusTrap.js +4 -5
  70. package/utils/history.js +12 -19
  71. package/utils/index.d.ts +2 -1
  72. package/utils/index.js +2 -2
  73. package/utils/keyCodes.js +1 -2
  74. package/utils/math/clamp.js +1 -2
  75. package/utils/math/clamp01.js +1 -2
  76. package/utils/math/damp.js +1 -2
  77. package/utils/math/index.js +1 -2
  78. package/utils/math/inertiaFinalValue.js +1 -2
  79. package/utils/math/lerp.js +1 -2
  80. package/utils/math/map.js +1 -2
  81. package/utils/math/round.js +1 -2
  82. package/utils/memoize.d.ts +30 -0
  83. package/utils/memoize.js +30 -0
  84. package/utils/nextFrame.js +4 -9
  85. package/utils/object/autoBind.js +11 -19
  86. package/utils/object/getAllProperties.d.ts +6 -3
  87. package/utils/object/getAllProperties.js +10 -8
  88. package/utils/object/index.js +1 -2
  89. package/utils/object/isObject.js +2 -4
  90. package/utils/string/index.js +1 -2
  91. package/utils/string/withLeadingCharacters.js +1 -2
  92. package/utils/string/withLeadingSlash.js +1 -2
  93. package/utils/string/withTrailingCharacters.js +1 -2
  94. package/utils/string/withTrailingSlash.js +1 -2
  95. package/utils/string/withoutLeadingCharacters.js +1 -2
  96. package/utils/string/withoutLeadingCharactersRecursive.js +1 -2
  97. package/utils/string/withoutLeadingSlash.js +1 -2
  98. package/utils/string/withoutTrailingCharacters.js +1 -2
  99. package/utils/string/withoutTrailingCharactersRecursive.js +1 -2
  100. package/utils/string/withoutTrailingSlash.js +1 -2
  101. package/utils/throttle.js +2 -3
  102. package/abstracts/Base/children.d.ts +0 -16
  103. package/abstracts/Base/children.js +0 -66
  104. package/abstracts/Base/children.js.map +0 -1
  105. package/abstracts/Base/classes/Options.d.ts +0 -37
  106. package/abstracts/Base/classes/Options.js +0 -182
  107. package/abstracts/Base/classes/Options.js.map +0 -1
  108. package/abstracts/Base/classes/Services.js +0 -120
  109. package/abstracts/Base/classes/Services.js.map +0 -1
  110. package/abstracts/Base/components.d.ts +0 -22
  111. package/abstracts/Base/components.js +0 -67
  112. package/abstracts/Base/components.js.map +0 -1
  113. package/abstracts/Base/events.d.ts +0 -8
  114. package/abstracts/Base/events.js +0 -185
  115. package/abstracts/Base/events.js.map +0 -1
  116. package/abstracts/Base/index.d.ts +0 -176
  117. package/abstracts/Base/index.js +0 -215
  118. package/abstracts/Base/index.js.map +0 -1
  119. package/abstracts/Base/options.d.ts +0 -17
  120. package/abstracts/Base/options.js +0 -112
  121. package/abstracts/Base/options.js.map +0 -1
  122. package/abstracts/Base/refs.d.ts +0 -30
  123. package/abstracts/Base/refs.js +0 -60
  124. package/abstracts/Base/refs.js.map +0 -1
  125. package/abstracts/Base/utils.js +0 -102
  126. package/abstracts/Base/utils.js.map +0 -1
  127. package/abstracts/EventManager.d.ts +0 -41
  128. package/abstracts/EventManager.js +0 -88
  129. package/abstracts/EventManager.js.map +0 -1
  130. package/abstracts/Service.js +0 -82
  131. package/abstracts/Service.js.map +0 -1
  132. package/abstracts/index.d.ts +0 -4
  133. package/abstracts/index.js +0 -5
  134. package/abstracts/index.js.map +0 -1
  135. package/components/Accordion/Accordion.d.ts +0 -83
  136. package/components/Accordion/Accordion.js +0 -121
  137. package/components/Accordion/Accordion.js.map +0 -1
  138. package/components/Accordion/AccordionItem.d.ts +0 -122
  139. package/components/Accordion/AccordionItem.js +0 -327
  140. package/components/Accordion/AccordionItem.js.map +0 -1
  141. package/components/Accordion/index.d.ts +0 -27
  142. package/components/Accordion/index.js +0 -39
  143. package/components/Accordion/index.js.map +0 -1
  144. package/components/Cursor.d.ts +0 -138
  145. package/components/Cursor.js +0 -167
  146. package/components/Cursor.js.map +0 -1
  147. package/components/Draggable.d.ts +0 -49
  148. package/components/Draggable.js +0 -77
  149. package/components/Draggable.js.map +0 -1
  150. package/components/Modal.d.ts +0 -158
  151. package/components/Modal.js +0 -270
  152. package/components/Modal.js.map +0 -1
  153. package/components/Tabs.d.ts +0 -108
  154. package/components/Tabs.js +0 -195
  155. package/components/Tabs.js.map +0 -1
  156. package/components/index.d.ts +0 -6
  157. package/components/index.js +0 -7
  158. package/components/index.js.map +0 -1
  159. package/decorators/index.js.map +0 -1
  160. package/decorators/withBreakpointManager.js.map +0 -1
  161. package/decorators/withBreakpointObserver.js.map +0 -1
  162. package/decorators/withDrag.js.map +0 -1
  163. package/decorators/withExtraConfig.js.map +0 -1
  164. package/decorators/withIntersectionObserver.js.map +0 -1
  165. package/decorators/withMountWhenInView.js.map +0 -1
  166. package/full.d.ts +0 -10
  167. package/full.js +0 -12
  168. package/full.js.map +0 -1
  169. package/full.modern.js +0 -7523
  170. package/full.modern.js.map +0 -1
  171. package/full.umd.js +0 -8277
  172. package/full.umd.js.map +0 -1
  173. package/helpers/createApp.js.map +0 -1
  174. package/helpers/createBase.d.ts +0 -7
  175. package/helpers/createBase.js +0 -7
  176. package/helpers/createBase.js.map +0 -1
  177. package/helpers/defineComponent.d.ts +0 -11
  178. package/helpers/defineComponent.js +0 -68
  179. package/helpers/defineComponent.js.map +0 -1
  180. package/helpers/importOnInteraction.js.map +0 -1
  181. package/helpers/importWhenIdle.js.map +0 -1
  182. package/helpers/importWhenVisible.js.map +0 -1
  183. package/helpers/index.js.map +0 -1
  184. package/helpers/utils.js.map +0 -1
  185. package/index.js.map +0 -1
  186. package/index.modern.js.map +0 -1
  187. package/index.umd.js.map +0 -1
  188. package/services/drag.js.map +0 -1
  189. package/services/index.js.map +0 -1
  190. package/services/key.js.map +0 -1
  191. package/services/load.js.map +0 -1
  192. package/services/pointer.js.map +0 -1
  193. package/services/raf.js.map +0 -1
  194. package/services/resize.js.map +0 -1
  195. package/services/scroll.js.map +0 -1
  196. package/utils/collide/boundingRectToCircle.js.map +0 -1
  197. package/utils/collide/collideCircleCircle.js.map +0 -1
  198. package/utils/collide/collideCircleRect.js.map +0 -1
  199. package/utils/collide/collidePointCircle.js.map +0 -1
  200. package/utils/collide/collidePointRect.js.map +0 -1
  201. package/utils/collide/collideRectRect.js.map +0 -1
  202. package/utils/collide/index.js.map +0 -1
  203. package/utils/css/classes.js.map +0 -1
  204. package/utils/css/index.js.map +0 -1
  205. package/utils/css/matrix.js.map +0 -1
  206. package/utils/css/styles.js.map +0 -1
  207. package/utils/css/transition.js.map +0 -1
  208. package/utils/debounce.js.map +0 -1
  209. package/utils/focusTrap.js.map +0 -1
  210. package/utils/history.js.map +0 -1
  211. package/utils/index.js.map +0 -1
  212. package/utils/keyCodes.js.map +0 -1
  213. package/utils/math/clamp.js.map +0 -1
  214. package/utils/math/clamp01.js.map +0 -1
  215. package/utils/math/damp.js.map +0 -1
  216. package/utils/math/index.js.map +0 -1
  217. package/utils/math/inertiaFinalValue.js.map +0 -1
  218. package/utils/math/lerp.js.map +0 -1
  219. package/utils/math/map.js.map +0 -1
  220. package/utils/math/round.js.map +0 -1
  221. package/utils/nextFrame.js.map +0 -1
  222. package/utils/object/autoBind.js.map +0 -1
  223. package/utils/object/getAllProperties.js.map +0 -1
  224. package/utils/object/index.js.map +0 -1
  225. package/utils/object/isObject.js.map +0 -1
  226. package/utils/string/index.js.map +0 -1
  227. package/utils/string/withLeadingCharacters.js.map +0 -1
  228. package/utils/string/withLeadingSlash.js.map +0 -1
  229. package/utils/string/withTrailingCharacters.js.map +0 -1
  230. package/utils/string/withTrailingSlash.js.map +0 -1
  231. package/utils/string/withoutLeadingCharacters.js.map +0 -1
  232. package/utils/string/withoutLeadingCharactersRecursive.js.map +0 -1
  233. package/utils/string/withoutLeadingSlash.js.map +0 -1
  234. package/utils/string/withoutTrailingCharacters.js.map +0 -1
  235. package/utils/string/withoutTrailingCharactersRecursive.js.map +0 -1
  236. package/utils/string/withoutTrailingSlash.js.map +0 -1
  237. 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": "1.7.2",
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"
@@ -18,7 +18,7 @@
18
18
  "type": "module",
19
19
  "sideEffects": false,
20
20
  "unpkg": "./index.umd.js",
21
- "main": "./index.umd.js",
21
+ "main": "./index.js",
22
22
  "module": "./index.js",
23
23
  "keywords": [
24
24
  "js-toolkit",
@@ -29,9 +29,6 @@
29
29
  "types": "index.d.ts",
30
30
  "dependencies": {
31
31
  "@babel/runtime": "^7.15.4",
32
- "deepmerge": "^4.2.2",
33
- "mem": "^9.0.1",
34
- "no-case": "^3.0.4",
35
- "stylefire": "^7.0.3"
32
+ "deepmerge": "^4.2.2"
36
33
  }
37
34
  }
File without changes
@@ -0,0 +1,63 @@
1
+ export default class Service {
2
+ constructor() {
3
+ this.callbacks = new Map();
4
+ this.isInit = false;
5
+ }
6
+
7
+ get props() {
8
+ throw new Error('The `props` getter must be implemented.');
9
+ }
10
+
11
+ init() {
12
+ throw new Error('The `init` method must be implemented.');
13
+ }
14
+
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."));
22
+ }
23
+
24
+ if (this.callbacks.size === 0 && !this.isInit) {
25
+ this.init();
26
+ this.isInit = true;
27
+ }
28
+
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);
43
+
44
+ if (this.callbacks.size === 0 && this.isInit) {
45
+ this.kill();
46
+ this.isInit = false;
47
+ }
48
+
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];
55
+ }
56
+
57
+ this.callbacks.forEach(function forEachCallback(callback) {
58
+ callback(...args);
59
+ });
60
+ return this;
61
+ }
62
+
63
+ }
package/services/drag.js CHANGED
@@ -1,20 +1,10 @@
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
- import Service from '../abstracts/Service.js';
7
+ import Service from './Service.js';
18
8
  import usePointer from './pointer.js';
19
9
  import useRaf from './raf.js';
20
10
  import inertiaFinalValue from '../utils/math/inertiaFinalValue.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 };
package/services/key.js CHANGED
@@ -1,111 +1,72 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
2
 
10
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; }
11
4
 
12
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; }
13
6
 
14
- 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); }; }
15
-
16
- 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; } }
17
-
18
- import Service from '../abstracts/Service.js';
7
+ import Service from './Service.js';
19
8
  import keyCodes from '../utils/keyCodes.js';
20
9
 
21
- var Key = function (_Service) {
22
- _inherits(Key, _Service);
23
-
24
- var _super = _createSuper(Key);
25
-
26
- function Key() {
27
- var _this;
28
-
29
- _classCallCheck(this, Key);
30
-
31
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32
- args[_key] = arguments[_key];
33
- }
34
-
35
- _this = _super.call.apply(_super, [this].concat(args));
36
-
37
- _defineProperty(_assertThisInitialized(_this), "event", {});
10
+ class Key extends Service {
11
+ constructor() {
12
+ super(...arguments);
38
13
 
39
- _defineProperty(_assertThisInitialized(_this), "triggered", 0);
14
+ _defineProperty(this, "event", {});
40
15
 
41
- _defineProperty(_assertThisInitialized(_this), "previousEvent", {});
16
+ _defineProperty(this, "triggered", 0);
42
17
 
43
- return _this;
18
+ _defineProperty(this, "previousEvent", {});
44
19
  }
45
20
 
46
- _createClass(Key, [{
47
- key: "init",
48
- value: function init() {
49
- var _this2 = this;
21
+ init() {
22
+ this.handler = event => {
23
+ this.event = event;
24
+ this.trigger(this.props);
25
+ };
26
+
27
+ document.addEventListener('keydown', this.handler, {
28
+ passive: false
29
+ });
30
+ document.addEventListener('keyup', this.handler, {
31
+ passive: false
32
+ });
33
+ return this;
34
+ }
50
35
 
51
- this.handler = function (event) {
52
- _this2.event = event;
36
+ kill() {
37
+ document.removeEventListener('keydown', this.handler);
38
+ document.removeEventListener('keyup', this.handler);
39
+ return this;
40
+ }
53
41
 
54
- _this2.trigger(_this2.props);
55
- };
42
+ get props() {
43
+ var keys = Object.entries(keyCodes).reduce((acc, _ref) => {
44
+ var [name, code] = _ref;
45
+ acc[name] = code === this.event.keyCode;
46
+ return acc;
47
+ }, {});
56
48
 
57
- document.addEventListener('keydown', this.handler, {
58
- passive: false
59
- });
60
- document.addEventListener('keyup', this.handler, {
61
- passive: false
62
- });
63
- return this;
64
- }
65
- }, {
66
- key: "kill",
67
- value: function kill() {
68
- document.removeEventListener('keydown', this.handler);
69
- document.removeEventListener('keyup', this.handler);
70
- return this;
49
+ if (!this.previousEvent.type) {
50
+ this.triggered = 0;
71
51
  }
72
- }, {
73
- key: "props",
74
- get: function get() {
75
- var _this3 = this;
76
-
77
- var keys = Object.entries(keyCodes).reduce(function (acc, _ref) {
78
- var _ref2 = _slicedToArray(_ref, 2),
79
- name = _ref2[0],
80
- code = _ref2[1];
81
-
82
- acc[name] = code === _this3.event.keyCode;
83
- return acc;
84
- }, {});
85
-
86
- if (!this.previousEvent.type) {
87
- this.triggered = 0;
88
- }
89
-
90
- if (this.event.type === 'keydown' && this.previousEvent.type === 'keydown') {
91
- this.triggered += 1;
92
- } else {
93
- this.triggered = 1;
94
- }
95
-
96
- this.previousEvent = this.event;
97
- return _objectSpread({
98
- event: this.event,
99
- triggered: this.triggered,
100
- direction: this.event.type === 'keydown' ? 'down' : 'up',
101
- isUp: this.event.type === 'keyup',
102
- isDown: this.event.type === 'keydown'
103
- }, keys);
52
+
53
+ if (this.event.type === 'keydown' && this.previousEvent.type === 'keydown') {
54
+ this.triggered += 1;
55
+ } else {
56
+ this.triggered = 1;
104
57
  }
105
- }]);
106
58
 
107
- return Key;
108
- }(Service);
59
+ this.previousEvent = this.event;
60
+ return _objectSpread({
61
+ event: this.event,
62
+ triggered: this.triggered,
63
+ direction: this.event.type === 'keydown' ? 'down' : 'up',
64
+ isUp: this.event.type === 'keyup',
65
+ isDown: this.event.type === 'keydown'
66
+ }, keys);
67
+ }
68
+
69
+ }
109
70
 
110
71
  var key = null;
111
72
  export default function useKey() {
@@ -117,15 +78,12 @@ export default function useKey() {
117
78
  var remove = key.remove.bind(key);
118
79
  var has = key.has.bind(key);
119
80
 
120
- var props = function props() {
121
- return key.props;
122
- };
81
+ var props = () => key.props;
123
82
 
124
83
  return {
125
- add: add,
126
- remove: remove,
127
- has: has,
128
- props: props
84
+ add,
85
+ remove,
86
+ has,
87
+ props
129
88
  };
130
- }
131
- //# sourceMappingURL=key.js.map
89
+ }