microui-wc 0.1.0

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 (609) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +40 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +33 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  4. package/.github/workflows/ci.yml +42 -0
  5. package/.github/workflows/deploy-pages.yml +112 -0
  6. package/AGENTS.md +2366 -0
  7. package/CHANGELOG.md +47 -0
  8. package/CODE_OF_CONDUCT.md +59 -0
  9. package/CONTRIBUTING.md +156 -0
  10. package/LICENSE +190 -0
  11. package/README.md +254 -0
  12. package/SECURITY.md +58 -0
  13. package/app/.generated/routes/alerts.js +8 -0
  14. package/app/.generated/routes/avatars.js +8 -0
  15. package/app/.generated/routes/badges.js +8 -0
  16. package/app/.generated/routes/buttons.js +10 -0
  17. package/app/.generated/routes/cards.js +10 -0
  18. package/app/.generated/routes/checkboxes.js +9 -0
  19. package/app/.generated/routes/chips.js +8 -0
  20. package/app/.generated/routes/dropdowns.js +9 -0
  21. package/app/.generated/routes/home.js +7 -0
  22. package/app/.generated/routes/icons.js +9 -0
  23. package/app/.generated/routes/inputs.js +10 -0
  24. package/app/.generated/routes/installation.js +7 -0
  25. package/app/.generated/routes/layout.js +9 -0
  26. package/app/.generated/routes/modals.js +9 -0
  27. package/app/.generated/routes/navbar.js +7 -0
  28. package/app/.generated/routes/progress.js +9 -0
  29. package/app/.generated/routes/radios.js +9 -0
  30. package/app/.generated/routes/switches.js +9 -0
  31. package/app/.generated/routes/tabs.js +8 -0
  32. package/app/.generated/routes/toasts.js +9 -0
  33. package/app/index.html +67 -0
  34. package/app/pages/alerts.html +23 -0
  35. package/app/pages/avatars.html +22 -0
  36. package/app/pages/badges.html +22 -0
  37. package/app/pages/buttons.html +71 -0
  38. package/app/pages/cards.html +54 -0
  39. package/app/pages/checkboxes.html +39 -0
  40. package/app/pages/chips.html +23 -0
  41. package/app/pages/dropdowns.html +41 -0
  42. package/app/pages/home.html +59 -0
  43. package/app/pages/icons.html +29 -0
  44. package/app/pages/inputs.html +66 -0
  45. package/app/pages/installation.html +34 -0
  46. package/app/pages/layout.html +30 -0
  47. package/app/pages/modals.html +21 -0
  48. package/app/pages/navbar.html +22 -0
  49. package/app/pages/progress.html +35 -0
  50. package/app/pages/radios.html +40 -0
  51. package/app/pages/switches.html +39 -0
  52. package/app/pages/tabs.html +30 -0
  53. package/app/pages/toasts.html +22 -0
  54. package/app-dist/index.html +67 -0
  55. package/app-dist/pages/alerts.html +23 -0
  56. package/app-dist/pages/avatars.html +22 -0
  57. package/app-dist/pages/badges.html +22 -0
  58. package/app-dist/pages/buttons.html +71 -0
  59. package/app-dist/pages/cards.html +54 -0
  60. package/app-dist/pages/checkboxes.html +39 -0
  61. package/app-dist/pages/chips.html +23 -0
  62. package/app-dist/pages/dropdowns.html +41 -0
  63. package/app-dist/pages/home.html +59 -0
  64. package/app-dist/pages/icons.html +29 -0
  65. package/app-dist/pages/inputs.html +66 -0
  66. package/app-dist/pages/installation.html +34 -0
  67. package/app-dist/pages/layout.html +30 -0
  68. package/app-dist/pages/modals.html +21 -0
  69. package/app-dist/pages/navbar.html +22 -0
  70. package/app-dist/pages/progress.html +35 -0
  71. package/app-dist/pages/radios.html +40 -0
  72. package/app-dist/pages/switches.html +39 -0
  73. package/app-dist/pages/tabs.html +30 -0
  74. package/app-dist/pages/toasts.html +22 -0
  75. package/app-dist/pages.json +217 -0
  76. package/app-dist/routes/alerts.js +5 -0
  77. package/app-dist/routes/avatars.js +1 -0
  78. package/app-dist/routes/badges.js +1 -0
  79. package/app-dist/routes/buttons.js +1 -0
  80. package/app-dist/routes/cards.js +1 -0
  81. package/app-dist/routes/checkboxes.js +9 -0
  82. package/app-dist/routes/chips.js +4 -0
  83. package/app-dist/routes/chunk-019e5e2f.js +5 -0
  84. package/app-dist/routes/chunk-0m4j19yd.js +2 -0
  85. package/app-dist/routes/chunk-0tmmp5q0.js +1 -0
  86. package/app-dist/routes/chunk-10xn709r.js +1 -0
  87. package/app-dist/routes/chunk-15m2qcda.js +2 -0
  88. package/app-dist/routes/chunk-1bh8g23n.js +1 -0
  89. package/app-dist/routes/chunk-1vg0v937.js +1 -0
  90. package/app-dist/routes/chunk-1zvcgy3j.js +1 -0
  91. package/app-dist/routes/chunk-2afb0861.js +1 -0
  92. package/app-dist/routes/chunk-2c6ttpzt.js +5 -0
  93. package/app-dist/routes/chunk-3dy30fhs.js +1 -0
  94. package/app-dist/routes/chunk-426dnces.js +13 -0
  95. package/app-dist/routes/chunk-44kgxery.js +1 -0
  96. package/app-dist/routes/chunk-47fdnejd.js +33 -0
  97. package/app-dist/routes/chunk-49a6t2vq.js +1 -0
  98. package/app-dist/routes/chunk-4fe1rm5b.js +1 -0
  99. package/app-dist/routes/chunk-4ggmvkta.js +33 -0
  100. package/app-dist/routes/chunk-4vkz81q7.js +33 -0
  101. package/app-dist/routes/chunk-4w4tmj8f.js +31 -0
  102. package/app-dist/routes/chunk-532s62kr.js +31 -0
  103. package/app-dist/routes/chunk-5hm3bssy.js +33 -0
  104. package/app-dist/routes/chunk-5vrh24hc.js +1 -0
  105. package/app-dist/routes/chunk-61pcg25a.js +1 -0
  106. package/app-dist/routes/chunk-6nfhygvf.js +1 -0
  107. package/app-dist/routes/chunk-700e7je6.js +33 -0
  108. package/app-dist/routes/chunk-7fsn17kg.js +1 -0
  109. package/app-dist/routes/chunk-7k789b32.js +1 -0
  110. package/app-dist/routes/chunk-7r46q0ys.js +36 -0
  111. package/app-dist/routes/chunk-86fmc1fr.js +5 -0
  112. package/app-dist/routes/chunk-8qth37vw.js +1 -0
  113. package/app-dist/routes/chunk-924wv8n0.js +1 -0
  114. package/app-dist/routes/chunk-9mbhgxk9.js +1 -0
  115. package/app-dist/routes/chunk-a216hyd9.js +1 -0
  116. package/app-dist/routes/chunk-akzxykh9.js +33 -0
  117. package/app-dist/routes/chunk-b3dcvy8c.js +1 -0
  118. package/app-dist/routes/chunk-b74zahz5.js +31 -0
  119. package/app-dist/routes/chunk-bftj53p2.js +5 -0
  120. package/app-dist/routes/chunk-c01hnz3e.js +1 -0
  121. package/app-dist/routes/chunk-d8pvv5km.js +1 -0
  122. package/app-dist/routes/chunk-dev0aezr.js +2 -0
  123. package/app-dist/routes/chunk-dh6vnv0e.js +1 -0
  124. package/app-dist/routes/chunk-dn2cbpva.js +36 -0
  125. package/app-dist/routes/chunk-dvn0my90.js +1 -0
  126. package/app-dist/routes/chunk-dvq8mnve.js +36 -0
  127. package/app-dist/routes/chunk-e8c2gc4d.js +5 -0
  128. package/app-dist/routes/chunk-ejf9ak2x.js +1 -0
  129. package/app-dist/routes/chunk-f083m55s.js +1 -0
  130. package/app-dist/routes/chunk-fnrj28s1.js +31 -0
  131. package/app-dist/routes/chunk-fvg3yjdp.js +31 -0
  132. package/app-dist/routes/chunk-g7k381n1.js +1 -0
  133. package/app-dist/routes/chunk-h01kq2ae.js +13 -0
  134. package/app-dist/routes/chunk-h4dk761v.js +5 -0
  135. package/app-dist/routes/chunk-hmx91z2x.js +5 -0
  136. package/app-dist/routes/chunk-hxbg4m42.js +36 -0
  137. package/app-dist/routes/chunk-jbjnfp2b.js +2 -0
  138. package/app-dist/routes/chunk-jxtz5vv6.js +36 -0
  139. package/app-dist/routes/chunk-jxzcs0ey.js +36 -0
  140. package/app-dist/routes/chunk-kt7wwhcx.js +1 -0
  141. package/app-dist/routes/chunk-kzptszyc.js +33 -0
  142. package/app-dist/routes/chunk-mhgca4w4.js +2 -0
  143. package/app-dist/routes/chunk-mhswxa20.js +1 -0
  144. package/app-dist/routes/chunk-n8zfeex6.js +1 -0
  145. package/app-dist/routes/chunk-pee47b2r.js +1 -0
  146. package/app-dist/routes/chunk-pesmw829.js +1 -0
  147. package/app-dist/routes/chunk-pgc4c6f3.js +36 -0
  148. package/app-dist/routes/chunk-q8egegm1.js +1 -0
  149. package/app-dist/routes/chunk-q9mn2qyq.js +36 -0
  150. package/app-dist/routes/chunk-qh0rtaf3.js +5 -0
  151. package/app-dist/routes/chunk-qqhmk6ye.js +2 -0
  152. package/app-dist/routes/chunk-qrxygmf7.js +33 -0
  153. package/app-dist/routes/chunk-r46yzksx.js +36 -0
  154. package/app-dist/routes/chunk-rgpbw2w0.js +5 -0
  155. package/app-dist/routes/chunk-rnpzv3d8.js +2 -0
  156. package/app-dist/routes/chunk-s5v8cv05.js +2 -0
  157. package/app-dist/routes/chunk-sbwn5bpc.js +1 -0
  158. package/app-dist/routes/chunk-sqbg8jbt.js +33 -0
  159. package/app-dist/routes/chunk-sv8dqnf7.js +1 -0
  160. package/app-dist/routes/chunk-t67sw3za.js +1 -0
  161. package/app-dist/routes/chunk-tjdpqwdf.js +31 -0
  162. package/app-dist/routes/chunk-tq2mfghg.js +1 -0
  163. package/app-dist/routes/chunk-ttn10vt6.js +1 -0
  164. package/app-dist/routes/chunk-v2hzpjxr.js +1 -0
  165. package/app-dist/routes/chunk-wfjjkw9y.js +1 -0
  166. package/app-dist/routes/chunk-wt8cxzmf.js +31 -0
  167. package/app-dist/routes/chunk-x45d372k.js +5 -0
  168. package/app-dist/routes/chunk-y3wsazkt.js +1 -0
  169. package/app-dist/routes/chunk-y7pmgc7t.js +33 -0
  170. package/app-dist/routes/chunk-zefdt2q3.js +31 -0
  171. package/app-dist/routes/dropdowns.js +6 -0
  172. package/app-dist/routes/home.js +1 -0
  173. package/app-dist/routes/icons.js +1 -0
  174. package/app-dist/routes/inputs.js +12 -0
  175. package/app-dist/routes/installation.js +1 -0
  176. package/app-dist/routes/layout.js +1 -0
  177. package/app-dist/routes/modals.js +7 -0
  178. package/app-dist/routes/navbar.js +1 -0
  179. package/app-dist/routes/progress.js +1 -0
  180. package/app-dist/routes/radios.js +6 -0
  181. package/app-dist/routes/switches.js +6 -0
  182. package/app-dist/routes/tabs.js +1 -0
  183. package/app-dist/routes/toasts.js +16 -0
  184. package/assets/fonts/material-symbols-mini.woff2 +0 -0
  185. package/assets/fonts/material-symbols.woff2 +0 -0
  186. package/assets/fonts/roboto-400.woff2 +0 -0
  187. package/assets/fonts/roboto-500.woff2 +0 -0
  188. package/assets/fonts/roboto-700.woff2 +0 -0
  189. package/assets/logo-banner-400.jpg +0 -0
  190. package/assets/logo-banner-400.webp +0 -0
  191. package/assets/logo-banner-800.webp +0 -0
  192. package/assets/logo-banner.jpg +0 -0
  193. package/assets/logo-icon-64.jpg +0 -0
  194. package/assets/logo-icon-64.webp +0 -0
  195. package/assets/logo-icon.jpg +0 -0
  196. package/assets/logo-square.jpg +0 -0
  197. package/bun.lock +312 -0
  198. package/bunfig.toml +4 -0
  199. package/custom-elements.json +1916 -0
  200. package/demo/api/sample-data.json +38 -0
  201. package/demo/content/alerts.html +115 -0
  202. package/demo/content/avatars.html +70 -0
  203. package/demo/content/badges.html +65 -0
  204. package/demo/content/buttons.html +188 -0
  205. package/demo/content/callouts.html +91 -0
  206. package/demo/content/cards.html +121 -0
  207. package/demo/content/checkboxes.html +178 -0
  208. package/demo/content/chips.html +67 -0
  209. package/demo/content/codeblocks.html +101 -0
  210. package/demo/content/confirms.html +115 -0
  211. package/demo/content/datatables.html +149 -0
  212. package/demo/content/dividers.html +119 -0
  213. package/demo/content/dropdowns.html +89 -0
  214. package/demo/content/enterprise.html +252 -0
  215. package/demo/content/home.html +149 -0
  216. package/demo/content/icons.html +89 -0
  217. package/demo/content/inputs.html +135 -0
  218. package/demo/content/installation.html +16 -0
  219. package/demo/content/layout.html +136 -0
  220. package/demo/content/modals.html +141 -0
  221. package/demo/content/navbar.html +70 -0
  222. package/demo/content/progress.html +119 -0
  223. package/demo/content/radios.html +88 -0
  224. package/demo/content/skeletons.html +109 -0
  225. package/demo/content/spinners.html +96 -0
  226. package/demo/content/switches.html +84 -0
  227. package/demo/content/tables.html +124 -0
  228. package/demo/content/tabs.html +85 -0
  229. package/demo/content/toasts.html +116 -0
  230. package/demo/content/tooltips.html +107 -0
  231. package/demo/content/virtual-lists.html +233 -0
  232. package/demo/favicon.ico +0 -0
  233. package/demo/favicon.png +0 -0
  234. package/demo/full.html +52 -0
  235. package/demo/iife.html +46 -0
  236. package/demo/manifest.json +34 -0
  237. package/demo/pages/datatable-demo.html +237 -0
  238. package/demo/pages/prompt-ui-demo.html +218 -0
  239. package/demo/pages/responsive-demo.html +122 -0
  240. package/demo/pages/schema-form-demo.html +270 -0
  241. package/demo/robots.txt +6 -0
  242. package/demo/shell.html +712 -0
  243. package/demo/sw.js +387 -0
  244. package/dist/AGENTS.md +2366 -0
  245. package/dist/README.md +254 -0
  246. package/dist/chunks/advanced.js +174 -0
  247. package/dist/chunks/chunk-1nhr1wrq.js +14 -0
  248. package/dist/chunks/chunk-hssyjbr0.js +2 -0
  249. package/dist/chunks/chunk-k8etzx0z.js +2 -0
  250. package/dist/chunks/chunk-rr1et8fg.js +2 -0
  251. package/dist/chunks/chunk-sjcx4fd5.js +6 -0
  252. package/dist/chunks/chunk-v1c777xh.js +5 -0
  253. package/dist/chunks/chunk-w5k5vwjd.js +13 -0
  254. package/dist/chunks/core.js +10 -0
  255. package/dist/chunks/display.js +17 -0
  256. package/dist/chunks/feedback.js +15 -0
  257. package/dist/chunks/forms.js +48 -0
  258. package/dist/chunks/layout.js +9 -0
  259. package/dist/components/chunk-4tezav8r.js +2 -0
  260. package/dist/components/chunk-fqyb2pms.js +2 -0
  261. package/dist/components/chunk-h7cdbhxw.js +13 -0
  262. package/dist/components/chunk-mzd8jwrs.js +2 -0
  263. package/dist/components/chunk-qwmxyn8e.js +2 -0
  264. package/dist/components/chunk-redtk47a.js +14 -0
  265. package/dist/components/mu-alert.js +5 -0
  266. package/dist/components/mu-api-table.js +33 -0
  267. package/dist/components/mu-avatar.js +1 -0
  268. package/dist/components/mu-badge.js +1 -0
  269. package/dist/components/mu-bottom-nav.js +1 -0
  270. package/dist/components/mu-button.js +1 -0
  271. package/dist/components/mu-callout.js +1 -0
  272. package/dist/components/mu-card.js +1 -0
  273. package/dist/components/mu-checkbox.js +9 -0
  274. package/dist/components/mu-chip.js +4 -0
  275. package/dist/components/mu-code.js +48 -0
  276. package/dist/components/mu-confirm.js +10 -0
  277. package/dist/components/mu-container.js +1 -0
  278. package/dist/components/mu-datatable.js +96 -0
  279. package/dist/components/mu-divider.js +1 -0
  280. package/dist/components/mu-doc-page.js +26 -0
  281. package/dist/components/mu-drawer-item.js +9 -0
  282. package/dist/components/mu-drawer.js +1 -0
  283. package/dist/components/mu-dropdown.js +6 -0
  284. package/dist/components/mu-error-boundary.js +10 -0
  285. package/dist/components/mu-example.js +38 -0
  286. package/dist/components/mu-fetch.js +1 -0
  287. package/dist/components/mu-form.js +1 -0
  288. package/dist/components/mu-grid.js +1 -0
  289. package/dist/components/mu-icon.js +5 -0
  290. package/dist/components/mu-input.js +12 -0
  291. package/dist/components/mu-layout.js +1 -0
  292. package/dist/components/mu-lazy.js +1 -0
  293. package/dist/components/mu-modal.js +7 -0
  294. package/dist/components/mu-navbar.js +1 -0
  295. package/dist/components/mu-page.js +1 -0
  296. package/dist/components/mu-progress.js +1 -0
  297. package/dist/components/mu-prompt-ui.js +20 -0
  298. package/dist/components/mu-radio.js +6 -0
  299. package/dist/components/mu-repeat.js +1 -0
  300. package/dist/components/mu-router.js +6 -0
  301. package/dist/components/mu-schema-form.js +76 -0
  302. package/dist/components/mu-sidebar.js +1 -0
  303. package/dist/components/mu-skeleton.js +13 -0
  304. package/dist/components/mu-spinner.js +1 -0
  305. package/dist/components/mu-stack.js +1 -0
  306. package/dist/components/mu-switch.js +6 -0
  307. package/dist/components/mu-table.js +1 -0
  308. package/dist/components/mu-tabs.js +1 -0
  309. package/dist/components/mu-textarea.js +11 -0
  310. package/dist/components/mu-theme-toggle.js +5 -0
  311. package/dist/components/mu-toast.js +4 -0
  312. package/dist/components/mu-tooltip.js +10 -0
  313. package/dist/components/mu-virtual-list.js +33 -0
  314. package/dist/components.css +1 -0
  315. package/dist/microui.css +1 -0
  316. package/dist/microui.d.ts +234 -0
  317. package/dist/microui.esm.js +549 -0
  318. package/dist/microui.esm.js.map +79 -0
  319. package/dist/microui.min.js +549 -0
  320. package/dist/microui.min.js.map +79 -0
  321. package/dist/routes/alerts.js +1 -0
  322. package/dist/routes/avatars.js +1 -0
  323. package/dist/routes/badges.js +1 -0
  324. package/dist/routes/buttons.js +1 -0
  325. package/dist/routes/callouts.js +1 -0
  326. package/dist/routes/cards.js +1 -0
  327. package/dist/routes/checkboxes.js +9 -0
  328. package/dist/routes/chips.js +4 -0
  329. package/dist/routes/chunk-19wgcncm.js +2 -0
  330. package/dist/routes/chunk-1khyr3v1.js +33 -0
  331. package/dist/routes/chunk-4rhxe97g.js +1 -0
  332. package/dist/routes/chunk-5qah04bh.js +2 -0
  333. package/dist/routes/chunk-7gfxy70n.js +5 -0
  334. package/dist/routes/chunk-e86zbeta.js +1 -0
  335. package/dist/routes/chunk-fagt36h6.js +2 -0
  336. package/dist/routes/chunk-fed7zr7m.js +1 -0
  337. package/dist/routes/chunk-hwj7pfwp.js +1 -0
  338. package/dist/routes/chunk-mhvcs2f8.js +5 -0
  339. package/dist/routes/chunk-nv3bddmj.js +13 -0
  340. package/dist/routes/chunk-q3f2aeqe.js +7 -0
  341. package/dist/routes/chunk-qxxa8trk.js +1 -0
  342. package/dist/routes/chunk-rw15y9zh.js +1 -0
  343. package/dist/routes/chunk-sfb7x11v.js +5 -0
  344. package/dist/routes/chunk-swyhghrm.js +48 -0
  345. package/dist/routes/chunk-sxddjs2d.js +2 -0
  346. package/dist/routes/chunk-vby0zg5w.js +17 -0
  347. package/dist/routes/chunk-w6zqjqqs.js +9 -0
  348. package/dist/routes/chunk-z960rexd.js +38 -0
  349. package/dist/routes/codeblocks.js +1 -0
  350. package/dist/routes/confirms.js +10 -0
  351. package/dist/routes/datatables.js +96 -0
  352. package/dist/routes/dividers.js +1 -0
  353. package/dist/routes/dropdowns.js +6 -0
  354. package/dist/routes/enterprise.js +15 -0
  355. package/dist/routes/home.js +1 -0
  356. package/dist/routes/icons.js +1 -0
  357. package/dist/routes/inputs.js +22 -0
  358. package/dist/routes/installation.js +1 -0
  359. package/dist/routes/layout.js +1 -0
  360. package/dist/routes/modals.js +1 -0
  361. package/dist/routes/navbar.js +1 -0
  362. package/dist/routes/page-components.json +316 -0
  363. package/dist/routes/progress.js +1 -0
  364. package/dist/routes/radios.js +6 -0
  365. package/dist/routes/route-deps.json +156 -0
  366. package/dist/routes/shell-critical.js +1 -0
  367. package/dist/routes/shell-deferred.js +1 -0
  368. package/dist/routes/shell.js +20 -0
  369. package/dist/routes/skeletons.js +13 -0
  370. package/dist/routes/spinners.js +1 -0
  371. package/dist/routes/src/chunks/core.js +36 -0
  372. package/dist/routes/switches.js +6 -0
  373. package/dist/routes/tables.js +1 -0
  374. package/dist/routes/tabs.js +1 -0
  375. package/dist/routes/toasts.js +1 -0
  376. package/dist/routes/tooltips.js +10 -0
  377. package/dist/routes/virtual-lists.js +33 -0
  378. package/dist/styles/common.css +1 -0
  379. package/dist/styles/components/animations.css +1 -0
  380. package/dist/styles/components/avatar.css +1 -0
  381. package/dist/styles/components/badge.css +1 -0
  382. package/dist/styles/components/bottom-nav.css +1 -0
  383. package/dist/styles/components/button.css +1 -0
  384. package/dist/styles/components/card.css +1 -0
  385. package/dist/styles/components/checkbox.css +1 -0
  386. package/dist/styles/components/chip.css +1 -0
  387. package/dist/styles/components/datatable.css +1 -0
  388. package/dist/styles/components/divider.css +1 -0
  389. package/dist/styles/components/drawer-item.css +1 -0
  390. package/dist/styles/components/drawer.css +1 -0
  391. package/dist/styles/components/grid.css +1 -0
  392. package/dist/styles/components/icon.css +1 -0
  393. package/dist/styles/components/input.css +1 -0
  394. package/dist/styles/components/layout.css +1 -0
  395. package/dist/styles/components/navbar.css +1 -0
  396. package/dist/styles/components/overlays.css +1 -0
  397. package/dist/styles/components/progress.css +1 -0
  398. package/dist/styles/components/prompt-ui.css +1 -0
  399. package/dist/styles/components/radio.css +1 -0
  400. package/dist/styles/components/schema-form.css +1 -0
  401. package/dist/styles/components/switch.css +1 -0
  402. package/dist/styles/components/tabs.css +1 -0
  403. package/dist/styles/components/tooltip.css +1 -0
  404. package/dist/styles/components/virtual-list.css +1 -0
  405. package/dist/tokens.css +1 -0
  406. package/docs/api-reference.md +175 -0
  407. package/docs/component-schema.md +231 -0
  408. package/docs/components.md +269 -0
  409. package/docs/design-system.md +183 -0
  410. package/docs/getting-started.md +198 -0
  411. package/docs/message-protocol.md +262 -0
  412. package/docs/utility-classes.md +205 -0
  413. package/lighthouse-audit.mjs +113 -0
  414. package/package.json +45 -0
  415. package/scripts/analyze-components.js +105 -0
  416. package/scripts/build-app.js +193 -0
  417. package/scripts/build-framework.js +444 -0
  418. package/scripts/build-utils.js +101 -0
  419. package/scripts/test-isolated.js +151 -0
  420. package/server.js +256 -0
  421. package/src/chunks/advanced.js +27 -0
  422. package/src/chunks/core.js +61 -0
  423. package/src/chunks/display.js +25 -0
  424. package/src/chunks/feedback.js +15 -0
  425. package/src/chunks/forms.js +25 -0
  426. package/src/chunks/layout.js +27 -0
  427. package/src/components/mu-alert.js +96 -0
  428. package/src/components/mu-api-table.js +167 -0
  429. package/src/components/mu-avatar.js +94 -0
  430. package/src/components/mu-badge.js +32 -0
  431. package/src/components/mu-bottom-nav.js +115 -0
  432. package/src/components/mu-button.js +61 -0
  433. package/src/components/mu-callout.js +71 -0
  434. package/src/components/mu-card.js +36 -0
  435. package/src/components/mu-checkbox.js +186 -0
  436. package/src/components/mu-chip.js +125 -0
  437. package/src/components/mu-code.js +534 -0
  438. package/src/components/mu-confirm.js +268 -0
  439. package/src/components/mu-container.js +53 -0
  440. package/src/components/mu-datatable.js +517 -0
  441. package/src/components/mu-divider.js +40 -0
  442. package/src/components/mu-doc-page.js +100 -0
  443. package/src/components/mu-drawer-item.js +158 -0
  444. package/src/components/mu-drawer.js +305 -0
  445. package/src/components/mu-dropdown.js +239 -0
  446. package/src/components/mu-error-boundary.js +191 -0
  447. package/src/components/mu-example.js +335 -0
  448. package/src/components/mu-fetch.js +256 -0
  449. package/src/components/mu-form.js +133 -0
  450. package/src/components/mu-grid.js +63 -0
  451. package/src/components/mu-icon.js +211 -0
  452. package/src/components/mu-input.js +142 -0
  453. package/src/components/mu-layout.js +129 -0
  454. package/src/components/mu-lazy.js +94 -0
  455. package/src/components/mu-modal.js +160 -0
  456. package/src/components/mu-navbar.js +71 -0
  457. package/src/components/mu-page.js +77 -0
  458. package/src/components/mu-progress.js +54 -0
  459. package/src/components/mu-prompt-ui.js +382 -0
  460. package/src/components/mu-radio.js +200 -0
  461. package/src/components/mu-repeat.js +135 -0
  462. package/src/components/mu-router.js +169 -0
  463. package/src/components/mu-schema-form.js +441 -0
  464. package/src/components/mu-sidebar.js +81 -0
  465. package/src/components/mu-skeleton.js +69 -0
  466. package/src/components/mu-spinner.js +30 -0
  467. package/src/components/mu-stack.js +59 -0
  468. package/src/components/mu-switch.js +150 -0
  469. package/src/components/mu-table.js +80 -0
  470. package/src/components/mu-tabs.js +112 -0
  471. package/src/components/mu-textarea.js +96 -0
  472. package/src/components/mu-theme-toggle.js +52 -0
  473. package/src/components/mu-toast.js +151 -0
  474. package/src/components/mu-tooltip.js +182 -0
  475. package/src/components/mu-virtual-list.js +184 -0
  476. package/src/core/MuElement.js +562 -0
  477. package/src/core/agent-api.js +771 -0
  478. package/src/core/breakpoints.js +195 -0
  479. package/src/core/bus.js +378 -0
  480. package/src/core/component-schema.js +287 -0
  481. package/src/core/feature-registry.js +241 -0
  482. package/src/core/form-state.js +252 -0
  483. package/src/core/http.js +104 -0
  484. package/src/core/keyboard.js +105 -0
  485. package/src/core/layers.js +71 -0
  486. package/src/core/render.js +201 -0
  487. package/src/core/ripple.js +158 -0
  488. package/src/core/router.js +100 -0
  489. package/src/core/scheduler.js +109 -0
  490. package/src/core/signals.js +164 -0
  491. package/src/core/store.js +268 -0
  492. package/src/core/theme.js +68 -0
  493. package/src/core/transitions.js +72 -0
  494. package/src/core/utils.js +30 -0
  495. package/src/index.d.ts +234 -0
  496. package/src/index.js +308 -0
  497. package/src/styles/animations.css +252 -0
  498. package/src/styles/common.css +82 -0
  499. package/src/styles/components/animations.css +129 -0
  500. package/src/styles/components/avatar.css +83 -0
  501. package/src/styles/components/badge.css +80 -0
  502. package/src/styles/components/bottom-nav.css +37 -0
  503. package/src/styles/components/button.css +348 -0
  504. package/src/styles/components/card.css +138 -0
  505. package/src/styles/components/checkbox.css +201 -0
  506. package/src/styles/components/chip.css +93 -0
  507. package/src/styles/components/datatable.css +180 -0
  508. package/src/styles/components/divider.css +49 -0
  509. package/src/styles/components/drawer-item.css +123 -0
  510. package/src/styles/components/drawer.css +273 -0
  511. package/src/styles/components/grid.css +189 -0
  512. package/src/styles/components/icon.css +40 -0
  513. package/src/styles/components/input.css +203 -0
  514. package/src/styles/components/layout.css +121 -0
  515. package/src/styles/components/navbar.css +91 -0
  516. package/src/styles/components/overlays.css +329 -0
  517. package/src/styles/components/progress.css +79 -0
  518. package/src/styles/components/prompt-ui.css +286 -0
  519. package/src/styles/components/radio.css +17 -0
  520. package/src/styles/components/schema-form.css +85 -0
  521. package/src/styles/components/switch.css +69 -0
  522. package/src/styles/components/tabs.css +145 -0
  523. package/src/styles/components/tooltip.css +93 -0
  524. package/src/styles/components/virtual-list.css +36 -0
  525. package/src/styles/components.css +3677 -0
  526. package/src/styles/routes/home.css +97 -0
  527. package/src/styles/tokens.css +675 -0
  528. package/tests/agents/agent-integration.test.js +76 -0
  529. package/tests/benchmark.html +296 -0
  530. package/tests/build/scan-components.test.js +173 -0
  531. package/tests/components/all-components.test.js +245 -0
  532. package/tests/components/all-missing-components.test.js +574 -0
  533. package/tests/components/mu-alert.test.js +113 -0
  534. package/tests/components/mu-avatar.test.js +148 -0
  535. package/tests/components/mu-badge.test.js +92 -0
  536. package/tests/components/mu-button.test.js +112 -0
  537. package/tests/components/mu-card.test.js +89 -0
  538. package/tests/components/mu-checkbox.test.js +158 -0
  539. package/tests/components/mu-chip.test.js +118 -0
  540. package/tests/components/mu-container.test.js +120 -0
  541. package/tests/components/mu-divider.test.js +98 -0
  542. package/tests/components/mu-drawer-item.test.js +199 -0
  543. package/tests/components/mu-drawer.test.js +96 -0
  544. package/tests/components/mu-dropdown.test.js +125 -0
  545. package/tests/components/mu-form.test.js +138 -0
  546. package/tests/components/mu-grid.test.js +135 -0
  547. package/tests/components/mu-icon.test.js +110 -0
  548. package/tests/components/mu-input.test.js +131 -0
  549. package/tests/components/mu-lazy.test.js +103 -0
  550. package/tests/components/mu-modal.test.js +275 -0
  551. package/tests/components/mu-navbar.test.js +101 -0
  552. package/tests/components/mu-progress.test.js +115 -0
  553. package/tests/components/mu-radio.test.js +114 -0
  554. package/tests/components/mu-repeat.test.js +106 -0
  555. package/tests/components/mu-sidebar.test.js +126 -0
  556. package/tests/components/mu-skeleton.test.js +162 -0
  557. package/tests/components/mu-stack.test.js +143 -0
  558. package/tests/components/mu-switch.test.js +292 -0
  559. package/tests/components/mu-table.test.js +124 -0
  560. package/tests/components/mu-tabs.test.js +104 -0
  561. package/tests/components/mu-textarea.test.js +115 -0
  562. package/tests/components/mu-toast.test.js +321 -0
  563. package/tests/components/mu-tooltip.test.js +133 -0
  564. package/tests/components/mu-virtual-list.test.js +109 -0
  565. package/tests/core/MuElement.test.js +120 -0
  566. package/tests/core/agent-api.test.js +125 -0
  567. package/tests/core/all-core-modules.test.js +442 -0
  568. package/tests/core/bus.test.js +364 -0
  569. package/tests/core/component-schema.test.js +160 -0
  570. package/tests/core/feature-registry.test.js +198 -0
  571. package/tests/core/form-state.test.js +167 -0
  572. package/tests/core/http.test.js +119 -0
  573. package/tests/core/keyboard.test.js +319 -0
  574. package/tests/core/layers.test.js +129 -0
  575. package/tests/core/namespaced-stores.test.js +114 -0
  576. package/tests/core/render.test.js +121 -0
  577. package/tests/core/ripple.test.js +131 -0
  578. package/tests/core/router.test.js +89 -0
  579. package/tests/core/scheduler.test.js +121 -0
  580. package/tests/core/signals.test.js +128 -0
  581. package/tests/core/store.test.js +171 -0
  582. package/tests/core/transitions.test.js +82 -0
  583. package/tests/e2e/accessibility-harness.html +58 -0
  584. package/tests/e2e/accessibility.test.js +401 -0
  585. package/tests/e2e/agent-features.test.js +372 -0
  586. package/tests/e2e/card-spacing.test.js +287 -0
  587. package/tests/e2e/components.test.js +439 -0
  588. package/tests/e2e/demo-routes.test.js +478 -0
  589. package/tests/e2e/layout-css-fallback.test.js +334 -0
  590. package/tests/e2e/mu-alert.e2e.test.js +111 -0
  591. package/tests/e2e/mu-checkbox.test.js +489 -0
  592. package/tests/e2e/mu-chip.test.js +347 -0
  593. package/tests/e2e/mu-form.test.js +499 -0
  594. package/tests/e2e/mu-icon.test.js +114 -0
  595. package/tests/e2e/mu-radio.test.js +113 -0
  596. package/tests/e2e/mu-skeleton.test.js +140 -0
  597. package/tests/e2e/mu-switch.test.js +415 -0
  598. package/tests/e2e/mu-tabs.test.js +494 -0
  599. package/tests/e2e/mu-textarea.test.js +242 -0
  600. package/tests/e2e/mu-virtual-list.test.js +427 -0
  601. package/tests/e2e/perf-memory.test.js +161 -0
  602. package/tests/e2e/puppeteer-helper.js +137 -0
  603. package/tests/e2e/puppeteer.test.js +226 -0
  604. package/tests/e2e/pwa.test.js +261 -0
  605. package/tests/e2e/test-harness.html +319 -0
  606. package/tests/manual/test-components.html +120 -0
  607. package/tests/memory-test.html +309 -0
  608. package/tests/setup-dom.js +93 -0
  609. package/tests/visual-test.html +301 -0
