@twobirds/microcomponents 0.1.1 → 0.1.3

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 (343) hide show
  1. package/dist/MC.d.ts +0 -1
  2. package/dist/MC.js +6 -5
  3. package/dist/MC.min.js +39 -56
  4. package/dist/MC.ts +6 -4
  5. package/dist/elements.d.ts +0 -1
  6. package/dist/elements.js +0 -1
  7. package/dist/elements.min.js +1 -1
  8. package/dist/formValues.d.ts +0 -1
  9. package/dist/formValues.js +0 -1
  10. package/dist/formValues.min.js +1 -1
  11. package/dist/helpers.d.ts +0 -1
  12. package/dist/helpers.js +0 -1
  13. package/dist/microcomponents.d.ts +0 -1
  14. package/dist/microcomponents.js +0 -1
  15. package/dist/microcomponents.min.js +1 -1
  16. package/dist/observables.d.ts +0 -1
  17. package/dist/observables.js +0 -1
  18. package/dist/observables.min.js +1 -1
  19. package/package.json +10 -2
  20. package/.gitlab-ci.yml +0 -18
  21. package/.vscode/settings.json +0 -3
  22. package/MicroComponents.svg +0 -15
  23. package/assets/documentation/MC.md +0 -547
  24. package/assets/documentation/MicroComponents.svg +0 -15
  25. package/assets/documentation/ajaxian-1.png +0 -0
  26. package/assets/documentation/ajaxian-2.png +0 -0
  27. package/assets/documentation/ajaxian-3.png +0 -0
  28. package/assets/documentation/elements.md +0 -277
  29. package/assets/documentation/formvalues.md +0 -25
  30. package/assets/documentation/functional_requirements.md +0 -8
  31. package/assets/documentation/history.md +0 -436
  32. package/assets/documentation/klemmstein.png +0 -0
  33. package/assets/documentation/magic.md +0 -29
  34. package/assets/documentation/observables.md +0 -187
  35. package/assets/documentation/rnd0023-1.jpg +0 -0
  36. package/assets/documentation/rnd0023-2.jpg +0 -0
  37. package/assets/documentation/rnd0023-3.jpg +0 -0
  38. package/assets/documentation/tB_react.md +0 -207
  39. package/assets/documentation/usage.md +0 -142
  40. package/assets/documentation/why.md +0 -25
  41. package/assets/fiddle/MicroComponents.svg +0 -15
  42. package/assets/fiddle/fiddle.css +0 -0
  43. package/assets/fiddle/fiddle.js +0 -0
  44. package/assets/fiddle/index.html +0 -0
  45. package/assets/test/MicroComponents.svg +0 -15
  46. package/assets/test/grandparent.css +0 -16
  47. package/assets/test/myButton.css +0 -19
  48. package/assets/test/style.css +0 -8
  49. package/assets/test/test.html +0 -29
  50. package/assets/test/testform.json +0 -27
  51. package/dist/MC.d.ts.map +0 -1
  52. package/dist/elements.d.ts.map +0 -1
  53. package/dist/formValues.d.ts.map +0 -1
  54. package/dist/helpers.d.ts.map +0 -1
  55. package/dist/microcomponents.d.ts.map +0 -1
  56. package/dist/observables.d.ts.map +0 -1
  57. package/public/.nojekyll +0 -1
  58. package/public/MC.d.ts +0 -39
  59. package/public/MC.d.ts.map +0 -1
  60. package/public/MC.js +0 -287
  61. package/public/MC.js.map +0 -1
  62. package/public/MC.min.js +0 -348
  63. package/public/MC.ts +0 -431
  64. package/public/MicroComponents.svg +0 -15
  65. package/public/documentation/MC.md +0 -547
  66. package/public/documentation/MicroComponents.svg +0 -15
  67. package/public/documentation/ajaxian-1.png +0 -0
  68. package/public/documentation/ajaxian-2.png +0 -0
  69. package/public/documentation/ajaxian-3.png +0 -0
  70. package/public/documentation/elements.md +0 -277
  71. package/public/documentation/formvalues.md +0 -25
  72. package/public/documentation/functional_requirements.md +0 -8
  73. package/public/documentation/history.md +0 -436
  74. package/public/documentation/klemmstein.png +0 -0
  75. package/public/documentation/magic.md +0 -29
  76. package/public/documentation/observables.md +0 -187
  77. package/public/documentation/rnd0023-1.jpg +0 -0
  78. package/public/documentation/rnd0023-2.jpg +0 -0
  79. package/public/documentation/rnd0023-3.jpg +0 -0
  80. package/public/documentation/tB_react.md +0 -207
  81. package/public/documentation/usage.md +0 -142
  82. package/public/documentation/why.md +0 -25
  83. package/public/elements.d.ts +0 -5
  84. package/public/elements.d.ts.map +0 -1
  85. package/public/elements.js +0 -68
  86. package/public/elements.js.map +0 -1
  87. package/public/elements.min.js +0 -1
  88. package/public/elements.ts +0 -119
  89. package/public/fiddle/MicroComponents.svg +0 -15
  90. package/public/fiddle/fiddle.css +0 -0
  91. package/public/fiddle/fiddle.js +0 -0
  92. package/public/fiddle/index.html +0 -0
  93. package/public/formValues.d.ts +0 -3
  94. package/public/formValues.d.ts.map +0 -1
  95. package/public/formValues.js +0 -162
  96. package/public/formValues.js.map +0 -1
  97. package/public/formValues.min.js +0 -1
  98. package/public/formValues.ts +0 -225
  99. package/public/helpers.d.ts +0 -14
  100. package/public/helpers.d.ts.map +0 -1
  101. package/public/helpers.js +0 -113
  102. package/public/helpers.js.map +0 -1
  103. package/public/helpers.ts +0 -149
  104. package/public/microcomponents.d.ts +0 -6
  105. package/public/microcomponents.d.ts.map +0 -1
  106. package/public/microcomponents.js +0 -7
  107. package/public/microcomponents.js.map +0 -1
  108. package/public/microcomponents.min.js +0 -1
  109. package/public/microcomponents.ts +0 -8
  110. package/public/observables.d.ts +0 -11
  111. package/public/observables.d.ts.map +0 -1
  112. package/public/observables.js +0 -244
  113. package/public/observables.js.map +0 -1
  114. package/public/observables.min.js +0 -1
  115. package/public/observables.ts +0 -416
  116. package/public/selectors._ts +0 -1269
  117. package/public/src/MC.d.ts +0 -39
  118. package/public/src/MC.d.ts.map +0 -1
  119. package/public/src/MC.js +0 -287
  120. package/public/src/MC.js.map +0 -1
  121. package/public/src/MC.ts +0 -431
  122. package/public/src/elements.d.ts +0 -5
  123. package/public/src/elements.d.ts.map +0 -1
  124. package/public/src/elements.js +0 -68
  125. package/public/src/elements.js.map +0 -1
  126. package/public/src/elements.ts +0 -119
  127. package/public/src/formValues.d.ts +0 -3
  128. package/public/src/formValues.d.ts.map +0 -1
  129. package/public/src/formValues.js +0 -162
  130. package/public/src/formValues.js.map +0 -1
  131. package/public/src/formValues.ts +0 -225
  132. package/public/src/helpers.d.ts +0 -14
  133. package/public/src/helpers.d.ts.map +0 -1
  134. package/public/src/helpers.js +0 -113
  135. package/public/src/helpers.js.map +0 -1
  136. package/public/src/helpers.ts +0 -149
  137. package/public/src/microcomponents.d.ts +0 -6
  138. package/public/src/microcomponents.d.ts.map +0 -1
  139. package/public/src/microcomponents.js +0 -7
  140. package/public/src/microcomponents.js.map +0 -1
  141. package/public/src/microcomponents.ts +0 -8
  142. package/public/src/observables.d.ts +0 -11
  143. package/public/src/observables.d.ts.map +0 -1
  144. package/public/src/observables.js +0 -244
  145. package/public/src/observables.js.map +0 -1
  146. package/public/src/observables.ts +0 -416
  147. package/public/src/selectors._ts +0 -1269
  148. package/public/src/test/grandparent.css +0 -14
  149. package/public/src/test/test/child.d.ts +0 -2
  150. package/public/src/test/test/child.d.ts.map +0 -1
  151. package/public/src/test/test/child.js +0 -26
  152. package/public/src/test/test/child.js.map +0 -1
  153. package/public/src/test/test/child.ts +0 -36
  154. package/public/src/test/test/grandchild.d.ts +0 -2
  155. package/public/src/test/test/grandchild.d.ts.map +0 -1
  156. package/public/src/test/test/grandchild.js +0 -22
  157. package/public/src/test/test/grandchild.js.map +0 -1
  158. package/public/src/test/test/grandchild.ts +0 -31
  159. package/public/src/test/test/grandparent.d.ts +0 -2
  160. package/public/src/test/test/grandparent.d.ts.map +0 -1
  161. package/public/src/test/test/grandparent.js +0 -1
  162. package/public/src/test/test/grandparent.js.map +0 -1
  163. package/public/src/test/test/grandparent.ts +0 -43
  164. package/public/src/test/test/greatgrandchild.d.ts +0 -2
  165. package/public/src/test/test/greatgrandchild.d.ts.map +0 -1
  166. package/public/src/test/test/greatgrandchild.js +0 -36
  167. package/public/src/test/test/greatgrandchild.js.map +0 -1
  168. package/public/src/test/test/greatgrandchild.ts +0 -51
  169. package/public/src/test/test/parent.d.ts +0 -2
  170. package/public/src/test/test/parent.d.ts.map +0 -1
  171. package/public/src/test/test/parent.js +0 -25
  172. package/public/src/test/test/parent.js.map +0 -1
  173. package/public/src/test/test/parent.ts +0 -35
  174. package/public/src/test/test/testform.d.ts +0 -2
  175. package/public/src/test/test/testform.d.ts.map +0 -1
  176. package/public/src/test/test/testform.js +0 -1
  177. package/public/src/test/test/testform.js.map +0 -1
  178. package/public/src/test/test/testform.ts +0 -153
  179. package/public/src/test/test/testfunction.d.ts +0 -3
  180. package/public/src/test/test/testfunction.d.ts.map +0 -1
  181. package/public/src/test/test/testfunction.js +0 -7
  182. package/public/src/test/test/testfunction.js.map +0 -1
  183. package/public/src/test/test/testfunction.ts +0 -12
  184. package/public/src/test/test/testmc.d.ts +0 -3
  185. package/public/src/test/test/testmc.d.ts.map +0 -1
  186. package/public/src/test/test/testmc.js +0 -10
  187. package/public/src/test/test/testmc.js.map +0 -1
  188. package/public/src/test/test/testmc.ts +0 -16
  189. package/public/src/test/test/testsimpleclass.d.ts +0 -3
  190. package/public/src/test/test/testsimpleclass.d.ts.map +0 -1
  191. package/public/src/test/test/testsimpleclass.js +0 -9
  192. package/public/src/test/test/testsimpleclass.js.map +0 -1
  193. package/public/src/test/test/testsimpleclass.ts +0 -15
  194. package/public/src/test/test.d.ts +0 -2
  195. package/public/src/test/test.d.ts.map +0 -1
  196. package/public/src/test/test.js +0 -72
  197. package/public/src/test/test.js.map +0 -1
  198. package/public/src/test/test.ts +0 -176
  199. package/public/src/test/testform.css +0 -47
  200. package/public/src/test/testform.html +0 -56
  201. package/public/src/test/testform.json +0 -27
  202. package/public/test/MC.d.ts +0 -39
  203. package/public/test/MC.d.ts.map +0 -1
  204. package/public/test/MC.js +0 -287
  205. package/public/test/MC.min.js +0 -348
  206. package/public/test/MC.ts +0 -431
  207. package/public/test/MicroComponents.svg +0 -15
  208. package/public/test/elements.d.ts +0 -5
  209. package/public/test/elements.d.ts.map +0 -1
  210. package/public/test/elements.js +0 -68
  211. package/public/test/elements.min.js +0 -1
  212. package/public/test/elements.ts +0 -119
  213. package/public/test/formValues.d.ts +0 -3
  214. package/public/test/formValues.d.ts.map +0 -1
  215. package/public/test/formValues.js +0 -162
  216. package/public/test/formValues.min.js +0 -1
  217. package/public/test/formValues.ts +0 -225
  218. package/public/test/grandparent.css +0 -14
  219. package/public/test/helpers.d.ts +0 -14
  220. package/public/test/helpers.d.ts.map +0 -1
  221. package/public/test/helpers.js +0 -113
  222. package/public/test/helpers.ts +0 -149
  223. package/public/test/microcomponents.d.ts +0 -6
  224. package/public/test/microcomponents.d.ts.map +0 -1
  225. package/public/test/microcomponents.js +0 -7
  226. package/public/test/microcomponents.min.js +0 -1
  227. package/public/test/microcomponents.ts +0 -8
  228. package/public/test/myButton.css +0 -19
  229. package/public/test/observables.d.ts +0 -11
  230. package/public/test/observables.d.ts.map +0 -1
  231. package/public/test/observables.js +0 -244
  232. package/public/test/observables.min.js +0 -1
  233. package/public/test/observables.ts +0 -416
  234. package/public/test/style.css +0 -8
  235. package/public/test/test/child.d.ts +0 -2
  236. package/public/test/test/child.d.ts.map +0 -1
  237. package/public/test/test/child.js +0 -26
  238. package/public/test/test/child.js.map +0 -1
  239. package/public/test/test/child.ts +0 -36
  240. package/public/test/test/grandchild.d.ts +0 -2
  241. package/public/test/test/grandchild.d.ts.map +0 -1
  242. package/public/test/test/grandchild.js +0 -22
  243. package/public/test/test/grandchild.js.map +0 -1
  244. package/public/test/test/grandchild.ts +0 -31
  245. package/public/test/test/grandparent.d.ts +0 -2
  246. package/public/test/test/grandparent.d.ts.map +0 -1
  247. package/public/test/test/grandparent.js +0 -1
  248. package/public/test/test/grandparent.js.map +0 -1
  249. package/public/test/test/grandparent.ts +0 -43
  250. package/public/test/test/greatgrandchild.d.ts +0 -2
  251. package/public/test/test/greatgrandchild.d.ts.map +0 -1
  252. package/public/test/test/greatgrandchild.js +0 -36
  253. package/public/test/test/greatgrandchild.js.map +0 -1
  254. package/public/test/test/greatgrandchild.ts +0 -51
  255. package/public/test/test/parent.d.ts +0 -2
  256. package/public/test/test/parent.d.ts.map +0 -1
  257. package/public/test/test/parent.js +0 -25
  258. package/public/test/test/parent.js.map +0 -1
  259. package/public/test/test/parent.ts +0 -35
  260. package/public/test/test/testform.d.ts +0 -2
  261. package/public/test/test/testform.d.ts.map +0 -1
  262. package/public/test/test/testform.js +0 -1
  263. package/public/test/test/testform.js.map +0 -1
  264. package/public/test/test/testform.ts +0 -153
  265. package/public/test/test/testfunction.d.ts +0 -3
  266. package/public/test/test/testfunction.d.ts.map +0 -1
  267. package/public/test/test/testfunction.js +0 -7
  268. package/public/test/test/testfunction.js.map +0 -1
  269. package/public/test/test/testfunction.ts +0 -12
  270. package/public/test/test/testmc.d.ts +0 -3
  271. package/public/test/test/testmc.d.ts.map +0 -1
  272. package/public/test/test/testmc.js +0 -10
  273. package/public/test/test/testmc.js.map +0 -1
  274. package/public/test/test/testmc.ts +0 -16
  275. package/public/test/test/testsimpleclass.d.ts +0 -3
  276. package/public/test/test/testsimpleclass.d.ts.map +0 -1
  277. package/public/test/test/testsimpleclass.js +0 -9
  278. package/public/test/test/testsimpleclass.js.map +0 -1
  279. package/public/test/test/testsimpleclass.ts +0 -15
  280. package/public/test/test.d.ts +0 -2
  281. package/public/test/test.d.ts.map +0 -1
  282. package/public/test/test.html +0 -29
  283. package/public/test/test.js +0 -72
  284. package/public/test/test.js.map +0 -1
  285. package/public/test/test.ts +0 -176
  286. package/public/test/testform.css +0 -47
  287. package/public/test/testform.html +0 -56
  288. package/public/test/testform.json +0 -27
  289. package/public/typedoc/.nojekyll +0 -1
  290. package/public/typedoc/assets/highlight.css +0 -106
  291. package/public/typedoc/assets/icons.js +0 -18
  292. package/public/typedoc/assets/icons.svg +0 -1
  293. package/public/typedoc/assets/main.js +0 -60
  294. package/public/typedoc/assets/navigation.js +0 -1
  295. package/public/typedoc/assets/search.js +0 -1
  296. package/public/typedoc/assets/style.css +0 -1493
  297. package/public/typedoc/classes/MC.DC.html +0 -13
  298. package/public/typedoc/classes/MC.MC.html +0 -3
  299. package/public/typedoc/classes/MC.McBase.html +0 -3
  300. package/public/typedoc/functions/MC.autoload.html +0 -1
  301. package/public/typedoc/functions/MC.off.html +0 -1
  302. package/public/typedoc/functions/MC.on.html +0 -1
  303. package/public/typedoc/functions/MC.one.html +0 -1
  304. package/public/typedoc/functions/MC.trigger.html +0 -1
  305. package/public/typedoc/functions/elements.defineCE.html +0 -1
  306. package/public/typedoc/functions/elements.getCE.html +0 -1
  307. package/public/typedoc/functions/formValues.formValues.html +0 -1
  308. package/public/typedoc/functions/observables.observe.html +0 -1
  309. package/public/typedoc/hierarchy.html +0 -1
  310. package/public/typedoc/index.html +0 -122
  311. package/public/typedoc/interfaces/MC.HTMLMcElement.html +0 -758
  312. package/public/typedoc/media/MicroComponents.svg +0 -15
  313. package/public/typedoc/modules/MC.html +0 -10
  314. package/public/typedoc/modules/elements.html +0 -3
  315. package/public/typedoc/modules/formValues.html +0 -2
  316. package/public/typedoc/modules/observables.html +0 -3
  317. package/public/typedoc/modules.html +0 -5
  318. package/public/typedoc/types/observables.Observable.html +0 -1
  319. package/src/MC.ts +0 -431
  320. package/src/elements.ts +0 -119
  321. package/src/formValues.ts +0 -225
  322. package/src/helpers.ts +0 -149
  323. package/src/microcomponents.ts +0 -8
  324. package/src/observables.ts +0 -416
  325. package/src/selectors._ts +0 -1269
  326. package/src/test/grandparent.css +0 -14
  327. package/src/test/test/child.ts +0 -36
  328. package/src/test/test/grandchild.ts +0 -31
  329. package/src/test/test/grandparent.ts +0 -43
  330. package/src/test/test/greatgrandchild.ts +0 -51
  331. package/src/test/test/parent.ts +0 -35
  332. package/src/test/test/testform.ts +0 -153
  333. package/src/test/test/testfunction.ts +0 -12
  334. package/src/test/test/testmc.ts +0 -16
  335. package/src/test/test/testsimpleclass.ts +0 -15
  336. package/src/test/test.ts +0 -176
  337. package/src/test/testform.css +0 -47
  338. package/src/test/testform.html +0 -56
  339. package/src/test/testform.json +0 -27
  340. package/tasks.md +0 -36
  341. package/tsconfig.json +0 -107
  342. package/typedoc.json +0 -7
  343. package/webpack.config.js +0 -346
