@twobirds/microcomponents 0.0.83 → 0.0.84

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 (194) hide show
  1. package/assets/test/test.html +1 -1
  2. package/dist/MC.d.ts +10 -9
  3. package/dist/MC.d.ts.map +1 -1
  4. package/dist/MC.js +126 -158
  5. package/dist/MC.min.js +146 -254
  6. package/dist/MC.ts +182 -241
  7. package/dist/elements.d.ts.map +1 -1
  8. package/dist/elements.js +10 -4
  9. package/dist/elements.min.js +1 -1
  10. package/dist/elements.ts +17 -4
  11. package/dist/formValues.js +2 -2
  12. package/dist/formValues.min.js +1 -1
  13. package/dist/formValues.ts +3 -3
  14. package/dist/microcomponents.d.ts +0 -1
  15. package/dist/microcomponents.d.ts.map +1 -1
  16. package/dist/microcomponents.js +0 -1
  17. package/dist/microcomponents.min.js +1 -1
  18. package/dist/microcomponents.ts +1 -1
  19. package/dist/observables.d.ts.map +1 -1
  20. package/dist/observables.js +14 -12
  21. package/dist/observables.min.js +1 -1
  22. package/dist/observables.ts +32 -32
  23. package/package.json +1 -1
  24. package/public/MC.d.ts +10 -9
  25. package/public/MC.d.ts.map +1 -1
  26. package/public/MC.js +126 -158
  27. package/public/MC.js.map +1 -1
  28. package/public/MC.min.js +146 -254
  29. package/public/MC.ts +182 -241
  30. package/public/elements.d.ts.map +1 -1
  31. package/public/elements.js +10 -4
  32. package/public/elements.js.map +1 -1
  33. package/public/elements.min.js +1 -1
  34. package/public/elements.ts +17 -4
  35. package/public/formValues.js +2 -2
  36. package/public/formValues.js.map +1 -1
  37. package/public/formValues.min.js +1 -1
  38. package/public/formValues.ts +3 -3
  39. package/public/microcomponents.d.ts +0 -1
  40. package/public/microcomponents.d.ts.map +1 -1
  41. package/public/microcomponents.js +0 -1
  42. package/public/microcomponents.js.map +1 -1
  43. package/public/microcomponents.min.js +1 -1
  44. package/public/microcomponents.ts +1 -1
  45. package/public/observables.d.ts.map +1 -1
  46. package/public/observables.js +14 -12
  47. package/public/observables.js.map +1 -1
  48. package/public/observables.min.js +1 -1
  49. package/public/observables.ts +32 -32
  50. package/public/src/MC.d.ts +10 -9
  51. package/public/src/MC.d.ts.map +1 -1
  52. package/public/src/MC.js +126 -158
  53. package/public/src/MC.js.map +1 -1
  54. package/public/src/MC.ts +182 -241
  55. package/public/src/elements.d.ts.map +1 -1
  56. package/public/src/elements.js +10 -4
  57. package/public/src/elements.js.map +1 -1
  58. package/public/src/elements.ts +17 -4
  59. package/public/src/formValues.js +2 -2
  60. package/public/src/formValues.js.map +1 -1
  61. package/public/src/formValues.ts +3 -3
  62. package/public/src/microcomponents.d.ts +0 -1
  63. package/public/src/microcomponents.d.ts.map +1 -1
  64. package/public/src/microcomponents.js +0 -1
  65. package/public/src/microcomponents.js.map +1 -1
  66. package/public/src/microcomponents.ts +1 -1
  67. package/public/src/observables.d.ts.map +1 -1
  68. package/public/src/observables.js +14 -12
  69. package/public/src/observables.js.map +1 -1
  70. package/public/src/observables.ts +32 -32
  71. package/public/src/test/test/grandparent.d.ts.map +1 -1
  72. package/public/src/test/test/grandparent.js +1 -1
  73. package/public/src/test/test/grandparent.js.map +1 -1
  74. package/public/src/test/test/grandparent.ts +12 -4
  75. package/public/src/test/test/testform.js +1 -1
  76. package/public/src/test/test/testform.js.map +1 -1
  77. package/public/src/test/test/testform.ts +6 -8
  78. package/public/src/test/test.js +5 -4
  79. package/public/src/test/test.js.map +1 -1
  80. package/public/src/test/test.ts +8 -8
  81. package/public/test/MC.d.ts +10 -9
  82. package/public/test/MC.d.ts.map +1 -1
  83. package/public/test/MC.js +126 -158
  84. package/public/test/MC.min.js +146 -254
  85. package/public/test/MC.ts +182 -241
  86. package/public/test/elements.d.ts.map +1 -1
  87. package/public/test/elements.js +10 -4
  88. package/public/test/elements.min.js +1 -1
  89. package/public/test/elements.ts +17 -4
  90. package/public/test/formValues.js +2 -2
  91. package/public/test/formValues.min.js +1 -1
  92. package/public/test/formValues.ts +3 -3
  93. package/public/test/microcomponents.d.ts +0 -1
  94. package/public/test/microcomponents.d.ts.map +1 -1
  95. package/public/test/microcomponents.js +0 -1
  96. package/public/test/microcomponents.min.js +1 -1
  97. package/public/test/microcomponents.ts +1 -1
  98. package/public/test/observables.d.ts.map +1 -1
  99. package/public/test/observables.js +14 -12
  100. package/public/test/observables.min.js +1 -1
  101. package/public/test/observables.ts +32 -32
  102. package/public/test/test/grandparent.d.ts.map +1 -1
  103. package/public/test/test/grandparent.js +1 -1
  104. package/public/test/test/grandparent.js.map +1 -1
  105. package/public/test/test/grandparent.ts +12 -4
  106. package/public/test/test/testform.js +1 -1
  107. package/public/test/test/testform.js.map +1 -1
  108. package/public/test/test/testform.ts +6 -8
  109. package/public/test/test.html +1 -1
  110. package/public/test/test.js +5 -4
  111. package/public/test/test.js.map +1 -1
  112. package/public/test/test.ts +8 -8
  113. package/public/typedoc/assets/navigation.js +1 -1
  114. package/public/typedoc/assets/search.js +1 -1
  115. package/public/typedoc/classes/MC.DC.html +6 -4
  116. package/public/typedoc/classes/MC.MC.html +3 -4
  117. package/public/typedoc/classes/MC.McBase.html +3 -4
  118. package/public/typedoc/functions/MC.autoload.html +1 -1
  119. package/public/typedoc/functions/MC.off.html +1 -0
  120. package/public/typedoc/functions/MC.on.html +1 -0
  121. package/public/typedoc/functions/MC.one.html +1 -0
  122. package/public/typedoc/functions/elements.defineCE.html +1 -1
  123. package/public/typedoc/functions/elements.getCE.html +1 -1
  124. package/public/typedoc/functions/formValues.formValues.html +1 -1
  125. package/public/typedoc/functions/observables.observe.html +1 -1
  126. package/public/typedoc/interfaces/MC.HTMLMcElement.html +2 -2
  127. package/public/typedoc/modules/MC.html +7 -6
  128. package/public/typedoc/modules/elements.html +1 -1
  129. package/public/typedoc/modules/formValues.html +1 -1
  130. package/public/typedoc/modules/observables.html +1 -1
  131. package/public/typedoc/modules.html +0 -1
  132. package/public/typedoc/types/observables.Observable.html +1 -1
  133. package/src/MC.ts +182 -241
  134. package/src/elements.ts +17 -4
  135. package/src/formValues.ts +3 -3
  136. package/src/microcomponents.ts +1 -1
  137. package/src/observables.ts +32 -32
  138. package/src/test/test/grandparent.ts +12 -4
  139. package/src/test/test/testform.ts +6 -8
  140. package/src/test/test.ts +8 -8
  141. package/tsconfig.json +2 -2
  142. package/typedoc.json +1 -1
  143. package/webpack.config.js +2 -2
  144. package/dist/McEvent.d.ts +0 -15
  145. package/dist/McEvent.d.ts.map +0 -1
  146. package/dist/McEvent.js +0 -71
  147. package/dist/selectors.d.ts +0 -106
  148. package/dist/selectors.d.ts.map +0 -1
  149. package/dist/selectors.js +0 -759
  150. package/dist/selectors.min.js +0 -1
  151. package/public/McEvent.d.ts +0 -15
  152. package/public/McEvent.d.ts.map +0 -1
  153. package/public/McEvent.js +0 -71
  154. package/public/McEvent.js.map +0 -1
  155. package/public/selectors.d.ts +0 -106
  156. package/public/selectors.d.ts.map +0 -1
  157. package/public/selectors.js +0 -759
  158. package/public/selectors.js.map +0 -1
  159. package/public/selectors.min.js +0 -1
  160. package/public/src/McEvent.d.ts +0 -15
  161. package/public/src/McEvent.d.ts.map +0 -1
  162. package/public/src/McEvent.js +0 -71
  163. package/public/src/McEvent.js.map +0 -1
  164. package/public/src/selectors.d.ts +0 -106
  165. package/public/src/selectors.d.ts.map +0 -1
  166. package/public/src/selectors.js +0 -759
  167. package/public/src/selectors.js.map +0 -1
  168. package/public/test/McEvent.d.ts +0 -15
  169. package/public/test/McEvent.d.ts.map +0 -1
  170. package/public/test/McEvent.js +0 -71
  171. package/public/test/McEvent.ts +0 -96
  172. package/public/test/selectors.d.ts +0 -106
  173. package/public/test/selectors.d.ts.map +0 -1
  174. package/public/test/selectors.js +0 -759
  175. package/public/test/selectors.min.js +0 -1
  176. package/public/test/selectors.ts +0 -1269
  177. package/public/typedoc/classes/MC.McEvent.html +0 -9
  178. package/public/typedoc/functions/MC.addListener.html +0 -1
  179. package/public/typedoc/functions/MC.removeListener.html +0 -1
  180. package/public/typedoc/functions/selectors._d.html +0 -1
  181. package/public/typedoc/functions/selectors._t.html +0 -1
  182. package/public/typedoc/interfaces/selectors.DSelector.html +0 -48
  183. package/public/typedoc/interfaces/selectors.TSelector.html +0 -34
  184. package/public/typedoc/modules/selectors.html +0 -7
  185. package/public/typedoc/types/selectors.selection.html +0 -1
  186. package/public/typedoc/types/selectors.singleSelector.html +0 -1
  187. package/src/McEvent.ts +0 -96
  188. package/src/selectors.ts +0 -1269
  189. /package/{dist/McEvent.ts → public/McEvent._ts} +0 -0
  190. /package/{dist/selectors.ts → public/selectors._ts} +0 -0
  191. /package/public/{McEvent.ts → src/McEvent._ts} +0 -0
  192. /package/public/{selectors.ts → src/selectors._ts} +0 -0
  193. /package/{public/src/McEvent.ts → src/McEvent._ts} +0 -0
  194. /package/{public/src/selectors.ts → src/selectors._ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MC.d.ts","sourceRoot":"","sources":["../src/MC.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAevC,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD,GAAG,EAAE,WAAW,CAAC;CACjB;AA8CD,iBAAS,WAAW,CACnB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kCAAkC,GAAG,IAAI,EAClD,OAAO,GAAE,OAAe,EACxB,IAAI,GAAE,OAAe,QAarB;AAED,iBAAS,cAAc,CACtB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kCAAkC,GAAG,IAAI,QAGlD;AAmDD,iBAAS,OAAO,CACf,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,OAAO,GAAG,MAAM,EACpB,IAAI,GAAE,GAAQ,EACd,MAAM,GAAE,MAAY,QAwBpB;AAiGD,cAAM,MAAM;IACX,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,IAAI,CAAmB;gBAEnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,KAAK,GAAE,OAAe;IAWnE,IAAI,MAAM,IAAI,GAAG,CAEhB;IAED,IAAI,GAAG,IAAI,GAAG,CAEb;CACD;AAED,cAAM,EAAG,SAAQ,MAAM;gBACV,MAAM,CAAC,EAAE,GAAG;IAIxB,MAAM,CAAC,OAAO,iBAAW;IAEzB,OAAO,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,GAAE,GAAQ,EAAE,MAAM,GAAE,MAAY;CAmElE;AAED,cAAM,EAAG,SAAQ,MAAM;gBACV,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,OAAe;IAIvD,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAO;IAC3B,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAU;IACjC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAW;IAEnC,OAAO,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,GAAE,GAAQ,EAAE,MAAM,CAAC,EAAE,MAAM;IAI7D,MAAM,CAAC,MAAM,GAAE,MAAW,GAAG,GAAG,EAAE;IAMlC,SAAS,CAAC,MAAM,GAAE,MAAW,GAAG,GAAG,EAAE;IAMrC,QAAQ,CAAC,MAAM,GAAE,MAAW,GAAG,GAAG,EAAE;IAYpC,WAAW,CAAC,MAAM,GAAE,MAAW,GAAG,GAAG,EAAE;CAMvC;AAgGD,iBAAS,QAAQ,CAAC,MAAM,GAAE,OAAc,GAAG,OAAO,CAmBjD;AAID,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"MC.d.ts","sourceRoot":"","sources":["../src/MC.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiB3C,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD,GAAG,EAAE,WAAW,CAAC;CACjB;AA2HD,iBAAS,GAAG,CAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,QAE1F;AAED,iBAAS,EAAE,CAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,EAAE,IAAI,GAAE,OAAe,QAEhH;AAED,iBAAS,GAAG,CAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,QAE1F;AAGD,iBAAS,OAAO,CACf,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,WAAW,GAAG,MAAM,EAC3B,IAAI,GAAE,GAAQ,EACd,MAAM,GAAE,MAAY,QAepB;AA4ED,cAAM,MAAM;IACX,OAAO,CAAC,OAAO,CAAe;gBAElB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,KAAK,GAAE,OAAe;IAUnE,IAAI,MAAM,IAAI,GAAG,CAEhB;CAED;AAED,cAAM,EAAG,SAAQ,MAAM;gBACV,MAAM,CAAC,EAAE,GAAG;IAIxB,MAAM,CAAC,OAAO,iBAAW;IAEzB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,EAAE,MAAM,GAAE,MAAY;CAGxD;AAED,cAAM,EAAG,SAAQ,MAAM;gBACV,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,OAAe;IAIvD,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAO;IAC3B,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAU;IACjC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAW;IAEnC,GAAG,CAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC;IAInE,EAAE,CAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC;IAIlE,GAAG,CAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC;IAInE,OAAO,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,EAAE,IAAI,GAAE,GAAQ,EAAE,MAAM,GAAE,MAAY;IAOtE,MAAM,CAAC,MAAM,GAAE,MAAW,GAAG,GAAG,EAAE;IAMlC,SAAS,CAAC,MAAM,GAAE,MAAW,GAAG,GAAG,EAAE;IAMrC,QAAQ,CAAC,MAAM,GAAE,MAAW,GAAG,GAAG,EAAE;IAQpC,WAAW,CAAC,MAAM,GAAE,MAAW,GAAG,GAAG,EAAE;CAMvC;AA+GD,iBAAS,QAAQ,CAAC,MAAM,GAAE,OAAc,GAAG,OAAO,CAmBjD;AAID,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC"}
package/public/src/MC.js CHANGED
@@ -1,11 +1,13 @@
1
1
  'use strict';
2
- import { McEvent } from './McEvent.js';
3
2
  var isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
4
- let nativeEventNames = new Set();
5
- if (isBrowser()) {
6
- Object.keys(HTMLElement.prototype)
7
- .filter((key) => /^on/.test(key))
8
- .forEach((eventName) => nativeEventNames.add(eventName));
3
+ function getNativeEventNames(domNode) {
4
+ let nativeEventNames = [];
5
+ if (isBrowser()) {
6
+ Object.keys(HTMLElement.prototype)
7
+ .filter((key) => /^on/.test(key))
8
+ .forEach((eventName) => nativeEventNames.push(eventName));
9
+ }
10
+ return nativeEventNames;
9
11
  }
10
12
  function getMicroComponents(elements, search) {
11
13
  let mcValues = [];
@@ -44,19 +46,6 @@ function traverseNodes(node, search, firstonly = true) {
44
46
  function isDOM(element) {
45
47
  return element && element instanceof HTMLElement;
46
48
  }
47
- function addListener(domNode, eventName, handler, capture = false, once = false) {
48
- let options = { once: false };
49
- if (capture) {
50
- options.capture = capture;
51
- }
52
- if (once) {
53
- options.once = once;
54
- }
55
- domNode.addEventListener(eventName, handler, options);
56
- }
57
- function removeListener(domNode, eventName, handler) {
58
- domNode.removeEventListener(eventName, handler);
59
- }
60
49
  function add(target, key, element = {}) {
61
50
  let node = target;
62
51
  if (!node._mc) {
@@ -69,8 +58,8 @@ function add(target, key, element = {}) {
69
58
  const _mc = node._mc;
70
59
  if (key.length && !_mc[key]) {
71
60
  _mc[key] = element;
72
- if (target instanceof HTMLElement && !target.getAttribute('_mc')) {
73
- target.setAttribute('_mc', '');
61
+ if (target instanceof HTMLElement && !target.getAttribute('data-mc')) {
62
+ target.setAttribute('data-mc', '');
74
63
  }
75
64
  }
76
65
  return element;
@@ -84,25 +73,8 @@ function remove(target, key) {
84
73
  }
85
74
  if (!Object.keys(_mc).length &&
86
75
  target instanceof HTMLElement &&
87
- target.hasAttribute('_mc')) {
88
- target.removeAttribute('_mc');
89
- }
90
- return;
91
- }
92
- function trigger(target, ev, data = {}, bubble = 'l') {
93
- let _mc = target?._mc;
94
- if (!_mc)
95
- return;
96
- let event = ev instanceof McEvent
97
- ? new McEvent(ev.type, ev.data, 'l')
98
- : new McEvent(ev, data, 'l'), mcEvent = typeof ev !== 'string' ? ev : new McEvent(ev, data, bubble);
99
- [...Object.values(_mc)].forEach((mc) => {
100
- if (mc?.trigger && typeof mc?.trigger === 'function') {
101
- mc?.trigger(event);
102
- }
103
- });
104
- if (/[ud]/.test(mcEvent.bubble)) {
105
- bubbleEvent(target, mcEvent);
76
+ target.hasAttribute('data-mc')) {
77
+ target.removeAttribute('data-mc');
106
78
  }
107
79
  return;
108
80
  }
@@ -113,6 +85,48 @@ function init(element) {
113
85
  element.trigger('Init');
114
86
  }, 0);
115
87
  }
88
+ function getMcEventName(eventName) {
89
+ return '_mc' + eventName[0].toUpperCase() + eventName.substring(1);
90
+ }
91
+ function off(domNode, eventName, handler) {
92
+ domNode.removeEventListener(getMcEventName(eventName), handler);
93
+ }
94
+ function on(domNode, eventName, handler, once = false) {
95
+ domNode.addEventListener(getMcEventName(eventName), handler, { capture: false, once });
96
+ }
97
+ function one(domNode, eventName, handler) {
98
+ on(domNode, eventName, handler, true);
99
+ }
100
+ function trigger(domNode, event, data = {}, bubble = 'l') {
101
+ const ev = typeof event === 'string'
102
+ ? new CustomEvent(getMcEventName(event), { detail: { data, bubble } })
103
+ : event;
104
+ if (bubble.length && bubble.indexOf('l') > -1) {
105
+ domNode.dispatchEvent(ev);
106
+ }
107
+ if (/[u|d]/.test(bubble)) {
108
+ bubbleEvent(domNode, ev);
109
+ }
110
+ }
111
+ function bubbleEvent(domNode, ev) {
112
+ setTimeout(() => {
113
+ if (ev.detail.bubble.indexOf('l') === -1) {
114
+ ev.detail.bubble += 'l';
115
+ }
116
+ if (ev.detail.bubble.indexOf('u') > -1) {
117
+ domNode.closest('[data-mc]')?.dispatchEvent(ev);
118
+ }
119
+ if (ev.detail.bubble.indexOf('d') > -1) {
120
+ let targets = new Set(domNode._mc
121
+ .children()
122
+ .map((c) => c?.target));
123
+ targets.forEach((target) => {
124
+ if (target)
125
+ DC.trigger(target, ev);
126
+ });
127
+ }
128
+ }, 0);
129
+ }
116
130
  function autoAttachListeners(element) {
117
131
  if (!isBrowser() || element.constructor === DC)
118
132
  return;
@@ -123,53 +137,31 @@ function autoAttachListeners(element) {
123
137
  .filter((key) => /^on[A-Z]|one[A-Z]/.test(key) &&
124
138
  typeof that.constructor.prototype[key] === 'function')
125
139
  .forEach((key) => {
126
- let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), nativeEventName = withoutOnOne.toLowerCase(), listener = (ev) => {
127
- that.trigger(withoutOnOne, ev);
140
+ let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), nativeEventName = withoutOnOne.toLowerCase();
141
+ let listener = (ev) => {
142
+ that[key](ev);
128
143
  };
129
- if (once) {
130
- Object.defineProperty(element, 'on' + withoutOnOne, {
131
- configurable: true,
132
- enumerable: false,
133
- writable: true,
134
- value: (ev) => {
135
- that.constructor.prototype[key].bind(that)(ev);
136
- },
137
- });
144
+ if (!!target['on' + nativeEventName]) {
145
+ target.addEventListener(nativeEventName, listener);
138
146
  }
139
- if (nativeEventNames.has('on' + nativeEventName)) {
140
- addListener(target, nativeEventName, listener, false, once);
147
+ else {
148
+ on(target, withoutOnOne, listener, once);
141
149
  }
142
150
  });
143
151
  }
144
152
  }
145
- function bubbleEvent(target, ev) {
146
- if (/[ud]/.test(ev.bubble)) {
147
- setTimeout(() => {
148
- if (ev.bubble.indexOf('l') === -1) {
149
- ev.bubble += 'l';
150
- }
151
- if (ev.bubble.indexOf('u') > -1) {
152
- let parent = traverseNodes(target, '', true)?.[0].target;
153
- if (parent)
154
- DC.trigger(parent, ev);
155
- }
156
- if (ev.bubble.indexOf('d') > -1) {
157
- let targets = new Set(target._mc
158
- .children()
159
- .map((c) => c?.target));
160
- targets.forEach((target) => {
161
- if (target)
162
- DC.trigger(target, ev);
163
- });
164
- }
165
- }, 0);
166
- }
153
+ function getMcChildNodes(domNode) {
154
+ const id = Math.random().toString().replace('.', '');
155
+ const selector = '[data-mc]:not([temp_id="' + id + '"] [data-mc] [data-mc])';
156
+ domNode.setAttribute('temp_id', id);
157
+ const myDomElements = domNode.querySelectorAll(selector);
158
+ domNode.removeAttribute('temp_id');
159
+ return myDomElements;
167
160
  }
168
161
  class McBase {
169
162
  _target;
170
- __mc = {};
171
163
  constructor(target, debug = false) {
172
- let that = this, element = that;
164
+ let element = this;
173
165
  this._target = new WeakRef(target || {});
174
166
  init(element);
175
167
  autoAttachListeners(element);
@@ -177,9 +169,6 @@ class McBase {
177
169
  get target() {
178
170
  return this._target.deref();
179
171
  }
180
- get _mc() {
181
- return this.__mc;
182
- }
183
172
  }
184
173
  class MC extends McBase {
185
174
  constructor(target) {
@@ -187,44 +176,6 @@ class MC extends McBase {
187
176
  }
188
177
  static trigger = trigger;
189
178
  trigger(ev, data = {}, bubble = 'l') {
190
- let that = this;
191
- if (that.constructor === MC || that.constructor === DC) {
192
- let event = ev instanceof McEvent
193
- ? new McEvent(ev.type, ev.data, 'l')
194
- : new McEvent(ev, data, 'l'), mcEvent = typeof ev !== 'string'
195
- ? ev
196
- : new McEvent(ev, data, bubble);
197
- [...Object.getOwnPropertyNames(that)].forEach((mc) => {
198
- if (that[mc]?.trigger &&
199
- typeof that[mc]?.trigger === 'function') {
200
- that[mc]?.trigger(event);
201
- }
202
- });
203
- if (/[ud]/.test(mcEvent.bubble)) {
204
- bubbleEvent(that.target, mcEvent);
205
- }
206
- return;
207
- }
208
- if (that instanceof MC || that instanceof DC) {
209
- const that = this, mcEvent = typeof ev !== 'string'
210
- ? ev
211
- : new McEvent(ev, data, bubble), handlerName = 'on' + mcEvent.type[0].toUpperCase() + mcEvent.type.slice(1);
212
- if (mcEvent.bubble.indexOf('l') > -1) {
213
- if (!mcEvent.immediateStopped &&
214
- typeof that[handlerName] === 'function') {
215
- that[handlerName](mcEvent);
216
- if (that.hasOwnProperty(handlerName)) {
217
- delete that[handlerName];
218
- }
219
- }
220
- }
221
- if (mcEvent.stopped || mcEvent.bubble === 'l') {
222
- return that;
223
- }
224
- if (/[ud]/.test(mcEvent.bubble)) {
225
- bubbleEvent(that.target, mcEvent);
226
- }
227
- }
228
179
  }
229
180
  }
230
181
  class DC extends McBase {
@@ -234,8 +185,18 @@ class DC extends McBase {
234
185
  static add = add;
235
186
  static remove = remove;
236
187
  static trigger = trigger;
237
- trigger(ev, data = {}, bubble) {
238
- MC.prototype.trigger.call(this, ev, data, bubble);
188
+ off(eventName, handler) {
189
+ off(this.target, eventName, handler);
190
+ }
191
+ on(eventName, handler) {
192
+ on(this.target, eventName, handler);
193
+ }
194
+ one(eventName, handler) {
195
+ one(this.target, eventName, handler);
196
+ }
197
+ trigger(ev, data = {}, bubble = 'l') {
198
+ if (typeof ev === 'string') {
199
+ }
239
200
  }
240
201
  parent(search = '') {
241
202
  let target = this.target;
@@ -253,39 +214,23 @@ class DC extends McBase {
253
214
  let target = this?.target;
254
215
  if (!isDOM(target))
255
216
  return [];
256
- const id = Math.random().toString().replace('.', '');
257
- const selector = '[_mc]:not([temp_id="' + id + '"] [_mc] [_mc])';
258
- target.setAttribute('temp_id', id);
259
- const myDomElements = target.querySelectorAll(selector);
217
+ const myDomElements = getMcChildNodes(target);
260
218
  const mcValues = getMicroComponents([...myDomElements], search);
261
- target.removeAttribute('temp_id');
262
219
  return mcValues;
263
220
  }
264
221
  descendants(search = '') {
265
222
  let target = this?.target;
266
223
  if (!isDOM(target))
267
224
  return [];
268
- const myDomElements = target.querySelectorAll('*[_mc]');
225
+ const myDomElements = target.querySelectorAll('*[data-mc]');
269
226
  return getMicroComponents([...myDomElements], search);
270
227
  }
271
228
  }
272
- const loadingMCs = new Set();
273
- function makeLoadScript(element) {
274
- if (loadingMCs.has(element))
275
- return;
276
- loadingMCs.add(element);
277
- const fileName = './' + element.split('-').join('/') + '.js';
278
- const se = document.createElement('script');
279
- se.setAttribute('src', fileName);
280
- se.setAttribute('blocking', 'render');
281
- se.async = true;
282
- se.setAttribute('type', 'module');
283
- se.setAttribute('data-name', element);
284
- se.setAttribute('loading', '');
285
- const loadedPromise = customElements.whenDefined(element);
286
- loadedPromise.then(() => {
229
+ const loadingDCs = new Set();
230
+ function attachDC(element) {
231
+ return () => {
287
232
  const elements = Array
288
- .from(document.querySelectorAll(`[_mc*="${element}"]`))
233
+ .from(document.querySelectorAll(`[data-mc*="${element}"]`))
289
234
  .filter(element => element instanceof HTMLElement);
290
235
  if (elements.length === 0)
291
236
  return;
@@ -293,19 +238,36 @@ function makeLoadScript(element) {
293
238
  elements.forEach((node) => {
294
239
  DC.add(node, klass.name, new klass(node));
295
240
  const new_mc = node
296
- .getAttribute('_mc')
241
+ .getAttribute('data-mc')
297
242
  .split(' ')
298
243
  .filter((name) => name !== element && name !== '')
299
- .join(' ');
300
- node.setAttribute('_mc', new_mc);
244
+ .join(' ')
245
+ .trim();
246
+ node.setAttribute('data-mc', new_mc);
301
247
  });
302
- document.head.querySelector('script[data-name="${elementName}]"')?.remove();
303
- });
304
- addListener(se, 'load', (ev) => {
305
- loadingMCs.delete(element);
248
+ };
249
+ }
250
+ ;
251
+ function makeLoadScript(element) {
252
+ if (loadingDCs.has(element))
253
+ return;
254
+ loadingDCs.add(element);
255
+ const fileName = './' + element.split('-').join('/') + '.js';
256
+ const se = document.createElement('script');
257
+ se.setAttribute('src', fileName);
258
+ se.setAttribute('blocking', 'render');
259
+ se.async = true;
260
+ se.setAttribute('type', 'module');
261
+ se.setAttribute('data-name', element);
262
+ se.setAttribute('loading', '');
263
+ const loadedPromise = customElements.whenDefined(element);
264
+ loadedPromise.then(attachDC(element));
265
+ se.addEventListener('load', (ev) => {
266
+ loadingDCs.delete(element);
267
+ document.head.querySelector(`script[data-name="${element}"]`)?.remove();
306
268
  });
307
- addListener(se, 'error', (ev) => {
308
- console.error('could not load MC code from', fileName);
269
+ se.addEventListener('error', (ev) => {
270
+ console.error('could not load DC code from', fileName);
309
271
  });
310
272
  document.head.append(se);
311
273
  }
@@ -313,16 +275,22 @@ function loadUndefinedMCs() {
313
275
  [...document.querySelectorAll(':not(:defined)')]
314
276
  .filter((element) => !!element
315
277
  && !customElements.get(element.tagName.toLowerCase())
316
- && !loadingMCs.has(element.tagName.toLowerCase()))
278
+ && !loadingDCs.has(element.tagName.toLowerCase()))
317
279
  .forEach((el) => {
318
280
  makeLoadScript(el.tagName.toLowerCase());
319
281
  });
320
- [...document.querySelectorAll('[_mc]:not([_mc=""]')]
282
+ [...document.querySelectorAll('[data-mc]:not([data-mc=""]')]
321
283
  .filter((element) => !!element)
322
284
  .forEach((el) => {
323
- const _mc = el.getAttribute('_mc')?.split(' ').filter(name => name !== '');
324
- _mc?.forEach(dc => {
325
- makeLoadScript(dc);
285
+ const _mc = el.getAttribute('data-mc')?.split(' ').filter(name => name !== '');
286
+ _mc?.forEach(element => {
287
+ const isDefined = customElements.get(element);
288
+ if (!loadingDCs.has(element) && !isDefined) {
289
+ makeLoadScript(element);
290
+ }
291
+ else if (isDefined) {
292
+ attachDC(element)();
293
+ }
326
294
  });
327
295
  });
328
296
  }
@@ -343,6 +311,6 @@ function autoload(enable = true) {
343
311
  window.autoload = window.autoload || autoload;
344
312
  return autoloadEnabled;
345
313
  }
346
- autoload.state = { loadingMCs };
347
- export { addListener, removeListener, McBase, MC, DC, McEvent, autoload };
314
+ autoload.state = loadingDCs;
315
+ export { McBase, MC, DC, autoload, on, one, off, trigger };
348
316
  //# sourceMappingURL=MC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MC.js","sourceRoot":"","sources":["../src/MC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MC.js","sourceRoot":"","sources":["../src/MC.ts"],"names":[],"mappings":"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"}