@twobirds/microcomponents 0.0.73 → 0.0.76

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 (101) hide show
  1. package/README.md +16 -15
  2. package/assets/documentation/MC.md +1 -1
  3. package/assets/test/test.html +5 -4
  4. package/assets/test/testform.json +27 -0
  5. package/dist/MC.d.ts +2 -2
  6. package/dist/MC.d.ts.map +1 -1
  7. package/dist/MC.min.js +2 -1
  8. package/dist/MC.ts +6 -3
  9. package/dist/elements.min.js +1 -1
  10. package/dist/formValues.d.ts.map +1 -1
  11. package/dist/formValues.ts +0 -14
  12. package/dist/formvValues.min.js +1 -1
  13. package/dist/microcomponents.min.js +1 -1
  14. package/dist/observables.min.js +1 -1
  15. package/dist/selectors.min.js +1 -1
  16. package/package.json +1 -1
  17. package/public/MC.d.ts +2 -2
  18. package/public/MC.d.ts.map +1 -1
  19. package/public/MC.js +4 -3
  20. package/public/MC.js.map +1 -1
  21. package/public/MC.min.js +2 -1
  22. package/public/MC.ts +6 -3
  23. package/public/documentation/MC.md +1 -1
  24. package/public/elements.min.js +1 -1
  25. package/public/formValues.d.ts.map +1 -1
  26. package/public/formValues.js.map +1 -1
  27. package/public/formValues.ts +0 -14
  28. package/public/formvValues.min.js +1 -1
  29. package/public/microcomponents.min.js +1 -1
  30. package/public/observables.min.js +1 -1
  31. package/public/selectors.min.js +1 -1
  32. package/public/src/MC.ts +6 -3
  33. package/public/src/formValues.ts +0 -14
  34. package/public/test/MC.d.ts +2 -2
  35. package/public/test/MC.d.ts.map +1 -1
  36. package/public/test/MC.js +4 -3
  37. package/public/test/MC.js.map +1 -1
  38. package/public/test/MC.ts +6 -3
  39. package/public/test/formValues.d.ts.map +1 -1
  40. package/public/test/formValues.js.map +1 -1
  41. package/public/test/formValues.ts +0 -14
  42. package/public/test/microcomponents.min.js +1 -1
  43. package/public/test/test/grandparent.js +1 -1
  44. package/public/test/test/testform.js +1 -1
  45. package/public/test/test/testform.js.map +1 -1
  46. package/public/test/test.d.ts.map +1 -1
  47. package/public/test/test.html +5 -4
  48. package/public/test/test.js +2 -3
  49. package/public/test/test.js.map +1 -1
  50. package/public/test/testform.json +27 -0
  51. package/public/typedoc/assets/navigation.js +1 -1
  52. package/public/typedoc/assets/search.js +1 -1
  53. package/public/typedoc/classes/MC.DC.html +2 -2
  54. package/public/typedoc/classes/MC.MC.html +2 -2
  55. package/public/typedoc/classes/MC.McBase.html +2 -2
  56. package/public/typedoc/classes/MC.McEvent.html +2 -2
  57. package/public/typedoc/functions/MC.addListener.html +1 -1
  58. package/public/typedoc/functions/MC.autoload.html +1 -1
  59. package/public/typedoc/functions/MC.removeListener.html +1 -1
  60. package/public/typedoc/functions/elements.defineCE.html +1 -1
  61. package/public/typedoc/functions/elements.getCE.html +1 -1
  62. package/public/typedoc/functions/formValues.formValues.html +1 -1
  63. package/public/typedoc/functions/observables.observe.html +1 -1
  64. package/public/typedoc/index.html +15 -12
  65. package/public/typedoc/interfaces/MC.HTMLMcElement.html +2 -2
  66. package/public/typedoc/modules/MC.html +1 -1
  67. package/public/typedoc/modules/elements.html +1 -1
  68. package/public/typedoc/modules/formValues.html +1 -1
  69. package/public/typedoc/modules/observables.html +1 -1
  70. package/public/typedoc/modules.html +0 -1
  71. package/public/typedoc/types/observables.Observable.html +1 -1
  72. package/src/MC.ts +6 -3
  73. package/src/formValues.ts +0 -14
  74. package/src/test/test/testform.ts +10 -2
  75. package/src/{test.ts → test/test.ts} +25 -19
  76. package/tsconfig.json +2 -2
  77. package/typedoc.json +1 -1
  78. package/checklist.md +0 -93
  79. package/dist/microcomponents.es3.d.ts +0 -2
  80. package/dist/microcomponents.es3.d.ts.map +0 -1
  81. package/dist/test.d.ts +0 -2
  82. package/dist/test.d.ts.map +0 -1
  83. package/dist/test.ts +0 -194
  84. package/public/microcomponents.es3.d.ts +0 -2
  85. package/public/microcomponents.es3.d.ts.map +0 -1
  86. package/public/microcomponents.es3.js +0 -303
  87. package/public/microcomponents.es3.js.map +0 -1
  88. package/public/src/test.ts +0 -194
  89. package/public/test/microcomponents.es3.d.ts +0 -2
  90. package/public/test/microcomponents.es3.d.ts.map +0 -1
  91. package/public/test/microcomponents.es3.js +0 -303
  92. package/public/test/microcomponents.es3.js.map +0 -1
  93. package/public/test/test.ts +0 -194
  94. package/public/typedoc/functions/selectors._d.html +0 -1
  95. package/public/typedoc/functions/selectors._t.html +0 -1
  96. package/public/typedoc/interfaces/selectors.DSelector.html +0 -50
  97. package/public/typedoc/interfaces/selectors.TSelector.html +0 -34
  98. package/public/typedoc/modules/selectors.html +0 -7
  99. package/public/typedoc/types/selectors.selection.html +0 -1
  100. package/public/typedoc/types/selectors.singleSelector.html +0 -1
  101. package/src/microcomponents.es3.js +0 -377
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>observe | Micro Components</title><meta name="description" content="Documentation for Micro Components"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Micro Components</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Micro Components</a></li><li><a href="../modules/observables.html">observables</a></li><li><a href="observables.observe.html">observe</a></li></ul><h1>Function observe</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="observe" class="tsd-anchor"></a><span class="tsd-kind-call-signature">observe</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">target</span>, <span class="tsd-kind-parameter">propertyName</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">LooseObject</span><a href="#observe" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">target</span>: <span class="tsd-signature-type">LooseObject</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">propertyName</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">LooseObject</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://gitlab.com/twoBirds/microcomponents/-/blob/e296dcf033a46b56b5a699f043597a0269e78341/src/observables.ts#L200">src/observables.ts:200</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>Micro Components</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>observe | Micro Components</title><meta name="description" content="Documentation for Micro Components"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Micro Components</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">Micro Components</a></li><li><a href="../modules/observables.html">observables</a></li><li><a href="observables.observe.html">observe</a></li></ul><h1>Function observe</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="observe" class="tsd-anchor"></a><span class="tsd-kind-call-signature">observe</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">target</span>, <span class="tsd-kind-parameter">propertyName</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">LooseObject</span><a href="#observe" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">target</span>: <span class="tsd-signature-type">LooseObject</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">propertyName</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">LooseObject</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://gitlab.com/twoBirds/microcomponents/-/blob/9c050abd2a6b066c8097c3eb9c18a2ac4ae7db06/src/observables.ts#L200">src/observables.ts:200</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>Micro Components</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -1,9 +1,8 @@
1
1
  <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Micro Components</title><meta name="description" content="Documentation for Micro Components"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">Micro Components</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>Micro Components</h1></div><div class="tsd-panel tsd-typography"><p><img src="media/MicroComponents.svg" alt="logo"></p>
