@studiometa/js-toolkit 2.0.0-alpha.4 → 2.0.0-alpha.8
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 +29 -47
- package/Base/index.js +19 -14
- package/Base/managers/ChildrenManager.d.ts +6 -6
- package/Base/managers/ChildrenManager.js +1 -2
- package/Base/managers/EventsManager.d.ts +9 -9
- package/Base/managers/EventsManager.js +18 -33
- package/Base/managers/OptionsManager.d.ts +0 -8
- package/Base/managers/OptionsManager.js +1 -6
- package/Base/managers/RefsManager.js +1 -2
- package/Base/managers/ServicesManager.d.ts +14 -3
- package/Base/managers/ServicesManager.js +30 -12
- package/Base/utils.js +1 -2
- package/README.md +12 -70
- package/decorators/index.js +1 -2
- package/decorators/withBreakpointManager.d.ts +4 -4
- package/decorators/withBreakpointManager.js +1 -2
- package/decorators/withBreakpointObserver.d.ts +2 -2
- package/decorators/withBreakpointObserver.js +1 -2
- package/decorators/withDrag.d.ts +3 -3
- package/decorators/withDrag.js +1 -2
- package/decorators/withExtraConfig.d.ts +3 -3
- package/decorators/withExtraConfig.js +1 -2
- package/decorators/withIntersectionObserver.d.ts +2 -2
- package/decorators/withIntersectionObserver.js +1 -11
- package/decorators/withMountWhenInView.d.ts +3 -3
- package/decorators/withMountWhenInView.js +1 -2
- package/helpers/createApp.d.ts +3 -3
- package/helpers/createApp.js +9 -9
- package/helpers/importOnInteraction.d.ts +3 -3
- package/helpers/importOnInteraction.js +1 -2
- package/helpers/importWhenIdle.d.ts +3 -3
- package/helpers/importWhenIdle.js +1 -2
- package/helpers/importWhenVisible.d.ts +3 -3
- package/helpers/importWhenVisible.js +1 -2
- package/helpers/index.js +1 -2
- package/helpers/utils.js +1 -2
- package/index.d.ts +2 -2
- package/index.js +1 -2
- package/index.modern.js +1 -2
- package/index.umd.js +1 -2
- package/package.json +3 -4
- package/services/Service.js +1 -2
- package/services/drag.js +1 -2
- package/services/index.js +1 -2
- package/services/key.js +1 -2
- package/services/load.d.ts +1 -1
- package/services/load.js +2 -3
- package/services/pointer.js +1 -2
- package/services/raf.js +1 -2
- package/services/resize.js +1 -6
- package/services/scroll.js +1 -2
- package/utils/collide/boundingRectToCircle.js +1 -2
- 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 +1 -2
- package/utils/css/index.js +1 -2
- package/utils/css/matrix.js +1 -2
- package/utils/css/styles.js +1 -2
- package/utils/css/transition.js +1 -2
- package/utils/debounce.js +1 -2
- package/utils/focusTrap.js +1 -2
- package/utils/history.js +2 -3
- 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 +1 -2
- package/utils/object/autoBind.js +1 -2
- package/utils/object/getAllProperties.js +1 -2
- package/utils/object/index.js +1 -2
- package/utils/object/isObject.js +1 -2
- 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 +1 -2
- package/Base/index.js.map +0 -1
- package/Base/managers/ChildrenManager.js.map +0 -1
- package/Base/managers/EventsManager.js.map +0 -1
- package/Base/managers/OptionsManager.js.map +0 -1
- package/Base/managers/RefsManager.js.map +0 -1
- package/Base/managers/ServicesManager.js.map +0 -1
- package/Base/utils.js.map +0 -1
- package/components/Accordion/Accordion.d.ts +0 -83
- package/components/Accordion/Accordion.js +0 -58
- package/components/Accordion/Accordion.js.map +0 -1
- package/components/Accordion/AccordionItem.d.ts +0 -122
- package/components/Accordion/AccordionItem.js +0 -244
- package/components/Accordion/AccordionItem.js.map +0 -1
- package/components/Accordion/index.d.ts +0 -27
- package/components/Accordion/index.js +0 -19
- package/components/Accordion/index.js.map +0 -1
- package/components/Cursor.d.ts +0 -138
- package/components/Cursor.js +0 -136
- package/components/Cursor.js.map +0 -1
- package/components/Draggable.d.ts +0 -49
- package/components/Draggable.js +0 -43
- package/components/Draggable.js.map +0 -1
- package/components/Modal.d.ts +0 -158
- package/components/Modal.js +0 -186
- package/components/Modal.js.map +0 -1
- package/components/Tabs.d.ts +0 -108
- package/components/Tabs.js +0 -120
- 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/helpers/createApp.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/Service.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/Base/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @typedef {typeof Base}
|
|
3
|
-
* @typedef {(Base) => Promise<
|
|
2
|
+
* @typedef {typeof Base} BaseConstructor
|
|
3
|
+
* @typedef {(Base) => Promise<BaseConstructor | { default: BaseConstructor }>} BaseAsyncConstructor
|
|
4
4
|
* @typedef {OptionsManager & { [name:string]: any }} BaseOptions
|
|
5
5
|
* @typedef {{ [name:string]: HTMLElement | HTMLElement[] }} BaseRefs
|
|
6
6
|
* @typedef {{ [nameOrSelector:string]: Base[] | Promise<Base>[] }} BaseChildren
|
|
7
|
-
* @typedef {{ [nameOrSelector:string]:
|
|
7
|
+
* @typedef {{ [nameOrSelector:string]: BaseConstructor | BaseAsyncConstructor }} BaseConfigComponents
|
|
8
8
|
* @typedef {import('./managers/OptionsManager').OptionsSchema} BaseConfigOptions
|
|
9
9
|
* @typedef {import('./managers/ServicesManager.js').ServiceName} ServiceName
|
|
10
10
|
*/
|
|
@@ -18,39 +18,15 @@
|
|
|
18
18
|
* @property {BaseConfigOptions} [options]
|
|
19
19
|
*/
|
|
20
20
|
/**
|
|
21
|
-
* Base class
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```js
|
|
25
|
-
* class Component extends Base {
|
|
26
|
-
* static config = {
|
|
27
|
-
* name: 'Component',
|
|
28
|
-
* log: true,
|
|
29
|
-
* };
|
|
30
|
-
*
|
|
31
|
-
* mounted() {
|
|
32
|
-
* this.$log('Component is mounted!');
|
|
33
|
-
* }
|
|
34
|
-
* }
|
|
35
|
-
*
|
|
36
|
-
* class App extends Base {
|
|
37
|
-
* static config = {
|
|
38
|
-
* name: 'App',
|
|
39
|
-
* components: {
|
|
40
|
-
* Component,
|
|
41
|
-
* },
|
|
42
|
-
* };
|
|
43
|
-
* }
|
|
44
|
-
*
|
|
45
|
-
* new App(document.body).$mount();
|
|
46
|
-
* ```
|
|
21
|
+
* Base class.
|
|
47
22
|
*/
|
|
48
23
|
export default class Base {
|
|
49
24
|
/**
|
|
50
25
|
* This is a Base instance.
|
|
51
26
|
* @type {Boolean}
|
|
27
|
+
* @readonly
|
|
52
28
|
*/
|
|
53
|
-
static $isBase: boolean;
|
|
29
|
+
static readonly $isBase: boolean;
|
|
54
30
|
/**
|
|
55
31
|
* @type {BaseConfig}
|
|
56
32
|
*/
|
|
@@ -89,10 +65,10 @@ export default class Base {
|
|
|
89
65
|
*/
|
|
90
66
|
$isMounted: boolean;
|
|
91
67
|
/**
|
|
92
|
-
* Get
|
|
93
|
-
* @return {
|
|
68
|
+
* Get the root instance of the app.
|
|
69
|
+
* @return {Base}
|
|
94
70
|
*/
|
|
95
|
-
get
|
|
71
|
+
get $root(): Base;
|
|
96
72
|
/**
|
|
97
73
|
* Merge configuration with the parents' configurations.
|
|
98
74
|
*
|
|
@@ -102,41 +78,45 @@ export default class Base {
|
|
|
102
78
|
private get __config();
|
|
103
79
|
/**
|
|
104
80
|
* @type {ServicesManager}
|
|
81
|
+
* @private
|
|
105
82
|
*/
|
|
106
|
-
__services
|
|
83
|
+
private __services;
|
|
107
84
|
/**
|
|
108
|
-
* The instance services.
|
|
109
85
|
* @type {ServicesManager}
|
|
110
86
|
*/
|
|
111
87
|
get $services(): ServicesManager;
|
|
112
88
|
/**
|
|
113
89
|
* @type {RefsManager}
|
|
90
|
+
* @private
|
|
114
91
|
*/
|
|
115
|
-
__refs
|
|
92
|
+
private __refs;
|
|
116
93
|
/**
|
|
117
94
|
* @return {RefsManager}
|
|
118
95
|
*/
|
|
119
96
|
get $refs(): RefsManager;
|
|
120
97
|
/**
|
|
121
98
|
* @type {BaseOptions}
|
|
99
|
+
* @private
|
|
122
100
|
*/
|
|
123
|
-
__options
|
|
101
|
+
private __options;
|
|
124
102
|
/**
|
|
125
103
|
* @return {BaseOptions}
|
|
126
104
|
*/
|
|
127
105
|
get $options(): BaseOptions;
|
|
128
106
|
/**
|
|
129
107
|
* @type {ChildrenManager}
|
|
108
|
+
* @private
|
|
130
109
|
*/
|
|
131
|
-
__children
|
|
110
|
+
private __children;
|
|
132
111
|
/**
|
|
133
112
|
* @return {ChildrenManager}
|
|
134
113
|
*/
|
|
135
114
|
get $children(): ChildrenManager;
|
|
136
115
|
/**
|
|
137
116
|
* @type {EventsManager}
|
|
117
|
+
* @private
|
|
138
118
|
*/
|
|
139
|
-
__events
|
|
119
|
+
private __events;
|
|
140
120
|
/**
|
|
141
121
|
* Small helper to log stuff.
|
|
142
122
|
*
|
|
@@ -151,16 +131,19 @@ export default class Base {
|
|
|
151
131
|
get __debug(): (...args: any) => void;
|
|
152
132
|
/**
|
|
153
133
|
* Trigger the `mounted` callback.
|
|
134
|
+
* @return {this}
|
|
154
135
|
*/
|
|
155
|
-
$mount():
|
|
136
|
+
$mount(): this;
|
|
156
137
|
/**
|
|
157
138
|
* Update the instance children.
|
|
139
|
+
* @return {this}
|
|
158
140
|
*/
|
|
159
|
-
$update():
|
|
141
|
+
$update(): this;
|
|
160
142
|
/**
|
|
161
143
|
* Trigger the `destroyed` callback.
|
|
144
|
+
* @return {this}
|
|
162
145
|
*/
|
|
163
|
-
$destroy():
|
|
146
|
+
$destroy(): this;
|
|
164
147
|
/**
|
|
165
148
|
* Terminate a child instance when it is not needed anymore.
|
|
166
149
|
* @return {void}
|
|
@@ -202,9 +185,9 @@ export default class Base {
|
|
|
202
185
|
*/
|
|
203
186
|
$emit(event: string, ...args: any[]): void;
|
|
204
187
|
}
|
|
205
|
-
export type
|
|
206
|
-
export type
|
|
207
|
-
default:
|
|
188
|
+
export type BaseConstructor = typeof Base;
|
|
189
|
+
export type BaseAsyncConstructor = (Base: any) => Promise<BaseConstructor | {
|
|
190
|
+
default: BaseConstructor;
|
|
208
191
|
}>;
|
|
209
192
|
export type BaseOptions = OptionsManager & {
|
|
210
193
|
[name: string]: any;
|
|
@@ -216,7 +199,7 @@ export type BaseChildren = {
|
|
|
216
199
|
[nameOrSelector: string]: Base[] | Promise<Base>[];
|
|
217
200
|
};
|
|
218
201
|
export type BaseConfigComponents = {
|
|
219
|
-
[nameOrSelector: string]: typeof Base |
|
|
202
|
+
[nameOrSelector: string]: typeof Base | BaseAsyncConstructor;
|
|
220
203
|
};
|
|
221
204
|
export type BaseConfigOptions = import('./managers/OptionsManager').OptionsSchema;
|
|
222
205
|
export type ServiceName = import('./managers/ServicesManager.js').ServiceName;
|
|
@@ -231,5 +214,4 @@ export type BaseConfig = {
|
|
|
231
214
|
import ServicesManager from "./managers/ServicesManager.js";
|
|
232
215
|
import RefsManager from "./managers/RefsManager.js";
|
|
233
216
|
import ChildrenManager from "./managers/ChildrenManager.js";
|
|
234
|
-
import EventsManager from "./managers/EventsManager.js";
|
|
235
217
|
import OptionsManager from "./managers/OptionsManager.js";
|
package/Base/index.js
CHANGED
|
@@ -4,7 +4,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
4
4
|
|
|
5
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; }
|
|
6
6
|
|
|
7
|
-
import autoBind from '../utils/object/autoBind.js';
|
|
8
7
|
import { callMethod, getComponentElements } from './utils.js';
|
|
9
8
|
import ChildrenManager from './managers/ChildrenManager.js';
|
|
10
9
|
import RefsManager from './managers/RefsManager.js';
|
|
@@ -13,11 +12,26 @@ import EventsManager from './managers/EventsManager.js';
|
|
|
13
12
|
import OptionsManager from './managers/OptionsManager.js';
|
|
14
13
|
var id = 0;
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
function noop() {}
|
|
17
16
|
|
|
18
17
|
export default class Base {
|
|
19
|
-
get
|
|
20
|
-
|
|
18
|
+
get $root() {
|
|
19
|
+
if (!this.$parent) {
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var parent = this.$parent;
|
|
24
|
+
var root = this.$parent;
|
|
25
|
+
|
|
26
|
+
while (parent) {
|
|
27
|
+
if (!parent.$parent) {
|
|
28
|
+
root = parent;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
parent = parent.$parent;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return root;
|
|
21
35
|
}
|
|
22
36
|
|
|
23
37
|
get __config() {
|
|
@@ -58,13 +72,8 @@ export default class Base {
|
|
|
58
72
|
}
|
|
59
73
|
|
|
60
74
|
get $children() {
|
|
61
|
-
this.__debug('before:getChildren', this.$el, this.__config.components);
|
|
62
|
-
|
|
63
75
|
var children = this.__children;
|
|
64
76
|
this.$emit('get:children', children);
|
|
65
|
-
|
|
66
|
-
this.__debug(this, 'after:getChildren', children);
|
|
67
|
-
|
|
68
77
|
return children;
|
|
69
78
|
}
|
|
70
79
|
|
|
@@ -127,9 +136,6 @@ export default class Base {
|
|
|
127
136
|
this.__events = new EventsManager(element, this);
|
|
128
137
|
this.__children = new ChildrenManager(this, element, __config.components || {}, this.__events);
|
|
129
138
|
this.__refs = new RefsManager(this, element, __config.refs || [], this.__events);
|
|
130
|
-
autoBind(this, {
|
|
131
|
-
exclude: [...this.__excludeFromAutoBind]
|
|
132
|
-
});
|
|
133
139
|
|
|
134
140
|
this.__debug('constructor', this);
|
|
135
141
|
|
|
@@ -228,5 +234,4 @@ export default class Base {
|
|
|
228
234
|
|
|
229
235
|
_defineProperty(Base, "$isBase", true);
|
|
230
236
|
|
|
231
|
-
_defineProperty(Base, "config", void 0);
|
|
232
|
-
//# sourceMappingURL=index.js.map
|
|
237
|
+
_defineProperty(Base, "config", void 0);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @typedef {import('../index.js').default} Base
|
|
3
|
-
* @typedef {import('../index.js').
|
|
4
|
-
* @typedef {import('../index.js').
|
|
3
|
+
* @typedef {import('../index.js').BaseConstructor} BaseConstructor
|
|
4
|
+
* @typedef {import('../index.js').BaseAsyncConstructor} BaseAsyncConstructor
|
|
5
5
|
* @typedef {import('../index.js').BaseConfigComponents} BaseConfigComponents
|
|
6
6
|
* @typedef {import('./EventsManager.js').default} EventsManager
|
|
7
7
|
*/
|
|
@@ -53,7 +53,7 @@ export default class ChildrenManager {
|
|
|
53
53
|
*
|
|
54
54
|
* @param {string} name
|
|
55
55
|
* The name of the child component.
|
|
56
|
-
* @param {
|
|
56
|
+
* @param {BaseConstructor|BaseAsyncConstructor} component
|
|
57
57
|
* A Base class or a Promise for async components.
|
|
58
58
|
* @private
|
|
59
59
|
*/
|
|
@@ -63,7 +63,7 @@ export default class ChildrenManager {
|
|
|
63
63
|
*
|
|
64
64
|
* @param {HTMLElement & { __base__?: Base | 'terminated' }} el
|
|
65
65
|
* The root element of the child component.
|
|
66
|
-
* @param {
|
|
66
|
+
* @param {BaseConstructor|BaseAsyncConstructor} ComponentClass
|
|
67
67
|
* A Base class or a Promise for async components.
|
|
68
68
|
* @param {string} name
|
|
69
69
|
* The name of the child component.
|
|
@@ -102,7 +102,7 @@ export default class ChildrenManager {
|
|
|
102
102
|
private __triggerHook;
|
|
103
103
|
}
|
|
104
104
|
export type Base = import('../index.js').default;
|
|
105
|
-
export type
|
|
106
|
-
export type
|
|
105
|
+
export type BaseConstructor = import('../index.js').BaseConstructor;
|
|
106
|
+
export type BaseAsyncConstructor = import('../index.js').BaseAsyncConstructor;
|
|
107
107
|
export type BaseConfigComponents = import('../index.js').BaseConfigComponents;
|
|
108
108
|
export type EventsManager = import('./EventsManager.js').default;
|
|
@@ -10,15 +10,15 @@ export default class EventsManager {
|
|
|
10
10
|
* Normalize the given name to PascalCase, such as:
|
|
11
11
|
*
|
|
12
12
|
* ```
|
|
13
|
-
* sentence case
|
|
14
|
-
* lowercase
|
|
15
|
-
* UPPERCASE
|
|
16
|
-
* kebab-case
|
|
17
|
-
* snake_case
|
|
18
|
-
* camelCase
|
|
19
|
-
* PascalCase
|
|
20
|
-
* .class-selector
|
|
21
|
-
* .bem__selector
|
|
13
|
+
* sentence case => SentenceCase
|
|
14
|
+
* lowercase => Lowercase
|
|
15
|
+
* UPPERCASE => Uppercase
|
|
16
|
+
* kebab-case => KebabCase
|
|
17
|
+
* snake_case => SnakeCase
|
|
18
|
+
* camelCase => CamelCase
|
|
19
|
+
* PascalCase => PascalCase
|
|
20
|
+
* .class-selector => ClassSelector
|
|
21
|
+
* .bem__selector => BemSelector
|
|
22
22
|
* __id-selector => IdSelector
|
|
23
23
|
* .complex[class^ ="__"] => ComplexClass
|
|
24
24
|
* ```
|
|
@@ -7,16 +7,14 @@ export default class EventsManager {
|
|
|
7
7
|
|
|
8
8
|
_defineProperty(this, "__base", void 0);
|
|
9
9
|
|
|
10
|
-
_defineProperty(this, "__methodsCache", new
|
|
10
|
+
_defineProperty(this, "__methodsCache", new Map());
|
|
11
11
|
|
|
12
12
|
_defineProperty(this, "__rootElementHandler", {
|
|
13
13
|
handleEvent: event => {
|
|
14
14
|
var normalizedEventName = EventsManager.normalizeName(event.type);
|
|
15
15
|
var method = "on".concat(normalizedEventName);
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
this.__base[method](event);
|
|
19
|
-
}
|
|
17
|
+
this.__base[method](event);
|
|
20
18
|
}
|
|
21
19
|
});
|
|
22
20
|
|
|
@@ -27,16 +25,13 @@ export default class EventsManager {
|
|
|
27
25
|
var normalizedRefName = EventsManager.normalizeName(refName);
|
|
28
26
|
var normalizedEventName = EventsManager.normalizeName(event.type);
|
|
29
27
|
var method = "on".concat(normalizedRefName).concat(normalizedEventName);
|
|
28
|
+
var index = 0;
|
|
30
29
|
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (Array.isArray(this.__base.$refs[refName])) {
|
|
35
|
-
index = this.__base.$refs[refName].indexOf(ref);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
this.__base[method](event, index);
|
|
30
|
+
if (Array.isArray(this.__base.$refs[refName])) {
|
|
31
|
+
index = this.__base.$refs[refName].indexOf(ref);
|
|
39
32
|
}
|
|
33
|
+
|
|
34
|
+
this.__base[method](event, index);
|
|
40
35
|
}
|
|
41
36
|
});
|
|
42
37
|
|
|
@@ -58,14 +53,9 @@ export default class EventsManager {
|
|
|
58
53
|
var normalizedRefName = EventsManager.normalizeName(childName);
|
|
59
54
|
var normalizedEventName = EventsManager.normalizeName(event.type);
|
|
60
55
|
var method = "on".concat(normalizedRefName).concat(normalizedEventName);
|
|
56
|
+
var args = Array.isArray(event.detail) ? event.detail : [];
|
|
61
57
|
|
|
62
|
-
|
|
63
|
-
var _event$detail;
|
|
64
|
-
|
|
65
|
-
var args = (_event$detail = event.detail) !== null && _event$detail !== void 0 ? _event$detail : [];
|
|
66
|
-
|
|
67
|
-
this.__base[method](...args, index, event);
|
|
68
|
-
}
|
|
58
|
+
this.__base[method](...args, index, event);
|
|
69
59
|
}
|
|
70
60
|
});
|
|
71
61
|
|
|
@@ -148,24 +138,20 @@ export default class EventsManager {
|
|
|
148
138
|
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
149
139
|
var normalizedName = EventsManager.normalizeName(name);
|
|
150
140
|
var regex = new RegExp("^on".concat(normalizedName, "[A-Z].*$"));
|
|
141
|
+
var key = regex.toString();
|
|
151
142
|
|
|
152
|
-
var methods = this.__methodsCache.get(
|
|
143
|
+
var methods = this.__methodsCache.get(key);
|
|
153
144
|
|
|
154
145
|
if (!methods) {
|
|
155
|
-
methods = getAllProperties(this.__base, [], method => regex.test(method))
|
|
146
|
+
methods = Array.from(getAllProperties(this.__base, [], method => regex.test(method)).reduce((set, _ref) => {
|
|
147
|
+
var [method] = _ref;
|
|
148
|
+
return set.add(method);
|
|
149
|
+
}, new Set()));
|
|
156
150
|
|
|
157
|
-
this.__methodsCache.set(
|
|
151
|
+
this.__methodsCache.set(key, methods);
|
|
158
152
|
}
|
|
159
153
|
|
|
160
|
-
return methods
|
|
161
|
-
var [method] = _ref;
|
|
162
|
-
|
|
163
|
-
if (!acc.includes(method)) {
|
|
164
|
-
acc.push(method);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
return acc;
|
|
168
|
-
}, []);
|
|
154
|
+
return methods;
|
|
169
155
|
}
|
|
170
156
|
|
|
171
157
|
static normalizeName(name) {
|
|
@@ -176,5 +162,4 @@ export default class EventsManager {
|
|
|
176
162
|
return name.replace(/[A-Z]/g, c => "-".concat(c.toLowerCase())).replace(/^-/, '');
|
|
177
163
|
}
|
|
178
164
|
|
|
179
|
-
}
|
|
180
|
-
//# sourceMappingURL=EventsManager.js.map
|
|
165
|
+
}
|
|
@@ -31,14 +31,6 @@ export default class OptionsManager {
|
|
|
31
31
|
* @private
|
|
32
32
|
*/
|
|
33
33
|
private static __getPropertyName;
|
|
34
|
-
/**
|
|
35
|
-
* Test if a value is primitive
|
|
36
|
-
*
|
|
37
|
-
* @param {any} value
|
|
38
|
-
* @return {boolean}
|
|
39
|
-
* @private
|
|
40
|
-
*/
|
|
41
|
-
private static __isPrimitive;
|
|
42
34
|
/**
|
|
43
35
|
* Class constructor.
|
|
44
36
|
*
|
|
@@ -157,13 +157,8 @@ export default class OptionsManager {
|
|
|
157
157
|
return propertyName;
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
static __isPrimitive(value) {
|
|
161
|
-
return typeof value === 'string' || typeof value === 'number' || typeof value === 'symbol' || typeof value === 'boolean';
|
|
162
|
-
}
|
|
163
|
-
|
|
164
160
|
}
|
|
165
161
|
|
|
166
162
|
_defineProperty(OptionsManager, "types", [String, Number, Boolean, Array, Object]);
|
|
167
163
|
|
|
168
|
-
_defineProperty(OptionsManager, "__propertyNameCache", new Map());
|
|
169
|
-
//# sourceMappingURL=OptionsManager.js.map
|
|
164
|
+
_defineProperty(OptionsManager, "__propertyNameCache", new Map());
|
|
@@ -15,6 +15,14 @@ export default class ServicesManager {
|
|
|
15
15
|
* @private
|
|
16
16
|
*/
|
|
17
17
|
private __base;
|
|
18
|
+
/**
|
|
19
|
+
* @type {Record<string, () => ServiceInterface>}
|
|
20
|
+
*/
|
|
21
|
+
__customServices: Record<string, () => ServiceInterface>;
|
|
22
|
+
/**
|
|
23
|
+
* @return {Record<string, () => ServiceInterface>}
|
|
24
|
+
*/
|
|
25
|
+
get __services(): Record<string, () => ServiceInterface>;
|
|
18
26
|
/**
|
|
19
27
|
* Test if the given service is registered.
|
|
20
28
|
*
|
|
@@ -51,14 +59,17 @@ export default class ServicesManager {
|
|
|
51
59
|
/**
|
|
52
60
|
* Register a new service to be enabled/disabled.
|
|
53
61
|
*
|
|
54
|
-
* @param {string}
|
|
55
|
-
*
|
|
62
|
+
* @param {string} name
|
|
63
|
+
* The name of the service hook.
|
|
64
|
+
* @param {() => ServiceInterface} useFunction
|
|
65
|
+
* The `use...` function for the service.
|
|
56
66
|
*/
|
|
57
67
|
register(name: string, useFunction: () => ServiceInterface): void;
|
|
58
68
|
/**
|
|
59
69
|
* Unregister a new service to be enabled disabled.
|
|
60
70
|
*
|
|
61
|
-
* @param {string} name
|
|
71
|
+
* @param {string} name
|
|
72
|
+
* The name of the service hook.
|
|
62
73
|
*/
|
|
63
74
|
unregister(name: string): void;
|
|
64
75
|
}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
|
|
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; }
|
|
4
|
+
|
|
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; }
|
|
6
|
+
|
|
2
7
|
import usePointer from '../../services/pointer.js';
|
|
3
8
|
import useRaf from '../../services/raf.js';
|
|
4
9
|
import useResize from '../../services/resize.js';
|
|
@@ -14,21 +19,29 @@ var SERVICES_MAP = {
|
|
|
14
19
|
keyed: useKey,
|
|
15
20
|
loaded: useLoad
|
|
16
21
|
};
|
|
22
|
+
var SERVICE_NAMES = Object.keys(SERVICES_MAP);
|
|
17
23
|
export default class ServicesManager {
|
|
24
|
+
get __services() {
|
|
25
|
+
return _objectSpread(_objectSpread({}, this.__customServices), SERVICES_MAP);
|
|
26
|
+
}
|
|
27
|
+
|
|
18
28
|
constructor(instance) {
|
|
19
29
|
_defineProperty(this, "__base", void 0);
|
|
20
30
|
|
|
31
|
+
_defineProperty(this, "__customServices", {});
|
|
32
|
+
|
|
21
33
|
this.__base = instance;
|
|
22
34
|
}
|
|
23
35
|
|
|
24
36
|
has(service) {
|
|
25
|
-
if (!hasMethod(this.__base, service) && !
|
|
37
|
+
if (!hasMethod(this.__base, service) && !this.__services[service]) {
|
|
26
38
|
return false;
|
|
27
39
|
}
|
|
28
40
|
|
|
29
41
|
var {
|
|
30
42
|
has
|
|
31
|
-
} =
|
|
43
|
+
} = this.__services[service]();
|
|
44
|
+
|
|
32
45
|
return has(this.__base.$id);
|
|
33
46
|
}
|
|
34
47
|
|
|
@@ -37,13 +50,14 @@ export default class ServicesManager {
|
|
|
37
50
|
return this.disable.bind(this, service);
|
|
38
51
|
}
|
|
39
52
|
|
|
40
|
-
if (!hasMethod(this.__base, service) || !
|
|
53
|
+
if (!hasMethod(this.__base, service) || !this.__services[service]) {
|
|
41
54
|
return function noop() {};
|
|
42
55
|
}
|
|
43
56
|
|
|
44
57
|
var {
|
|
45
58
|
add
|
|
46
|
-
} =
|
|
59
|
+
} = this.__services[service]();
|
|
60
|
+
|
|
47
61
|
var self = this;
|
|
48
62
|
|
|
49
63
|
function serviceHandler() {
|
|
@@ -59,33 +73,37 @@ export default class ServicesManager {
|
|
|
59
73
|
}
|
|
60
74
|
|
|
61
75
|
enableAll() {
|
|
62
|
-
return Object.keys(
|
|
76
|
+
return Object.keys(this.__services).map(serviceName => this.enable(serviceName));
|
|
63
77
|
}
|
|
64
78
|
|
|
65
79
|
disableAll() {
|
|
66
|
-
Object.keys(
|
|
80
|
+
Object.keys(this.__services).forEach(serviceName => {
|
|
67
81
|
this.disable(serviceName);
|
|
68
82
|
});
|
|
69
83
|
}
|
|
70
84
|
|
|
71
85
|
disable(service) {
|
|
72
|
-
if (!
|
|
86
|
+
if (!this.__services[service]) {
|
|
73
87
|
return;
|
|
74
88
|
}
|
|
75
89
|
|
|
76
90
|
var {
|
|
77
91
|
remove
|
|
78
|
-
} =
|
|
92
|
+
} = this.__services[service]();
|
|
93
|
+
|
|
79
94
|
remove(this.__base.$id);
|
|
80
95
|
}
|
|
81
96
|
|
|
82
97
|
register(name, useFunction) {
|
|
83
|
-
|
|
98
|
+
this.__customServices[name] = useFunction;
|
|
84
99
|
}
|
|
85
100
|
|
|
86
101
|
unregister(name) {
|
|
87
|
-
|
|
102
|
+
if (SERVICE_NAMES.includes(name)) {
|
|
103
|
+
throw new Error("[ServicesManager] The `".concat(name, "` core service can not be unregistered."));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
delete this.__customServices[name];
|
|
88
107
|
}
|
|
89
108
|
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=ServicesManager.js.map
|
|
109
|
+
}
|
package/Base/utils.js
CHANGED