@@ -0,0 +1,149 @@
1
+ <div style="text-align: center; margin-bottom: 32px;">
2
+ <picture>
3
+ <source srcset="../assets/logo-banner-400.webp 1x, ../assets/logo-banner-800.webp 2x" type="image/webp"><img
4
+ src="../assets/logo-banner-400.jpg" loading="eager" fetchpriority="high" decoding="async"
5
+ alt="microUI - AI First Web Components" width="400" height="223"
6
+ style="max-width: 100%; height: auto; aspect-ratio: 400/223; border-radius: var(--md-sys-shape-corner-large); box-shadow: var(--md-sys-elevation-2);">
7
+ </picture>
8
+ </div>
9
+
10
+ <h1 class="page-title" style="text-align: center;">microUI v0.1.0</h1>
11
+ <p class="page-subtitle" style="text-align: center; font-size: 1.25rem; max-width: 600px; margin: 0 auto;">The only
12
+ AI-First
13
+ UI framework. 49 components. 808 tests. Zero config.</p>
14
+
15
+ <!-- Agent-First Hero Badge with pulse animation -->
16
+ <div style="display: flex; justify-content: center; gap: 16px; margin: 16px 0; flex-wrap: wrap;">
17
+ <div class="ai-badge-pulse"
18
+ style="background: linear-gradient(135deg, #7C4DFF, #536DFE); color: white; padding: 10px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; display: flex; align-items: center; gap: 8px; box-shadow: 0 4px 16px rgba(124, 77, 255, 0.4); animation: pulse-glow 2s ease-in-out infinite;">
19
+ 🤖 Optimized for AI Agents
20
+ </div>
21
+ <a href="#buttons" style="text-decoration: none;">
22
+ <div style="background: linear-gradient(135deg, #6750A4, #4F378B); color: white; padding: 10px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; display: flex; align-items: center; gap: 8px; box-shadow: 0 4px 16px rgba(103, 80, 164, 0.4); cursor: pointer; transition: transform 0.2s;"
23
+ onmouseover="this.style.transform='scale(1.05)';" onmouseout="this.style.transform='scale(1)';">
24
+ 🚀 Get Started
25
+ </div>
26
+ </a>
27
+ </div>
28
+ <style>
29
+ @keyframes pulse-glow {
30
+
31
+ 0%,
32
+ 100% {
33
+ transform: scale(1);
34
+ filter: brightness(1);
35
+ }
36
+
37
+ 50% {
38
+ transform: scale(1.02);
39
+ filter: brightness(1.1);
40
+ }
41
+ }
42
+ </style>
43
+
44
+ <!-- Lighthouse Scores Highlight -->
45
+ <div style="display: flex; justify-content: center; gap: 12px; margin: 24px 0; flex-wrap: wrap;">
46
+ <div
47
+ style="background: linear-gradient(135deg, #4CAF50, #2E7D32); color: white; padding: 14px 20px; border-radius: 16px; text-align: center; min-width: 100px; box-shadow: 0 4px 12px rgba(76, 175, 80, 0.4);">
48
+ <div style="font-size: 28px; font-weight: 700;">100%</div>
49
+ <div style="font-size: 11px; opacity: 0.9;">Lighthouse</div>
50
+ </div>
51
+ <div
52
+ style="background: linear-gradient(135deg, #2196F3, #1565C0); color: white; padding: 14px 20px; border-radius: 16px; text-align: center; min-width: 100px; box-shadow: 0 4px 12px rgba(33, 150, 243, 0.4);">
53
+ <div style="font-size: 28px; font-weight: 700;">808</div>
54
+ <div style="font-size: 11px; opacity: 0.9;">Tests Passing</div>
55
+ </div>
56
+ <div
57
+ style="background: linear-gradient(135deg, #9C27B0, #6A1B9A); color: white; padding: 14px 20px; border-radius: 16px; text-align: center; min-width: 100px; box-shadow: 0 4px 12px rgba(156, 39, 176, 0.4);">
58
+ <div style="font-size: 28px; font-weight: 700;">49</div>
59
+ <div style="font-size: 11px; opacity: 0.9;">Components</div>
60
+ </div>
61
+ <div
62
+ style="background: linear-gradient(135deg, #FF5722, #E64A19); color: white; padding: 14px 20px; border-radius: 16px; text-align: center; min-width: 100px; box-shadow: 0 4px 12px rgba(255, 87, 34, 0.4);">
63
+ <div style="font-size: 28px; font-weight: 700;">8KB</div>
64
+ <div style="font-size: 11px; opacity: 0.9;">Initial Load</div>
65
+ </div>
66
+ <div
67
+ style="background: linear-gradient(135deg, #00BCD4, #00838F); color: white; padding: 14px 20px; border-radius: 16px; text-align: center; min-width: 100px; box-shadow: 0 4px 12px rgba(0, 188, 212, 0.4);">
68
+ <div style="font-size: 28px; font-weight: 700;">A</div>
69
+ <div style="font-size: 11px; opacity: 0.9;">Security Grade</div>
70
+ </div>
71
+ </div>
72
+
73
+ <!-- Agent-First Feature Highlight -->
74
+ <div class="component-section"
75
+ style="background: linear-gradient(135deg, rgba(124, 77, 255, 0.15), rgba(83, 109, 254, 0.1)); border: 2px solid rgba(124, 77, 255, 0.3);">
76
+ <h2 class="section-title" style="display: flex; align-items: center; gap: 12px;">
77
+ 🤖 Designed for AI Agents
78
+ </h2>
79
+ <p style="margin-bottom: 16px; color: var(--md-sys-color-on-surface-variant); line-height: 1.6;">
80
+ microUI is the first UI framework specifically optimized to be used by <strong>AI Coding
81
+ Agents</strong>.
82
+ AI agents can introspect components, read state, and generate code
83
+ efficiently.
84
+ </p>
85
+ <mu-stack direction="row" gap="md" wrap>
86
+ <mu-card variant="elevated" style="flex: 1; min-width: 200px;">
87
+ <strong>🔍 Agent API</strong>
88
+ <p style="font-size: 14px; color: var(--md-sys-color-on-surface); margin-top: 4px; font-weight: 500;">
89
+ <code>getMuComponentTree()</code> for structured parsing
90
+ </p>
91
+ </mu-card>
92
+ <mu-card variant="elevated" style="flex: 1; min-width: 200px;">
93
+ <strong>📋 AGENTS.md</strong>
94
+ <p style="font-size: 14px; color: var(--md-sys-color-on-surface); margin-top: 4px; font-weight: 500;">
95
+ LLM-optimized documentation
96
+ </p>
97
+ </mu-card>
98
+ <mu-card variant="elevated" style="flex: 1; min-width: 200px;">
99
+ <strong>🏗️ Enterprise Scale</strong>
100
+ <p style="font-size: 14px; color: var(--md-sys-color-on-surface); margin-top: 4px; font-weight: 500;">
101
+ Feature Registry, Namespaced Stores
102
+ </p>
103
+ </mu-card>
104
+ </mu-stack>
105
+ </div>
106
+
107
+ <div class="component-section">
108
+ <h2 class="section-title">Features</h2>
109
+ <mu-stack gap="md">
110
+ <mu-card variant="outlined"
111
+ style="background: linear-gradient(90deg, rgba(124, 77, 255, 0.08), transparent); border-left: 4px solid #7C4DFF;">
112
+ <mu-stack direction="row" gap="md" align="center">
113
+ <mu-icon name="smart_toy" style="color: #7C4DFF;"></mu-icon>
114
+ <div><strong>🤖 Agent-Optimized</strong> - Introspection API, DOM parsing, natural
115
+ language descriptions</div>
116
+ </mu-stack>
117
+ </mu-card>
118
+ <mu-card variant="outlined">
119
+ <mu-stack direction="row" gap="md" align="center">
120
+ <mu-icon name="check" style="color: var(--md-sys-color-primary)"></mu-icon>
121
+ <div><strong>49 Components</strong> - Complete production UI toolkit</div>
122
+ </mu-stack>
123
+ </mu-card>
124
+ <mu-card variant="outlined">
125
+ <mu-stack direction="row" gap="md" align="center">
126
+ <mu-icon name="check" style="color: var(--md-sys-color-primary)"></mu-icon>
127
+ <div><strong>8KB Initial Load</strong> - Route-based code splitting</div>
128
+ </mu-stack>
129
+ </mu-card>
130
+ <mu-card variant="outlined">
131
+ <mu-stack direction="row" gap="md" align="center">
132
+ <mu-icon name="check" style="color: var(--md-sys-color-primary)"></mu-icon>
133
+ <div><strong>MD3 Compliant</strong> - Material Design 3</div>
134
+ </mu-stack>
135
+ </mu-card>
136
+ <mu-card variant="outlined">
137
+ <mu-stack direction="row" gap="md" align="center">
138
+ <mu-icon name="check" style="color: var(--md-sys-color-primary)"></mu-icon>
139
+ <div><strong>Zero Dependencies</strong> - Native Web Components</div>
140
+ </mu-stack>
141
+ </mu-card>
142
+ <mu-card variant="outlined">
143
+ <mu-stack direction="row" gap="md" align="center">
144
+ <mu-icon name="check" style="color: var(--md-sys-color-primary)"></mu-icon>
145
+ <div><strong>100% Lighthouse</strong> - Perfect scores across all categories</div>
146
+ </mu-stack>
147
+ </mu-card>
148
+ </mu-stack>
149
+ </div>
@@ -0,0 +1,89 @@
1
+ <!-- Icons Content Fragment -->
2
+ <div id="page-icons" class="page active">
3
+ <h1 class="page-title">Icon</h1>
4
+ <p class="page-subtitle">
5
+ <code>&lt;mu-icon&gt;</code> provides a built-in SVG icon set
6
+ with 18+ common icons. Inherits color from parent.
7
+ </p>
8
+
9
+ <mu-tabs active="0" id="icon-doc-tabs" style="margin-bottom: 24px;">
10
+ <mu-tab>OVERVIEW</mu-tab>
11
+ <mu-tab>API</mu-tab>
12
+ <mu-tab>STYLING</mu-tab>
13
+ <mu-tab>EXAMPLES</mu-tab>
14
+ </mu-tabs>
15
+
16
+ <div id="icon-overview" class="doc-tab-content">
17
+ <mu-example title="Available icons">
18
+ <div slot="demo">
19
+ <mu-grid cols="6" gap="md">
20
+ <mu-stack align="center" gap="xs"><mu-icon name="home"></mu-icon><span
21
+ style="font-size: 11px;">home</span></mu-stack>
22
+ <mu-stack align="center" gap="xs"><mu-icon name="search"></mu-icon><span
23
+ style="font-size: 11px;">search</span></mu-stack>
24
+ <mu-stack align="center" gap="xs"><mu-icon name="settings"></mu-icon><span
25
+ style="font-size: 11px;">settings</span></mu-stack>
26
+ <mu-stack align="center" gap="xs"><mu-icon name="user"></mu-icon><span
27
+ style="font-size: 11px;">user</span></mu-stack>
28
+ <mu-stack align="center" gap="xs"><mu-icon name="check"></mu-icon><span
29
+ style="font-size: 11px;">check</span></mu-stack>
30
+ <mu-stack align="center" gap="xs"><mu-icon name="close"></mu-icon><span
31
+ style="font-size: 11px;">close</span></mu-stack>
32
+ <mu-stack align="center" gap="xs"><mu-icon name="plus"></mu-icon><span
33
+ style="font-size: 11px;">plus</span></mu-stack>
34
+ <mu-stack align="center" gap="xs"><mu-icon name="minus"></mu-icon><span
35
+ style="font-size: 11px;">minus</span></mu-stack>
36
+ <mu-stack align="center" gap="xs"><mu-icon name="edit"></mu-icon><span
37
+ style="font-size: 11px;">edit</span></mu-stack>
38
+ <mu-stack align="center" gap="xs"><mu-icon name="delete"></mu-icon><span
39
+ style="font-size: 11px;">delete</span></mu-stack>
40
+ <mu-stack align="center" gap="xs"><mu-icon name="info"></mu-icon><span
41
+ style="font-size: 11px;">info</span></mu-stack>
42
+ <mu-stack align="center" gap="xs"><mu-icon name="warning"></mu-icon><span
43
+ style="font-size: 11px;">warning</span></mu-stack>
44
+ </mu-grid>
45
+ </div>
46
+
47
+ </mu-example>
48
+ </div>
49
+
50
+ <div id="icon-api" class="doc-tab-content" style="display: none;">
51
+ <div class="component-section">
52
+ <h2 class="section-title">Attributes</h2>
53
+ <mu-api-table type="attributes">
54
+ <mu-api-row name="name" type="string" default="">Icon name from built-in set</mu-api-row>
55
+ <mu-api-row name="size" type="string" default="24px">Icon dimensions</mu-api-row>
56
+ </mu-api-table>
57
+ </div>
58
+ </div>
59
+
60
+ <div id="icon-styling" class="doc-tab-content" style="display: none;">
61
+ <div class="component-section">
62
+ <h2 class="section-title">CSS Custom Properties</h2>
63
+ <mu-api-table type="tokens">
64
+ <mu-api-row name="color" default="inherit">Icon inherits parent color via
65
+ currentColor</mu-api-row>
66
+ <mu-api-row name="font-size" default="24px">Can be used to scale icon</mu-api-row>
67
+ </mu-api-table>
68
+ </div>
69
+ </div>
70
+
71
+ <div id="icon-examples" class="doc-tab-content" style="display: none;">
72
+ <mu-example title="Button with icon">
73
+ <div slot="demo">
74
+ <mu-button variant="filled">
75
+ <mu-icon name="plus" style="margin-right: 8px;"></mu-icon>
76
+ Add Item
77
+ </mu-button>
78
+ </div>
79
+ </mu-example>
80
+
81
+ <mu-example title="Custom color">
82
+ <div slot="demo">
83
+ <mu-icon name="error" style="color: var(--md-sys-color-error);"></mu-icon>
84
+ <mu-icon name="success" style="color: #4caf50;"></mu-icon>
85
+ <mu-icon name="warning" style="color: #ff9800;"></mu-icon>
86
+ </div>
87
+ </mu-example>
88
+ </div>
89
+ </div>
@@ -0,0 +1,135 @@
1
+ <!-- Inputs Content Fragment -->
2
+ <div id="page-inputs" class="page active">
3
+ <h1 class="page-title">Text Field</h1>
4
+ <p class="page-subtitle">
5
+ <code>&lt;mu-input&gt;</code> and <code>&lt;mu-textarea&gt;</code> allow users to enter and edit
6
+ text.
7
+ Both support MD3 variants with floating labels and focus animations.
8
+ </p>
9
+
10
+ <!-- Documentation Tabs -->
11
+ <mu-tabs active="0" id="input-doc-tabs" style="margin-bottom: 24px;">
12
+ <mu-tab>OVERVIEW</mu-tab>
13
+ <mu-tab>API</mu-tab>
14
+ <mu-tab>STYLING</mu-tab>
15
+ <mu-tab>EXAMPLES</mu-tab>
16
+ </mu-tabs>
17
+
18
+ <!-- OVERVIEW Tab Content -->
19
+ <div id="input-overview" class="doc-tab-content">
20
+ <mu-example title="Input variants">
21
+ <div slot="demo">
22
+ <mu-stack gap="md" style="width: 300px;">
23
+ <mu-input label="Outlined" placeholder="Enter text..."></mu-input>
24
+ <mu-input variant="filled" label="Filled"></mu-input>
25
+ </mu-stack>
26
+ </div>
27
+
28
+ </mu-example>
29
+
30
+ <mu-example title="Input types">
31
+ <div slot="demo">
32
+ <mu-stack gap="md" style="width: 300px;">
33
+ <mu-input type="email" label="Email"></mu-input>
34
+ <mu-input type="password" label="Password"></mu-input>
35
+ <mu-input type="number" label="Amount"></mu-input>
36
+ </mu-stack>
37
+ </div>
38
+ </mu-example>
39
+
40
+ <mu-example title="Textarea">
41
+ <div slot="demo">
42
+ <mu-textarea placeholder="Write your message here..." style="width: 100%;"></mu-textarea>
43
+ </div>
44
+
45
+ </mu-example>
46
+
47
+ <div class="component-section"
48
+ style="background: var(--md-sys-color-primary-container); border-left: 4px solid var(--md-sys-color-primary);">
49
+ <h2 class="section-title" style="color: var(--md-sys-color-on-primary-container);">Accessibility
50
+ </h2>
51
+ <p style="color: var(--md-sys-color-on-primary-container); line-height: 1.6;">
52
+ Always provide a <code>label</code> attribute for screen readers.
53
+ The floating label animates when focused, providing clear visual feedback.
54
+ Focus states use box-shadow instead of border-width to prevent layout shifts.
55
+ </p>
56
+ </div>
57
+ </div>
58
+
59
+ <!-- API Tab Content -->
60
+ <div id="input-api" class="doc-tab-content" style="display: none;">
61
+ <div class="component-section">
62
+ <h2 class="section-title">Selectors</h2>
63
+ <mu-stack direction="row" gap="md">
64
+ <div class="code-block" style="display: inline-block;">&lt;mu-input&gt;</div>
65
+ <div class="code-block" style="display: inline-block;">&lt;mu-textarea&gt;</div>
66
+ </mu-stack>
67
+ </div>
68
+
69
+ <div class="component-section">
70
+ <h2 class="section-title">Attributes (mu-input)</h2>
71
+ <mu-api-table type="attributes">
72
+ <mu-api-row name="type" type="string" default="text">Input type: 'text' | 'email' |
73
+ 'password' | 'number' | 'tel' | 'url'</mu-api-row>
74
+ <mu-api-row name="variant" type="string" default="outlined">Input style: 'outlined' |
75
+ 'filled'</mu-api-row>
76
+ <mu-api-row name="label" type="string" default="">Floating label text</mu-api-row>
77
+ <mu-api-row name="placeholder" type="string" default="">Placeholder text</mu-api-row>
78
+ <mu-api-row name="value" type="string" default="">Current input value</mu-api-row>
79
+ <mu-api-row name="disabled" type="boolean" default="false">Whether input is
80
+ disabled</mu-api-row>
81
+ <mu-api-row name="required" type="boolean" default="false">Whether input is
82
+ required</mu-api-row>
83
+ </mu-api-table>
84
+ </div>
85
+
86
+ <div class="component-section">
87
+ <h2 class="section-title">Events</h2>
88
+ <mu-api-table type="events">
89
+ <mu-api-row name="mu-input" detail="{ value: string }">Emitted on each
90
+ keystroke</mu-api-row>
91
+ <mu-api-row name="mu-change" detail="{ value: string }">Emitted on blur with final
92
+ value</mu-api-row>
93
+ </mu-api-table>
94
+ </div>
95
+ </div>
96
+
97
+ <!-- STYLING Tab Content -->
98
+ <div id="input-styling" class="doc-tab-content" style="display: none;">
99
+ <div class="component-section">
100
+ <h2 class="section-title">CSS Custom Properties</h2>
101
+ <mu-api-table type="tokens">
102
+ <mu-api-row name="--md-sys-color-primary" default="#6750a4">Focus border/label
103
+ color</mu-api-row>
104
+ <mu-api-row name="--md-sys-color-outline" default="#79747e">Default border
105
+ color</mu-api-row>
106
+ <mu-api-row name="--md-sys-color-on-surface" default="#1d1b20">Text color</mu-api-row>
107
+ <mu-api-row name="--md-sys-color-surface-container-highest" default="#e6e0e9">Filled variant
108
+ background</mu-api-row>
109
+ <mu-api-row name="--md-sys-shape-corner-small" default="4px">Border radius</mu-api-row>
110
+ </mu-api-table>
111
+ </div>
112
+ </div>
113
+
114
+ <!-- EXAMPLES Tab Content -->
115
+ <div id="input-examples" class="doc-tab-content" style="display: none;">
116
+ <mu-example title="Form with validation">
117
+ <div slot="demo">
118
+ <mu-form>
119
+ <mu-stack gap="md" style="width: 300px;">
120
+ <mu-input label="Username" required></mu-input>
121
+ <mu-input type="email" label="Email" required></mu-input>
122
+ <mu-input type="password" label="Password" required></mu-input>
123
+ <mu-button variant="filled" style="width: 100%;">Sign Up</mu-button>
124
+ </mu-stack>
125
+ </mu-form>
126
+ </div>
127
+ </mu-example>
128
+
129
+ <mu-example title="Disabled state">
130
+ <div slot="demo">
131
+ <mu-input label="Disabled input" disabled value="Can't edit this"></mu-input>
132
+ </div>
133
+ </mu-example>
134
+ </div>
135
+ </div>
@@ -0,0 +1,16 @@
1
+ <!-- Installation Content Fragment -->
2
+ <div id="page-installation" class="page active">
3
+ <h1 class="page-title">Installation</h1>
4
+ <p class="page-subtitle">Get started with microUI</p>
5
+
6
+ <div class="component-section">
7
+ <h2 class="section-title">NPM</h2>
8
+ <div class="code-block">npm install microui</div>
9
+ </div>
10
+
11
+ <div class="component-section">
12
+ <h2 class="section-title">CDN</h2>
13
+ <div class="code-block">&lt;link rel="stylesheet" href="dist/microui.css"&gt;
14
+ &lt;script type="module" src="dist/microui.esm.js"&gt;&lt;/script&gt;</div>
15
+ </div>
16
+ </div>
@@ -0,0 +1,136 @@
1
+ <!-- Layout Content Fragment -->
2
+ <div id="page-layout" class="page active">
3
+ <h1 class="page-title">Stack & Grid</h1>
4
+ <p class="page-subtitle">
5
+ <code>&lt;mu-stack&gt;</code> and <code>&lt;mu-grid&gt;</code>
6
+ provide flexible layout primitives for arranging content.
7
+ </p>
8
+
9
+ <mu-tabs active="0" id="layout-doc-tabs" style="margin-bottom: 24px;">
10
+ <mu-tab>OVERVIEW</mu-tab>
11
+ <mu-tab>API</mu-tab>
12
+ <mu-tab>STYLING</mu-tab>
13
+ <mu-tab>EXAMPLES</mu-tab>
14
+ </mu-tabs>
15
+
16
+ <div id="layout-overview" class="doc-tab-content">
17
+ <mu-example title="Vertical stack">
18
+ <div slot="demo">
19
+ <mu-stack gap="sm">
20
+ <mu-card variant="outlined">
21
+ <p>Item 1</p>
22
+ </mu-card>
23
+ <mu-card variant="outlined">
24
+ <p>Item 2</p>
25
+ </mu-card>
26
+ <mu-card variant="outlined">
27
+ <p>Item 3</p>
28
+ </mu-card>
29
+ </mu-stack>
30
+ </div>
31
+
32
+ </mu-example>
33
+
34
+ <mu-example title="Horizontal stack">
35
+ <div slot="demo">
36
+ <mu-stack direction="row" gap="sm">
37
+ <mu-card variant="outlined">
38
+ <p>A</p>
39
+ </mu-card>
40
+ <mu-card variant="outlined">
41
+ <p>B</p>
42
+ </mu-card>
43
+ <mu-card variant="outlined">
44
+ <p>C</p>
45
+ </mu-card>
46
+ </mu-stack>
47
+ </div>
48
+ </mu-example>
49
+
50
+ <mu-example title="Grid layout">
51
+ <div slot="demo">
52
+ <mu-grid cols="4" gap="sm">
53
+ <mu-card variant="outlined">
54
+ <p>1</p>
55
+ </mu-card>
56
+ <mu-card variant="outlined">
57
+ <p>2</p>
58
+ </mu-card>
59
+ <mu-card variant="outlined">
60
+ <p>3</p>
61
+ </mu-card>
62
+ <mu-card variant="outlined">
63
+ <p>4</p>
64
+ </mu-card>
65
+ </mu-grid>
66
+ </div>
67
+ </mu-example>
68
+ </div>
69
+
70
+ <div id="layout-api" class="doc-tab-content" style="display: none;">
71
+ <div class="component-section">
72
+ <h2 class="section-title">Attributes (mu-stack)</h2>
73
+ <mu-api-table type="attributes">
74
+ <mu-api-row name="direction" type="string" default="column">Layout direction: 'column' |
75
+ 'row'</mu-api-row>
76
+ <mu-api-row name="gap" type="string" default="md">Gap size: 'xs' | 'sm' | 'md' | 'lg' |
77
+ 'xl'</mu-api-row>
78
+ <mu-api-row name="align" type="string" default="stretch">Align items: CSS align-items
79
+ value</mu-api-row>
80
+ <mu-api-row name="justify" type="string" default="flex-start">Justify content: CSS
81
+ justify-content value</mu-api-row>
82
+ </mu-api-table>
83
+ </div>
84
+ <div class="component-section">
85
+ <h2 class="section-title">Attributes (mu-grid)</h2>
86
+ <mu-api-table type="attributes">
87
+ <mu-api-row name="cols" type="number" default="3">Number of columns</mu-api-row>
88
+ <mu-api-row name="gap" type="string" default="md">Gap size: 'xs' | 'sm' | 'md' | 'lg' |
89
+ 'xl'</mu-api-row>
90
+ </mu-api-table>
91
+ </div>
92
+ </div>
93
+
94
+ <div id="layout-styling" class="doc-tab-content" style="display: none;">
95
+ <div class="component-section">
96
+ <h2 class="section-title">Gap Sizes</h2>
97
+ <mu-api-table type="tokens">
98
+ <mu-api-row name="xs" default="4px">Extra small gap</mu-api-row>
99
+ <mu-api-row name="sm" default="8px">Small gap</mu-api-row>
100
+ <mu-api-row name="md" default="16px">Medium gap</mu-api-row>
101
+ <mu-api-row name="lg" default="24px">Large gap</mu-api-row>
102
+ <mu-api-row name="xl" default="32px">Extra large gap</mu-api-row>
103
+ </mu-api-table>
104
+ </div>
105
+ </div>
106
+
107
+ <div id="layout-examples" class="doc-tab-content" style="display: none;">
108
+ <mu-example title="Centered content">
109
+ <div slot="demo">
110
+ <mu-stack align="center" justify="center"
111
+ style="height: 100px; background: var(--md-sys-color-surface-container-low); border-radius: 8px;">
112
+ <mu-button variant="filled">Centered Button</mu-button>
113
+ </mu-stack>
114
+ </div>
115
+ </mu-example>
116
+
117
+ <mu-example title="Responsive grid">
118
+ <div slot="demo">
119
+ <mu-grid cols="3" gap="md">
120
+ <mu-card variant="elevated">
121
+ <h4>Card 1</h4>
122
+ <p>Content</p>
123
+ </mu-card>
124
+ <mu-card variant="elevated">
125
+ <h4>Card 2</h4>
126
+ <p>Content</p>
127
+ </mu-card>
128
+ <mu-card variant="elevated">
129
+ <h4>Card 3</h4>
130
+ <p>Content</p>
131
+ </mu-card>
132
+ </mu-grid>
133
+ </div>
134
+ </mu-example>
135
+ </div>
136
+ </div>