@twobirds/microcomponents 0.0.83 → 0.0.85

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 (202) hide show
  1. package/README.md +22 -6
  2. package/assets/documentation/MC.md +60 -81
  3. package/assets/documentation/elements.md +6 -9
  4. package/assets/documentation/observables.md +97 -11
  5. package/assets/test/test.html +1 -1
  6. package/dist/MC.d.ts +14 -16
  7. package/dist/MC.d.ts.map +1 -1
  8. package/dist/MC.js +150 -218
  9. package/dist/MC.min.js +164 -308
  10. package/dist/MC.ts +213 -319
  11. package/dist/elements.d.ts.map +1 -1
  12. package/dist/elements.js +10 -4
  13. package/dist/elements.min.js +1 -1
  14. package/dist/elements.ts +17 -4
  15. package/dist/formValues.js +2 -2
  16. package/dist/formValues.min.js +1 -1
  17. package/dist/formValues.ts +3 -3
  18. package/dist/microcomponents.d.ts +0 -1
  19. package/dist/microcomponents.d.ts.map +1 -1
  20. package/dist/microcomponents.js +0 -1
  21. package/dist/microcomponents.min.js +1 -1
  22. package/dist/microcomponents.ts +1 -1
  23. package/dist/observables.d.ts.map +1 -1
  24. package/dist/observables.js +14 -12
  25. package/dist/observables.min.js +1 -1
  26. package/dist/observables.ts +32 -32
  27. package/package.json +1 -1
  28. package/public/MC.d.ts +14 -16
  29. package/public/MC.d.ts.map +1 -1
  30. package/public/MC.js +150 -218
  31. package/public/MC.js.map +1 -1
  32. package/public/MC.min.js +164 -308
  33. package/public/MC.ts +213 -319
  34. package/public/documentation/MC.md +60 -81
  35. package/public/documentation/elements.md +6 -9
  36. package/public/documentation/observables.md +97 -11
  37. package/public/elements.d.ts.map +1 -1
  38. package/public/elements.js +10 -4
  39. package/public/elements.js.map +1 -1
  40. package/public/elements.min.js +1 -1
  41. package/public/elements.ts +17 -4
  42. package/public/formValues.js +2 -2
  43. package/public/formValues.js.map +1 -1
  44. package/public/formValues.min.js +1 -1
  45. package/public/formValues.ts +3 -3
  46. package/public/microcomponents.d.ts +0 -1
  47. package/public/microcomponents.d.ts.map +1 -1
  48. package/public/microcomponents.js +0 -1
  49. package/public/microcomponents.js.map +1 -1
  50. package/public/microcomponents.min.js +1 -1
  51. package/public/microcomponents.ts +1 -1
  52. package/public/observables.d.ts.map +1 -1
  53. package/public/observables.js +14 -12
  54. package/public/observables.js.map +1 -1
  55. package/public/observables.min.js +1 -1
  56. package/public/observables.ts +32 -32
  57. package/public/src/MC.d.ts +14 -16
  58. package/public/src/MC.d.ts.map +1 -1
  59. package/public/src/MC.js +150 -218
  60. package/public/src/MC.js.map +1 -1
  61. package/public/src/MC.ts +213 -319
  62. package/public/src/elements.d.ts.map +1 -1
  63. package/public/src/elements.js +10 -4
  64. package/public/src/elements.js.map +1 -1
  65. package/public/src/elements.ts +17 -4
  66. package/public/src/formValues.js +2 -2
  67. package/public/src/formValues.js.map +1 -1
  68. package/public/src/formValues.ts +3 -3
  69. package/public/src/microcomponents.d.ts +0 -1
  70. package/public/src/microcomponents.d.ts.map +1 -1
  71. package/public/src/microcomponents.js +0 -1
  72. package/public/src/microcomponents.js.map +1 -1
  73. package/public/src/microcomponents.ts +1 -1
  74. package/public/src/observables.d.ts.map +1 -1
  75. package/public/src/observables.js +14 -12
  76. package/public/src/observables.js.map +1 -1
  77. package/public/src/observables.ts +32 -32
  78. package/public/src/test/test/grandparent.d.ts.map +1 -1
  79. package/public/src/test/test/grandparent.js +1 -1
  80. package/public/src/test/test/grandparent.js.map +1 -1
  81. package/public/src/test/test/grandparent.ts +12 -4
  82. package/public/src/test/test/testform.js +1 -1
  83. package/public/src/test/test/testform.js.map +1 -1
  84. package/public/src/test/test/testform.ts +6 -8
  85. package/public/src/test/test.js +6 -5
  86. package/public/src/test/test.js.map +1 -1
  87. package/public/src/test/test.ts +10 -9
  88. package/public/test/MC.d.ts +14 -16
  89. package/public/test/MC.d.ts.map +1 -1
  90. package/public/test/MC.js +150 -218
  91. package/public/test/MC.min.js +164 -308
  92. package/public/test/MC.ts +213 -319
  93. package/public/test/elements.d.ts.map +1 -1
  94. package/public/test/elements.js +10 -4
  95. package/public/test/elements.min.js +1 -1
  96. package/public/test/elements.ts +17 -4
  97. package/public/test/formValues.js +2 -2
  98. package/public/test/formValues.min.js +1 -1
  99. package/public/test/formValues.ts +3 -3
  100. package/public/test/microcomponents.d.ts +0 -1
  101. package/public/test/microcomponents.d.ts.map +1 -1
  102. package/public/test/microcomponents.js +0 -1
  103. package/public/test/microcomponents.min.js +1 -1
  104. package/public/test/microcomponents.ts +1 -1
  105. package/public/test/observables.d.ts.map +1 -1
  106. package/public/test/observables.js +14 -12
  107. package/public/test/observables.min.js +1 -1
  108. package/public/test/observables.ts +32 -32
  109. package/public/test/test/grandparent.d.ts.map +1 -1
  110. package/public/test/test/grandparent.js +1 -1
  111. package/public/test/test/grandparent.js.map +1 -1
  112. package/public/test/test/grandparent.ts +12 -4
  113. package/public/test/test/testform.js +1 -1
  114. package/public/test/test/testform.js.map +1 -1
  115. package/public/test/test/testform.ts +6 -8
  116. package/public/test/test.html +1 -1
  117. package/public/test/test.js +6 -5
  118. package/public/test/test.js.map +1 -1
  119. package/public/test/test.ts +10 -9
  120. package/public/typedoc/assets/navigation.js +1 -1
  121. package/public/typedoc/assets/search.js +1 -1
  122. package/public/typedoc/classes/MC.DC.html +7 -6
  123. package/public/typedoc/classes/MC.MC.html +3 -6
  124. package/public/typedoc/classes/MC.McBase.html +3 -4
  125. package/public/typedoc/functions/MC.autoload.html +1 -1
  126. package/public/typedoc/functions/MC.off.html +1 -0
  127. package/public/typedoc/functions/{selectors._d.html → MC.on.html} +1 -1
  128. package/public/typedoc/functions/MC.one.html +1 -0
  129. package/public/typedoc/functions/MC.trigger.html +1 -0
  130. package/public/typedoc/functions/elements.defineCE.html +1 -1
  131. package/public/typedoc/functions/elements.getCE.html +1 -1
  132. package/public/typedoc/functions/formValues.formValues.html +1 -1
  133. package/public/typedoc/functions/observables.observe.html +1 -1
  134. package/public/typedoc/index.html +21 -10
  135. package/public/typedoc/interfaces/MC.HTMLMcElement.html +2 -2
  136. package/public/typedoc/modules/MC.html +6 -5
  137. package/public/typedoc/modules/elements.html +1 -1
  138. package/public/typedoc/modules/formValues.html +1 -1
  139. package/public/typedoc/modules/observables.html +1 -1
  140. package/public/typedoc/modules.html +0 -1
  141. package/public/typedoc/types/observables.Observable.html +1 -1
  142. package/src/MC.ts +213 -319
  143. package/src/elements.ts +17 -4
  144. package/src/formValues.ts +3 -3
  145. package/src/microcomponents.ts +1 -1
  146. package/src/observables.ts +32 -32
  147. package/src/test/test/grandparent.ts +12 -4
  148. package/src/test/test/testform.ts +6 -8
  149. package/src/test/test.ts +10 -9
  150. package/tsconfig.json +2 -2
  151. package/typedoc.json +1 -1
  152. package/webpack.config.js +2 -2
  153. package/dist/McEvent.d.ts +0 -15
  154. package/dist/McEvent.d.ts.map +0 -1
  155. package/dist/McEvent.js +0 -71
  156. package/dist/selectors.d.ts +0 -106
  157. package/dist/selectors.d.ts.map +0 -1
  158. package/dist/selectors.js +0 -759
  159. package/dist/selectors.min.js +0 -1
  160. package/public/McEvent.d.ts +0 -15
  161. package/public/McEvent.d.ts.map +0 -1
  162. package/public/McEvent.js +0 -71
  163. package/public/McEvent.js.map +0 -1
  164. package/public/selectors.d.ts +0 -106
  165. package/public/selectors.d.ts.map +0 -1
  166. package/public/selectors.js +0 -759
  167. package/public/selectors.js.map +0 -1
  168. package/public/selectors.min.js +0 -1
  169. package/public/src/McEvent.d.ts +0 -15
  170. package/public/src/McEvent.d.ts.map +0 -1
  171. package/public/src/McEvent.js +0 -71
  172. package/public/src/McEvent.js.map +0 -1
  173. package/public/src/selectors.d.ts +0 -106
  174. package/public/src/selectors.d.ts.map +0 -1
  175. package/public/src/selectors.js +0 -759
  176. package/public/src/selectors.js.map +0 -1
  177. package/public/test/McEvent.d.ts +0 -15
  178. package/public/test/McEvent.d.ts.map +0 -1
  179. package/public/test/McEvent.js +0 -71
  180. package/public/test/McEvent.ts +0 -96
  181. package/public/test/selectors.d.ts +0 -106
  182. package/public/test/selectors.d.ts.map +0 -1
  183. package/public/test/selectors.js +0 -759
  184. package/public/test/selectors.min.js +0 -1
  185. package/public/test/selectors.ts +0 -1269
  186. package/public/typedoc/classes/MC.McEvent.html +0 -9
  187. package/public/typedoc/functions/MC.addListener.html +0 -1
  188. package/public/typedoc/functions/MC.removeListener.html +0 -1
  189. package/public/typedoc/functions/selectors._t.html +0 -1
  190. package/public/typedoc/interfaces/selectors.DSelector.html +0 -48
  191. package/public/typedoc/interfaces/selectors.TSelector.html +0 -34
  192. package/public/typedoc/modules/selectors.html +0 -7
  193. package/public/typedoc/types/selectors.selection.html +0 -1
  194. package/public/typedoc/types/selectors.singleSelector.html +0 -1
  195. package/src/McEvent.ts +0 -96
  196. package/src/selectors.ts +0 -1269
  197. /package/{dist/McEvent.ts → public/McEvent._ts} +0 -0
  198. /package/{dist/selectors.ts → public/selectors._ts} +0 -0
  199. /package/public/{McEvent.ts → src/McEvent._ts} +0 -0
  200. /package/public/{selectors.ts → src/selectors._ts} +0 -0
  201. /package/{public/src/McEvent.ts → src/McEvent._ts} +0 -0
  202. /package/{public/src/selectors.ts → src/selectors._ts} +0 -0
