microui-wc 0.1.1 → 0.1.2

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 (339) hide show
  1. package/AGENTS.md +71 -71
  2. package/CHANGELOG.md +1 -1
  3. package/README.md +14 -9
  4. package/dist/AGENTS.md +71 -71
  5. package/dist/README.md +14 -9
  6. package/dist/microui.css +1 -1
  7. package/dist/microui.esm.js.map +1 -1
  8. package/dist/microui.min.js.map +1 -1
  9. package/docs/getting-started.md +3 -3
  10. package/package.json +39 -11
  11. package/src/components/mu-schema-form.js +1 -1
  12. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  13. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -33
  14. package/.github/PULL_REQUEST_TEMPLATE.md +0 -28
  15. package/.github/workflows/ci.yml +0 -42
  16. package/.github/workflows/deploy-pages.yml +0 -112
  17. package/CODE_OF_CONDUCT.md +0 -59
  18. package/CONTRIBUTING.md +0 -156
  19. package/SECURITY.md +0 -58
  20. package/app/.generated/routes/alerts.js +0 -8
  21. package/app/.generated/routes/avatars.js +0 -8
  22. package/app/.generated/routes/badges.js +0 -8
  23. package/app/.generated/routes/buttons.js +0 -10
  24. package/app/.generated/routes/cards.js +0 -10
  25. package/app/.generated/routes/checkboxes.js +0 -9
  26. package/app/.generated/routes/chips.js +0 -8
  27. package/app/.generated/routes/dropdowns.js +0 -9
  28. package/app/.generated/routes/home.js +0 -7
  29. package/app/.generated/routes/icons.js +0 -9
  30. package/app/.generated/routes/inputs.js +0 -10
  31. package/app/.generated/routes/installation.js +0 -7
  32. package/app/.generated/routes/layout.js +0 -9
  33. package/app/.generated/routes/modals.js +0 -9
  34. package/app/.generated/routes/navbar.js +0 -7
  35. package/app/.generated/routes/progress.js +0 -9
  36. package/app/.generated/routes/radios.js +0 -9
  37. package/app/.generated/routes/switches.js +0 -9
  38. package/app/.generated/routes/tabs.js +0 -8
  39. package/app/.generated/routes/toasts.js +0 -9
  40. package/app/index.html +0 -67
  41. package/app/pages/alerts.html +0 -23
  42. package/app/pages/avatars.html +0 -22
  43. package/app/pages/badges.html +0 -22
  44. package/app/pages/buttons.html +0 -71
  45. package/app/pages/cards.html +0 -54
  46. package/app/pages/checkboxes.html +0 -39
  47. package/app/pages/chips.html +0 -23
  48. package/app/pages/dropdowns.html +0 -41
  49. package/app/pages/home.html +0 -59
  50. package/app/pages/icons.html +0 -29
  51. package/app/pages/inputs.html +0 -66
  52. package/app/pages/installation.html +0 -34
  53. package/app/pages/layout.html +0 -30
  54. package/app/pages/modals.html +0 -21
  55. package/app/pages/navbar.html +0 -22
  56. package/app/pages/progress.html +0 -35
  57. package/app/pages/radios.html +0 -40
  58. package/app/pages/switches.html +0 -39
  59. package/app/pages/tabs.html +0 -30
  60. package/app/pages/toasts.html +0 -22
  61. package/app-dist/index.html +0 -67
  62. package/app-dist/pages/alerts.html +0 -23
  63. package/app-dist/pages/avatars.html +0 -22
  64. package/app-dist/pages/badges.html +0 -22
  65. package/app-dist/pages/buttons.html +0 -71
  66. package/app-dist/pages/cards.html +0 -54
  67. package/app-dist/pages/checkboxes.html +0 -39
  68. package/app-dist/pages/chips.html +0 -23
  69. package/app-dist/pages/dropdowns.html +0 -41
  70. package/app-dist/pages/home.html +0 -59
  71. package/app-dist/pages/icons.html +0 -29
  72. package/app-dist/pages/inputs.html +0 -66
  73. package/app-dist/pages/installation.html +0 -34
  74. package/app-dist/pages/layout.html +0 -30
  75. package/app-dist/pages/modals.html +0 -21
  76. package/app-dist/pages/navbar.html +0 -22
  77. package/app-dist/pages/progress.html +0 -35
  78. package/app-dist/pages/radios.html +0 -40
  79. package/app-dist/pages/switches.html +0 -39
  80. package/app-dist/pages/tabs.html +0 -30
  81. package/app-dist/pages/toasts.html +0 -22
  82. package/app-dist/pages.json +0 -217
  83. package/app-dist/routes/alerts.js +0 -5
  84. package/app-dist/routes/avatars.js +0 -1
  85. package/app-dist/routes/badges.js +0 -1
  86. package/app-dist/routes/buttons.js +0 -1
  87. package/app-dist/routes/cards.js +0 -1
  88. package/app-dist/routes/checkboxes.js +0 -9
  89. package/app-dist/routes/chips.js +0 -4
  90. package/app-dist/routes/chunk-019e5e2f.js +0 -5
  91. package/app-dist/routes/chunk-0m4j19yd.js +0 -2
  92. package/app-dist/routes/chunk-0tmmp5q0.js +0 -1
  93. package/app-dist/routes/chunk-10xn709r.js +0 -1
  94. package/app-dist/routes/chunk-15m2qcda.js +0 -2
  95. package/app-dist/routes/chunk-1bh8g23n.js +0 -1
  96. package/app-dist/routes/chunk-1vg0v937.js +0 -1
  97. package/app-dist/routes/chunk-1zvcgy3j.js +0 -1
  98. package/app-dist/routes/chunk-2afb0861.js +0 -1
  99. package/app-dist/routes/chunk-2c6ttpzt.js +0 -5
  100. package/app-dist/routes/chunk-3dy30fhs.js +0 -1
  101. package/app-dist/routes/chunk-426dnces.js +0 -13
  102. package/app-dist/routes/chunk-44kgxery.js +0 -1
  103. package/app-dist/routes/chunk-47fdnejd.js +0 -33
  104. package/app-dist/routes/chunk-49a6t2vq.js +0 -1
  105. package/app-dist/routes/chunk-4fe1rm5b.js +0 -1
  106. package/app-dist/routes/chunk-4ggmvkta.js +0 -33
  107. package/app-dist/routes/chunk-4vkz81q7.js +0 -33
  108. package/app-dist/routes/chunk-4w4tmj8f.js +0 -31
  109. package/app-dist/routes/chunk-532s62kr.js +0 -31
  110. package/app-dist/routes/chunk-5hm3bssy.js +0 -33
  111. package/app-dist/routes/chunk-5vrh24hc.js +0 -1
  112. package/app-dist/routes/chunk-61pcg25a.js +0 -1
  113. package/app-dist/routes/chunk-6nfhygvf.js +0 -1
  114. package/app-dist/routes/chunk-700e7je6.js +0 -33
  115. package/app-dist/routes/chunk-7fsn17kg.js +0 -1
  116. package/app-dist/routes/chunk-7k789b32.js +0 -1
  117. package/app-dist/routes/chunk-7r46q0ys.js +0 -36
  118. package/app-dist/routes/chunk-86fmc1fr.js +0 -5
  119. package/app-dist/routes/chunk-8qth37vw.js +0 -1
  120. package/app-dist/routes/chunk-924wv8n0.js +0 -1
  121. package/app-dist/routes/chunk-9mbhgxk9.js +0 -1
  122. package/app-dist/routes/chunk-a216hyd9.js +0 -1
  123. package/app-dist/routes/chunk-akzxykh9.js +0 -33
  124. package/app-dist/routes/chunk-b3dcvy8c.js +0 -1
  125. package/app-dist/routes/chunk-b74zahz5.js +0 -31
  126. package/app-dist/routes/chunk-bftj53p2.js +0 -5
  127. package/app-dist/routes/chunk-c01hnz3e.js +0 -1
  128. package/app-dist/routes/chunk-d8pvv5km.js +0 -1
  129. package/app-dist/routes/chunk-dev0aezr.js +0 -2
  130. package/app-dist/routes/chunk-dh6vnv0e.js +0 -1
  131. package/app-dist/routes/chunk-dn2cbpva.js +0 -36
  132. package/app-dist/routes/chunk-dvn0my90.js +0 -1
  133. package/app-dist/routes/chunk-dvq8mnve.js +0 -36
  134. package/app-dist/routes/chunk-e8c2gc4d.js +0 -5
  135. package/app-dist/routes/chunk-ejf9ak2x.js +0 -1
  136. package/app-dist/routes/chunk-f083m55s.js +0 -1
  137. package/app-dist/routes/chunk-fnrj28s1.js +0 -31
  138. package/app-dist/routes/chunk-fvg3yjdp.js +0 -31
  139. package/app-dist/routes/chunk-g7k381n1.js +0 -1
  140. package/app-dist/routes/chunk-h01kq2ae.js +0 -13
  141. package/app-dist/routes/chunk-h4dk761v.js +0 -5
  142. package/app-dist/routes/chunk-hmx91z2x.js +0 -5
  143. package/app-dist/routes/chunk-hxbg4m42.js +0 -36
  144. package/app-dist/routes/chunk-jbjnfp2b.js +0 -2
  145. package/app-dist/routes/chunk-jxtz5vv6.js +0 -36
  146. package/app-dist/routes/chunk-jxzcs0ey.js +0 -36
  147. package/app-dist/routes/chunk-kt7wwhcx.js +0 -1
  148. package/app-dist/routes/chunk-kzptszyc.js +0 -33
  149. package/app-dist/routes/chunk-mhgca4w4.js +0 -2
  150. package/app-dist/routes/chunk-mhswxa20.js +0 -1
  151. package/app-dist/routes/chunk-n8zfeex6.js +0 -1
  152. package/app-dist/routes/chunk-pee47b2r.js +0 -1
  153. package/app-dist/routes/chunk-pesmw829.js +0 -1
  154. package/app-dist/routes/chunk-pgc4c6f3.js +0 -36
  155. package/app-dist/routes/chunk-q8egegm1.js +0 -1
  156. package/app-dist/routes/chunk-q9mn2qyq.js +0 -36
  157. package/app-dist/routes/chunk-qh0rtaf3.js +0 -5
  158. package/app-dist/routes/chunk-qqhmk6ye.js +0 -2
  159. package/app-dist/routes/chunk-qrxygmf7.js +0 -33
  160. package/app-dist/routes/chunk-r46yzksx.js +0 -36
  161. package/app-dist/routes/chunk-rgpbw2w0.js +0 -5
  162. package/app-dist/routes/chunk-rnpzv3d8.js +0 -2
  163. package/app-dist/routes/chunk-s5v8cv05.js +0 -2
  164. package/app-dist/routes/chunk-sbwn5bpc.js +0 -1
  165. package/app-dist/routes/chunk-sqbg8jbt.js +0 -33
  166. package/app-dist/routes/chunk-sv8dqnf7.js +0 -1
  167. package/app-dist/routes/chunk-t67sw3za.js +0 -1
  168. package/app-dist/routes/chunk-tjdpqwdf.js +0 -31
  169. package/app-dist/routes/chunk-tq2mfghg.js +0 -1
  170. package/app-dist/routes/chunk-ttn10vt6.js +0 -1
  171. package/app-dist/routes/chunk-v2hzpjxr.js +0 -1
  172. package/app-dist/routes/chunk-wfjjkw9y.js +0 -1
  173. package/app-dist/routes/chunk-wt8cxzmf.js +0 -31
  174. package/app-dist/routes/chunk-x45d372k.js +0 -5
  175. package/app-dist/routes/chunk-y3wsazkt.js +0 -1
  176. package/app-dist/routes/chunk-y7pmgc7t.js +0 -33
  177. package/app-dist/routes/chunk-zefdt2q3.js +0 -31
  178. package/app-dist/routes/dropdowns.js +0 -6
  179. package/app-dist/routes/home.js +0 -1
  180. package/app-dist/routes/icons.js +0 -1
  181. package/app-dist/routes/inputs.js +0 -12
  182. package/app-dist/routes/installation.js +0 -1
  183. package/app-dist/routes/layout.js +0 -1
  184. package/app-dist/routes/modals.js +0 -7
  185. package/app-dist/routes/navbar.js +0 -1
  186. package/app-dist/routes/progress.js +0 -1
  187. package/app-dist/routes/radios.js +0 -6
  188. package/app-dist/routes/switches.js +0 -6
  189. package/app-dist/routes/tabs.js +0 -1
  190. package/app-dist/routes/toasts.js +0 -16
  191. package/assets/fonts/material-symbols-mini.woff2 +0 -0
  192. package/assets/fonts/material-symbols.woff2 +0 -0
  193. package/assets/fonts/roboto-400.woff2 +0 -0
  194. package/assets/fonts/roboto-500.woff2 +0 -0
  195. package/assets/fonts/roboto-700.woff2 +0 -0
  196. package/assets/logo-banner-400.jpg +0 -0
  197. package/assets/logo-banner-400.webp +0 -0
  198. package/assets/logo-banner-800.webp +0 -0
  199. package/assets/logo-banner.jpg +0 -0
  200. package/assets/logo-icon-64.jpg +0 -0
  201. package/assets/logo-icon-64.webp +0 -0
  202. package/assets/logo-icon.jpg +0 -0
  203. package/assets/logo-square.jpg +0 -0
  204. package/bun.lock +0 -312
  205. package/bunfig.toml +0 -4
  206. package/custom-elements.json +0 -1916
  207. package/demo/api/sample-data.json +0 -38
  208. package/demo/content/alerts.html +0 -115
  209. package/demo/content/avatars.html +0 -70
  210. package/demo/content/badges.html +0 -65
  211. package/demo/content/buttons.html +0 -188
  212. package/demo/content/callouts.html +0 -91
  213. package/demo/content/cards.html +0 -121
  214. package/demo/content/checkboxes.html +0 -178
  215. package/demo/content/chips.html +0 -67
  216. package/demo/content/codeblocks.html +0 -101
  217. package/demo/content/confirms.html +0 -115
  218. package/demo/content/datatables.html +0 -149
  219. package/demo/content/dividers.html +0 -119
  220. package/demo/content/dropdowns.html +0 -89
  221. package/demo/content/enterprise.html +0 -252
  222. package/demo/content/home.html +0 -149
  223. package/demo/content/icons.html +0 -89
  224. package/demo/content/inputs.html +0 -135
  225. package/demo/content/installation.html +0 -16
  226. package/demo/content/layout.html +0 -136
  227. package/demo/content/modals.html +0 -141
  228. package/demo/content/navbar.html +0 -70
  229. package/demo/content/progress.html +0 -119
  230. package/demo/content/radios.html +0 -88
  231. package/demo/content/skeletons.html +0 -109
  232. package/demo/content/spinners.html +0 -96
  233. package/demo/content/switches.html +0 -84
  234. package/demo/content/tables.html +0 -124
  235. package/demo/content/tabs.html +0 -85
  236. package/demo/content/toasts.html +0 -116
  237. package/demo/content/tooltips.html +0 -107
  238. package/demo/content/virtual-lists.html +0 -233
  239. package/demo/favicon.ico +0 -0
  240. package/demo/favicon.png +0 -0
  241. package/demo/full.html +0 -52
  242. package/demo/iife.html +0 -46
  243. package/demo/manifest.json +0 -34
  244. package/demo/pages/datatable-demo.html +0 -237
  245. package/demo/pages/prompt-ui-demo.html +0 -218
  246. package/demo/pages/responsive-demo.html +0 -122
  247. package/demo/pages/schema-form-demo.html +0 -270
  248. package/demo/robots.txt +0 -6
  249. package/demo/shell.html +0 -712
  250. package/demo/sw.js +0 -387
  251. package/lighthouse-audit.mjs +0 -113
  252. package/scripts/analyze-components.js +0 -105
  253. package/scripts/build-app.js +0 -193
  254. package/scripts/build-framework.js +0 -444
  255. package/scripts/build-utils.js +0 -101
  256. package/scripts/test-isolated.js +0 -151
  257. package/server.js +0 -256
  258. package/tests/agents/agent-integration.test.js +0 -76
  259. package/tests/benchmark.html +0 -296
  260. package/tests/build/scan-components.test.js +0 -173
  261. package/tests/components/all-components.test.js +0 -245
  262. package/tests/components/all-missing-components.test.js +0 -574
  263. package/tests/components/mu-alert.test.js +0 -113
  264. package/tests/components/mu-avatar.test.js +0 -148
  265. package/tests/components/mu-badge.test.js +0 -92
  266. package/tests/components/mu-button.test.js +0 -112
  267. package/tests/components/mu-card.test.js +0 -89
  268. package/tests/components/mu-checkbox.test.js +0 -158
  269. package/tests/components/mu-chip.test.js +0 -118
  270. package/tests/components/mu-container.test.js +0 -120
  271. package/tests/components/mu-divider.test.js +0 -98
  272. package/tests/components/mu-drawer-item.test.js +0 -199
  273. package/tests/components/mu-drawer.test.js +0 -96
  274. package/tests/components/mu-dropdown.test.js +0 -125
  275. package/tests/components/mu-form.test.js +0 -138
  276. package/tests/components/mu-grid.test.js +0 -135
  277. package/tests/components/mu-icon.test.js +0 -110
  278. package/tests/components/mu-input.test.js +0 -131
  279. package/tests/components/mu-lazy.test.js +0 -103
  280. package/tests/components/mu-modal.test.js +0 -275
  281. package/tests/components/mu-navbar.test.js +0 -101
  282. package/tests/components/mu-progress.test.js +0 -115
  283. package/tests/components/mu-radio.test.js +0 -114
  284. package/tests/components/mu-repeat.test.js +0 -106
  285. package/tests/components/mu-sidebar.test.js +0 -126
  286. package/tests/components/mu-skeleton.test.js +0 -162
  287. package/tests/components/mu-stack.test.js +0 -143
  288. package/tests/components/mu-switch.test.js +0 -292
  289. package/tests/components/mu-table.test.js +0 -124
  290. package/tests/components/mu-tabs.test.js +0 -104
  291. package/tests/components/mu-textarea.test.js +0 -115
  292. package/tests/components/mu-toast.test.js +0 -321
  293. package/tests/components/mu-tooltip.test.js +0 -133
  294. package/tests/components/mu-virtual-list.test.js +0 -109
  295. package/tests/core/MuElement.test.js +0 -120
  296. package/tests/core/agent-api.test.js +0 -125
  297. package/tests/core/all-core-modules.test.js +0 -442
  298. package/tests/core/bus.test.js +0 -364
  299. package/tests/core/component-schema.test.js +0 -160
  300. package/tests/core/feature-registry.test.js +0 -198
  301. package/tests/core/form-state.test.js +0 -167
  302. package/tests/core/http.test.js +0 -119
  303. package/tests/core/keyboard.test.js +0 -319
  304. package/tests/core/layers.test.js +0 -129
  305. package/tests/core/namespaced-stores.test.js +0 -114
  306. package/tests/core/render.test.js +0 -121
  307. package/tests/core/ripple.test.js +0 -131
  308. package/tests/core/router.test.js +0 -89
  309. package/tests/core/scheduler.test.js +0 -121
  310. package/tests/core/signals.test.js +0 -128
  311. package/tests/core/store.test.js +0 -171
  312. package/tests/core/transitions.test.js +0 -82
  313. package/tests/e2e/accessibility-harness.html +0 -58
  314. package/tests/e2e/accessibility.test.js +0 -401
  315. package/tests/e2e/agent-features.test.js +0 -372
  316. package/tests/e2e/card-spacing.test.js +0 -287
  317. package/tests/e2e/components.test.js +0 -439
  318. package/tests/e2e/demo-routes.test.js +0 -478
  319. package/tests/e2e/layout-css-fallback.test.js +0 -334
  320. package/tests/e2e/mu-alert.e2e.test.js +0 -111
  321. package/tests/e2e/mu-checkbox.test.js +0 -489
  322. package/tests/e2e/mu-chip.test.js +0 -347
  323. package/tests/e2e/mu-form.test.js +0 -499
  324. package/tests/e2e/mu-icon.test.js +0 -114
  325. package/tests/e2e/mu-radio.test.js +0 -113
  326. package/tests/e2e/mu-skeleton.test.js +0 -140
  327. package/tests/e2e/mu-switch.test.js +0 -415
  328. package/tests/e2e/mu-tabs.test.js +0 -494
  329. package/tests/e2e/mu-textarea.test.js +0 -242
  330. package/tests/e2e/mu-virtual-list.test.js +0 -427
  331. package/tests/e2e/perf-memory.test.js +0 -161
  332. package/tests/e2e/puppeteer-helper.js +0 -137
  333. package/tests/e2e/puppeteer.test.js +0 -226
  334. package/tests/e2e/pwa.test.js +0 -261
  335. package/tests/e2e/test-harness.html +0 -319
  336. package/tests/manual/test-components.html +0 -120
  337. package/tests/memory-test.html +0 -309
  338. package/tests/setup-dom.js +0 -93
  339. package/tests/visual-test.html +0 -301
