@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.
Files changed (238) hide show
  1. package/Base/index.cjs +284 -0
  2. package/Base/index.d.ts +36 -28
  3. package/Base/index.js +113 -197
  4. package/Base/managers/ChildrenManager.cjs +146 -0
  5. package/Base/managers/ChildrenManager.d.ts +11 -3
  6. package/Base/managers/ChildrenManager.js +60 -59
  7. package/Base/managers/EventsManager.cjs +183 -0
  8. package/Base/managers/EventsManager.d.ts +13 -20
  9. package/Base/managers/EventsManager.js +72 -112
  10. package/Base/managers/OptionsManager.cjs +173 -0
  11. package/Base/managers/OptionsManager.d.ts +20 -13
  12. package/Base/managers/OptionsManager.js +60 -91
  13. package/Base/managers/RefsManager.cjs +99 -0
  14. package/Base/managers/RefsManager.d.ts +4 -4
  15. package/Base/managers/RefsManager.js +28 -38
  16. package/Base/managers/ServicesManager.cjs +134 -0
  17. package/Base/managers/ServicesManager.d.ts +14 -8
  18. package/Base/managers/ServicesManager.js +42 -67
  19. package/Base/utils.cjs +41 -0
  20. package/Base/utils.d.ts +4 -4
  21. package/Base/utils.js +12 -11
  22. package/decorators/index.cjs +45 -0
  23. package/decorators/index.d.ts +1 -0
  24. package/decorators/index.js +20 -8
  25. package/decorators/withBreakpointManager.cjs +84 -0
  26. package/decorators/withBreakpointManager.d.ts +2 -2
  27. package/decorators/withBreakpointManager.js +18 -40
  28. package/decorators/withBreakpointObserver.cjs +114 -0
  29. package/decorators/withBreakpointObserver.d.ts +1 -1
  30. package/decorators/withBreakpointObserver.js +45 -88
  31. package/decorators/withDrag.cjs +53 -0
  32. package/decorators/withDrag.d.ts +1 -1
  33. package/decorators/withDrag.js +24 -26
  34. package/decorators/withExtraConfig.cjs +43 -0
  35. package/decorators/withExtraConfig.d.ts +1 -1
  36. package/decorators/withExtraConfig.js +17 -12
  37. package/decorators/withFreezedOptions.cjs +37 -0
  38. package/decorators/withFreezedOptions.d.ts +14 -0
  39. package/decorators/withFreezedOptions.js +15 -0
  40. package/decorators/withIntersectionObserver.cjs +61 -0
  41. package/decorators/withIntersectionObserver.d.ts +1 -1
  42. package/decorators/withIntersectionObserver.js +29 -33
  43. package/decorators/withMountWhenInView.cjs +68 -0
  44. package/decorators/withMountWhenInView.d.ts +1 -1
  45. package/decorators/withMountWhenInView.js +31 -53
  46. package/decorators/withScrolledInView.cjs +114 -0
  47. package/decorators/withScrolledInView.d.ts +1 -1
  48. package/decorators/withScrolledInView.js +35 -39
  49. package/decorators/withVue2.cjs +61 -0
  50. package/decorators/withVue2.js +27 -32
  51. package/helpers/createApp.cjs +52 -0
  52. package/helpers/createApp.d.ts +3 -26
  53. package/helpers/createApp.js +12 -12
  54. package/helpers/getInstanceFromElement.cjs +32 -0
  55. package/helpers/getInstanceFromElement.d.ts +14 -0
  56. package/helpers/getInstanceFromElement.js +10 -0
  57. package/helpers/importOnInteraction.cjs +52 -0
  58. package/helpers/importOnInteraction.d.ts +3 -5
  59. package/helpers/importOnInteraction.js +17 -18
  60. package/helpers/importWhenIdle.cjs +49 -0
  61. package/helpers/importWhenIdle.d.ts +3 -5
  62. package/helpers/importWhenIdle.js +14 -17
  63. package/helpers/importWhenVisible.cjs +50 -0
  64. package/helpers/importWhenVisible.d.ts +4 -6
  65. package/helpers/importWhenVisible.js +16 -18
  66. package/helpers/index.cjs +37 -0
  67. package/helpers/index.d.ts +1 -0
  68. package/helpers/index.js +12 -4
  69. package/helpers/utils.cjs +35 -0
  70. package/helpers/utils.d.ts +3 -4
  71. package/helpers/utils.js +7 -6
  72. package/index.cjs +33 -0
  73. package/index.js +7 -4
  74. package/package.json +14 -4
  75. package/services/Service.cjs +76 -0
  76. package/services/Service.d.ts +9 -9
  77. package/services/Service.js +19 -32
  78. package/services/drag.cjs +212 -0
  79. package/services/drag.d.ts +3 -2
  80. package/services/drag.js +64 -69
  81. package/services/index.cjs +41 -0
  82. package/services/index.js +16 -7
  83. package/services/key.cjs +104 -0
  84. package/services/key.d.ts +1 -1
  85. package/services/key.js +28 -36
  86. package/services/load.cjs +72 -0
  87. package/services/load.d.ts +1 -1
  88. package/services/load.js +17 -19
  89. package/services/pointer.cjs +162 -0
  90. package/services/pointer.d.ts +1 -1
  91. package/services/pointer.js +43 -60
  92. package/services/raf.cjs +83 -0
  93. package/services/raf.d.ts +1 -1
  94. package/services/raf.js +20 -28
  95. package/services/resize.cjs +108 -0
  96. package/services/resize.d.ts +1 -1
  97. package/services/resize.js +33 -42
  98. package/services/scroll.cjs +131 -0
  99. package/services/scroll.d.ts +1 -1
  100. package/services/scroll.js +26 -35
  101. package/utils/collide/boundingRectToCircle.cjs +34 -0
  102. package/utils/collide/boundingRectToCircle.d.ts +6 -6
  103. package/utils/collide/boundingRectToCircle.js +7 -10
  104. package/utils/collide/collideCircleCircle.cjs +34 -0
  105. package/utils/collide/collideCircleCircle.d.ts +4 -4
  106. package/utils/collide/collideCircleCircle.js +8 -7
  107. package/utils/collide/collideCircleRect.cjs +46 -0
  108. package/utils/collide/collideCircleRect.d.ts +8 -8
  109. package/utils/collide/collideCircleRect.js +10 -12
  110. package/utils/collide/collidePointCircle.cjs +31 -0
  111. package/utils/collide/collidePointCircle.d.ts +6 -6
  112. package/utils/collide/collidePointCircle.js +8 -5
  113. package/utils/collide/collidePointRect.cjs +28 -0
  114. package/utils/collide/collidePointRect.d.ts +7 -7
  115. package/utils/collide/collidePointRect.js +5 -2
  116. package/utils/collide/collideRectRect.cjs +28 -0
  117. package/utils/collide/collideRectRect.d.ts +5 -5
  118. package/utils/collide/collideRectRect.js +5 -2
  119. package/utils/collide/index.cjs +39 -0
  120. package/utils/collide/index.js +14 -6
  121. package/utils/css/classes.cjs +47 -0
  122. package/utils/css/classes.d.ts +13 -12
  123. package/utils/css/classes.js +19 -15
  124. package/utils/css/index.cjs +38 -0
  125. package/utils/css/index.d.ts +2 -2
  126. package/utils/css/index.js +13 -6
  127. package/utils/css/matrix.cjs +30 -0
  128. package/utils/css/matrix.d.ts +14 -15
  129. package/utils/css/matrix.js +7 -5
  130. package/utils/css/styles.cjs +44 -0
  131. package/utils/css/styles.d.ts +8 -20
  132. package/utils/css/styles.js +12 -12
  133. package/utils/css/transition.cjs +120 -0
  134. package/utils/css/transition.d.ts +15 -9
  135. package/utils/css/transition.js +70 -119
  136. package/utils/debounce.cjs +34 -0
  137. package/utils/debounce.d.ts +4 -4
  138. package/utils/debounce.js +7 -9
  139. package/utils/focusTrap.cjs +82 -0
  140. package/utils/focusTrap.d.ts +1 -0
  141. package/utils/focusTrap.js +31 -22
  142. package/utils/history.cjs +89 -0
  143. package/utils/history.d.ts +13 -11
  144. package/utils/history.js +28 -57
  145. package/utils/index.cjs +54 -0
  146. package/utils/index.d.ts +4 -1
  147. package/utils/index.js +32 -11
  148. package/utils/keyCodes.cjs +35 -0
  149. package/utils/keyCodes.js +5 -2
  150. package/utils/math/clamp.cjs +28 -0
  151. package/utils/math/clamp.d.ts +1 -1
  152. package/utils/math/clamp.js +5 -2
  153. package/utils/math/clamp01.cjs +32 -0
  154. package/utils/math/clamp01.d.ts +1 -1
  155. package/utils/math/clamp01.js +6 -3
  156. package/utils/math/damp.cjs +28 -0
  157. package/utils/math/damp.d.ts +6 -6
  158. package/utils/math/damp.js +5 -4
  159. package/utils/math/ease.cjs +88 -0
  160. package/utils/math/ease.d.ts +7 -7
  161. package/utils/math/ease.js +50 -25
  162. package/utils/math/index.cjs +43 -0
  163. package/utils/math/index.js +17 -8
  164. package/utils/math/inertiaFinalValue.cjs +37 -0
  165. package/utils/math/inertiaFinalValue.d.ts +5 -5
  166. package/utils/math/inertiaFinalValue.js +8 -10
  167. package/utils/math/lerp.cjs +28 -0
  168. package/utils/math/lerp.d.ts +4 -4
  169. package/utils/math/lerp.js +5 -2
  170. package/utils/math/map.cjs +28 -0
  171. package/utils/math/map.d.ts +6 -6
  172. package/utils/math/map.js +5 -2
  173. package/utils/math/round.cjs +28 -0
  174. package/utils/math/round.d.ts +4 -4
  175. package/utils/math/round.js +5 -3
  176. package/utils/memoize.cjs +43 -0
  177. package/utils/memoize.d.ts +1 -1
  178. package/utils/memoize.js +10 -19
  179. package/utils/nextFrame.cjs +38 -0
  180. package/utils/nextFrame.d.ts +6 -6
  181. package/utils/nextFrame.js +13 -10
  182. package/utils/nextMicrotask.cjs +28 -0
  183. package/utils/nextMicrotask.d.ts +8 -0
  184. package/utils/nextMicrotask.js +6 -0
  185. package/utils/nextTick.cjs +30 -0
  186. package/utils/nextTick.d.ts +8 -0
  187. package/utils/nextTick.js +8 -0
  188. package/utils/object/autoBind.cjs +49 -0
  189. package/utils/object/autoBind.d.ts +3 -3
  190. package/utils/object/autoBind.js +12 -22
  191. package/utils/object/getAllProperties.cjs +37 -0
  192. package/utils/object/getAllProperties.d.ts +3 -3
  193. package/utils/object/getAllProperties.js +10 -13
  194. package/utils/object/index.cjs +33 -0
  195. package/utils/object/index.js +8 -3
  196. package/utils/object/isObject.cjs +28 -0
  197. package/utils/object/isObject.d.ts +1 -1
  198. package/utils/object/isObject.js +6 -3
  199. package/utils/scrollTo.cjs +80 -0
  200. package/utils/scrollTo.d.ts +1 -1
  201. package/utils/scrollTo.js +20 -40
  202. package/utils/string/index.cjs +47 -0
  203. package/utils/string/index.js +22 -10
  204. package/utils/string/withLeadingCharacters.cjs +32 -0
  205. package/utils/string/withLeadingCharacters.d.ts +3 -2
  206. package/utils/string/withLeadingCharacters.js +7 -4
  207. package/utils/string/withLeadingSlash.cjs +32 -0
  208. package/utils/string/withLeadingSlash.d.ts +1 -1
  209. package/utils/string/withLeadingSlash.js +7 -4
  210. package/utils/string/withTrailingCharacters.cjs +32 -0
  211. package/utils/string/withTrailingCharacters.d.ts +3 -2
  212. package/utils/string/withTrailingCharacters.js +7 -4
  213. package/utils/string/withTrailingSlash.cjs +32 -0
  214. package/utils/string/withTrailingSlash.d.ts +1 -1
  215. package/utils/string/withTrailingSlash.js +7 -4
  216. package/utils/string/withoutLeadingCharacters.cjs +28 -0
  217. package/utils/string/withoutLeadingCharacters.d.ts +3 -2
  218. package/utils/string/withoutLeadingCharacters.js +6 -3
  219. package/utils/string/withoutLeadingCharactersRecursive.cjs +37 -0
  220. package/utils/string/withoutLeadingCharactersRecursive.d.ts +3 -2
  221. package/utils/string/withoutLeadingCharactersRecursive.js +8 -7
  222. package/utils/string/withoutLeadingSlash.cjs +32 -0
  223. package/utils/string/withoutLeadingSlash.d.ts +1 -1
  224. package/utils/string/withoutLeadingSlash.js +7 -4
  225. package/utils/string/withoutTrailingCharacters.cjs +28 -0
  226. package/utils/string/withoutTrailingCharacters.d.ts +3 -2
  227. package/utils/string/withoutTrailingCharacters.js +6 -3
  228. package/utils/string/withoutTrailingCharactersRecursive.cjs +37 -0
  229. package/utils/string/withoutTrailingCharactersRecursive.d.ts +3 -2
  230. package/utils/string/withoutTrailingCharactersRecursive.js +8 -7
  231. package/utils/string/withoutTrailingSlash.cjs +32 -0
  232. package/utils/string/withoutTrailingSlash.d.ts +1 -1
  233. package/utils/string/withoutTrailingSlash.js +7 -4
  234. package/utils/throttle.cjs +36 -0
  235. package/utils/throttle.d.ts +3 -3
  236. package/utils/throttle.js +9 -9
  237. package/index.modern.js +0 -1
  238. package/index.umd.js +0 -1