package/src/elements.ts CHANGED
@@ -9,19 +9,32 @@ class CeBaseClass extends HTMLElement {
9
9
  }
10
10
 
11
11
  connectedCallback() {
12
- (DC as any).trigger(this, 'Connected');
12
+ this.dispatchEvent( new CustomEvent('_mcConnected') );
13
+ }
14
+
15
+ connectedMoveCallback() {
16
+ this.dispatchEvent( new CustomEvent('_mcConnectedMove') );
13
17
  }
14
18
 
15
19
  disconnectedCallback() {
16
- (DC as any).trigger(this, 'Disconnected');
20
+ this.dispatchEvent( new CustomEvent('_mcDisconnected') );
17
21
  }
18
22
 
19
23
  adoptedCallback() {
20
- (DC as any).trigger(this, 'Adopted');
24
+ this.dispatchEvent( new CustomEvent('_mcAdopted') );
21
25
  }
22
26
 
23
27
  attributeChangedCallback(name: string, oldValue: any, newValue: any) {
24
- (DC as any).trigger(this, 'AttributeChanged', { name, oldValue, newValue });
28
+ this.dispatchEvent(
29
+ new CustomEvent(
30
+ '_mcAttributeChanged',
31
+ { detail: { name, oldValue, newValue } }
32
+ )
33
+ );
34
+ }
35
+
36
+ formResetCallback(){
37
+ this.dispatchEvent( new CustomEvent('_mcFormReset') );
25
38
  }
