@twobirds/microcomponents 0.0.84 → 0.0.86

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 (78) hide show
  1. package/README.md +22 -6
  2. package/assets/documentation/MC.md +60 -81
  3. package/assets/documentation/elements.md +6 -9
  4. package/assets/documentation/observables.md +97 -11
  5. package/assets/test/{my-tag.css → myButton.css} +4 -4
  6. package/assets/test/test.html +1 -1
  7. package/dist/MC.d.ts +6 -9
  8. package/dist/MC.d.ts.map +1 -1
  9. package/dist/MC.js +40 -73
  10. package/dist/MC.min.js +40 -73
  11. package/dist/MC.ts +67 -114
  12. package/dist/elements.min.js +1 -1
  13. package/dist/formValues.min.js +1 -1
  14. package/dist/microcomponents.min.js +1 -1
  15. package/dist/observables.min.js +1 -1
  16. package/package.json +2 -2
  17. package/public/MC.d.ts +6 -9
  18. package/public/MC.d.ts.map +1 -1
  19. package/public/MC.js +40 -73
  20. package/public/MC.js.map +1 -1
  21. package/public/MC.min.js +40 -73
  22. package/public/MC.ts +67 -114
  23. package/public/documentation/MC.md +60 -81
  24. package/public/documentation/elements.md +6 -9
  25. package/public/documentation/observables.md +97 -11
  26. package/public/elements.min.js +1 -1
  27. package/public/formValues.min.js +1 -1
  28. package/public/microcomponents.min.js +1 -1
  29. package/public/observables.min.js +1 -1
  30. package/public/src/MC.d.ts +6 -9
  31. package/public/src/MC.d.ts.map +1 -1
  32. package/public/src/MC.js +40 -73
  33. package/public/src/MC.js.map +1 -1
  34. package/public/src/MC.ts +67 -114
  35. package/public/src/test/test/grandparent.js +1 -1
  36. package/public/src/test/test/testform.js +1 -1
  37. package/public/src/test/test.js +23 -31
  38. package/public/src/test/test.js.map +1 -1
  39. package/public/src/test/test.ts +61 -72
  40. package/public/test/MC.d.ts +6 -9
  41. package/public/test/MC.d.ts.map +1 -1
  42. package/public/test/MC.js +40 -73
  43. package/public/test/MC.min.js +40 -73
  44. package/public/test/MC.ts +67 -114
  45. package/public/test/elements.min.js +1 -1
  46. package/public/test/formValues.min.js +1 -1
  47. package/public/test/microcomponents.min.js +1 -1
  48. package/public/test/{my-tag.css → myButton.css} +4 -4
  49. package/public/test/observables.min.js +1 -1
  50. package/public/test/test/grandparent.js +1 -1
  51. package/public/test/test/testform.js +1 -1
  52. package/public/test/test.html +1 -1
  53. package/public/test/test.js +23 -31
  54. package/public/test/test.js.map +1 -1
  55. package/public/test/test.ts +61 -72
  56. package/public/typedoc/assets/navigation.js +1 -1
  57. package/public/typedoc/assets/search.js +1 -1
  58. package/public/typedoc/classes/MC.DC.html +3 -4
  59. package/public/typedoc/classes/MC.MC.html +2 -4
  60. package/public/typedoc/classes/MC.McBase.html +2 -2
  61. package/public/typedoc/functions/MC.autoload.html +1 -1
  62. package/public/typedoc/functions/MC.off.html +1 -1
  63. package/public/typedoc/functions/MC.on.html +1 -1
  64. package/public/typedoc/functions/MC.one.html +1 -1
  65. package/public/typedoc/functions/MC.trigger.html +1 -0
  66. package/public/typedoc/functions/elements.defineCE.html +1 -1
  67. package/public/typedoc/functions/elements.getCE.html +1 -1
  68. package/public/typedoc/functions/formValues.formValues.html +1 -1
  69. package/public/typedoc/functions/observables.observe.html +1 -1
  70. package/public/typedoc/index.html +21 -10
  71. package/public/typedoc/interfaces/MC.HTMLMcElement.html +2 -2
  72. package/public/typedoc/modules/MC.html +3 -3
  73. package/public/typedoc/modules/elements.html +1 -1
  74. package/public/typedoc/modules/formValues.html +1 -1
  75. package/public/typedoc/modules/observables.html +1 -1
  76. package/public/typedoc/types/observables.Observable.html +1 -1
  77. package/src/MC.ts +67 -114
  78. package/src/test/test.ts +61 -72