package/public/MC.js DELETED
@@ -1,287 +0,0 @@
1
- 'use strict';
2
- const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
3
- function isDOM(element) {
4
- return element && element instanceof HTMLElement;
5
- }
6
- function add(target, key, element = {}) {
7
- let node = target;
8
- if (!node._mc) {
9
- node._mc = new DC(target);
10
- }
11
- const _mc = node._mc;
12
- if (key.length && !_mc[key]) {
13
- _mc[key] = element;
14
- if (target instanceof HTMLElement && !target.getAttribute('data-mc')) {
15
- target.setAttribute('data-mc', '');
16
- }
17
- }
18
- return node;
19
- }
20
- function remove(target, key) {
21
- if (!key)
22
- return;
23
- const _mc = target?._mc || {};
24
- if (_mc && _mc[key]) {
25
- delete _mc[key];
26
- }
27
- if (!Object.keys(_mc).length &&
28
- target instanceof HTMLElement &&
29
- target.hasAttribute('data-mc')) {
30
- target.removeAttribute('data-mc');
31
- }
32
- return;
33
- }
34
- function init(element) {
35
- setTimeout(() => {
36
- if (element.constructor === DC)
37
- return;
38
- element.trigger('Init');
39
- }, 0);
40
- }
41
- function getMcEventName(eventName) {
42
- return '_mc' + eventName[0].toUpperCase() + eventName.substring(1);
43
- }
44
- function off(domNode, eventName, handler) {
45
- domNode.removeEventListener(getMcEventName(eventName), handler);
46
- }
47
- function on(domNode, eventName, handler, once = false) {
48
- domNode.addEventListener(getMcEventName(eventName), handler, { capture: false, once });
49
- return handler;
50
- }
51
- function one(domNode, eventName, handler) {
52
- on(domNode, eventName, handler, true);
53
- return handler;
54
- }
55
- class BubbleController {
56
- stopped = false;
57
- constructor() {
58
- }
59
- stop() {
60
- this.stopped = true;
61
- }
62
- }
63
- function trigger(domNode, event, data = {}, bubble = 'l', controller) {
64
- const eventName = /^_mc/.test(event) ? event : getMcEventName(event), bubbleController = !!controller ? controller : new BubbleController(), ev = new CustomEvent(eventName, { detail: { data, control: bubbleController }, bubbles: false });
65
- if (bubbleController.stopped)
66
- return;
67
- domNode.dispatchEvent(ev);
68
- ev.stopImmediatePropagation();
69
- if (bubbleController.stopped)
70
- return;
71
- if (/[ud]/.test(bubble)) {
72
- if (bubble.indexOf('l') === -1) {
73
- bubble += 'l';
74
- }
75
- setTimeout(() => {
76
- if (bubble.indexOf('u') > -1) {
77
- let parentMc = domNode.parentElement?.closest('[data-mc]');
78
- if (!!parentMc) {
79
- parentMc?._mc.trigger(eventName, data, bubble, bubbleController);
80
- }
81
- }
82
- if (bubble.indexOf('d') > -1) {
83
- let childNodes = domNode._mc.children();
84
- if (!!childNodes) {
85
- childNodes.forEach((_mc) => _mc.trigger(eventName, data, bubble));
86
- }
87
- }
88
- }, 0);
89
- }
90
- }
91
- function autoAttachListeners(element) {
92
- if (!isBrowser() || element.constructor === DC)
93
- return;
94
- const target = element.target;
95
- if (target instanceof HTMLElement) {
96
- let that = element;
97
- Object.getOwnPropertyNames(that.constructor.prototype)
98
- .filter((key) => /^on[A-Z]|one[A-Z]/.test(key) &&
99
- typeof that.constructor.prototype[key] === 'function')
100
- .forEach((key) => {
101
- let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), nativeEventName = withoutOnOne.toLowerCase();
102
- if (('on' + nativeEventName) in target) {
103
- let listener = (ev) => {
104
- that[key](ev);
105
- };
106
- target.addEventListener(nativeEventName, listener);
107
- }
108
- else {
109
- let listener = (ev) => {
110
- that[key](ev);
111
- };
112
- on(target, withoutOnOne, listener, once);
113
- }
114
- });
115
- }
116
- }
117
- function getMcChildNodes(domNode) {
118
- const id = Math.random().toString().replace('.', '');
119
- const selector = '[data-mc]:not([temp_id="' + id + '"] [data-mc] [data-mc])';
120
- domNode.setAttribute('temp_id', id);
121
- const mcArray = [...domNode.querySelectorAll(selector)]
122
- .filter((e) => !!e._mc)
123
- .map(e => e._mc);
124
- domNode.removeAttribute('temp_id');
125
- return mcArray.length ? mcArray : null;
126
- }
127
- class McBase {
128
- _target;
129
- constructor(target) {
130
- let element = this;
131
- this._target = new WeakRef(target || {});
132
- init(element);
133
- autoAttachListeners(element);
134
- }
135
- get target() {
136
- return this._target.deref();
137
- }
138
- }
139
- class MC extends McBase {
140
- constructor(target) {
141
- super(target);
142
- }
143
- }
144
- class DC extends McBase {
145
- constructor(target) {
146
- super(target);
147
- }
148
- static add(target, key, element = {}) {
149
- return add(target, key, element);
150
- }
151
- ;
152
- static remove(target, key) {
153
- remove(target, key);
154
- }
155
- off(eventName, handler) {
156
- off(this.target, eventName, handler);
157
- }
158
- on(eventName, handler) {
159
- return on(this.target, eventName, handler);
160
- }
161
- one(eventName, handler) {
162
- return one(this.target, eventName, handler);
163
- }
164
- trigger(eventName, data = {}, bubble = 'l', controller) {
165
- trigger(this.target, eventName, data, bubble, controller);
166
- }
167
- ancestors() {
168
- let currentNode = this?.target, result = [];
169
- if (!isDOM(currentNode))
170
- return [];
171
- while (currentNode = (currentNode.closest('[data-mc]'))) {
172
- if (currentNode?._mc) {
173
- result.push(currentNode?._mc);
174
- }
175
- }
176
- return result.length ? result : null;
177
- }
178
- closest() {
179
- let target = this.target;
180
- if (!isDOM(target))
181
- return null;
182
- return target.closest('[data-mc]')?._mc || null;
183
- }
184
- children() {
185
- let target = this?.target;
186
- if (!isDOM(target))
187
- return null;
188
- return getMcChildNodes(target);
189
- }
190
- descendants() {
191
- const target = this?.target;
192
- if (!isDOM(target))
193
- return [];
194
- const mcArray = [...target.querySelectorAll('[data-mc]')]
195
- .filter((e) => !!e._mc)
196
- .map(e => e._mc);
197
- return mcArray.length ? mcArray : null;
198
- }
199
- }
200
- const loadingDCs = new Set();
201
- function attachDC(element) {
202
- return () => {
203
- const elements = Array
204
- .from(document.querySelectorAll(`[data-mc*="${element}"]`))
205
- .filter(element => element instanceof HTMLElement);
206
- if (elements.length === 0)
207
- return;
208
- const klass = customElements.get(element);
209
- elements.forEach((node) => {
210
- DC.add(node, klass.name, new klass(node));
211
- const new_mc = node
212
- .getAttribute('data-mc')
213
- .split(' ')
214
- .filter((name) => name !== element && name !== '')
215
- .join(' ')
216
- .trim();
217
- node.setAttribute('data-mc', new_mc);
218
- });
219
- };
220
- }
221
- ;
222
- function makeLoadScript(element) {
223
- if (loadingDCs.has(element))
224
- return;
225
- loadingDCs.add(element);
226
- const fileName = './' + element.split('-').join('/') + '.js';
227
- const se = document.createElement('script');
228
- se.setAttribute('src', fileName);
229
- se.setAttribute('blocking', 'render');
230
- se.async = true;
231
- se.setAttribute('type', 'module');
232
- se.setAttribute('data-name', element);
233
- se.setAttribute('loading', '');
234
- const loadedPromise = customElements.whenDefined(element);
235
- loadedPromise.then(attachDC(element));
236
- se.addEventListener('load', (ev) => {
237
- loadingDCs.delete(element);
238
- document.head.querySelector(`script[data-name="${element}"]`)?.remove();
239
- });
240
- se.addEventListener('error', (ev) => {
241
- console.error('could not load DC code from', fileName);
242
- });
243
- document.head.append(se);
244
- }
245
- function loadUndefinedMCs() {
246
- [...document.querySelectorAll(':not(:defined)')]
247
- .filter((element) => !!element
248
- && !customElements.get(element.tagName.toLowerCase())
249
- && !loadingDCs.has(element.tagName.toLowerCase()))
250
- .forEach((el) => {
251
- makeLoadScript(el.tagName.toLowerCase());
252
- });
253
- [...document.querySelectorAll('[data-mc]:not([data-mc=""]')]
254
- .filter((element) => !!element)
255
- .forEach((el) => {
256
- const _mc = el.getAttribute('data-mc')?.split(' ').filter(name => name !== '');
257
- _mc?.forEach(element => {
258
- const isDefined = customElements.get(element);
259
- if (!loadingDCs.has(element) && !isDefined) {
260
- makeLoadScript(element);
261
- }
262
- else if (isDefined) {
263
- attachDC(element)();
264
- }
265
- });
266
- });
267
- }
268
- let autoloadEnabled = false;
269
- let observer = null;
270
- function autoload(enable = true) {
271
- if (!enable) {
272
- observer?.disconnect();
273
- observer = null;
274
- return autoloadEnabled;
275
- }
276
- autoloadEnabled = enable;
277
- observer = new MutationObserver(loadUndefinedMCs);
278
- setTimeout(() => {
279
- observer.observe(document.body, { childList: true, subtree: true });
280
- loadUndefinedMCs();
281
- }, 5);
282
- window.autoload = window.autoload || autoload;
283
- return autoloadEnabled;
284
- }
285
- autoload.state = loadingDCs;
286
- export { McBase, MC, DC, autoload, on, one, off, trigger };
287
- //# sourceMappingURL=MC.js.map
package/public/MC.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"MC.js","sourceRoot":"","sources":["../src/MC.ts"],"names":[],"mappings":"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"}
package/public/MC.min.js DELETED
@@ -1,348 +0,0 @@
1
- (function webpackUniversalModuleDefinition(root, factory) {
2
- if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory();
4
- else if(typeof define === 'function' && define.amd)
5
- define([], factory);
6
- else if(typeof exports === 'object')
7
- exports["MC"] = factory();
8
- else
9
- root["MC"] = factory();
10
- })(this, () => {
11
- return /******/ (() => { // webpackBootstrap
12
- /******/ "use strict";
13
- /******/ // The require scope
14
- /******/ var __webpack_require__ = {};
15
- /******/
16
- /************************************************************************/
17
- /******/ /* webpack/runtime/define property getters */
18
- /******/ (() => {
19
- /******/ // define getter functions for harmony exports
20
- /******/ __webpack_require__.d = (exports, definition) => {
21
- /******/ for(var key in definition) {
22
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
23
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
24
- /******/ }
25
- /******/ }
26
- /******/ };
27
- /******/ })();
28
- /******/
29
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
30
- /******/ (() => {
31
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
32
- /******/ })();
33
- /******/
34
- /******/ /* webpack/runtime/make namespace object */
35
- /******/ (() => {
36
- /******/ // define __esModule on exports
37
- /******/ __webpack_require__.r = (exports) => {
38
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
39
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
40
- /******/ }
41
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
42
- /******/ };
43
- /******/ })();
44
- /******/
45
- /************************************************************************/
46
- var __webpack_exports__ = {};
47
- __webpack_require__.r(__webpack_exports__);
48
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
49
- /* harmony export */ DC: () => (/* binding */ DC),
50
- /* harmony export */ MC: () => (/* binding */ MC),
51
- /* harmony export */ McBase: () => (/* binding */ McBase),
52
- /* harmony export */ autoload: () => (/* binding */ autoload),
53
- /* harmony export */ off: () => (/* binding */ off),
54
- /* harmony export */ on: () => (/* binding */ on),
55
- /* harmony export */ one: () => (/* binding */ one),
56
- /* harmony export */ trigger: () => (/* binding */ trigger)
57
- /* harmony export */ });
58
-
59
- const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
60
- function isDOM(element) {
61
- return element && element instanceof HTMLElement;
62
- }
63
- function add(target, key, element = {}) {
64
- let node = target;
65
- if (!node._mc) {
66
- node._mc = new DC(target);
67
- }
68
- const _mc = node._mc;
69
- if (key.length && !_mc[key]) {
70
- _mc[key] = element;
71
- if (target instanceof HTMLElement && !target.getAttribute('data-mc')) {
72
- target.setAttribute('data-mc', '');
73
- }
74
- }
75
- return node;
76
- }
77
- function remove(target, key) {
78
- if (!key)
79
- return;
80
- const _mc = target?._mc || {};
81
- if (_mc && _mc[key]) {
82
- delete _mc[key];
83
- }
84
- if (!Object.keys(_mc).length &&
85
- target instanceof HTMLElement &&
86
- target.hasAttribute('data-mc')) {
87
- target.removeAttribute('data-mc');
88
- }
89
- return;
90
- }
91
- function init(element) {
92
- setTimeout(() => {
93
- if (element.constructor === DC)
94
- return;
95
- element.trigger('Init');
96
- }, 0);
97
- }
98
- function getMcEventName(eventName) {
99
- return '_mc' + eventName[0].toUpperCase() + eventName.substring(1);
100
- }
101
- function off(domNode, eventName, handler) {
102
- domNode.removeEventListener(getMcEventName(eventName), handler);
103
- }
104
- function on(domNode, eventName, handler, once = false) {
105
- domNode.addEventListener(getMcEventName(eventName), handler, { capture: false, once });
106
- return handler;
107
- }
108
- function one(domNode, eventName, handler) {
109
- on(domNode, eventName, handler, true);
110
- return handler;
111
- }
112
- class BubbleController {
113
- stopped = false;
114
- constructor() {
115
- }
116
- stop() {
117
- this.stopped = true;
118
- }
119
- }
120
- function trigger(domNode, event, data = {}, bubble = 'l', controller) {
121
- const eventName = /^_mc/.test(event) ? event : getMcEventName(event), bubbleController = !!controller ? controller : new BubbleController(), ev = new CustomEvent(eventName, { detail: { data, control: bubbleController }, bubbles: false });
122
- if (bubbleController.stopped)
123
- return;
124
- domNode.dispatchEvent(ev);
125
- ev.stopImmediatePropagation();
126
- if (bubbleController.stopped)
127
- return;
128
- if (/[ud]/.test(bubble)) {
129
- if (bubble.indexOf('l') === -1) {
130
- bubble += 'l';
131
- }
132
- setTimeout(() => {
133
- if (bubble.indexOf('u') > -1) {
134
- let parentMc = domNode.parentElement?.closest('[data-mc]');
135
- if (!!parentMc) {
136
- parentMc?._mc.trigger(eventName, data, bubble, bubbleController);
137
- }
138
- }
139
- if (bubble.indexOf('d') > -1) {
140
- let childNodes = domNode._mc.children();
141
- if (!!childNodes) {
142
- childNodes.forEach((_mc) => _mc.trigger(eventName, data, bubble));
143
- }
144
- }
145
- }, 0);
146
- }
147
- }
148
- function autoAttachListeners(element) {
149
- if (!isBrowser() || element.constructor === DC)
150
- return;
151
- const target = element.target;
152
- if (target instanceof HTMLElement) {
153
- let that = element;
154
- Object.getOwnPropertyNames(that.constructor.prototype)
155
- .filter((key) => /^on[A-Z]|one[A-Z]/.test(key) &&
156
- typeof that.constructor.prototype[key] === 'function')
157
- .forEach((key) => {
158
- let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), nativeEventName = withoutOnOne.toLowerCase();
159
- if (('on' + nativeEventName) in target) {
160
- let listener = (ev) => {
161
- that[key](ev);
162
- };
163
- target.addEventListener(nativeEventName, listener);
164
- }
165
- else {
166
- let listener = (ev) => {
167
- that[key](ev);
168
- };
169
- on(target, withoutOnOne, listener, once);
170
- }
171
- });
172
- }
173
- }
174
- function getMcChildNodes(domNode) {
175
- const id = Math.random().toString().replace('.', '');
176
- const selector = '[data-mc]:not([temp_id="' + id + '"] [data-mc] [data-mc])';
177
- domNode.setAttribute('temp_id', id);
178
- const mcArray = [...domNode.querySelectorAll(selector)]
179
- .filter((e) => !!e._mc)
180
- .map(e => e._mc);
181
- domNode.removeAttribute('temp_id');
182
- return mcArray.length ? mcArray : null;
183
- }
184
- class McBase {
185
- _target;
186
- constructor(target) {
187
- let element = this;
188
- this._target = new WeakRef(target || {});
189
- init(element);
190
- autoAttachListeners(element);
191
- }
192
- get target() {
193
- return this._target.deref();
194
- }
195
- }
196
- class MC extends McBase {
197
- constructor(target) {
198
- super(target);
199
- }
200
- }
201
- class DC extends McBase {
202
- constructor(target) {
203
- super(target);
204
- }
205
- static add(target, key, element = {}) {
206
- return add(target, key, element);
207
- }
208
- ;
209
- static remove(target, key) {
210
- remove(target, key);
211
- }
212
- off(eventName, handler) {
213
- off(this.target, eventName, handler);
214
- }
215
- on(eventName, handler) {
216
- return on(this.target, eventName, handler);
217
- }
218
- one(eventName, handler) {
219
- return one(this.target, eventName, handler);
220
- }
221
- trigger(eventName, data = {}, bubble = 'l', controller) {
222
- trigger(this.target, eventName, data, bubble, controller);
223
- }
224
- ancestors() {
225
- let currentNode = this?.target, result = [];
226
- if (!isDOM(currentNode))
227
- return [];
228
- while (currentNode = (currentNode.closest('[data-mc]'))) {
229
- if (currentNode?._mc) {
230
- result.push(currentNode?._mc);
231
- }
232
- }
233
- return result.length ? result : null;
234
- }
235
- closest() {
236
- let target = this.target;
237
- if (!isDOM(target))
238
- return null;
239
- return target.closest('[data-mc]')?._mc || null;
240
- }
241
- children() {
242
- let target = this?.target;
243
- if (!isDOM(target))
244
- return null;
245
- return getMcChildNodes(target);
246
- }
247
- descendants() {
248
- const target = this?.target;
249
- if (!isDOM(target))
250
- return [];
251
- const mcArray = [...target.querySelectorAll('[data-mc]')]
252
- .filter((e) => !!e._mc)
253
- .map(e => e._mc);
254
- return mcArray.length ? mcArray : null;
255
- }
256
- }
257
- const loadingDCs = new Set();
258
- function attachDC(element) {
259
- return () => {
260
- const elements = Array
261
- .from(document.querySelectorAll(`[data-mc*="${element}"]`))
262
- .filter(element => element instanceof HTMLElement);
263
- if (elements.length === 0)
264
- return;
265
- const klass = customElements.get(element);
266
- elements.forEach((node) => {
267
- DC.add(node, klass.name, new klass(node));
268
- const new_mc = node
269
- .getAttribute('data-mc')
270
- .split(' ')
271
- .filter((name) => name !== element && name !== '')
272
- .join(' ')
273
- .trim();
274
- node.setAttribute('data-mc', new_mc);
275
- });
276
- };
277
- }
278
- ;
279
- function makeLoadScript(element) {
280
- if (loadingDCs.has(element))
281
- return;
282
- loadingDCs.add(element);
283
- const fileName = './' + element.split('-').join('/') + '.js';
284
- const se = document.createElement('script');
285
- se.setAttribute('src', fileName);
286
- se.setAttribute('blocking', 'render');
287
- se.async = true;
288
- se.setAttribute('type', 'module');
289
- se.setAttribute('data-name', element);
290
- se.setAttribute('loading', '');
291
- const loadedPromise = customElements.whenDefined(element);
292
- loadedPromise.then(attachDC(element));
293
- se.addEventListener('load', (ev) => {
294
- loadingDCs.delete(element);
295
- document.head.querySelector(`script[data-name="${element}"]`)?.remove();
296
- });
297
- se.addEventListener('error', (ev) => {
298
- console.error('could not load DC code from', fileName);
299
- });
300
- document.head.append(se);
301
- }
302
- function loadUndefinedMCs() {
303
- [...document.querySelectorAll(':not(:defined)')]
304
- .filter((element) => !!element
305
- && !customElements.get(element.tagName.toLowerCase())
306
- && !loadingDCs.has(element.tagName.toLowerCase()))
307
- .forEach((el) => {
308
- makeLoadScript(el.tagName.toLowerCase());
309
- });
310
- [...document.querySelectorAll('[data-mc]:not([data-mc=""]')]
311
- .filter((element) => !!element)
312
- .forEach((el) => {
313
- const _mc = el.getAttribute('data-mc')?.split(' ').filter(name => name !== '');
314
- _mc?.forEach(element => {
315
- const isDefined = customElements.get(element);
316
- if (!loadingDCs.has(element) && !isDefined) {
317
- makeLoadScript(element);
318
- }
319
- else if (isDefined) {
320
- attachDC(element)();
321
- }
322
- });
323
- });
324
- }
325
- let autoloadEnabled = false;
326
- let observer = null;
327
- function autoload(enable = true) {
328
- if (!enable) {
329
- observer?.disconnect();
330
- observer = null;
331
- return autoloadEnabled;
332
- }
333
- autoloadEnabled = enable;
334
- observer = new MutationObserver(loadUndefinedMCs);
335
- setTimeout(() => {
336
- observer.observe(document.body, { childList: true, subtree: true });
337
- loadUndefinedMCs();
338
- }, 5);
339
- window.autoload = window.autoload || autoload;
340
- return autoloadEnabled;
341
- }
342
- autoload.state = loadingDCs;
343
-
344
-
345
- /******/ return __webpack_exports__;
346
- /******/ })()
347
- ;
348
- });