@studiometa/js-toolkit 2.12.0 → 3.0.0-alpha.2

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 (346) hide show
  1. package/Base/Base.d.ts +2 -2
  2. package/Base/Base.js +8 -45
  3. package/Base/Base.js.map +2 -2
  4. package/Base/features.d.ts +10 -2
  5. package/Base/features.js +23 -1
  6. package/Base/features.js.map +2 -2
  7. package/Base/managers/AbstractManager.d.ts +3 -3
  8. package/Base/managers/ActionManager.d.ts +4 -0
  9. package/Base/managers/ActionManager.js +10 -0
  10. package/Base/managers/ActionManager.js.map +7 -0
  11. package/Base/managers/ChildrenManager.d.ts +1 -1
  12. package/Base/managers/ChildrenManager.js +3 -3
  13. package/Base/managers/ChildrenManager.js.map +2 -2
  14. package/Base/managers/ServicesManager.d.ts +2 -4
  15. package/Base/managers/ServicesManager.js +2 -3
  16. package/Base/managers/ServicesManager.js.map +2 -2
  17. package/Base/utils.js +1 -1
  18. package/Base/utils.js.map +2 -2
  19. package/decorators/index.d.ts +0 -1
  20. package/decorators/index.js +0 -1
  21. package/decorators/index.js.map +2 -2
  22. package/decorators/withBreakpointObserver.js +1 -1
  23. package/decorators/withBreakpointObserver.js.map +2 -2
  24. package/decorators/withIntersectionObserver.js +3 -5
  25. package/decorators/withIntersectionObserver.js.map +2 -2
  26. package/decorators/withMountOnMediaQuery.js +1 -1
  27. package/decorators/withMountOnMediaQuery.js.map +2 -2
  28. package/decorators/withMountWhenInView.js +1 -1
  29. package/decorators/withMountWhenInView.js.map +2 -2
  30. package/decorators/withScrolledInView/utils.d.ts +12 -1
  31. package/decorators/withScrolledInView/utils.js.map +2 -2
  32. package/decorators/withScrolledInView/withScrolledInView.js +7 -62
  33. package/decorators/withScrolledInView/withScrolledInView.js.map +2 -2
  34. package/helpers/createApp.d.ts +2 -1
  35. package/helpers/createApp.js.map +2 -2
  36. package/package.json +2 -10
  37. package/services/index.d.ts +1 -1
  38. package/services/index.js.map +2 -2
  39. package/services/pointer.d.ts +1 -1
  40. package/services/pointer.js +3 -3
  41. package/services/pointer.js.map +2 -2
  42. package/services/raf.js +2 -4
  43. package/services/raf.js.map +2 -2
  44. package/services/resize.d.ts +7 -6
  45. package/services/resize.js +19 -26
  46. package/services/resize.js.map +2 -2
  47. package/services/scroll.js +8 -8
  48. package/services/scroll.js.map +2 -2
  49. package/utils/SmartQueue.d.ts +1 -1
  50. package/utils/SmartQueue.js +1 -1
  51. package/utils/SmartQueue.js.map +2 -2
  52. package/utils/css/animate.d.ts +33 -15
  53. package/utils/css/animate.js +67 -26
  54. package/utils/css/animate.js.map +2 -2
  55. package/utils/css/getOffsetSizes.js +2 -2
  56. package/utils/css/getOffsetSizes.js.map +1 -1
  57. package/utils/css/index.d.ts +2 -1
  58. package/utils/css/index.js +4 -4
  59. package/utils/css/index.js.map +2 -2
  60. package/utils/css/matrix.d.ts +1 -1
  61. package/utils/css/matrix.js.map +2 -2
  62. package/utils/css/transform.d.ts +1 -1
  63. package/utils/css/transform.js +1 -1
  64. package/utils/css/transform.js.map +2 -2
  65. package/utils/css/utils.d.ts +1 -1
  66. package/utils/css/utils.js +1 -1
  67. package/utils/css/utils.js.map +2 -2
  68. package/utils/index.d.ts +5 -4
  69. package/utils/index.js +16 -16
  70. package/utils/index.js.map +2 -2
  71. package/utils/is.d.ts +12 -0
  72. package/utils/is.js +17 -0
  73. package/utils/is.js.map +2 -2
  74. package/utils/math/createRange.d.ts +4 -0
  75. package/utils/math/createRange.js +13 -0
  76. package/utils/math/createRange.js.map +7 -0
  77. package/utils/math/ease.d.ts +1 -0
  78. package/utils/math/ease.js +2 -0
  79. package/utils/math/ease.js.map +2 -2
  80. package/utils/math/index.d.ts +5 -3
  81. package/utils/math/index.js +7 -3
  82. package/utils/math/index.js.map +2 -2
  83. package/utils/math/mean.d.ts +1 -0
  84. package/utils/math/mean.js +17 -0
  85. package/utils/math/mean.js.map +7 -0
  86. package/utils/nextFrame.d.ts +4 -22
  87. package/utils/nextFrame.js +3 -10
  88. package/utils/nextFrame.js.map +2 -2
  89. package/utils/nextMicrotask.d.ts +4 -1
  90. package/utils/nextMicrotask.js +3 -3
  91. package/utils/nextMicrotask.js.map +2 -2
  92. package/utils/nextTick.d.ts +4 -1
  93. package/utils/nextTick.js +3 -3
  94. package/utils/nextTick.js.map +2 -2
  95. package/utils/random.d.ts +15 -0
  96. package/utils/random.js +15 -0
  97. package/utils/random.js.map +7 -0
  98. package/utils/scrollTo.d.ts +30 -6
  99. package/utils/scrollTo.js +97 -43
  100. package/utils/scrollTo.js.map +2 -2
  101. package/utils/{focusTrap.d.ts → trapFocus.d.ts} +2 -10
  102. package/utils/{focusTrap.js → trapFocus.js} +5 -9
  103. package/utils/trapFocus.js.map +7 -0
  104. package/utils/tween.d.ts +59 -10
  105. package/utils/tween.js +24 -18
  106. package/utils/tween.js.map +2 -2
  107. package/Base/Base.cjs +0 -420
  108. package/Base/Base.cjs.map +0 -7
  109. package/Base/features.cjs +0 -27
  110. package/Base/features.cjs.map +0 -7
  111. package/Base/index.cjs +0 -21
  112. package/Base/index.cjs.map +0 -7
  113. package/Base/managers/AbstractManager.cjs +0 -78
  114. package/Base/managers/AbstractManager.cjs.map +0 -7
  115. package/Base/managers/ChildrenManager.cjs +0 -156
  116. package/Base/managers/ChildrenManager.cjs.map +0 -7
  117. package/Base/managers/EventsManager.cjs +0 -305
  118. package/Base/managers/EventsManager.cjs.map +0 -7
  119. package/Base/managers/OptionsManager.cjs +0 -198
  120. package/Base/managers/OptionsManager.cjs.map +0 -7
  121. package/Base/managers/RefsManager.cjs +0 -118
  122. package/Base/managers/RefsManager.cjs.map +0 -7
  123. package/Base/managers/ResponsiveOptionsManager.cjs +0 -79
  124. package/Base/managers/ResponsiveOptionsManager.cjs.map +0 -7
  125. package/Base/managers/ServicesManager.cjs +0 -161
  126. package/Base/managers/ServicesManager.cjs.map +0 -7
  127. package/Base/managers/index.cjs +0 -39
  128. package/Base/managers/index.cjs.map +0 -7
  129. package/Base/types.cjs +0 -19
  130. package/Base/types.cjs.map +0 -7
  131. package/Base/utils.cjs +0 -95
  132. package/Base/utils.cjs.map +0 -7
  133. package/decorators/index.cjs +0 -33
  134. package/decorators/index.cjs.map +0 -7
  135. package/decorators/withBreakpointManager.cjs +0 -102
  136. package/decorators/withBreakpointManager.cjs.map +0 -7
  137. package/decorators/withBreakpointObserver.cjs +0 -128
  138. package/decorators/withBreakpointObserver.cjs.map +0 -7
  139. package/decorators/withDrag.cjs +0 -56
  140. package/decorators/withDrag.cjs.map +0 -7
  141. package/decorators/withExtraConfig.cjs +0 -50
  142. package/decorators/withExtraConfig.cjs.map +0 -7
  143. package/decorators/withFreezedOptions.cjs +0 -50
  144. package/decorators/withFreezedOptions.cjs.map +0 -7
  145. package/decorators/withIntersectionObserver.cjs +0 -71
  146. package/decorators/withIntersectionObserver.cjs.map +0 -7
  147. package/decorators/withMountOnMediaQuery.cjs +0 -86
  148. package/decorators/withMountOnMediaQuery.cjs.map +0 -7
  149. package/decorators/withMountWhenInView.cjs +0 -92
  150. package/decorators/withMountWhenInView.cjs.map +0 -7
  151. package/decorators/withMountWhenPrefersMotion.cjs +0 -30
  152. package/decorators/withMountWhenPrefersMotion.cjs.map +0 -7
  153. package/decorators/withRelativePointer.cjs +0 -56
  154. package/decorators/withRelativePointer.cjs.map +0 -7
  155. package/decorators/withResponsiveOptions.cjs +0 -41
  156. package/decorators/withResponsiveOptions.cjs.map +0 -7
  157. package/decorators/withScrolledInView/index.cjs +0 -22
  158. package/decorators/withScrolledInView/index.cjs.map +0 -7
  159. package/decorators/withScrolledInView/types.cjs +0 -19
  160. package/decorators/withScrolledInView/types.cjs.map +0 -7
  161. package/decorators/withScrolledInView/utils.cjs +0 -99
  162. package/decorators/withScrolledInView/utils.cjs.map +0 -7
  163. package/decorators/withScrolledInView/withScrolledInView.cjs +0 -249
  164. package/decorators/withScrolledInView/withScrolledInView.cjs.map +0 -7
  165. package/decorators/withVue2.cjs +0 -68
  166. package/decorators/withVue2.cjs.map +0 -7
  167. package/decorators/withVue2.d.ts +0 -16
  168. package/decorators/withVue2.js +0 -46
  169. package/decorators/withVue2.js.map +0 -7
  170. package/helpers/createApp.cjs +0 -58
  171. package/helpers/createApp.cjs.map +0 -7
  172. package/helpers/getClosestParent.cjs +0 -45
  173. package/helpers/getClosestParent.cjs.map +0 -7
  174. package/helpers/getDirectChildren.cjs +0 -47
  175. package/helpers/getDirectChildren.cjs.map +0 -7
  176. package/helpers/getInstanceFromElement.cjs +0 -32
  177. package/helpers/getInstanceFromElement.cjs.map +0 -7
  178. package/helpers/importOnInteraction.cjs +0 -48
  179. package/helpers/importOnInteraction.cjs.map +0 -7
  180. package/helpers/importOnMediaQuery.cjs +0 -44
  181. package/helpers/importOnMediaQuery.cjs.map +0 -7
  182. package/helpers/importWhenIdle.cjs +0 -46
  183. package/helpers/importWhenIdle.cjs.map +0 -7
  184. package/helpers/importWhenPrefersMotion.cjs +0 -40
  185. package/helpers/importWhenPrefersMotion.cjs.map +0 -7
  186. package/helpers/importWhenVisible.cjs +0 -44
  187. package/helpers/importWhenVisible.cjs.map +0 -7
  188. package/helpers/index.cjs +0 -53
  189. package/helpers/index.cjs.map +0 -7
  190. package/helpers/utils.cjs +0 -37
  191. package/helpers/utils.cjs.map +0 -7
  192. package/index.cjs +0 -31
  193. package/index.cjs.map +0 -7
  194. package/services/drag.cjs +0 -231
  195. package/services/drag.cjs.map +0 -7
  196. package/services/index.cjs +0 -51
  197. package/services/index.cjs.map +0 -7
  198. package/services/key.cjs +0 -97
  199. package/services/key.cjs.map +0 -7
  200. package/services/load.cjs +0 -60
  201. package/services/load.cjs.map +0 -7
  202. package/services/pointer.cjs +0 -145
  203. package/services/pointer.cjs.map +0 -7
  204. package/services/raf.cjs +0 -80
  205. package/services/raf.cjs.map +0 -7
  206. package/services/resize.cjs +0 -107
  207. package/services/resize.cjs.map +0 -7
  208. package/services/scroll.cjs +0 -119
  209. package/services/scroll.cjs.map +0 -7
  210. package/services/service.cjs +0 -69
  211. package/services/service.cjs.map +0 -7
  212. package/utils/Queue.cjs +0 -93
  213. package/utils/Queue.cjs.map +0 -7
  214. package/utils/SmartQueue.cjs +0 -73
  215. package/utils/SmartQueue.cjs.map +0 -7
  216. package/utils/collide/boundingRectToCircle.cjs +0 -36
  217. package/utils/collide/boundingRectToCircle.cjs.map +0 -7
  218. package/utils/collide/collideCircleCircle.cjs +0 -35
  219. package/utils/collide/collideCircleCircle.cjs.map +0 -7
  220. package/utils/collide/collideCircleRect.cjs +0 -47
  221. package/utils/collide/collideCircleRect.cjs.map +0 -7
  222. package/utils/collide/collidePointCircle.cjs +0 -32
  223. package/utils/collide/collidePointCircle.cjs.map +0 -7
  224. package/utils/collide/collidePointRect.cjs +0 -32
  225. package/utils/collide/collidePointRect.cjs.map +0 -7
  226. package/utils/collide/collideRectRect.cjs +0 -32
  227. package/utils/collide/collideRectRect.cjs.map +0 -7
  228. package/utils/collide/index.cjs +0 -47
  229. package/utils/collide/index.cjs.map +0 -7
  230. package/utils/css/animate.cjs +0 -202
  231. package/utils/css/animate.cjs.map +0 -7
  232. package/utils/css/classes.cjs +0 -51
  233. package/utils/css/classes.cjs.map +0 -7
  234. package/utils/css/getOffsetSizes.cjs +0 -48
  235. package/utils/css/getOffsetSizes.cjs.map +0 -7
  236. package/utils/css/index.cjs +0 -52
  237. package/utils/css/index.cjs.map +0 -7
  238. package/utils/css/matrix.cjs +0 -30
  239. package/utils/css/matrix.cjs.map +0 -7
  240. package/utils/css/styles.cjs +0 -45
  241. package/utils/css/styles.cjs.map +0 -7
  242. package/utils/css/transform.cjs +0 -91
  243. package/utils/css/transform.cjs.map +0 -7
  244. package/utils/css/transition.cjs +0 -145
  245. package/utils/css/transition.cjs.map +0 -7
  246. package/utils/css/utils.cjs +0 -32
  247. package/utils/css/utils.cjs.map +0 -7
  248. package/utils/debounce.cjs +0 -35
  249. package/utils/debounce.cjs.map +0 -7
  250. package/utils/dom/ancestors.cjs +0 -37
  251. package/utils/dom/ancestors.cjs.map +0 -7
  252. package/utils/dom/index.cjs +0 -21
  253. package/utils/dom/index.cjs.map +0 -7
  254. package/utils/focusTrap.cjs +0 -93
  255. package/utils/focusTrap.cjs.map +0 -7
  256. package/utils/focusTrap.js.map +0 -7
  257. package/utils/getComponentResolver.cjs +0 -38
  258. package/utils/getComponentResolver.cjs.map +0 -7
  259. package/utils/has.cjs +0 -29
  260. package/utils/has.cjs.map +0 -7
  261. package/utils/history.cjs +0 -92
  262. package/utils/history.cjs.map +0 -7
  263. package/utils/index.cjs +0 -76
  264. package/utils/index.cjs.map +0 -7
  265. package/utils/is.cjs +0 -41
  266. package/utils/is.cjs.map +0 -7
  267. package/utils/keyCodes.cjs +0 -36
  268. package/utils/keyCodes.cjs.map +0 -7
  269. package/utils/math/clamp.cjs +0 -29
  270. package/utils/math/clamp.cjs.map +0 -7
  271. package/utils/math/clamp01.cjs +0 -40
  272. package/utils/math/clamp01.cjs.map +0 -7
  273. package/utils/math/createEases.cjs +0 -33
  274. package/utils/math/createEases.cjs.map +0 -7
  275. package/utils/math/damp.cjs +0 -29
  276. package/utils/math/damp.cjs.map +0 -7
  277. package/utils/math/ease.cjs +0 -82
  278. package/utils/math/ease.cjs.map +0 -7
  279. package/utils/math/index.cjs +0 -54
  280. package/utils/math/index.cjs.map +0 -7
  281. package/utils/math/inertiaFinalValue.cjs +0 -47
  282. package/utils/math/inertiaFinalValue.cjs.map +0 -7
  283. package/utils/math/lerp.cjs +0 -29
  284. package/utils/math/lerp.cjs.map +0 -7
  285. package/utils/math/map.cjs +0 -29
  286. package/utils/math/map.cjs.map +0 -7
  287. package/utils/math/round.cjs +0 -29
  288. package/utils/math/round.cjs.map +0 -7
  289. package/utils/memoize.cjs +0 -48
  290. package/utils/memoize.cjs.map +0 -7
  291. package/utils/nextFrame.cjs +0 -41
  292. package/utils/nextFrame.cjs.map +0 -7
  293. package/utils/nextMicrotask.cjs +0 -30
  294. package/utils/nextMicrotask.cjs.map +0 -7
  295. package/utils/nextTick.cjs +0 -31
  296. package/utils/nextTick.cjs.map +0 -7
  297. package/utils/noop.cjs +0 -32
  298. package/utils/noop.cjs.map +0 -7
  299. package/utils/object/autoBind.cjs +0 -60
  300. package/utils/object/autoBind.cjs.map +0 -7
  301. package/utils/object/autoBind.d.ts +0 -14
  302. package/utils/object/autoBind.js +0 -28
  303. package/utils/object/autoBind.js.map +0 -7
  304. package/utils/object/getAllProperties.cjs +0 -39
  305. package/utils/object/getAllProperties.cjs.map +0 -7
  306. package/utils/object/index.cjs +0 -39
  307. package/utils/object/index.cjs.map +0 -7
  308. package/utils/object/index.d.ts +0 -2
  309. package/utils/object/index.js +0 -7
  310. package/utils/object/index.js.map +0 -7
  311. package/utils/scheduler.cjs +0 -75
  312. package/utils/scheduler.cjs.map +0 -7
  313. package/utils/scrollTo.cjs +0 -88
  314. package/utils/scrollTo.cjs.map +0 -7
  315. package/utils/string/endsWith.cjs +0 -35
  316. package/utils/string/endsWith.cjs.map +0 -7
  317. package/utils/string/index.cjs +0 -58
  318. package/utils/string/index.cjs.map +0 -7
  319. package/utils/string/startsWith.cjs +0 -35
  320. package/utils/string/startsWith.cjs.map +0 -7
  321. package/utils/string/withLeadingCharacters.cjs +0 -40
  322. package/utils/string/withLeadingCharacters.cjs.map +0 -7
  323. package/utils/string/withLeadingSlash.cjs +0 -40
  324. package/utils/string/withLeadingSlash.cjs.map +0 -7
  325. package/utils/string/withTrailingCharacters.cjs +0 -40
  326. package/utils/string/withTrailingCharacters.cjs.map +0 -7
  327. package/utils/string/withTrailingSlash.cjs +0 -40
  328. package/utils/string/withTrailingSlash.cjs.map +0 -7
  329. package/utils/string/withoutLeadingCharacters.cjs +0 -29
  330. package/utils/string/withoutLeadingCharacters.cjs.map +0 -7
  331. package/utils/string/withoutLeadingCharactersRecursive.cjs +0 -45
  332. package/utils/string/withoutLeadingCharactersRecursive.cjs.map +0 -7
  333. package/utils/string/withoutLeadingSlash.cjs +0 -40
  334. package/utils/string/withoutLeadingSlash.cjs.map +0 -7
  335. package/utils/string/withoutTrailingCharacters.cjs +0 -29
  336. package/utils/string/withoutTrailingCharacters.cjs.map +0 -7
  337. package/utils/string/withoutTrailingCharactersRecursive.cjs +0 -45
  338. package/utils/string/withoutTrailingCharactersRecursive.cjs.map +0 -7
  339. package/utils/string/withoutTrailingSlash.cjs +0 -40
  340. package/utils/string/withoutTrailingSlash.cjs.map +0 -7
  341. package/utils/throttle.cjs +0 -37
  342. package/utils/throttle.cjs.map +0 -7
  343. package/utils/tween.cjs +0 -122
  344. package/utils/tween.cjs.map +0 -7
  345. package/utils/wait.cjs +0 -31
  346. package/utils/wait.cjs.map +0 -7
