@studiometa/js-toolkit 2.2.1 → 2.3.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 +60 -69
- package/Base/index.d.ts +0 -8
- package/Base/index.js +67 -82
- package/Base/managers/AbstractManager.cjs +5 -10
- package/Base/managers/AbstractManager.js +5 -11
- package/Base/managers/ChildrenManager.cjs +2 -11
- package/Base/managers/ChildrenManager.js +2 -12
- package/Base/managers/EventsManager.cjs +61 -67
- package/Base/managers/EventsManager.js +61 -68
- package/Base/managers/OptionsManager.cjs +26 -27
- package/Base/managers/OptionsManager.js +26 -28
- package/Base/managers/RefsManager.cjs +9 -7
- package/Base/managers/RefsManager.js +9 -7
- package/Base/managers/ResponsiveOptionsManager.cjs +4 -1
- package/Base/managers/ResponsiveOptionsManager.js +4 -1
- package/Base/managers/ServicesManager.cjs +10 -16
- package/Base/managers/ServicesManager.js +10 -17
- package/Base/utils.cjs +22 -4
- package/Base/utils.d.ts +25 -8
- package/Base/utils.js +22 -4
- package/decorators/withBreakpointManager.cjs +15 -5
- package/decorators/withBreakpointManager.js +15 -5
- package/decorators/withBreakpointObserver.cjs +19 -18
- package/decorators/withBreakpointObserver.js +19 -19
- package/decorators/withDrag.cjs +6 -11
- package/decorators/withDrag.js +6 -12
- package/decorators/withExtraConfig.cjs +3 -8
- package/decorators/withExtraConfig.js +3 -9
- package/decorators/withFreezedOptions.cjs +1 -9
- package/decorators/withFreezedOptions.js +1 -10
- package/decorators/withIntersectionObserver.cjs +11 -16
- package/decorators/withIntersectionObserver.js +11 -17
- package/decorators/withMountWhenInView.cjs +12 -17
- package/decorators/withMountWhenInView.js +12 -18
- package/decorators/withScrolledInView.cjs +30 -35
- package/decorators/withScrolledInView.js +30 -36
- package/decorators/withVue2.cjs +20 -18
- package/decorators/withVue2.js +20 -19
- package/helpers/getInstanceFromElement.cjs +1 -2
- package/helpers/getInstanceFromElement.js +1 -2
- package/helpers/importOnInteraction.cjs +3 -2
- package/helpers/importOnInteraction.js +3 -2
- package/helpers/importWhenIdle.cjs +2 -3
- package/helpers/importWhenIdle.js +2 -3
- package/helpers/importWhenVisible.cjs +3 -2
- package/helpers/importWhenVisible.js +3 -2
- package/helpers/utils.cjs +3 -2
- package/helpers/utils.js +3 -2
- package/package.json +4 -1
- package/services/drag.cjs +126 -148
- package/services/drag.d.ts +10 -10
- package/services/drag.js +125 -148
- package/services/index.cjs +3 -1
- package/services/index.d.ts +1 -0
- package/services/index.js +3 -1
- package/services/key.cjs +48 -63
- package/services/key.d.ts +0 -8
- package/services/key.js +47 -63
- package/services/load.cjs +24 -40
- package/services/load.d.ts +0 -8
- package/services/load.js +23 -37
- package/services/pointer.cjs +72 -103
- package/services/pointer.d.ts +1 -9
- package/services/pointer.js +71 -100
- package/services/raf.cjs +38 -58
- package/services/raf.d.ts +0 -8
- package/services/raf.js +37 -55
- package/services/resize.cjs +59 -68
- package/services/resize.d.ts +0 -7
- package/services/resize.js +58 -68
- package/services/scroll.cjs +49 -71
- package/services/scroll.js +48 -71
- package/services/service.cjs +68 -0
- package/services/service.d.ts +18 -0
- package/services/service.js +46 -0
- package/utils/css/animate.cjs +33 -102
- package/utils/css/animate.d.ts +4 -13
- package/utils/css/animate.js +31 -100
- package/utils/css/classes.cjs +2 -1
- package/utils/css/classes.js +2 -1
- package/utils/css/matrix.cjs +1 -2
- package/utils/css/matrix.js +1 -2
- package/utils/css/styles.cjs +2 -5
- package/utils/css/styles.js +1 -1
- package/utils/css/transform.cjs +14 -18
- package/utils/css/transform.js +2 -3
- package/utils/css/transition.cjs +7 -10
- package/utils/css/transition.js +7 -11
- package/utils/focusTrap.cjs +2 -1
- package/utils/focusTrap.js +2 -1
- package/utils/{isFunction.cjs → has.cjs} +7 -7
- package/utils/has.d.ts +6 -0
- package/utils/has.js +6 -0
- package/utils/history.cjs +5 -7
- package/utils/history.js +4 -3
- package/utils/index.cjs +6 -5
- package/utils/index.d.ts +4 -2
- package/utils/index.js +6 -5
- package/utils/{object/isObject.cjs → is.cjs} +20 -8
- package/utils/is.d.ts +8 -0
- package/utils/is.js +18 -0
- package/utils/math/inertiaFinalValue.cjs +5 -3
- package/utils/math/inertiaFinalValue.js +2 -3
- package/utils/nextFrame.cjs +5 -3
- package/utils/nextFrame.js +5 -3
- package/utils/nextMicrotask.cjs +2 -1
- package/utils/nextMicrotask.js +2 -1
- package/utils/nextTick.cjs +2 -1
- package/utils/nextTick.js +2 -1
- package/utils/{isDefined.cjs → noop.cjs} +10 -7
- package/utils/noop.d.ts +12 -0
- package/utils/noop.js +9 -0
- package/utils/object/autoBind.cjs +3 -2
- package/utils/object/autoBind.js +3 -2
- package/utils/object/getAllProperties.cjs +2 -1
- package/utils/object/getAllProperties.js +2 -1
- package/utils/object/index.cjs +1 -3
- package/utils/object/index.d.ts +0 -1
- package/utils/object/index.js +1 -3
- package/utils/tween.cjs +113 -0
- package/utils/tween.d.ts +25 -0
- package/utils/tween.js +88 -0
- package/services/Service.cjs +0 -76
- package/services/Service.d.ts +0 -76
- package/services/Service.js +0 -55
- package/utils/isDefined.d.ts +0 -7
- package/utils/isDefined.js +0 -6
- package/utils/isFunction.d.ts +0 -7
- package/utils/isFunction.js +0 -6
- package/utils/object/isObject.d.ts +0 -7
- package/utils/object/isObject.js +0 -6
|
@@ -4,7 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
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
7
|
var __export = (target, all) => {
|
|
9
8
|
for (var name in all)
|
|
10
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -19,10 +18,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
19
18
|
};
|
|
20
19
|
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
20
|
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
21
|
|
|
27
22
|
// packages/js-toolkit/Base/managers/EventsManager.js
|
|
28
23
|
var EventsManager_exports = {};
|
|
@@ -33,6 +28,8 @@ __export(EventsManager_exports, {
|
|
|
33
28
|
});
|
|
34
29
|
module.exports = __toCommonJS(EventsManager_exports);
|
|
35
30
|
var import_getAllProperties = __toESM(require("../../utils/object/getAllProperties.cjs"), 1);
|
|
31
|
+
var import_utils = require("../../utils/index.cjs");
|
|
32
|
+
var import_utils2 = require("../utils.cjs");
|
|
36
33
|
var import_AbstractManager = __toESM(require("./AbstractManager.cjs"), 1);
|
|
37
34
|
var import_RefsManager = require("./RefsManager.cjs");
|
|
38
35
|
var names = /* @__PURE__ */ new Map();
|
|
@@ -56,12 +53,12 @@ function getRegex(regex) {
|
|
|
56
53
|
}
|
|
57
54
|
return regexes.get(regex);
|
|
58
55
|
}
|
|
59
|
-
function
|
|
56
|
+
function getEventNameByMethod(method, name = "") {
|
|
60
57
|
const regex = getRegex(`^on${normalizeName(name)}([A-Z].*)$`);
|
|
61
58
|
const [, event] = method.match(regex);
|
|
62
59
|
return normalizeEventName(event);
|
|
63
60
|
}
|
|
64
|
-
function
|
|
61
|
+
function getEventMethodsByName(that, name = "") {
|
|
65
62
|
const regex = getRegex(`^on${normalizeName(name)}[A-Z].*$`);
|
|
66
63
|
const key = regex.toString();
|
|
67
64
|
let methods = that.__methodsCache.get(key);
|
|
@@ -71,78 +68,75 @@ function __getEventMethodsByName(that, name = "") {
|
|
|
71
68
|
}
|
|
72
69
|
return methods;
|
|
73
70
|
}
|
|
74
|
-
function
|
|
71
|
+
function manageRef(that, name, elements, mode = "add") {
|
|
75
72
|
const action = `${mode}EventListener`;
|
|
76
|
-
const methods =
|
|
73
|
+
const methods = getEventMethodsByName(that, name);
|
|
77
74
|
methods.forEach((method) => {
|
|
78
|
-
const event =
|
|
75
|
+
const event = getEventNameByMethod(method, name);
|
|
79
76
|
elements.forEach((element) => element[action](event, that.__refsHandler));
|
|
80
77
|
});
|
|
81
78
|
}
|
|
82
|
-
function
|
|
79
|
+
function manageChild(that, name, instance, mode = "add") {
|
|
83
80
|
const action = mode === "add" ? "$on" : "$off";
|
|
84
|
-
const methods =
|
|
81
|
+
const methods = getEventMethodsByName(that, name);
|
|
85
82
|
methods.forEach((method) => {
|
|
86
|
-
const event =
|
|
83
|
+
const event = getEventNameByMethod(method, name);
|
|
87
84
|
instance[action](event, that.__childrenHandler);
|
|
88
85
|
});
|
|
89
86
|
}
|
|
90
|
-
function
|
|
87
|
+
function manageRootElement(that, mode = "add") {
|
|
91
88
|
const modeMethod = `${mode}EventListener`;
|
|
92
|
-
const methods =
|
|
93
|
-
const {
|
|
94
|
-
methods.
|
|
95
|
-
const
|
|
96
|
-
const target = emits.includes(event) ? that.__base : that.__element;
|
|
89
|
+
const methods = getEventMethodsByName(that);
|
|
90
|
+
const { __base: base, __config: config } = that;
|
|
91
|
+
methods.map((method) => getEventNameByMethod(method)).filter((event) => (0, import_utils2.eventIsDefinedInConfig)(event, config) || (0, import_utils2.eventIsNative)(event, base.$el)).forEach((event) => {
|
|
92
|
+
const target = (0, import_utils2.getEventTarget)(base, event, config);
|
|
97
93
|
target[modeMethod](event, that.__rootElementHandler);
|
|
98
94
|
});
|
|
99
95
|
}
|
|
100
96
|
var EventsManager = class extends import_AbstractManager.default {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
97
|
+
__methodsCache = /* @__PURE__ */ new Map();
|
|
98
|
+
__rootElementHandler = {
|
|
99
|
+
handleEvent: (event) => {
|
|
100
|
+
const normalizedEventName = normalizeName(event.type);
|
|
101
|
+
const method = `on${normalizedEventName}`;
|
|
102
|
+
if (event instanceof CustomEvent && (0, import_utils.isArray)(event.detail) && event.detail.length) {
|
|
103
|
+
this.__base[method](...event.detail, event);
|
|
104
|
+
} else {
|
|
108
105
|
this.__base[method](event);
|
|
109
106
|
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
this.__base[method](event, index);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
__refsHandler = {
|
|
110
|
+
handleEvent: (event) => {
|
|
111
|
+
const ref = event.currentTarget;
|
|
112
|
+
const refName = (0, import_RefsManager.normalizeRefName)(ref.dataset.ref);
|
|
113
|
+
const normalizedRefName = normalizeName(refName);
|
|
114
|
+
const normalizedEventName = normalizeName(event.type);
|
|
115
|
+
const method = `on${normalizedRefName}${normalizedEventName}`;
|
|
116
|
+
let index = 0;
|
|
117
|
+
if ((0, import_utils.isArray)(this.__base.$refs[refName])) {
|
|
118
|
+
index = this.__base.$refs[refName].indexOf(ref);
|
|
123
119
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
145
|
-
});
|
|
120
|
+
this.__base[method](event, index);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
__childrenHandler = {
|
|
124
|
+
handleEvent: (event) => {
|
|
125
|
+
const childrenManager = this.__base.$children;
|
|
126
|
+
const { name, child: resolvedChild } = childrenManager.registeredNames.map((childName) => ({
|
|
127
|
+
name: childName,
|
|
128
|
+
child: childrenManager[childName].find((instance) => instance === event.currentTarget || instance.$el === event.currentTarget)
|
|
129
|
+
})).find(({ child }) => child);
|
|
130
|
+
const normalizedChildName = normalizeName(name);
|
|
131
|
+
const normalizedEventName = normalizeName(event.type);
|
|
132
|
+
const method = `on${normalizedChildName}${normalizedEventName}`;
|
|
133
|
+
const index = childrenManager[name].indexOf(resolvedChild);
|
|
134
|
+
const args = (0, import_utils.isArray)(event.detail) ? event.detail : [];
|
|
135
|
+
this.__base[method](...args, index, event);
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
constructor(base) {
|
|
139
|
+
super(base);
|
|
146
140
|
this.__hideProperties([
|
|
147
141
|
"__methodsCache",
|
|
148
142
|
"__rootElementHandler",
|
|
@@ -151,22 +145,22 @@ var EventsManager = class extends import_AbstractManager.default {
|
|
|
151
145
|
]);
|
|
152
146
|
}
|
|
153
147
|
bindRef(name, elements) {
|
|
154
|
-
|
|
148
|
+
manageRef(this, name, elements);
|
|
155
149
|
}
|
|
156
150
|
unbindRef(name, elements) {
|
|
157
|
-
|
|
151
|
+
manageRef(this, name, elements, "remove");
|
|
158
152
|
}
|
|
159
153
|
bindChild(name, instance) {
|
|
160
|
-
|
|
154
|
+
manageChild(this, name, instance);
|
|
161
155
|
}
|
|
162
156
|
unbindChild(name, instance) {
|
|
163
|
-
|
|
157
|
+
manageChild(this, name, instance, "remove");
|
|
164
158
|
}
|
|
165
159
|
bindRootElement() {
|
|
166
|
-
|
|
160
|
+
manageRootElement(this);
|
|
167
161
|
}
|
|
168
162
|
unbindRootElement() {
|
|
169
|
-
|
|
163
|
+
manageRootElement(this, "remove");
|
|
170
164
|
}
|
|
171
165
|
};
|
|
172
166
|
if (module.exports.default) module.exports = module.exports.default;
|
|
@@ -1,10 +1,6 @@
|
|
|
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
1
|
import getAllProperties from "../../utils/object/getAllProperties.js";
|
|
2
|
+
import { isArray } from "../../utils/index.js";
|
|
3
|
+
import { getEventTarget, eventIsNative, eventIsDefinedInConfig } from "../utils.js";
|
|
8
4
|
import AbstractManager from "./AbstractManager.js";
|
|
9
5
|
import { normalizeRefName } from "./RefsManager.js";
|
|
10
6
|
const names = /* @__PURE__ */ new Map();
|
|
@@ -28,12 +24,12 @@ function getRegex(regex) {
|
|
|
28
24
|
}
|
|
29
25
|
return regexes.get(regex);
|
|
30
26
|
}
|
|
31
|
-
function
|
|
27
|
+
function getEventNameByMethod(method, name = "") {
|
|
32
28
|
const regex = getRegex(`^on${normalizeName(name)}([A-Z].*)$`);
|
|
33
29
|
const [, event] = method.match(regex);
|
|
34
30
|
return normalizeEventName(event);
|
|
35
31
|
}
|
|
36
|
-
function
|
|
32
|
+
function getEventMethodsByName(that, name = "") {
|
|
37
33
|
const regex = getRegex(`^on${normalizeName(name)}[A-Z].*$`);
|
|
38
34
|
const key = regex.toString();
|
|
39
35
|
let methods = that.__methodsCache.get(key);
|
|
@@ -43,78 +39,75 @@ function __getEventMethodsByName(that, name = "") {
|
|
|
43
39
|
}
|
|
44
40
|
return methods;
|
|
45
41
|
}
|
|
46
|
-
function
|
|
42
|
+
function manageRef(that, name, elements, mode = "add") {
|
|
47
43
|
const action = `${mode}EventListener`;
|
|
48
|
-
const methods =
|
|
44
|
+
const methods = getEventMethodsByName(that, name);
|
|
49
45
|
methods.forEach((method) => {
|
|
50
|
-
const event =
|
|
46
|
+
const event = getEventNameByMethod(method, name);
|
|
51
47
|
elements.forEach((element) => element[action](event, that.__refsHandler));
|
|
52
48
|
});
|
|
53
49
|
}
|
|
54
|
-
function
|
|
50
|
+
function manageChild(that, name, instance, mode = "add") {
|
|
55
51
|
const action = mode === "add" ? "$on" : "$off";
|
|
56
|
-
const methods =
|
|
52
|
+
const methods = getEventMethodsByName(that, name);
|
|
57
53
|
methods.forEach((method) => {
|
|
58
|
-
const event =
|
|
54
|
+
const event = getEventNameByMethod(method, name);
|
|
59
55
|
instance[action](event, that.__childrenHandler);
|
|
60
56
|
});
|
|
61
57
|
}
|
|
62
|
-
function
|
|
58
|
+
function manageRootElement(that, mode = "add") {
|
|
63
59
|
const modeMethod = `${mode}EventListener`;
|
|
64
|
-
const methods =
|
|
65
|
-
const {
|
|
66
|
-
methods.
|
|
67
|
-
const
|
|
68
|
-
const target = emits.includes(event) ? that.__base : that.__element;
|
|
60
|
+
const methods = getEventMethodsByName(that);
|
|
61
|
+
const { __base: base, __config: config } = that;
|
|
62
|
+
methods.map((method) => getEventNameByMethod(method)).filter((event) => eventIsDefinedInConfig(event, config) || eventIsNative(event, base.$el)).forEach((event) => {
|
|
63
|
+
const target = getEventTarget(base, event, config);
|
|
69
64
|
target[modeMethod](event, that.__rootElementHandler);
|
|
70
65
|
});
|
|
71
66
|
}
|
|
72
67
|
class EventsManager extends AbstractManager {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
68
|
+
__methodsCache = /* @__PURE__ */ new Map();
|
|
69
|
+
__rootElementHandler = {
|
|
70
|
+
handleEvent: (event) => {
|
|
71
|
+
const normalizedEventName = normalizeName(event.type);
|
|
72
|
+
const method = `on${normalizedEventName}`;
|
|
73
|
+
if (event instanceof CustomEvent && isArray(event.detail) && event.detail.length) {
|
|
74
|
+
this.__base[method](...event.detail, event);
|
|
75
|
+
} else {
|
|
80
76
|
this.__base[method](event);
|
|
81
77
|
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
this.__base[method](event, index);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
__refsHandler = {
|
|
81
|
+
handleEvent: (event) => {
|
|
82
|
+
const ref = event.currentTarget;
|
|
83
|
+
const refName = normalizeRefName(ref.dataset.ref);
|
|
84
|
+
const normalizedRefName = normalizeName(refName);
|
|
85
|
+
const normalizedEventName = normalizeName(event.type);
|
|
86
|
+
const method = `on${normalizedRefName}${normalizedEventName}`;
|
|
87
|
+
let index = 0;
|
|
88
|
+
if (isArray(this.__base.$refs[refName])) {
|
|
89
|
+
index = this.__base.$refs[refName].indexOf(ref);
|
|
95
90
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
});
|
|
91
|
+
this.__base[method](event, index);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
__childrenHandler = {
|
|
95
|
+
handleEvent: (event) => {
|
|
96
|
+
const childrenManager = this.__base.$children;
|
|
97
|
+
const { name, child: resolvedChild } = childrenManager.registeredNames.map((childName) => ({
|
|
98
|
+
name: childName,
|
|
99
|
+
child: childrenManager[childName].find((instance) => instance === event.currentTarget || instance.$el === event.currentTarget)
|
|
100
|
+
})).find(({ child }) => child);
|
|
101
|
+
const normalizedChildName = normalizeName(name);
|
|
102
|
+
const normalizedEventName = normalizeName(event.type);
|
|
103
|
+
const method = `on${normalizedChildName}${normalizedEventName}`;
|
|
104
|
+
const index = childrenManager[name].indexOf(resolvedChild);
|
|
105
|
+
const args = isArray(event.detail) ? event.detail : [];
|
|
106
|
+
this.__base[method](...args, index, event);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
constructor(base) {
|
|
110
|
+
super(base);
|
|
118
111
|
this.__hideProperties([
|
|
119
112
|
"__methodsCache",
|
|
120
113
|
"__rootElementHandler",
|
|
@@ -123,22 +116,22 @@ class EventsManager extends AbstractManager {
|
|
|
123
116
|
]);
|
|
124
117
|
}
|
|
125
118
|
bindRef(name, elements) {
|
|
126
|
-
|
|
119
|
+
manageRef(this, name, elements);
|
|
127
120
|
}
|
|
128
121
|
unbindRef(name, elements) {
|
|
129
|
-
|
|
122
|
+
manageRef(this, name, elements, "remove");
|
|
130
123
|
}
|
|
131
124
|
bindChild(name, instance) {
|
|
132
|
-
|
|
125
|
+
manageChild(this, name, instance);
|
|
133
126
|
}
|
|
134
127
|
unbindChild(name, instance) {
|
|
135
|
-
|
|
128
|
+
manageChild(this, name, instance, "remove");
|
|
136
129
|
}
|
|
137
130
|
bindRootElement() {
|
|
138
|
-
|
|
131
|
+
manageRootElement(this);
|
|
139
132
|
}
|
|
140
133
|
unbindRootElement() {
|
|
141
|
-
|
|
134
|
+
manageRootElement(this, "remove");
|
|
142
135
|
}
|
|
143
136
|
}
|
|
144
137
|
export {
|
|
@@ -4,7 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
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
7
|
var __export = (target, all) => {
|
|
9
8
|
for (var name in all)
|
|
10
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -19,10 +18,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
19
18
|
};
|
|
20
19
|
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
20
|
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
21
|
|
|
27
22
|
// packages/js-toolkit/Base/managers/OptionsManager.js
|
|
28
23
|
var OptionsManager_exports = {};
|
|
@@ -33,7 +28,7 @@ __export(OptionsManager_exports, {
|
|
|
33
28
|
module.exports = __toCommonJS(OptionsManager_exports);
|
|
34
29
|
var import_deepmerge = __toESM(require("deepmerge"), 1);
|
|
35
30
|
var import_AbstractManager = __toESM(require("./AbstractManager.cjs"), 1);
|
|
36
|
-
var
|
|
31
|
+
var import_utils = require("../../utils/index.cjs");
|
|
37
32
|
var types = /* @__PURE__ */ new Set([String, Number, Boolean, Array, Object]);
|
|
38
33
|
var __defaultValues = {
|
|
39
34
|
String: "",
|
|
@@ -42,9 +37,6 @@ var __defaultValues = {
|
|
|
42
37
|
Array: () => [],
|
|
43
38
|
Object: () => ({})
|
|
44
39
|
};
|
|
45
|
-
function __hasProperty(that, prop) {
|
|
46
|
-
return typeof that.__element.dataset[prop] !== "undefined";
|
|
47
|
-
}
|
|
48
40
|
var __propertyNameCache = /* @__PURE__ */ new Map();
|
|
49
41
|
function __getPropertyName(name, prefix = "") {
|
|
50
42
|
const key = name + prefix;
|
|
@@ -56,13 +48,18 @@ function __getPropertyName(name, prefix = "") {
|
|
|
56
48
|
return propertyName;
|
|
57
49
|
}
|
|
58
50
|
function __register(that, name, config) {
|
|
59
|
-
var _a;
|
|
60
51
|
if (!types.has(config.type)) {
|
|
61
|
-
|
|
52
|
+
if (import_utils.isDev) {
|
|
53
|
+
throw new Error(`The "${name}" option has an invalid type. The allowed types are: String, Number, Boolean, Array and Object.`);
|
|
54
|
+
}
|
|
55
|
+
return;
|
|
62
56
|
}
|
|
63
|
-
config.default =
|
|
64
|
-
if ((config.type === Array || config.type === Object) &&
|
|
65
|
-
|
|
57
|
+
config.default = config.default ?? __defaultValues[config.type.name];
|
|
58
|
+
if ((config.type === Array || config.type === Object) && !(0, import_utils.isFunction)(config.default)) {
|
|
59
|
+
if (import_utils.isDev) {
|
|
60
|
+
throw new Error(`The default value for options of type "${config.type.name}" must be returned by a function.`);
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
66
63
|
}
|
|
67
64
|
Object.defineProperty(that, name, {
|
|
68
65
|
get: () => {
|
|
@@ -75,23 +72,22 @@ function __register(that, name, config) {
|
|
|
75
72
|
});
|
|
76
73
|
}
|
|
77
74
|
var OptionsManager = class extends import_AbstractManager.default {
|
|
75
|
+
__values = {};
|
|
76
|
+
name = "Base";
|
|
77
|
+
debug = false;
|
|
78
|
+
log = false;
|
|
78
79
|
constructor(base) {
|
|
79
|
-
var _a, _b;
|
|
80
80
|
super(base);
|
|
81
|
-
__publicField(this, "__values", {});
|
|
82
|
-
__publicField(this, "name", "Base");
|
|
83
|
-
__publicField(this, "debug", false);
|
|
84
|
-
__publicField(this, "log", false);
|
|
85
81
|
this.__hideProperties(["__values", "__defaultValues"]);
|
|
86
82
|
const schema = this.__config.options || {};
|
|
87
83
|
this.name = this.__config.name;
|
|
88
84
|
schema.debug = {
|
|
89
85
|
type: Boolean,
|
|
90
|
-
default:
|
|
86
|
+
default: this.__config.debug ?? false
|
|
91
87
|
};
|
|
92
88
|
schema.log = {
|
|
93
89
|
type: Boolean,
|
|
94
|
-
default:
|
|
90
|
+
default: this.__config.log ?? false
|
|
95
91
|
};
|
|
96
92
|
Object.entries(schema).forEach(([name, config]) => {
|
|
97
93
|
__register(this, name, types.has(config) ? { type: config } : config);
|
|
@@ -100,11 +96,11 @@ var OptionsManager = class extends import_AbstractManager.default {
|
|
|
100
96
|
get(name, config) {
|
|
101
97
|
const { type, default: defaultValue } = config;
|
|
102
98
|
const propertyName = __getPropertyName(name);
|
|
103
|
-
const hasProperty =
|
|
99
|
+
const hasProperty = (0, import_utils.isDefined)(this.__element.dataset[propertyName]);
|
|
104
100
|
if (type === Boolean) {
|
|
105
101
|
if (defaultValue) {
|
|
106
102
|
const negatedPropertyName = __getPropertyName(name, "No");
|
|
107
|
-
const hasNegatedProperty =
|
|
103
|
+
const hasNegatedProperty = (0, import_utils.isDefined)(this.__element.dataset[negatedPropertyName]);
|
|
108
104
|
return !hasNegatedProperty;
|
|
109
105
|
}
|
|
110
106
|
return hasProperty || defaultValue;
|
|
@@ -117,8 +113,8 @@ var OptionsManager = class extends import_AbstractManager.default {
|
|
|
117
113
|
config = type === Array ? config : config;
|
|
118
114
|
if (!this.__values[name]) {
|
|
119
115
|
let val = hasProperty ? JSON.parse(value) : config.default();
|
|
120
|
-
if (
|
|
121
|
-
val =
|
|
116
|
+
if ((0, import_utils.isDefined)(config.merge)) {
|
|
117
|
+
val = (0, import_utils.isBoolean)(config.merge) ? (0, import_deepmerge.default)(config.default(), val) : (0, import_deepmerge.default)(config.default(), val, config.merge);
|
|
122
118
|
}
|
|
123
119
|
this.__values[name] = val;
|
|
124
120
|
}
|
|
@@ -130,8 +126,11 @@ var OptionsManager = class extends import_AbstractManager.default {
|
|
|
130
126
|
const { type, default: defaultValue } = config;
|
|
131
127
|
const propertyName = __getPropertyName(name);
|
|
132
128
|
if (value.constructor.name !== type.name) {
|
|
133
|
-
|
|
134
|
-
|
|
129
|
+
if (import_utils.isDev) {
|
|
130
|
+
const val = (0, import_utils.isArray)(value) || (0, import_utils.isObject)(value) ? JSON.stringify(value) : value;
|
|
131
|
+
throw new TypeError(`The "${val}" value for the "${name}" option must be of type "${type.name}"`);
|
|
132
|
+
}
|
|
133
|
+
return;
|
|
135
134
|
}
|
|
136
135
|
switch (type) {
|
|
137
136
|
case Boolean:
|
|
@@ -1,12 +1,6 @@
|
|
|
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
1
|
import deepmerge from "deepmerge";
|
|
8
2
|
import AbstractManager from "./AbstractManager.js";
|
|
9
|
-
import isObject from "../../utils/
|
|
3
|
+
import { isDev, isFunction, isDefined, isBoolean, isArray, isObject } from "../../utils/index.js";
|
|
10
4
|
const types = /* @__PURE__ */ new Set([String, Number, Boolean, Array, Object]);
|
|
11
5
|
const __defaultValues = {
|
|
12
6
|
String: "",
|
|
@@ -15,9 +9,6 @@ const __defaultValues = {
|
|
|
15
9
|
Array: () => [],
|
|
16
10
|
Object: () => ({})
|
|
17
11
|
};
|
|
18
|
-
function __hasProperty(that, prop) {
|
|
19
|
-
return typeof that.__element.dataset[prop] !== "undefined";
|
|
20
|
-
}
|
|
21
12
|
const __propertyNameCache = /* @__PURE__ */ new Map();
|
|
22
13
|
function __getPropertyName(name, prefix = "") {
|
|
23
14
|
const key = name + prefix;
|
|
@@ -29,13 +20,18 @@ function __getPropertyName(name, prefix = "") {
|
|
|
29
20
|
return propertyName;
|
|
30
21
|
}
|
|
31
22
|
function __register(that, name, config) {
|
|
32
|
-
var _a;
|
|
33
23
|
if (!types.has(config.type)) {
|
|
34
|
-
|
|
24
|
+
if (isDev) {
|
|
25
|
+
throw new Error(`The "${name}" option has an invalid type. The allowed types are: String, Number, Boolean, Array and Object.`);
|
|
26
|
+
}
|
|
27
|
+
return;
|
|
35
28
|
}
|
|
36
|
-
config.default =
|
|
37
|
-
if ((config.type === Array || config.type === Object) &&
|
|
38
|
-
|
|
29
|
+
config.default = config.default ?? __defaultValues[config.type.name];
|
|
30
|
+
if ((config.type === Array || config.type === Object) && !isFunction(config.default)) {
|
|
31
|
+
if (isDev) {
|
|
32
|
+
throw new Error(`The default value for options of type "${config.type.name}" must be returned by a function.`);
|
|
33
|
+
}
|
|
34
|
+
return;
|
|
39
35
|
}
|
|
40
36
|
Object.defineProperty(that, name, {
|
|
41
37
|
get: () => {
|
|
@@ -48,23 +44,22 @@ function __register(that, name, config) {
|
|
|
48
44
|
});
|
|
49
45
|
}
|
|
50
46
|
class OptionsManager extends AbstractManager {
|
|
47
|
+
__values = {};
|
|
48
|
+
name = "Base";
|
|
49
|
+
debug = false;
|
|
50
|
+
log = false;
|
|
51
51
|
constructor(base) {
|
|
52
|
-
var _a, _b;
|
|
53
52
|
super(base);
|
|
54
|
-
__publicField(this, "__values", {});
|
|
55
|
-
__publicField(this, "name", "Base");
|
|
56
|
-
__publicField(this, "debug", false);
|
|
57
|
-
__publicField(this, "log", false);
|
|
58
53
|
this.__hideProperties(["__values", "__defaultValues"]);
|
|
59
54
|
const schema = this.__config.options || {};
|
|
60
55
|
this.name = this.__config.name;
|
|
61
56
|
schema.debug = {
|
|
62
57
|
type: Boolean,
|
|
63
|
-
default:
|
|
58
|
+
default: this.__config.debug ?? false
|
|
64
59
|
};
|
|
65
60
|
schema.log = {
|
|
66
61
|
type: Boolean,
|
|
67
|
-
default:
|
|
62
|
+
default: this.__config.log ?? false
|
|
68
63
|
};
|
|
69
64
|
Object.entries(schema).forEach(([name, config]) => {
|
|
70
65
|
__register(this, name, types.has(config) ? { type: config } : config);
|
|
@@ -73,11 +68,11 @@ class OptionsManager extends AbstractManager {
|
|
|
73
68
|
get(name, config) {
|
|
74
69
|
const { type, default: defaultValue } = config;
|
|
75
70
|
const propertyName = __getPropertyName(name);
|
|
76
|
-
const hasProperty =
|
|
71
|
+
const hasProperty = isDefined(this.__element.dataset[propertyName]);
|
|
77
72
|
if (type === Boolean) {
|
|
78
73
|
if (defaultValue) {
|
|
79
74
|
const negatedPropertyName = __getPropertyName(name, "No");
|
|
80
|
-
const hasNegatedProperty =
|
|
75
|
+
const hasNegatedProperty = isDefined(this.__element.dataset[negatedPropertyName]);
|
|
81
76
|
return !hasNegatedProperty;
|
|
82
77
|
}
|
|
83
78
|
return hasProperty || defaultValue;
|
|
@@ -90,8 +85,8 @@ class OptionsManager extends AbstractManager {
|
|
|
90
85
|
config = type === Array ? config : config;
|
|
91
86
|
if (!this.__values[name]) {
|
|
92
87
|
let val = hasProperty ? JSON.parse(value) : config.default();
|
|
93
|
-
if (
|
|
94
|
-
val =
|
|
88
|
+
if (isDefined(config.merge)) {
|
|
89
|
+
val = isBoolean(config.merge) ? deepmerge(config.default(), val) : deepmerge(config.default(), val, config.merge);
|
|
95
90
|
}
|
|
96
91
|
this.__values[name] = val;
|
|
97
92
|
}
|
|
@@ -103,8 +98,11 @@ class OptionsManager extends AbstractManager {
|
|
|
103
98
|
const { type, default: defaultValue } = config;
|
|
104
99
|
const propertyName = __getPropertyName(name);
|
|
105
100
|
if (value.constructor.name !== type.name) {
|
|
106
|
-
|
|
107
|
-
|
|
101
|
+
if (isDev) {
|
|
102
|
+
const val = isArray(value) || isObject(value) ? JSON.stringify(value) : value;
|
|
103
|
+
throw new TypeError(`The "${val}" value for the "${name}" option must be of type "${type.name}"`);
|
|
104
|
+
}
|
|
105
|
+
return;
|
|
108
106
|
}
|
|
109
107
|
switch (type) {
|
|
110
108
|
case Boolean:
|