@twobirds/microcomponents 0.0.44 → 0.0.46

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 (57) hide show
  1. package/dist/MC.min.js +7 -56
  2. package/dist/microcomponents.min.js +1 -1
  3. package/dist/observables.d.ts.map +1 -1
  4. package/dist/observables.min.js +1 -1
  5. package/dist/observables.ts +7 -16
  6. package/dist/test.ts +1 -5
  7. package/package.json +1 -1
  8. package/public/MC.js +7 -52
  9. package/public/MC.js.map +1 -1
  10. package/public/MC.min.js +7 -56
  11. package/public/McEvent.js +0 -4
  12. package/public/McEvent.js.map +1 -1
  13. package/public/assets/search.js +1 -1
  14. package/public/autoloader.js +1 -6
  15. package/public/autoloader.js.map +1 -1
  16. package/public/classes/MC.DC.html +18 -23
  17. package/public/classes/MC.MC.html +12 -17
  18. package/public/classes/MC.McBase.html +4 -4
  19. package/public/classes/MC.McEvent.html +13 -13
  20. package/public/formValues.js +3 -19
  21. package/public/formValues.js.map +1 -1
  22. package/public/functions/MC.addListener.html +1 -1
  23. package/public/functions/MC.removeListener.html +1 -1
  24. package/public/functions/elements.defineCE.html +1 -1
  25. package/public/functions/elements.getCE.html +1 -1
  26. package/public/functions/formValues.formValues.html +1 -1
  27. package/public/functions/observables.observe.html +1 -1
  28. package/public/functions/selectors._d.html +1 -1
  29. package/public/functions/selectors._t.html +1 -1
  30. package/public/helpers.js +4 -5
  31. package/public/helpers.js.map +1 -1
  32. package/public/interfaces/MC.HTMLMcElement.html +2 -2
  33. package/public/interfaces/selectors.DSelector.html +55 -55
  34. package/public/interfaces/selectors.TSelector.html +37 -37
  35. package/public/microcomponents.es3.js +15 -61
  36. package/public/microcomponents.es3.js.map +1 -1
  37. package/public/microcomponents.min.js +1 -1
  38. package/public/modules/MC.html +1 -1
  39. package/public/modules/elements.html +1 -1
  40. package/public/modules/formValues.html +1 -1
  41. package/public/modules/observables.html +1 -1
  42. package/public/modules/selectors.html +1 -1
  43. package/public/observables.js +12 -56
  44. package/public/observables.js.map +1 -1
  45. package/public/observables.min.js +1 -1
  46. package/public/selectors.js +7 -125
  47. package/public/selectors.js.map +1 -1
  48. package/public/src/observables.ts +7 -16
  49. package/public/src/test.ts +1 -5
  50. package/public/test.js +6 -30
  51. package/public/test.js.map +1 -1
  52. package/public/types/observables.Observable.html +1 -1
  53. package/public/types/selectors.selection.html +1 -1
  54. package/public/types/selectors.singleSelector.html +1 -1
  55. package/src/observables.ts +7 -16
  56. package/src/test.ts +1 -5
  57. package/tsconfig.json +97 -101
package/public/MC.js CHANGED
@@ -2,13 +2,11 @@
2
2
  import { McEvent } from './McEvent.js';
3
3
  var isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
4
4
  let nativeEventNames = new Set();
5
- // HTMLElement native event names
6
5
  if (isBrowser()) {
7
6
  Object.keys(HTMLElement.prototype)
8
7
  .filter((key) => /^on/.test(key))
9
8
  .forEach((eventName) => nativeEventNames.add(eventName));
10
9
  }
11
- // get all microcomponents from a list of HTMLElements
12
10
  function getMicroComponents(elements, search) {
13
11
  let mcValues = [];
14
12
  elements.forEach((e) => {
@@ -26,7 +24,6 @@ function getMicroComponents(elements, search) {
26
24
  });
27
25
  return mcValues;
28
26
  }
29
- // get all ancestor DOM nodes up to the document root
30
27
  function traverseNodes(node, search, firstonly = true) {
31
28
  let mcValues = [];
32
29
  while (node) {
@@ -55,44 +52,36 @@ function addListener(domNode, eventName, handler, capture = false, once = false)
55
52
  if (once) {
56
53
  options.once = once;
57
54
  }
58
- //console.log( 'addEventListener', eventName, ( handler as Function ).name, options );
59
55
  domNode.addEventListener(eventName, handler, options);
60
56
  }
61
57
  function removeListener(domNode, eventName, handler) {
62
58
  domNode.removeEventListener(eventName, handler);
63
59
  }
64
- // add a microcomponent to a target DOM node
65
60
  function add(target, key, element = {}) {
66
61
  let node = target;
67
- // create the _mc property if necessary
68
62
  if (!node._mc) {
69
63
  let debug = DC?.debug;
70
64
  DC.debug = false;
71
65
  node._mc = new DC(target);
72
66
  DC.debug = debug;
73
- delete node._mc._mc; // NOT NEEDED on the top level _mc property of a DOM HTMLElement
67
+ delete node._mc._mc;
74
68
  }
75
69
  const _mc = node._mc;
76
- // add the element with the given property key to the _mc property
77
70
  if (key.length && !_mc[key]) {
78
71
  _mc[key] = element;
79
- // add attribute if HTMLElement
80
72
  if (target instanceof HTMLElement) {
81
73
  target.setAttribute('_mc', '');
82
74
  }
83
75
  }
84
76
  return element;
85
77
  }
86
- // remove a micro component from the DOM
87
78
  function remove(target, key) {
88
79
  if (!key)
89
- return; // silent fail
80
+ return;
90
81
  const _mc = target?._mc || {};
91
- // delete the property from the HTMLElement _mc collection
92
82
  if (_mc && _mc[key]) {
93
83
  delete _mc[key];
94
84
  }
95
- // remove the _mc attribute if the DOM collection is empty
96
85
  if (!Object.keys(_mc).length &&
97
86
  target instanceof HTMLElement &&
98
87
  target.hasAttribute('_mc')) {
@@ -100,7 +89,6 @@ function remove(target, key) {
100
89
  }
101
90
  return;
102
91
  }
103
- // trigger an event
104
92
  function trigger(target, ev, data = {}, bubble = 'l') {
105
93
  let _mc = target?._mc;
106
94
  if (!_mc)
@@ -109,7 +97,6 @@ function trigger(target, ev, data = {}, bubble = 'l') {
109
97
  ? new McEvent(ev.type, ev.data, 'l')
110
98
  : new McEvent(ev, data, 'l'), mcEvent = typeof ev !== 'string' ? ev : new McEvent(ev, data, bubble);
111
99
  [...Object.values(_mc)].forEach((mc) => {
112
- //console.log( 'mc [', mc.constructor.name, ']', mc.constructor.prototype?.oneInit );
113
100
  if (mc?.trigger && typeof mc?.trigger === 'function') {
114
101
  mc?.trigger(event);
115
102
  }
@@ -119,25 +106,11 @@ function trigger(target, ev, data = {}, bubble = 'l') {
119
106
  }
120
107
  return;
121
108
  }
122
- // run the "init" lifecycle event on the complete _mc structure
123
109
  function init(element) {
124
110
  if (element.constructor === DC)
125
111
  return;
126
112
  setTimeout(() => {
127
113
  element.trigger('Init');
128
- /*
129
- let keys = Object.keys( ( element as any)?._mc );
130
- if ( keys.length ){
131
- //console.log( 'inner Inits on [', mc.constructor.name, ']', keys );
132
- keys?.forEach( (key: string) => {
133
- let mc = ( element as any)?._mc?.[key];
134
- //console.log( key, typeof mc?.oneInit, mc );
135
- if ( ( mc as any )['oneInit'] && typeof ( mc as any ).oneInit == 'function' ){
136
- ( mc as any ).oneInit( new McEvent('Init') );
137
- }
138
- });
139
- };
140
- */
141
114
  }, 0);
142
115
  }
143
116
  function autoAttachListeners(element) {
@@ -150,46 +123,36 @@ function autoAttachListeners(element) {
150
123
  .filter((key) => /^on[A-Z]|one[A-Z]/.test(key) &&
151
124
  typeof that.constructor.prototype[key] === 'function')
152
125
  .forEach((key) => {
153
- let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), // preserves upper/lowercase for non-native events
154
- nativeEventName = withoutOnOne.toLowerCase(), listener = (ev) => {
126
+ let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), nativeEventName = withoutOnOne.toLowerCase(), listener = (ev) => {
155
127
  that.trigger(withoutOnOne, ev);
156
128
  };
157
129
  if (once) {
158
- // console.log( '...is only called once', that.constructor.prototype[key] );
159
130
  Object.defineProperty(element, 'on' + withoutOnOne, {
160
131
  configurable: true,
161
132
  enumerable: false,
162
133
  writable: true,
163
134
  value: (ev) => {
164
- // console.log( 'onceHandler execute:', that.constructor.prototype[key] );
165
135
  that.constructor.prototype[key].bind(that)(ev);
166
136
  },
167
137
  });
168
138
  }
169
139
  if (nativeEventNames.has('on' + nativeEventName)) {
170
- // native event defined in HTMLElement
171
- // console.log('added as native listener', target, nativeEventName );
172
140
  addListener(target, nativeEventName, listener, false, once);
173
141
  }
174
142
  });
175
143
  }
176
144
  }
177
145
  function bubbleEvent(target, ev) {
178
- // at this point, either 'u' or 'd' bubbling should be indicated
179
- // mcEvent bubbling is asynchronous, and the order of target MC execution in case of multiple matches is not guaranteed!
180
146
  if (/[ud]/.test(ev.bubble)) {
181
147
  setTimeout(() => {
182
- // bubbling must include 'l' for local, or else no handlers are executed'
183
148
  if (ev.bubble.indexOf('l') === -1) {
184
149
  ev.bubble += 'l';
185
150
  }
186
- // bubble up towards root
187
151
  if (ev.bubble.indexOf('u') > -1) {
188
152
  let parent = traverseNodes(target, '', true)?.[0].target;
189
153
  if (parent)
190
154
  DC.trigger(parent, ev);
191
155
  }
192
- // bubble down
193
156
  if (ev.bubble.indexOf('d') > -1) {
194
157
  let targets = new Set(target._mc
195
158
  .children()
@@ -203,11 +166,11 @@ function bubbleEvent(target, ev) {
203
166
  }
204
167
  }
205
168
  class McBase {
206
- #target; // avoid circular reference
169
+ #target;
207
170
  constructor(target, debug = false) {
208
171
  let that = this, element = that;
209
172
  this.#target = new WeakRef(target || {});
210
- init(element); // async lifecycle event
173
+ init(element);
211
174
  autoAttachListeners(element);
212
175
  }
213
176
  get target() {
@@ -222,8 +185,6 @@ class MC extends McBase {
222
185
  static trigger = trigger;
223
186
  trigger(ev, data = {}, bubble = 'l') {
224
187
  let that = this;
225
- //console.log( that, '.trigger(', ev, data, bubble, ')' );
226
- // run all triggers
227
188
  if (that.constructor === MC || that.constructor === DC) {
228
189
  let event = ev instanceof McEvent
229
190
  ? new McEvent(ev.type, ev.data, 'l')
@@ -239,30 +200,24 @@ class MC extends McBase {
239
200
  if (/[ud]/.test(mcEvent.bubble)) {
240
201
  bubbleEvent(that.target, mcEvent);
241
202
  }
242
- return; // must return here!
203
+ return;
243
204
  }
244
- // only this instance
245
205
  if (that instanceof MC || that instanceof DC) {
246
206
  const that = this, mcEvent = typeof ev !== 'string'
247
207
  ? ev
248
208
  : new McEvent(ev, data, bubble), handlerName = 'on' + mcEvent.type[0].toUpperCase() + mcEvent.type.slice(1);
249
- // console.log('trigger', handlerName, mcEvent, data, bubble );
250
209
  if (mcEvent.bubble.indexOf('l') > -1) {
251
210
  if (!mcEvent.immediateStopped &&
252
211
  typeof that[handlerName] === 'function') {
253
- // console.log( 'execute handler:', handlerName );
254
212
  that[handlerName](mcEvent);
255
213
  if (that.hasOwnProperty(handlerName)) {
256
- // it is a once handler
257
- delete that[handlerName]; // remove after first execution
214
+ delete that[handlerName];
258
215
  }
259
216
  }
260
217
  }
261
- // if event stopped or local only, handling is cancelled
262
218
  if (mcEvent.stopped || mcEvent.bubble === 'l') {
263
219
  return that;
264
220
  }
265
- //console.log('bubble', mcEvent);
266
221
  if (/[ud]/.test(mcEvent.bubble)) {
267
222
  bubbleEvent(that.target, mcEvent);
268
223
  }
package/public/MC.js.map CHANGED
@@ -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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"}
package/public/MC.min.js CHANGED
@@ -61,7 +61,6 @@ __webpack_require__.d(__webpack_exports__, {
61
61
 
62
62
  var isBrowser = new Function("try {return this===window;}catch(e){ return false;}");
63
63
  let nativeEventNames = new Set();
64
- // HTMLElement native event names
65
64
  if (isBrowser()) {
66
65
  Object.keys(HTMLElement.prototype).filter(key => /^on/.test(key)).forEach(eventName => nativeEventNames.add(eventName));
67
66
  }
@@ -73,7 +72,6 @@ class McEvent {
73
72
  #stopped = false;
74
73
  #immediateStopped = false;
75
74
  constructor(type, data = {}, bubble = 'l') {
76
- // bubble standard = local only, options = any combination of'uld' characters: up to root, local, down
77
75
  this.#type = type;
78
76
  this.data = data;
79
77
  this.bubble = bubble;
@@ -95,7 +93,6 @@ class McEvent {
95
93
  this.#immediateStopped = true;
96
94
  }
97
95
  }
98
- // get all microcomponents from a list of HTMLElements
99
96
  function getMicroComponents(elements, search) {
100
97
  let mcValues = [];
101
98
  elements.forEach(e => {
@@ -113,7 +110,6 @@ function getMicroComponents(elements, search) {
113
110
  });
114
111
  return mcValues;
115
112
  }
116
- // get all ancestor DOM nodes up to the document root
117
113
  function traverseNodes(node, search, firstonly = true) {
118
114
  let mcValues = [];
119
115
  while (node) {
@@ -138,13 +134,11 @@ function traverseNodes(node, search, firstonly = true) {
138
134
 
139
135
  var MC_isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
140
136
  let MC_nativeEventNames = new Set();
141
- // HTMLElement native event names
142
137
  if (MC_isBrowser()) {
143
138
  Object.keys(HTMLElement.prototype)
144
139
  .filter((key) => /^on/.test(key))
145
140
  .forEach((eventName) => MC_nativeEventNames.add(eventName));
146
141
  }
147
- // get all microcomponents from a list of HTMLElements
148
142
  function MC_getMicroComponents(elements, search) {
149
143
  let mcValues = [];
150
144
  elements.forEach((e) => {
@@ -162,7 +156,6 @@ function MC_getMicroComponents(elements, search) {
162
156
  });
163
157
  return mcValues;
164
158
  }
165
- // get all ancestor DOM nodes up to the document root
166
159
  function MC_traverseNodes(node, search, firstonly = true) {
167
160
  let mcValues = [];
168
161
  while (node) {
@@ -191,44 +184,36 @@ function addListener(domNode, eventName, handler, capture = false, once = false)
191
184
  if (once) {
192
185
  options.once = once;
193
186
  }
194
- //console.log( 'addEventListener', eventName, ( handler as Function ).name, options );
195
187
  domNode.addEventListener(eventName, handler, options);
196
188
  }
197
189
  function removeListener(domNode, eventName, handler) {
198
190
  domNode.removeEventListener(eventName, handler);
199
191
  }
200
- // add a microcomponent to a target DOM node
201
192
  function add(target, key, element = {}) {
202
193
  let node = target;
203
- // create the _mc property if necessary
204
194
  if (!node._mc) {
205
195
  let debug = DC?.debug;
206
196
  DC.debug = false;
207
197
  node._mc = new DC(target);
208
198
  DC.debug = debug;
209
- delete node._mc._mc; // NOT NEEDED on the top level _mc property of a DOM HTMLElement
199
+ delete node._mc._mc;
210
200
  }
211
201
  const _mc = node._mc;
212
- // add the element with the given property key to the _mc property
213
202
  if (key.length && !_mc[key]) {
214
203
  _mc[key] = element;
215
- // add attribute if HTMLElement
216
204
  if (target instanceof HTMLElement) {
217
205
  target.setAttribute('_mc', '');
218
206
  }
219
207
  }
220
208
  return element;
221
209
  }
222
- // remove a micro component from the DOM
223
210
  function remove(target, key) {
224
211
  if (!key)
225
- return; // silent fail
212
+ return;
226
213
  const _mc = target?._mc || {};
227
- // delete the property from the HTMLElement _mc collection
228
214
  if (_mc && _mc[key]) {
229
215
  delete _mc[key];
230
216
  }
231
- // remove the _mc attribute if the DOM collection is empty
232
217
  if (!Object.keys(_mc).length &&
233
218
  target instanceof HTMLElement &&
234
219
  target.hasAttribute('_mc')) {
@@ -236,7 +221,6 @@ function remove(target, key) {
236
221
  }
237
222
  return;
238
223
  }
239
- // trigger an event
240
224
  function trigger(target, ev, data = {}, bubble = 'l') {
241
225
  let _mc = target?._mc;
242
226
  if (!_mc)
@@ -245,7 +229,6 @@ function trigger(target, ev, data = {}, bubble = 'l') {
245
229
  ? new McEvent(ev.type, ev.data, 'l')
246
230
  : new McEvent(ev, data, 'l'), mcEvent = typeof ev !== 'string' ? ev : new McEvent(ev, data, bubble);
247
231
  [...Object.values(_mc)].forEach((mc) => {
248
- //console.log( 'mc [', mc.constructor.name, ']', mc.constructor.prototype?.oneInit );
249
232
  if (mc?.trigger && typeof mc?.trigger === 'function') {
250
233
  mc?.trigger(event);
251
234
  }
@@ -255,25 +238,11 @@ function trigger(target, ev, data = {}, bubble = 'l') {
255
238
  }
256
239
  return;
257
240
  }
258
- // run the "init" lifecycle event on the complete _mc structure
259
241
  function init(element) {
260
242
  if (element.constructor === DC)
261
243
  return;
262
244
  setTimeout(() => {
263
245
  element.trigger('Init');
264
- /*
265
- let keys = Object.keys( ( element as any)?._mc );
266
- if ( keys.length ){
267
- //console.log( 'inner Inits on [', mc.constructor.name, ']', keys );
268
- keys?.forEach( (key: string) => {
269
- let mc = ( element as any)?._mc?.[key];
270
- //console.log( key, typeof mc?.oneInit, mc );
271
- if ( ( mc as any )['oneInit'] && typeof ( mc as any ).oneInit == 'function' ){
272
- ( mc as any ).oneInit( new McEvent('Init') );
273
- }
274
- });
275
- };
276
- */
277
246
  }, 0);
278
247
  }
279
248
  function autoAttachListeners(element) {
@@ -286,46 +255,36 @@ function autoAttachListeners(element) {
286
255
  .filter((key) => /^on[A-Z]|one[A-Z]/.test(key) &&
287
256
  typeof that.constructor.prototype[key] === 'function')
288
257
  .forEach((key) => {
289
- let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), // preserves upper/lowercase for non-native events
290
- nativeEventName = withoutOnOne.toLowerCase(), listener = (ev) => {
258
+ let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), nativeEventName = withoutOnOne.toLowerCase(), listener = (ev) => {
291
259
  that.trigger(withoutOnOne, ev);
292
260
  };
293
261
  if (once) {
294
- // console.log( '...is only called once', that.constructor.prototype[key] );
295
262
  Object.defineProperty(element, 'on' + withoutOnOne, {
296
263
  configurable: true,
297
264
  enumerable: false,
298
265
  writable: true,
299
266
  value: (ev) => {
300
- // console.log( 'onceHandler execute:', that.constructor.prototype[key] );
301
267
  that.constructor.prototype[key].bind(that)(ev);
302
268
  },
303
269
  });
304
270
  }
305
271
  if (MC_nativeEventNames.has('on' + nativeEventName)) {
306
- // native event defined in HTMLElement
307
- // console.log('added as native listener', target, nativeEventName );
308
272
  addListener(target, nativeEventName, listener, false, once);
309
273
  }
310
274
  });
311
275
  }
312
276
  }
313
277
  function bubbleEvent(target, ev) {
314
- // at this point, either 'u' or 'd' bubbling should be indicated
315
- // mcEvent bubbling is asynchronous, and the order of target MC execution in case of multiple matches is not guaranteed!
316
278
  if (/[ud]/.test(ev.bubble)) {
317
279
  setTimeout(() => {
318
- // bubbling must include 'l' for local, or else no handlers are executed'
319
280
  if (ev.bubble.indexOf('l') === -1) {
320
281
  ev.bubble += 'l';
321
282
  }
322
- // bubble up towards root
323
283
  if (ev.bubble.indexOf('u') > -1) {
324
284
  let parent = MC_traverseNodes(target, '', true)?.[0].target;
325
285
  if (parent)
326
286
  DC.trigger(parent, ev);
327
287
  }
328
- // bubble down
329
288
  if (ev.bubble.indexOf('d') > -1) {
330
289
  let targets = new Set(target._mc
331
290
  .children()
@@ -339,11 +298,11 @@ function bubbleEvent(target, ev) {
339
298
  }
340
299
  }
341
300
  class McBase {
342
- #target; // avoid circular reference
301
+ #target;
343
302
  constructor(target, debug = false) {
344
303
  let that = this, element = that;
345
304
  this.#target = new WeakRef(target || {});
346
- init(element); // async lifecycle event
305
+ init(element);
347
306
  autoAttachListeners(element);
348
307
  }
349
308
  get target() {
@@ -358,8 +317,6 @@ class MC extends McBase {
358
317
  static trigger = trigger;
359
318
  trigger(ev, data = {}, bubble = 'l') {
360
319
  let that = this;
361
- //console.log( that, '.trigger(', ev, data, bubble, ')' );
362
- // run all triggers
363
320
  if (that.constructor === MC || that.constructor === DC) {
364
321
  let event = ev instanceof McEvent
365
322
  ? new McEvent(ev.type, ev.data, 'l')
@@ -375,30 +332,24 @@ class MC extends McBase {
375
332
  if (/[ud]/.test(mcEvent.bubble)) {
376
333
  bubbleEvent(that.target, mcEvent);
377
334
  }
378
- return; // must return here!
335
+ return;
379
336
  }
380
- // only this instance
381
337
  if (that instanceof MC || that instanceof DC) {
382
338
  const that = this, mcEvent = typeof ev !== 'string'
383
339
  ? ev
384
340
  : new McEvent(ev, data, bubble), handlerName = 'on' + mcEvent.type[0].toUpperCase() + mcEvent.type.slice(1);
385
- // console.log('trigger', handlerName, mcEvent, data, bubble );
386
341
  if (mcEvent.bubble.indexOf('l') > -1) {
387
342
  if (!mcEvent.immediateStopped &&
388
343
  typeof that[handlerName] === 'function') {
389
- // console.log( 'execute handler:', handlerName );
390
344
  that[handlerName](mcEvent);
391
345
  if (that.hasOwnProperty(handlerName)) {
392
- // it is a once handler
393
- delete that[handlerName]; // remove after first execution
346
+ delete that[handlerName];
394
347
  }
395
348
  }
396
349
  }
397
- // if event stopped or local only, handling is cancelled
398
350
  if (mcEvent.stopped || mcEvent.bubble === 'l') {
399
351
  return that;
400
352
  }
401
- //console.log('bubble', mcEvent);
402
353
  if (/[ud]/.test(mcEvent.bubble)) {
403
354
  bubbleEvent(that.target, mcEvent);
404
355
  }
package/public/McEvent.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  var isBrowser = new Function("try {return this===window;}catch(e){ return false;}");
3
3
  let nativeEventNames = new Set();
4
- // HTMLElement native event names
5
4
  if (isBrowser()) {
6
5
  Object.keys(HTMLElement.prototype).filter(key => /^on/.test(key)).forEach(eventName => nativeEventNames.add(eventName));
7
6
  }
@@ -13,7 +12,6 @@ class McEvent {
13
12
  #stopped = false;
14
13
  #immediateStopped = false;
15
14
  constructor(type, data = {}, bubble = 'l') {
16
- // bubble standard = local only, options = any combination of'uld' characters: up to root, local, down
17
15
  this.#type = type;
18
16
  this.data = data;
19
17
  this.bubble = bubble;
@@ -35,7 +33,6 @@ class McEvent {
35
33
  this.#immediateStopped = true;
36
34
  }
37
35
  }
38
- // get all microcomponents from a list of HTMLElements
39
36
  function getMicroComponents(elements, search) {
40
37
  let mcValues = [];
41
38
  elements.forEach(e => {
@@ -53,7 +50,6 @@ function getMicroComponents(elements, search) {
53
50
  });
54
51
  return mcValues;
55
52
  }
56
- // get all ancestor DOM nodes up to the document root
57
53
  function traverseNodes(node, search, firstonly = true) {
58
54
  let mcValues = [];
59
55
  while (node) {
@@ -1 +1 @@
1
- {"version":3,"file":"McEvent.js","sourceRoot":"","sources":["../src/McEvent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McEvent.js","sourceRoot":"","sources":["../src/McEvent.ts"],"names":[],"mappings":"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"}