@twobirds/microcomponents 0.0.67 → 0.0.69

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 (164) hide show
  1. package/.vscode/settings.json +1 -1
  2. package/README.md +5 -5
  3. package/assets/documentation/formvalues.md +46 -0
  4. package/assets/test/MicroComponents.svg +15 -0
  5. package/assets/test/test.html +6 -6
  6. package/dist/microcomponents.d.ts +0 -1
  7. package/dist/microcomponents.d.ts.map +1 -1
  8. package/dist/microcomponents.min.js +1 -0
  9. package/dist/microcomponents.ts +1 -1
  10. package/package.json +6 -5
  11. package/public/MC.d.ts +36 -0
  12. package/public/MC.d.ts.map +1 -0
  13. package/public/MC.ts +605 -0
  14. package/public/McEvent.d.ts +15 -0
  15. package/public/McEvent.d.ts.map +1 -0
  16. package/public/McEvent.ts +96 -0
  17. package/public/documentation/formvalues.md +46 -0
  18. package/public/elements.d.ts +5 -0
  19. package/public/elements.d.ts.map +1 -0
  20. package/public/elements.ts +76 -0
  21. package/public/formValues.d.ts +3 -0
  22. package/public/formValues.d.ts.map +1 -0
  23. package/public/formValues.ts +233 -0
  24. package/public/helpers.d.ts +14 -0
  25. package/public/helpers.d.ts.map +1 -0
  26. package/public/helpers.ts +149 -0
  27. package/public/microcomponents.d.ts +7 -0
  28. package/public/microcomponents.d.ts.map +1 -0
  29. package/public/microcomponents.es3.d.ts +2 -0
  30. package/public/microcomponents.es3.d.ts.map +1 -0
  31. package/public/microcomponents.js +0 -1
  32. package/public/microcomponents.js.map +1 -1
  33. package/public/microcomponents.min.js +1 -0
  34. package/public/microcomponents.ts +8 -0
  35. package/public/observables.d.ts +10 -0
  36. package/public/observables.d.ts.map +1 -0
  37. package/public/observables.ts +401 -0
  38. package/public/selectors.d.ts +108 -0
  39. package/public/selectors.d.ts.map +1 -0
  40. package/public/selectors.ts +1634 -0
  41. package/public/src/microcomponents.ts +1 -1
  42. package/public/test/MC.d.ts +36 -0
  43. package/public/test/MC.d.ts.map +1 -0
  44. package/public/test/MC.js +378 -0
  45. package/public/test/MC.js.map +1 -0
  46. package/public/test/MC.ts +605 -0
  47. package/public/test/McEvent.d.ts +15 -0
  48. package/public/test/McEvent.d.ts.map +1 -0
  49. package/public/test/McEvent.js +71 -0
  50. package/public/test/McEvent.js.map +1 -0
  51. package/public/test/McEvent.ts +96 -0
  52. package/public/test/MicroComponents.svg +15 -0
  53. package/public/test/elements.d.ts +5 -0
  54. package/public/test/elements.d.ts.map +1 -0
  55. package/public/test/elements.js +48 -0
  56. package/public/test/elements.js.map +1 -0
  57. package/public/test/elements.ts +76 -0
  58. package/public/test/formValues.d.ts +3 -0
  59. package/public/test/formValues.d.ts.map +1 -0
  60. package/public/test/formValues.js +168 -0
  61. package/public/test/formValues.js.map +1 -0
  62. package/public/test/formValues.ts +233 -0
  63. package/public/test/helpers.d.ts +14 -0
  64. package/public/test/helpers.d.ts.map +1 -0
  65. package/public/test/helpers.js +113 -0
  66. package/public/test/helpers.js.map +1 -0
  67. package/public/test/helpers.ts +149 -0
  68. package/public/test/microcomponents.d.ts +7 -0
  69. package/public/test/microcomponents.d.ts.map +1 -0
  70. package/public/test/microcomponents.es3.d.ts +2 -0
  71. package/public/test/microcomponents.es3.d.ts.map +1 -0
  72. package/public/test/microcomponents.es3.js +303 -0
  73. package/public/test/microcomponents.es3.js.map +1 -0
  74. package/public/test/microcomponents.js +8 -0
  75. package/public/test/microcomponents.js.map +1 -0
  76. package/public/test/microcomponents.min.js +1 -0
  77. package/public/test/microcomponents.ts +8 -0
  78. package/public/test/observables.d.ts +10 -0
  79. package/public/test/observables.d.ts.map +1 -0
  80. package/public/test/observables.js +250 -0
  81. package/public/test/observables.js.map +1 -0
  82. package/public/test/observables.ts +401 -0
  83. package/public/test/selectors.d.ts +108 -0
  84. package/public/test/selectors.d.ts.map +1 -0
  85. package/public/test/selectors.js +971 -0
  86. package/public/test/selectors.js.map +1 -0
  87. package/public/test/selectors.ts +1634 -0
  88. package/public/test/test/child.d.ts +2 -0
  89. package/public/test/test/child.d.ts.map +1 -0
  90. package/public/test/{child.js → test/child.js} +1 -1
  91. package/public/test/test/child.js.map +1 -0
  92. package/public/test/test/grandchild.d.ts +2 -0
  93. package/public/test/test/grandchild.d.ts.map +1 -0
  94. package/public/test/{grandchild.js → test/grandchild.js} +1 -1
  95. package/public/test/test/grandchild.js.map +1 -0
  96. package/public/test/test/grandparent.d.ts +2 -0
  97. package/public/test/test/grandparent.d.ts.map +1 -0
  98. package/public/test/test/grandparent.js.map +1 -0
  99. package/public/test/test/greatgrandchild.d.ts +2 -0
  100. package/public/test/test/greatgrandchild.d.ts.map +1 -0
  101. package/public/test/{greatgrandchild.js → test/greatgrandchild.js} +1 -1
  102. package/public/test/test/greatgrandchild.js.map +1 -0
  103. package/public/test/test/parent.d.ts +2 -0
  104. package/public/test/test/parent.d.ts.map +1 -0
  105. package/public/test/{parent.js → test/parent.js} +1 -1
  106. package/public/test/test/parent.js.map +1 -0
  107. package/public/test/test/testform.d.ts +2 -0
  108. package/public/test/test/testform.d.ts.map +1 -0
  109. package/public/test/test/testform.js.map +1 -0
  110. package/public/test/test/testmc.d.ts +6 -0
  111. package/public/test/test/testmc.d.ts.map +1 -0
  112. package/public/test/{testmc.js → test/testmc.js} +1 -1
  113. package/public/test/test/testmc.js.map +1 -0
  114. package/public/test/test.d.ts +2 -0
  115. package/public/test/test.d.ts.map +1 -0
  116. package/public/test/test.html +6 -6
  117. package/public/test/test.ts +193 -0
  118. package/public/typedoc/classes/MC.DC.html +2 -2
  119. package/public/typedoc/classes/MC.MC.html +2 -2
  120. package/public/typedoc/classes/MC.McBase.html +2 -2
  121. package/public/typedoc/classes/MC.McEvent.html +2 -2
  122. package/public/typedoc/functions/MC.addListener.html +1 -1
  123. package/public/typedoc/functions/MC.autoload.html +1 -1
  124. package/public/typedoc/functions/MC.removeListener.html +1 -1
  125. package/public/typedoc/functions/elements.defineCE.html +1 -1
  126. package/public/typedoc/functions/elements.getCE.html +1 -1
  127. package/public/typedoc/functions/formValues.formValues.html +1 -1
  128. package/public/typedoc/functions/observables.observe.html +1 -1
  129. package/public/typedoc/functions/selectors._d.html +1 -1
  130. package/public/typedoc/functions/selectors._t.html +1 -1
  131. package/public/typedoc/index.html +5 -5
  132. package/public/typedoc/interfaces/MC.HTMLMcElement.html +2 -2
  133. package/public/typedoc/interfaces/selectors.DSelector.html +2 -2
  134. package/public/typedoc/interfaces/selectors.TSelector.html +2 -2
  135. package/public/typedoc/modules/MC.html +1 -1
  136. package/public/typedoc/modules/elements.html +1 -1
  137. package/public/typedoc/modules/formValues.html +1 -1
  138. package/public/typedoc/modules/observables.html +1 -1
  139. package/public/typedoc/modules/selectors.html +1 -1
  140. package/public/typedoc/types/observables.Observable.html +1 -1
  141. package/public/typedoc/types/selectors.selection.html +1 -1
  142. package/public/typedoc/types/selectors.singleSelector.html +1 -1
  143. package/src/microcomponents.ts +1 -1
  144. package/src/test/{child.ts → test/child.ts} +1 -1
  145. package/src/test/{grandchild.ts → test/grandchild.ts} +1 -1
  146. package/src/test/{grandparent.ts → test/grandparent.ts} +1 -1
  147. package/src/test/{greatgrandchild.ts → test/greatgrandchild.ts} +1 -1
  148. package/src/test/{parent.ts → test/parent.ts} +1 -1
  149. package/src/test/{testform.ts → test/testform.ts} +1 -1
  150. package/src/test/{testmc.ts → test/testmc.ts} +1 -1
  151. package/tsconfig.json +2 -2
  152. package/webpack.config.js +5 -5
  153. package/dist/microcomponents.js +0 -1
  154. package/public/test/child.js.map +0 -1
  155. package/public/test/grandchild.js.map +0 -1
  156. package/public/test/grandparent.js.map +0 -1
  157. package/public/test/greatgrandchild.js.map +0 -1
  158. package/public/test/parent.js.map +0 -1
  159. package/public/test/testform.js.map +0 -1
  160. package/public/test/testmc.js.map +0 -1
  161. /package/public/test/{grandparent.js → test/grandparent.js} +0 -0
  162. /package/public/test/{testform.js → test/testform.js} +0 -0
  163. /package/public/{test.js → test/test.js} +0 -0
  164. /package/public/{test.js.map → test/test.js.map} +0 -0