package/package.json CHANGED
@@ -1,17 +1,29 @@
1
1
  {
2
2
  "name": "microui-wc",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
- "description": "AI-Optimized UI Framework - Web Components Edition",
6
- "main": "dist/microui.js",
7
- "module": "src/index.js",
5
+ "description": "AI-First Web Components Framework - 49 Material Design 3 components optimized for AI agents",
6
+ "main": "dist/microui.esm.js",
7
+ "module": "dist/microui.esm.js",
8
+ "types": "dist/microui.d.ts",
9
+ "files": [
10
+ "dist/",
11
+ "src/",
12
+ "docs/",
13
+ "AGENTS.md",
14
+ "README.md",
15
+ "CHANGELOG.md",
16
+ "LICENSE"
17
+ ],
8
18
  "exports": {
9
19
  ".": {
10
- "import": "./src/index.js",
11
- "require": "./dist/microui.cjs"
20
+ "import": "./dist/microui.esm.js",
21
+ "types": "./dist/microui.d.ts"
12
22
  },
13
- "./components/*": "./src/components/*.js",
14
- "./styles/*": "./src/styles/*"
23
+ "./css": "./dist/microui.css",
24
+ "./components/*": "./dist/components/*.js",
25
+ "./styles/*": "./dist/styles/*",
26
+ "./src/*": "./src/*"
15
27
  },
16
28
  "scripts": {
17
29
  "dev": "bun server.js",
@@ -25,11 +37,27 @@
25
37
  "build:app": "bun run scripts/build-app.js"
26
38
  },
27
39
  "keywords": [
28
- "ui",
40
+ "ai-agents",
41
+ "ai-first",
29
42
  "web-components",
30
43
  "material-design-3",
31
- "ai-optimized"
44
+ "ui-framework",
45
+ "light-dom",
46
+ "zero-dependencies",
47
+ "accessibility",
48
+ "wcag",
49
+ "custom-elements",
50
+ "md3",
51
+ "design-system"
32
52
  ],
53
+ "repository": {
54
+ "type": "git",
55
+ "url": "https://github.com/GiuseppeScottoLavina/microUI.git"
56
+ },
57
+ "homepage": "https://giuseppescottolavina.github.io/microUI/",
58
+ "bugs": {
59
+ "url": "https://github.com/GiuseppeScottoLavina/microUI/issues"
60
+ },
33
61
  "author": "Giuseppe Scotto Lavina",
34
62
  "license": "Apache-2.0",
35
63
  "devDependencies": {
@@ -42,4 +70,4 @@
42
70
  "cbor-x": "^1.6.0",
43
71
  "crossbus": "^0.1.0"
44
72
  }
45
- }
73
+ }
@@ -21,7 +21,7 @@
21
21
  * };