@@ -1,28 +1,26 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import deepmerge from 'deepmerge';
3
- import isObject from '../../utils/object/isObject.js';
4
- export default class OptionsManager {
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
- var _baseConfig$debug, _baseConfig$log;
7
-
8
- _defineProperty(this, "__element", void 0);
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
- _defineProperty(this, "name", 'Base');
21
-
22
- _defineProperty(this, "debug", false);
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: (_baseConfig$debug = baseConfig.debug) !== null && _baseConfig$debug !== void 0 ? _baseConfig$debug : false
44
+ default: (_a = baseConfig.debug) != null ? _a : false
47
45
  };
48
46
  schema.log = {
49
47
  type: Boolean,
50
- default: (_baseConfig$log = baseConfig.log) !== null && _baseConfig$log !== void 0 ? _baseConfig$log : false
48
+ default: (_b = baseConfig.log) != null ? _b : false
51
49
  };
52
- Object.entries(schema).forEach(_ref => {
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
- var hasDefaultValue = !OptionsManager.types.includes(config);
62
- var type = hasDefaultValue ? config.type : config;
63
-
64
- if (!OptionsManager.types.includes(type)) {
65
- throw new Error("The \"".concat(name, "\" option has an invalid type. The allowed types are: String, Number, Boolean, Array and Object."));
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
- var defaultValue = hasDefaultValue ? config.default : this.__defaultValues[type.name];
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
- get(name, type, defaultValue) {
86
- var propertyName = OptionsManager.__getPropertyName(name);
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
- var negatedPropertyName = OptionsManager.__getPropertyName(name, 'No');
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
- var propertyName = OptionsManager.__getPropertyName(name);
123
-
103
+ const propertyName = _OptionsManager.__getPropertyName(name);
124
104
  if (value.constructor.name !== type.name) {
125
- var val = Array.isArray(value) || isObject(value) ? JSON.stringify(value) : value;
126
- throw new TypeError("The \"".concat(val, "\" value for the \"").concat(name, "\" option must be of type \"").concat(type.name, "\""));
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
- var negatedPropertyName = OptionsManager.__getPropertyName(name, 'No');
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] !== 'undefined';
132
+ return typeof this.__element.dataset[prop] !== "undefined";
159
133
  }
160
-
161
- static __getPropertyName(name) {
162
- var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
163
- var key = name + prefix;
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
- var propertyName = "option".concat(prefix).concat(name.replace(/^\w/, c => c.toUpperCase()));
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
- _defineProperty(OptionsManager, "types", [String, Number, Boolean, Array, Object]);
179
-
180
- _defineProperty(OptionsManager, "__propertyNameCache", new Map());
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
- * @return {string} The normalized name.
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
- * @return {void}
53
+ * @returns {void}
54
54
  */
55
55
  registerAll(): void;
56
56
  /**
57
57
  * Unregister all refs.
58
58
  *
59
- * @return {void}
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
- * @return {boolean}
80
+ * @returns {boolean}
81
81
  * @private
82
82
  */
83
83
  private __filterRefsBelongingToInstance;
@@ -1,14 +1,15 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- export default class RefsManager {
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
- _defineProperty(this, "__element", void 0);
5
-
6
- _defineProperty(this, "__refs", void 0);
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
- var isMultiple = refName.endsWith('[]');
46
- var propName = RefsManager.normalizeRefName(refName);
47
- var refs = Array.from(this.__element.querySelectorAll("[data-ref=\"".concat(refName, "\"]"))).filter(ref => this.__filterRefsBelongingToInstance(ref));
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("[".concat(this.__base.$options.name, "]"), "The \"".concat(refName, "\" ref has been found multiple times."), 'Did you forgot to add the `[]` suffix to its name?');
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
- if (!isMultiple && refs.length <= 1 && refs[0] === undefined) {
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
- var propName = RefsManager.normalizeRefName(refName);
69
- var refs = Array.isArray(this[propName]) ? this[propName] : [this[propName]];
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('[]') ? name.replace(/\[\]$/, '') : name;
66
+ return name.endsWith("[]") ? name.replace(/\[\]$/, "") : name;
76
67
  }
77
-
78
68
  __filterRefsBelongingToInstance(ref) {
79
- var ancestor = ref.parentElement;
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
- * @return {Record<string, () => ServiceInterface>}
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
- * @return {Boolean}
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
- * @return {() => void} A function to unbind the service.
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
- * @return {Function[]}
52
+ * @returns {Function[]}
47
53
  */
48
54
  enableAll(): Function[];
49
55
  /**
50
56
  * Disable all services.
51
57
  *
52
- * @return {void}
58
+ * @returns {void}
53
59
  */
54
60
  disableAll(): void;
55
61
  /**
56
62
  * Disable a service.
57
63
  *
58
- * @param {String} service The name of the service.
59
- * @return {void}
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
- * @return {void}
72
+ * @returns {void}
67
73
  */
68
74
  toggle(service: string, force?: boolean): void;
69
75
  /**