microui-wc 0.1.0 → 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 (343) 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 +116 -116
  5. package/dist/README.md +21 -16
  6. package/dist/components.css +1 -1
  7. package/dist/microui.css +1 -1
  8. package/dist/microui.esm.js.map +1 -1
  9. package/dist/microui.min.js.map +1 -1
  10. package/dist/styles/components/switch.css +1 -1
  11. package/docs/getting-started.md +3 -3
  12. package/package.json +38 -10
  13. package/src/components/mu-schema-form.js +1 -1
  14. package/src/styles/components/switch.css +7 -8
  15. package/src/styles/components.css +6 -6
  16. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  17. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -33
  18. package/.github/PULL_REQUEST_TEMPLATE.md +0 -28
  19. package/.github/workflows/ci.yml +0 -42
  20. package/.github/workflows/deploy-pages.yml +0 -112
  21. package/CODE_OF_CONDUCT.md +0 -59
  22. package/CONTRIBUTING.md +0 -156
  23. package/SECURITY.md +0 -58
  24. package/app/.generated/routes/alerts.js +0 -8
  25. package/app/.generated/routes/avatars.js +0 -8
  26. package/app/.generated/routes/badges.js +0 -8
  27. package/app/.generated/routes/buttons.js +0 -10
  28. package/app/.generated/routes/cards.js +0 -10
  29. package/app/.generated/routes/checkboxes.js +0 -9
  30. package/app/.generated/routes/chips.js +0 -8
  31. package/app/.generated/routes/dropdowns.js +0 -9
  32. package/app/.generated/routes/home.js +0 -7
  33. package/app/.generated/routes/icons.js +0 -9
  34. package/app/.generated/routes/inputs.js +0 -10
  35. package/app/.generated/routes/installation.js +0 -7
  36. package/app/.generated/routes/layout.js +0 -9
  37. package/app/.generated/routes/modals.js +0 -9
  38. package/app/.generated/routes/navbar.js +0 -7
  39. package/app/.generated/routes/progress.js +0 -9
  40. package/app/.generated/routes/radios.js +0 -9
  41. package/app/.generated/routes/switches.js +0 -9
  42. package/app/.generated/routes/tabs.js +0 -8
  43. package/app/.generated/routes/toasts.js +0 -9
  44. package/app/index.html +0 -67
  45. package/app/pages/alerts.html +0 -23
  46. package/app/pages/avatars.html +0 -22
  47. package/app/pages/badges.html +0 -22
  48. package/app/pages/buttons.html +0 -71
  49. package/app/pages/cards.html +0 -54
  50. package/app/pages/checkboxes.html +0 -39
  51. package/app/pages/chips.html +0 -23
  52. package/app/pages/dropdowns.html +0 -41
  53. package/app/pages/home.html +0 -59
  54. package/app/pages/icons.html +0 -29
  55. package/app/pages/inputs.html +0 -66
  56. package/app/pages/installation.html +0 -34
  57. package/app/pages/layout.html +0 -30
  58. package/app/pages/modals.html +0 -21
  59. package/app/pages/navbar.html +0 -22
  60. package/app/pages/progress.html +0 -35
  61. package/app/pages/radios.html +0 -40
  62. package/app/pages/switches.html +0 -39
  63. package/app/pages/tabs.html +0 -30
  64. package/app/pages/toasts.html +0 -22
  65. package/app-dist/index.html +0 -67
  66. package/app-dist/pages/alerts.html +0 -23
  67. package/app-dist/pages/avatars.html +0 -22
  68. package/app-dist/pages/badges.html +0 -22
  69. package/app-dist/pages/buttons.html +0 -71
  70. package/app-dist/pages/cards.html +0 -54
  71. package/app-dist/pages/checkboxes.html +0 -39
  72. package/app-dist/pages/chips.html +0 -23
  73. package/app-dist/pages/dropdowns.html +0 -41
  74. package/app-dist/pages/home.html +0 -59
  75. package/app-dist/pages/icons.html +0 -29
  76. package/app-dist/pages/inputs.html +0 -66
  77. package/app-dist/pages/installation.html +0 -34
  78. package/app-dist/pages/layout.html +0 -30
  79. package/app-dist/pages/modals.html +0 -21
  80. package/app-dist/pages/navbar.html +0 -22
  81. package/app-dist/pages/progress.html +0 -35
  82. package/app-dist/pages/radios.html +0 -40
  83. package/app-dist/pages/switches.html +0 -39
  84. package/app-dist/pages/tabs.html +0 -30
  85. package/app-dist/pages/toasts.html +0 -22
  86. package/app-dist/pages.json +0 -217
  87. package/app-dist/routes/alerts.js +0 -5
  88. package/app-dist/routes/avatars.js +0 -1
  89. package/app-dist/routes/badges.js +0 -1
  90. package/app-dist/routes/buttons.js +0 -1
  91. package/app-dist/routes/cards.js +0 -1
  92. package/app-dist/routes/checkboxes.js +0 -9
  93. package/app-dist/routes/chips.js +0 -4
  94. package/app-dist/routes/chunk-019e5e2f.js +0 -5
  95. package/app-dist/routes/chunk-0m4j19yd.js +0 -2
  96. package/app-dist/routes/chunk-0tmmp5q0.js +0 -1
  97. package/app-dist/routes/chunk-10xn709r.js +0 -1
  98. package/app-dist/routes/chunk-15m2qcda.js +0 -2
  99. package/app-dist/routes/chunk-1bh8g23n.js +0 -1
  100. package/app-dist/routes/chunk-1vg0v937.js +0 -1
  101. package/app-dist/routes/chunk-1zvcgy3j.js +0 -1
  102. package/app-dist/routes/chunk-2afb0861.js +0 -1
  103. package/app-dist/routes/chunk-2c6ttpzt.js +0 -5
  104. package/app-dist/routes/chunk-3dy30fhs.js +0 -1
  105. package/app-dist/routes/chunk-426dnces.js +0 -13
  106. package/app-dist/routes/chunk-44kgxery.js +0 -1
  107. package/app-dist/routes/chunk-47fdnejd.js +0 -33
  108. package/app-dist/routes/chunk-49a6t2vq.js +0 -1
  109. package/app-dist/routes/chunk-4fe1rm5b.js +0 -1
  110. package/app-dist/routes/chunk-4ggmvkta.js +0 -33
  111. package/app-dist/routes/chunk-4vkz81q7.js +0 -33
  112. package/app-dist/routes/chunk-4w4tmj8f.js +0 -31
  113. package/app-dist/routes/chunk-532s62kr.js +0 -31
  114. package/app-dist/routes/chunk-5hm3bssy.js +0 -33
  115. package/app-dist/routes/chunk-5vrh24hc.js +0 -1
  116. package/app-dist/routes/chunk-61pcg25a.js +0 -1
  117. package/app-dist/routes/chunk-6nfhygvf.js +0 -1
  118. package/app-dist/routes/chunk-700e7je6.js +0 -33
  119. package/app-dist/routes/chunk-7fsn17kg.js +0 -1
  120. package/app-dist/routes/chunk-7k789b32.js +0 -1
  121. package/app-dist/routes/chunk-7r46q0ys.js +0 -36
  122. package/app-dist/routes/chunk-86fmc1fr.js +0 -5
  123. package/app-dist/routes/chunk-8qth37vw.js +0 -1
  124. package/app-dist/routes/chunk-924wv8n0.js +0 -1
  125. package/app-dist/routes/chunk-9mbhgxk9.js +0 -1
  126. package/app-dist/routes/chunk-a216hyd9.js +0 -1
  127. package/app-dist/routes/chunk-akzxykh9.js +0 -33
  128. package/app-dist/routes/chunk-b3dcvy8c.js +0 -1
  129. package/app-dist/routes/chunk-b74zahz5.js +0 -31
  130. package/app-dist/routes/chunk-bftj53p2.js +0 -5
  131. package/app-dist/routes/chunk-c01hnz3e.js +0 -1
  132. package/app-dist/routes/chunk-d8pvv5km.js +0 -1
  133. package/app-dist/routes/chunk-dev0aezr.js +0 -2
  134. package/app-dist/routes/chunk-dh6vnv0e.js +0 -1
  135. package/app-dist/routes/chunk-dn2cbpva.js +0 -36
  136. package/app-dist/routes/chunk-dvn0my90.js +0 -1
  137. package/app-dist/routes/chunk-dvq8mnve.js +0 -36
  138. package/app-dist/routes/chunk-e8c2gc4d.js +0 -5
  139. package/app-dist/routes/chunk-ejf9ak2x.js +0 -1
  140. package/app-dist/routes/chunk-f083m55s.js +0 -1
  141. package/app-dist/routes/chunk-fnrj28s1.js +0 -31
  142. package/app-dist/routes/chunk-fvg3yjdp.js +0 -31
  143. package/app-dist/routes/chunk-g7k381n1.js +0 -1
  144. package/app-dist/routes/chunk-h01kq2ae.js +0 -13
  145. package/app-dist/routes/chunk-h4dk761v.js +0 -5
  146. package/app-dist/routes/chunk-hmx91z2x.js +0 -5
  147. package/app-dist/routes/chunk-hxbg4m42.js +0 -36
  148. package/app-dist/routes/chunk-jbjnfp2b.js +0 -2
  149. package/app-dist/routes/chunk-jxtz5vv6.js +0 -36
  150. package/app-dist/routes/chunk-jxzcs0ey.js +0 -36
  151. package/app-dist/routes/chunk-kt7wwhcx.js +0 -1
  152. package/app-dist/routes/chunk-kzptszyc.js +0 -33
  153. package/app-dist/routes/chunk-mhgca4w4.js +0 -2
  154. package/app-dist/routes/chunk-mhswxa20.js +0 -1
  155. package/app-dist/routes/chunk-n8zfeex6.js +0 -1
  156. package/app-dist/routes/chunk-pee47b2r.js +0 -1
  157. package/app-dist/routes/chunk-pesmw829.js +0 -1
  158. package/app-dist/routes/chunk-pgc4c6f3.js +0 -36
  159. package/app-dist/routes/chunk-q8egegm1.js +0 -1
  160. package/app-dist/routes/chunk-q9mn2qyq.js +0 -36
  161. package/app-dist/routes/chunk-qh0rtaf3.js +0 -5
  162. package/app-dist/routes/chunk-qqhmk6ye.js +0 -2
  163. package/app-dist/routes/chunk-qrxygmf7.js +0 -33
  164. package/app-dist/routes/chunk-r46yzksx.js +0 -36
  165. package/app-dist/routes/chunk-rgpbw2w0.js +0 -5
  166. package/app-dist/routes/chunk-rnpzv3d8.js +0 -2
  167. package/app-dist/routes/chunk-s5v8cv05.js +0 -2
  168. package/app-dist/routes/chunk-sbwn5bpc.js +0 -1
  169. package/app-dist/routes/chunk-sqbg8jbt.js +0 -33
  170. package/app-dist/routes/chunk-sv8dqnf7.js +0 -1
  171. package/app-dist/routes/chunk-t67sw3za.js +0 -1
  172. package/app-dist/routes/chunk-tjdpqwdf.js +0 -31
  173. package/app-dist/routes/chunk-tq2mfghg.js +0 -1
  174. package/app-dist/routes/chunk-ttn10vt6.js +0 -1
  175. package/app-dist/routes/chunk-v2hzpjxr.js +0 -1
  176. package/app-dist/routes/chunk-wfjjkw9y.js +0 -1
  177. package/app-dist/routes/chunk-wt8cxzmf.js +0 -31
  178. package/app-dist/routes/chunk-x45d372k.js +0 -5
  179. package/app-dist/routes/chunk-y3wsazkt.js +0 -1
  180. package/app-dist/routes/chunk-y7pmgc7t.js +0 -33
  181. package/app-dist/routes/chunk-zefdt2q3.js +0 -31
  182. package/app-dist/routes/dropdowns.js +0 -6
  183. package/app-dist/routes/home.js +0 -1
  184. package/app-dist/routes/icons.js +0 -1
  185. package/app-dist/routes/inputs.js +0 -12
  186. package/app-dist/routes/installation.js +0 -1
  187. package/app-dist/routes/layout.js +0 -1
  188. package/app-dist/routes/modals.js +0 -7
  189. package/app-dist/routes/navbar.js +0 -1
  190. package/app-dist/routes/progress.js +0 -1
  191. package/app-dist/routes/radios.js +0 -6
  192. package/app-dist/routes/switches.js +0 -6
  193. package/app-dist/routes/tabs.js +0 -1
  194. package/app-dist/routes/toasts.js +0 -16
  195. package/assets/fonts/material-symbols-mini.woff2 +0 -0
  196. package/assets/fonts/material-symbols.woff2 +0 -0
  197. package/assets/fonts/roboto-400.woff2 +0 -0
  198. package/assets/fonts/roboto-500.woff2 +0 -0
  199. package/assets/fonts/roboto-700.woff2 +0 -0
  200. package/assets/logo-banner-400.jpg +0 -0
  201. package/assets/logo-banner-400.webp +0 -0
  202. package/assets/logo-banner-800.webp +0 -0
  203. package/assets/logo-banner.jpg +0 -0
  204. package/assets/logo-icon-64.jpg +0 -0
  205. package/assets/logo-icon-64.webp +0 -0
  206. package/assets/logo-icon.jpg +0 -0
  207. package/assets/logo-square.jpg +0 -0
  208. package/bun.lock +0 -312
  209. package/bunfig.toml +0 -4
  210. package/custom-elements.json +0 -1916
  211. package/demo/api/sample-data.json +0 -38
  212. package/demo/content/alerts.html +0 -115
  213. package/demo/content/avatars.html +0 -70
  214. package/demo/content/badges.html +0 -65
  215. package/demo/content/buttons.html +0 -188
  216. package/demo/content/callouts.html +0 -91
  217. package/demo/content/cards.html +0 -121
  218. package/demo/content/checkboxes.html +0 -178
  219. package/demo/content/chips.html +0 -67
  220. package/demo/content/codeblocks.html +0 -101
  221. package/demo/content/confirms.html +0 -115
  222. package/demo/content/datatables.html +0 -149
  223. package/demo/content/dividers.html +0 -119
  224. package/demo/content/dropdowns.html +0 -89
  225. package/demo/content/enterprise.html +0 -252
  226. package/demo/content/home.html +0 -149
  227. package/demo/content/icons.html +0 -89
  228. package/demo/content/inputs.html +0 -135
  229. package/demo/content/installation.html +0 -16
  230. package/demo/content/layout.html +0 -136
  231. package/demo/content/modals.html +0 -141
  232. package/demo/content/navbar.html +0 -70
  233. package/demo/content/progress.html +0 -119
  234. package/demo/content/radios.html +0 -88
  235. package/demo/content/skeletons.html +0 -109
  236. package/demo/content/spinners.html +0 -96
  237. package/demo/content/switches.html +0 -84
  238. package/demo/content/tables.html +0 -124
  239. package/demo/content/tabs.html +0 -85
  240. package/demo/content/toasts.html +0 -116
  241. package/demo/content/tooltips.html +0 -107
  242. package/demo/content/virtual-lists.html +0 -233
  243. package/demo/favicon.ico +0 -0
  244. package/demo/favicon.png +0 -0
  245. package/demo/full.html +0 -52
  246. package/demo/iife.html +0 -46
  247. package/demo/manifest.json +0 -34
  248. package/demo/pages/datatable-demo.html +0 -237
  249. package/demo/pages/prompt-ui-demo.html +0 -218
  250. package/demo/pages/responsive-demo.html +0 -122
  251. package/demo/pages/schema-form-demo.html +0 -270
  252. package/demo/robots.txt +0 -6
  253. package/demo/shell.html +0 -712
  254. package/demo/sw.js +0 -387
  255. package/lighthouse-audit.mjs +0 -113
  256. package/scripts/analyze-components.js +0 -105
  257. package/scripts/build-app.js +0 -193
  258. package/scripts/build-framework.js +0 -444
  259. package/scripts/build-utils.js +0 -101
  260. package/scripts/test-isolated.js +0 -151
  261. package/server.js +0 -256
  262. package/tests/agents/agent-integration.test.js +0 -76
  263. package/tests/benchmark.html +0 -296
  264. package/tests/build/scan-components.test.js +0 -173
  265. package/tests/components/all-components.test.js +0 -245
  266. package/tests/components/all-missing-components.test.js +0 -574
  267. package/tests/components/mu-alert.test.js +0 -113
  268. package/tests/components/mu-avatar.test.js +0 -148
  269. package/tests/components/mu-badge.test.js +0 -92
  270. package/tests/components/mu-button.test.js +0 -112
  271. package/tests/components/mu-card.test.js +0 -89
  272. package/tests/components/mu-checkbox.test.js +0 -158
  273. package/tests/components/mu-chip.test.js +0 -118
  274. package/tests/components/mu-container.test.js +0 -120
  275. package/tests/components/mu-divider.test.js +0 -98
  276. package/tests/components/mu-drawer-item.test.js +0 -199
  277. package/tests/components/mu-drawer.test.js +0 -96
  278. package/tests/components/mu-dropdown.test.js +0 -125
  279. package/tests/components/mu-form.test.js +0 -138
  280. package/tests/components/mu-grid.test.js +0 -135
  281. package/tests/components/mu-icon.test.js +0 -110
  282. package/tests/components/mu-input.test.js +0 -131
  283. package/tests/components/mu-lazy.test.js +0 -103
  284. package/tests/components/mu-modal.test.js +0 -275
  285. package/tests/components/mu-navbar.test.js +0 -101
  286. package/tests/components/mu-progress.test.js +0 -115
  287. package/tests/components/mu-radio.test.js +0 -114
  288. package/tests/components/mu-repeat.test.js +0 -106
  289. package/tests/components/mu-sidebar.test.js +0 -126
  290. package/tests/components/mu-skeleton.test.js +0 -162
  291. package/tests/components/mu-stack.test.js +0 -143
  292. package/tests/components/mu-switch.test.js +0 -292
  293. package/tests/components/mu-table.test.js +0 -124
  294. package/tests/components/mu-tabs.test.js +0 -104
  295. package/tests/components/mu-textarea.test.js +0 -115
  296. package/tests/components/mu-toast.test.js +0 -321
  297. package/tests/components/mu-tooltip.test.js +0 -133
  298. package/tests/components/mu-virtual-list.test.js +0 -109
  299. package/tests/core/MuElement.test.js +0 -120
  300. package/tests/core/agent-api.test.js +0 -125
  301. package/tests/core/all-core-modules.test.js +0 -442
  302. package/tests/core/bus.test.js +0 -364
  303. package/tests/core/component-schema.test.js +0 -160
  304. package/tests/core/feature-registry.test.js +0 -198
  305. package/tests/core/form-state.test.js +0 -167
  306. package/tests/core/http.test.js +0 -119
  307. package/tests/core/keyboard.test.js +0 -319
  308. package/tests/core/layers.test.js +0 -129
  309. package/tests/core/namespaced-stores.test.js +0 -114
  310. package/tests/core/render.test.js +0 -121
  311. package/tests/core/ripple.test.js +0 -131
  312. package/tests/core/router.test.js +0 -89
  313. package/tests/core/scheduler.test.js +0 -121
  314. package/tests/core/signals.test.js +0 -128
  315. package/tests/core/store.test.js +0 -171
  316. package/tests/core/transitions.test.js +0 -82
  317. package/tests/e2e/accessibility-harness.html +0 -58
  318. package/tests/e2e/accessibility.test.js +0 -401
  319. package/tests/e2e/agent-features.test.js +0 -372
  320. package/tests/e2e/card-spacing.test.js +0 -287
  321. package/tests/e2e/components.test.js +0 -439
  322. package/tests/e2e/demo-routes.test.js +0 -478
  323. package/tests/e2e/layout-css-fallback.test.js +0 -334
  324. package/tests/e2e/mu-alert.e2e.test.js +0 -111
  325. package/tests/e2e/mu-checkbox.test.js +0 -489
  326. package/tests/e2e/mu-chip.test.js +0 -347
  327. package/tests/e2e/mu-form.test.js +0 -499
  328. package/tests/e2e/mu-icon.test.js +0 -114
  329. package/tests/e2e/mu-radio.test.js +0 -113
  330. package/tests/e2e/mu-skeleton.test.js +0 -140
  331. package/tests/e2e/mu-switch.test.js +0 -415
  332. package/tests/e2e/mu-tabs.test.js +0 -494
  333. package/tests/e2e/mu-textarea.test.js +0 -242
  334. package/tests/e2e/mu-virtual-list.test.js +0 -427
  335. package/tests/e2e/perf-memory.test.js +0 -161
  336. package/tests/e2e/puppeteer-helper.js +0 -137
  337. package/tests/e2e/puppeteer.test.js +0 -226
  338. package/tests/e2e/pwa.test.js +0 -261
  339. package/tests/e2e/test-harness.html +0 -319
  340. package/tests/manual/test-components.html +0 -120
  341. package/tests/memory-test.html +0 -309
  342. package/tests/setup-dom.js +0 -93
  343. 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.0",
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": {
@@ -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
  */