2
2
  <a id="md:micro-components" class="tsd-anchor"></a><h2 class="tsd-anchor-link">MICRO COMPONENTS<a href="#md:micro-components" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p><strong>This code aims at improving Javascript modularity and encapsulation</strong>.</p>
3
- <p>Micro Components are built on <strong>OOP</strong> for structure, so you should embrace <strong>DRY, KISS and SOLID</strong> principles.</p>
4
- <p>Its basic principle is <strong>composition over inheritance</strong>. It is strongly advised you do not extend your own classes, as it is not needed.</p>
3
+ <p>Micro Components are built on <strong>OOP</strong> for structure, so you should embrace <strong>DRY, KISS and SOLID</strong> principles. That said, OOP is not a religion here, in fact you can do FP also. MCs provide a structure for your code, no more. It is agnostic as to what code you put in this structure.</p>
4
+ <p>Its basic principle is <strong>composition over inheritance</strong>. So: using OOP its recommended you do not extend your own classes, as it is not needed.</p>
5
5
  <p>Also it helps to embrace <strong>DIY</strong> (Do It Yourself) <strong>over Toolchains</strong>, but this is up to your personal preference.</p>
6
- <p>That said, feel free to code <strong>functional</strong>, or <em>4.5 dimensional ;-)</em> or any other approach I may have forgot or don't know. This system doesn't cage you.</p>
7
6
  <p>You can use <strong>Vanilla JS or Typescript</strong> or both in your project. For example you could use plain JS for rapid prototyping functionalities, then convert to TS for production.</p>
