@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.
Files changed (131) hide show
  1. package/Base/index.cjs +60 -69
  2. package/Base/index.d.ts +0 -8
  3. package/Base/index.js +67 -82
  4. package/Base/managers/AbstractManager.cjs +5 -10
  5. package/Base/managers/AbstractManager.js +5 -11
  6. package/Base/managers/ChildrenManager.cjs +2 -11
  7. package/Base/managers/ChildrenManager.js +2 -12
  8. package/Base/managers/EventsManager.cjs +61 -67
  9. package/Base/managers/EventsManager.js +61 -68
  10. package/Base/managers/OptionsManager.cjs +26 -27
  11. package/Base/managers/OptionsManager.js +26 -28
  12. package/Base/managers/RefsManager.cjs +9 -7
  13. package/Base/managers/RefsManager.js +9 -7
  14. package/Base/managers/ResponsiveOptionsManager.cjs +4 -1
  15. package/Base/managers/ResponsiveOptionsManager.js +4 -1
  16. package/Base/managers/ServicesManager.cjs +10 -16
  17. package/Base/managers/ServicesManager.js +10 -17
  18. package/Base/utils.cjs +22 -4
  19. package/Base/utils.d.ts +25 -8
  20. package/Base/utils.js +22 -4
  21. package/decorators/withBreakpointManager.cjs +15 -5
  22. package/decorators/withBreakpointManager.js +15 -5
  23. package/decorators/withBreakpointObserver.cjs +19 -18
  24. package/decorators/withBreakpointObserver.js +19 -19
  25. package/decorators/withDrag.cjs +6 -11
  26. package/decorators/withDrag.js +6 -12
  27. package/decorators/withExtraConfig.cjs +3 -8
  28. package/decorators/withExtraConfig.js +3 -9
  29. package/decorators/withFreezedOptions.cjs +1 -9
  30. package/decorators/withFreezedOptions.js +1 -10
  31. package/decorators/withIntersectionObserver.cjs +11 -16
  32. package/decorators/withIntersectionObserver.js +11 -17
  33. package/decorators/withMountWhenInView.cjs +12 -17
  34. package/decorators/withMountWhenInView.js +12 -18
  35. package/decorators/withScrolledInView.cjs +30 -35
  36. package/decorators/withScrolledInView.js +30 -36
  37. package/decorators/withVue2.cjs +20 -18
  38. package/decorators/withVue2.js +20 -19
  39. package/helpers/getInstanceFromElement.cjs +1 -2
  40. package/helpers/getInstanceFromElement.js +1 -2
  41. package/helpers/importOnInteraction.cjs +3 -2
  42. package/helpers/importOnInteraction.js +3 -2
  43. package/helpers/importWhenIdle.cjs +2 -3
  44. package/helpers/importWhenIdle.js +2 -3
  45. package/helpers/importWhenVisible.cjs +3 -2
  46. package/helpers/importWhenVisible.js +3 -2
  47. package/helpers/utils.cjs +3 -2
  48. package/helpers/utils.js +3 -2
  49. package/package.json +4 -1
  50. package/services/drag.cjs +126 -148
  51. package/services/drag.d.ts +10 -10
  52. package/services/drag.js +125 -148
  53. package/services/index.cjs +3 -1
  54. package/services/index.d.ts +1 -0
  55. package/services/index.js +3 -1
  56. package/services/key.cjs +48 -63
  57. package/services/key.d.ts +0 -8
  58. package/services/key.js +47 -63
  59. package/services/load.cjs +24 -40
  60. package/services/load.d.ts +0 -8
  61. package/services/load.js +23 -37
  62. package/services/pointer.cjs +72 -103
  63. package/services/pointer.d.ts +1 -9
  64. package/services/pointer.js +71 -100
  65. package/services/raf.cjs +38 -58
  66. package/services/raf.d.ts +0 -8
  67. package/services/raf.js +37 -55
  68. package/services/resize.cjs +59 -68
  69. package/services/resize.d.ts +0 -7
  70. package/services/resize.js +58 -68
  71. package/services/scroll.cjs +49 -71
  72. package/services/scroll.js +48 -71
  73. package/services/service.cjs +68 -0
  74. package/services/service.d.ts +18 -0
  75. package/services/service.js +46 -0
  76. package/utils/css/animate.cjs +33 -102
  77. package/utils/css/animate.d.ts +4 -13
  78. package/utils/css/animate.js +31 -100
  79. package/utils/css/classes.cjs +2 -1
  80. package/utils/css/classes.js +2 -1
  81. package/utils/css/matrix.cjs +1 -2
  82. package/utils/css/matrix.js +1 -2
  83. package/utils/css/styles.cjs +2 -5
  84. package/utils/css/styles.js +1 -1
  85. package/utils/css/transform.cjs +14 -18
  86. package/utils/css/transform.js +2 -3
  87. package/utils/css/transition.cjs +7 -10
  88. package/utils/css/transition.js +7 -11
  89. package/utils/focusTrap.cjs +2 -1
  90. package/utils/focusTrap.js +2 -1
  91. package/utils/{isFunction.cjs → has.cjs} +7 -7
  92. package/utils/has.d.ts +6 -0
  93. package/utils/has.js +6 -0
  94. package/utils/history.cjs +5 -7
  95. package/utils/history.js +4 -3
  96. package/utils/index.cjs +6 -5
  97. package/utils/index.d.ts +4 -2
  98. package/utils/index.js +6 -5
  99. package/utils/{object/isObject.cjs → is.cjs} +20 -8
  100. package/utils/is.d.ts +8 -0
  101. package/utils/is.js +18 -0
  102. package/utils/math/inertiaFinalValue.cjs +5 -3
  103. package/utils/math/inertiaFinalValue.js +2 -3
  104. package/utils/nextFrame.cjs +5 -3
  105. package/utils/nextFrame.js +5 -3
  106. package/utils/nextMicrotask.cjs +2 -1
  107. package/utils/nextMicrotask.js +2 -1
  108. package/utils/nextTick.cjs +2 -1
  109. package/utils/nextTick.js +2 -1
  110. package/utils/{isDefined.cjs → noop.cjs} +10 -7
  111. package/utils/noop.d.ts +12 -0
  112. package/utils/noop.js +9 -0
  113. package/utils/object/autoBind.cjs +3 -2
  114. package/utils/object/autoBind.js +3 -2
  115. package/utils/object/getAllProperties.cjs +2 -1
  116. package/utils/object/getAllProperties.js +2 -1
  117. package/utils/object/index.cjs +1 -3
  118. package/utils/object/index.d.ts +0 -1
  119. package/utils/object/index.js +1 -3
  120. package/utils/tween.cjs +113 -0
  121. package/utils/tween.d.ts +25 -0
  122. package/utils/tween.js +88 -0
  123. package/services/Service.cjs +0 -76
  124. package/services/Service.d.ts +0 -76
  125. package/services/Service.js +0 -55
  126. package/utils/isDefined.d.ts +0 -7
  127. package/utils/isDefined.js +0 -6
  128. package/utils/isFunction.d.ts +0 -7
  129. package/utils/isFunction.js +0 -6
  130. package/utils/object/isObject.d.ts +0 -7
  131. 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 __getEventNameByMethod(that, method, name = "") {
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 __getEventMethodsByName(that, name = "") {
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 __manageRef(that, name, elements, mode = "add") {
71
+ function manageRef(that, name, elements, mode = "add") {
75
72
  const action = `${mode}EventListener`;
76
- const methods = __getEventMethodsByName(that, name);
73
+ const methods = getEventMethodsByName(that, name);
77
74
  methods.forEach((method) => {
78
- const event = __getEventNameByMethod(that, method, name);
75
+ const event = getEventNameByMethod(method, name);
79
76
  elements.forEach((element) => element[action](event, that.__refsHandler));
80
77
  });
81
78
  }
82
- function __manageChild(that, name, instance, mode = "add") {
79
+ function manageChild(that, name, instance, mode = "add") {
83
80
  const action = mode === "add" ? "$on" : "$off";
84
- const methods = __getEventMethodsByName(that, name);
81
+ const methods = getEventMethodsByName(that, name);
85
82
  methods.forEach((method) => {
86
- const event = __getEventNameByMethod(that, method, name);
83
+ const event = getEventNameByMethod(method, name);
87
84
  instance[action](event, that.__childrenHandler);
88
85
  });
89
86
  }
90
- function __manageRootElement(that, mode = "add") {
87
+ function manageRootElement(that, mode = "add") {
91
88
  const modeMethod = `${mode}EventListener`;
92
- const methods = __getEventMethodsByName(that);
93
- const { emits = [] } = that.__base.__config;
94
- methods.forEach((method) => {
95
- const event = __getEventNameByMethod(that, method);
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
- constructor(base) {
102
- super(base);
103
- __publicField(this, "__methodsCache", /* @__PURE__ */ new Map());
104
- __publicField(this, "__rootElementHandler", {
105
- handleEvent: (event) => {
106
- const normalizedEventName = normalizeName(event.type);
107
- const method = `on${normalizedEventName}`;
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
- __publicField(this, "__refsHandler", {
112
- handleEvent: (event) => {
113
- const ref = event.currentTarget;
114
- const refName = (0, import_RefsManager.normalizeRefName)(ref.dataset.ref);
115
- const normalizedRefName = normalizeName(refName);
116
- const normalizedEventName = normalizeName(event.type);
117
- const method = `on${normalizedRefName}${normalizedEventName}`;
118
- let index = 0;
119
- if (Array.isArray(this.__base.$refs[refName])) {
120
- index = this.__base.$refs[refName].indexOf(ref);
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
- __publicField(this, "__childrenHandler", {
126
- handleEvent: (event) => {
127
- const child = event.currentTarget;
128
- let childName;
129
- let index = 0;
130
- const childrenManager = this.__base.$children;
131
- childrenManager.registeredNames.find((name) => {
132
- if (childrenManager[name].includes(child)) {
133
- childName = name;
134
- index = childrenManager[name].indexOf(child);
135
- return true;
136
- }
137
- return false;
138
- });
139
- const normalizedRefName = normalizeName(childName);
140
- const normalizedEventName = normalizeName(event.type);
141
- const method = `on${normalizedRefName}${normalizedEventName}`;
142
- const args = Array.isArray(event.detail) ? event.detail : [];
143
- this.__base[method](...args, index, event);
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
- __manageRef(this, name, elements);
148
+ manageRef(this, name, elements);
155
149
  }
156
150
  unbindRef(name, elements) {
157
- __manageRef(this, name, elements, "remove");
151
+ manageRef(this, name, elements, "remove");
158
152
  }
159
153
  bindChild(name, instance) {
160
- __manageChild(this, name, instance);
154
+ manageChild(this, name, instance);
161
155
  }
162
156
  unbindChild(name, instance) {
163
- __manageChild(this, name, instance, "remove");
157
+ manageChild(this, name, instance, "remove");
164
158
  }
165
159
  bindRootElement() {
166
- __manageRootElement(this);
160
+ manageRootElement(this);
167
161
  }
168
162
  unbindRootElement() {
169
- __manageRootElement(this, "remove");
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 __getEventNameByMethod(that, method, name = "") {
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 __getEventMethodsByName(that, name = "") {
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 __manageRef(that, name, elements, mode = "add") {
42
+ function manageRef(that, name, elements, mode = "add") {
47
43
  const action = `${mode}EventListener`;
48
- const methods = __getEventMethodsByName(that, name);
44
+ const methods = getEventMethodsByName(that, name);
49
45
  methods.forEach((method) => {
50
- const event = __getEventNameByMethod(that, method, name);
46
+ const event = getEventNameByMethod(method, name);
51
47
  elements.forEach((element) => element[action](event, that.__refsHandler));
52
48
  });
53
49
  }
54
- function __manageChild(that, name, instance, mode = "add") {
50
+ function manageChild(that, name, instance, mode = "add") {
55
51
  const action = mode === "add" ? "$on" : "$off";
56
- const methods = __getEventMethodsByName(that, name);
52
+ const methods = getEventMethodsByName(that, name);
57
53
  methods.forEach((method) => {
58
- const event = __getEventNameByMethod(that, method, name);
54
+ const event = getEventNameByMethod(method, name);
59
55
  instance[action](event, that.__childrenHandler);
60
56
  });
61
57
  }
62
- function __manageRootElement(that, mode = "add") {
58
+ function manageRootElement(that, mode = "add") {
63
59
  const modeMethod = `${mode}EventListener`;
64
- const methods = __getEventMethodsByName(that);
65
- const { emits = [] } = that.__base.__config;
66
- methods.forEach((method) => {
67
- const event = __getEventNameByMethod(that, method);
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
- constructor(base) {
74
- super(base);
75
- __publicField(this, "__methodsCache", /* @__PURE__ */ new Map());
76
- __publicField(this, "__rootElementHandler", {
77
- handleEvent: (event) => {
78
- const normalizedEventName = normalizeName(event.type);
79
- const method = `on${normalizedEventName}`;
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
- __publicField(this, "__refsHandler", {
84
- handleEvent: (event) => {
85
- const ref = event.currentTarget;
86
- const refName = normalizeRefName(ref.dataset.ref);
87
- const normalizedRefName = normalizeName(refName);
88
- const normalizedEventName = normalizeName(event.type);
89
- const method = `on${normalizedRefName}${normalizedEventName}`;
90
- let index = 0;
91
- if (Array.isArray(this.__base.$refs[refName])) {
92
- index = this.__base.$refs[refName].indexOf(ref);
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
- __publicField(this, "__childrenHandler", {
98
- handleEvent: (event) => {
99
- const child = event.currentTarget;
100
- let childName;
101
- let index = 0;
102
- const childrenManager = this.__base.$children;
103
- childrenManager.registeredNames.find((name) => {
104
- if (childrenManager[name].includes(child)) {
105
- childName = name;
106
- index = childrenManager[name].indexOf(child);
107
- return true;
108
- }
109
- return false;
110
- });
111
- const normalizedRefName = normalizeName(childName);
112
- const normalizedEventName = normalizeName(event.type);
113
- const method = `on${normalizedRefName}${normalizedEventName}`;
114
- const args = Array.isArray(event.detail) ? event.detail : [];
115
- this.__base[method](...args, index, event);
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
- __manageRef(this, name, elements);
119
+ manageRef(this, name, elements);
127
120
  }
128
121
  unbindRef(name, elements) {
129
- __manageRef(this, name, elements, "remove");
122
+ manageRef(this, name, elements, "remove");
130
123
  }
131
124
  bindChild(name, instance) {
132
- __manageChild(this, name, instance);
125
+ manageChild(this, name, instance);
133
126
  }
134
127
  unbindChild(name, instance) {
135
- __manageChild(this, name, instance, "remove");
128
+ manageChild(this, name, instance, "remove");
136
129
  }
137
130
  bindRootElement() {
138
- __manageRootElement(this);
131
+ manageRootElement(this);
139
132
  }
140
133
  unbindRootElement() {
141
- __manageRootElement(this, "remove");
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 import_isObject = __toESM(require("../../utils/object/isObject.cjs"), 1);
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
- throw new Error(`The "${name}" option has an invalid type. The allowed types are: String, Number, Boolean, Array and Object.`);
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 = (_a = config.default) != null ? _a : __defaultValues[config.type.name];
64
- if ((config.type === Array || config.type === Object) && typeof config.default !== "function") {
65
- throw new Error(`The default value for options of type "${config.type.name}" must be returned by a function.`);
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: (_a = this.__config.debug) != null ? _a : false
86
+ default: this.__config.debug ?? false
91
87
  };
92
88
  schema.log = {
93
89
  type: Boolean,
94
- default: (_b = this.__config.log) != null ? _b : false
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 = __hasProperty(this, propertyName);
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 = __hasProperty(this, negatedPropertyName);
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 (typeof config.merge !== "undefined") {
121
- val = typeof config.merge === "boolean" ? (0, import_deepmerge.default)(config.default(), val) : (0, import_deepmerge.default)(config.default(), val, config.merge);
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
- const val = Array.isArray(value) || (0, import_isObject.default)(value) ? JSON.stringify(value) : value;
134
- throw new TypeError(`The "${val}" value for the "${name}" option must be of type "${type.name}"`);
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/object/isObject.js";
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
- throw new Error(`The "${name}" option has an invalid type. The allowed types are: String, Number, Boolean, Array and Object.`);
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 = (_a = config.default) != null ? _a : __defaultValues[config.type.name];
37
- if ((config.type === Array || config.type === Object) && typeof config.default !== "function") {
38
- throw new Error(`The default value for options of type "${config.type.name}" must be returned by a function.`);
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: (_a = this.__config.debug) != null ? _a : false
58
+ default: this.__config.debug ?? false
64
59
  };
65
60
  schema.log = {
66
61
  type: Boolean,
67
- default: (_b = this.__config.log) != null ? _b : false
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 = __hasProperty(this, propertyName);
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 = __hasProperty(this, negatedPropertyName);
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 (typeof config.merge !== "undefined") {
94
- val = typeof config.merge === "boolean" ? deepmerge(config.default(), val) : deepmerge(config.default(), val, config.merge);
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
- const val = Array.isArray(value) || isObject(value) ? JSON.stringify(value) : value;
107
- throw new TypeError(`The "${val}" value for the "${name}" option must be of type "${type.name}"`);
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: