@twobirds/microcomponents 0.0.45 → 0.0.48

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 +15 -18
  6. package/dist/test.ts +6 -13
  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 +20 -58
  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 +15 -18
  49. package/public/src/test.ts +6 -13
  50. package/public/test.js +12 -37
  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 +15 -18
  56. package/src/test.ts +6 -13
  57. package/tsconfig.json +97 -101
@@ -1,13 +1,9 @@
1
1
  import { addListener, removeListener } from './MC.js';
2
- /*
3
- helpers
4
- */
5
2
  const isObject = (value) => {
6
3
  return value != null && typeof value === 'object';
7
4
  };
8
5
  const words = (classes) => {
9
6
  let classSet = new Set();
10
- // read classes into set
11
7
  classes.forEach(c => {
12
8
  c = c.trim();
13
9
  c.split(' ').forEach(e => {
@@ -16,7 +12,6 @@ const words = (classes) => {
16
12
  }
17
13
  });
18
14
  });
19
- // now we have a sanitized array
20
15
  classes = Array.from(classSet);
21
16
  return classes;
22
17
  };
@@ -31,17 +26,14 @@ const getInputName = (e) => {
31
26
  return ret;
32
27
  };
33
28
  const getInputHandlers = (e) => {
34
- let
35
- //inputList = ( Array.from( e.querySelectorAll('*') ) as HTMLElement[] ).filter( i => isInputElement(i) ),
36
- inputList = $d('input,select,textarea', e).array, handlers = {};
29
+ let inputList = $d('input,select,textarea', e).array, handlers = {};
37
30
  inputList.forEach((i) => {
38
31
  const name = i.getAttribute('name') || 'undefined';
39
32
  if (name) {
40
33
  let h;
41
34
  switch (getInputName(i)) {
42
35
  case 'input':
43
- //console.log( i, 'is HTMLInputElement');
44
- h = new InputHandler(i, e); // e = element to search radios in = radioBase
36
+ h = new InputHandler(i, e);
45
37
  Object.defineProperty(handlers, name, {
46
38
  enumerable: true,
47
39
  configurable: true,
@@ -50,7 +42,6 @@ const getInputHandlers = (e) => {
50
42
  });
51
43
  break;
52
44
  case 'select':
53
- //console.log( i, 'is HTMLSelectElement');
54
45
  h = new SelectHandler(i);
55
46
  Object.defineProperty(handlers, name, {
56
47
  enumerable: true,
@@ -60,7 +51,6 @@ const getInputHandlers = (e) => {
60
51
  });
61
52
  break;
62
53
  case 'textarea':
63
- //console.log( i, 'is HTMLTextAreaElement');
64
54
  h = new TextAreaHandler(i);
65
55
  Object.defineProperty(handlers, name, {
66
56
  enumerable: true,
@@ -114,21 +104,17 @@ class InputHandler extends InputBase {
114
104
  switch (type) {
115
105
  case 'radio':
116
106
  const selection = `input[type="radio"][name="${this.#e.getAttribute('name')}"]`, radios = $d(selection, this.#radioBase);
117
- // console.log('set radios', selection, this.#radioBase, radios.array );
118
107
  if (!radios.length)
119
108
  return;
120
- if (value === '') { // uncheck all
109
+ if (value === '') {
121
110
  radios.forEach(r => { if (r.checked)
122
111
  r.checked = false; });
123
- //console.log('unset all radios', radios.array );
124
112
  return;
125
113
  }
126
114
  const setRadioElement = radios.filter(r => r.getAttribute('value') === value);
127
115
  if (!setRadioElement.length)
128
116
  return;
129
- // console.log('set this radio', setRadioElement.array );
130
117
  setRadioElement.array[0].checked = true;
131
- // console.log('done', setRadioElement.array );
132
118
  return;
133
119
  break;
134
120
  case 'checkbox':
@@ -151,7 +137,6 @@ class SelectHandler extends InputBase {
151
137
  }
152
138
  get val() {
153
139
  const that = this, ret = [];
154
- // get all options
155
140
  const options = $d(that.#e.querySelectorAll('option'))
156
141
  .filter(o => o.selected)
157
142
  .forEach(o => { if (o.selected)
@@ -163,8 +148,6 @@ class SelectHandler extends InputBase {
163
148
  set val(value) {
164
149
  const that = this;
165
150
  value = typeof value === 'string' ? [value] : value;
166
- //console.log('set values', value );
167
- // set all options
168
151
  const options = $d(that.#e.querySelectorAll('option'))
169
152
  .forEach(o => {
170
153
  if (value.indexOf(o.value) > -1) {
@@ -176,20 +159,6 @@ class SelectHandler extends InputBase {
176
159
  o.selected = false;
177
160
  }
178
161
  });
179
- /*
180
- if (pOption.selected) {
181
- if (
182
- !pOption.disabled &&
183
- (!pOption.parentNode.disabled ||
184
- pOption.parentNode.nodeName !==
185
- 'optgroup')
186
- ) {
187
- var value = pOption.value;
188
-
189
- ret.push(value);
190
- }
191
- }
192
- */
193
162
  return;
194
163
  }
195
164
  }
@@ -207,9 +176,6 @@ class TextAreaHandler extends InputBase {
207
176
  return;
208
177
  }
209
178
  }
210
- /*
211
- selector classes
212
- */
213
179
  class DomSelector {
214
180
  #set = new Set();
215
181
  get set() {
@@ -227,25 +193,9 @@ class DomSelector {
227
193
  }
228
194
  constructor(selection, element = document.body) {
229
195
  let that = this, undefinedTags = new Set();
230
- // // console.log('DomSelector constructor', ...arguments);
231
196
  if (!selection) {
232
197
  return that;
233
198
  }
234
- /* autoloading disabled !
235
- if ( selection instanceof Array ){
236
- selection.forEach( (select) => {
237
- _getElementList( select, element ).forEach( (e) => {
238
- if ( e.localName?.indexOf('-') !== -1 || e.getAttribute?.('is') ) _loadRequirements( e );
239
- that.#set.add( e );
240
- });
241
- });
242
- } else {
243
- _getElementList( selection, element ).forEach( (e) => {
244
- if ( e.localName?.indexOf('-') !== -1 || e.getAttribute?.('is') ) _loadRequirements( e );
245
- that.#set.add( e );
246
- });
247
- }
248
- */
249
199
  }
250
200
  $t(nameSpace) {
251
201
  let result = new TbSelector();
@@ -269,9 +219,7 @@ class DomSelector {
269
219
  return that;
270
220
  }
271
221
  addClass(...classes) {
272
- // sanitize classes
273
222
  classes = words(classes);
274
- // now set those classes
275
223
  this.forEach(element => {
276
224
  element.classList.add(...classes);
277
225
  });
@@ -311,43 +259,32 @@ class DomSelector {
311
259
  }
312
260
  attr(first, second) {
313
261
  let that = this, attributes = {};
314
- // if no elements in set -> skip
315
262
  if (!that.length)
316
263
  return that;
317
- // if no arguments, return attributes of first in list as hash object
318
264
  if (!arguments.length) {
319
265
  Array.from([...that.set][0].attributes).forEach((attribute) => {
320
266
  attributes[attribute.name] = attribute.value;
321
267
  });
322
268
  return attributes;
323
269
  }
324
- // if first is a string
325
- // if no value (second) is given -> return attribute value of first element in node selection
326
- // if value (second) is null -> remove attribute and return this
327
- // else set attribute values and return this
328
270
  if (typeof first === 'string') {
329
- // return attributes
330
271
  if (second === undefined) {
331
272
  return [...that.set][0].getAttribute(first);
332
273
  }
333
- // remove attribute
334
274
  if (second === null) {
335
275
  [...that.set].forEach((e) => {
336
276
  e.removeAttribute(first);
337
277
  });
338
278
  return that;
339
279
  }
340
- // if attribute value is an object -> convert to json string
341
280
  if (typeof second === 'object') {
342
281
  second = JSON.stringify(second);
343
282
  }
344
- // set attribute
345
283
  [...that.set].forEach((e) => {
346
284
  e.setAttribute(first, second);
347
285
  });
348
286
  return that;
349
287
  }
350
- // if first is an object set attributes to all nodes
351
288
  if (typeof first === 'object') {
352
289
  [...that.set].forEach((e) => {
353
290
  Object.keys(first).forEach((key) => {
@@ -406,19 +343,15 @@ class DomSelector {
406
343
  first(selection, rootNode) {
407
344
  let that = this, set = new Set(), compare = false;
408
345
  ;
409
- // get compare selection if specified
410
346
  if (selection) {
411
347
  compare = $d(selection, rootNode);
412
348
  }
413
- // get compare selection if specified
414
349
  that.#set.forEach((e) => {
415
350
  if (e.parentNode) {
416
351
  set.add(e.parentNode.children[0]);
417
352
  }
418
353
  });
419
- // make result
420
354
  that = $d([...set]);
421
- // compare if necessay
422
355
  if (selection) {
423
356
  that.filter((e) => compare.has(e));
424
357
  }
@@ -428,9 +361,7 @@ class DomSelector {
428
361
  return this.#set.has(element);
429
362
  }
430
363
  hasClass(...classes) {
431
- // sanitize classes
432
364
  classes = words(classes);
433
- // now test those classes
434
365
  return this.every(e => {
435
366
  return Array.from(e.classList).every(c => e.contains(c));
436
367
  });
@@ -466,19 +397,6 @@ class DomSelector {
466
397
  }
467
398
  return that;
468
399
  }
469
- /*
470
- load(): DSelector{
471
- let that = this;
472
-
473
- if( !that.length ){
474
- that.add( document.body );
475
- }
476
-
477
- that.forEach( e => _loadRequirements( e ) );
478
-
479
- return that;
480
- }
481
- */
482
400
  next(selection, rootNode) {
483
401
  let that = this, set = new Set();
484
402
  that.#set.forEach((e) => {
@@ -506,7 +424,6 @@ class DomSelector {
506
424
  let that = this, eventNames = eventName.indexOf(' ') > -1
507
425
  ? eventName.split(' ')
508
426
  : [eventName];
509
- // remove handler
510
427
  that.array.forEach((e) => {
511
428
  eventNames.forEach(function (n) {
512
429
  removeListener(e, n, cb);
@@ -521,7 +438,6 @@ class DomSelector {
521
438
  function wrapper() { wrapper.cb.apply(that, Array.from(arguments)); }
522
439
  ;
523
440
  wrapper.cb = cb;
524
- // attach handler
525
441
  that.forEach((e) => {
526
442
  eventNames.forEach(function (n) {
527
443
  addListener(e, n, wrapper, capture, once);
@@ -536,7 +452,6 @@ class DomSelector {
536
452
  function wrapper() { wrapper.cb.apply(that, Array.from(arguments)); }
537
453
  ;
538
454
  wrapper.cb = cb;
539
- // attach handler
540
455
  that.forEach((e) => {
541
456
  eventNames.forEach(function (n) {
542
457
  addListener(e, n, wrapper, capture, true);
@@ -602,9 +517,7 @@ class DomSelector {
602
517
  return that;
603
518
  }
604
519
  removeClass(...classes) {
605
- // sanitize classes
606
520
  classes = words(classes);
607
- // now set those classes
608
521
  this.forEach(element => {
609
522
  element.classList.remove(...classes);
610
523
  });
@@ -628,9 +541,7 @@ class DomSelector {
628
541
  return t ?? '';
629
542
  }
630
543
  toggleClass(...classes) {
631
- // sanitize classes
632
544
  classes = words(classes);
633
- // now set those classes
634
545
  this.forEach(element => {
635
546
  element.classList.toggle(...classes);
636
547
  });
@@ -642,7 +553,6 @@ class DomSelector {
642
553
  : [eventName];
643
554
  that.#set.forEach((e) => {
644
555
  eventNames.forEach(function (n) {
645
- // console.log()
646
556
  ev = new Event(n, options);
647
557
  ev.data = data;
648
558
  e.dispatchEvent(ev);
@@ -650,32 +560,24 @@ class DomSelector {
650
560
  });
651
561
  return that;
652
562
  }
653
- // INFO:
654
- // val(): LooseObject; // no param: get all as LooseObject
655
- // val( p1: string ): Array<string> | number | string; // get from input name
656
- // val( p1: object ): DomSelector; // set from object
657
- // val( p1: string, p2: any ): DomSelector; // set from name and value
658
563
  val(p1, p2) {
659
564
  if (!this.length)
660
565
  return this;
661
566
  const that = this;
662
567
  let result, handlers = getInputHandlers(that.array[0]);
663
- // work with it
664
- if (!p1) { // get all inputs as LooseObject
568
+ if (!p1) {
665
569
  result = Object.assign({}, handlers);
666
- // Object.keys( handlers ).forEach( ( key ) => result[key] = handlers.hasOwnProperty(key) ? handlers[key].val : undefined );
667
570
  }
668
571
  else {
669
- if (isObject(p1)) { // set inputs from Object
572
+ if (isObject(p1)) {
670
573
  Object.assign(handlers, p1);
671
- // Object.keys( p1 ).forEach( ( key ) => !!handlers[key] ? handlers[key].val = p1[key] : false );
672
574
  result = that;
673
575
  }
674
576
  else if (typeof p1 === 'string') {
675
- if (p2 === undefined) { // get a single input
577
+ if (p2 === undefined) {
676
578
  result = handlers[p1];
677
579
  }
678
- else { // set a single input
580
+ else {
679
581
  handlers[p1] = p2;
680
582
  result = that;
681
583
  }
@@ -686,25 +588,17 @@ class DomSelector {
686
588
  values(values) {
687
589
  const that = this, holder = {};
688
590
  let data = {};
689
- //console.log( '$d().values()', values );
690
591
  if (!that.length) {
691
592
  console.warn('no dom selection to search inputs in');
692
593
  return {};
693
594
  }
694
595
  let handlers = getInputHandlers(that.array[0]);
695
- //console.log( 'handlers', Object.keys(handlers), handlers['cb1'] );
696
- // let values = that.val();
697
- // console.log( 'values', values );
698
596
  Object.keys(handlers).forEach((key) => {
699
- //console.log(key);
700
597
  data[key] = handlers[key];
701
598
  });
702
- // data = Object.assign( {}, that.val() )
703
- //console.log( 'data', that.array[0], data, Object.keys( data ) );
704
599
  if (Object.keys(data).length === 0) {
705
600
  console.warn('no inputs in this dom selection', that.array[0], data);
706
601
  }
707
- //console.log( '$d val()', data );
708
602
  if (values) {
709
603
  Object
710
604
  .keys(values)
@@ -714,13 +608,9 @@ class DomSelector {
714
608
  handlers[key] = values[key];
715
609
  }
716
610
  });
717
- // .forEach( key => handlers[key] = values[key] )
718
611
  }
719
612
  return structuredClone(Object.assign(handlers));
720
613
  }
721
- /*
722
- array method mapping
723
- */
724
614
  at(index) {
725
615
  return $d(this.array.at(index));
726
616
  }
@@ -801,7 +691,6 @@ class TbSelector {
801
691
  return this.#set.size;
802
692
  }
803
693
  set length(value) {
804
- //ignore
805
694
  }
806
695
  constructor(selection, element = document.body) {
807
696
  if (!selection) {
@@ -917,10 +806,8 @@ class TbSelector {
917
806
  let that = this, eventNames = name.indexOf(' ') > -1
918
807
  ? name.split(' ').filter((s) => s !== '')
919
808
  : [name];
920
- // remove handlers
921
809
  that.$d().array.forEach((e) => {
922
810
  eventNames.forEach(function (n) {
923
- // console.log('Tb Selector remove event', `[TB]${n}`, e, cb );
924
811
  removeListener(e, `[TB]${n}`, cb);
925
812
  });
926
813
  });
@@ -933,7 +820,6 @@ class TbSelector {
933
820
  function wrapper() { wrapper.cb.apply(that, Array.from(arguments)); }
934
821
  ;
935
822
  wrapper.cb = cb;
936
- // attach handler
937
823
  that.forEach((tb) => {
938
824
  eventNames.forEach(function (n) {
939
825
  addListener(tb._tg, `[TB]${n}`, wrapper, false, once);
@@ -948,7 +834,6 @@ class TbSelector {
948
834
  function wrapper() { wrapper.cb.apply(that, Array.from(arguments)); }
949
835
  ;
950
836
  wrapper.cb = cb;
951
- // attach handler
952
837
  that.forEach((tb) => {
953
838
  eventNames.forEach(function (n) {
954
839
  addListener(tb._tg, `[TB]${n}`, wrapper, false, true);
@@ -1006,9 +891,6 @@ class TbSelector {
1006
891
  });
1007
892
  return that;
1008
893
  }
1009
- /*
1010
- array method mapping
1011
- */
1012
894
  at(index) {
1013
895
  return $t(this.array.at(index));
1014
896
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}