8
7
  <a id="md:think-building-blocks" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Think <strong>Building Blocks</strong><a href="#md:think-building-blocks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>In general this is a <strong>HTML / Web Standards first</strong> system. There is almost no abstraction, especially not for templating, except state binding to the DOM via simple placeholders.</p>
9
8
  <p>When coding with this system, you create classes that extend either the <strong><a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/MC.md?ref_type=heads#mc-class-extends-mcbase" target="_blank" class="external">MC</a></strong> or <strong><a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/MC.md?ref_type=heads#dc-class-extends-mcbase" target="_blank" class="external">DC</a></strong> superclasses provided here. These classes provide the structure you need to build your wonderland.</p>
@@ -11,11 +10,15 @@
11
10
  <p>Also you can easily <strong>define JS custom elements</strong>. Since these are just another instance of a DC internally, you can enhance them even at runtime, as they are displayed in the browser.</p>
12
11
  <a id="md:principles" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Principles<a href="#md:principles" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>This systems <strong>modular</strong> approach gives you full control over your software, without the need to rely on other frameworks.</p>
13
12
  <p>On the other hand, its <strong>minimalistic</strong> stance enables you to use the resulting functionality in any other framework, and makes the <strong>learning curve neglectable</strong>.</p>
14
- <a id="md:status" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Status<a href="#md:status" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>In <a href="https://twobirds.gitlab.io/microcomponents/test/test.html" target="_blank" class="external">manual testing</a>, also working a lot on the documentation.</p>
13
+ <a id="md:status" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Status<a href="#md:status" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>In <a href="https://twobirds.gitlab.io/microcomponents/test/test.html" target="_blank" class="external">manual testing</a> ( also a speed test). I am working on the documentation.</p>
15
14
  <a id="md:general" class="tsd-anchor"></a><h2 class="tsd-anchor-link">General<a href="#md:general" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>This repository exports 4 independent functionalities:</p>
16
15
  <ol>
17
- <li><strong><a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/MC.md?ref_type=heads" target="_blank" class="external">Micro Components</a></strong> contains the <strong>MC</strong> and <strong>DC</strong> classes you can use as super classes.</li>
18
- <li><strong><a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/elements.md?ref_type=heads" target="_blank" class="external">Elements</a></strong> lets you define and use your own native web components. Uses (1).</li>
16
+ <li>
17
+ <p><strong><a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/MC.md?ref_type=heads" target="_blank" class="external">Micro Components</a></strong> contains the <strong>MC</strong> and <strong>DC</strong> classes you can use as super classes.</p>
18
+ </li>
19
+ <li>
20
+ <p><strong><a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/elements.md?ref_type=heads" target="_blank" class="external">Elements</a></strong> lets you define and use your own native web components. Uses (1).</p>
21
+ </li>
19
22
  </ol>
20
23
  <ul>
21
24
  <li><a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/elements.md?ref_type=heads#create-a-custom-element" target="_blank" class="external">Basic Usage</a>.</li>
@@ -53,10 +56,6 @@
53
56
 
54
57
  <p>The <code>_mc</code> <strong>attribute</strong> indicates that this <strong>HTML element contains at least one micro component</strong>. This is needed for the selectors.</p>
55
58
  <p>The <code>_mc</code> <strong>attribute</strong> and <strong>property</strong> are the only interference with the DOM, so any other system should be happy to work with this.</p>
56
- <a id="md:disclaimer" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Disclaimer<a href="#md:disclaimer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>I decided to extract this functionality from the <a href="https://www.npmjs.com/package/twobirds-core" target="_blank" class="external">twoBirds framework</a>, because it is a useful tool in itself and it is framework agnostic. It relies solely on the standard DOM and native javascript or typescript.</p>
57
- <p>Later this will be backported into twoBirds as a dependency, and twoBirds will become completely modularized on the base of MCs.</p>
58
- <p><strong>This is a massive undertaking.</strong> MCs are just the foundation of what I do. I am about to dump <a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/magic.md?ref_type=heads#things-i-already-did-with-this-in-my-own-framework-twobirds-or-in-apps-that-i-developed-with-it" target="_blank" class="external">20+ years of javascript programming</a> into open source libraries, so feel free to <a href="https://www.gofundme.com/f/nachhaltige-programmierung" target="_blank" class="external">fund this</a>. The better this is funded, the faster it will be done. Given enough resources, I will start a crowdfunded company that will develop a new open source ecosystem for javascript/typescript programming. By <strong>&quot;Open Source&quot;</strong> I mean <strong>really free and open</strong>, as <strong>you get all my inner source code with it</strong>. Once you understand the Micro Component principle, you are back in command of your software, no matter what MC functionality you import in your system.</p>
59
- <p>Since <strong>Micro Components</strong> are encapsuled, off-shoring and near-shoring is no problem, and reusability is guaranteed. Your external coders do not need to access your code repository or your toolchain. They only need to understand MCs.</p>
60
59
  <a id="md:distinct-differences-to-other-frameworks" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Distinct differences to other frameworks<a href="#md:distinct-differences-to-other-frameworks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>There are a few potentially unique aspects of this micro components system that might differentiate it from other frameworks:</p>