@@ -33,15 +33,15 @@
33
33
  }
34
34
 
35
35
  .mu-spinner--md .mu-spinner__circle {
36
- width: 48px;
37
- /* MD3: 48dp standard circular diameter */
38
- height: 48px;
39
- border-width: 4px;
36
+ width: 32px;
37
+ height: 32px;
38
+ border-width: 3px;
40
39
  }
41
40
 
42
41
  .mu-spinner--lg .mu-spinner__circle {
43
- width: 40px;
44
- height: 40px;
42
+ width: 48px;
43
+ /* MD3: 48dp standard circular diameter */
44
+ height: 48px;
45
45
  border-width: 4px;
46
46
  }
47
47
 
@@ -65,5 +65,4 @@
65
65
 
66
66
  .mu-spinner--white {
67
67
  color: white;
68
- }
69
-
68
+ }
@@ -1344,15 +1344,15 @@ mu-alert mu-icon:first-child {
1344
1344
  }
1345
1345
 
1346
1346
  .mu-spinner--md .mu-spinner__circle {
1347
- width: 48px;
1348
- /* MD3: 48dp standard circular diameter */
1349
- height: 48px;
1350
- border-width: 4px;
1347
+ width: 32px;
1348
+ height: 32px;
1349
+ border-width: 3px;
1351
1350
  }
1352
1351
 
1353
1352
  .mu-spinner--lg .mu-spinner__circle {
1354
- width: 40px;
1355
- height: 40px;
1353
+ width: 48px;
1354
+ /* MD3: 48dp standard circular diameter */
1355
+ height: 48px;
1356
1356
  border-width: 4px;
1357
1357
  }
1358
1358
 
@@ -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';