package/public/MC.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- var isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
2
+ const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
3
3
  function getNativeEventNames(domNode) {
4
4
  let nativeEventNames = [];
5
5
  if (isBrowser()) {
@@ -9,51 +9,13 @@ function getNativeEventNames(domNode) {
9
9
  }
10
10
  return nativeEventNames;
11
11
  }
12
- function getMicroComponents(elements, search) {
13
- let mcValues = [];
14
- elements.forEach((e) => {
15
- if (e) {
16
- if (e instanceof HTMLElement) {
17
- const _mc = e?._mc;
18
- if (!search && _mc) {
19
- mcValues = mcValues.concat(Object.values(e._mc));
20
- }
21
- else if (search && _mc && _mc[search]) {
22
- mcValues.push(_mc[search]);
23
- }
24
- }
25
- }
26
- });
27
- return mcValues;
28
- }
29
- function traverseNodes(node, search, firstonly = true) {
30
- let mcValues = [];
31
- while (node) {
32
- if (node._mc) {
33
- if (!search) {
34
- mcValues = mcValues.concat(Object.values(node._mc));
35
- }
36
- else if (search && node._mc[search]) {
37
- mcValues.push(node._mc[search]);
38
- }
39
- if (firstonly)
40
- return mcValues;
41
- }
42
- node = node.parentNode;
43
- }
44
- return mcValues;
45
- }
46
12
  function isDOM(element) {
47
13
  return element && element instanceof HTMLElement;
48
14
  }
49
15
  function add(target, key, element = {}) {
50
16
  let node = target;
51
17
  if (!node._mc) {
52
- let debug = DC?.debug;
53
- DC.debug = false;
54
18
  node._mc = new DC(target);
55
- DC.debug = debug;
56
- delete node._mc._mc;
57
19
  }
58
20
  const _mc = node._mc;
59
21
  if (key.length && !_mc[key]) {
@@ -62,7 +24,7 @@ function add(target, key, element = {}) {
62
24
  target.setAttribute('data-mc', '');
63
25
  }
64
26
  }
65
- return element;
27
+ return node;
66
28
  }
67
29
  function remove(target, key) {
68
30
  if (!key)
@@ -79,9 +41,9 @@ function remove(target, key) {
79
41
  return;
80
42
  }
81
43
  function init(element) {
82
- if (element.constructor === DC)
83
- return;
84
44
  setTimeout(() => {
45
+ if (element.constructor === DC)
46
+ return;
85
47
  element.trigger('Init');
86
48
  }, 0);
87
49
  }
@@ -122,7 +84,7 @@ function bubbleEvent(domNode, ev) {
122
84
  .map((c) => c?.target));
123
85
  targets.forEach((target) => {
124
86
  if (target)
125
- DC.trigger(target, ev);
87
+ target._mc.trigger(target, ev);
126
88
  });
127
89
  }
128
90
  }, 0);
@@ -138,13 +100,16 @@ function autoAttachListeners(element) {
138
100
  typeof that.constructor.prototype[key] === 'function')
139
101
  .forEach((key) => {
140
102
  let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), nativeEventName = withoutOnOne.toLowerCase();
141
- let listener = (ev) => {
142
- that[key](ev);
143
- };
144
- if (!!target['on' + nativeEventName]) {
103
+ if (('on' + nativeEventName) in target) {
104
+ let listener = (ev) => {
105
+ that[key](ev);
106
+ };
145
107
  target.addEventListener(nativeEventName, listener);
146
108
  }
147
109
  else {
110
+ let listener = (ev) => {
111
+ that[key](ev);
112
+ };
148
113
  on(target, withoutOnOne, listener, once);
149
114
  }
150
115
  });
