@studiometa/js-toolkit 2.0.0-beta.9 → 2.0.0
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.cjs +284 -0
- package/Base/index.d.ts +36 -28
- package/Base/index.js +113 -197
- package/Base/managers/ChildrenManager.cjs +146 -0
- package/Base/managers/ChildrenManager.d.ts +11 -3
- package/Base/managers/ChildrenManager.js +60 -59
- package/Base/managers/EventsManager.cjs +183 -0
- package/Base/managers/EventsManager.d.ts +13 -20
- package/Base/managers/EventsManager.js +72 -112
- package/Base/managers/OptionsManager.cjs +173 -0
- package/Base/managers/OptionsManager.d.ts +20 -13
- package/Base/managers/OptionsManager.js +60 -91
- package/Base/managers/RefsManager.cjs +99 -0
- package/Base/managers/RefsManager.d.ts +4 -4
- package/Base/managers/RefsManager.js +28 -38
- package/Base/managers/ServicesManager.cjs +134 -0
- package/Base/managers/ServicesManager.d.ts +14 -8
- package/Base/managers/ServicesManager.js +42 -67
- package/Base/utils.cjs +41 -0
- package/Base/utils.d.ts +4 -4
- package/Base/utils.js +12 -11
- package/decorators/index.cjs +45 -0
- package/decorators/index.d.ts +1 -0
- package/decorators/index.js +20 -8
- package/decorators/withBreakpointManager.cjs +84 -0
- package/decorators/withBreakpointManager.d.ts +2 -2
- package/decorators/withBreakpointManager.js +18 -40
- package/decorators/withBreakpointObserver.cjs +114 -0
- package/decorators/withBreakpointObserver.d.ts +1 -1
- package/decorators/withBreakpointObserver.js +45 -88
- package/decorators/withDrag.cjs +53 -0
- package/decorators/withDrag.d.ts +1 -1
- package/decorators/withDrag.js +24 -26
- package/decorators/withExtraConfig.cjs +43 -0
- package/decorators/withExtraConfig.d.ts +1 -1
- package/decorators/withExtraConfig.js +17 -12
- package/decorators/withFreezedOptions.cjs +37 -0
- package/decorators/withFreezedOptions.d.ts +14 -0
- package/decorators/withFreezedOptions.js +15 -0
- package/decorators/withIntersectionObserver.cjs +61 -0
- package/decorators/withIntersectionObserver.d.ts +1 -1
- package/decorators/withIntersectionObserver.js +29 -33
- package/decorators/withMountWhenInView.cjs +68 -0
- package/decorators/withMountWhenInView.d.ts +1 -1
- package/decorators/withMountWhenInView.js +31 -53
- package/decorators/withScrolledInView.cjs +114 -0
- package/decorators/withScrolledInView.d.ts +1 -1
- package/decorators/withScrolledInView.js +35 -39
- package/decorators/withVue2.cjs +61 -0
- package/decorators/withVue2.js +27 -32
- package/helpers/createApp.cjs +52 -0
- package/helpers/createApp.d.ts +3 -26
- package/helpers/createApp.js +12 -12
- package/helpers/getInstanceFromElement.cjs +32 -0
- package/helpers/getInstanceFromElement.d.ts +14 -0
- package/helpers/getInstanceFromElement.js +10 -0
- package/helpers/importOnInteraction.cjs +52 -0
- package/helpers/importOnInteraction.d.ts +3 -5
- package/helpers/importOnInteraction.js +17 -18
- package/helpers/importWhenIdle.cjs +49 -0
- package/helpers/importWhenIdle.d.ts +3 -5
- package/helpers/importWhenIdle.js +14 -17
- package/helpers/importWhenVisible.cjs +50 -0
- package/helpers/importWhenVisible.d.ts +4 -6
- package/helpers/importWhenVisible.js +16 -18
- package/helpers/index.cjs +37 -0
- package/helpers/index.d.ts +1 -0
- package/helpers/index.js +12 -4
- package/helpers/utils.cjs +35 -0
- package/helpers/utils.d.ts +3 -4
- package/helpers/utils.js +7 -6
- package/index.cjs +33 -0
- package/index.js +7 -4
- package/package.json +14 -4
- package/services/Service.cjs +76 -0
- package/services/Service.d.ts +9 -9
- package/services/Service.js +19 -32
- package/services/drag.cjs +212 -0
- package/services/drag.d.ts +3 -2
- package/services/drag.js +64 -69
- package/services/index.cjs +41 -0
- package/services/index.js +16 -7
- package/services/key.cjs +104 -0
- package/services/key.d.ts +1 -1
- package/services/key.js +28 -36
- package/services/load.cjs +72 -0
- package/services/load.d.ts +1 -1
- package/services/load.js +17 -19
- package/services/pointer.cjs +162 -0
- package/services/pointer.d.ts +1 -1
- package/services/pointer.js +43 -60
- package/services/raf.cjs +83 -0
- package/services/raf.d.ts +1 -1
- package/services/raf.js +20 -28
- package/services/resize.cjs +108 -0
- package/services/resize.d.ts +1 -1
- package/services/resize.js +33 -42
- package/services/scroll.cjs +131 -0
- package/services/scroll.d.ts +1 -1
- package/services/scroll.js +26 -35
- package/utils/collide/boundingRectToCircle.cjs +34 -0
- package/utils/collide/boundingRectToCircle.d.ts +6 -6
- package/utils/collide/boundingRectToCircle.js +7 -10
- package/utils/collide/collideCircleCircle.cjs +34 -0
- package/utils/collide/collideCircleCircle.d.ts +4 -4
- package/utils/collide/collideCircleCircle.js +8 -7
- package/utils/collide/collideCircleRect.cjs +46 -0
- package/utils/collide/collideCircleRect.d.ts +8 -8
- package/utils/collide/collideCircleRect.js +10 -12
- package/utils/collide/collidePointCircle.cjs +31 -0
- package/utils/collide/collidePointCircle.d.ts +6 -6
- package/utils/collide/collidePointCircle.js +8 -5
- package/utils/collide/collidePointRect.cjs +28 -0
- package/utils/collide/collidePointRect.d.ts +7 -7
- package/utils/collide/collidePointRect.js +5 -2
- package/utils/collide/collideRectRect.cjs +28 -0
- package/utils/collide/collideRectRect.d.ts +5 -5
- package/utils/collide/collideRectRect.js +5 -2
- package/utils/collide/index.cjs +39 -0
- package/utils/collide/index.js +14 -6
- package/utils/css/classes.cjs +47 -0
- package/utils/css/classes.d.ts +13 -12
- package/utils/css/classes.js +19 -15
- package/utils/css/index.cjs +38 -0
- package/utils/css/index.d.ts +2 -2
- package/utils/css/index.js +13 -6
- package/utils/css/matrix.cjs +30 -0
- package/utils/css/matrix.d.ts +14 -15
- package/utils/css/matrix.js +7 -5
- package/utils/css/styles.cjs +44 -0
- package/utils/css/styles.d.ts +8 -20
- package/utils/css/styles.js +12 -12
- package/utils/css/transition.cjs +120 -0
- package/utils/css/transition.d.ts +15 -9
- package/utils/css/transition.js +70 -119
- package/utils/debounce.cjs +34 -0
- package/utils/debounce.d.ts +4 -4
- package/utils/debounce.js +7 -9
- package/utils/focusTrap.cjs +82 -0
- package/utils/focusTrap.d.ts +1 -0
- package/utils/focusTrap.js +31 -22
- package/utils/history.cjs +89 -0
- package/utils/history.d.ts +13 -11
- package/utils/history.js +28 -57
- package/utils/index.cjs +54 -0
- package/utils/index.d.ts +4 -1
- package/utils/index.js +32 -11
- package/utils/keyCodes.cjs +35 -0
- package/utils/keyCodes.js +5 -2
- package/utils/math/clamp.cjs +28 -0
- package/utils/math/clamp.d.ts +1 -1
- package/utils/math/clamp.js +5 -2
- package/utils/math/clamp01.cjs +32 -0
- package/utils/math/clamp01.d.ts +1 -1
- package/utils/math/clamp01.js +6 -3
- package/utils/math/damp.cjs +28 -0
- package/utils/math/damp.d.ts +6 -6
- package/utils/math/damp.js +5 -4
- package/utils/math/ease.cjs +88 -0
- package/utils/math/ease.d.ts +7 -7
- package/utils/math/ease.js +50 -25
- package/utils/math/index.cjs +43 -0
- package/utils/math/index.js +17 -8
- package/utils/math/inertiaFinalValue.cjs +37 -0
- package/utils/math/inertiaFinalValue.d.ts +5 -5
- package/utils/math/inertiaFinalValue.js +8 -10
- package/utils/math/lerp.cjs +28 -0
- package/utils/math/lerp.d.ts +4 -4
- package/utils/math/lerp.js +5 -2
- package/utils/math/map.cjs +28 -0
- package/utils/math/map.d.ts +6 -6
- package/utils/math/map.js +5 -2
- package/utils/math/round.cjs +28 -0
- package/utils/math/round.d.ts +4 -4
- package/utils/math/round.js +5 -3
- package/utils/memoize.cjs +43 -0
- package/utils/memoize.d.ts +1 -1
- package/utils/memoize.js +10 -19
- package/utils/nextFrame.cjs +38 -0
- package/utils/nextFrame.d.ts +6 -6
- package/utils/nextFrame.js +13 -10
- package/utils/nextMicrotask.cjs +28 -0
- package/utils/nextMicrotask.d.ts +8 -0
- package/utils/nextMicrotask.js +6 -0
- package/utils/nextTick.cjs +30 -0
- package/utils/nextTick.d.ts +8 -0
- package/utils/nextTick.js +8 -0
- package/utils/object/autoBind.cjs +49 -0
- package/utils/object/autoBind.d.ts +3 -3
- package/utils/object/autoBind.js +12 -22
- package/utils/object/getAllProperties.cjs +37 -0
- package/utils/object/getAllProperties.d.ts +3 -3
- package/utils/object/getAllProperties.js +10 -13
- package/utils/object/index.cjs +33 -0
- package/utils/object/index.js +8 -3
- package/utils/object/isObject.cjs +28 -0
- package/utils/object/isObject.d.ts +1 -1
- package/utils/object/isObject.js +6 -3
- package/utils/scrollTo.cjs +80 -0
- package/utils/scrollTo.d.ts +1 -1
- package/utils/scrollTo.js +20 -40
- package/utils/string/index.cjs +47 -0
- package/utils/string/index.js +22 -10
- package/utils/string/withLeadingCharacters.cjs +32 -0
- package/utils/string/withLeadingCharacters.d.ts +3 -2
- package/utils/string/withLeadingCharacters.js +7 -4
- package/utils/string/withLeadingSlash.cjs +32 -0
- package/utils/string/withLeadingSlash.d.ts +1 -1
- package/utils/string/withLeadingSlash.js +7 -4
- package/utils/string/withTrailingCharacters.cjs +32 -0
- package/utils/string/withTrailingCharacters.d.ts +3 -2
- package/utils/string/withTrailingCharacters.js +7 -4
- package/utils/string/withTrailingSlash.cjs +32 -0
- package/utils/string/withTrailingSlash.d.ts +1 -1
- package/utils/string/withTrailingSlash.js +7 -4
- package/utils/string/withoutLeadingCharacters.cjs +28 -0
- package/utils/string/withoutLeadingCharacters.d.ts +3 -2
- package/utils/string/withoutLeadingCharacters.js +6 -3
- package/utils/string/withoutLeadingCharactersRecursive.cjs +37 -0
- package/utils/string/withoutLeadingCharactersRecursive.d.ts +3 -2
- package/utils/string/withoutLeadingCharactersRecursive.js +8 -7
- package/utils/string/withoutLeadingSlash.cjs +32 -0
- package/utils/string/withoutLeadingSlash.d.ts +1 -1
- package/utils/string/withoutLeadingSlash.js +7 -4
- package/utils/string/withoutTrailingCharacters.cjs +28 -0
- package/utils/string/withoutTrailingCharacters.d.ts +3 -2
- package/utils/string/withoutTrailingCharacters.js +6 -3
- package/utils/string/withoutTrailingCharactersRecursive.cjs +37 -0
- package/utils/string/withoutTrailingCharactersRecursive.d.ts +3 -2
- package/utils/string/withoutTrailingCharactersRecursive.js +8 -7
- package/utils/string/withoutTrailingSlash.cjs +32 -0
- package/utils/string/withoutTrailingSlash.d.ts +1 -1
- package/utils/string/withoutTrailingSlash.js +7 -4
- package/utils/throttle.cjs +36 -0
- package/utils/throttle.d.ts +3 -3
- package/utils/throttle.js +9 -9
- package/index.modern.js +0 -1
- package/index.umd.js +0 -1
|
@@ -1,28 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import deepmerge from "deepmerge";
|
|
8
|
+
import isObject from "../../utils/object/isObject.js";
|
|
9
|
+
const _OptionsManager = class {
|
|
5
10
|
constructor(element, schema, baseConfig) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
_defineProperty(this, "__values", {});
|
|
11
|
-
|
|
12
|
-
_defineProperty(this, "__defaultValues", {
|
|
13
|
-
String: '',
|
|
11
|
+
__publicField(this, "__element");
|
|
12
|
+
__publicField(this, "__values", {});
|
|
13
|
+
__publicField(this, "__defaultValues", {
|
|
14
|
+
String: "",
|
|
14
15
|
Number: 0,
|
|
15
16
|
Boolean: false,
|
|
16
17
|
Array: () => [],
|
|
17
18
|
Object: () => ({})
|
|
18
19
|
});
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
_defineProperty(this, "log", false);
|
|
25
|
-
|
|
20
|
+
__publicField(this, "name", "Base");
|
|
21
|
+
__publicField(this, "debug", false);
|
|
22
|
+
__publicField(this, "log", false);
|
|
23
|
+
var _a, _b;
|
|
26
24
|
Object.defineProperties(this, {
|
|
27
25
|
__element: {
|
|
28
26
|
enumerable: false,
|
|
@@ -43,138 +41,109 @@ export default class OptionsManager {
|
|
|
43
41
|
this.name = baseConfig.name;
|
|
44
42
|
schema.debug = {
|
|
45
43
|
type: Boolean,
|
|
46
|
-
default: (
|
|
44
|
+
default: (_a = baseConfig.debug) != null ? _a : false
|
|
47
45
|
};
|
|
48
46
|
schema.log = {
|
|
49
47
|
type: Boolean,
|
|
50
|
-
default: (
|
|
48
|
+
default: (_b = baseConfig.log) != null ? _b : false
|
|
51
49
|
};
|
|
52
|
-
Object.entries(schema).forEach(
|
|
53
|
-
var [name, config] = _ref;
|
|
54
|
-
|
|
50
|
+
Object.entries(schema).forEach(([name, config]) => {
|
|
55
51
|
this.__register(name, config);
|
|
56
52
|
});
|
|
57
|
-
return this;
|
|
58
53
|
}
|
|
59
|
-
|
|
60
54
|
__register(name, config) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (!
|
|
65
|
-
throw new Error(
|
|
55
|
+
const isObjectConfig = typeof config === "object";
|
|
56
|
+
const hasDefaultValue = !_OptionsManager.types.includes(config);
|
|
57
|
+
const type = isObjectConfig ? config.type : config;
|
|
58
|
+
if (!_OptionsManager.types.includes(type)) {
|
|
59
|
+
throw new Error(`The "${name}" option has an invalid type. The allowed types are: String, Number, Boolean, Array and Object.`);
|
|
66
60
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if ((type === Array || type === Object) && typeof defaultValue !== 'function') {
|
|
71
|
-
throw new Error("The default value for options of type \"".concat(type.name, "\" must be returned by a function."));
|
|
61
|
+
const defaultValue = hasDefaultValue ? config.default : this.__defaultValues[type.name];
|
|
62
|
+
if ((type === Array || type === Object) && typeof defaultValue !== "function") {
|
|
63
|
+
throw new Error(`The default value for options of type "${type.name}" must be returned by a function.`);
|
|
72
64
|
}
|
|
73
|
-
|
|
74
65
|
Object.defineProperty(this, name, {
|
|
75
66
|
get: () => {
|
|
76
|
-
return this.get(name, type, defaultValue);
|
|
67
|
+
return this.get(name, type, defaultValue, isObjectConfig ? config.merge : void 0);
|
|
77
68
|
},
|
|
78
|
-
set: value => {
|
|
69
|
+
set: (value) => {
|
|
79
70
|
this.set(name, type, value, defaultValue);
|
|
80
71
|
},
|
|
81
72
|
enumerable: true
|
|
82
73
|
});
|
|
83
74
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var hasProperty = this.__hasProperty(propertyName);
|
|
89
|
-
|
|
75
|
+
get(name, type, defaultValue, merge) {
|
|
76
|
+
const propertyName = _OptionsManager.__getPropertyName(name);
|
|
77
|
+
const hasProperty = this.__hasProperty(propertyName);
|
|
90
78
|
if (type === Boolean) {
|
|
91
79
|
if (defaultValue) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var hasNegatedProperty = this.__hasProperty(negatedPropertyName);
|
|
95
|
-
|
|
80
|
+
const negatedPropertyName = _OptionsManager.__getPropertyName(name, "No");
|
|
81
|
+
const hasNegatedProperty = this.__hasProperty(negatedPropertyName);
|
|
96
82
|
return !hasNegatedProperty;
|
|
97
83
|
}
|
|
98
|
-
|
|
99
84
|
return hasProperty || defaultValue;
|
|
100
85
|
}
|
|
101
|
-
|
|
102
|
-
var value = this.__element.dataset[propertyName];
|
|
103
|
-
|
|
86
|
+
const value = this.__element.dataset[propertyName];
|
|
104
87
|
if (type === Number) {
|
|
105
88
|
return hasProperty ? Number(value) : defaultValue;
|
|
106
89
|
}
|
|
107
|
-
|
|
108
90
|
if (type === Array || type === Object) {
|
|
109
|
-
var val = deepmerge(defaultValue(), hasProperty ? JSON.parse(value) : this.__defaultValues[type.name]());
|
|
110
|
-
|
|
111
91
|
if (!this.__values[name]) {
|
|
92
|
+
let val = hasProperty ? JSON.parse(value) : defaultValue();
|
|
93
|
+
if (typeof merge !== "undefined") {
|
|
94
|
+
val = typeof merge === "boolean" ? deepmerge(defaultValue(), val) : deepmerge(defaultValue(), val, merge);
|
|
95
|
+
}
|
|
112
96
|
this.__values[name] = val;
|
|
113
97
|
}
|
|
114
|
-
|
|
115
98
|
return this.__values[name];
|
|
116
99
|
}
|
|
117
|
-
|
|
118
100
|
return hasProperty ? value : defaultValue;
|
|
119
101
|
}
|
|
120
|
-
|
|
121
102
|
set(name, type, value, defaultValue) {
|
|
122
|
-
|
|
123
|
-
|
|
103
|
+
const propertyName = _OptionsManager.__getPropertyName(name);
|
|
124
104
|
if (value.constructor.name !== type.name) {
|
|
125
|
-
|
|
126
|
-
throw new TypeError(
|
|
105
|
+
const val = Array.isArray(value) || isObject(value) ? JSON.stringify(value) : value;
|
|
106
|
+
throw new TypeError(`The "${val}" value for the "${name}" option must be of type "${type.name}"`);
|
|
127
107
|
}
|
|
128
|
-
|
|
129
108
|
switch (type) {
|
|
130
109
|
case Boolean:
|
|
131
110
|
if (defaultValue) {
|
|
132
|
-
|
|
133
|
-
|
|
111
|
+
const negatedPropertyName = _OptionsManager.__getPropertyName(name, "No");
|
|
134
112
|
if (value) {
|
|
135
113
|
delete this.__element.dataset[negatedPropertyName];
|
|
136
114
|
} else {
|
|
137
|
-
this.__element.dataset[negatedPropertyName] =
|
|
115
|
+
this.__element.dataset[negatedPropertyName] = "";
|
|
138
116
|
}
|
|
139
117
|
} else if (value) {
|
|
140
|
-
this.__element.dataset[propertyName] =
|
|
118
|
+
this.__element.dataset[propertyName] = "";
|
|
141
119
|
} else {
|
|
142
120
|
delete this.__element.dataset[propertyName];
|
|
143
121
|
}
|
|
144
|
-
|
|
145
122
|
break;
|
|
146
|
-
|
|
147
123
|
case Array:
|
|
148
124
|
case Object:
|
|
149
125
|
this.__values[name] = value;
|
|
150
126
|
break;
|
|
151
|
-
|
|
152
127
|
default:
|
|
153
128
|
this.__element.dataset[propertyName] = value;
|
|
154
129
|
}
|
|
155
130
|
}
|
|
156
|
-
|
|
157
131
|
__hasProperty(prop) {
|
|
158
|
-
return typeof this.__element.dataset[prop] !==
|
|
132
|
+
return typeof this.__element.dataset[prop] !== "undefined";
|
|
159
133
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (OptionsManager.__propertyNameCache.has(key)) {
|
|
166
|
-
return OptionsManager.__propertyNameCache.get(key);
|
|
134
|
+
static __getPropertyName(name, prefix = "") {
|
|
135
|
+
const key = name + prefix;
|
|
136
|
+
if (_OptionsManager.__propertyNameCache.has(key)) {
|
|
137
|
+
return _OptionsManager.__propertyNameCache.get(key);
|
|
167
138
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
OptionsManager.__propertyNameCache.set(key, propertyName);
|
|
172
|
-
|
|
139
|
+
const propertyName = `option${prefix}${name.replace(/^\w/, (c) => c.toUpperCase())}`;
|
|
140
|
+
_OptionsManager.__propertyNameCache.set(key, propertyName);
|
|
173
141
|
return propertyName;
|
|
174
142
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
143
|
+
};
|
|
144
|
+
let OptionsManager = _OptionsManager;
|
|
145
|
+
__publicField(OptionsManager, "types", [String, Number, Boolean, Array, Object]);
|
|
146
|
+
__publicField(OptionsManager, "__propertyNameCache", /* @__PURE__ */ new Map());
|
|
147
|
+
export {
|
|
148
|
+
OptionsManager as default
|
|
149
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var __publicField = (obj, key, value) => {
|
|
20
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// packages/js-toolkit/Base/managers/RefsManager.js
|
|
25
|
+
var RefsManager_exports = {};
|
|
26
|
+
__export(RefsManager_exports, {
|
|
27
|
+
default: () => RefsManager
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(RefsManager_exports);
|
|
30
|
+
var RefsManager = class {
|
|
31
|
+
constructor(base, element, refs, eventsManager) {
|
|
32
|
+
__publicField(this, "__element");
|
|
33
|
+
__publicField(this, "__refs");
|
|
34
|
+
__publicField(this, "__base");
|
|
35
|
+
__publicField(this, "__eventsManager");
|
|
36
|
+
Object.defineProperties(this, {
|
|
37
|
+
__element: {
|
|
38
|
+
enumerable: false,
|
|
39
|
+
writable: false,
|
|
40
|
+
value: element
|
|
41
|
+
},
|
|
42
|
+
__refs: {
|
|
43
|
+
enumerable: false,
|
|
44
|
+
writable: false,
|
|
45
|
+
value: refs
|
|
46
|
+
},
|
|
47
|
+
__base: {
|
|
48
|
+
enumerable: false,
|
|
49
|
+
writable: false,
|
|
50
|
+
value: base
|
|
51
|
+
},
|
|
52
|
+
__eventsManager: {
|
|
53
|
+
enumerable: false,
|
|
54
|
+
writable: false,
|
|
55
|
+
value: eventsManager
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
registerAll() {
|
|
60
|
+
this.__refs.forEach((refName) => this.__register(refName));
|
|
61
|
+
}
|
|
62
|
+
unregisterAll() {
|
|
63
|
+
this.__refs.forEach((refName) => this.__unregister(refName));
|
|
64
|
+
}
|
|
65
|
+
__register(refName) {
|
|
66
|
+
const isMultiple = refName.endsWith("[]");
|
|
67
|
+
const propName = RefsManager.normalizeRefName(refName);
|
|
68
|
+
const refs = Array.from(this.__element.querySelectorAll(`[data-ref="${refName}"]`)).filter((ref) => this.__filterRefsBelongingToInstance(ref));
|
|
69
|
+
if (!isMultiple && refs.length > 1) {
|
|
70
|
+
console.warn(`[${this.__base.$options.name}]`, `The "${refName}" ref has been found multiple times.`, "Did you forgot to add the `[]` suffix to its name?");
|
|
71
|
+
}
|
|
72
|
+
if (!isMultiple && refs.length <= 1 && refs[0] === void 0) {
|
|
73
|
+
console.warn(`[${this.__base.$options.name}]`, `The "${refName}" ref is missing.`, `Is there an \`[data-ref="${refName}"]\` element in the component's scope?`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.__eventsManager.bindRef(refName, refs);
|
|
77
|
+
Object.defineProperty(this, propName, {
|
|
78
|
+
value: isMultiple || refs.length > 1 ? refs : refs[0],
|
|
79
|
+
enumerable: true,
|
|
80
|
+
configurable: true
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
__unregister(refName) {
|
|
84
|
+
const propName = RefsManager.normalizeRefName(refName);
|
|
85
|
+
const refs = Array.isArray(this[propName]) ? this[propName] : [this[propName]];
|
|
86
|
+
this.__eventsManager.unbindRef(refName, refs);
|
|
87
|
+
}
|
|
88
|
+
static normalizeRefName(name) {
|
|
89
|
+
return name.endsWith("[]") ? name.replace(/\[\]$/, "") : name;
|
|
90
|
+
}
|
|
91
|
+
__filterRefsBelongingToInstance(ref) {
|
|
92
|
+
let ancestor = ref.parentElement;
|
|
93
|
+
while (ancestor && ancestor.dataset.component === void 0) {
|
|
94
|
+
ancestor = ancestor.parentElement;
|
|
95
|
+
}
|
|
96
|
+
return ancestor === null || ancestor === this.__element;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
if (module.exports.default) module.exports = module.exports.default;
|
|
@@ -12,7 +12,7 @@ export default class RefsManager {
|
|
|
12
12
|
* Normalize the name of ref.
|
|
13
13
|
*
|
|
14
14
|
* @param {string} name The original name.
|
|
15
|
-
* @
|
|
15
|
+
* @returns {string} The normalized name.
|
|
16
16
|
*/
|
|
17
17
|
static normalizeRefName(name: string): string;
|
|
18
18
|
/**
|
|
@@ -50,13 +50,13 @@ export default class RefsManager {
|
|
|
50
50
|
/**
|
|
51
51
|
* Register all refs.
|
|
52
52
|
*
|
|
53
|
-
* @
|
|
53
|
+
* @returns {void}
|
|
54
54
|
*/
|
|
55
55
|
registerAll(): void;
|
|
56
56
|
/**
|
|
57
57
|
* Unregister all refs.
|
|
58
58
|
*
|
|
59
|
-
* @
|
|
59
|
+
* @returns {void}
|
|
60
60
|
*/
|
|
61
61
|
unregisterAll(): void;
|
|
62
62
|
/**
|
|
@@ -77,7 +77,7 @@ export default class RefsManager {
|
|
|
77
77
|
* Filter refs belonging to the related Base instance.
|
|
78
78
|
*
|
|
79
79
|
* @param {HTMLElement} ref The ref to test.
|
|
80
|
-
* @
|
|
80
|
+
* @returns {boolean}
|
|
81
81
|
* @private
|
|
82
82
|
*/
|
|
83
83
|
private __filterRefsBelongingToInstance;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
class RefsManager {
|
|
3
8
|
constructor(base, element, refs, eventsManager) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
_defineProperty(this, "__base", void 0);
|
|
9
|
-
|
|
10
|
-
_defineProperty(this, "__eventsManager", void 0);
|
|
11
|
-
|
|
9
|
+
__publicField(this, "__element");
|
|
10
|
+
__publicField(this, "__refs");
|
|
11
|
+
__publicField(this, "__base");
|
|
12
|
+
__publicField(this, "__eventsManager");
|
|
12
13
|
Object.defineProperties(this, {
|
|
13
14
|
__element: {
|
|
14
15
|
enumerable: false,
|
|
@@ -32,57 +33,46 @@ export default class RefsManager {
|
|
|
32
33
|
}
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
|
-
|
|
36
36
|
registerAll() {
|
|
37
|
-
this.__refs.forEach(refName => this.__register(refName));
|
|
37
|
+
this.__refs.forEach((refName) => this.__register(refName));
|
|
38
38
|
}
|
|
39
|
-
|
|
40
39
|
unregisterAll() {
|
|
41
|
-
this.__refs.forEach(refName => this.__unregister(refName));
|
|
40
|
+
this.__refs.forEach((refName) => this.__unregister(refName));
|
|
42
41
|
}
|
|
43
|
-
|
|
44
42
|
__register(refName) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
const isMultiple = refName.endsWith("[]");
|
|
44
|
+
const propName = RefsManager.normalizeRefName(refName);
|
|
45
|
+
const refs = Array.from(this.__element.querySelectorAll(`[data-ref="${refName}"]`)).filter((ref) => this.__filterRefsBelongingToInstance(ref));
|
|
49
46
|
if (!isMultiple && refs.length > 1) {
|
|
50
|
-
console.warn(
|
|
47
|
+
console.warn(`[${this.__base.$options.name}]`, `The "${refName}" ref has been found multiple times.`, "Did you forgot to add the `[]` suffix to its name?");
|
|
51
48
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
console.warn("[".concat(this.__base.$options.name, "]"), "The \"".concat(refName, "\" ref is missing."), "Is there an `[data-ref=\"".concat(refName, "\"]` element in the component's scope?"));
|
|
49
|
+
if (!isMultiple && refs.length <= 1 && refs[0] === void 0) {
|
|
50
|
+
console.warn(`[${this.__base.$options.name}]`, `The "${refName}" ref is missing.`, `Is there an \`[data-ref="${refName}"]\` element in the component's scope?`);
|
|
55
51
|
return;
|
|
56
52
|
}
|
|
57
|
-
|
|
58
53
|
this.__eventsManager.bindRef(refName, refs);
|
|
59
|
-
|
|
60
54
|
Object.defineProperty(this, propName, {
|
|
61
55
|
value: isMultiple || refs.length > 1 ? refs : refs[0],
|
|
62
56
|
enumerable: true,
|
|
63
57
|
configurable: true
|
|
64
58
|
});
|
|
65
59
|
}
|
|
66
|
-
|
|
67
60
|
__unregister(refName) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
61
|
+
const propName = RefsManager.normalizeRefName(refName);
|
|
62
|
+
const refs = Array.isArray(this[propName]) ? this[propName] : [this[propName]];
|
|
71
63
|
this.__eventsManager.unbindRef(refName, refs);
|
|
72
64
|
}
|
|
73
|
-
|
|
74
65
|
static normalizeRefName(name) {
|
|
75
|
-
return name.endsWith(
|
|
66
|
+
return name.endsWith("[]") ? name.replace(/\[\]$/, "") : name;
|
|
76
67
|
}
|
|
77
|
-
|
|
78
68
|
__filterRefsBelongingToInstance(ref) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
while (ancestor && ancestor.dataset.component === undefined) {
|
|
69
|
+
let ancestor = ref.parentElement;
|
|
70
|
+
while (ancestor && ancestor.dataset.component === void 0) {
|
|
82
71
|
ancestor = ancestor.parentElement;
|
|
83
72
|
}
|
|
84
|
-
|
|
85
73
|
return ancestor === null || ancestor === this.__element;
|
|
86
74
|
}
|
|
87
|
-
|
|
88
|
-
|
|
75
|
+
}
|
|
76
|
+
export {
|
|
77
|
+
RefsManager as default
|
|
78
|
+
};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
21
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
|
+
var __publicField = (obj, key, value) => {
|
|
23
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
24
|
+
return value;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// packages/js-toolkit/Base/managers/ServicesManager.js
|
|
28
|
+
var ServicesManager_exports = {};
|
|
29
|
+
__export(ServicesManager_exports, {
|
|
30
|
+
default: () => ServicesManager
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(ServicesManager_exports);
|
|
33
|
+
var import_pointer = __toESM(require("../../services/pointer.cjs"), 1);
|
|
34
|
+
var import_raf = __toESM(require("../../services/raf.cjs"), 1);
|
|
35
|
+
var import_resize = __toESM(require("../../services/resize.cjs"), 1);
|
|
36
|
+
var import_scroll = __toESM(require("../../services/scroll.cjs"), 1);
|
|
37
|
+
var import_key = __toESM(require("../../services/key.cjs"), 1);
|
|
38
|
+
var import_load = __toESM(require("../../services/load.cjs"), 1);
|
|
39
|
+
var import_utils = require("../utils.cjs");
|
|
40
|
+
var SERVICES_MAP = {
|
|
41
|
+
scrolled: import_scroll.default,
|
|
42
|
+
resized: import_resize.default,
|
|
43
|
+
ticked: import_raf.default,
|
|
44
|
+
moved: import_pointer.default,
|
|
45
|
+
keyed: import_key.default,
|
|
46
|
+
loaded: import_load.default
|
|
47
|
+
};
|
|
48
|
+
var SERVICE_NAMES = Object.keys(SERVICES_MAP);
|
|
49
|
+
var ServicesManager = class {
|
|
50
|
+
constructor(instance) {
|
|
51
|
+
__publicField(this, "__base");
|
|
52
|
+
__publicField(this, "__customServices", {});
|
|
53
|
+
Object.defineProperties(this, {
|
|
54
|
+
__base: {
|
|
55
|
+
enumerable: false,
|
|
56
|
+
writable: false,
|
|
57
|
+
value: instance
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
get __services() {
|
|
62
|
+
return {
|
|
63
|
+
...this.__customServices,
|
|
64
|
+
...SERVICES_MAP
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
has(service) {
|
|
68
|
+
if (!(((0, import_utils.hasMethod)(this.__base, service) || this.__base.__hasEvent(service)) && this.__services[service])) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
const { has } = this.__services[service]();
|
|
72
|
+
return has(this.__base.$id);
|
|
73
|
+
}
|
|
74
|
+
get(service) {
|
|
75
|
+
return this.__services[service]().props();
|
|
76
|
+
}
|
|
77
|
+
enable(service) {
|
|
78
|
+
if (this.has(service)) {
|
|
79
|
+
return this.disable.bind(this, service);
|
|
80
|
+
}
|
|
81
|
+
if (!((0, import_utils.hasMethod)(this.__base, service) || this.__base.__hasEvent(service)) || !this.__services[service]) {
|
|
82
|
+
return function noop() {
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const { add } = this.__services[service]();
|
|
86
|
+
const self = this;
|
|
87
|
+
function serviceHandler(...args) {
|
|
88
|
+
self.__base.__callMethod(service, ...args);
|
|
89
|
+
}
|
|
90
|
+
add(this.__base.$id, serviceHandler);
|
|
91
|
+
return this.disable.bind(this, service);
|
|
92
|
+
}
|
|
93
|
+
enableAll() {
|
|
94
|
+
return Object.keys(this.__services).map((serviceName) => this.enable(serviceName));
|
|
95
|
+
}
|
|
96
|
+
disableAll() {
|
|
97
|
+
Object.keys(this.__services).forEach((serviceName) => {
|
|
98
|
+
this.disable(serviceName);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
disable(service) {
|
|
102
|
+
if (!this.__services[service]) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const { remove } = this.__services[service]();
|
|
106
|
+
remove(this.__base.$id);
|
|
107
|
+
}
|
|
108
|
+
toggle(service, force) {
|
|
109
|
+
if (typeof force !== "undefined") {
|
|
110
|
+
if (force && !this.has(service)) {
|
|
111
|
+
this.enable(service);
|
|
112
|
+
}
|
|
113
|
+
if (!force && this.has(service)) {
|
|
114
|
+
this.disable(service);
|
|
115
|
+
}
|
|
116
|
+
} else if (this.has(service)) {
|
|
117
|
+
this.disable(service);
|
|
118
|
+
} else {
|
|
119
|
+
this.enable(service);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
register(name, useFunction) {
|
|
123
|
+
this.__customServices[name] = useFunction;
|
|
124
|
+
this.__base.__addEmits(name);
|
|
125
|
+
}
|
|
126
|
+
unregister(name) {
|
|
127
|
+
if (SERVICE_NAMES.includes(name)) {
|
|
128
|
+
throw new Error(`[ServicesManager] The \`${name}\` core service can not be unregistered.`);
|
|
129
|
+
}
|
|
130
|
+
this.__base.__removeEmits(name);
|
|
131
|
+
delete this.__customServices[name];
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
if (module.exports.default) module.exports = module.exports.default;
|
|
@@ -23,47 +23,53 @@ export default class ServicesManager {
|
|
|
23
23
|
*/
|
|
24
24
|
__customServices: Record<string, () => ServiceInterface>;
|
|
25
25
|
/**
|
|
26
|
-
* @
|
|
26
|
+
* @returns {Record<string, () => ServiceInterface>}
|
|
27
27
|
*/
|
|
28
28
|
get __services(): Record<string, () => ServiceInterface>;
|
|
29
29
|
/**
|
|
30
30
|
* Test if the given service is registered.
|
|
31
31
|
*
|
|
32
32
|
* @param {ServiceName} service The name of the service.
|
|
33
|
-
* @
|
|
33
|
+
* @returns {boolean}
|
|
34
34
|
*/
|
|
35
35
|
has(service: ServiceName): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Get a service props by name.
|
|
38
|
+
* @param {ServiceName} service The name of the service.
|
|
39
|
+
* @returns {ReturnType<ServiceInterface['props']>}
|
|
40
|
+
*/
|
|
41
|
+
get(service: ServiceName): ReturnType<ServiceInterface['props']>;
|
|
36
42
|
/**
|
|
37
43
|
* Init the given service and bind it to the given instance.
|
|
38
44
|
*
|
|
39
45
|
* @param {ServiceName} service The name of the service.
|
|
40
|
-
* @
|
|
46
|
+
* @returns {() => void} A function to unbind the service.
|
|
41
47
|
*/
|
|
42
48
|
enable(service: ServiceName): () => void;
|
|
43
49
|
/**
|
|
44
50
|
* Enable all services and return methods to disable them.
|
|
45
51
|
*
|
|
46
|
-
* @
|
|
52
|
+
* @returns {Function[]}
|
|
47
53
|
*/
|
|
48
54
|
enableAll(): Function[];
|
|
49
55
|
/**
|
|
50
56
|
* Disable all services.
|
|
51
57
|
*
|
|
52
|
-
* @
|
|
58
|
+
* @returns {void}
|
|
53
59
|
*/
|
|
54
60
|
disableAll(): void;
|
|
55
61
|
/**
|
|
56
62
|
* Disable a service.
|
|
57
63
|
*
|
|
58
|
-
* @param {
|
|
59
|
-
* @
|
|
64
|
+
* @param {string} service The name of the service.
|
|
65
|
+
* @returns {void}
|
|
60
66
|
*/
|
|
61
67
|
disable(service: string): void;
|
|
62
68
|
/**
|
|
63
69
|
* Toggle a service.
|
|
64
70
|
* @param {string} service The name of the service.
|
|
65
71
|
* @param {boolean} [force] The state to force.
|
|
66
|
-
* @
|
|
72
|
+
* @returns {void}
|
|
67
73
|
*/
|
|
68
74
|
toggle(service: string, force?: boolean): void;
|
|
69
75
|
/**
|