@@ -1,156 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/js-toolkit/Base/managers/ChildrenManager.ts
20
- var ChildrenManager_exports = {};
21
- __export(ChildrenManager_exports, {
22
- ChildrenManager: () => ChildrenManager
23
- });
24
- module.exports = __toCommonJS(ChildrenManager_exports);
25
- var import_AbstractManager = require("./AbstractManager.cjs");
26
- var import_utils = require("../utils.cjs");
27
- var import_utils2 = require("../../utils/index.cjs");
28
- function __getChild(that, el, ComponentClass, name) {
29
- const asyncComponentPromise = that.__asyncComponentPromises.get(
30
- ComponentClass
31
- );
32
- if ("$isBase" in ComponentClass || asyncComponentPromise && asyncComponentPromise.status === "resolved") {
33
- let ctor = ComponentClass;
34
- if (asyncComponentPromise) {
35
- ctor = asyncComponentPromise.ctor;
36
- }
37
- if (el.__base__ && el.__base__.has(ctor)) {
38
- return el.__base__.get(ctor);
39
- }
40
- const child = new ctor(el);
41
- Object.defineProperty(child, "$parent", { get: () => that.__base });
42
- return child;
43
- }
44
- const promise = asyncComponentPromise ? asyncComponentPromise.promise : ComponentClass(that.__base);
45
- if (!asyncComponentPromise) {
46
- that.__asyncComponentPromises.set(ComponentClass, {
47
- promise,
48
- status: "pending",
49
- ctor: void 0
50
- });
51
- }
52
- return promise.then((module2) => {
53
- const ctor = module2.default ?? module2;
54
- that.__asyncComponentPromises.set(ComponentClass, {
55
- promise,
56
- status: "resolved",
57
- ctor
58
- });
59
- return __getChild(that, el, ctor, name);
60
- });
61
- }
62
- function __triggerHookForAll(that, hook) {
63
- (0, import_utils.addToQueue)(() => {
64
- for (const name of that.registeredNames) {
65
- for (const instance of that[name]) {
66
- if (instance instanceof Promise) {
67
- instance.then((resolvedInstance) => {
68
- (0, import_utils.addToQueue)(() => that.__triggerHook(hook, resolvedInstance, name));
69
- });
70
- } else {
71
- (0, import_utils.addToQueue)(() => that.__triggerHook(hook, instance, name));
72
- }
73
- }
74
- }
75
- });
76
- }
77
- var ChildrenManager = class extends import_AbstractManager.AbstractManager {
78
- /**
79
- * Store async component promises to avoid calling them multiple times and
80
- * waiting for them when they are already resolved.
81
- */
82
- __asyncComponentPromises = /* @__PURE__ */ new WeakMap();
83
- get registeredNames() {
84
- return Object.keys(this).filter((key) => !(0, import_utils2.startsWith)(key, "__"));
85
- }
86
- /**
87
- * Register instances of all children components.
88
- */
89
- registerAll() {
90
- for (const [name, component] of Object.entries(this.__config.components))
91
- this.__register(name, component);
92
- }
93
- /**
94
- * Mount all child component instances.
95
- */
96
- mountAll() {
97
- __triggerHookForAll(this, "$mount");
98
- }
99
- /**
100
- * Update all child component instances.
101
- */
102
- updateAll() {
103
- __triggerHookForAll(this, "$update");
104
- }
105
- /**
106
- * Destroy all child component instances.
107
- */
108
- destroyAll() {
109
- __triggerHookForAll(this, "$destroy");
110
- }
111
- /**
112
- * Execute the given hook for the given instance.
113
- *
114
- * @param {'$mount'|'$update'|'$destroy'} hook The hook to trigger.
115
- * @param {Base} instance The target instance.
116
- * @param {string} name The name of the component.
117
- * @private
118
- */
119
- __triggerHook(hook, instance, name) {
120
- if (hook === "$update" && !instance.$isMounted) {
121
- hook = "$mount";
122
- }
123
- if (hook === "$update" || hook === "$destroy") {
124
- this.__eventsManager.unbindChild(name, instance);
125
- }
126
- if (hook === "$update" || hook === "$mount") {
127
- this.__eventsManager.bindChild(name, instance);
128
- }
129
- instance[hook]();
130
- }
131
- /**
132
- * Register instance of a child component.
133
- *
134
- * @param {string} name
135
- * The name of the child component.
136
- * @param {BaseConstructor|BaseAsyncConstructor} component
137
- * A Base class or a Promise for async components.
138
- * @private
139
- */
140
- __register(name, component) {
141
- Object.defineProperty(this, name, {
142
- enumerable: true,
143
- configurable: true,
144
- get: () => this.__getValue(name, component)
145
- });
146
- }
147
- __getValue(name, component) {
148
- const elements = (0, import_utils.getComponentElements)(name, this.__element);
149
- if (elements.length === 0) {
150
- return [];
151
- }
152
- return elements.map((element) => __getChild(this, element, component, name)).filter((instance) => instance !== "terminated");
153
- }
154
- };
155
- if (module.exports.default) module.exports = module.exports.default;
156
- //# sourceMappingURL=ChildrenManager.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/js-toolkit/Base/managers/ChildrenManager.ts"],
4
- "sourcesContent": ["import type { Base, BaseConstructor, BaseAsyncConstructor, BaseEl } from '../index.js';\nimport { AbstractManager } from './AbstractManager.js';\nimport { getComponentElements, addToQueue } from '../utils.js';\nimport { startsWith } from '../../utils/index.js';\n\n/**\n * Get a child component's instance.\n *\n * @param {ChildrenManager} that\n * @param {HTMLElement & { __base__?: WeakMap<BaseConstructor, Base> }} el\n * The root element of the child component.\n * @param {BaseConstructor|BaseAsyncConstructor} ComponentClass\n * A Base class or a Promise for async components.\n * @param {string} name\n * The name of the child component.\n * @returns {Base|Promise<Base | 'terminated'>|'terminated'}\n * A Base instance or a Promise resolving to a Base instance.\n * @private\n */\nfunction __getChild(\n // eslint-disable-next-line no-use-before-define\n that: ChildrenManager,\n el: BaseEl,\n ComponentClass: BaseConstructor | BaseAsyncConstructor,\n name: string,\n): Base | Promise<Base | 'terminated'> | 'terminated' {\n const asyncComponentPromise = that.__asyncComponentPromises.get(\n ComponentClass as BaseAsyncConstructor,\n );\n\n // Test if we have a constructor and not a promise or if the promise has been resolved\n if (\n '$isBase' in ComponentClass ||\n (asyncComponentPromise && asyncComponentPromise.status === 'resolved')\n ) {\n let ctor = ComponentClass as BaseConstructor;\n\n // Get resolved constructor from weakmap.\n // Only test for existence as the status was checked before.\n if (asyncComponentPromise) {\n ctor = asyncComponentPromise.ctor;\n }\n\n // Return existing instance if it exists\n if (el.__base__ && el.__base__.has(ctor)) {\n return el.__base__.get(ctor);\n }\n\n // Return a new instance if the component class is a child of the Base class\n // eslint-disable-next-line new-cap\n const child = new ctor(el);\n Object.defineProperty(child, '$parent', { get: () => that.__base });\n return child;\n }\n\n const promise = asyncComponentPromise\n ? asyncComponentPromise.promise\n : ComponentClass(that.__base);\n\n if (!asyncComponentPromise) {\n that.__asyncComponentPromises.set(ComponentClass, {\n promise,\n status: 'pending',\n ctor: undefined,\n });\n }\n\n // Resolve async components\n return promise.then((module) => {\n // @ts-ignore\n const ctor = module.default ?? module;\n\n that.__asyncComponentPromises.set(ComponentClass, {\n promise,\n status: 'resolved',\n ctor,\n });\n\n return __getChild(that, el, ctor, name);\n });\n}\n\n/**\n * Execute the given hook for all children instances.\n *\n * @param {ChildrenManager} that\n * @param {'$mount'|'$update'|'$destroy'} hook The hook to execute.\n * @private\n */\n// eslint-disable-next-line no-use-before-define\nfunction __triggerHookForAll(that: ChildrenManager, hook: '$mount' | '$update' | '$destroy') {\n addToQueue(() => {\n for (const name of that.registeredNames) {\n for (const instance of that[name]) {\n if (instance instanceof Promise) {\n instance.then((resolvedInstance) => {\n addToQueue(() => that.__triggerHook(hook, resolvedInstance, name));\n });\n } else {\n addToQueue(() => that.__triggerHook(hook, instance, name));\n }\n }\n }\n });\n}\n\n/**\n * Children manager.\n */\nexport class ChildrenManager extends AbstractManager {\n /**\n * Store async component promises to avoid calling them multiple times and\n * waiting for them when they are already resolved.\n */\n __asyncComponentPromises: WeakMap<\n BaseAsyncConstructor,\n {\n promise: ReturnType<BaseAsyncConstructor>;\n status: 'pending' | 'resolved';\n ctor?: BaseConstructor;\n }\n > = new WeakMap();\n\n get registeredNames(): string[] {\n return Object.keys(this).filter((key) => !startsWith(key, '__'));\n }\n\n /**\n * Register instances of all children components.\n */\n registerAll() {\n for (const [name, component] of Object.entries(this.__config.components))\n this.__register(name, component);\n }\n\n /**\n * Mount all child component instances.\n */\n mountAll() {\n __triggerHookForAll(this, '$mount');\n }\n\n /**\n * Update all child component instances.\n */\n updateAll() {\n __triggerHookForAll(this, '$update');\n }\n\n /**\n * Destroy all child component instances.\n */\n destroyAll() {\n __triggerHookForAll(this, '$destroy');\n }\n\n /**\n * Execute the given hook for the given instance.\n *\n * @param {'$mount'|'$update'|'$destroy'} hook The hook to trigger.\n * @param {Base} instance The target instance.\n * @param {string} name The name of the component.\n * @private\n */\n __triggerHook(hook: '$mount' | '$update' | '$destroy', instance: Base, name: string) {\n if (hook === '$update' && !instance.$isMounted) {\n // eslint-disable-next-line no-param-reassign\n hook = '$mount';\n }\n\n if (hook === '$update' || hook === '$destroy') {\n this.__eventsManager.unbindChild(name, instance);\n }\n\n if (hook === '$update' || hook === '$mount') {\n this.__eventsManager.bindChild(name, instance);\n }\n\n instance[hook]();\n }\n\n /**\n * Register instance of a child component.\n *\n * @param {string} name\n * The name of the child component.\n * @param {BaseConstructor|BaseAsyncConstructor} component\n * A Base class or a Promise for async components.\n * @private\n */\n __register(name: string, component: BaseConstructor | BaseAsyncConstructor) {\n Object.defineProperty(this, name, {\n enumerable: true,\n configurable: true,\n get: () => this.__getValue(name, component),\n });\n }\n\n __getValue(name: string, component: BaseConstructor | BaseAsyncConstructor) {\n const elements = getComponentElements(name, this.__element);\n\n if (elements.length === 0) {\n return [];\n }\n\n return elements\n .map((element) => __getChild(this, element, component, name))\n .filter((instance) => instance !== 'terminated');\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,6BAAgC;AAChC,mBAAiD;AACjD,IAAAA,gBAA2B;AAgB3B,SAAS,WAEP,MACA,IACA,gBACA,MACoD;AACpD,QAAM,wBAAwB,KAAK,yBAAyB;AAAA,IAC1D;AAAA,EACF;AAGA,MACE,aAAa,kBACZ,yBAAyB,sBAAsB,WAAW,YAC3D;AACA,QAAI,OAAO;AAIX,QAAI,uBAAuB;AACzB,aAAO,sBAAsB;AAAA,IAC/B;AAGA,QAAI,GAAG,YAAY,GAAG,SAAS,IAAI,IAAI,GAAG;AACxC,aAAO,GAAG,SAAS,IAAI,IAAI;AAAA,IAC7B;AAIA,UAAM,QAAQ,IAAI,KAAK,EAAE;AACzB,WAAO,eAAe,OAAO,WAAW,EAAE,KAAK,MAAM,KAAK,OAAO,CAAC;AAClE,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,wBACZ,sBAAsB,UACtB,eAAe,KAAK,MAAM;AAE9B,MAAI,CAAC,uBAAuB;AAC1B,SAAK,yBAAyB,IAAI,gBAAgB;AAAA,MAChD;AAAA,MACA,QAAQ;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAGA,SAAO,QAAQ,KAAK,CAACC,YAAW;AAE9B,UAAM,OAAOA,QAAO,WAAWA;AAE/B,SAAK,yBAAyB,IAAI,gBAAgB;AAAA,MAChD;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,IACF,CAAC;AAED,WAAO,WAAW,MAAM,IAAI,MAAM,IAAI;AAAA,EACxC,CAAC;AACH;AAUA,SAAS,oBAAoB,MAAuB,MAAyC;AAC3F,+BAAW,MAAM;AACf,eAAW,QAAQ,KAAK,iBAAiB;AACvC,iBAAW,YAAY,KAAK,IAAI,GAAG;AACjC,YAAI,oBAAoB,SAAS;AAC/B,mBAAS,KAAK,CAAC,qBAAqB;AAClC,yCAAW,MAAM,KAAK,cAAc,MAAM,kBAAkB,IAAI,CAAC;AAAA,UACnE,CAAC;AAAA,QACH,OAAO;AACL,uCAAW,MAAM,KAAK,cAAc,MAAM,UAAU,IAAI,CAAC;AAAA,QAC3D;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAKO,IAAM,kBAAN,cAA8B,uCAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnD,2BAOI,oBAAI,QAAQ;AAAA,EAEhB,IAAI,kBAA4B;AAC9B,WAAO,OAAO,KAAK,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAC,0BAAW,KAAK,IAAI,CAAC;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc;AACZ,eAAW,CAAC,MAAM,SAAS,KAAK,OAAO,QAAQ,KAAK,SAAS,UAAU;AACrE,WAAK,WAAW,MAAM,SAAS;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACT,wBAAoB,MAAM,QAAQ;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACV,wBAAoB,MAAM,SAAS;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AACX,wBAAoB,MAAM,UAAU;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,cAAc,MAAyC,UAAgB,MAAc;AACnF,QAAI,SAAS,aAAa,CAAC,SAAS,YAAY;AAE9C,aAAO;AAAA,IACT;AAEA,QAAI,SAAS,aAAa,SAAS,YAAY;AAC7C,WAAK,gBAAgB,YAAY,MAAM,QAAQ;AAAA,IACjD;AAEA,QAAI,SAAS,aAAa,SAAS,UAAU;AAC3C,WAAK,gBAAgB,UAAU,MAAM,QAAQ;AAAA,IAC/C;AAEA,aAAS,IAAI,EAAE;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,WAAW,MAAc,WAAmD;AAC1E,WAAO,eAAe,MAAM,MAAM;AAAA,MAChC,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,KAAK,MAAM,KAAK,WAAW,MAAM,SAAS;AAAA,IAC5C,CAAC;AAAA,EACH;AAAA,EAEA,WAAW,MAAc,WAAmD;AAC1E,UAAM,eAAW,mCAAqB,MAAM,KAAK,SAAS;AAE1D,QAAI,SAAS,WAAW,GAAG;AACzB,aAAO,CAAC;AAAA,IACV;AAEA,WAAO,SACJ,IAAI,CAAC,YAAY,WAAW,MAAM,SAAS,WAAW,IAAI,CAAC,EAC3D,OAAO,CAAC,aAAa,aAAa,YAAY;AAAA,EACnD;AACF;",
6
- "names": ["import_utils", "module"]
7
- }
@@ -1,305 +0,0 @@
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 __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // packages/js-toolkit/Base/managers/EventsManager.ts
30
- var EventsManager_exports = {};
31
- __export(EventsManager_exports, {
32
- EventsManager: () => EventsManager,
33
- normalizeEventName: () => normalizeEventName,
34
- normalizeName: () => normalizeName
35
- });
36
- module.exports = __toCommonJS(EventsManager_exports);
37
- var import_getAllProperties = __toESM(require("../../utils/object/getAllProperties.cjs"), 1);
38
- var import_utils = require("../../utils/index.cjs");
39
- var import_utils2 = require("../utils.cjs");
40
- var import_AbstractManager = require("./AbstractManager.cjs");
41
- var import_RefsManager = require("./RefsManager.cjs");
42
- var names = /* @__PURE__ */ new Map();
43
- var normalizeRegex1 = /[A-Z]([A-Z].*)/g;
44
- var normalizeRegex2 = /[^a-zA-Z\d\s:]/g;
45
- var normalizeRegex3 = /(^\w|\s+\w)/g;
46
- function normalizeName(name) {
47
- if (!names.has(name)) {
48
- names.set(
49
- name,
50
- name.replaceAll(normalizeRegex1, (c) => c.toLowerCase()).replaceAll(normalizeRegex2, " ").replaceAll(normalizeRegex3, (c) => c.trim().toUpperCase()).trim()
51
- );
52
- }
53
- return names.get(name);
54
- }
55
- var eventNames = /* @__PURE__ */ new Map();
56
- var normalizeEventRegex1 = /[A-Z]/g;
57
- var normalizeEventRegex2 = /^-/;
58
- function normalizeEventName(name) {
59
- if (!eventNames.has(name)) {
60
- eventNames.set(
61
- name,
62
- name.replaceAll(normalizeEventRegex1, (c) => `-${c.toLowerCase()}`).replace(normalizeEventRegex2, "")
63
- );
64
- }
65
- return eventNames.get(name);
66
- }
67
- var regexes = /* @__PURE__ */ new Map();
68
- function getRegex(regex) {
69
- if (!regexes.has(regex)) {
70
- regexes.set(regex, new RegExp(regex));
71
- }
72
- return regexes.get(regex);
73
- }
74
- function getEventNameByMethod(method, name = "") {
75
- const regex = getRegex(`^on${normalizeName(name)}([A-Z].*)$`);
76
- const [, event] = method.match(regex);
77
- return normalizeEventName(event);
78
- }
79
- function getEventMethodsByName(that, name = "") {
80
- const regex = getRegex(`^on${normalizeName(name)}[A-Z].*$`);
81
- const key = regex.toString();
82
- let methods = that.__methodsCache.get(key);
83
- if (!methods) {
84
- methods = Array.from(
85
- (0, import_getAllProperties.default)(that.__base, [], (method) => regex.test(method)).reduce(
86
- (set, [method]) => set.add(method),
87
- /* @__PURE__ */ new Set()
88
- )
89
- );
90
- that.__methodsCache.set(key, methods);
91
- }
92
- return methods;
93
- }
94
- function manageRef(that, name, elements, mode = "add") {
95
- const action = `${mode}EventListener`;
96
- const methods = getEventMethodsByName(that, name);
97
- for (const method of methods) {
98
- const event = getEventNameByMethod(method, name);
99
- for (const element of elements) {
100
- if (element instanceof EventTarget) {
101
- element[action](event, that.__refsHandler);
102
- }
103
- }
104
- }
105
- }
106
- function manageChild(that, name, instance, mode = "add") {
107
- const action = mode === "add" ? "$on" : "$off";
108
- const methods = getEventMethodsByName(that, name);
109
- for (const method of methods) {
110
- const event = getEventNameByMethod(method, name);
111
- instance[action](event, that.__childrenHandler);
112
- }
113
- }
114
- var isDocumentRegex = /^onDocument[A-Z][a-z]+/;
115
- var isWindowRegex = /^onWindow[A-Z][a-z]+/;
116
- var methodIsDocument = (method) => isDocumentRegex.test(method);
117
- var methodIsWindow = (method) => isWindowRegex.test(method);
118
- var methodIsGlobal = (method) => methodIsWindow(method) || methodIsDocument(method);
119
- var getGlobalEventTarget = (method) => methodIsDocument(method) ? document : window;
120
- function manageRootElement(that, mode = "add") {
121
- const modeMethod = `${mode}EventListener`;
122
- const methods = getEventMethodsByName(that);
123
- const { __base: base, __config: config } = that;
124
- for (const method of methods) {
125
- let event = getEventNameByMethod(method);
126
- if ((0, import_utils2.eventIsDefinedInConfig)(event, config) || (0, import_utils2.eventIsNative)(event, base.$el)) {
127
- const target = (0, import_utils2.getEventTarget)(base, event, config);
128
- target[modeMethod](event, that.__rootElementHandler);
129
- } else if (methodIsGlobal(method)) {
130
- event = getEventNameByMethod(method, methodIsDocument(method) ? "document" : "window");
131
- const target = getGlobalEventTarget(method);
132
- target[modeMethod](
133
- event,
134
- methodIsDocument(method) ? that.__documentHandler : that.__windowHandler
135
- );
136
- }
137
- }
138
- }
139
- var EventsManager = class extends import_AbstractManager.AbstractManager {
140
- __methodsCache = /* @__PURE__ */ new Map();
141
- /**
142
- * Event listener object for the root element.
143
- */
144
- __rootElementHandler = {
145
- handleEvent: (event) => {
146
- const normalizedEventName = normalizeName(event.type);
147
- const method = `on${normalizedEventName}`;
148
- if (event instanceof CustomEvent && (0, import_utils.isArray)(event.detail) && event.detail.length) {
149
- this.__base[method](...event.detail, event);
150
- } else {
151
- this.__base[method](event);
152
- }
153
- }
154
- };
155
- /**
156
- * Event listener object for the root element.
157
- *
158
- * @type {EventListenerObject}
159
- */
160
- __documentHandler = {
161
- /**
162
- * @param {Event|CustomEvent} event
163
- * @returns {void}
164
- */
165
- handleEvent: (event) => {
166
- const normalizedEventName = normalizeName(event.type);
167
- const method = `onDocument${normalizedEventName}`;
168
- this.__base[method](event);
169
- }
170
- };
171
- /**
172
- * Event listener object for the root element.
173
- *
174
- * @type {EventListenerObject}
175
- */
176
- __windowHandler = {
177
- /**
178
- * @param {Event|CustomEvent} event
179
- * @returns {void}
180
- */
181
- handleEvent: (event) => {
182
- const normalizedEventName = normalizeName(event.type);
183
- const method = `onWindow${normalizedEventName}`;
184
- this.__base[method](event);
185
- }
186
- };
187
- /**
188
- * Event listener object for the refs.
189
- */
190
- __refsHandler = {
191
- handleEvent: (event) => {
192
- const ref = event.currentTarget;
193
- const refName = (0, import_RefsManager.normalizeRefName)(ref.dataset.ref);
194
- const normalizedRefName = normalizeName(refName);
195
- const normalizedEventName = normalizeName(event.type);
196
- const method = `on${normalizedRefName}${normalizedEventName}`;
197
- let index = 0;
198
- if ((0, import_utils.isArray)(this.__base.$refs[refName])) {
199
- index = this.__base.$refs[refName].indexOf(ref);
200
- }
201
- this.__base[method](event, index);
202
- }
203
- };
204
- /**
205
- * Event listener object for the children.
206
- */
207
- __childrenHandler = {
208
- handleEvent: (event) => {
209
- const childrenManager = this.__base.$children;
210
- const { name, child: resolvedChild } = childrenManager.registeredNames.map((childName) => ({
211
- name: childName,
212
- child: [...childrenManager[childName]].find(
213
- // @ts-ignore
214
- (instance) => instance === event.currentTarget || instance.$el === event.currentTarget
215
- )
216
- })).find(({ child }) => child);
217
- const normalizedChildName = normalizeName(name);
218
- const normalizedEventName = normalizeName(event.type);
219
- const method = `on${normalizedChildName}${normalizedEventName}`;
220
- const index = [...childrenManager[name]].indexOf(resolvedChild);
221
- const args = (0, import_utils.isArray)(event.detail) ? event.detail : [];
222
- this.__base[method](...args, index, event);
223
- }
224
- };
225
- /**
226
- * Class constructor.
227
- */
228
- constructor(base) {
229
- super(base);
230
- this.__hideProperties([
231
- "__methodsCache",
232
- "__rootElementHandler",
233
- "__refsHandler",
234
- "__childrenHandler",
235
- "__documentHandler",
236
- "__windowHandler"
237
- ]);
238
- }
239
- /**
240
- * Bind event methods to the given ref elements.
241
- *
242
- * @param {string} name
243
- * The name of the ref.
244
- * @param {HTMLElement[]} elements
245
- * The elements of the ref.
246
- * @returns {void}
247
- */
248
- bindRef(name, elements) {
249
- manageRef(this, name, elements);
250
- }
251
- /**
252
- * Bind event methods to the given ref elements.
253
- *
254
- * @param {string} name
255
- * The name of the ref.
256
- * @param {HTMLElement[]} elements
257
- * The elements of the ref.
258
- * @returns {void}
259
- */
260
- unbindRef(name, elements) {
261
- manageRef(this, name, elements, "remove");
262
- }
263
- /**
264
- * Bind event methods to the given child instance.
265
- *
266
- * @param {string} name
267
- * The name of the ref.
268
- * @param {Base} instance
269
- * A base instance.
270
- * @returns {void}
271
- */
272
- bindChild(name, instance) {
273
- manageChild(this, name, instance);
274
- }
275
- /**
276
- * Unbind event methods to the given child instance.
277
- *
278
- * @param {string} name
279
- * The name of the ref.
280
- * @param {Base} instance
281
- * A base instance.
282
- * @returns {void}
283
- */
284
- unbindChild(name, instance) {
285
- manageChild(this, name, instance, "remove");
286
- }
287
- /**
288
- * Bind event methods on the root element.
289
- *
290
- * @returns {void}
291
- */
292
- bindRootElement() {
293
- manageRootElement(this);
294
- }
295
- /**
296
- * Unbind event method from the root element.
297
- *
298
- * @returns {void}
299
- */
300
- unbindRootElement() {
301
- manageRootElement(this, "remove");
302
- }
303
- };
304
- if (module.exports.default) module.exports = module.exports.default;
305
- //# sourceMappingURL=EventsManager.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/js-toolkit/Base/managers/EventsManager.ts"],
4
- "sourcesContent": ["import type { Base } from '../index.js';\nimport getAllProperties from '../../utils/object/getAllProperties.js';\nimport { isArray } from '../../utils/index.js';\nimport { getEventTarget, eventIsNative, eventIsDefinedInConfig } from '../utils.js';\nimport { AbstractManager } from './AbstractManager.js';\nimport { normalizeRefName } from './RefsManager.js';\n\nconst names = new Map();\nconst normalizeRegex1 = /[A-Z]([A-Z].*)/g;\nconst normalizeRegex2 = /[^a-zA-Z\\d\\s:]/g;\nconst normalizeRegex3 = /(^\\w|\\s+\\w)/g;\n\n/**\n * Normalize the given name to PascalCase, such as:\n *\n * ```\n * sentence case => SentenceCase\n * lowercase => Lowercase\n * UPPERCASE => Uppercase\n * kebab-case => KebabCase\n * snake_case => SnakeCase\n * camelCase => CamelCase\n * PascalCase => PascalCase\n * .class-selector => ClassSelector\n * .bem__selector => BemSelector\n * __id-selector => IdSelector\n * .complex[class^ =\"__\"] => ComplexClass\n * ```\n *\n * @param {string} name\n * @returns {string}\n */\nexport function normalizeName(name: string): string {\n if (!names.has(name)) {\n names.set(\n name,\n name\n .replaceAll(normalizeRegex1, (c) => c.toLowerCase())\n .replaceAll(normalizeRegex2, ' ')\n .replaceAll(normalizeRegex3, (c) => c.trim().toUpperCase())\n .trim(),\n );\n }\n\n return names.get(name);\n}\n\nconst eventNames = new Map();\n\nconst normalizeEventRegex1 = /[A-Z]/g;\nconst normalizeEventRegex2 = /^-/;\n/**\n * Normalize the event names from PascalCase to kebab-case.\n *\n * @param {string} name\n * @returns {string}\n */\nexport function normalizeEventName(name: string): string {\n if (!eventNames.has(name)) {\n eventNames.set(\n name,\n name\n .replaceAll(normalizeEventRegex1, (c) => `-${c.toLowerCase()}`)\n .replace(normalizeEventRegex2, ''),\n );\n }\n\n return eventNames.get(name);\n}\n\nconst regexes = new Map();\n\n/**\n * Get a regex with a cache;\n *\n * @param {string} regex\n * @returns {RegExp}\n */\nfunction getRegex(regex: string): RegExp {\n if (!regexes.has(regex)) {\n regexes.set(regex, new RegExp(regex));\n }\n\n return regexes.get(regex);\n}\n\n/**\n * Get the event name from the given method and its tied ref or children name.\n *\n * @param {string} method\n * @param {string} name\n * @returns {string}\n * @private\n */\nfunction getEventNameByMethod(method: string, name = ''): string {\n const regex = getRegex(`^on${normalizeName(name)}([A-Z].*)$`);\n const [, event] = method.match(regex);\n return normalizeEventName(event);\n}\n\n/**\n * Get the base instance methods matching the `onSomething` pattern.\n *\n * @param {EventsManager} that\n * @param {string} [name]\n * @returns {string[]}\n * @private\n */\n// eslint-disable-next-line no-use-before-define\nfunction getEventMethodsByName(that: EventsManager, name = ''): string[] {\n const regex = getRegex(`^on${normalizeName(name)}[A-Z].*$`);\n const key = regex.toString();\n\n let methods = that.__methodsCache.get(key);\n\n if (!methods) {\n methods = Array.from(\n getAllProperties(that.__base, [], (method) => regex.test(method)).reduce(\n (set, [method]) => set.add(method),\n new Set(),\n ),\n ) as string[];\n that.__methodsCache.set(key, methods);\n }\n\n return methods;\n}\n\n/**\n * Manage a ref event methods.\n *\n * @param {EventsManager} that\n * @param {string} name\n * The name of the ref.\n * @param {HTMLElement[]} elements\n * The elements of the ref.\n * @param {'add'|'remove'} [mode]\n * The action to perform: add or remove the event listeners.\n * @returns {void}\n * @private\n */\nfunction manageRef(\n // eslint-disable-next-line no-use-before-define\n that: EventsManager,\n name: string,\n elements: HTMLElement[],\n mode: 'add' | 'remove' = 'add',\n) {\n const action = `${mode}EventListener`;\n const methods = getEventMethodsByName(that, name);\n for (const method of methods) {\n const event = getEventNameByMethod(method, name);\n for (const element of elements) {\n if (element instanceof EventTarget) {\n element[action](event, that.__refsHandler);\n }\n }\n }\n}\n/**\n * Manage event methods to the given child instance.\n *\n * @param {EventsManager} that\n * @param {string} name\n * The name of the ref.\n * @param {Base} instance\n * A base instance.\n * @param {'add'|'remove'} [mode]\n * The action to perform: add or remove the event listeners.\n * @returns {void}\n * @private\n */\nfunction manageChild(\n // eslint-disable-next-line no-use-before-define\n that: EventsManager,\n name: string,\n instance: Base,\n mode: 'add' | 'remove' = 'add',\n) {\n const action = mode === 'add' ? '$on' : '$off';\n const methods = getEventMethodsByName(that, name);\n for (const method of methods) {\n const event = getEventNameByMethod(method, name);\n instance[action](event, that.__childrenHandler);\n }\n}\n\nconst isDocumentRegex = /^onDocument[A-Z][a-z]+/;\nconst isWindowRegex = /^onWindow[A-Z][a-z]+/;\nconst methodIsDocument = (method) => isDocumentRegex.test(method);\nconst methodIsWindow = (method) => isWindowRegex.test(method);\nconst methodIsGlobal = (method) => methodIsWindow(method) || methodIsDocument(method);\nconst getGlobalEventTarget = (method) => (methodIsDocument(method) ? document : window);\n\n/**\n * Manage event methods on the root element.\n *\n * @param {EventsManager} that\n * @param {'add'|'remove'} [mode]\n * The action to perform: add or remove the event listeners, defaults to 'add'.\n * @returns {void}\n * @private\n */\n// eslint-disable-next-line no-use-before-define\nfunction manageRootElement(that: EventsManager, mode: 'add' | 'remove' = 'add') {\n const modeMethod = `${mode}EventListener`;\n const methods = getEventMethodsByName(that);\n\n const { __base: base, __config: config } = that;\n\n for (const method of methods) {\n let event = getEventNameByMethod(method);\n\n if (eventIsDefinedInConfig(event, config) || eventIsNative(event, base.$el)) {\n const target = getEventTarget(base, event, config);\n target[modeMethod](event, that.__rootElementHandler);\n } else if (methodIsGlobal(method)) {\n event = getEventNameByMethod(method, methodIsDocument(method) ? 'document' : 'window');\n const target = getGlobalEventTarget(method);\n target[modeMethod](\n event,\n methodIsDocument(method) ? that.__documentHandler : that.__windowHandler,\n );\n }\n }\n}\n\n/**\n * Event management class.\n *\n * @todo Prevent binding of `onChildOrRefEvent` to the root element\n * @todo Use event delegation?\n */\nexport class EventsManager extends AbstractManager {\n __methodsCache: Map<string, string[]> = new Map();\n\n /**\n * Event listener object for the root element.\n */\n __rootElementHandler: EventListenerObject = {\n handleEvent: (event: Event | CustomEvent) => {\n const normalizedEventName = normalizeName(event.type);\n const method = `on${normalizedEventName}`;\n\n if (event instanceof CustomEvent && isArray(event.detail) && event.detail.length) {\n this.__base[method](...event.detail, event);\n } else {\n this.__base[method](event);\n }\n },\n };\n\n /**\n * Event listener object for the root element.\n *\n * @type {EventListenerObject}\n */\n __documentHandler = {\n /**\n * @param {Event|CustomEvent} event\n * @returns {void}\n */\n handleEvent: (event) => {\n const normalizedEventName = normalizeName(event.type);\n const method = `onDocument${normalizedEventName}`;\n\n this.__base[method](event);\n },\n };\n\n /**\n * Event listener object for the root element.\n *\n * @type {EventListenerObject}\n */\n __windowHandler = {\n /**\n * @param {Event|CustomEvent} event\n * @returns {void}\n */\n handleEvent: (event) => {\n const normalizedEventName = normalizeName(event.type);\n const method = `onWindow${normalizedEventName}`;\n\n this.__base[method](event);\n },\n };\n\n /**\n * Event listener object for the refs.\n */\n __refsHandler: EventListenerObject = {\n handleEvent: (event) => {\n const ref = event.currentTarget as HTMLElement;\n const refName = normalizeRefName(ref.dataset.ref);\n\n const normalizedRefName = normalizeName(refName);\n const normalizedEventName = normalizeName(event.type);\n const method = `on${normalizedRefName}${normalizedEventName}`;\n\n let index = 0;\n if (isArray(this.__base.$refs[refName])) {\n index = (this.__base.$refs[refName] as HTMLElement[]).indexOf(ref);\n }\n\n this.__base[method](event, index);\n },\n };\n\n /**\n * Event listener object for the children.\n */\n __childrenHandler: EventListenerObject = {\n handleEvent: (event: CustomEvent) => {\n const childrenManager = this.__base.$children;\n\n // @todo handle async child components\n const { name, child: resolvedChild } = childrenManager.registeredNames\n .map((childName) => ({\n name: childName,\n child: [...childrenManager[childName]].find(\n // @ts-ignore\n (instance) => instance === event.currentTarget || instance.$el === event.currentTarget,\n ),\n }))\n .find(({ child }) => child);\n\n const normalizedChildName = normalizeName(name);\n const normalizedEventName = normalizeName(event.type);\n const method = `on${normalizedChildName}${normalizedEventName}`;\n\n const index = [...childrenManager[name]].indexOf(resolvedChild);\n\n const args = isArray(event.detail) ? event.detail : [];\n this.__base[method](...args, index, event);\n },\n };\n\n /**\n * Class constructor.\n */\n constructor(base: Base) {\n super(base);\n\n this.__hideProperties([\n '__methodsCache',\n '__rootElementHandler',\n '__refsHandler',\n '__childrenHandler',\n '__documentHandler',\n '__windowHandler',\n ]);\n }\n\n /**\n * Bind event methods to the given ref elements.\n *\n * @param {string} name\n * The name of the ref.\n * @param {HTMLElement[]} elements\n * The elements of the ref.\n * @returns {void}\n */\n bindRef(name: string, elements: HTMLElement[]) {\n manageRef(this, name, elements);\n }\n\n /**\n * Bind event methods to the given ref elements.\n *\n * @param {string} name\n * The name of the ref.\n * @param {HTMLElement[]} elements\n * The elements of the ref.\n * @returns {void}\n */\n unbindRef(name: string, elements: HTMLElement[]) {\n manageRef(this, name, elements, 'remove');\n }\n\n /**\n * Bind event methods to the given child instance.\n *\n * @param {string} name\n * The name of the ref.\n * @param {Base} instance\n * A base instance.\n * @returns {void}\n */\n bindChild(name: string, instance: Base) {\n manageChild(this, name, instance);\n }\n\n /**\n * Unbind event methods to the given child instance.\n *\n * @param {string} name\n * The name of the ref.\n * @param {Base} instance\n * A base instance.\n * @returns {void}\n */\n unbindChild(name: string, instance: Base) {\n manageChild(this, name, instance, 'remove');\n }\n\n /**\n * Bind event methods on the root element.\n *\n * @returns {void}\n */\n bindRootElement() {\n manageRootElement(this);\n }\n\n /**\n * Unbind event method from the root element.\n *\n * @returns {void}\n */\n unbindRootElement() {\n manageRootElement(this, 'remove');\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_utils", "getAllProperties"]
7
- }