26
39
  }
27
40
 
package/src/formValues.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  import { LooseObject, copyGettersSetters } from './helpers.js';
4
- import { DC, addListener } from './MC.js';
4
+ import { DC, on } from './MC.js';
5
5
  import { observe } from './observables.js';
6
6
 
7
7
  type inputTypes = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
@@ -216,8 +216,8 @@ export function formValues(
216
216
  copyGettersSetters(handlers, targetObject[propertyName]);
217
217
 
218
218
  [...dom.querySelectorAll('input, textarea, select')].forEach((input) => {
219
- addListener(input as inputTypes, 'input', (ev: Event) => {
220
- //console.log('keyup', ev);
219
+ input.addEventListener('input', (ev) => {
220
+ //console.log('input event', input, ev);
221
221
  targetObject[propertyName].notify();
222
222
  });
223
223
  });
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  export * from './helpers.js';
3
3
  export * from './MC.js';
4
- export * from './McEvent.js';
4
+ //export * from './McEvent.js';
5
5
  export * from './elements.js';
6
6
  export * from './observables.js';
7
7
  //export * from './selectors.js';
@@ -8,7 +8,7 @@ import {
8
8
  copyGettersSetters,
9
9
  } from './helpers.js';
10
10
 
11
- import { DC, HTMLMcElement, McEvent } from './MC.js';
11
+ import { DC, HTMLMcElement, trigger } from './MC.js';
12
12
 
13
13
  function isObservableObject(value: any): boolean {
14
14
  return value != null && typeof value === 'object';
@@ -123,28 +123,21 @@ class Placeholders extends DC {
123
123
  data[placeholder.replace(/[\{\}]/g, '')]
124
124
  );
125
125
  });
126
- // TODO: find out why this doesnt work correctly ... maybe completely overhaul the whole thing
127
- // TODO: check overlap with inner web components, possibly firewall them
128
- // TODO: maybe include convention for plain DOM / ShadowDom handling
129
-
130
- // if (
131
- // Object.keys(data).some((key) => {
132
- // return !!data[key];
133
- // })
134
- // ) {
135
- if (!!this.oldDisplay) {
136
- target.style = this.oldDisplay;
137
- } else {
138
- target.removeAttribute('style');
139
- }
140
- delete this.oldDisplay;
141
- // }
126
+
127
+ if (!!this.oldDisplay) {
128
+ target.style = this.oldDisplay;
129
+ } else {
130
+ target.removeAttribute('style');
131
+ }
132
+ delete this.oldDisplay;
133
+
142
134
  childNode.nodeValue = result;
143
135
  })(childNode.nodeValue)
144
136
  );
145
137
 
146
138
  // hide for now
147
- this.oldDisplay = target.getAttribute('style)') || '';
139
+ this.oldDisplay = target.getAttribute('style') || ''; // TBD allow null to indicate there was no old style attribute
140
+
148
141
  if (
149
142
  hide &&
150
143
  !inputs.includes((target as any).constructor) &&
@@ -155,12 +148,12 @@ class Placeholders extends DC {
155
148
  });
156
149
  }
157
150
 
158
- onData(ev: McEvent) {
151
+ onData(ev: CustomEvent) {
159
152
  let data: LooseObject = {};
160
- Object.keys(ev.data).forEach((key) => {
161
- if (this.data.hasOwnProperty(key)) data[key] = ev.data[key];
153
+ Object.keys(ev.detail.data).forEach((key) => {
154
+ if (this.data.hasOwnProperty(key)) data[key] = ev.detail.data[key];
162
155
  });
163
- //console.log('onData()', ev, data, this.data);
156
+ //console.log( 'Placeholder onData', ev, data );
164
157
  if (JSON.stringify(data) !== JSON.stringify(this.data))
165
158
  Object.assign(this.data, data); // will trigger callbacks
166
159
  }
@@ -229,9 +222,9 @@ function makeObservable(val: any): Class<typeof val>{
229
222
  this.#callbacks = callbacks
230
223
  }
231
224
 
232
- observe(f: Function) {
225
+ observe( callback: Function ) {
233
226
  //console.log('observe');
234
- this.#callbacks.push(f);
227
+ this.#callbacks.push( callback );
235
228
  return this;
236
229
  }
237
230
 
@@ -241,18 +234,25 @@ function makeObservable(val: any): Class<typeof val>{
241
234
 
242
235
  if (iso) {
243
236
  makePlaceholders(target);
244
- const placeholders: unknown = [
245
- target, ...target.querySelectorAll('[_mc]'),
246
- ].filter((e) => !!(e as LooseObject)?._mc?._placeholders);
237
+ const placeholders: unknown =
238
+ [
239
+ target,
240
+ ...target.querySelectorAll('[data-mc]'),
241
+ ]
242
+ .filter(
243
+ (e) => !!(e as LooseObject)?._mc?._placeholders
244
+ );
245
+
247
246
  //console.log('placeholders:', target, placeholders);
247
+
248
248
  const func = function callback(data: LooseObject) {
249
249
  // avoid bubbling for speed
250
- let d = flattenObject(data);
251
- //console.log('inside callback', target, d);
252
- (placeholders as DC[]).forEach((e) => {
250
+ let flattenedData = flattenObject(data);
251
+ //console.log('inside placeholder callback', target, flattenedData);
252
+ (placeholders as Node[]).forEach((node) => {
253
253
  // console.log('trigger callback', e);
254
- if (!e) return;
255
- (e as any)._mc.trigger('data', d);
254
+ if (!node) return;
255
+ trigger(node as HTMLMcElement, 'data', flattenedData);
256
256
  });
257
257
  };
258
258
  (this as any).#callbacks.push(func);
@@ -8,13 +8,21 @@ defineCE(
8
8
  super(target);
9
9
  }
10
10
 
11
- onConnected() {
12
- let that = this;
13
-
11
+ onConnected(ev:CustomEvent) {
14
12
  for (let x = 0; x < 5; x++) {
15
- that.target.append(new Parent!());
13
+ this.target.append(new Parent!());
16
14
  }
17
15
  }
16
+
17
+ onDisconnected(ev:CustomEvent) {
18
+ }
19
+
20
+ onAdopted(ev:CustomEvent) {
21
+ }
22
+
23
+ onAttributeChanged(ev:CustomEvent) {
24
+ }
25
+
18
26
  }
19
27
  );
20
28
 
@@ -16,20 +16,18 @@ defineCE(
16
16
  constructor(target: HTMLElement) {
17
17
  super(target);
18
18
 
19
- const that = this;
19
+ let shadow = (this as DC).target.attachShadow({ mode: 'open' });
20
+ shadow.innerHTML = `<style>${this.css}</style>${this.template}`;
21
+
22
+ formValues(this, 'data', shadow); // create this.data formdata observable
20
23
 
21
- let shadow = (that as DC).target.attachShadow({ mode: 'open' });
22
- shadow.innerHTML = `<style>${that.css}</style>${that.template}`;
23
-
24
- formValues(that, 'data', shadow); // create this.data formdata observable
25
-
26
- (that.data as Observable).bind(shadow); // 1 way bind formdata to the form DOM
24
+ (this.data as Observable).bind(shadow); // 1 way bind formdata to the form DOM
27
25
 
28
26
  // load and display data
29
27
  fetch('./testform.json')
30
28
  .then( res => res.json())
31
29
  .then( data => {
32
- that.data = data;
30
+ this.data = data;
33
31
  });
34
32
 
35
33
  }
package/src/test/test.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  LooseObject,
3
3
  DC,
4
- McEvent,
5
4
  defineCE,
6
5
  getCE,
7
6
  observe,
8
7
  Observable,
8
+ HTMLMcElement,
9
9
  } from '../microcomponents.js';
10
10
 
11
11
  class Translator extends DC {
@@ -45,11 +45,12 @@ class Translator extends DC {
45
45
  (that.Language as Observable).notify();
46
46
  }
47
47
 
48
- onAttributeChanged(ev: McEvent) {
49
- if (!ev.data.newValue) return;
50
- switch (ev.data.name) {
48
+ onAttributeChanged(ev: CustomEvent) {
49
+ let detail = ev.detail || {};
50
+ if (!detail.newValue) return;
51
+ switch (detail.name) {
51
52
  case 'language':
52
- this.Language = ev.data.newValue;
53
+ this.Language = detail.newValue;
53
54
  break;
54
55
  }
55
56
  }
@@ -88,7 +89,7 @@ defineCE(
88
89
  );
89
90
  }
90
91
 
91
- oneInit(ev: McEvent) {
92
+ oneInit(ev: CustomEvent) {
92
93
  let that = this;
93
94
 
94
95
  // state
@@ -101,10 +102,10 @@ defineCE(
101
102
  (that.Dom as Observable).bind(that.target);
102
103
  }
103
104
 
104
- onClick(ev: McEvent) {
105
+ onClick(ev: CustomEvent) {
105
106
  const that = this,
106
107
  c = that.Dom.counter++;
107
- (ev.data as PointerEvent).stopPropagation();
108
+ (ev.detail.data as PointerEvent).stopPropagation();
108
109
  (that.target as HTMLElement).classList.remove('clicked');
109
110
  (that.target as HTMLElement).classList.add(
110
111
  that.Dom.counter > 9 ? 'overClicked' : 'clicked'
@@ -184,5 +185,5 @@ setTimeout(() => {
184
185
  );
185
186
 
186
187
  // will trigger the event on all micro components contained in <my-tag>
187
- DC.trigger(element, 'doSomething');
188
+ ( element as HTMLMcElement)._mc?.trigger('doSomething');
188
189
  }, 1000);
package/tsconfig.json CHANGED
@@ -29,8 +29,8 @@
29
29
  // "module": "commonjs", /* Specify what module code is generated. */
30
30
  // "rootDir": "./", /* Specify the root folder within your source files. */
31
31
  // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
32
- "baseUrl": "/src", /* Specify the base directory to resolve non-relative module names. */
33
- "paths": { "@/": ["/*"] }, /* Specify a set of entries that re-map imports to additional lookup locations. */
32
+ //"baseUrl": "/src", /* Specify the base directory to resolve non-relative module names. */
33
+ "paths": { "@/": ["/src/*"] }, /* Specify a set of entries that re-map imports to additional lookup locations. */
34
34
  // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
35
35
  // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
36
36
  // "types": [], /* Specify type package names to be included without being referenced in a source file. */
package/typedoc.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "entryPoints": ["src/MC.ts","src/elements.ts","src/observables.ts","src/formValues.ts","src/selectors.ts"],
2
+ "entryPoints": ["src/MC.ts","src/elements.ts","src/observables.ts","src/formValues.ts" /*,"src/selectors.ts"*/],
3
3
  "out": "./public/typedoc",
4
4
  "readme": "README.md",
5
5
  "name": "Micro Components",
package/webpack.config.js CHANGED
@@ -77,7 +77,7 @@ module.exports = [
77
77
  minimize: true, // Enable minification
78
78
  },
79
79
  },
80
- {
80
+ /*{
81
81
  entry: './build/selectors.js',
82
82
  mode: 'production',
83
83
  output: {
@@ -114,7 +114,7 @@ module.exports = [
114
114
  optimization: {
115
115
  minimize: true, // Enable minification
116
116
  },
117
- },
117
+ },*/
118
118
  {
119
119
  entry: './build/formValues.js',
120
120
  mode: 'production',
package/dist/McEvent.d.ts DELETED
@@ -1,15 +0,0 @@
1
- interface McEvent {
2
- data: any;
3
- bubble: string;
4
- }
5
- declare class McEvent {
6
- #private;
7
- constructor(type: string, data?: any, bubble?: string);
8
- get type(): string;
9
- get stopped(): boolean;
10
- get immediateStopped(): boolean;
11
- stopPropagation(): void;
12
- stopImmediatePropagation(): void;
13
- }
14
- export { McEvent };
15
- //# sourceMappingURL=McEvent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"McEvent.d.ts","sourceRoot":"","sources":["../src/McEvent.ts"],"names":[],"mappings":"AAeA,UAAU,OAAO;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CACf;AAED,cAAM,OAAO;;gBAMC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,EAAE,MAAM,GAAE,MAAY;IAO/D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,eAAe;IAIf,wBAAwB;CAKxB;AAyCD,OAAO,EAAE,OAAO,EAAE,CAAC"}
package/dist/McEvent.js DELETED
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var isBrowser = new Function("try {return this===window;}catch(e){ return false;}");
3
- let nativeEventNames = new Set();
4
- if (isBrowser()) {
5
- Object.keys(HTMLElement.prototype).filter(key => /^on/.test(key)).forEach(eventName => nativeEventNames.add(eventName));
6
- }
7
- function isDOM(element) {
8
- return element && element instanceof HTMLElement;
9
- }
10
- class McEvent {
11
- #type;
12
- #stopped = false;
13
- #immediateStopped = false;
14
- constructor(type, data = {}, bubble = 'l') {
15
- this.#type = type;
16
- this.data = data;
17
- this.bubble = bubble;
18
- }
19
- get type() {
20
- return this.#type;
21
- }
22
- get stopped() {
23
- return this.#stopped;
24
- }
25
- get immediateStopped() {
26
- return this.#immediateStopped;
27
- }
28
- stopPropagation() {
29
- this.#stopped = true;
30
- }
31
- stopImmediatePropagation() {
32
- this.stopPropagation();
33
- this.#immediateStopped = true;
34
- }
35
- }
36
- function getMicroComponents(elements, search) {
37
- let mcValues = [];
38
- elements.forEach(e => {
39
- if (e) {
40
- if (e instanceof HTMLElement) {
41
- const _mc = e?._mc;
42
- if (!search && _mc) {
43
- mcValues = mcValues.concat(Object.values(e._mc));
44
- }
45
- else if (search && _mc && _mc[search]) {
46
- mcValues.push(_mc[search]);
47
- }
48
- }
49
- }
50
- });
51
- return mcValues;
52
- }
53
- function traverseNodes(node, search, firstonly = true) {
54
- let mcValues = [];
55
- while (node) {
56
- if (node._mc) {
57
- if (!search) {
58
- mcValues = mcValues.concat(Object.values(node._mc));
59
- }
60
- else if (search && node._mc[search]) {
61
- mcValues.push(node._mc[search]);
62
- }
63
- if (firstonly)
64
- return mcValues;
65
- }
66
- node = node.parentNode;
67
- }
68
- return mcValues;
69
- }
70
- export { McEvent };
71
- //# sourceMappingURL=McEvent.js.map
@@ -1,106 +0,0 @@
1
- import { MC, DC } from './MC.js';
2
- import { LooseObject } from './helpers.js';
3
- declare class DomSelector {
4
- #private;
5
- get set(): Set<HTMLElement>;
6
- get array(): HTMLElement[];
7
- set set(set: Set<HTMLElement>);
8
- get length(): number;
9
- constructor(selection?: selection, element?: any);
10
- $t(nameSpace?: string): TSelector;
11
- add(selection: selection, target?: HTMLElement): DSelector;
12
- addClass(...classes: string[]): DSelector;
13
- after(selection: selection, target?: HTMLElement): DSelector;
14
- append(selection: selection, target?: HTMLElement): DSelector;
15
- appendTo(selection: selection, target?: HTMLElement): DSelector;
16
- attr(): LooseObject;
17
- attr(obj: LooseObject): DSelector;
18
- attr(name: string): string | null;
19
- attr(first?: string | LooseObject, second?: string | object | null): DSelector;
20
- before(selection: selection, target?: HTMLElement): DSelector;
21
- children(selection?: selection, rootNode?: HTMLElement): DSelector;
22
- descendants(selection?: selection, rootNode?: HTMLElement): DSelector;
23
- empty(): DSelector;
24
- first(selection?: selection, rootNode?: HTMLElement): DSelector;
25
- has(element: HTMLElement): boolean;
26
- hasClass(...classes: string[]): boolean;
27
- html(html?: string): string | DSelector;
28
- last(selection?: selection, rootNode?: HTMLElement): DSelector;
29
- next(selection?: selection, rootNode?: HTMLElement): DSelector;
30
- normalize(): DSelector;
31
- off(eventName: string, cb: Function): DSelector;
32
- on(eventName: string, cb: Function, capture?: boolean, once?: boolean): Function;
33
- one(eventName: string, cb: Function, capture?: boolean): Function;
34
- parent(selection?: selection, rootNode?: HTMLElement): DSelector;
35
- ancestors(selection?: selection, rootNode?: HTMLElement): DSelector;
36
- prepend(selection: selection, target?: HTMLElement): DSelector;
37
- prev(selection?: selection, rootNode?: HTMLElement): DSelector;
38
- removeClass(...classes: string[]): DSelector;
39
- text(text?: string): string | DSelector;
40
- toggleClass(...classes: string[]): DSelector;
41
- trigger(eventName: string, data?: any, bubbles?: boolean, cancelable?: boolean, composed?: boolean): DSelector;
42
- at(index: number): DSelector;
43
- concat(items: DSelector | any[]): DSelector;
44
- entries(): IterableIterator<[number, any]>;
45
- every(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): boolean;
46
- filter(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): DSelector;
47
- forEach(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): DSelector;
48
- includes(item: HTMLElement): boolean;
49
- indexOf(item: HTMLElement, start?: number): number;
50
- map(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): Array<any>;
51
- pop(): HTMLElement;
52
- push(...items: HTMLElement[]): DSelector;
53
- shift(): HTMLElement | undefined;
54
- slice(start: number, end?: number): DSelector;
55
- some(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): boolean;
56
- splice(start: number, deleteCount?: number | undefined): DSelector;
57
- }
58
- export interface DSelector extends DomSelector {
59
- }
60
- declare class TbSelector {
61
- #private;
62
- get set(): Set<any>;
63
- get array(): any[];
64
- set set(set: Set<any>);
65
- get length(): number;
66
- set length(value: number);
67
- constructor(selection?: selection, element?: HTMLElement);
68
- $d(selection?: selection, element?: HTMLElement): DSelector;
69
- children(nameSpace?: string): TSelector;
70
- descendants(nameSpace?: string): TSelector;
71
- first(nameSpace?: string): TSelector;
72
- has(element: any): boolean;
73
- last(nameSpace?: string): TSelector;
74
- next(nameSpace?: string): TSelector;
75
- ns(nameSpace: string): TSelector;
76
- off(name: string, cb: Function): TSelector;
77
- on(name: string, cb: Function, once?: boolean): Function;
78
- one(name: string, cb: Function): Function;
79
- parent(nameSpace?: string): TSelector;
80
- ancestors(nameSpace?: string): TSelector;
81
- prev(nameSpace?: string): TSelector;
82
- trigger(ev: string, data?: any, bubble?: string): TSelector;
83
- at(index: number): TSelector;
84
- concat(items: TSelector): TSelector;
85
- entries(): IterableIterator<[number, any]>;
86
- every(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): boolean;
87
- filter(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): TSelector;
88
- forEach(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): TSelector;
89
- includes(item: any): boolean;
90
- indexOf(item: any, start?: number): number;
91
- map(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): Array<any>;
92
- pop(): any;
93
- push(item: any): TSelector;
94
- shift(): any | undefined;
95
- slice(start: number, end?: number): TSelector;
96
- some(predicate: (value: any, index: number, array: any[]) => unknown, thisArg?: any): boolean;
97
- splice(start: number, deleteCount?: number | undefined): TSelector;
98
- }
99
- export interface TSelector extends TbSelector {
100
- }
101
- export declare const $d: (selection: selection, element?: any) => DSelector;
102
- export declare const $t: (selection?: selection, element?: any) => TSelector;
103
- export type singleSelector = string | ShadowRoot | HTMLElement | HTMLElement[] | HTMLCollection | NodeList | DSelector | MC | DC | TSelector | undefined;
104
- export type selection = singleSelector | singleSelector[];
105
- export {};
106
- //# sourceMappingURL=selectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}