@twobirds/microcomponents 0.0.51 → 0.0.52

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 (73) hide show
  1. package/dist/formValues.d.ts.map +1 -1
  2. package/dist/formValues.ts +17 -44
  3. package/dist/formvValues.min.js +1 -1
  4. package/dist/microcomponents.min.js +1 -1
  5. package/package.json +1 -1
  6. package/public/3d.html +42 -0
  7. package/public/Grandparent.css +13 -0
  8. package/public/MC.js +314 -0
  9. package/public/MC.js.map +1 -0
  10. package/public/MC.min.js +451 -0
  11. package/public/McEvent.js +71 -0
  12. package/public/McEvent.js.map +1 -0
  13. package/public/MicroComponents.svg +15 -0
  14. package/public/autoloader.js +53 -0
  15. package/public/autoloader.js.map +1 -0
  16. package/public/documentation/MC.md +470 -0
  17. package/public/documentation/ajaxian-1.png +0 -0
  18. package/public/documentation/ajaxian-2.png +0 -0
  19. package/public/documentation/ajaxian-3.png +0 -0
  20. package/public/documentation/comparision.md +0 -0
  21. package/public/documentation/elements.md +276 -0
  22. package/public/documentation/functional_requirements.md +8 -0
  23. package/public/documentation/history.md +436 -0
  24. package/public/documentation/how_tos.md +0 -0
  25. package/public/documentation/introduction.md +0 -0
  26. package/public/documentation/magic.md +29 -0
  27. package/public/documentation/proposal_draft.md +37 -0
  28. package/public/documentation/rnd0023-1.jpg +0 -0
  29. package/public/documentation/rnd0023-2.jpg +0 -0
  30. package/public/documentation/rnd0023-3.jpg +0 -0
  31. package/public/documentation/tB_react.md +207 -0
  32. package/public/documentation/usage.md +142 -0
  33. package/public/documentation/why.md +25 -0
  34. package/public/elements.js +48 -0
  35. package/public/elements.js.map +1 -0
  36. package/public/elements.min.js +1 -0
  37. package/public/fiddle/MicroComponents.svg +15 -0
  38. package/public/fiddle/fiddle.css +0 -0
  39. package/public/fiddle/fiddle.js +0 -0
  40. package/public/fiddle/index.html +0 -0
  41. package/public/formValues.js +179 -0
  42. package/public/formValues.js.map +1 -0
  43. package/public/formvValues.min.js +1 -0
  44. package/public/helpers.js +113 -0
  45. package/public/helpers.js.map +1 -0
  46. package/public/microcomponents.es3.js +303 -0
  47. package/public/microcomponents.es3.js.map +1 -0
  48. package/public/microcomponents.js +9 -0
  49. package/public/microcomponents.js.map +1 -0
  50. package/public/microcomponents.min.js +1 -0
  51. package/public/my-tag.css +19 -0
  52. package/public/observables.js +251 -0
  53. package/public/observables.js.map +1 -0
  54. package/public/observables.min.js +1 -0
  55. package/public/selectors.js +971 -0
  56. package/public/selectors.js.map +1 -0
  57. package/public/selectors.min.js +1 -0
  58. package/public/src/MC.ts +478 -0
  59. package/public/src/McEvent.ts +96 -0
  60. package/public/src/autoloader.ts +98 -0
  61. package/public/src/elements.ts +76 -0
  62. package/public/src/formValues.ts +250 -0
  63. package/public/src/helpers.ts +149 -0
  64. package/public/src/microcomponents.ts +8 -0
  65. package/public/src/observables.ts +405 -0
  66. package/public/src/selectors.ts +1634 -0
  67. package/public/src/test.ts +177 -0
  68. package/public/test/Grandparent.js +1 -0
  69. package/public/test/Testform.js +1 -0
  70. package/public/test.html +27 -0
  71. package/public/test.js +78 -0
  72. package/public/test.js.map +1 -0
  73. package/src/formValues.ts +17 -44
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.selectors=t():e.selectors=t()}(this,(()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{$d:()=>E,$t:()=>m});var r=new Function("try {return this===window;}catch(e){ return false;}");let n=new Set;r()&&Object.keys(HTMLElement.prototype).filter((e=>/^on/.test(e))).forEach((e=>n.add(e)));var a=new Function("try {return this===window;}catch(e){ return false;}");let s=new Set;function i(e,t,r,n=!1,a=!1){let s={once:!1};n&&(s.capture=n),a&&(s.once=a),e.addEventListener(t,r,s)}function o(e,t,r){e.removeEventListener(t,r)}a()&&Object.keys(HTMLElement.prototype).filter((e=>/^on/.test(e))).forEach((e=>s.add(e))),new Map;const c=e=>{let t=new Set;return e.forEach((e=>{(e=e.trim()).split(" ").forEach((e=>{""!==e&&t.add(e)}))})),Array.from(t)},l=e=>{let t=E("input,select,textarea",e).array,r={};return t.forEach((t=>{const n=t.getAttribute("name")||"undefined";if(n){let a;switch((e=>e instanceof HTMLInputElement?"input":e instanceof HTMLSelectElement?"select":e instanceof HTMLTextAreaElement?"textarea":"")(t)){case"input":a=new f(t,e),Object.defineProperty(r,n,{enumerable:!0,configurable:!0,get:()=>a.val,set:e=>{a.val=e}});break;case"select":a=new u(t),Object.defineProperty(r,n,{enumerable:!0,configurable:!0,get:()=>a.val,set:e=>{a.val=e}});break;case"textarea":a=new d(t),Object.defineProperty(r,n,{enumerable:!0,configurable:!0,get:()=>a.val,set:e=>{a.val=e}});break;default:console.warn("handler missing:",n,"for",t)}}})),r};class h{constructor(e){}}class f extends h{#e;#t;#r;constructor(e,t){super(e),this.#e=e,this.#t=e.type,this.#r=t}get val(){let e,t=this;switch(t.#t){case"radio":const r=E(`input[type="radio"][name="${this.#e.getAttribute("name")}"]`,this.#r).filter((e=>e.checked));return r.length?(e=r.array[0],e.value):"";case"checkbox":return t.#e.checked;default:return t.#e.value}return""}set val(e){let t=this;switch(t.#t){case"radio":const r=`input[type="radio"][name="${this.#e.getAttribute("name")}"]`,n=E(r,this.#r);if(!n.length)return;if(""===e)return void n.forEach((e=>{e.checked&&(e.checked=!1)}));const a=n.filter((t=>t.getAttribute("value")===e));if(!a.length)return;return void(a.array[0].checked=!0);case"checkbox":t.#e.checked=e;break;default:t.#e.value=e}}}class u extends h{#e;#n=!1;constructor(e){super(e),this.#e=e,this.#n="select-multiple"===e.type}get val(){const e=[];return E(this.#e.querySelectorAll("option")).filter((e=>e.selected)).forEach((t=>{t.selected&&e.push(t.value)})),this.#n?e:e.length?e[0]:""}set val(e){e="string"==typeof e?[e]:e,E(this.#e.querySelectorAll("option")).forEach((t=>{e.indexOf(t.value)>-1?(t.setAttribute("selected",!0),t.selected=!0):(t.removeAttribute("selected"),t.selected=!1)}))}}class d extends h{#e;constructor(e){super(e),this.#e=e}get val(){return this.#e.value}set val(e){this.#e.value=e}}class p{#a=new Set;get set(){return this.#a}get array(){return Array.from(this.#a)}set set(e){this.#a=e}get length(){return this.#a.size}constructor(e,t=document.body){if(new Set,!e)return this}$t(e){let t=new y;return this.#a.forEach((e=>{e._mc&&Object.values(e._mc).forEach((e=>{t.set.add(e)}))})),e&&t.filter((t=>t.nameSpace===e)),t}add(e,t){let r=this;return E(e,t).forEach((e=>{r.#a.add(e)})),r}addClass(...e){return e=c(e),this.forEach((t=>{t.classList.add(...e)})),this}after(e,t){let r=this,n=E(e,t);return n.length?(n.first().forEach((e=>{r.array.reverse().forEach((t=>{t.after(e)}))})),r):r}append(e,t){let r=this.array[0],n=E(e,t);return r&&n.forEach((e=>{r.append(e)})),this}appendTo(e,t){let r=E(e,t).array[0];return r&&this.forEach((e=>{r.append(e)})),this}attr(e,t){let r=this,n={};return r.length?arguments.length?"string"==typeof e?void 0===t?[...r.set][0].getAttribute(e):null===t?([...r.set].forEach((t=>{t.removeAttribute(e)})),r):("object"==typeof t&&(t=JSON.stringify(t)),[...r.set].forEach((r=>{r.setAttribute(e,t)})),r):"object"==typeof e?([...r.set].forEach((t=>{Object.keys(e).forEach((r=>{E(t).attr(r,e.key)}))})),r):r:(Array.from([...r.set][0].attributes).forEach((e=>{n[e.name]=e.value})),n):r}before(e,t){let r=this,n=E(e,t);return n.length?(n.first().forEach((e=>{r.forEach((t=>{t.before(e)}))})),r):r}children(e,t){let r=this,n=new Set;if(r.#a.forEach((e=>{Array.from(e.children).forEach((e=>{n.add(e)}))})),r=E([...n]),e){let n=E(e,t);r.filter((e=>n.has(e)))}return r}descendants(e,t){let r=this,n=new Set;if(r.#a.forEach((e=>{e.querySelectorAll("*").forEach((e=>{n.add(e)}))})),r=E([...n]),e){let n=E(e,t);r.filter((e=>n.has(e)))}return r}empty(){return this.filter((e=>!1))}first(e,t){let r=this,n=new Set,a=!1;return e&&(a=E(e,t)),r.#a.forEach((e=>{e.parentNode&&n.add(e.parentNode.children[0])})),r=E([...n]),e&&r.filter((e=>a.has(e))),r}has(e){return this.#a.has(e)}hasClass(...e){return e=c(e),this.every((e=>Array.from(e.classList).every((t=>e.contains(t)))))}html(e){let t=this;return e?(t.forEach((t=>{t.parentNode?t.innerHTML=e:(()=>{console.warn("Cannot access the .innerHTML of a HTMLElement that hasnt been inserted yet",t),console.trace(t,this),console.info("If you called this from inside a Web Component constructor, consider using the %c[connected] event callback!","color: blue;")})()})),t):t.array[0].innerHTML}last(e,t){let r=this,n=new Set;if(r.#a.forEach((e=>{let t=e.parentNode?.children;t&&n.add(Array.from(t).at(-1))})),r=E([...n]),e){let n=E(e,t);r.filter((e=>n.has(e)))}return r}next(e,t){let r=this,n=new Set;if(r.#a.forEach((e=>{let t=e.parentNode?.children;if(t){let r=Array.from(t),a=r.indexOf(e)+1;a<r.length&&n.add(r.at(a))}})),r=E([...n]),e){let n=E(e,t);r.filter((e=>n.has(e)))}return r}normalize(){return this.#a.forEach((e=>{e.normalize()})),this}off(e,t){let r=e.indexOf(" ")>-1?e.split(" "):[e];return this.array.forEach((e=>{r.forEach((function(r){o(e,r,t)}))})),this}on(e,t,r=!1,n=!1){let a=this,s=e.indexOf(" ")>-1?e.split(" ").filter((e=>""!==e)):[e];function o(){o.cb.apply(a,Array.from(arguments))}return o.cb=t,a.forEach((e=>{s.forEach((function(t){i(e,t,o,r,n)}))})),o}one(e,t,r=!1){let n=this,a=e.indexOf(" ")>-1?e.split(" ").filter((e=>""!==e)):[e];function s(){s.cb.apply(n,Array.from(arguments))}return s.cb=t,n.forEach((e=>{a.forEach((function(t){i(e,t,s,r,!0)}))})),s}parent(e,t){let r=this,n=new Set;if(r.#a.forEach((e=>{e.parentNode&&"HTML"!==e.parentNode.tagName&&n.add(e.parentNode)})),r=E([...n]),e){let n=E(e,t);r.filter((e=>n.has(e)))}return r}parents(e,t){let r=this,n=new Set;if(r.#a.forEach((e=>{let t=e;for(;t.parentNode&&"HTML"!==t.parentNode.tagName;)t=t.parentNode,n.add(t)})),r=E([...n]),e){let n=E(e,t);r.filter((e=>n.has(e)))}return r}prepend(e,t){let r=this.array[0],n=E(e,t);return r&&n.forEach((e=>{r.prepend(e)})),this}prev(e,t){let r=this,n=new Set;if(r.#a.forEach((e=>{let t=e.parentNode?.children;if(t){let r=Array.from(t),a=r.indexOf(e)-1;a>-1&&n.add(r.at(a))}})),r=E([...n]),e){let n=E(e,t);r.filter((e=>n.has(e)))}return r}removeClass(...e){return e=c(e),this.forEach((t=>{t.classList.remove(...e)})),this}text(e){let t=this;return e?(t.forEach((t=>{t.parentNode?t.innerText=e:(()=>{console.warn("Cannot access the .textContent of a HTMLElement that hasnt been inserted yet",t),console.trace(t,this),console.info("If you called this from inside a Web Component constructor, consider using the %c[connected] event callback!","color: blue;")})()})),t):t.array[0].innerText??""}toggleClass(...e){return e=c(e),this.forEach((t=>{t.classList.toggle(...e)})),this}trigger(e,t={},r=!1,n=!1,a=!1){let s,i={bubbles:r,cancelable:n,composed:a},o=e.indexOf(" ")>-1?e.split(" "):[e];return this.#a.forEach((e=>{o.forEach((function(r){s=new Event(r,i),s.data=t,e.dispatchEvent(s)}))})),this}val(e,t){if(!this.length)return this;const r=this;let n,a=l(r.array[0]);var s;return e?null!=(s=e)&&"object"==typeof s?(Object.assign(a,e),n=r):"string"==typeof e&&(void 0===t?n=a[e]:(a[e]=t,n=r)):n=Object.assign({},a),n}values(e){const t=this;let r={};if(!t.length)return console.warn("no dom selection to search inputs in"),{};let n=l(t.array[0]);return Object.keys(n).forEach((e=>{r[e]=n[e]})),0===Object.keys(r).length&&console.warn("no inputs in this dom selection",t.array[0],r),e&&Object.keys(e).forEach((t=>{n.hasOwnProperty(t)&&(console.log("key found",t),n[t]=e[t])})),structuredClone(Object.assign(n))}at(e){return E(this.array.at(e))}concat(e){let t=this;return(e instanceof p?e.array:e).forEach((e=>{t.#a.add(e)})),t}entries(){return this.array.entries()}every(e,t){return this.array.every(e,t)}filter(e,t){return this.#a=new Set(this.array.filter(e,t)),this}forEach(e,t){return this.array.forEach(e,t),this}includes(e){return-1!==this.array.indexOf(e,0)}indexOf(e,t){return this.array.indexOf(e,t)}map(e,t){return this.array.map(e,t)}pop(){return this.array.pop()}push(...e){return e.forEach((e=>{this.#a.add(e)})),this}shift(){let e=this,t=e.#a.size?e.array[0]:void 0;return t&&e.#a.delete(t),t}slice(e,t){return E(this.array.slice(e,t))}some(e,t){return this.array.some(e,t)}splice(e,t,...r){let n=this.array;return n.splice(e,t,...r),E(n)}}class y{#a=new Set;get set(){return this.#a}get array(){return Array.from(this.#a)}set set(e){this.#a=e}get length(){return this.#a.size}set length(e){}constructor(e,t=document.body){if(!e)return this;E(e,t).forEach((e=>{m(e).forEach((e=>{this.#a.add(e)}))}))}$d(e,t=document.body){let r=new p,n=new Set,a=!!e||!1,s=new Set;return a&&(s=E(e,t).set),this.#a.forEach((e=>{a&&!s.has(e._tg)||n.add(e._tg)})),r.set=n,r}children(e){let t=this,r=new Set;return t.#a.forEach((t=>{t.children(e).forEach((e=>{r.add(e)}))})),t.#a=r,t}descendants(e){let t=this,r=new Set;return t.#a.forEach((t=>{t.descendants(e).forEach((e=>{r.add(e)}))})),t.#a=r,t}first(e){let t=this,r=new Set;return t.#a.forEach((e=>{e.parent().children().$d().first().$t().forEach((e=>{r.add(e)}))})),t.#a=r,e&&t.filter((t=>t.nameSpace=e)),t}has(e){return this.#a.has(e)}last(e){let t=this,r=new Set;return t.#a.forEach((e=>{e.parent().children().$d().last().$t().forEach((e=>{r.add(e)}))})),t.#a=r,e&&t.filter((t=>t.nameSpace=e)),t}next(e){let t=this,r=new Set;return t.#a.forEach((e=>{let t,n=new Set;for(t=e._tg;null!==t.nextElementSibling;)t=t.nextElementSibling,n.add(t);m([...n]).$d().first().$t().forEach((e=>{r.add(e)}))})),t.#a=r,e&&t.filter((t=>t.nameSpace=e)),t}ns(e){return this.filter((t=>t.nameSpace===e))}off(e,t){let r=e.indexOf(" ")>-1?e.split(" ").filter((e=>""!==e)):[e];return this.$d().array.forEach((e=>{r.forEach((function(r){o(e,`[TB]${r}`,t)}))})),this}on(e,t,r=!1){let n=this,a=e.indexOf(" ")>-1?e.split(" ").filter((e=>""!==e)):[e];function s(){s.cb.apply(n,Array.from(arguments))}return s.cb=t,n.forEach((e=>{a.forEach((function(t){i(e._tg,`[TB]${t}`,s,!1,r)}))})),s}one(e,t){let r=this,n=e.indexOf(" ")>-1?e.split(" ").filter((e=>""!==e)):[e];function a(){a.cb.apply(r,Array.from(arguments))}return a.cb=t,r.forEach((e=>{n.forEach((function(t){i(e._tg,`[TB]${t}`,a,!1,!0)}))})),a}parent(e){let t=this,r=new Set;return t.#a.forEach((t=>{t.parent(e).forEach((e=>{r.add(e)}))})),t.#a=r,t}parents(e){let t=this,r=new Set;return t.#a.forEach((t=>{t.parents(e).forEach((e=>{r.add(e)}))})),t.#a=r,t}prev(e){let t=this,r=new Set;return t.#a.forEach((e=>{let t,n=new Set;for(t=e._tg;null!==t.previousElementSibling;)t=t.previousElementSibling,n.add(t);m([...n]).$d().last().$t().forEach((e=>{r.add(e)}))})),t.#a=r,e&&t.filter((t=>t.nameSpace=e)),t}trigger(e,t={},r="l"){return this.forEach((n=>{n.trigger(e,t,r)})),this}at(e){return m(this.array.at(e))}concat(e){let t=this;return e.forEach((e=>{t.#a.add(e)})),t}entries(){return this.array.entries()}every(e,t){return this.array.every(e,t)}filter(e,t){return m(this.array.filter(e,t))}forEach(e,t){return this.array.forEach(e,t),this}includes(e){return-1!==this.array.indexOf(e)}indexOf(e,t){return this.array.indexOf(e,t)}map(e,t){return this.array.map(e,t)}pop(){let e=this.array,t=e.pop();return this.#a=new Set(e),t}push(e){return this.#a.add(e),this}shift(){let e=this.array.shift();return this.#a.delete(e),e}slice(e,t){return m(this.array.slice(e,t))}some(e,t){return this.array.some(e,t)}splice(e,t,...r){let n=this.array.splice(e,t,...r);return m(n)}}const E=(e,t=document)=>{let r=new Set;return e instanceof Array?(e.forEach((e=>{E(e,t).forEach((e=>{r.add(e)}))})),new p([...r])):new p(e,t)},m=(e,t=document)=>E(e,t).$t();return t})()));
@@ -0,0 +1,478 @@
1
+ 'use strict';
2
+
3
+ import { LooseObject } from './helpers.js';
4
+ import { McEvent } from './McEvent.js';
5
+
6
+ var isBrowser = new Function(
7
+ 'try {return this===window;}catch(e){ return false;}'
8
+ );
9
+
10
+ let nativeEventNames: Set<string> = new Set();
11
+
12
+ // HTMLElement native event names
13
+ if (isBrowser()) {
14
+ Object.keys(HTMLElement.prototype)
15
+ .filter((key) => /^on/.test(key))
16
+ .forEach((eventName) => nativeEventNames.add(eventName));
17
+ }
18
+
19
+ export interface HTMLMcElement extends HTMLElement {
20
+ _mc: LooseObject;
21
+ }
22
+
23
+ // get all microcomponents from a list of HTMLElements
24
+ function getMicroComponents(elements: any[], search: string): any[] {
25
+ let mcValues: any[] = [];
26
+
27
+ elements.forEach((e) => {
28
+ if (e) {
29
+ if (e instanceof HTMLElement) {
30
+ const _mc = (e as any)?._mc;
31
+ if (!search && _mc) {
32
+ mcValues = mcValues.concat(Object.values((e as any)._mc));
33
+ } else if (search && _mc && _mc[search]) {
34
+ mcValues.push(_mc[search]);
35
+ }
36
+ }
37
+ }
38
+ });
39
+ return mcValues;
40
+ }
41
+
42
+ // get all ancestor DOM nodes up to the document root
43
+ function traverseNodes(
44
+ node: { [key: string]: any },
45
+ search: string,
46
+ firstonly = true
47
+ ): any[] {
48
+ let mcValues: any[] = [];
49
+ while (node) {
50
+ if (node._mc) {
51
+ if (!search) {
52
+ mcValues = mcValues.concat(Object.values(node._mc));
53
+ } else if (search && node._mc[search]) {
54
+ mcValues.push(node._mc[search]);
55
+ }
56
+ if (firstonly) return mcValues;
57
+ }
58
+ node = node.parentNode;
59
+ }
60
+ return mcValues;
61
+ }
62
+
63
+ function isDOM(element: { [key: string]: any }) {
64
+ return element && element instanceof HTMLElement;
65
+ }
66
+
67
+ function addListener(
68
+ domNode: Node,
69
+ eventName: string,
70
+ handler: EventListenerOrEventListenerObject | null,
71
+ capture: boolean = false,
72
+ once: boolean = false
73
+ ) {
74
+ let options: EventListenerOptions & { once: boolean } = { once: false };
75
+ if (capture) {
76
+ options.capture = capture;
77
+ }
78
+
79
+ if (once) {
80
+ options.once = once;
81
+ }
82
+
83
+ //console.log( 'addEventListener', eventName, ( handler as Function ).name, options );
84
+ domNode.addEventListener(eventName, handler, options);
85
+ }
86
+
87
+ function removeListener(
88
+ domNode: Node,
89
+ eventName: string,
90
+ handler: EventListenerOrEventListenerObject | null
91
+ ) {
92
+ domNode.removeEventListener(eventName, handler);
93
+ }
94
+
95
+ // add a microcomponent to a target DOM node
96
+ function add(target: HTMLElement, key: string, element = {}): any {
97
+ let node = target as HTMLMcElement;
98
+
99
+ // create the _mc property if necessary
100
+ if (!node._mc) {
101
+ let debug = (DC as any)?.debug;
102
+ (DC as any).debug = false;
103
+ node._mc = new (DC as any)(target);
104
+ (DC as any).debug = debug;
105
+ delete node._mc._mc; // NOT NEEDED on the top level _mc property of a DOM HTMLElement
106
+ }
107
+
108
+ const _mc = node._mc;
109
+
110
+ // add the element with the given property key to the _mc property
111
+ if (key.length && !_mc[key]) {
112
+ _mc[key] = element;
113
+ // add attribute if HTMLElement
114
+ if (target instanceof HTMLElement) {
115
+ target.setAttribute('_mc', '');
116
+ }
117
+ }
118
+ return element;
119
+ }
120
+
121
+ // remove a micro component from the DOM
122
+ function remove(target: HTMLMcElement, key: string) {
123
+ if (!key) return; // silent fail
124
+
125
+ const _mc = target?._mc || {};
126
+
127
+ // delete the property from the HTMLElement _mc collection
128
+ if (_mc && _mc[key]) {
129
+ delete _mc[key];
130
+ }
131
+
132
+ // remove the _mc attribute if the DOM collection is empty
133
+ if (
134
+ !Object.keys(_mc).length &&
135
+ target instanceof HTMLElement &&
136
+ target.hasAttribute('_mc')
137
+ ) {
138
+ target.removeAttribute('_mc');
139
+ }
140
+ return;
141
+ }
142
+
143
+ // trigger an event
144
+ function trigger(
145
+ target: HTMLElement,
146
+ ev: McEvent | string,
147
+ data: any = {},
148
+ bubble: string = 'l'
149
+ ) {
150
+ let _mc = (target as any)?._mc;
151
+ if (!_mc) return;
152
+
153
+ let event =
154
+ ev instanceof McEvent
155
+ ? new McEvent(ev.type, ev.data, 'l')
156
+ : new McEvent(ev, data, 'l'),
157
+ mcEvent: McEvent =
158
+ typeof ev !== 'string' ? (ev as McEvent) : new McEvent(ev, data, bubble);
159
+
160
+ [...Object.values(_mc)].forEach((mc: any) => {
161
+ //console.log( 'mc [', mc.constructor.name, ']', mc.constructor.prototype?.oneInit );
162
+ if ((mc as any)?.trigger && typeof (mc as any)?.trigger === 'function') {
163
+ (mc as any)?.trigger(event);
164
+ }
165
+ });
166
+
167
+ if (/[ud]/.test(mcEvent.bubble)) {
168
+ bubbleEvent(target, mcEvent);
169
+ }
170
+
171
+ return;
172
+ }
173
+
174
+ // run the "init" lifecycle event on the complete _mc structure
175
+ function init(element: MC | DC) {
176
+ if (element.constructor === DC) return;
177
+
178
+ setTimeout(() => {
179
+ element.trigger('Init');
180
+ /*
181
+ let keys = Object.keys( ( element as any)?._mc );
182
+ if ( keys.length ){
183
+ //console.log( 'inner Inits on [', mc.constructor.name, ']', keys );
184
+ keys?.forEach( (key: string) => {
185
+ let mc = ( element as any)?._mc?.[key];
186
+ //console.log( key, typeof mc?.oneInit, mc );
187
+ if ( ( mc as any )['oneInit'] && typeof ( mc as any ).oneInit == 'function' ){
188
+ ( mc as any ).oneInit( new McEvent('Init') );
189
+ }
190
+ });
191
+ };
192
+ */
193
+ }, 0);
194
+ }
195
+
196
+ function autoAttachListeners(element: MC | DC) {
197
+ if (!isBrowser() || element.constructor === DC) return;
198
+
199
+ const target = element.target;
200
+
201
+ if (target instanceof HTMLElement) {
202
+ let that: LooseObject = element;
203
+ Object.getOwnPropertyNames(that.constructor.prototype)
204
+ .filter(
205
+ (key) =>
206
+ /^on[A-Z]|one[A-Z]/.test(key) &&
207
+ typeof that.constructor.prototype[key] === 'function'
208
+ )
209
+ .forEach((key) => {
210
+ let once = /^one/.test(key),
211
+ withoutOnOne = key.replace(/^on[e]{0,1}/, ''), // preserves upper/lowercase for non-native events
212
+ nativeEventName = withoutOnOne.toLowerCase(),
213
+ listener = (ev: McEvent | Event | CustomEvent) => {
214
+ that.trigger(withoutOnOne, ev);
215
+ };
216
+ if (once) {
217
+ // console.log( '...is only called once', that.constructor.prototype[key] );
218
+ Object.defineProperty(element, 'on' + withoutOnOne, {
219
+ configurable: true,
220
+ enumerable: false,
221
+ writable: true,
222
+ value: (ev: any) => {
223
+ // console.log( 'onceHandler execute:', that.constructor.prototype[key] );
224
+ that.constructor.prototype[key].bind(that)(ev);
225
+ },
226
+ });
227
+ }
228
+
229
+ if (nativeEventNames.has('on' + nativeEventName)) {
230
+ // native event defined in HTMLElement
231
+ // console.log('added as native listener', target, nativeEventName );
232
+ addListener(target, nativeEventName, listener, false, once);
233
+ }
234
+ });
235
+ }
236
+ }
237
+
238
+ function bubbleEvent(target: HTMLElement, ev: McEvent) {
239
+ // at this point, either 'u' or 'd' bubbling should be indicated
240
+ // mcEvent bubbling is asynchronous, and the order of target MC execution in case of multiple matches is not guaranteed!
241
+ if (/[ud]/.test(ev.bubble)) {
242
+ setTimeout(() => {
243
+ // bubbling must include 'l' for local, or else no handlers are executed'
244
+ if (ev.bubble.indexOf('l') === -1) {
245
+ ev.bubble += 'l';
246
+ }
247
+
248
+ // bubble up towards root
249
+ if (ev.bubble.indexOf('u') > -1) {
250
+ let parent = traverseNodes(target, '', true)?.[0].target;
251
+ if (parent) DC.trigger(parent, ev);
252
+ }
253
+
254
+ // bubble down
255
+ if (ev.bubble.indexOf('d') > -1) {
256
+ let targets = new Set<HTMLMcElement>(
257
+ (target as HTMLMcElement)._mc
258
+ .children()
259
+ .map((c: unknown) => (c as any)?.target)
260
+ );
261
+ targets.forEach((target: HTMLMcElement) => {
262
+ if (target) DC.trigger(target, ev);
263
+ });
264
+ }
265
+ }, 0);
266
+ }
267
+ }
268
+
269
+ class McBase {
270
+ #target: WeakRef<any>; // avoid circular reference
271
+
272
+ constructor(target?: { [key: string]: any }, debug: boolean = false) {
273
+ let that: unknown = this,
274
+ element = that as MC | DC;
275
+
276
+ this.#target = new WeakRef(target || {});
277
+
278
+ init(element); // async lifecycle event
279
+
280
+ autoAttachListeners(element);
281
+ }
282
+
283
+ get target(): any {
284
+ return this.#target.deref();
285
+ }
286
+ }
287
+
288
+ class MC extends McBase {
289
+ _mc?: LooseObject = {};
290
+
291
+ constructor(target?: any) {
292
+ super(target);
293
+ }
294
+
295
+ static trigger = trigger;
296
+
297
+ trigger(ev: McEvent | string, data: any = {}, bubble: string = 'l') {
298
+ let that = this;
299
+
300
+ //console.log( that, '.trigger(', ev, data, bubble, ')' );
301
+
302
+ // run all triggers
303
+ if (that.constructor === MC || that.constructor === DC) {
304
+ let event =
305
+ ev instanceof McEvent
306
+ ? new McEvent(ev.type, ev.data, 'l')
307
+ : new McEvent(ev, data, 'l'),
308
+ mcEvent: McEvent =
309
+ typeof ev !== 'string'
310
+ ? (ev as McEvent)
311
+ : new McEvent(ev, data, bubble);
312
+ [...Object.getOwnPropertyNames(that)].forEach((mc) => {
313
+ if (
314
+ (that as any)[mc]?.trigger &&
315
+ typeof (that as any)[mc]?.trigger === 'function'
316
+ ) {
317
+ (that as any)[mc]?.trigger(event);
318
+ }
319
+ });
320
+
321
+ if (/[ud]/.test(mcEvent.bubble)) {
322
+ bubbleEvent(that.target, mcEvent);
323
+ }
324
+
325
+ return; // must return here!
326
+ }
327
+
328
+ // only this instance
329
+ if ((that as any) instanceof MC || (that as any) instanceof DC) {
330
+ const that = this,
331
+ mcEvent: McEvent =
332
+ typeof ev !== 'string'
333
+ ? (ev as McEvent)
334
+ : new McEvent(ev, data, bubble),
335
+ handlerName =
336
+ 'on' + mcEvent.type[0].toUpperCase() + mcEvent.type.slice(1);
337
+ // console.log('trigger', handlerName, mcEvent, data, bubble );
338
+
339
+ if (mcEvent.bubble.indexOf('l') > -1) {
340
+ if (
341
+ !mcEvent.immediateStopped &&
342
+ typeof (that as any)[handlerName] === 'function'
343
+ ) {
344
+ // console.log( 'execute handler:', handlerName );
345
+ (that as any)[handlerName](mcEvent);
346
+ if ((that as any).hasOwnProperty(handlerName)) {
347
+ // it is a once handler
348
+ delete (that as any)[handlerName]; // remove after first execution
349
+ }
350
+ }
351
+ }
352
+
353
+ // if event stopped or local only, handling is cancelled
354
+ if (mcEvent.stopped || mcEvent.bubble === 'l') {
355
+ return that;
356
+ }
357
+
358
+ //console.log('bubble', mcEvent);
359
+ if (/[ud]/.test(mcEvent.bubble)) {
360
+ bubbleEvent(that.target, mcEvent);
361
+ }
362
+ }
363
+ }
364
+ }
365
+
366
+ class DC extends McBase {
367
+ _mc?: LooseObject = {};
368
+
369
+ constructor(target: HTMLElement, debug: boolean = false) {
370
+ super(target);
371
+ }
372
+
373
+ static add: Function = add;
374
+ static remove: Function = remove;
375
+ static trigger: Function = trigger;
376
+
377
+ trigger(ev: McEvent | string, data: any = {}, bubble?: string) {
378
+ MC.prototype.trigger.call(this, ev, data, bubble);
379
+ }
380
+
381
+ parent(search: string = ''): any[] {
382
+ let target: HTMLElement = (this as any).target;
383
+ if (!isDOM(target)) return [];
384
+ return traverseNodes((target as any).parentNode, search, true);
385
+ }
386
+
387
+ ancestors(search: string = ''): any[] {
388
+ let target: any = (this as any)?.target;
389
+ if (!isDOM(target)) return [];
390
+ return traverseNodes((this as any).target.parentNode, search, false);
391
+ }
392
+
393
+ children(search: string = ''): any[] {
394
+ let target: any = (this as any)?.target;
395
+ if (!isDOM(target)) return [];
396
+ const id = Math.random().toString().replace('.', '');
397
+ const selector = '[_mc]:not([temp_id="' + id + '"] [_mc] [_mc])';
398
+ target.setAttribute('temp_id', id);
399
+ const myDomElements = target.querySelectorAll(selector);
400
+ const mcValues = getMicroComponents([...myDomElements], search);
401
+ target.removeAttribute('temp_id');
402
+ return mcValues;
403
+ }
404
+
405
+ descendants(search: string = ''): any[] {
406
+ let target: any = (this as any)?.target;
407
+ if (!isDOM(target)) return [];
408
+ const myDomElements = target.querySelectorAll('*[_mc]');
409
+ return getMicroComponents([...myDomElements], search);
410
+ }
411
+ }
412
+
413
+ export { addListener, removeListener, McBase, MC, DC, McEvent };
414
+
415
+ let observer: MutationObserver | null = null;
416
+ const unresolved = new Map();
417
+
418
+ function loadit() {
419
+ document
420
+ .querySelectorAll(':not(:defined),[_mc]:not([_mc=""])')
421
+ .forEach((el) => {
422
+ const load: string[] = el.tagName.includes('-')
423
+ ? [el.tagName.toLowerCase()]
424
+ : el.getAttribute('_mc')!.trim().split(' ');
425
+
426
+ load.forEach((elementName) => {
427
+ let fileName: any = elementName.toLowerCase().split('-'), // intentional any
428
+ lastElement = fileName[fileName.length - 1],
429
+ renameLastElement =
430
+ lastElement[0].toUpperCase() + lastElement.slice(1);
431
+ fileName[fileName.length - 1] = renameLastElement;
432
+ fileName = fileName.join('/') + '.js';
433
+
434
+ // autoload web components
435
+ // TBD: _mc components
436
+ if (
437
+ el.tagName.includes('-') &&
438
+ !unresolved.has(el.tagName.toLowerCase())
439
+ ) {
440
+ const se: HTMLScriptElement = document.createElement('script');
441
+
442
+ unresolved.set(elementName, fileName);
443
+
444
+ se.setAttribute('src', fileName);
445
+ se.setAttribute('blocking', 'render');
446
+ se.setAttribute('type', 'module');
447
+ se.onload = () => {
448
+ // console.info('loaded', s);
449
+ unresolved.delete(elementName);
450
+ //console.log(unresolved);
451
+ };
452
+
453
+ document.head.append(se);
454
+ }
455
+ });
456
+ //console.log(unresolved);
457
+ });
458
+ }
459
+
460
+ let autoloadEnabled: boolean = false;
461
+
462
+ export function autoload(enable: boolean = true): boolean {
463
+ if (!enable) {
464
+ observer?.disconnect();
465
+ observer = null;
466
+ return autoloadEnabled;
467
+ }
468
+
469
+ autoloadEnabled = enable;
470
+ observer = new MutationObserver(loadit);
471
+
472
+ setTimeout(() => {
473
+ observer!.observe(document.body, { childList: true, subtree: true });
474
+ loadit();
475
+ }, 5);
476
+
477
+ return autoloadEnabled;
478
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var isBrowser=new Function("try {return this===window;}catch(e){ return false;}");
4
+
5
+ let nativeEventNames: Set<string> = new Set();
6
+
7
+ // HTMLElement native event names
8
+ if ( isBrowser() ){
9
+ Object.keys( HTMLElement.prototype ).filter( key => /^on/.test(key) ).forEach( eventName => nativeEventNames.add( eventName ) );
10
+ }
11
+
12
+ function isDOM(element: { [key:string]: any } ) {
13
+ return element && element instanceof HTMLElement;
14
+ }
15
+
16
+ interface McEvent {
17
+ data: any;
18
+ bubble: string;
19
+ }
20
+
21
+ class McEvent{
22
+
23
+ #type: string;
24
+ #stopped: boolean = false;
25
+ #immediateStopped: boolean = false;
26
+
27
+ constructor( type: string, data: any = {}, bubble: string = 'l' ){
28
+ // bubble standard = local only, options = any combination of'uld' characters: up to root, local, down
29
+ this.#type = type;
30
+ this.data = data;
31
+ this.bubble = bubble;
32
+ }
33
+
34
+ get type(): string {
35
+ return this.#type;
36
+ }
37
+
38
+ get stopped(): boolean {
39
+ return this.#stopped;
40
+ }
41
+
42
+ get immediateStopped(): boolean {
43
+ return this.#immediateStopped;
44
+ }
45
+
46
+ stopPropagation(){
47
+ this.#stopped = true;
48
+ }
49
+
50
+ stopImmediatePropagation(){
51
+ this.stopPropagation();
52
+ this.#immediateStopped = true;
53
+ }
54
+
55
+ }
56
+
57
+ // get all microcomponents from a list of HTMLElements
58
+ function getMicroComponents( elements: any[], search: string): any[] {
59
+ let mcValues: any[] = [];
60
+
61
+ elements.forEach( e => {
62
+ if (e) {
63
+ if (e instanceof HTMLElement) {
64
+ const _mc = ( e as any )?._mc;
65
+ if ( !search && _mc ) {
66
+ mcValues = mcValues.concat(Object.values(( e as any )._mc));
67
+ }
68
+ else if ( search && _mc && _mc[search] ) {
69
+ mcValues.push( _mc[search] );
70
+ }
71
+ }
72
+ }
73
+ });
74
+ return mcValues;
75
+ }
76
+
77
+ // get all ancestor DOM nodes up to the document root
78
+ function traverseNodes(node: { [key:string]: any }, search: string, firstonly = true): any[] {
79
+ let mcValues: any[] = [];
80
+ while (node) {
81
+ if (node._mc) {
82
+ if (!search) {
83
+ mcValues = mcValues.concat(Object.values(node._mc));
84
+ }
85
+ else if (search && node._mc[search]) {
86
+ mcValues.push(node._mc[search]);
87
+ }
88
+ if (firstonly)
89
+ return mcValues;
90
+ }
91
+ node = node.parentNode;
92
+ }
93
+ return mcValues;
94
+ }
95
+
96
+ export { McEvent };