@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.
- package/Base/index.d.ts +217 -0
- package/Base/index.js +237 -0
- package/Base/managers/ChildrenManager.d.ts +108 -0
- package/Base/managers/ChildrenManager.js +124 -0
- package/Base/managers/EventsManager.d.ts +190 -0
- package/Base/managers/EventsManager.js +195 -0
- package/Base/managers/OptionsManager.d.ts +120 -0
- package/Base/managers/OptionsManager.js +180 -0
- package/Base/managers/RefsManager.d.ts +84 -0
- package/Base/managers/RefsManager.js +83 -0
- package/{abstracts/Base/classes/Services.d.ts → Base/managers/ServicesManager.d.ts} +22 -7
- package/Base/managers/ServicesManager.js +115 -0
- package/{abstracts/Base → Base}/utils.d.ts +0 -30
- package/Base/utils.js +43 -0
- package/README.md +12 -70
- package/decorators/index.js +1 -2
- package/decorators/withBreakpointManager.d.ts +5 -5
- package/decorators/withBreakpointManager.js +41 -79
- package/decorators/withBreakpointObserver.d.ts +4 -4
- package/decorators/withBreakpointObserver.js +54 -77
- package/decorators/withDrag.d.ts +6 -6
- package/decorators/withDrag.js +17 -41
- package/decorators/withExtraConfig.d.ts +6 -6
- package/decorators/withExtraConfig.js +2 -24
- package/decorators/withIntersectionObserver.d.ts +4 -4
- package/decorators/withIntersectionObserver.js +17 -60
- package/decorators/withMountWhenInView.d.ts +8 -8
- package/decorators/withMountWhenInView.js +23 -51
- package/helpers/createApp.d.ts +4 -4
- package/helpers/createApp.js +10 -12
- package/helpers/importOnInteraction.d.ts +6 -6
- package/helpers/importOnInteraction.js +7 -8
- package/helpers/importWhenIdle.d.ts +4 -4
- package/helpers/importWhenIdle.js +7 -8
- package/helpers/importWhenVisible.d.ts +6 -6
- package/helpers/importWhenVisible.js +9 -16
- package/helpers/index.d.ts +1 -3
- package/helpers/index.js +1 -4
- package/helpers/utils.js +2 -3
- package/index.d.ts +19 -5
- package/index.js +5 -6
- package/index.modern.js +1 -3230
- package/index.umd.js +1 -3586
- package/package.json +3 -6
- package/{abstracts → services}/Service.d.ts +0 -0
- package/services/Service.js +63 -0
- package/services/drag.js +144 -180
- package/services/index.js +1 -2
- package/services/key.js +56 -98
- package/services/load.d.ts +1 -1
- package/services/load.js +22 -51
- package/services/pointer.js +118 -157
- package/services/raf.js +37 -65
- package/services/resize.js +46 -98
- package/services/scroll.js +81 -120
- package/utils/collide/boundingRectToCircle.js +7 -6
- package/utils/collide/collideCircleCircle.js +1 -2
- package/utils/collide/collideCircleRect.js +1 -2
- package/utils/collide/collidePointCircle.js +1 -2
- package/utils/collide/collidePointRect.js +1 -2
- package/utils/collide/collideRectRect.js +1 -2
- package/utils/collide/index.js +1 -2
- package/utils/css/classes.js +2 -3
- package/utils/css/index.js +1 -2
- package/utils/css/matrix.js +1 -2
- package/utils/css/styles.js +3 -8
- package/utils/css/transition.js +67 -140
- package/utils/debounce.js +3 -4
- package/utils/focusTrap.js +4 -5
- package/utils/history.js +12 -19
- package/utils/index.d.ts +2 -1
- package/utils/index.js +2 -2
- package/utils/keyCodes.js +1 -2
- package/utils/math/clamp.js +1 -2
- package/utils/math/clamp01.js +1 -2
- package/utils/math/damp.js +1 -2
- package/utils/math/index.js +1 -2
- package/utils/math/inertiaFinalValue.js +1 -2
- package/utils/math/lerp.js +1 -2
- package/utils/math/map.js +1 -2
- package/utils/math/round.js +1 -2
- package/utils/memoize.d.ts +30 -0
- package/utils/memoize.js +30 -0
- package/utils/nextFrame.js +4 -9
- package/utils/object/autoBind.js +11 -19
- package/utils/object/getAllProperties.d.ts +6 -3
- package/utils/object/getAllProperties.js +10 -8
- package/utils/object/index.js +1 -2
- package/utils/object/isObject.js +2 -4
- package/utils/string/index.js +1 -2
- package/utils/string/withLeadingCharacters.js +1 -2
- package/utils/string/withLeadingSlash.js +1 -2
- package/utils/string/withTrailingCharacters.js +1 -2
- package/utils/string/withTrailingSlash.js +1 -2
- package/utils/string/withoutLeadingCharacters.js +1 -2
- package/utils/string/withoutLeadingCharactersRecursive.js +1 -2
- package/utils/string/withoutLeadingSlash.js +1 -2
- package/utils/string/withoutTrailingCharacters.js +1 -2
- package/utils/string/withoutTrailingCharactersRecursive.js +1 -2
- package/utils/string/withoutTrailingSlash.js +1 -2
- package/utils/throttle.js +2 -3
- package/abstracts/Base/children.d.ts +0 -16
- package/abstracts/Base/children.js +0 -66
- package/abstracts/Base/children.js.map +0 -1
- package/abstracts/Base/classes/Options.d.ts +0 -37
- package/abstracts/Base/classes/Options.js +0 -182
- package/abstracts/Base/classes/Options.js.map +0 -1
- package/abstracts/Base/classes/Services.js +0 -120
- package/abstracts/Base/classes/Services.js.map +0 -1
- package/abstracts/Base/components.d.ts +0 -22
- package/abstracts/Base/components.js +0 -67
- package/abstracts/Base/components.js.map +0 -1
- package/abstracts/Base/events.d.ts +0 -8
- package/abstracts/Base/events.js +0 -185
- package/abstracts/Base/events.js.map +0 -1
- package/abstracts/Base/index.d.ts +0 -176
- package/abstracts/Base/index.js +0 -215
- package/abstracts/Base/index.js.map +0 -1
- package/abstracts/Base/options.d.ts +0 -17
- package/abstracts/Base/options.js +0 -112
- package/abstracts/Base/options.js.map +0 -1
- package/abstracts/Base/refs.d.ts +0 -30
- package/abstracts/Base/refs.js +0 -60
- package/abstracts/Base/refs.js.map +0 -1
- package/abstracts/Base/utils.js +0 -102
- package/abstracts/Base/utils.js.map +0 -1
- package/abstracts/EventManager.d.ts +0 -41
- package/abstracts/EventManager.js +0 -88
- package/abstracts/EventManager.js.map +0 -1
- package/abstracts/Service.js +0 -82
- package/abstracts/Service.js.map +0 -1
- package/abstracts/index.d.ts +0 -4
- package/abstracts/index.js +0 -5
- package/abstracts/index.js.map +0 -1
- package/components/Accordion/Accordion.d.ts +0 -83
- package/components/Accordion/Accordion.js +0 -121
- package/components/Accordion/Accordion.js.map +0 -1
- package/components/Accordion/AccordionItem.d.ts +0 -122
- package/components/Accordion/AccordionItem.js +0 -327
- package/components/Accordion/AccordionItem.js.map +0 -1
- package/components/Accordion/index.d.ts +0 -27
- package/components/Accordion/index.js +0 -39
- package/components/Accordion/index.js.map +0 -1
- package/components/Cursor.d.ts +0 -138
- package/components/Cursor.js +0 -167
- package/components/Cursor.js.map +0 -1
- package/components/Draggable.d.ts +0 -49
- package/components/Draggable.js +0 -77
- package/components/Draggable.js.map +0 -1
- package/components/Modal.d.ts +0 -158
- package/components/Modal.js +0 -270
- package/components/Modal.js.map +0 -1
- package/components/Tabs.d.ts +0 -108
- package/components/Tabs.js +0 -195
- package/components/Tabs.js.map +0 -1
- package/components/index.d.ts +0 -6
- package/components/index.js +0 -7
- package/components/index.js.map +0 -1
- package/decorators/index.js.map +0 -1
- package/decorators/withBreakpointManager.js.map +0 -1
- package/decorators/withBreakpointObserver.js.map +0 -1
- package/decorators/withDrag.js.map +0 -1
- package/decorators/withExtraConfig.js.map +0 -1
- package/decorators/withIntersectionObserver.js.map +0 -1
- package/decorators/withMountWhenInView.js.map +0 -1
- package/full.d.ts +0 -10
- package/full.js +0 -12
- package/full.js.map +0 -1
- package/full.modern.js +0 -7523
- package/full.modern.js.map +0 -1
- package/full.umd.js +0 -8277
- package/full.umd.js.map +0 -1
- package/helpers/createApp.js.map +0 -1
- package/helpers/createBase.d.ts +0 -7
- package/helpers/createBase.js +0 -7
- package/helpers/createBase.js.map +0 -1
- package/helpers/defineComponent.d.ts +0 -11
- package/helpers/defineComponent.js +0 -68
- package/helpers/defineComponent.js.map +0 -1
- package/helpers/importOnInteraction.js.map +0 -1
- package/helpers/importWhenIdle.js.map +0 -1
- package/helpers/importWhenVisible.js.map +0 -1
- package/helpers/index.js.map +0 -1
- package/helpers/utils.js.map +0 -1
- package/index.js.map +0 -1
- package/index.modern.js.map +0 -1
- package/index.umd.js.map +0 -1
- package/services/drag.js.map +0 -1
- package/services/index.js.map +0 -1
- package/services/key.js.map +0 -1
- package/services/load.js.map +0 -1
- package/services/pointer.js.map +0 -1
- package/services/raf.js.map +0 -1
- package/services/resize.js.map +0 -1
- package/services/scroll.js.map +0 -1
- package/utils/collide/boundingRectToCircle.js.map +0 -1
- package/utils/collide/collideCircleCircle.js.map +0 -1
- package/utils/collide/collideCircleRect.js.map +0 -1
- package/utils/collide/collidePointCircle.js.map +0 -1
- package/utils/collide/collidePointRect.js.map +0 -1
- package/utils/collide/collideRectRect.js.map +0 -1
- package/utils/collide/index.js.map +0 -1
- package/utils/css/classes.js.map +0 -1
- package/utils/css/index.js.map +0 -1
- package/utils/css/matrix.js.map +0 -1
- package/utils/css/styles.js.map +0 -1
- package/utils/css/transition.js.map +0 -1
- package/utils/debounce.js.map +0 -1
- package/utils/focusTrap.js.map +0 -1
- package/utils/history.js.map +0 -1
- package/utils/index.js.map +0 -1
- package/utils/keyCodes.js.map +0 -1
- package/utils/math/clamp.js.map +0 -1
- package/utils/math/clamp01.js.map +0 -1
- package/utils/math/damp.js.map +0 -1
- package/utils/math/index.js.map +0 -1
- package/utils/math/inertiaFinalValue.js.map +0 -1
- package/utils/math/lerp.js.map +0 -1
- package/utils/math/map.js.map +0 -1
- package/utils/math/round.js.map +0 -1
- package/utils/nextFrame.js.map +0 -1
- package/utils/object/autoBind.js.map +0 -1
- package/utils/object/getAllProperties.js.map +0 -1
- package/utils/object/index.js.map +0 -1
- package/utils/object/isObject.js.map +0 -1
- package/utils/string/index.js.map +0 -1
- package/utils/string/withLeadingCharacters.js.map +0 -1
- package/utils/string/withLeadingSlash.js.map +0 -1
- package/utils/string/withTrailingCharacters.js.map +0 -1
- package/utils/string/withTrailingSlash.js.map +0 -1
- package/utils/string/withoutLeadingCharacters.js.map +0 -1
- package/utils/string/withoutLeadingCharactersRecursive.js.map +0 -1
- package/utils/string/withoutLeadingSlash.js.map +0 -1
- package/utils/string/withoutTrailingCharacters.js.map +0 -1
- package/utils/string/withoutTrailingCharactersRecursive.js.map +0 -1
- package/utils/string/withoutTrailingSlash.js.map +0 -1
- 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": "
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
31
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
_this = _super.call(this);
|
|
25
|
+
_defineProperty(this, "id", void 0);
|
|
43
26
|
|
|
44
|
-
_defineProperty(
|
|
27
|
+
_defineProperty(this, "target", void 0);
|
|
45
28
|
|
|
46
|
-
_defineProperty(
|
|
29
|
+
_defineProperty(this, "mode", void 0);
|
|
47
30
|
|
|
48
|
-
_defineProperty(
|
|
31
|
+
_defineProperty(this, "isGrabbing", false);
|
|
49
32
|
|
|
50
|
-
_defineProperty(
|
|
33
|
+
_defineProperty(this, "hasInertia", false);
|
|
51
34
|
|
|
52
|
-
_defineProperty(
|
|
35
|
+
_defineProperty(this, "x", 0);
|
|
53
36
|
|
|
54
|
-
_defineProperty(
|
|
37
|
+
_defineProperty(this, "y", 0);
|
|
55
38
|
|
|
56
|
-
_defineProperty(
|
|
57
|
-
|
|
58
|
-
_defineProperty(_assertThisInitialized(_this), "delta", {
|
|
39
|
+
_defineProperty(this, "delta", {
|
|
59
40
|
x: 0,
|
|
60
41
|
y: 0
|
|
61
42
|
});
|
|
62
43
|
|
|
63
|
-
_defineProperty(
|
|
44
|
+
_defineProperty(this, "origin", {
|
|
64
45
|
x: 0,
|
|
65
46
|
y: 0
|
|
66
47
|
});
|
|
67
48
|
|
|
68
|
-
_defineProperty(
|
|
49
|
+
_defineProperty(this, "distance", {
|
|
69
50
|
x: 0,
|
|
70
51
|
y: 0
|
|
71
52
|
});
|
|
72
53
|
|
|
73
|
-
_defineProperty(
|
|
54
|
+
_defineProperty(this, "final", {
|
|
74
55
|
x: 0,
|
|
75
56
|
y: 0
|
|
76
57
|
});
|
|
77
58
|
|
|
78
|
-
_defineProperty(
|
|
59
|
+
_defineProperty(this, "options", {
|
|
79
60
|
factor: 0.85
|
|
80
61
|
});
|
|
81
62
|
|
|
82
63
|
instanceIds += 1;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return
|
|
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
|
-
|
|
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
|
-
this.
|
|
142
|
-
this.
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
this.
|
|
158
|
-
this.
|
|
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
|
-
|
|
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
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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
|
-
|
|
226
|
-
|
|
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 =
|
|
242
|
-
return drag.props;
|
|
243
|
-
};
|
|
208
|
+
var props = () => drag.props;
|
|
244
209
|
|
|
245
210
|
return {
|
|
246
|
-
add
|
|
247
|
-
remove
|
|
248
|
-
has
|
|
249
|
-
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
|
-
|
|
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
|
-
|
|
22
|
-
|
|
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(
|
|
14
|
+
_defineProperty(this, "event", {});
|
|
40
15
|
|
|
41
|
-
_defineProperty(
|
|
16
|
+
_defineProperty(this, "triggered", 0);
|
|
42
17
|
|
|
43
|
-
|
|
18
|
+
_defineProperty(this, "previousEvent", {});
|
|
44
19
|
}
|
|
45
20
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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
|
-
|
|
52
|
-
|
|
36
|
+
kill() {
|
|
37
|
+
document.removeEventListener('keydown', this.handler);
|
|
38
|
+
document.removeEventListener('keyup', this.handler);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
53
41
|
|
|
54
|
-
|
|
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
|
-
|
|
58
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
108
|
-
|
|
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 =
|
|
121
|
-
return key.props;
|
|
122
|
-
};
|
|
81
|
+
var props = () => key.props;
|
|
123
82
|
|
|
124
83
|
return {
|
|
125
|
-
add
|
|
126
|
-
remove
|
|
127
|
-
has
|
|
128
|
-
props
|
|
84
|
+
add,
|
|
85
|
+
remove,
|
|
86
|
+
has,
|
|
87
|
+
props
|
|
129
88
|
};
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=key.js.map
|
|
89
|
+
}
|