@twobirds/microcomponents 0.0.82 → 0.0.83

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 (233) hide show
  1. package/assets/documentation/MC.md +0 -1
  2. package/dist/MC.d.ts +3 -3
  3. package/dist/MC.d.ts.map +1 -1
  4. package/dist/MC.js +43 -74
  5. package/dist/MC.min.js +43 -74
  6. package/dist/MC.ts +67 -143
  7. package/dist/elements.d.ts +1 -1
  8. package/dist/elements.d.ts.map +1 -1
  9. package/dist/elements.js +16 -2
  10. package/dist/elements.min.js +1 -1
  11. package/dist/elements.ts +33 -3
  12. package/dist/formValues.min.js +1 -1
  13. package/dist/microcomponents.min.js +1 -1
  14. package/dist/observables.d.ts.map +1 -1
  15. package/dist/observables.js +40 -47
  16. package/dist/observables.min.js +1 -1
  17. package/dist/observables.ts +54 -59
  18. package/dist/selectors.d.ts +2 -4
  19. package/dist/selectors.d.ts.map +1 -1
  20. package/dist/selectors.js +2 -214
  21. package/dist/selectors.min.js +1 -1
  22. package/dist/selectors.ts +2 -367
  23. package/package.json +6 -5
  24. package/public/MC.d.ts +3 -3
  25. package/public/MC.d.ts.map +1 -1
  26. package/public/MC.js +43 -74
  27. package/public/MC.js.map +1 -1
  28. package/public/MC.min.js +43 -74
  29. package/public/MC.ts +67 -143
  30. package/public/documentation/MC.md +0 -1
  31. package/public/elements.d.ts +1 -1
  32. package/public/elements.d.ts.map +1 -1
  33. package/public/elements.js +16 -2
  34. package/public/elements.js.map +1 -1
  35. package/public/elements.min.js +1 -1
  36. package/public/elements.ts +33 -3
  37. package/public/formValues.min.js +1 -1
  38. package/public/microcomponents.min.js +1 -1
  39. package/public/observables.d.ts.map +1 -1
  40. package/public/observables.js +40 -47
  41. package/public/observables.js.map +1 -1
  42. package/public/observables.min.js +1 -1
  43. package/public/observables.ts +54 -59
  44. package/public/selectors.d.ts +2 -4
  45. package/public/selectors.d.ts.map +1 -1
  46. package/public/selectors.js +2 -214
  47. package/public/selectors.js.map +1 -1
  48. package/public/selectors.min.js +1 -1
  49. package/public/selectors.ts +2 -367
  50. package/public/src/MC.d.ts +36 -0
  51. package/public/src/MC.d.ts.map +1 -0
  52. package/public/src/MC.js +348 -0
  53. package/public/src/MC.js.map +1 -0
  54. package/public/src/MC.ts +67 -143
  55. package/public/src/McEvent.d.ts +15 -0
  56. package/public/src/McEvent.d.ts.map +1 -0
  57. package/public/src/McEvent.js +71 -0
  58. package/public/src/elements.d.ts +5 -0
  59. package/public/src/elements.d.ts.map +1 -0
  60. package/public/src/elements.js +62 -0
  61. package/public/src/elements.js.map +1 -0
  62. package/public/src/elements.ts +33 -3
  63. package/public/src/formValues.d.ts +3 -0
  64. package/public/src/formValues.d.ts.map +1 -0
  65. package/public/src/formValues.js +162 -0
  66. package/public/src/helpers.d.ts +14 -0
  67. package/public/src/helpers.d.ts.map +1 -0
  68. package/public/src/helpers.js +113 -0
  69. package/public/src/microcomponents.d.ts +7 -0
  70. package/public/src/microcomponents.d.ts.map +1 -0
  71. package/public/src/microcomponents.js +8 -0
  72. package/public/src/observables.d.ts +11 -0
  73. package/public/src/observables.d.ts.map +1 -0
  74. package/public/src/observables.js +242 -0
  75. package/public/src/observables.js.map +1 -0
  76. package/public/src/observables.ts +54 -59
  77. package/public/src/selectors.d.ts +106 -0
  78. package/public/src/selectors.d.ts.map +1 -0
  79. package/public/src/selectors.js +759 -0
  80. package/public/src/selectors.js.map +1 -0
  81. package/public/src/selectors.ts +2 -367
  82. package/public/src/test/grandparent.css +11 -0
  83. package/public/src/test/test/child.d.ts +2 -0
  84. package/public/src/test/test/child.d.ts.map +1 -0
  85. package/public/src/test/test/child.js +15 -0
  86. package/public/src/test/test/child.js.map +1 -0
  87. package/public/src/test/test/child.ts +21 -0
  88. package/public/src/test/test/grandchild.d.ts +2 -0
  89. package/public/src/test/test/grandchild.d.ts.map +1 -0
  90. package/public/src/test/test/grandchild.js +15 -0
  91. package/public/src/test/test/grandchild.js.map +1 -0
  92. package/public/src/test/test/grandchild.ts +21 -0
  93. package/public/src/test/test/grandparent.d.ts +2 -0
  94. package/public/src/test/test/grandparent.d.ts.map +1 -0
  95. package/public/src/test/test/grandparent.js +1 -0
  96. package/public/src/test/test/grandparent.js.map +1 -0
  97. package/public/src/test/test/grandparent.ts +21 -0
  98. package/public/src/test/test/greatgrandchild.d.ts +2 -0
  99. package/public/src/test/test/greatgrandchild.d.ts.map +1 -0
  100. package/public/src/test/test/greatgrandchild.js +29 -0
  101. package/public/src/test/test/greatgrandchild.js.map +1 -0
  102. package/public/src/test/test/greatgrandchild.ts +42 -0
  103. package/public/src/test/test/parent.d.ts +2 -0
  104. package/public/src/test/test/parent.d.ts.map +1 -0
  105. package/public/src/test/test/parent.js +15 -0
  106. package/public/src/test/test/parent.js.map +1 -0
  107. package/public/src/test/test/parent.ts +21 -0
  108. package/public/src/test/test/testform.d.ts +2 -0
  109. package/public/src/test/test/testform.d.ts.map +1 -0
  110. package/public/src/test/test/testform.js +1 -0
  111. package/public/src/test/test/testform.js.map +1 -0
  112. package/public/src/test/test/testform.ts +155 -0
  113. package/public/src/test/test/testfunction.d.ts +3 -0
  114. package/public/src/test/test/testfunction.d.ts.map +1 -0
  115. package/public/src/test/test/testfunction.js +7 -0
  116. package/public/src/test/test/testfunction.js.map +1 -0
  117. package/public/src/test/test/testfunction.ts +12 -0
  118. package/public/src/test/test/testmc.d.ts +3 -0
  119. package/public/src/test/test/testmc.d.ts.map +1 -0
  120. package/public/src/test/test/testmc.js +10 -0
  121. package/public/src/test/test/testmc.js.map +1 -0
  122. package/public/src/test/test/testmc.ts +16 -0
  123. package/public/src/test/test/testsimpleclass.d.ts +3 -0
  124. package/public/src/test/test/testsimpleclass.d.ts.map +1 -0
  125. package/public/src/test/test/testsimpleclass.js +9 -0
  126. package/public/src/test/test/testsimpleclass.js.map +1 -0
  127. package/public/src/test/test/testsimpleclass.ts +15 -0
  128. package/public/src/test/test.d.ts +2 -0
  129. package/public/src/test/test.d.ts.map +1 -0
  130. package/public/src/test/test.js +79 -0
  131. package/public/src/test/test.js.map +1 -0
  132. package/public/src/test/test.ts +188 -0
  133. package/public/src/test/testform.css +47 -0
  134. package/public/src/test/testform.html +56 -0
  135. package/public/src/test/testform.json +27 -0
  136. package/public/test/MC.d.ts +3 -3
  137. package/public/test/MC.d.ts.map +1 -1
  138. package/public/test/MC.js +43 -74
  139. package/public/test/MC.min.js +485 -0
  140. package/public/test/MC.ts +67 -143
  141. package/public/test/elements.d.ts +1 -1
  142. package/public/test/elements.d.ts.map +1 -1
  143. package/public/test/elements.js +16 -2
  144. package/public/test/elements.min.js +1 -0
  145. package/public/test/elements.ts +33 -3
  146. package/public/test/formValues.min.js +1 -0
  147. package/public/test/grandparent.css +1 -3
  148. package/public/test/microcomponents.min.js +1 -1
  149. package/public/test/observables.d.ts.map +1 -1
  150. package/public/test/observables.js +40 -47
  151. package/public/test/observables.min.js +1 -0
  152. package/public/test/observables.ts +54 -59
  153. package/public/test/selectors.d.ts +2 -4
  154. package/public/test/selectors.d.ts.map +1 -1
  155. package/public/test/selectors.js +2 -214
  156. package/public/test/selectors.min.js +1 -0
  157. package/public/test/selectors.ts +2 -367
  158. package/public/test/test/child.ts +21 -0
  159. package/public/test/test/grandchild.ts +21 -0
  160. package/public/test/test/grandparent.js +1 -1
  161. package/public/test/test/grandparent.ts +21 -0
  162. package/public/test/test/greatgrandchild.ts +42 -0
  163. package/public/test/test/parent.ts +21 -0
  164. package/public/test/test/testform.js +1 -1
  165. package/public/test/test/testform.js.map +1 -1
  166. package/public/test/test/testform.ts +155 -0
  167. package/public/test/test/testfunction.d.ts +3 -0
  168. package/public/test/test/testfunction.d.ts.map +1 -0
  169. package/public/test/test/testfunction.js +7 -0
  170. package/public/test/test/testfunction.js.map +1 -0
  171. package/public/test/test/testfunction.ts +12 -0
  172. package/public/test/test/testmc.d.ts +2 -5
  173. package/public/test/test/testmc.d.ts.map +1 -1
  174. package/public/test/test/testmc.js +4 -4
  175. package/public/test/test/testmc.js.map +1 -1
  176. package/public/test/test/testmc.ts +16 -0
  177. package/public/test/test/testsimpleclass.d.ts +3 -0
  178. package/public/test/test/testsimpleclass.d.ts.map +1 -0
  179. package/public/test/test/testsimpleclass.js +9 -0
  180. package/public/test/test/testsimpleclass.js.map +1 -0
  181. package/public/test/test/testsimpleclass.ts +15 -0
  182. package/public/test/test.js +0 -2
  183. package/public/test/test.js.map +1 -1
  184. package/public/test/test.ts +188 -0
  185. package/public/test/testform.css +47 -0
  186. package/public/test/testform.html +56 -0
  187. package/public/test/testform.json +3 -3
  188. package/public/typedoc/assets/navigation.js +1 -1
  189. package/public/typedoc/assets/search.js +1 -1
  190. package/public/typedoc/classes/MC.DC.html +5 -5
  191. package/public/typedoc/classes/MC.MC.html +5 -5
  192. package/public/typedoc/classes/MC.McBase.html +4 -3
  193. package/public/typedoc/classes/MC.McEvent.html +2 -2
  194. package/public/typedoc/functions/MC.addListener.html +1 -1
  195. package/public/typedoc/functions/MC.autoload.html +1 -1
  196. package/public/typedoc/functions/MC.removeListener.html +1 -1
  197. package/public/typedoc/functions/elements.defineCE.html +1 -1
  198. package/public/typedoc/functions/elements.getCE.html +1 -1
  199. package/public/typedoc/functions/formValues.formValues.html +1 -1
  200. package/public/typedoc/functions/observables.observe.html +1 -1
  201. package/public/typedoc/functions/selectors._d.html +1 -0
  202. package/public/typedoc/functions/selectors._t.html +1 -0
  203. package/public/typedoc/interfaces/MC.HTMLMcElement.html +2 -2
  204. package/public/typedoc/interfaces/selectors.DSelector.html +48 -0
  205. package/public/typedoc/interfaces/selectors.TSelector.html +34 -0
  206. package/public/typedoc/modules/MC.html +1 -1
  207. package/public/typedoc/modules/elements.html +1 -1
  208. package/public/typedoc/modules/formValues.html +1 -1
  209. package/public/typedoc/modules/observables.html +1 -1
  210. package/public/typedoc/modules/selectors.html +7 -0
  211. package/public/typedoc/modules.html +1 -0
  212. package/public/typedoc/types/observables.Observable.html +1 -1
  213. package/public/typedoc/types/selectors.selection.html +1 -0
  214. package/public/typedoc/types/selectors.singleSelector.html +1 -0
  215. package/src/MC.ts +67 -143
  216. package/src/elements.ts +33 -3
  217. package/src/observables.ts +54 -59
  218. package/src/selectors.ts +2 -367
  219. package/src/test/test/testform.ts +7 -3
  220. package/src/test/test/testfunction.ts +12 -0
  221. package/src/test/test/testmc.ts +13 -9
  222. package/src/test/test/testsimpleclass.ts +15 -0
  223. package/src/test/test.ts +0 -12
  224. package/tasks.md +36 -0
  225. package/typedoc.json +1 -1
  226. package/public/test/MC.js.map +0 -1
  227. package/public/test/elements.js.map +0 -1
  228. package/public/test/observables.js.map +0 -1
  229. package/public/test/selectors.js.map +0 -1
  230. /package/public/{test → src}/McEvent.js.map +0 -0
  231. /package/public/{test → src}/formValues.js.map +0 -0
  232. /package/public/{test → src}/helpers.js.map +0 -0
  233. /package/public/{test → src}/microcomponents.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