@@ -154,13 +119,15 @@ function getMcChildNodes(domNode) {
154
119
  const id = Math.random().toString().replace('.', '');
155
120
  const selector = '[data-mc]:not([temp_id="' + id + '"] [data-mc] [data-mc])';
156
121
  domNode.setAttribute('temp_id', id);
157
- const myDomElements = domNode.querySelectorAll(selector);
122
+ const mcArray = [...domNode.querySelectorAll(selector)]
123
+ .filter((e) => !!e._mc)
124
+ .map(e => e._mc);
158
125
  domNode.removeAttribute('temp_id');
159
- return myDomElements;
126
+ return mcArray.length ? mcArray : null;
160
127
  }
161
128
  class McBase {
162
129
  _target;
163
- constructor(target, debug = false) {
130
+ constructor(target) {
164
131
  let element = this;
165
132
  this._target = new WeakRef(target || {});
166
133
  init(element);
@@ -174,9 +141,6 @@ class MC extends McBase {
174
141
  constructor(target) {
175
142
  super(target);
176
143
  }
177
- static trigger = trigger;
178
- trigger(ev, data = {}, bubble = 'l') {
179
- }
180
144
  }
181
145
  class DC extends McBase {
182
146
  constructor(target, debug = false) {
@@ -184,7 +148,6 @@ class DC extends McBase {
184
148
  }
185
149
  static add = add;
186
150
  static remove = remove;
187
- static trigger = trigger;
188
151
  off(eventName, handler) {
189
152
  off(this.target, eventName, handler);
190
153
  }
@@ -194,36 +157,40 @@ class DC extends McBase {
194
157
  one(eventName, handler) {
195
158
  one(this.target, eventName, handler);
196
159
  }
197
- trigger(ev, data = {}, bubble = 'l') {
198
- if (typeof ev === 'string') {
199
- }
160
+ trigger(eventName, data = {}, bubble = 'l') {
161
+ trigger(this.target, eventName, data, bubble);
200
162
  }
201
- parent(search = '') {
163
+ parent() {
202
164
  let target = this.target;
203
165
  if (!isDOM(target))
204
- return [];
205
- return traverseNodes(target.parentNode, search, true);
166
+ return null;
167
+ return target.closest('[data-mc]')?._mc || null;
206
168
  }
207
- ancestors(search = '') {
208
- let target = this?.target;
209
- if (!isDOM(target))
169
+ ancestors() {
170
+ let currentNode = this?.target, result = [];
171
+ if (!isDOM(currentNode))
210
172
  return [];
211
- return traverseNodes(this.target.parentNode, search, false);
173
+ while (currentNode = (currentNode.closest('[data-mc]'))) {
174
+ if (currentNode?._mc) {
175
+ result.push(currentNode?._mc);
176
+ }
177
+ }
178
+ return result.length ? result : null;
212
179
  }
213
- children(search = '') {
180
+ children() {
214
181
  let target = this?.target;
215
182
  if (!isDOM(target))
216
- return [];
217
- const myDomElements = getMcChildNodes(target);
218
- const mcValues = getMicroComponents([...myDomElements], search);
219
- return mcValues;
183
+ return null;
184
+ return getMcChildNodes(target);
220
185
  }
221
- descendants(search = '') {
222
- let target = this?.target;
186
+ descendants() {
187
+ const target = this?.target;
223
188
  if (!isDOM(target))
224
189
  return [];
225
- const myDomElements = target.querySelectorAll('*[data-mc]');
226
- return getMicroComponents([...myDomElements], search);
190
+ const mcArray = [...target.querySelectorAll('[data-mc]')]
191
+ .filter((e) => !!e._mc)
192
+ .map(e => e._mc);
193
+ return mcArray.length ? mcArray : null;
227
194
  }
228
195
  }
229
196
  const loadingDCs = new Set();
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
@@ -56,7 +56,7 @@ __webpack_require__.r(__webpack_exports__);
56
56
  /* harmony export */ trigger: () => (/* binding */ trigger)
57
57
  /* harmony export */ });
58
58
 
59
- var isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
59
+ const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
60
60
  function getNativeEventNames(domNode) {
61
61
  let nativeEventNames = [];
62
62
  if (isBrowser()) {
@@ -66,51 +66,13 @@ function getNativeEventNames(domNode) {
66
66
  }
67
67
  return nativeEventNames;
68
68
  }
69
- function getMicroComponents(elements, search) {
70
- let mcValues = [];
71
- elements.forEach((e) => {
72
- if (e) {
73
- if (e instanceof HTMLElement) {
74
- const _mc = e?._mc;
75
- if (!search && _mc) {
76
- mcValues = mcValues.concat(Object.values(e._mc));
77
- }
78
- else if (search && _mc && _mc[search]) {
79
- mcValues.push(_mc[search]);
80
- }
81
- }
82
- }
83
- });
84
- return mcValues;
85
- }
86
- function traverseNodes(node, search, firstonly = true) {
87
- let mcValues = [];
88
- while (node) {
89
- if (node._mc) {
90
- if (!search) {
91
- mcValues = mcValues.concat(Object.values(node._mc));
92
- }
93
- else if (search && node._mc[search]) {
94
- mcValues.push(node._mc[search]);
95
- }
96
- if (firstonly)
97
- return mcValues;
98
- }
99
- node = node.parentNode;
100
- }
101
- return mcValues;
102
- }
103
69
  function isDOM(element) {
104
70
  return element && element instanceof HTMLElement;
105
71
  }
106
72
  function add(target, key, element = {}) {
107
73
  let node = target;
108
74
  if (!node._mc) {
109
- let debug = DC?.debug;
110
- DC.debug = false;
111
75
  node._mc = new DC(target);
112
- DC.debug = debug;
113
- delete node._mc._mc;
114
76
  }
115
77
  const _mc = node._mc;
116
78
  if (key.length && !_mc[key]) {
@@ -119,7 +81,7 @@ function add(target, key, element = {}) {
119
81
  target.setAttribute('data-mc', '');
120
82
  }
121
83
  }
122
- return element;
84
+ return node;
123
85
  }
124
86
  function remove(target, key) {
125
87
  if (!key)
@@ -136,9 +98,9 @@ function remove(target, key) {
136
98
  return;
137
99
  }
138
100
  function init(element) {
139
- if (element.constructor === DC)
140
- return;
141
101
  setTimeout(() => {
102
+ if (element.constructor === DC)
103
+ return;
142
104
  element.trigger('Init');
143
105
  }, 0);
144
106
  }
@@ -179,7 +141,7 @@ function bubbleEvent(domNode, ev) {
179
141
  .map((c) => c?.target));
180
142
  targets.forEach((target) => {
181
143
  if (target)
182
- DC.trigger(target, ev);
144
+ target._mc.trigger(target, ev);
183
145
  });
184
146
  }
185
147
  }, 0);
@@ -195,13 +157,16 @@ function autoAttachListeners(element) {
195
157
  typeof that.constructor.prototype[key] === 'function')
196
158
  .forEach((key) => {
197
159
  let once = /^one/.test(key), withoutOnOne = key.replace(/^on[e]{0,1}/, ''), nativeEventName = withoutOnOne.toLowerCase();
198
- let listener = (ev) => {
199
- that[key](ev);
200
- };
201
- if (!!target['on' + nativeEventName]) {
160
+ if (('on' + nativeEventName) in target) {
161
+ let listener = (ev) => {
162
+ that[key](ev);
163
+ };
202
164
  target.addEventListener(nativeEventName, listener);
203
165
  }
204
166
  else {
167
+ let listener = (ev) => {
168
+ that[key](ev);
169
+ };
205
170
  on(target, withoutOnOne, listener, once);
206
171
  }
207
172
  });
@@ -211,13 +176,15 @@ function getMcChildNodes(domNode) {
211
176
  const id = Math.random().toString().replace('.', '');
212
177
  const selector = '[data-mc]:not([temp_id="' + id + '"] [data-mc] [data-mc])';
213
178
  domNode.setAttribute('temp_id', id);
214
- const myDomElements = domNode.querySelectorAll(selector);
179
+ const mcArray = [...domNode.querySelectorAll(selector)]
180
+ .filter((e) => !!e._mc)
181
+ .map(e => e._mc);
215
182
  domNode.removeAttribute('temp_id');
216
- return myDomElements;
183
+ return mcArray.length ? mcArray : null;
217
184
  }
218
185
  class McBase {
219
186
  _target;
220
- constructor(target, debug = false) {
187
+ constructor(target) {
221
188
  let element = this;
222
189
  this._target = new WeakRef(target || {});
223
190
  init(element);
@@ -231,9 +198,6 @@ class MC extends McBase {
231
198
  constructor(target) {
232
199
  super(target);
233
200
  }
234
- static trigger = trigger;
235
- trigger(ev, data = {}, bubble = 'l') {
236
- }
237
201
  }
238
202
  class DC extends McBase {
239
203
  constructor(target, debug = false) {
@@ -241,7 +205,6 @@ class DC extends McBase {
241
205
  }
242
206
  static add = add;
243
207
  static remove = remove;
244
- static trigger = trigger;
245
208
  off(eventName, handler) {
246
209
  off(this.target, eventName, handler);
247
210
  }
@@ -251,36 +214,40 @@ class DC extends McBase {
251
214
  one(eventName, handler) {
252
215
  one(this.target, eventName, handler);
253
216
  }
254
- trigger(ev, data = {}, bubble = 'l') {
255
- if (typeof ev === 'string') {
256
- }
217
+ trigger(eventName, data = {}, bubble = 'l') {
218
+ trigger(this.target, eventName, data, bubble);
257
219
  }
258
- parent(search = '') {
220
+ parent() {
259
221
  let target = this.target;
260
222
  if (!isDOM(target))
261
- return [];
262
- return traverseNodes(target.parentNode, search, true);
223
+ return null;
224
+ return target.closest('[data-mc]')?._mc || null;
263
225
  }
264
- ancestors(search = '') {
265
- let target = this?.target;
266
- if (!isDOM(target))
226
+ ancestors() {
227
+ let currentNode = this?.target, result = [];
228
+ if (!isDOM(currentNode))
267
229
  return [];
268
- return traverseNodes(this.target.parentNode, search, false);
230
+ while (currentNode = (currentNode.closest('[data-mc]'))) {
231
+ if (currentNode?._mc) {
232
+ result.push(currentNode?._mc);
233
+ }
234
+ }
235
+ return result.length ? result : null;
269
236
  }
270
- children(search = '') {
237
+ children() {
271
238
  let target = this?.target;
272
239
  if (!isDOM(target))
273
- return [];
274
- const myDomElements = getMcChildNodes(target);
275
- const mcValues = getMicroComponents([...myDomElements], search);
276
- return mcValues;
240
+ return null;
241
+ return getMcChildNodes(target);
277
242
  }
278
- descendants(search = '') {
279
- let target = this?.target;
243
+ descendants() {
244
+ const target = this?.target;
280
245
  if (!isDOM(target))
281
246
  return [];
282
- const myDomElements = target.querySelectorAll('*[data-mc]');
283
- return getMicroComponents([...myDomElements], search);
247
+ const mcArray = [...target.querySelectorAll('[data-mc]')]
248
+ .filter((e) => !!e._mc)
249
+ .map(e => e._mc);
250
+ return mcArray.length ? mcArray : null;
284
251
  }
285
252
  }
286
253
  const loadingDCs = new Set();