61
60
  <ul>
62
61
  <li><strong>Pure OOP Approach</strong>: The system explicitly positions itself as a strict object-oriented alternative to the functional approaches that dominate many modern frameworks.</li>
@@ -68,5 +67,9 @@
68
67
  <p>The strongest argument might be for developers who prefer OOP, want minimal framework lock-in, and need a lightweight solution that works well with existing code or other libraries.</p>
69
68
  <a id="md:contact" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Contact<a href="#md:contact" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>Feel free to contact me for any questions or inquiries:</p>
70
69
  <p>email <a href="mailto:fthuerigen@gmail.com?subject=Micro%20Components">Frank Thürigen</a></p>
71
- <p>And again, you can <a href="https://www.gofundme.com/f/nachhaltige-programmierung" target="_blank" class="external">fund this</a>.</p>
72
- </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#md:micro-components"><span>MICRO COMPONENTS</span></a><a href="#md:think-building-blocks"><span>Think <wbr/>Building <wbr/>Blocks</span></a><a href="#md:principles"><span>Principles</span></a><a href="#md:status"><span>Status</span></a><a href="#md:general"><span>General</span></a><a href="#md:simple-usage-example"><span>Simple <wbr/>Usage <wbr/>Example</span></a><a href="#md:disclaimer"><span>Disclaimer</span></a><a href="#md:distinct-differences-to-other-frameworks"><span>Distinct differences to other frameworks</span></a><a href="#md:contact"><span>Contact</span></a></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>Micro Components</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
70
+ <p>You can <a href="https://www.gofundme.com/f/nachhaltige-programmierung" target="_blank" class="external">fund this</a>.</p>
71
+ <a id="md:disclaimer" class="tsd-anchor"></a><h2 class="tsd-anchor-link">Disclaimer<a href="#md:disclaimer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2><p>I decided to extract this functionality from the <a href="https://www.npmjs.com/package/twobirds-core" target="_blank" class="external">twoBirds framework</a>, because it is a useful tool in itself and it is framework agnostic. It relies solely on the standard DOM and native javascript or typescript.</p>
72
+ <p>Later this will be backported into twoBirds as a dependency, and twoBirds will become completely modularized on the base of MCs.</p>
73
+ <p><strong>This is a massive undertaking.</strong> MCs are just the foundation of what I do. I am about to dump <a href="https://gitlab.com/twoBirds/microcomponents/-/blob/main/assets/documentation/magic.md?ref_type=heads#things-i-already-did-with-this-in-my-own-framework-twobirds-or-in-apps-that-i-developed-with-it" target="_blank" class="external">20+ years of javascript programming</a> into open source libraries, so feel free to <a href="https://www.gofundme.com/f/nachhaltige-programmierung" target="_blank" class="external">fund this</a>. The better this is funded, the faster it will be done. Given enough resources, I will start a crowdfunded company that will develop a new open source ecosystem for javascript/typescript programming. By <strong>&quot;Open Source&quot;</strong> I mean <strong>really free and open</strong>, as <strong>you get all my inner source code with it</strong>. Once you understand the Micro Component principle, you are back in command of your software, no matter what MC functionality you import in your system.</p>
74
+ <p>Since <strong>Micro Components</strong> are encapsuled, off-shoring and near-shoring is no problem, and reusability is guaranteed. Your external coders do not need to access your code repository or your toolchain. They only need to understand MCs.</p>
75
+ </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#md:micro-components"><span>MICRO COMPONENTS</span></a><a href="#md:think-building-blocks"><span>Think <wbr/>Building <wbr/>Blocks</span></a><a href="#md:principles"><span>Principles</span></a><a href="#md:status"><span>Status</span></a><a href="#md:general"><span>General</span></a><a href="#md:simple-usage-example"><span>Simple <wbr/>Usage <wbr/>Example</span></a><a href="#md:distinct-differences-to-other-frameworks"><span>Distinct differences to other frameworks</span></a><a href="#md:contact"><span>Contact</span></a><a href="#md:disclaimer"><span>Disclaimer</span></a></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>Micro Components</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>