@@ -0,0 +1,113 @@
1
+ 'use strict';
2
+ export function isNativeObject(value) {
3
+ return value && value['constructor'] && value.constructor === Object;
4
+ }
5
+ export function sortObject(o) {
6
+ let result = {}, keys = [...Object.keys(o)].sort();
7
+ keys.forEach((key) => {
8
+ if (isNativeObject(o[key])) {
9
+ result[key] = sortObject(o[key]);
10
+ }
11
+ else {
12
+ result[key] = o[key];
13
+ }
14
+ });
15
+ return result;
16
+ }
17
+ export function flattenObject(o, doSort = true) {
18
+ let result = {};
19
+ [...Object.getOwnPropertyNames(o)].forEach((propName) => {
20
+ if (o[propName] &&
21
+ o[propName]['constructor'] &&
22
+ o[propName].constructor === Object) {
23
+ const temp = flattenObject(o[propName], false);
24
+ for (const j in temp) {
25
+ result[propName + '.' + j] = temp[j];
26
+ }
27
+ }
28
+ else {
29
+ result[propName] = o[propName];
30
+ }
31
+ });
32
+ return doSort ? sortObject(result) : result;
33
+ }
34
+ export function deepEqual(o1, o2) {
35
+ return (JSON.stringify(flattenObject(o1)) === JSON.stringify(flattenObject(o2)));
36
+ }
37
+ export function nameSpace(ns, obj = {}) {
38
+ let nsa = ns.constructor === String ? ns.split('.') : ns;
39
+ if (!obj || !nsa[0] || !obj[nsa[0]]) {
40
+ console.warn('ns', nsa[0], 'not in', obj);
41
+ return;
42
+ }
43
+ if (obj[nsa[0]].constructor === Object && nsa.length > 1) {
44
+ return nameSpace(nsa.splice(1), obj[nsa[0]]);
45
+ }
46
+ return obj[nsa[0]];
47
+ }
48
+ export function parse(what, parseThis) {
49
+ var args = Array.from(arguments);
50
+ if (args.length > 2) {
51
+ while (args.length > 1) {
52
+ args[0] = parse(args[0], args[1]);
53
+ args.splice(1, 1);
54
+ }
55
+ return args[0];
56
+ }
57
+ if (typeof what === 'string') {
58
+ what.match(/\{[^\{\}]*\}/g)?.forEach(function (pPropname) {
59
+ var propname = pPropname.substring(1, pPropname.length - 1), value = nameSpace(propname, parseThis);
60
+ if (typeof value !== 'undefined') {
61
+ what = what.replace(pPropname, value);
62
+ }
63
+ });
64
+ }
65
+ else if (isNativeObject(what)) {
66
+ switch (what.constructor) {
67
+ case Object:
68
+ Object.keys(what).forEach(function (pKey) {
69
+ if (what.hasOwnProperty(pKey)) {
70
+ what[pKey] = parse(what[pKey], parseThis);
71
+ }
72
+ });
73
+ break;
74
+ case Array:
75
+ what.forEach(function (pValue, pKey, original) {
76
+ original[pKey] = parse(what[pKey], parseThis);
77
+ });
78
+ break;
79
+ }
80
+ }
81
+ return what;
82
+ }
83
+ export function kebabToPascal(str) {
84
+ return str
85
+ .split('-')
86
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
87
+ .join('');
88
+ }
89
+ export function debounce(func, milliseconds) {
90
+ let timeout;
91
+ return () => {
92
+ clearTimeout(timeout);
93
+ timeout = setTimeout(function () {
94
+ func(...arguments);
95
+ }, milliseconds);
96
+ };
97
+ }
98
+ export function htmlToElements(html) {
99
+ let template = document.createElement('template');
100
+ html = html.replace(/<([A-Za-z0-9\-]*)([^>\/]*)(\/>)/gi, '<$1$2></$1>');
101
+ template.innerHTML = html;
102
+ template.content.normalize();
103
+ return Array.from(template.content.childNodes);
104
+ }
105
+ export function copyGettersSetters(source, target) {
106
+ const descriptors = Object.getOwnPropertyDescriptors(source);
107
+ for (const [key, descriptor] of Object.entries(descriptors)) {
108
+ if ('get' in descriptor || 'set' in descriptor) {
109
+ Object.defineProperty(target, key, descriptor);
110
+ }
111
+ }
112
+ }
113
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ 'use strict';
2
+
3
+ export interface LooseObject {
4
+ [key: string | symbol]: any;
5
+ }
6
+
7
+ export function isNativeObject(value: any): boolean {
8
+ return value && value['constructor'] && value.constructor === Object;
9
+ }
10
+
11
+ export function sortObject(o: LooseObject): LooseObject {
12
+ let result: LooseObject = {},
13
+ keys = [...Object.keys(o)].sort();
14
+
15
+ keys.forEach((key) => {
16
+ if (isNativeObject(o[key])) {
17
+ result[key] = sortObject(o[key]);
18
+ } else {
19
+ result[key] = o[key];
20
+ }
21
+ });
22
+
23
+ return result;
24
+ }
25
+
26
+ export function flattenObject(
27
+ o: LooseObject,
28
+ doSort: boolean = true
29
+ ): LooseObject {
30
+ let result: LooseObject = {};
31
+
32
+ [...Object.getOwnPropertyNames(o)].forEach((propName) => {
33
+ if (
34
+ o[propName] &&
35
+ o[propName]['constructor'] &&
36
+ o[propName].constructor === Object
37
+ ) {
38
+ const temp = flattenObject(o[propName], false);
39
+ for (const j in temp) {
40
+ result[propName + '.' + j] = temp[j];
41
+ }
42
+ } else {
43
+ result[propName] = o[propName];
44
+ }
45
+ });
46
+
47
+ return doSort ? sortObject(result) : result;
48
+ }
49
+
50
+ export function deepEqual(o1: LooseObject, o2: LooseObject): boolean {
51
+ return (
52
+ JSON.stringify(flattenObject(o1)) === JSON.stringify(flattenObject(o2))
53
+ );
54
+ }
55
+
56
+ export function nameSpace(ns: string | string[], obj: LooseObject = {}): any {
57
+ let nsa = ns.constructor === String ? ns.split('.') : ns;
58
+
59
+ if (!obj || !nsa[0] || !obj[nsa[0]]) {
60
+ console.warn('ns', nsa[0], 'not in', obj);
61
+ return;
62
+ }
63
+ if (obj[nsa[0]].constructor === Object && nsa.length > 1) {
64
+ return nameSpace((nsa as string[]).splice(1), obj[nsa[0]]);
65
+ }
66
+ return obj[nsa[0]];
67
+ }
68
+
69
+ export function parse(what: string | Object | any[], parseThis: Object) {
70
+ var args = Array.from(arguments);
71
+
72
+ if (args.length > 2) {
73
+ while (args.length > 1) {
74
+ args[0] = parse(args[0], args[1]);
75
+ args.splice(1, 1);
76
+ }
77
+ return args[0];
78
+ }
79
+
80
+ if (typeof what === 'string') {
81
+ what.match(/\{[^\{\}]*\}/g)?.forEach(function (pPropname) {
82
+ var propname = pPropname.substring(1, pPropname.length - 1),
83
+ value = nameSpace(propname, parseThis);
84
+ //console.log(propname, value);
85
+ if (typeof value !== 'undefined') {
86
+ what = (what as string).replace(pPropname, value);
87
+ }
88
+ });
89
+ } else if (isNativeObject(what)) {
90
+ switch (what.constructor) {
91
+ case Object:
92
+ Object.keys(what).forEach(function (pKey) {
93
+ if (what.hasOwnProperty(pKey)) {
94
+ (what as LooseObject)[pKey] = parse(
95
+ (what as LooseObject)[pKey],
96
+ parseThis
97
+ );
98
+ }
99
+ });
100
+ break;
101
+ case Array:
102
+ (what as Array<any>).forEach(function (pValue, pKey, original) {
103
+ original[pKey] = parse((what as any)[pKey], parseThis);
104
+ });
105
+ break;
106
+ }
107
+ }
108
+
109
+ return what;
110
+ }
111
+
112
+ export function kebabToPascal(str: string) {
113
+ return str
114
+ .split('-') // Split by hyphens
115
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) // Capitalize each part
116
+ .join(''); // Join without spaces
117
+ }
118
+
119
+ export function debounce(func: Function, milliseconds: number): Function {
120
+ let timeout: any;
121
+ return () => {
122
+ clearTimeout(timeout);
123
+
124
+ timeout = setTimeout(function () {
125
+ func(...arguments);
126
+ }, milliseconds);
127
+ };
128
+ }
129
+
130
+ export function htmlToElements(html: string): HTMLElement[] {
131
+ let template = document.createElement('template');
132
+
133
+ html = html.replace(/<([A-Za-z0-9\-]*)([^>\/]*)(\/>)/gi, '<$1$2></$1>'); // replace XHTML closing tags by full closing tags
134
+
135
+ template.innerHTML = html;
136
+
137
+ template.content.normalize();
138
+
139
+ return Array.from(template.content.childNodes) as HTMLElement[];
140
+ }
141
+
142
+ export function copyGettersSetters(source: LooseObject, target: LooseObject) {
143
+ const descriptors = Object.getOwnPropertyDescriptors(source);
144
+ for (const [key, descriptor] of Object.entries(descriptors)) {
145
+ if ('get' in descriptor || 'set' in descriptor) {
146
+ Object.defineProperty(target, key, descriptor);
147
+ }
148
+ }
149
+ }
@@ -0,0 +1,7 @@
1
+ export * from './helpers.js';
2
+ export * from './MC.js';
3
+ export * from './McEvent.js';
4
+ export * from './elements.js';
5
+ export * from './observables.js';
6
+ export * from './formValues.js';
7
+ //# sourceMappingURL=microcomponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microcomponents.d.ts","sourceRoot":"","sources":["../src/microcomponents.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function findNodesWithMcAttribute(rootNode: any, childrenOnly: any): any[];
2
+ //# sourceMappingURL=microcomponents.es3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microcomponents.es3.d.ts","sourceRoot":"","sources":["../src/microcomponents.es3.js"],"names":[],"mappings":"AAgWA,mFAwBC"}
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ (function () {
3
+ if (!String.prototype.trim) {
4
+ String.prototype.trim = function () {
5
+ return this.replace(/^\s+|\s+$/g, "");
6
+ };
7
+ }
8
+ function unique(elements) {
9
+ var uniqueElements = [];
10
+ for (var i = 0; i < elements.length; i++) {
11
+ if (uniqueElements.indexOf(elements[i]) === -1) {
12
+ uniqueElements.push(elements[i]);
13
+ }
14
+ }
15
+ return uniqueElements;
16
+ }
17
+ function matchesAttribute(element, attrSelector) {
18
+ var match = attrSelector.match(/^\[([^\]=~^$*]+)([~^$*|]?=)?(['"]?)(.*?)\3\]$/);
19
+ if (!match)
20
+ return false;
21
+ var attrName = match[1];
22
+ var operator = match[2] || null;
23
+ var attrValue = match[4] || null;
24
+ var actualValue = element.getAttribute(attrName);
25
+ if (actualValue === null)
26
+ return false;
27
+ switch (operator) {
28
+ case null:
29
+ return true;
30
+ case "=":
31
+ return actualValue === attrValue;
32
+ case "~=":
33
+ return (" " + actualValue + " ").indexOf(" " + attrValue + " ") !== -1;
34
+ case "^=":
35
+ return actualValue.indexOf(attrValue) === 0;
36
+ case "$=":
37
+ return actualValue.slice(-attrValue.length) === attrValue;
38
+ case "*=":
39
+ return actualValue.indexOf(attrValue) !== -1;
40
+ default:
41
+ return false;
42
+ }
43
+ }
44
+ function matchesSelector(element, selector) {
45
+ var regex = /(\w+)?(?:\.([\w\-]+))?(?:\[.*?\])?/g;
46
+ var match, tagMatch, classMatch, attrMatch;
47
+ while ((match = regex.exec(selector))) {
48
+ tagMatch = match[1];
49
+ classMatch = match[2] ? match[2].split(".") : null;
50
+ attrMatch = selector.match(/\[.*?\]/g);
51
+ if (tagMatch &&
52
+ element.tagName.toLowerCase() !== tagMatch.toLowerCase()) {
53
+ return false;
54
+ }
55
+ if (classMatch) {
56
+ for (var i = 0; i < classMatch.length; i++) {
57
+ if ((" " + element.className + " ").indexOf(" " + classMatch[i] + " ") === -1) {
58
+ return false;
59
+ }
60
+ }
61
+ }
62
+ if (attrMatch) {
63
+ for (var j = 0; j < attrMatch.length; j++) {
64
+ if (!matchesAttribute(element, attrMatch[j])) {
65
+ return false;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ return true;
71
+ }
72
+ if (!document.querySelectorAll) {
73
+ document.querySelectorAll = function (selectors) {
74
+ var simpleSelectors = selectors.split(",");
75
+ var results = [];
76
+ for (var i = 0; i < simpleSelectors.length; i++) {
77
+ var selector = simpleSelectors[i].trim();
78
+ if (!selector)
79
+ continue;
80
+ var allElements = document.getElementsByTagName("*");
81
+ for (var j = 0; j < allElements.length; j++) {
82
+ if (matchesSelector(allElements[j], selector)) {
83
+ results.push(allElements[j]);
84
+ }
85
+ }
86
+ }
87
+ return unique(results);
88
+ };
89
+ }
90
+ if (!document.querySelector) {
91
+ document.querySelector = function (selectors) {
92
+ var elements = document.querySelectorAll(selectors);
93
+ return elements.length ? elements[0] : null;
94
+ };
95
+ }
96
+ if (typeof HTMLElement !== "undefined" &&
97
+ !HTMLElement.prototype.querySelectorAll) {
98
+ HTMLElement.prototype.querySelectorAll = function (selectors) {
99
+ var simpleSelectors = selectors.split(",");
100
+ var results = [];
101
+ for (var i = 0; i < simpleSelectors.length; i++) {
102
+ var selector = simpleSelectors[i].trim();
103
+ if (!selector)
104
+ continue;
105
+ var allElements = this.getElementsByTagName("*");
106
+ for (var j = 0; j < allElements.length; j++) {
107
+ if (matchesSelector(allElements[j], selector)) {
108
+ results.push(allElements[j]);
109
+ }
110
+ }
111
+ }
112
+ return unique(results);
113
+ };
114
+ }
115
+ if (typeof HTMLElement !== "undefined" &&
116
+ !HTMLElement.prototype.querySelector) {
117
+ HTMLElement.prototype.querySelector = function (selectors) {
118
+ var elements = this.querySelectorAll(selectors);
119
+ return elements.length ? elements[0] : null;
120
+ };
121
+ }
122
+ if (!Object.values) {
123
+ Object.values = function (obj) {
124
+ if (obj === null ||
125
+ (typeof obj !== "object" && typeof obj !== "function")) {
126
+ throw new TypeError("Object.values called on a non-object");
127
+ }
128
+ var values = [];
129
+ for (var key in obj) {
130
+ if (obj.hasOwnProperty(key)) {
131
+ values.push(obj[key]);
132
+ }
133
+ }
134
+ return values;
135
+ };
136
+ }
137
+ })();
138
+ window.MC = (function () {
139
+ function getMicroComponents(elements, search) {
140
+ let mcValues = [];
141
+ elements.forEach((e) => {
142
+ if (e) {
143
+ if (e instanceof HTMLElement) {
144
+ const _mc = e?._mc;
145
+ if (!search && _mc) {
146
+ mcValues = mcValues.concat(Object.values(e._mc));
147
+ }
148
+ else if (search && _mc && _mc[search]) {
149
+ mcValues.push(_mc[search]);
150
+ }
151
+ }
152
+ }
153
+ });
154
+ return mcValues;
155
+ }
156
+ function traverseNodes(node, search, firstonly = true) {
157
+ let mcValues = [];
158
+ while (node) {
159
+ if (node._mc) {
160
+ if (!search) {
161
+ mcValues = mcValues.concat(Object.values(node._mc));
162
+ }
163
+ else if (search && node._mc[search]) {
164
+ mcValues.push(node._mc[search]);
165
+ }
166
+ if (firstonly)
167
+ return mcValues;
168
+ }
169
+ node = node.parentNode;
170
+ }
171
+ return mcValues;
172
+ }
173
+ function isDOM(element) {
174
+ return element && element instanceof HTMLElement;
175
+ }
176
+ var MC = function () { };
177
+ class MC {
178
+ #target = {};
179
+ #_mc = {};
180
+ static debug = false;
181
+ constructor(target) {
182
+ this.#target = target;
183
+ this.#_mc = {};
184
+ }
185
+ get _mc() {
186
+ if (!MC.debug)
187
+ return undefined;
188
+ return this.#_mc;
189
+ }
190
+ get target() {
191
+ return this.#target;
192
+ }
193
+ static siblings(target, search = "") {
194
+ const mc = target;
195
+ if (!mc._mc) {
196
+ return [];
197
+ }
198
+ const _mc = mc._mc;
199
+ if (search.length) {
200
+ return _mc?.[search] || [];
201
+ }
202
+ return [...Object.values(_mc)];
203
+ }
204
+ static add(target, key, element = {}) {
205
+ let node = target;
206
+ if (!node._mc) {
207
+ node._mc = new MC(target);
208
+ }
209
+ const _mc = node._mc;
210
+ if (key.length && !_mc[key]) {
211
+ _mc[key] = element;
212
+ if (target instanceof HTMLElement) {
213
+ target.setAttribute("_mc", "");
214
+ }
215
+ }
216
+ return element;
217
+ }
218
+ static remove(target, key) {
219
+ if (!key)
220
+ return;
221
+ const _mc = target?._mc || {};
222
+ if (_mc && _mc[key]) {
223
+ delete _mc[key];
224
+ }
225
+ if (!Object.keys(_mc).length &&
226
+ target instanceof HTMLElement &&
227
+ target.hasAttribute("_mc")) {
228
+ target.removeAttribute("_mc");
229
+ }
230
+ return;
231
+ }
232
+ add(key, element, target) {
233
+ if (this.#_mc[key])
234
+ return;
235
+ if (target) {
236
+ MC.add(target, key, element);
237
+ }
238
+ this.#_mc[key] = element;
239
+ return element;
240
+ }
241
+ remove(key, target) {
242
+ const _mc = this.#_mc;
243
+ const t = target;
244
+ if (target) {
245
+ MC.remove(t, key);
246
+ }
247
+ delete _mc?.[key];
248
+ }
249
+ siblings(search = "") {
250
+ const _mc = this.#_mc;
251
+ if (!_mc)
252
+ return [];
253
+ const result = _mc[search || ""];
254
+ return search && result ? [result] : [...Object.values(_mc)];
255
+ }
256
+ parent(search = "") {
257
+ if (!isDOM(this.#target))
258
+ return [];
259
+ return traverseNodes(this.#target.parentNode, search, true);
260
+ }
261
+ parents(search = "") {
262
+ if (!isDOM(this.#target))
263
+ return [];
264
+ return traverseNodes(this.#target.parentNode, search, false);
265
+ }
266
+ children(search = "") {
267
+ if (!isDOM(this.#target))
268
+ return [];
269
+ const id = Math.random().toString().replace(".", "");
270
+ const selector = '[_mc]:not([temp_id="' + id + '"] [_mc] [_mc])';
271
+ this.#target.setAttribute("temp_id", id);
272
+ const myDomElements = this.#target.querySelectorAll(selector);
273
+ const mcValues = getMicroComponents([...myDomElements], search);
274
+ this.#target.removeAttribute("temp_id");
275
+ return mcValues;
276
+ }
277
+ descendants(search = "") {
278
+ if (!isDOM(this.#target))
279
+ return [];
280
+ const myDomElements = this.#target.querySelectorAll("*[_mc]");
281
+ return getMicroComponents([...myDomElements], search);
282
+ }
283
+ }
284
+ return MC;
285
+ })();
286
+ function findNodesWithMcAttribute(rootNode, childrenOnly) {
287
+ var result = [];
288
+ var getChildren = childrenOnly === undefined ? true : childrenOnly;
289
+ function walk(node) {
290
+ if (node.nodeType === 1 && node.getAttribute("_mc") !== null) {
291
+ result.push(node);
292
+ return;
293
+ }
294
+ var child = node.firstChild;
295
+ while (child) {
296
+ walk(child);
297
+ child = child.nextSibling;
298
+ }
299
+ }
300
+ walk(rootNode);
301
+ return result;
302
+ }
303
+ //# sourceMappingURL=microcomponents.es3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microcomponents.es3.js","sourceRoot":"","sources":["../src/microcomponents.es3.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ export * from './helpers.js';
3
+ export * from './MC.js';
4
+ export * from './McEvent.js';
5
+ export * from './elements.js';
6
+ export * from './observables.js';
7
+ export * from './formValues.js';
8
+ //# sourceMappingURL=microcomponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microcomponents.js","sourceRoot":"","sources":["../src/microcomponents.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,iBAAiB,CAAC"}
@@ -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.microcomponents=t():e.microcomponents=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={};function r(e){return e&&e.constructor&&e.constructor===Object}function n(e){let t={};return[...Object.keys(e)].sort().forEach((o=>{r(e[o])?t[o]=n(e[o]):t[o]=e[o]})),t}function o(e,t=!0){let r={};return[...Object.getOwnPropertyNames(e)].forEach((t=>{if(e[t]&&e[t].constructor&&e[t].constructor===Object){const n=o(e[t],!1);for(const e in n)r[t+"."+e]=n[e]}else r[t]=e[t]})),t?n(r):r}function c(e,t){return JSON.stringify(o(e))===JSON.stringify(o(t))}function s(e,t={}){let r=e.constructor===String?e.split("."):e;if(t&&r[0]&&t[r[0]])return t[r[0]].constructor===Object&&r.length>1?s(r.splice(1),t[r[0]]):t[r[0]];console.warn("ns",r[0],"not in",t)}function a(e,t){var n=Array.from(arguments);if(n.length>2){for(;n.length>1;)n[0]=a(n[0],n[1]),n.splice(1,1);return n[0]}if("string"==typeof e)e.match(/\{[^\{\}]*\}/g)?.forEach((function(r){var n=s(r.substring(1,r.length-1),t);void 0!==n&&(e=e.replace(r,n))}));else if(r(e))switch(e.constructor){case Object:Object.keys(e).forEach((function(r){e.hasOwnProperty(r)&&(e[r]=a(e[r],t))}));break;case Array:e.forEach((function(r,n,o){o[n]=a(e[n],t)}))}return e}function i(e){return e.split("-").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join("")}function l(e,t){let r;return()=>{clearTimeout(r),r=setTimeout((function(){e(...arguments)}),t)}}function u(e){let t=document.createElement("template");return e=e.replace(/<([A-Za-z0-9\-]*)([^>\/]*)(\/>)/gi,"<$1$2></$1>"),t.innerHTML=e,t.content.normalize(),Array.from(t.content.childNodes)}function d(e,t){const r=Object.getOwnPropertyDescriptors(e);for(const[e,n]of Object.entries(r))("get"in n||"set"in n)&&Object.defineProperty(t,e,n)}e.r(t),e.d(t,{DC:()=>k,MC:()=>C,McBase:()=>S,McEvent:()=>p,addListener:()=>E,autoload:()=>D,copyGettersSetters:()=>d,debounce:()=>l,deepEqual:()=>c,defineCE:()=>q,flattenObject:()=>o,formValues:()=>K,getCE:()=>$,htmlToElements:()=>u,isNativeObject:()=>r,kebabToPascal:()=>i,nameSpace:()=>s,observe:()=>J,parse:()=>a,removeListener:()=>v,sortObject:()=>n});var f=new Function("try {return this===window;}catch(e){ return false;}");let m=new Set;f()&&Object.keys(HTMLElement.prototype).filter((e=>/^on/.test(e))).forEach((e=>m.add(e)));class p{#e;#t=!1;#r=!1;constructor(e,t={},r="l"){this.#e=e,this.data=t,this.bubble=r}get type(){return this.#e}get stopped(){return this.#t}get immediateStopped(){return this.#r}stopPropagation(){this.#t=!0}stopImmediatePropagation(){this.stopPropagation(),this.#r=!0}}var b=new Function("try {return this===window;}catch(e){ return false;}");let g=new Set;function h(e,t){let r=[];return e.forEach((e=>{if(e&&e instanceof HTMLElement){const n=e?._mc;!t&&n?r=r.concat(Object.values(e._mc)):t&&n&&n[t]&&r.push(n[t])}})),r}function y(e,t,r=!0){let n=[];for(;e;){if(e._mc&&(t?t&&e._mc[t]&&n.push(e._mc[t]):n=n.concat(Object.values(e._mc)),r))return n;e=e.parentNode}return n}function O(e){return e&&e instanceof HTMLElement}function E(e,t,r,n=!1,o=!1){let c={once:!1};n&&(c.capture=n),o&&(c.once=o),e.addEventListener(t,r,c)}function v(e,t,r){e.removeEventListener(t,r)}function w(e,t,r={}){let n=e;if(!n._mc){let t=k?.debug;k.debug=!1,n._mc=new k(e),k.debug=t,delete n._mc._mc}const o=n._mc;return t.length&&!o[t]&&(o[t]=r,e instanceof HTMLElement&&!e.getAttribute("_mc")&&e.setAttribute("_mc","")),r}function A(e,t){if(!t)return;const r=e?._mc||{};r&&r[t]&&delete r[t],!Object.keys(r).length&&e instanceof HTMLElement&&e.hasAttribute("_mc")&&e.removeAttribute("_mc")}function j(e,t,r={},n="l"){let o=e?._mc;if(!o)return;let c=t instanceof p?new p(t.type,t.data,"l"):new p(t,r,"l"),s="string"!=typeof t?t:new p(t,r,n);[...Object.values(o)].forEach((e=>{e?.trigger&&"function"==typeof e?.trigger&&e?.trigger(c)})),/[ud]/.test(s.bubble)&&_(e,s)}function _(e,t){/[ud]/.test(t.bubble)&&setTimeout((()=>{if(-1===t.bubble.indexOf("l")&&(t.bubble+="l"),t.bubble.indexOf("u")>-1){let r=y(e,"",!0)?.[0].target;r&&k.trigger(r,t)}t.bubble.indexOf("d")>-1&&new Set(e._mc.children().map((e=>e?.target))).forEach((e=>{e&&k.trigger(e,t)}))}),0)}b()&&Object.keys(HTMLElement.prototype).filter((e=>/^on/.test(e))).forEach((e=>g.add(e)));class S{#n;constructor(e,t=!1){var r;this.#n=new WeakRef(e||{}),(r=this).constructor!==k&&setTimeout((()=>{r.trigger("Init")}),0),function(e){if(!b()||e.constructor===k)return;const t=e.target;if(t instanceof HTMLElement){let r=e;Object.getOwnPropertyNames(r.constructor.prototype).filter((e=>/^on[A-Z]|one[A-Z]/.test(e)&&"function"==typeof r.constructor.prototype[e])).forEach((n=>{let o=/^one/.test(n),c=n.replace(/^on[e]{0,1}/,""),s=c.toLowerCase();o&&Object.defineProperty(e,"on"+c,{configurable:!0,enumerable:!1,writable:!0,value:e=>{r.constructor.prototype[n].bind(r)(e)}}),g.has("on"+s)&&E(t,s,(e=>{r.trigger(c,e)}),!1,o)}))}}(this)}get target(){return this.#n.deref()}}class C extends S{_mc={};constructor(e){super(e)}static trigger=j;trigger(e,t={},r="l"){let n=this;if(n.constructor===C||n.constructor===k){let o=e instanceof p?new p(e.type,e.data,"l"):new p(e,t,"l"),c="string"!=typeof e?e:new p(e,t,r);return[...Object.getOwnPropertyNames(n)].forEach((e=>{n[e]?.trigger&&"function"==typeof n[e]?.trigger&&n[e]?.trigger(o)})),void(/[ud]/.test(c.bubble)&&_(n.target,c))}if(n instanceof C||n instanceof k){const n=this,o="string"!=typeof e?e:new p(e,t,r),c="on"+o.type[0].toUpperCase()+o.type.slice(1);if(o.bubble.indexOf("l")>-1&&(o.immediateStopped||"function"!=typeof n[c]||(n[c](o),n.hasOwnProperty(c)&&delete n[c])),o.stopped||"l"===o.bubble)return n;/[ud]/.test(o.bubble)&&_(n.target,o)}}}class k extends S{_mc={};constructor(e,t=!1){super(e)}static add=w;static remove=A;static trigger=j;trigger(e,t={},r){C.prototype.trigger.call(this,e,t,r)}parent(e=""){let t=this.target;return O(t)?y(t.parentNode,e,!0):[]}ancestors(e=""){let t=this?.target;return O(t)?y(this.target.parentNode,e,!1):[]}children(e=""){let t=this?.target;if(!O(t))return[];const r=Math.random().toString().replace(".",""),n='[_mc]:not([temp_id="'+r+'"] [_mc] [_mc])';t.setAttribute("temp_id",r);const o=h([...t.querySelectorAll(n)],e);return t.removeAttribute("temp_id"),o}descendants(e=""){let t=this?.target;return O(t)?h([...t.querySelectorAll("*[_mc]")],e):[]}}const T=new Map,N=new Map;function L(e){const t="./"+e.split("-").join("/")+".js",r=document.createElement("script");return r.setAttribute("src",t),r.setAttribute("blocking","render"),r.async=!0,r.setAttribute("type","module"),r.setAttribute("name",e),r.setAttribute("loading",""),E(r,"load",(e=>{r.removeAttribute("loading"),r.setAttribute("loaded","")})),E(r,"error",(e=>{console.error("could not load Custom Element code from",t)})),r}function M(){[...document.querySelectorAll(":not(:defined)")].filter((e=>!!e&&!customElements.get(e.tagName.toLowerCase())&&!T.has(e.tagName.toLowerCase()))).forEach((e=>{const t=e.tagName.toLowerCase(),r=(t.split("-").join("/"),L(t));E(r,"load",(()=>{T.set(t,customElements.get(e.tagName.toLowerCase()))})),T.set(t,"loading"),document.head.append(r)})),[...document.querySelectorAll('[_mc]:not([_mc=""]')].filter((e=>!!e)).forEach((e=>{const t=e.getAttribute("_mc")?.split(" ").filter((e=>!!e))||[],r=t.filter((e=>!N.has(e)));r?.forEach((e=>{const t=L(e);E(t,"load",(()=>{return t=document.head.querySelector(`script[name="${e}"]`),void setTimeout((function(){const e=t.getAttribute("src"),r=t.getAttribute("name"),n=document.createElement("script");n.async=!0,n.setAttribute("type","module");const o=`\n\n\t\t\timport _ from "${e}";\n\t\t\timport {DC} from "./microcomponents.js";\n\n\t\t\tconst elements = Array.from(document.querySelectorAll('[_mc*="${r}"]')).filter( element => element instanceof HTMLElement );\n\n\t\t\telements.forEach((element) => {\n\t\t\t\t// add class to MCs repository\n\t\t\t\tautoload.state.MCs.set( '${r}', _ );\n\t\t\t\t// add instance to HTMLElement \n\t\t\t\tDC.add(element, _.name, new _(element));\n\t\t\t\t// remove instance name from elements "_mc" attribute\n\t\t\t\telement.setAttribute('_mc', element.getAttribute('_mc').replace('${r}', '').replace( /ww/g, ' ').trim()); \n\t\t\t});\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tdocument.body.querySelector('script[name="${r}]"')?.remove();\n\t\t\t},0);\n\n\t\t`;n.innerHTML=o,document.body.append(n)}),0);var t})),N.set(e,"loading"),document.head.append(t)}));const n=t.filter((e=>N.has(e)&&!N.get(e).length));n?.forEach((t=>{setTimeout((()=>{k.add(e,t,new(D.state.MCs.get(t))(e)),e.getAttribute("_mc").replace("${elementName}","").replace(/\w\w/g," ").trim(),e.setAttribute("_mc")}),5)}))}))}let x=!1,P=null;function D(e=!0){return e?(x=e,P=new MutationObserver(M),setTimeout((()=>{P.observe(document.body,{childList:!0,subtree:!0}),M()}),5),x):(P?.disconnect(),P=null,x)}D.state={CEs:T,MCs:N};class H extends HTMLElement{constructor(){super()}connectedCallback(){k.trigger(this,"Connected")}disconnectedCallback(){k.trigger(this,"Disconnected")}adoptedCallback(){k.trigger(this,"Adopted")}attributeChangedCallback(e,t,r){k.trigger(this,"AttributeChanged",{name:e,oldValue:t,newValue:r})}}function q(e,t,r=[]){if(customElements.get(e))return void console.warn(`IGNORED: Custom element "${e}" is already defined!`);if(!e.includes("-"))throw new Error('createCustomElement: tagName must contain at least one hyphen ("-").');let n=i(e);customElements.define(e,function(e,t){return Object.defineProperty(t,"name",{value:e})}(n,class extends H{instance;constructor(e){super();let r=new t(this,e);k.add(this,n,r)}static get observedAttributes(){return r}}))}function $(e){return customElements.get(e)}function I(e){return null!=e&&"object"==typeof e}function V(e){let t=new Set,r=/\{[^\{\}]*\}/g;return e.getAttributeNames().filter((t=>e.getAttribute(t)?.match(r))).forEach((n=>{new Set(e.getAttribute(n)?.match(r)).forEach((e=>t.add(e.replace(/[\{\}]/g,""))))})),[...e.childNodes].filter((e=>3===e.nodeType&&(e.nodeValue||"").match(r))).forEach((e=>{(e.nodeValue||"").match(r).forEach((e=>{t.add(e.replace(/[\{\}]/g,""))}))})),[...t].map((e=>e.replace(/[\{\}]/g,"")))}const F=[HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement];class G extends k{data={};oldDisplay="";constructor(e){super(e);let t=this;V(e).forEach((e=>t.data[e]="")),J(t),t.#o(),delete t._mc}#o(){let e=this,t=e.target,r=!1;t.getAttributeNames().filter((e=>t.getAttribute(e)?.match(/\{[^\{\}]*\}/g))).forEach((r=>{let n=new Set(t.getAttribute(r)?.match(/\{[^\{\}]*\}/g));var o;e.data.observe((o=t.getAttribute(r),e=>{let c=o;n.forEach((t=>{c=c.replace(t,e[t.replace(/[\{\}]/g,"")])})),t.setAttribute(r,c)}))})),[...t.childNodes].filter((e=>3===e.nodeType&&(e.nodeValue||"").match(/\{[^\{\}]*\}/g))).forEach((n=>{r=!0;let o=new Set(n.nodeValue.match(/\{[^\{\}]*\}/g));var c;e.data.observe((c=n.nodeValue,r=>{let s=c;o.forEach((e=>{s=s.replace(e,r[e.replace(/[\{\}]/g,"")])})),Object.keys(r).some((e=>!!r[e]))&&(e.oldDisplay?t.style=e.oldDisplay:t.removeAttribute("style"),delete e.oldDisplay),n.nodeValue=s})),e.oldDisplay=t.getAttribute("style)")||"",r&&!F.includes(t.constructor)&&"FIELDSET"!==t.tagName&&(t.style.display="none")}))}onData(e){let t=this,r={};Object.keys(e.data).forEach((n=>{t.data.hasOwnProperty(n)&&(r[n]=e.data[n])})),JSON.stringify(r)!==JSON.stringify(t.data)&&Object.assign(t.data,r)}}const J=(e,t)=>((t?[t]:[...Object.getOwnPropertyNames(e)]).forEach((t=>{if("_"===t[0]||void 0===e?.[t])return e;let r,n=e[t];if(!n.prototype)switch(typeof n){case"string":r=String;break;case"number":r=Number;break;case"boolean":r=Boolean;break;case"object":r=n instanceof Array?Array:Object;break;default:return}let s=class extends r{#c=!0;constructor(e){super(e),this.constructor.callbacks=[],I(e)&&Object.getOwnPropertyNames(e).forEach((t=>{this[t]=e[t]}))}observe(e){return this.constructor.callbacks.push(e),this}bind(e){const t=this;if(I(t.valueOf())){!function(e){var t;(t=e,(t instanceof HTMLElement?[t]:[]).concat([...t.querySelectorAll("*")]).filter((e=>!!V(e).length)).filter((e=>"STYLE"!==e.tagName))).forEach((e=>{e?._mc?._placeholders||k.add(e,"_placeholders",new G(e))}))}(e);const r=[...e.querySelectorAll("[_mc]")].filter((e=>!!e?._mc?._placeholders)),n=function(e){let t=o(e);r.forEach((e=>{e&&e._mc.trigger("data",t)}))};t.constructor.callbacks.push(n),t.notify()}else console.warn("IGNORED - cannot bind a non-Object to the dom, IS:",typeof t.valueOf(),t);return this}notify(e){let t=this,r=I(t.valueOf())&&t.valueOf()instanceof Array==0?structuredClone(Object.assign({},t)):t.valueOf();return void 0!==e&&(t.#c=e),t.constructor.callbacks.forEach((e=>{e(r)})),t}},a=new s(n);Object.defineProperty(e,t,{enumerable:!0,get(){if(I(a.valueOf())){let e=structuredClone(Object.assign({},a));setTimeout(l((function(){c(structuredClone(Object.assign({},a)),e)||a.notify()}),0),0)}return a},set(e){if(typeof e==typeof a.valueOf())if(I(a.valueOf())&&a.valueOf()instanceof Array==0){let t=structuredClone(Object.assign({},a));a instanceof s==0&&(a=new s(structuredClone(Object.assign({},e))),d(e,a),a.seal()),Object.assign(a,e),setTimeout(l((function(){c(structuredClone(Object.assign({},a)),t)||a.notify()}),0),0)}else{let t=a.valueOf(),r=a.constructor.callbacks;a=new s(e),a.constructor.callbacks=r,e!==t&&a.notify()}else console.warn("IGNORED - cannot change observable types, IS:",typeof a.valueOf(),a,"- CANNOT BECOME:",typeof e)}}),e[t]=n})),e);class R{constructor(e){}}class B extends R{#s;constructor(e){super(e),this.#s=e}get val(){return new FormData(this.#s.form).get(this.#s.name)}set val(e){[...this.#s.form.querySelectorAll(`input[type="radio"][name="${this.#s.name}"]`)].filter((t=>t.getAttribute("value")===e)).shift().checked=!0}}class Z extends R{#s;constructor(e){super(e),this.#s=e}get val(){return this.#s.checked}set val(e){this.#s.checked=e}}class z extends R{#s;constructor(e){super(e),this.#s=e}get val(){return this.#s.value}set val(e){this.#s.value=e}}class U extends R{#s;#a=!1;constructor(e){super(e),this.#s=e,this.#a=e.multiple}get val(){const e=[];return[...this.#s.querySelectorAll("option")].filter((e=>e.selected)).forEach((t=>{e.push(t.value)})),this.#a?e:e.length?e[0]:""}set val(e){e="string"==typeof e?[e]:e,[...this.#s.querySelectorAll("option")].forEach((t=>{e.indexOf(t.value)>-1?t.selected=!0:t.selected=!1}))}}class W extends R{#s;constructor(e){super(e),this.#s=e}get val(){return this.#s.value||""}set val(e){this.#s.value=e}}const Y=e=>{let t=[...(e||document).querySelectorAll("input,select,textarea")],r={};return t.forEach((e=>{const t=e.getAttribute("name");if(t){let n=!1;switch((e=>e.tagName.toLowerCase())(e)){case"input":switch(e.type){case"radio":n=new B(e);break;case"checkbox":n=new Z(e);break;default:n=new z(e)}break;case"select":n=new U(e);break;case"textarea":n=new W(e);break;default:console.warn("handler missing:",t,"for",e.tagName.toLowerCase(),e)}n&&(k.add(e,t,n),Object.defineProperty(r,t,{enumerable:!0,configurable:!0,get:()=>n.val,set:e=>{n.val!==e&&(n.val=e)}}))}})),r};function K(e,t,r){let n=Y(r);e[t]=Object.assign({},n),J(e,t),d(n,e[t]),[...r.querySelectorAll("input, textarea, select")].forEach((r=>{E(r,"keyup",(r=>{e[t].notify()})),E(r,"change",(r=>{e[t].notify()})),E(r,"select",(r=>{e[t].notify()}))}))}return t})()));