22
22
  *
23
23
  * form.addEventListener('mu-submit', (e) => {
24
- * console.log('Form data:', e.detail);
24
+ * console.log('Form data:', e.detail); // debug
25
25
  * });
26
26
  * </script>
27
27
  */
@@ -1,40 +0,0 @@
1
- ---
2
- name: Bug Report
3
- about: Report a bug to help us improve
4
- title: '[BUG] '
5
- labels: bug
6
- assignees: ''
7
- ---
8
-
9
- ## 🐛 Bug Description
10
-
11
- A clear and concise description of the bug.
12
-
13
- ## 📋 Steps to Reproduce
14
-
15
- 1. Go to '...'
16
- 2. Click on '...'
17
- 3. Scroll down to '...'
18
- 4. See error
19
-
20
- ## ✅ Expected Behavior
21
-
22
- What you expected to happen.
23
-
24
- ## ❌ Actual Behavior
25
-
26
- What actually happened.
27
-
28
- ## 🖥️ Environment
29
-
30
- - **Browser**: [e.g., Chrome 120, Safari 17]
31
- - **OS**: [e.g., macOS 14, Windows 11]
32
- - **microUI Version**: [e.g., 0.1.0]
33
-
34
- ## 📸 Screenshots
35
-
36
- If applicable, add screenshots to help explain your problem.
37
-
38
- ## 📝 Additional Context
39
-
40
- Add any other context about the problem here.
@@ -1,33 +0,0 @@
1
- ---
2
- name: Feature Request
3
- about: Suggest an idea for microUI
4
- title: '[FEATURE] '
5
- labels: enhancement
6
- assignees: ''
7
- ---
8
-
9
- ## 🚀 Feature Description
10
-
11
- A clear and concise description of the feature you'd like.
12
-
13
- ## 💡 Use Case
14
-
15
- Describe the problem this feature would solve.
16
-
17
- **Example:** "As a developer, I want [...] so that [...]"
18
-
19
- ## 📝 Proposed Solution
20
-
21
- Describe how you envision this working.
22
-
23
- ## 🔄 Alternatives Considered
24
-
25
- Any alternative solutions or features you've considered.
26
-
27
- ## 📸 Examples
28
-
29
- Links to similar features in other libraries, mockups, or code examples.
30
-
31
- ## ➕ Additional Context
32
-
33
- Add any other context about the feature request here.
@@ -1,28 +0,0 @@
1
- # Pull Request
2
-
3
- ## 📝 Description
4
-
5
- Brief description of the changes.
6
-
7
- ## 🔗 Related Issue
8
-
9
- Fixes #(issue number)
10
-
11
- ## 🧪 Testing
12
-
13
- - [ ] Unit tests added/updated
14
- - [ ] E2E tests added/updated (if UI changes)
15
- - [ ] All tests passing (`bun run test:full`)
16
-
17
- ## 📋 Checklist
18
-
19
- - [ ] My code follows the project's style guidelines
20
- - [ ] I have performed a self-review of my code
21
- - [ ] I have commented my code where necessary
22
- - [ ] I have updated the documentation (if needed)
23
- - [ ] My changes generate no new warnings
24
- - [ ] I have added tests that prove my fix/feature works
25
-
26
- ## 📸 Screenshots (if applicable)
27
-
28
- Add screenshots for UI changes.
@@ -1,42 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [ main, master ]
6
- pull_request:
7
- branches: [ main, master ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: actions/checkout@v4
15
-
16
- - name: Setup Bun
17
- uses: oven-sh/setup-bun@v1
18
- with:
19
- bun-version: latest
20
-
21
- - name: Install dependencies
22
- run: bun install
23
-
24
- - name: Run unit tests
25
- run: bun run test:isolated
26
-
27
- - name: Build framework
28
- run: bun run build:framework
29
-
30
- lint:
31
- runs-on: ubuntu-latest
32
-
33
- steps:
34
- - uses: actions/checkout@v4
35
-
36
- - name: Check for console.log in components
37
- run: |
38
- if grep -r "console\.log" src/components/*.js --include="*.js" | grep -v "// debug"; then
39
- echo "⚠️ Found console.log statements in components"
40
- exit 1
41
- fi
42
- echo "✅ No stray console.log found"
@@ -1,112 +0,0 @@
1
- name: Deploy Demo to GitHub Pages
2
-
3
- on:
4
- push:
5
- branches: [ main, master ]
6
- workflow_dispatch:
7
-
8
- # Sets permissions of the GITHUB_TOKEN
9
- permissions:
10
- contents: read
11
- pages: write
12
- id-token: write
13
-
14
- # Allow only one concurrent deployment
15
- concurrency:
16
- group: "pages"
17
- cancel-in-progress: false
18
-
19
- jobs:
20
- build:
21
- runs-on: ubuntu-latest
22
- steps:
23
- - name: Checkout
24
- uses: actions/checkout@v4
25
-
26
- - name: Setup Bun
27
- uses: oven-sh/setup-bun@v1
28
- with:
29
- bun-version: "1.3.6"
30
-
31
- - name: Install dependencies
32
- run: |
33
- echo "=== Starting dependency installation ==="
34
- bun install --verbose
35
- echo "=== Installed packages ==="
36
- ls -la node_modules/ | head -20
37
- echo "=== Checking crossbus ==="
38
- ls -la node_modules/crossbus/ || echo "crossbus not found!"
39
-
40
- - name: Build framework
41
- run: |
42
- echo "=== Starting build ==="
43
- bun run build:framework
44
-
45
- - name: Prepare demo for static hosting
46
- run: |
47
- # Create _site with preserved structure
48
- mkdir -p _site/demo
49
-
50
- # Copy demo files (preserving structure)
51
- cp -r demo/* _site/demo/
52
-
53
- # Copy dist (framework bundles) - one level up from demo
54
- cp -r dist _site/
55
-
56
- # Copy assets to root level (shell.html uses ../assets/)
57
- cp -r assets _site/
58
-
59
- # Copy source for development imports
60
- cp -r src _site/
61
-
62
- # Copy root files needed
63
- cp package.json _site/
64
-
65
- # Create 404.html for SPA routing (redirect to shell.html)
66
- cat > _site/404.html << 'EOF'
67
- <!DOCTYPE html>
68
- <html lang="en">
69
- <head>
70
- <meta charset="UTF-8">
71
- <meta http-equiv="refresh" content="0;url=/microUI/demo/shell.html">
72
- <title>Redirecting...</title>
73
- </head>
74
- <body>
75
- <p>Redirecting to <a href="/microUI/demo/shell.html">microUI Demo</a>...</p>
76
- </body>
77
- </html>
78
- EOF
79
-
80
- # Create index.html redirect at root
81
- cat > _site/index.html << 'EOF'
82
- <!DOCTYPE html>
83
- <html lang="en">
84
- <head>
85
- <meta charset="UTF-8">
86
- <meta http-equiv="refresh" content="0;url=demo/shell.html">
87
- <title>microUI Demo</title>
88
- </head>
89
- <body>
90
- <p>Redirecting to <a href="demo/shell.html">microUI Demo</a>...</p>
91
- </body>
92
- </html>
93
- EOF
94
-
95
- - name: Setup Pages
96
- uses: actions/configure-pages@v4
97
-
98
- - name: Upload artifact
99
- uses: actions/upload-pages-artifact@v3
100
- with:
101
- path: '_site'
102
-
103
- deploy:
104
- environment:
105
- name: github-pages
106
- url: ${{ steps.deployment.outputs.page_url }}
107
- runs-on: ubuntu-latest
108
- needs: build
109
- steps:
110
- - name: Deploy to GitHub Pages
111
- id: deployment
112
- uses: actions/deploy-pages@v4
@@ -1,59 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- We as members, contributors, and leaders pledge to make participation in our
6
- community a harassment-free experience for everyone, regardless of age, body
7
- size, visible or invisible disability, ethnicity, sex characteristics, gender
8
- identity and expression, level of experience, education, socio-economic status,
9
- nationality, personal appearance, race, religion, or sexual identity
10
- and orientation.
11
-
12
- We pledge to act and interact in ways that contribute to an open, welcoming,
13
- diverse, inclusive, and healthy community.
14
-
15
- ## Our Standards
16
-
17
- Examples of behavior that contributes to a positive environment:
18
-
19
- * Using welcoming and inclusive language
20
- * Being respectful of differing viewpoints and experiences
21
- * Gracefully accepting constructive criticism
22
- * Focusing on what is best for the community
23
- * Showing empathy towards other community members
24
-
25
- Examples of unacceptable behavior:
26
-
27
- * The use of sexualized language or imagery, and sexual attention or advances
28
- * Trolling, insulting or derogatory comments, and personal or political attacks
29
- * Public or private harassment
30
- * Publishing others' private information without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate
32
-
33
- ## Enforcement Responsibilities
34
-
35
- Community leaders are responsible for clarifying and enforcing our standards of
36
- acceptable behavior and will take appropriate and fair corrective action in
37
- response to any behavior that they deem inappropriate, threatening, offensive,
38
- or harmful.
39
-
40
- ## Scope
41
-
42
- This Code of Conduct applies within all community spaces, and also applies when
43
- an individual is officially representing the community in public spaces.
44
-
45
- ## Enforcement
46
-
47
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
48
- reported to the community leaders responsible for enforcement.
49
-
50
- All complaints will be reviewed and investigated promptly and fairly.
51
-
52
- ## Attribution
53
-
54
- This Code of Conduct is adapted from the [Contributor Covenant][homepage],
55
- version 2.1, available at
56
- [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
57
-
58
- [homepage]: https://www.contributor-covenant.org
59
- [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
package/CONTRIBUTING.md DELETED
@@ -1,156 +0,0 @@
1
- # Contributing to microUI
2
-
3
- First off, thank you for considering contributing to microUI! 🎉
4
-
5
- ## 📋 Table of Contents
6
-
7
- - [Code of Conduct](#code-of-conduct)
8
- - [How Can I Contribute?](#how-can-i-contribute)
9
- - [Development Setup](#development-setup)
10
- - [Pull Request Process](#pull-request-process)
11
- - [Style Guide](#style-guide)
12
-
13
- ---
14
-
15
- ## Code of Conduct
16
-
17
- This project follows the [Contributor Covenant Code of Conduct](./CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
18
-
19
- ---
20
-
21
- ## How Can I Contribute?
22
-
23
- ### 🐛 Reporting Bugs
24
-
25
- Before creating a bug report, please check existing issues to avoid duplicates.
26
-
27
- **Great bug reports include:**
28
- - A clear, descriptive title
29
- - Steps to reproduce the issue
30
- - Expected vs actual behavior
31
- - Browser/OS version
32
- - Code snippets or screenshots if applicable
33
-
34
- ### 💡 Suggesting Features
35
-
36
- Feature requests are welcome! Please:
37
- - Check if the feature already exists or is planned
38
- - Describe the use case clearly
39
- - Explain why this would benefit other users
40
-
41
- ### 🔧 Code Contributions
42
-
43
- 1. Fork the repository
44
- 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
45
- 3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
46
- 4. Push to the branch (`git push origin feature/amazing-feature`)
47
- 5. Open a Pull Request
48
-
49
- ---
50
-
51
- ## Development Setup
52
-
53
- ```bash
54
- # Clone your fork
55
- git clone https://github.com/YOUR_USERNAME/microUI.git
56
- cd microUI
57
-
58
- # Install dependencies (Bun recommended)
59
- bun install
60
-
61
- # Start development server
62
- bun run dev
63
-
64
- # Run tests
65
- bun run test:full
66
-
67
- # Build the framework
68
- bun run build:framework
69
- ```
70
-
71
- ### Project Structure
72
-
73
- ```
74
- microUI/
75
- ├── src/ # Framework source code
76
- │ ├── components/ # Web Components (49 total)
77
- │ ├── core/ # Core utilities (MuElement, CrossBus)
78
- │ └── styles/ # CSS and design tokens
79
- ├── tests/ # Test suites
80
- │ ├── components/ # Unit tests
81
- │ └── e2e/ # End-to-end tests (Puppeteer)
82
- ├── demo/ # Demo application
83
- ├── docs/ # Documentation
84
- └── dist/ # Build output
85
- ```
86
-
87
- ---
88
-
89
- ## Pull Request Process
90
-
91
- 1. **Tests Required**: All PRs must include tests. Run `bun run test:full` before submitting.
92
-
93
- 2. **Documentation**: Update relevant documentation if you're changing APIs or adding features.
94
-
95
- 3. **Commit Messages**: Follow [Conventional Commits](https://www.conventionalcommits.org/):
96
- - `feat:` New feature
97
- - `fix:` Bug fix
98
- - `docs:` Documentation only
99
- - `style:` Formatting, no code change
100
- - `refactor:` Code change that neither fixes a bug nor adds a feature
101
- - `test:` Adding tests
102
- - `chore:` Maintenance tasks
103
-
104
- 4. **One PR, One Feature**: Keep PRs focused. Split large changes into smaller PRs.
105
-
106
- 5. **Review Process**: PRs require review before merging. Be patient and responsive to feedback.
107
-
108
- ---
109
-
110
- ## Style Guide
111
-
112
- ### JavaScript
113
-
114
- - ES Modules (`import`/`export`)
115
- - No TypeScript (vanilla JS with JSDoc comments)
116
- - Use `escapeHTML()` for any dynamic content in templates
117
- - Prefer `this.listen()` over `addEventListener` in components
118
-
119
- ### CSS
120
-
121
- - CSS Custom Properties for theming
122
- - BEM-like naming: `.mu-component__element--modifier`
123
- - Mobile-first responsive design
124
-
125
- ### Components
126
-
127
- - Extend `MuElement` base class
128
- - Use Light DOM (no Shadow DOM)
129
- - Export via `define()` for registration
130
- - Include accessibility attributes (ARIA)
131
-
132
- ### Example Component
133
-
134
- ```javascript
135
- import { MuElement, define } from '../core/mu-element.js';
136
- import { escapeHTML } from '../core/utils.js';
137
-
138
- export class MuExample extends MuElement {
139
- static observedAttributes = ['label'];
140
-
141
- render() {
142
- const label = escapeHTML(this.attr('label', ''));
143
- this.innerHTML = `<div class="mu-example">${label}</div>`;
144
- }
145
- }
146
-
147
- export const define = () => customElements.define('mu-example', MuExample);
148
- ```
149
-
150
- ---
151
-
152
- ## Questions?
153
-
154
- Feel free to open an issue with the `question` label or reach out directly.
155
-
156
- Thank you for helping make microUI better! 🚀
package/SECURITY.md DELETED
@@ -1,58 +0,0 @@
1
- # Security Policy
2
-
3
- ## Supported Versions
4
-
5
- | Version | Supported |
6
- | ------- | ------------------ |
7
- | 0.1.x | ✅ Actively maintained |
8
-
9
- ## Security Features
10
-
11
- microUI is designed with security in mind:
12
-
13
- ### Content Security Policy (CSP)
14
-
15
- Demo pages include strict CSP headers:
16
-
17
- ```html
18
- <meta http-equiv="Content-Security-Policy"
19
- content="default-src 'self';
20
- script-src 'self' 'unsafe-inline';
21
- style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
22
- font-src 'self' https://fonts.gstatic.com;
23
- img-src 'self' data:;
24
- connect-src 'self';
25
- frame-ancestors 'none';">
26
- ```
27
-
28
- **Features**:
29
- - `frame-ancestors 'none'` - Prevents clickjacking
30
- - `connect-src 'self'` - Prevents data exfiltration
31
- - No `'unsafe-eval'` - Blocks dynamic code execution
32
-
33
- ### Zero Dependencies
34
-
35
- The production bundle has **zero runtime dependencies**, eliminating supply chain risks.
36
-
37
- ### Safe Code Patterns
38
-
39
- - ✅ No `eval()` or `Function()` calls
40
- - ✅ No `document.write` or `insertAdjacentHTML`
41
- - ✅ No prototype pollution patterns (`__proto__`)
42
- - ✅ innerHTML uses static templates only (no user input)
43
- - ✅ No hardcoded secrets or credentials
44
-
45
- ## Reporting a Vulnerability
46
-
47
- Please report security vulnerabilities by opening an issue with the `security` label, or contact the maintainer directly.
48
-
49
- **Response Time**: We aim to respond within 48 hours.
50
-
51
- ## Security Audit
52
-
53
- Last audit: **2026-02-02** (v0.1.0)
54
-
55
- - Full codebase review completed
56
- - CVE research for all technologies
57
- - XSS vulnerabilities identified and **fully remediated**
58
- - Centralized `escapeHTML()` utility applied to all dynamic content
@@ -1,8 +0,0 @@
1
- /**
2
- * Auto-generated route for: alerts
3
- * Dependencies: mu-alert, mu-stack, mu-example, mu-code
4
- */
5
- import '../../../dist/components/mu-alert.js';
6
- import '../../../dist/components/mu-stack.js';
7
- import '../../../dist/components/mu-example.js';
8
- import '../../../dist/components/mu-code.js';
@@ -1,8 +0,0 @@
1
- /**
2
- * Auto-generated route for: avatars
3
- * Dependencies: mu-avatar, mu-stack, mu-example, mu-code
4
- */
5
- import '../../../dist/components/mu-avatar.js';
6
- import '../../../dist/components/mu-stack.js';
7
- import '../../../dist/components/mu-example.js';
8
- import '../../../dist/components/mu-code.js';
@@ -1,8 +0,0 @@
1
- /**
2
- * Auto-generated route for: badges
3
- * Dependencies: mu-badge, mu-stack, mu-example, mu-code
4
- */
5
- import '../../../dist/components/mu-badge.js';
6
- import '../../../dist/components/mu-stack.js';
7
- import '../../../dist/components/mu-example.js';
8
- import '../../../dist/components/mu-code.js';
@@ -1,10 +0,0 @@
1
- /**
2
- * Auto-generated route for: buttons
3
- * Dependencies: mu-button, mu-stack, mu-tabs, mu-example, mu-code, mu-api-table
4
- */
5
- import '../../../dist/components/mu-button.js';
6
- import '../../../dist/components/mu-stack.js';
7
- import '../../../dist/components/mu-tabs.js';
8
- import '../../../dist/components/mu-example.js';
9
- import '../../../dist/components/mu-code.js';
10
- import '../../../dist/components/mu-api-table.js';
@@ -1,10 +0,0 @@
1
- /**
2
- * Auto-generated route for: cards
3
- * Dependencies: mu-card, mu-stack, mu-tabs, mu-example, mu-code, mu-api-table
4
- */
5
- import '../../../dist/components/mu-card.js';
6
- import '../../../dist/components/mu-stack.js';
7
- import '../../../dist/components/mu-tabs.js';
8
- import '../../../dist/components/mu-example.js';
9
- import '../../../dist/components/mu-code.js';
10
- import '../../../dist/components/mu-api-table.js';
@@ -1,9 +0,0 @@
1
- /**
2
- * Auto-generated route for: checkboxes
3
- * Dependencies: mu-checkbox, mu-stack, mu-tabs, mu-example, mu-code
4
- */
5
- import '../../../dist/components/mu-checkbox.js';
6
- import '../../../dist/components/mu-stack.js';
7
- import '../../../dist/components/mu-tabs.js';
8
- import '../../../dist/components/mu-example.js';
9
- import '../../../dist/components/mu-code.js';
@@ -1,8 +0,0 @@
1
- /**
2
- * Auto-generated route for: chips
3
- * Dependencies: mu-chip, mu-stack, mu-example, mu-code
4
- */
5
- import '../../../dist/components/mu-chip.js';
6
- import '../../../dist/components/mu-stack.js';
7
- import '../../../dist/components/mu-example.js';
8
- import '../../../dist/components/mu-code.js';