@@ -29,249 +29,6 @@ const words = ( classes: Array<string> ): Array<string> => {
29
29
  return classes;
30
30
  }
31
31
 
32
- type inputTypes = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
33
-
34
- const getInputName = ( e: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement ): string => {
35
-
36
- let ret = e instanceof HTMLInputElement
37
- ? 'input'
38
- : e instanceof HTMLSelectElement
39
- ? 'select'
40
- : e instanceof HTMLTextAreaElement
41
- ? 'textarea'
42
- : ''
43
- ;
44
-
45
- return ret;
46
- }
47
-
48
-
49
- const getInputHandlers = ( e: HTMLElement | ShadowRoot ): LooseObject => {
50
-
51
- let
52
- //inputList = ( Array.from( e.querySelectorAll('*') ) as HTMLElement[] ).filter( i => isInputElement(i) ),
53
- inputList = $d('input,select,textarea', e).array,
54
- handlers: LooseObject = {};
55
-
56
- inputList.forEach( (i) => {
57
- const
58
- name: string = ( i as inputTypes ).getAttribute('name') || 'undefined';
59
-
60
- if ( name ){
61
- let h: InputBase;
62
- switch ( getInputName( i as inputTypes ) ){
63
- case 'input':
64
- //console.log( i, 'is HTMLInputElement');
65
- h = new InputHandler( i as HTMLInputElement, e ); // e = element to search radios in = radioBase
66
- Object.defineProperty( handlers, name, {
67
- enumerable: true,
68
- configurable: true,
69
- get: (): any => { return h.val },
70
- set: ( value: any ) => { h.val = value }
71
- });
72
- break;
73
- case 'select':
74
- //console.log( i, 'is HTMLSelectElement');
75
- h = new SelectHandler( i as HTMLSelectElement );
76
- Object.defineProperty( handlers, name, {
77
- enumerable: true,
78
- configurable: true,
79
- get: (): any => { return h.val },
80
- set: ( value: any ) => { h.val = value }
81
- });
82
- break;
83
- case 'textarea':
84
- //console.log( i, 'is HTMLTextAreaElement');
85
- h = new TextAreaHandler( i as HTMLTextAreaElement );
86
- Object.defineProperty( handlers, name, {
87
- enumerable: true,
88
- configurable: true,
89
- get: (): any => { return h.val },
90
- set: ( value: any ) => { h.val = value }
91
- });
92
- break;
93
- default:
94
- console.warn('handler missing:', name, 'for', i);
95
- break;
96
- }
97
- }
98
- });
99
-
100
- return handlers;
101
- }
102
-
103
- abstract class InputBase{
104
- constructor( e: any ){
105
- }
106
-
107
- abstract get val(): any;
108
-
109
- abstract set val( value: any );
110
-
111
- }
112
-
113
- class InputHandler extends InputBase {
114
-
115
- #e: HTMLInputElement;
116
- #type: string;
117
- #radioBase: any;
118
-
119
- constructor( e: HTMLInputElement, radioBase?: HTMLElement | ShadowRoot ){
120
- super( e );
121
- this.#e = e;
122
- this.#type = e.type;
123
- this.#radioBase = radioBase;
124
- }
125
-
126
- get val(): any{
127
- let that = this,
128
- type = that.#type,
129
- ret: any;
130
-
131
- switch (type){
132
- case 'radio':
133
- const check = $d( `input[type="radio"][name="${ this.#e.getAttribute('name') }"]`, this.#radioBase )
134
- .filter( e => e.checked );
135
- if ( !check.length ) return '';
136
- ret = check.array[0];
137
- return ret.value;
138
- case 'checkbox':
139
- return that.#e.checked;
140
- default:
141
- return that.#e.value;
142
- break;
143
- }
144
-
145
- return '';
146
- }
147
-
148
- set val( value: any ){
149
- let that = this,
150
- type = that.#type,
151
- ret: any;
152
-
153
- switch (type){
154
- case 'radio':
155
- const
156
- selection = `input[type="radio"][name="${ this.#e.getAttribute('name') }"]`,
157
- radios = $d( selection, this.#radioBase );
158
-
159
- // console.log('set radios', selection, this.#radioBase, radios.array );
160
-
161
- if ( !radios.length ) return;
162
-
163
- if ( value === '' ){ // uncheck all
164
- radios.forEach( r => { if (r.checked) r.checked = false } );
165
- //console.log('unset all radios', radios.array );
166
- return;
167
- }
168
-
169
- const setRadioElement = radios.filter( r => r.getAttribute('value') === value );
170
-
171
- if ( !setRadioElement.length ) return;
172
-
173
- // console.log('set this radio', setRadioElement.array );
174
-
175
- (setRadioElement.array[0] as HTMLInputElement).checked = true;
176
-
177
- // console.log('done', setRadioElement.array );
178
- return;
179
- break;
180
- case 'checkbox':
181
- that.#e.checked = value;
182
- break;
183
- default:
184
- that.#e.value = value;
185
- break;
186
- }
187
-
188
- return;
189
- }
190
-
191
- }
192
-
193
- class SelectHandler extends InputBase {
194
-
195
- #e: HTMLSelectElement;
196
- #multi: boolean = false;
197
-
198
- constructor( e: HTMLSelectElement ){
199
- super( e );
200
- this.#e = e;
201
- this.#multi = e.type === 'select-multiple';
202
- }
203
-
204
- get val(): string[] | string{
205
- const
206
- that = this,
207
- ret: string[] = [];
208
-
209
- // get all options
210
- const options = $d( that.#e.querySelectorAll('option') )
211
- .filter( o => o.selected )
212
- .forEach( o => { if ( o.selected ) ret.push( o.value ) } );
213
-
214
- if ( this.#multi ) return ret;
215
- return ret.length ? ret[0] : '';
216
- }
217
-
218
- set val( value: string[] | string ){
219
- const
220
- that = this;
221
-
222
- value = typeof value === 'string' ? [ value ] : value;
223
-
224
- //console.log('set values', value );
225
-
226
- // set all options
227
- const options = $d( that.#e.querySelectorAll('option') )
228
- .forEach( o => {
229
- if ( value.indexOf( o.value ) > -1 ) {
230
- o.setAttribute( 'selected', true )
231
- o.selected = true;
232
- } else {
233
- o.removeAttribute( 'selected' )
234
- o.selected = false;
235
- }
236
- });
237
-
238
- /*
239
- if (pOption.selected) {
240
- if (
241
- !pOption.disabled &&
242
- (!pOption.parentNode.disabled ||
243
- pOption.parentNode.nodeName !==
244
- 'optgroup')
245
- ) {
246
- var value = pOption.value;
247
-
248
- ret.push(value);
249
- }
250
- }
251
- */
252
- return;
253
- }
254
-
255
- }
256
-
257
- class TextAreaHandler extends InputBase {
258
- #e: HTMLTextAreaElement
259
- constructor( e: HTMLTextAreaElement ){
260
- super(e);
261
- this.#e = e;
262
- }
263
-
264
- get val(): string{
265
- return this.#e.value;
266
- }
267
-
268
- set val( value: string ){
269
- this.#e.value = value;
270
- return;
271
- }
272
-
273
- }
274
-
275
32
  /*
276
33
  selector classes
277
34
  */
@@ -303,28 +60,9 @@ class DomSelector{
303
60
  that = this,
304
61
  undefinedTags: Set<any> = new Set();
305
62
 
306
- // // console.log('DomSelector constructor', ...arguments);
307
-
308
63
  if ( !selection ) {
309
64
  return that;
310
65
  }
311
-
312
- /* autoloading disabled !
313
- if ( selection instanceof Array ){
314
- selection.forEach( (select) => {
315
- _getElementList( select, element ).forEach( (e) => {
316
- if ( e.localName?.indexOf('-') !== -1 || e.getAttribute?.('is') ) _loadRequirements( e );
317
- that.#set.add( e );
318
- });
319
- });
320
- } else {
321
- _getElementList( selection, element ).forEach( (e) => {
322
- if ( e.localName?.indexOf('-') !== -1 || e.getAttribute?.('is') ) _loadRequirements( e );
323
- that.#set.add( e );
324
- });
325
- }
326
- */
327
-
328
66
  }
329
67
 
330
68
  $t( nameSpace?: string ): TSelector {
@@ -652,20 +390,6 @@ class DomSelector{
652
390
  return that;
653
391
  }
654
392
 
655
- /*
656
- load(): DSelector{
657
- let that = this;
658
-
659
- if( !that.length ){
660
- that.add( document.body );
661
- }
662
-
663
- that.forEach( e => _loadRequirements( e ) );
664
-
665
- return that;
666
- }
667
- */
668
-
669
393
  next( selection?: selection, rootNode?: HTMLElement ): DSelector{
670
394
  let
671
395
  that: DomSelector = this,
@@ -805,7 +529,7 @@ class DomSelector{
805
529
  return that;
806
530
  }
807
531
 
808
- parents( selection?: selection, rootNode?: HTMLElement ): DSelector {
532
+ ancestors( selection?: selection, rootNode?: HTMLElement ): DSelector {
809
533
  let
810
534
  that: DomSelector = this,
811
535
  set: Set<HTMLElement> = new Set()
@@ -948,95 +672,6 @@ class DomSelector{
948
672
  return that;
949
673
  }
950
674
 
951
- // INFO:
952
- // val(): LooseObject; // no param: get all as LooseObject
953
- // val( p1: string ): Array<string> | number | string; // get from input name
954
- // val( p1: object ): DomSelector; // set from object
955
- // val( p1: string, p2: any ): DomSelector; // set from name and value
956
- val( p1?: any, p2?: any ): any {
957
-
958
- if ( !this.length ) return this;
959
-
960
- const
961
- that = this
962
- ;
963
-
964
- let result: any,
965
- handlers: LooseObject = getInputHandlers( that.array[0] );
966
-
967
- // work with it
968
- if ( !p1 ){ // get all inputs as LooseObject
969
- result = Object.assign( {}, handlers );
970
- // Object.keys( handlers ).forEach( ( key ) => result[key] = handlers.hasOwnProperty(key) ? handlers[key].val : undefined );
971
- } else {
972
- if ( isObject(p1) ){ // set inputs from Object
973
- Object.assign( handlers, p1 );
974
- // Object.keys( p1 ).forEach( ( key ) => !!handlers[key] ? handlers[key].val = p1[key] : false );
975
- result = that;
976
- } else if ( typeof p1 === 'string' ){
977
- if ( p2 === undefined ){ // get a single input
978
- result = handlers[p1];
979
- } else { // set a single input
980
- handlers[p1] = p2;
981
- result = that;
982
- }
983
- }
984
- }
985
-
986
- return result;
987
- }
988
-
989
- values( values?: LooseObject ): LooseObject {
990
- const
991
- that = this,
992
- holder: LooseObject = {};
993
-
994
- let
995
- data: LooseObject = {};
996
-
997
- //console.log( '$d().values()', values );
998
-
999
- if ( !that.length ) {
1000
- console.warn('no dom selection to search inputs in');
1001
- return {};
1002
- }
1003
-
1004
- let handlers = getInputHandlers( that.array[0] );
1005
-
1006
- //console.log( 'handlers', Object.keys(handlers), handlers['cb1'] );
1007
-
1008
- // let values = that.val();
1009
-
1010
- // console.log( 'values', values );
1011
-
1012
- Object.keys( handlers ).forEach( (key: string) => {
1013
- //console.log(key);
1014
- data[key] = handlers[key];
1015
- });
1016
-
1017
- // data = Object.assign( {}, that.val() )
1018
- //console.log( 'data', that.array[0], data, Object.keys( data ) );
1019
-
1020
- if ( Object.keys( data ).length === 0 ) {
1021
- console.warn('no inputs in this dom selection', that.array[0], data );
1022
- }
1023
-
1024
- //console.log( '$d val()', data );
1025
- if (values) {
1026
- Object
1027
- .keys( values )
1028
- .forEach( key => {
1029
- if ( handlers.hasOwnProperty(key) ) {
1030
- console.log( 'key found', key );
1031
- handlers[key] = values[key];
1032
- }
1033
- });
1034
- // .forEach( key => handlers[key] = values[key] )
1035
- }
1036
-
1037
- return structuredClone( Object.assign( handlers ) );
1038
- }
1039
-
1040
675
  /*
1041
676
  array method mapping
1042
677
  */
@@ -1434,7 +1069,7 @@ class TbSelector{
1434
1069
  return that;
1435
1070
  }
1436
1071
 
1437
- parents( nameSpace?: string ): TSelector {
1072
+ ancestors( nameSpace?: string ): TSelector {
1438
1073
 
1439
1074
  let
1440
1075
  that: TbSelector = this,
@@ -0,0 +1,11 @@
1
+ test-grandparent,
2
+ test-parent,
3
+ test-child,
4
+ test-grandchild,
5
+ test-greatgrandchild {
6
+ display: inline-block;
7
+ padding: 1px;
8
+ margin: 1px;
9
+ border: 1px solid darkslategray;
10
+ border-radius: 2px;
11
+ }
@@ -0,0 +1,2 @@
1
+ export declare const Child: CustomElementConstructor | undefined;
2
+ //# sourceMappingURL=child.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child.d.ts","sourceRoot":"","sources":["../../../src/test/test/child.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,KAAK,sCAAsB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { DC, defineCE, getCE } from './../../microcomponents.js';
2
+ import { Grandchild } from './grandchild.js';
3
+ defineCE('test-child', class TestChild extends DC {
4
+ constructor(target) {
5
+ super(target);
6
+ }
7
+ onConnected() {
8
+ let that = this;
9
+ for (let x = 0; x < 10; x++) {
10
+ that.target.append(new Grandchild());
11
+ }
12
+ }
13
+ });
14
+ export const Child = getCE('test-child');
15
+ //# sourceMappingURL=child.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child.js","sourceRoot":"","sources":["../../../src/test/test/child.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,QAAQ,CACP,YAAY,EAEZ,MAAM,SAAU,SAAQ,EAAE;IACzB,YAAY,MAAmB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAED,WAAW;QACV,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,UAAW,EAAE,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;CACD,CACD,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { DC, defineCE, getCE } from './../../microcomponents.js';
2
+ import { Grandchild } from './grandchild.js';
3
+ defineCE(
4
+ 'test-child',
5
+
6
+ class TestChild extends DC {
7
+ constructor(target: HTMLElement) {
8
+ super(target);
9
+ }
10
+
11
+ onConnected() {
12
+ let that = this;
13
+
14
+ for (let x = 0; x < 10; x++) {
15
+ that.target.append(new Grandchild!());
16
+ }
17
+ }
18
+ }
19
+ );
20
+
21
+ export const Child = getCE('test-child');
@@ -0,0 +1,2 @@
1
+ export declare const Grandchild: CustomElementConstructor | undefined;
2
+ //# sourceMappingURL=grandchild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grandchild.d.ts","sourceRoot":"","sources":["../../../src/test/test/grandchild.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,UAAU,sCAA2B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { DC, defineCE, getCE } from '../../microcomponents.js';
2
+ import { Greatgrandchild } from './greatgrandchild.js';
3
+ defineCE('test-grandchild', class TestGrandchild extends DC {
4
+ constructor(target) {
5
+ super(target);
6
+ }
7
+ onConnected() {
8
+ let that = this;
9
+ for (let x = 0; x < 2; x++) {
10
+ that.target.append(new Greatgrandchild());
11
+ }
12
+ }
13
+ });
14
+ export const Grandchild = getCE('test-grandchild');
15
+ //# sourceMappingURL=grandchild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grandchild.js","sourceRoot":"","sources":["../../../src/test/test/grandchild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,QAAQ,CACP,iBAAiB,EAEjB,MAAM,cAAe,SAAQ,EAAE;IAC9B,YAAY,MAAmB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAED,WAAW;QACV,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,eAAgB,EAAE,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;CACD,CACD,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { DC, defineCE, getCE } from '../../microcomponents.js';
2
+ import { Greatgrandchild } from './greatgrandchild.js';
3
+ defineCE(
4
+ 'test-grandchild',
5
+
6
+ class TestGrandchild extends DC {
7
+ constructor(target: HTMLElement) {
8
+ super(target);
9
+ }
10
+
11
+ onConnected() {
12
+ let that = this;
13
+
14
+ for (let x = 0; x < 2; x++) {
15
+ that.target.append(new Greatgrandchild!());
16
+ }
17
+ }
18
+ }
19
+ );
20
+
21
+ export const Grandchild = getCE('test-grandchild');
@@ -0,0 +1,2 @@
1
+ export declare const GrandParent: CustomElementConstructor | undefined;
2
+ //# sourceMappingURL=grandparent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grandparent.d.ts","sourceRoot":"","sources":["../../../src/test/test/grandparent.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,WAAW,sCAA4B,CAAC"}
@@ -0,0 +1 @@
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.grandparent=e():t.grandparent=e()}(self,(()=>(()=>{"use strict";var t={d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{GrandParent:()=>x});var r=new Function("try {return this===window;}catch(e){ return false;}");let n=new Set;r()&&Object.keys(HTMLElement.prototype).filter((t=>/^on/.test(t))).forEach((t=>n.add(t)));class o{#t;#e=!1;#r=!1;constructor(t,e={},r="l"){this.#t=t,this.data=e,this.bubble=r}get type(){return this.#t}get stopped(){return this.#e}get immediateStopped(){return this.#r}stopPropagation(){this.#e=!0}stopImmediatePropagation(){this.stopPropagation(),this.#r=!0}}var s=new Function("try {return this===window;}catch(e){ return false;}");let c=new Set;function i(t,e){let r=[];return t.forEach((t=>{if(t&&t instanceof HTMLElement){const n=t?._mc;!e&&n?r=r.concat(Object.values(t._mc)):e&&n&&n[e]&&r.push(n[e])}})),r}function a(t,e,r=!0){let n=[];for(;t;){if(t._mc&&(e?e&&t._mc[e]&&n.push(t._mc[e]):n=n.concat(Object.values(t._mc)),r))return n;t=t.parentNode}return n}function l(t){return t&&t instanceof HTMLElement}function u(t,e,r={}){let n=t;if(!n._mc){let e=b?.debug;b.debug=!1,n._mc=new b(t),b.debug=e,delete n._mc._mc}const o=n._mc;return e.length&&!o[e]&&(o[e]=r,t instanceof HTMLElement&&!t.getAttribute("_mc")&&t.setAttribute("_mc","")),r}function d(t,e){if(!e)return;const r=t?._mc||{};r&&r[e]&&delete r[e],!Object.keys(r).length&&t instanceof HTMLElement&&t.hasAttribute("_mc")&&t.removeAttribute("_mc")}function p(t,e,r={},n="l"){let s=t?._mc;if(!s)return;let c=e instanceof o?new o(e.type,e.data,"l"):new o(e,r,"l"),i="string"!=typeof e?e:new o(e,r,n);[...Object.values(s)].forEach((t=>{t?.trigger&&"function"==typeof t?.trigger&&t?.trigger(c)})),/[ud]/.test(i.bubble)&&g(t,i)}function g(t,e){/[ud]/.test(e.bubble)&&setTimeout((()=>{if(-1===e.bubble.indexOf("l")&&(e.bubble+="l"),e.bubble.indexOf("u")>-1){let r=a(t,"",!0)?.[0].target;r&&b.trigger(r,e)}e.bubble.indexOf("d")>-1&&new Set(t._mc.children().map((t=>t?.target))).forEach((t=>{t&&b.trigger(t,e)}))}),0)}s()&&Object.keys(HTMLElement.prototype).filter((t=>/^on/.test(t))).forEach((t=>c.add(t)));class f{_target;__mc={};constructor(t,e=!1){var r;this._target=new WeakRef(t||{}),(r=this).constructor!==b&&setTimeout((()=>{r.trigger("Init")}),0),function(t){if(!s()||t.constructor===b)return;const e=t.target;if(e instanceof HTMLElement){let r=t;Object.getOwnPropertyNames(r.constructor.prototype).filter((t=>/^on[A-Z]|one[A-Z]/.test(t)&&"function"==typeof r.constructor.prototype[t])).forEach((n=>{let o=/^one/.test(n),s=n.replace(/^on[e]{0,1}/,""),i=s.toLowerCase();o&&Object.defineProperty(t,"on"+s,{configurable:!0,enumerable:!1,writable:!0,value:t=>{r.constructor.prototype[n].bind(r)(t)}}),c.has("on"+i)&&function(t,e,r,n=!1,o=!1){let s={once:!1};n&&(s.capture=n),o&&(s.once=o),t.addEventListener(e,r,s)}(e,i,(t=>{r.trigger(s,t)}),!1,o)}))}}(this)}get target(){return this._target.deref()}get _mc(){return this.__mc}}class m extends f{constructor(t){super(t)}static trigger=p;trigger(t,e={},r="l"){let n=this;if(n.constructor===m||n.constructor===b){let s=t instanceof o?new o(t.type,t.data,"l"):new o(t,e,"l"),c="string"!=typeof t?t:new o(t,e,r);return[...Object.getOwnPropertyNames(n)].forEach((t=>{n[t]?.trigger&&"function"==typeof n[t]?.trigger&&n[t]?.trigger(s)})),void(/[ud]/.test(c.bubble)&&g(n.target,c))}if(n instanceof m||n instanceof b){const n=this,s="string"!=typeof t?t:new o(t,e,r),c="on"+s.type[0].toUpperCase()+s.type.slice(1);if(s.bubble.indexOf("l")>-1&&(s.immediateStopped||"function"!=typeof n[c]||(n[c](s),n.hasOwnProperty(c)&&delete n[c])),s.stopped||"l"===s.bubble)return n;/[ud]/.test(s.bubble)&&g(n.target,s)}}}class b extends f{constructor(t,e=!1){super(t)}static add=u;static remove=d;static trigger=p;trigger(t,e={},r){m.prototype.trigger.call(this,t,e,r)}parent(t=""){let e=this.target;return l(e)?a(e.parentNode,t,!0):[]}ancestors(t=""){let e=this?.target;return l(e)?a(this.target.parentNode,t,!1):[]}children(t=""){let e=this?.target;if(!l(e))return[];const r=Math.random().toString().replace(".",""),n='[_mc]:not([temp_id="'+r+'"] [_mc] [_mc])';e.setAttribute("temp_id",r);const o=i([...e.querySelectorAll(n)],t);return e.removeAttribute("temp_id"),o}descendants(t=""){let e=this?.target;return l(e)?i([...e.querySelectorAll("*[_mc]")],t):[]}}new Set;class h extends HTMLElement{constructor(){super()}connectedCallback(){b.trigger(this,"Connected")}disconnectedCallback(){b.trigger(this,"Disconnected")}adoptedCallback(){b.trigger(this,"Adopted")}attributeChangedCallback(t,e,r){b.trigger(this,"AttributeChanged",{name:t,oldValue:e,newValue:r})}}function y(t){return"function"==typeof t&&/^class\s/.test(Function.prototype.toString.call(t))}function _(t,e,r=[]){if(customElements.get(t))return void console.warn(`IGNORED: Custom element "${t}" is already defined!`);if(!t.includes("-"))throw new Error('createCustomElement: tagName must contain at least one hyphen ("-").');let n=t.split("-").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join("");y(e.prototype.constructor)&&e.prototype instanceof f?customElements.define(t,function(t,e){return Object.defineProperty(e,"name",{value:t})}(n,class extends h{instance;constructor(t){super();const r=y(e)?new e(this,t):e;b.add(this,n,r)}static get observedAttributes(){return r}})):customElements.define(t,e)}function w(t){return customElements.get(t)}function E(t,e){return Math.floor(Math.random()*(e-t+1)+t)}_("test-greatgrandchild",class extends b{constructor(t){super(t)}onConnected(){this.updateStyle()}updateStyle(){this.target.setAttribute("style","border-color:rgb("+E(0,255)+","+E(0,255)+","+E(0,255)+")")}});const O=w("test-greatgrandchild");_("test-grandchild",class extends b{constructor(t){super(t)}onConnected(){let t=this;for(let e=0;e<2;e++)t.target.append(new O)}});const S=w("test-grandchild");_("test-child",class extends b{constructor(t){super(t)}onConnected(){let t=this;for(let e=0;e<10;e++)t.target.append(new S)}});const v=w("test-child");_("test-parent",class extends b{constructor(t){super(t)}onConnected(){let t=this;for(let e=0;e<5;e++)t.target.append(new v)}});const j=w("test-parent");_("test-grandparent",class extends b{constructor(t){super(t)}onConnected(){let t=this;for(let e=0;e<5;e++)t.target.append(new j)}});const x=w("test-grandparent");return e})()));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grandparent.js","sourceRoot":"","sources":["../../../src/test/test/grandparent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,QAAQ,CACP,kBAAkB,EAElB,MAAM,eAAgB,SAAQ,EAAE;IAC/B,YAAY,MAAmB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAED,WAAW;QACV,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAO,EAAE,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;CACD,CACD,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { DC, defineCE, getCE } from '../../microcomponents.js';
2
+ import { Parent } from './parent.js';
3
+ defineCE(
4
+ 'test-grandparent',
5
+
6
+ class TestGrandparent extends DC {
7
+ constructor(target: HTMLElement) {
8
+ super(target);
9
+ }
10
+
11
+ onConnected() {
12
+ let that = this;
13
+
14
+ for (let x = 0; x < 5; x++) {
15
+ that.target.append(new Parent!());
16
+ }
17
+ }
18
+ }
19
+ );
20
+
21
+ export const GrandParent = getCE('test-grandparent');
@@ -0,0 +1,2 @@
1
+ export declare const Greatgrandchild: CustomElementConstructor | undefined;
2
+ //# sourceMappingURL=greatgrandchild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greatgrandchild.d.ts","sourceRoot":"","sources":["../../../src/test/test/greatgrandchild.ts"],"names":[],"mappings":"AAyCA,eAAO,MAAM,eAAe,sCAAgC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { DC, defineCE, getCE } from '../../microcomponents.js';
2
+ function random(min, max) {
3
+ var random = Math.floor(Math.random() * (max - min + 1) + min);
4
+ return random;
5
+ }
6
+ defineCE('test-greatgrandchild', class TestGreatgrandchild extends DC {
7
+ constructor(target) {
8
+ super(target);
9
+ }
10
+ onConnected() {
11
+ let that = this;
12
+ that.updateStyle();
13
+ }
14
+ updateStyle() {
15
+ var that = this;
16
+ function randomBorderColor() {
17
+ return ('rgb(' +
18
+ random(0, 255) +
19
+ ',' +
20
+ random(0, 255) +
21
+ ',' +
22
+ random(0, 255) +
23
+ ')');
24
+ }
25
+ that.target.setAttribute('style', 'border-color:' + randomBorderColor());
26
+ }
27
+ });
28
+ export const Greatgrandchild = getCE('test-greatgrandchild');
29
+ //# sourceMappingURL=greatgrandchild.js.map