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 class="page active">
2
+ <h1 class="page-title">DataTable</h1>
3
+ <p class="page-subtitle">
4
+ <code>&lt;mu-datatable&gt;</code> is an AI-First smart data table with
5
+ built-in sorting, pagination, filtering, and row selection.
6
+ </p>
7
+
8
+ <mu-tabs active="0" id="datatable-doc-tabs" style="margin-bottom: 24px;">
9
+ <mu-tab>OVERVIEW</mu-tab>
10
+ <mu-tab>API</mu-tab>
11
+ <mu-tab>STYLING</mu-tab>
12
+ <mu-tab>EXAMPLES</mu-tab>
13
+ </mu-tabs>
14
+
15
+ <div id="datatable-overview" class="doc-tab-content">
16
+ <mu-example title="Sortable DataTable with pagination">
17
+ <div slot="demo">
18
+ <mu-datatable id="demo-datatable" columns='[
19
+ {"field": "name", "label": "Name", "sortable": true},
20
+ {"field": "email", "label": "Email"},
21
+ {"field": "role", "label": "Role", "sortable": true}
22
+ ]' page-size="5" sortable filterable>
23
+ </mu-datatable>
24
+ </div>
25
+ <div slot="code">&lt;mu-datatable
26
+ columns='[{"field":"name","label":"Name","sortable":true},...]'
27
+ page-size="5"
28
+ sortable
29
+ filterable&gt;
30
+ &lt;/mu-datatable&gt;
31
+
32
+ &lt;script&gt;
33
+ document.querySelector('mu-datatable').setData(usersArray);
34
+ &lt;/script&gt;</div>
35
+ </mu-example>
36
+
37
+ <script>
38
+ // Initialize DataTable demo data after content loads
39
+ setTimeout(() => {
40
+ const usersData = [
41
+ { name: 'John Doe', email: 'john@example.com', role: 'Admin' },
42
+ { name: 'Jane Smith', email: 'jane@example.com', role: 'Editor' },
43
+ { name: 'Bob Johnson', email: 'bob@example.com', role: 'Viewer' },
44
+ { name: 'Alice Brown', email: 'alice@example.com', role: 'Admin' },
45
+ { name: 'Charlie Wilson', email: 'charlie@example.com', role: 'Editor' },
46
+ { name: 'Diana Ross', email: 'diana@example.com', role: 'Viewer' },
47
+ { name: 'Edward King', email: 'edward@example.com', role: 'Editor' }
48
+ ];
49
+ const productsData = [
50
+ { product: 'Widget Pro', price: '$99.00', stock: 42 },
51
+ { product: 'Gadget Max', price: '$149.00', stock: 18 },
52
+ { product: 'Tool Kit', price: '$79.00', stock: 56 },
53
+ { product: 'Device X', price: '$199.00', stock: 7 }
54
+ ];
55
+ const dt1 = document.getElementById('demo-datatable');
56
+ const dt2 = document.getElementById('demo-datatable-selectable');
57
+ if (dt1 && typeof dt1.setData === 'function') dt1.setData(usersData);
58
+ if (dt2 && typeof dt2.setData === 'function') dt2.setData(productsData);
59
+ }, 100);
60
+ </script>
61
+
62
+ <div class="component-section">
63
+ <h2 class="section-title">Key Features</h2>
64
+ <mu-stack gap="sm">
65
+ <p style="color: var(--md-sys-color-on-surface-variant); line-height: 1.6;">
66
+ <strong>Sorting:</strong> Click column headers to sort ascending/descending
67
+ </p>
68
+ <p style="color: var(--md-sys-color-on-surface-variant); line-height: 1.6;">
69
+ <strong>Pagination:</strong> Automatic page navigation with configurable page size
70
+ </p>
71
+ <p style="color: var(--md-sys-color-on-surface-variant); line-height: 1.6;">
72
+ <strong>Filtering:</strong> Real-time search across all columns
73
+ </p>
74
+ <p style="color: var(--md-sys-color-on-surface-variant); line-height: 1.6;">
75
+ <strong>Selection:</strong> Checkbox selection with "select all" support
76
+ </p>
77
+ </mu-stack>
78
+ </div>
79
+ </div>
80
+
81
+ <div id="datatable-api" class="doc-tab-content" style="display: none;">
82
+ <div class="component-section">
83
+ <h2 class="section-title">Attributes</h2>
84
+ <mu-api-table type="attributes">
85
+ <mu-api-row name="columns" type="JSON string" default="[]">Array of column definitions with field,
86
+ label, sortable</mu-api-row>
87
+ <mu-api-row name="page-size" type="number" default="10">Rows per page</mu-api-row>
88
+ <mu-api-row name="sortable" type="boolean" default="false">Enable column sorting</mu-api-row>
89
+ <mu-api-row name="filterable" type="boolean" default="false">Enable search filtering</mu-api-row>
90
+ <mu-api-row name="selectable" type="boolean" default="false">Enable row selection</mu-api-row>
91
+ <mu-api-row name="empty-message" type="string" default="'No data available'">Message when table is
92
+ empty</mu-api-row>
93
+ </mu-api-table>
94
+ </div>
95
+ <div class="component-section">
96
+ <h2 class="section-title">Methods</h2>
97
+ <mu-api-table type="methods">
98
+ <mu-api-row name="setData(array)" type="void">Set table data programmatically</mu-api-row>
99
+ <mu-api-row name="getData()" type="Array">Get current data</mu-api-row>
100
+ <mu-api-row name="sortBy(field, dir)" type="void">Sort by field ('asc' or 'desc')</mu-api-row>
101
+ <mu-api-row name="filter(query)" type="void">Filter data by search query</mu-api-row>
102
+ <mu-api-row name="goToPage(n)" type="void">Navigate to page n</mu-api-row>
103
+ <mu-api-row name="getSelectedRows()" type="Array">Get selected row objects</mu-api-row>
104
+ <mu-api-row name="getPageInfo()" type="Object">Get {page, pageSize, totalPages, totalRows}</mu-api-row>
105
+ </mu-api-table>
106
+ </div>
107
+ <div class="component-section">
108
+ <h2 class="section-title">Events</h2>
109
+ <mu-api-table type="events">
110
+ <mu-api-row name="mu-sort-change" type="CustomEvent">Fired when sort state changes</mu-api-row>
111
+ <mu-api-row name="mu-page-change" type="CustomEvent">Fired when page changes</mu-api-row>
112
+ <mu-api-row name="mu-selection-change" type="CustomEvent">Fired when selection changes</mu-api-row>
113
+ <mu-api-row name="mu-data-change" type="CustomEvent">Fired when data is set</mu-api-row>
114
+ </mu-api-table>
115
+ </div>
116
+ </div>
117
+
118
+ <div id="datatable-styling" class="doc-tab-content" style="display: none;">
119
+ <div class="component-section">
120
+ <h2 class="section-title">CSS Classes</h2>
121
+ <mu-api-table type="tokens">
122
+ <mu-api-row name=".mu-datatable-wrapper" default="">Main container</mu-api-row>
123
+ <mu-api-row name=".mu-datatable-table" default="">Table element</mu-api-row>
124
+ <mu-api-row name=".mu-datatable-sortable" default="">Sortable header cell</mu-api-row>
125
+ <mu-api-row name=".mu-datatable-sorted" default="">Currently sorted column</mu-api-row>
126
+ <mu-api-row name=".mu-datatable-selected" default="">Selected row</mu-api-row>
127
+ <mu-api-row name=".mu-datatable-pagination" default="">Pagination container</mu-api-row>
128
+ </mu-api-table>
129
+ </div>
130
+ </div>
131
+
132
+ <div id="datatable-examples" class="doc-tab-content" style="display: none;">
133
+ <mu-example title="With row selection">
134
+ <div slot="demo">
135
+ <mu-datatable id="demo-datatable-selectable" columns='[
136
+ {"field": "product", "label": "Product"},
137
+ {"field": "price", "label": "Price", "sortable": true},
138
+ {"field": "stock", "label": "Stock", "sortable": true}
139
+ ]' page-size="3" sortable selectable>
140
+ </mu-datatable>
141
+ </div>
142
+ <div slot="code">&lt;mu-datatable
143
+ columns='[...]'
144
+ sortable
145
+ selectable&gt;
146
+ &lt;/mu-datatable&gt;</div>
147
+ </mu-example>
148
+ </div>
149
+ </div>
@@ -0,0 +1,119 @@
1
+ <div class="page active">
2
+ <h1 class="page-title">Divider</h1>
3
+ <p class="page-subtitle">
4
+ <code>&lt;mu-divider&gt;</code> is a thin line that separates content into clear groups.
5
+ Supports horizontal and vertical orientations.
6
+ </p>
7
+
8
+ <mu-tabs active="0" id="divider-doc-tabs" style="margin-bottom: 24px;">
9
+ <mu-tab>OVERVIEW</mu-tab>
10
+ <mu-tab>API</mu-tab>
11
+ <mu-tab>STYLING</mu-tab>
12
+ <mu-tab>EXAMPLES</mu-tab>
13
+ </mu-tabs>
14
+
15
+ <div id="divider-overview" class="doc-tab-content">
16
+ <!-- Horizontal divider in list context -->
17
+ <mu-example title="List with dividers">
18
+ <div slot="demo">
19
+ <mu-card variant="outlined" style="max-width: 320px;">
20
+ <mu-stack gap="0">
21
+ <mu-stack direction="row" gap="md" align="center" style="padding: 12px 16px;">
22
+ <mu-icon name="person" style="color: var(--md-sys-color-primary);"></mu-icon>
23
+ <span>John Doe</span>
24
+ </mu-stack>
25
+ <mu-divider inset></mu-divider>
26
+ <mu-stack direction="row" gap="md" align="center" style="padding: 12px 16px;">
27
+ <mu-icon name="person" style="color: var(--md-sys-color-primary);"></mu-icon>
28
+ <span>Jane Smith</span>
29
+ </mu-stack>
30
+ <mu-divider inset></mu-divider>
31
+ <mu-stack direction="row" gap="md" align="center" style="padding: 12px 16px;">
32
+ <mu-icon name="person" style="color: var(--md-sys-color-primary);"></mu-icon>
33
+ <span>Bob Wilson</span>
34
+ </mu-stack>
35
+ </mu-stack>
36
+ </mu-card>
37
+ </div>
38
+ <div slot="code">&lt;mu-stack gap="0"&gt;
39
+ &lt;div&gt;Item 1&lt;/div&gt;
40
+ &lt;mu-divider inset&gt;&lt;/mu-divider&gt;
41
+ &lt;div&gt;Item 2&lt;/div&gt;
42
+ &lt;/mu-stack&gt;</div>
43
+ </mu-example>
44
+
45
+ <!-- Vertical divider in toolbar -->
46
+ <mu-example title="Toolbar with vertical divider">
47
+ <div slot="demo">
48
+ <mu-card variant="filled" style="display: inline-block; padding: 12px 16px;">
49
+ <mu-stack direction="row" gap="lg" align="center">
50
+ <mu-stack direction="row" gap="sm" align="center">
51
+ <mu-icon name="edit" style="cursor: pointer;"></mu-icon>
52
+ <mu-icon name="delete" style="cursor: pointer;"></mu-icon>
53
+ </mu-stack>
54
+ <mu-divider vertical></mu-divider>
55
+ <mu-icon name="settings" style="cursor: pointer;"></mu-icon>
56
+ </mu-stack>
57
+ </mu-card>
58
+ </div>
59
+ <div slot="code">&lt;mu-stack direction="row" align="center"&gt;
60
+ &lt;mu-icon name="edit"&gt;&lt;/mu-icon&gt;
61
+ &lt;mu-icon name="delete"&gt;&lt;/mu-icon&gt;
62
+ &lt;mu-divider vertical&gt;&lt;/mu-divider&gt;
63
+ &lt;mu-icon name="settings"&gt;&lt;/mu-icon&gt;
64
+ &lt;/mu-stack&gt;</div>
65
+ </mu-example>
66
+
67
+ <div class="component-section">
68
+ <h2 class="section-title">When to use</h2>
69
+ <p style="color: var(--md-sys-color-on-surface-variant); line-height: 1.6;">
70
+ Use dividers to separate content into logical groups. They're ideal for lists,
71
+ toolbars, and card sections. Add the <code>inset</code> attribute when dividing
72
+ items with leading icons to align with the content.
73
+ </p>
74
+ </div>
75
+ </div>
76
+
77
+ <div id="divider-api" class="doc-tab-content" style="display: none;">
78
+ <div class="component-section">
79
+ <h2 class="section-title">Attributes</h2>
80
+ <mu-api-table type="attributes">
81
+ <mu-api-row name="vertical" type="boolean" default="false">Renders as vertical divider</mu-api-row>
82
+ <mu-api-row name="inset" type="boolean" default="false">Adds padding on sides</mu-api-row>
83
+ </mu-api-table>
84
+ </div>
85
+ </div>
86
+
87
+ <div id="divider-styling" class="doc-tab-content" style="display: none;">
88
+ <div class="component-section">
89
+ <h2 class="section-title">CSS Custom Properties</h2>
90
+ <mu-api-table type="tokens">
91
+ <mu-api-row name="--md-sys-color-outline-variant" default="#cac4d0">Divider color</mu-api-row>
92
+ </mu-api-table>
93
+ </div>
94
+ </div>
95
+
96
+ <div id="divider-examples" class="doc-tab-content" style="display: none;">
97
+ <mu-example title="Inset divider">
98
+ <div slot="demo">
99
+ <mu-stack gap="md">
100
+ <p>Content above</p>
101
+ <mu-divider inset></mu-divider>
102
+ <p>Content below with inset</p>
103
+ </mu-stack>
104
+ </div>
105
+ <div slot="code">&lt;mu-divider inset&gt;&lt;/mu-divider&gt;</div>
106
+ </mu-example>
107
+
108
+ <mu-example title="Vertical divider">
109
+ <div slot="demo">
110
+ <mu-stack direction="row" gap="md" align="center" style="height: 50px;">
111
+ <span>Left</span>
112
+ <mu-divider vertical></mu-divider>
113
+ <span>Right</span>
114
+ </mu-stack>
115
+ </div>
116
+ <div slot="code">&lt;mu-divider vertical&gt;&lt;/mu-divider&gt;</div>
117
+ </mu-example>
118
+ </div>
119
+ </div>
@@ -0,0 +1,89 @@
1
+ <!-- Dropdowns Content Fragment -->
2
+ <div id="page-dropdowns" class="page active">
3
+ <h1 class="page-title">Select / Dropdown</h1>
4
+ <p class="page-subtitle">
5
+ <code>&lt;mu-dropdown&gt;</code> allows users to choose from a predefined list of options.
6
+ Similar to a native select, with MD3 styling and animations.
7
+ </p>
8
+
9
+ <mu-tabs active="0" id="dropdown-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="dropdown-overview" class="doc-tab-content">
17
+ <mu-example title="Basic dropdown">
18
+ <div slot="demo">
19
+ <mu-dropdown placeholder="Select a fruit">
20
+ <mu-option value="apple">Apple</mu-option>
21
+ <mu-option value="banana">Banana</mu-option>
22
+ <mu-option value="cherry">Cherry</mu-option>
23
+ </mu-dropdown>
24
+ </div>
25
+
26
+ </mu-example>
27
+
28
+ <div class="component-section"
29
+ style="background: var(--md-sys-color-primary-container); border-left: 4px solid var(--md-sys-color-primary);">
30
+ <h2 class="section-title" style="color: var(--md-sys-color-on-primary-container);">Accessibility
31
+ </h2>
32
+ <p style="color: var(--md-sys-color-on-primary-container); line-height: 1.6;">
33
+ Uses <code>role="listbox"</code> with arrow key navigation.
34
+ Options have <code>role="option"</code> with proper aria-selected states.
35
+ </p>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="dropdown-api" class="doc-tab-content" style="display: none;">
40
+ <div class="component-section">
41
+ <h2 class="section-title">Attributes (mu-dropdown)</h2>
42
+ <mu-api-table type="attributes">
43
+ <mu-api-row name="placeholder" type="string" default="">Placeholder text when no
44
+ selection</mu-api-row>
45
+ <mu-api-row name="value" type="string" default="">Currently selected value</mu-api-row>
46
+ <mu-api-row name="disabled" type="boolean" default="false">Whether dropdown is
47
+ disabled</mu-api-row>
48
+ </mu-api-table>
49
+ </div>
50
+ <div class="component-section">
51
+ <h2 class="section-title">Attributes (mu-option)</h2>
52
+ <mu-api-table type="attributes">
53
+ <mu-api-row name="value" type="string" default="">Option value</mu-api-row>
54
+ </mu-api-table>
55
+ </div>
56
+ <div class="component-section">
57
+ <h2 class="section-title">Events</h2>
58
+ <mu-api-table type="events">
59
+ <mu-api-row name="mu-change" detail="{ value: string, label: string }">Emitted when
60
+ selection changes</mu-api-row>
61
+ </mu-api-table>
62
+ </div>
63
+ </div>
64
+
65
+ <div id="dropdown-styling" class="doc-tab-content" style="display: none;">
66
+ <div class="component-section">
67
+ <h2 class="section-title">CSS Custom Properties</h2>
68
+ <mu-api-table type="tokens">
69
+ <mu-api-row name="--md-sys-color-surface-container" default="#f3edf7">Dropdown
70
+ background</mu-api-row>
71
+ <mu-api-row name="--md-sys-color-primary" default="#6750a4">Focus/selected
72
+ color</mu-api-row>
73
+ <mu-api-row name="--md-sys-color-outline" default="#79747e">Border color</mu-api-row>
74
+ </mu-api-table>
75
+ </div>
76
+ </div>
77
+
78
+ <div id="dropdown-examples" class="doc-tab-content" style="display: none;">
79
+ <mu-example title="With preselected value">
80
+ <div slot="demo">
81
+ <mu-dropdown value="medium" placeholder="Size">
82
+ <mu-option value="small">Small</mu-option>
83
+ <mu-option value="medium">Medium</mu-option>
84
+ <mu-option value="large">Large</mu-option>
85
+ </mu-dropdown>
86
+ </div>
87
+ </mu-example>
88
+ </div>
89
+ </div>
@@ -0,0 +1,252 @@
1
+ <!-- Enterprise Features Content Fragment -->
2
+ <div id="page-enterprise" class="page active">
3
+ <h1 class="page-title">Enterprise Features</h1>
4
+ <p class="page-subtitle">
5
+ Infrastructure for building large-scale, multi-team applications with microUI.
6
+ </p>
7
+
8
+ <!-- Documentation Tabs -->
9
+ <mu-tabs active="0" id="enterprise-doc-tabs" style="margin-bottom: 24px;">
10
+ <mu-tab>OVERVIEW</mu-tab>
11
+ <mu-tab>API</mu-tab>
12
+ <mu-tab>EXAMPLES</mu-tab>
13
+ </mu-tabs>
14
+
15
+ <!-- OVERVIEW Tab Content -->
16
+ <div id="enterprise-overview" class="doc-tab-content">
17
+ <div class="component-section"
18
+ style="background: linear-gradient(135deg, var(--md-sys-color-tertiary-container), var(--md-sys-color-secondary-container));">
19
+ <h2 class="section-title" style="color: var(--md-sys-color-on-tertiary-container);">🏗️ Built for Scale</h2>
20
+ <mu-grid cols="2" gap="md" style="max-width: 800px;">
21
+ <mu-card variant="elevated">
22
+ <mu-stack direction="row" gap="sm" align="center">
23
+ <mu-icon name="folder_managed"
24
+ style="font-size: 32px; color: var(--md-sys-color-primary);"></mu-icon>
25
+ <div>
26
+ <strong>Namespaced Stores</strong>
27
+ <p
28
+ style="font-size: 14px; color: var(--md-sys-color-on-surface-variant); margin: 4px 0 0 0;">
29
+ Isolated state per feature/team</p>
30
+ </div>
31
+ </mu-stack>
32
+ </mu-card>
33
+ <mu-card variant="elevated">
34
+ <mu-stack direction="row" gap="sm" align="center">
35
+ <mu-icon name="shield" style="font-size: 32px; color: var(--md-sys-color-primary);"></mu-icon>
36
+ <div>
37
+ <strong>Error Boundaries</strong>
38
+ <p
39
+ style="font-size: 14px; color: var(--md-sys-color-on-surface-variant); margin: 4px 0 0 0;">
40
+ Graceful degradation</p>
41
+ </div>
42
+ </mu-stack>
43
+ </mu-card>
44
+ <mu-card variant="elevated">
45
+ <mu-stack direction="row" gap="sm" align="center">
46
+ <mu-icon name="apps" style="font-size: 32px; color: var(--md-sys-color-primary);"></mu-icon>
47
+ <div>
48
+ <strong>Feature Registry</strong>
49
+ <p
50
+ style="font-size: 14px; color: var(--md-sys-color-on-surface-variant); margin: 4px 0 0 0;">
51
+ Multi-team organization</p>
52
+ </div>
53
+ </mu-stack>
54
+ </mu-card>
55
+ <mu-card variant="elevated">
56
+ <mu-stack direction="row" gap="sm" align="center">
57
+ <mu-icon name="monitoring"
58
+ style="font-size: 32px; color: var(--md-sys-color-primary);"></mu-icon>
59
+ <div>
60
+ <strong>Observability</strong>
61
+ <p
62
+ style="font-size: 14px; color: var(--md-sys-color-on-surface-variant); margin: 4px 0 0 0;">
63
+ State history & debugging</p>
64
+ </div>
65
+ </mu-stack>
66
+ </mu-card>
67
+ </mu-grid>
68
+ </div>
69
+
70
+ <div class="component-section"
71
+ style="background: linear-gradient(135deg, rgba(0, 188, 212, 0.1), rgba(124, 77, 255, 0.1)); border: 2px solid rgba(0, 188, 212, 0.3);">
72
+ <h2 class="section-title" style="display: flex; align-items: center; gap: 12px;">
73
+ <mu-icon name="smart_toy" style="font-size: 28px;"></mu-icon>
74
+ Agent Automation (v0.1.0)
75
+ </h2>
76
+ <p style="margin-bottom: 16px; color: var(--md-sys-color-on-surface-variant); line-height: 1.6;">
77
+ 2026 features for multimodal AI agents: Visual Markers for screenshot parsing,
78
+ Component Schema for type-safe code gen, and MCP Actions for standard protocols.
79
+ </p>
80
+ <mu-stack direction="row" gap="sm" style="flex-wrap: wrap;">
81
+ <mu-chip variant="outlined">📸 Visual Markers</mu-chip>
82
+ <mu-chip variant="outlined">📋 Component Schema</mu-chip>
83
+ <mu-chip variant="outlined">📜 MCP Actions</mu-chip>
84
+ </mu-stack>
85
+ </div>
86
+
87
+ <div class="component-section"
88
+ style="background: var(--md-sys-color-primary-container); border-left: 4px solid var(--md-sys-color-primary);">
89
+ <h2 class="section-title" style="color: var(--md-sys-color-on-primary-container);">When to Use</h2>
90
+ <p style="color: var(--md-sys-color-on-primary-container); line-height: 1.6;">
91
+ Enterprise features are designed for <strong>large-scale applications</strong> with multiple teams.
92
+ Use namespaced stores to avoid state conflicts, error boundaries to prevent cascading failures,
93
+ and the feature registry to organize code by domain.
94
+ </p>
95
+ </div>
96
+ </div>
97
+
98
+ <!-- API Tab Content -->
99
+ <div id="enterprise-api" class="doc-tab-content" style="display: none;">
100
+ <div class="component-section">
101
+ <h2 class="section-title">Store Methods</h2>
102
+ <mu-api-table type="methods">
103
+ <mu-api-row name="createNamespacedStore(name, initial)" type="function" returns="Store">
104
+ Creates an isolated store with the given namespace and initial state
105
+ </mu-api-row>
106
+ <mu-api-row name="getStore(name)" type="function" returns="Store | undefined">
107
+ Retrieves a store by its namespace name
108
+ </mu-api-row>
109
+ <mu-api-row name="getAllStores()" type="function" returns="Record&lt;string, Store&gt;">
110
+ Returns all registered namespaced stores
111
+ </mu-api-row>
112
+ <mu-api-row name="captureAppState()" type="function" returns="object">
113
+ Serializes all store states for debugging or persistence
114
+ </mu-api-row>
115
+ <mu-api-row name="restoreAppState(snapshot)" type="function" returns="void">
116
+ Restores all stores from a previously captured snapshot
117
+ </mu-api-row>
118
+ </mu-api-table>
119
+ </div>
120
+
121
+ <div class="component-section">
122
+ <h2 class="section-title">Observability Methods</h2>
123
+ <mu-api-table type="methods">
124
+ <mu-api-row name="enableObservability()" type="function" returns="void">
125
+ Starts tracking state changes for all stores
126
+ </mu-api-row>
127
+ <mu-api-row name="disableObservability()" type="function" returns="void">
128
+ Stops tracking state changes
129
+ </mu-api-row>
130
+ <mu-api-row name="getStateHistory(namespace)" type="function" returns="Array&lt;{timestamp, state}&gt;">
131
+ Returns the change history for a specific store
132
+ </mu-api-row>
133
+ <mu-api-row name="getErrors()" type="function" returns="Array&lt;Error&gt;">
134
+ Returns all errors caught by error boundaries
135
+ </mu-api-row>
136
+ </mu-api-table>
137
+ </div>
138
+
139
+ <div class="component-section">
140
+ <h2 class="section-title">Feature Registry Methods</h2>
141
+ <mu-api-table type="methods">
142
+ <mu-api-row name="createFeature(name, config)" type="function" returns="Feature">
143
+ Registers a feature with routes, store, and components
144
+ </mu-api-row>
145
+ <mu-api-row name="getFeatures()" type="function" returns="Record&lt;string, Feature&gt;">
146
+ Returns all registered features
147
+ </mu-api-row>
148
+ <mu-api-row name="getFeatureSummary()" type="function" returns="object">
149
+ Returns an overview with stats for all features
150
+ </mu-api-row>
151
+ <mu-api-row name="getFeatureComponents(name)" type="function" returns="string[]">
152
+ Returns component names registered to a feature
153
+ </mu-api-row>
154
+ </mu-api-table>
155
+ </div>
156
+
157
+ <div class="component-section">
158
+ <h2 class="section-title">Agent Automation Methods</h2>
159
+ <mu-api-table type="methods">
160
+ <mu-api-row name="enableVisualMarkers(options)" type="function" returns="void">
161
+ Adds visual markers (badges) to interactive elements for AI parsing
162
+ </mu-api-row>
163
+ <mu-api-row name="getMarkerElement(id)" type="function" returns="HTMLElement">
164
+ Returns the element associated with a marker ID (e.g., 'B1')
165
+ </mu-api-row>
166
+ <mu-api-row name="getMarkerMap()" type="function" returns="Record&lt;string, MarkerInfo&gt;">
167
+ Returns all marker-to-element mappings
168
+ </mu-api-row>
169
+ <mu-api-row name="getComponentSchema(tagName)" type="function" returns="JSONSchema">
170
+ Returns the JSON schema for a component's properties and actions
171
+ </mu-api-row>
172
+ <mu-api-row name="getMCPActions()" type="function" returns="MCPAction[]">
173
+ Returns standardized MCP actions for the current page
174
+ </mu-api-row>
175
+ </mu-api-table>
176
+ </div>
177
+ </div>
178
+
179
+ <!-- EXAMPLES Tab Content -->
180
+ <div id="enterprise-examples" class="doc-tab-content" style="display: none;">
181
+ <mu-example title="Namespaced Store Demo">
182
+ <div slot="demo">
183
+ <mu-stack gap="md">
184
+ <mu-stack direction="row" gap="md">
185
+ <mu-button variant="filled" id="demo-create-store">Create Stores</mu-button>
186
+ <mu-button variant="outlined" id="demo-capture-state">Capture State</mu-button>
187
+ <mu-button variant="text" id="demo-clear-stores">Clear</mu-button>
188
+ </mu-stack>
189
+ <mu-card variant="outlined" id="store-demo-output"
190
+ style="display: none; font-family: var(--md-sys-typescale-body-medium-font); padding: 16px; max-height: 200px; overflow: auto;">
191
+ </mu-card>
192
+ </mu-stack>
193
+ </div>
194
+ <div slot="code">// Create isolated stores for each feature
195
+ const userStore = microUI.createNamespacedStore('user', {
196
+ profile: { name: 'Demo User' },
197
+ preferences: { theme: 'dark' }
198
+ });
199
+
200
+ const cartStore = microUI.createNamespacedStore('cart', {
201
+ items: ['Item A', 'Item B'],
202
+ total: 29.99
203
+ });
204
+
205
+ // Capture entire app state
206
+ const snapshot = microUI.captureAppState();</div>
207
+ </mu-example>
208
+
209
+ <mu-example title="Visual Markers for AI Agents">
210
+ <div slot="demo">
211
+ <mu-stack gap="md">
212
+ <mu-stack direction="row" gap="md" style="flex-wrap: wrap;">
213
+ <mu-button variant="tonal" id="demo-visual-markers">📸 Enable Markers</mu-button>
214
+ <mu-button variant="outlined" id="demo-get-schema">📋 Get Schema</mu-button>
215
+ <mu-button variant="outlined" id="demo-mcp-actions">📜 MCP Actions</mu-button>
216
+ </mu-stack>
217
+ <mu-card variant="outlined" id="agent-demo-output"
218
+ style="display: none; font-family: var(--md-sys-typescale-body-medium-font); padding: 16px; max-height: 200px; overflow: auto;">
219
+ </mu-card>
220
+ </mu-stack>
221
+ </div>
222
+ <div slot="code">// Enable visual markers for screenshot-based agents
223
+ microUI.enableVisualMarkers({ style: 'badge' });
224
+ // Agent sees: [B1] Save, [B2] Cancel, [I1] Email
225
+
226
+ // Reference elements by marker ID
227
+ microUI.getMarkerElement('B1').click();
228
+
229
+ // Get component schema for code generation
230
+ microUI.getComponentSchema('mu-button');
231
+ // { properties: { variant: { enum: [...] } }, actions: ['click'] }</div>
232
+ </mu-example>
233
+
234
+ <mu-example title="Error Boundary">
235
+ <div slot="demo">
236
+ <mu-error-boundary
237
+ fallback="<mu-alert severity='error'><strong>Error caught!</strong> The widget crashed but the app continues.</mu-alert>"
238
+ id="demo-error-boundary">
239
+ <mu-card variant="outlined" id="error-prone-card">
240
+ <mu-stack direction="row" gap="md" align="center">
241
+ <mu-icon name="verified" style="color: var(--md-sys-color-primary);"></mu-icon>
242
+ <span>This component is protected by an error boundary</span>
243
+ </mu-stack>
244
+ </mu-card>
245
+ </mu-error-boundary>
246
+ </div>
247
+ <div slot="code">&lt;mu-error-boundary fallback="&lt;p&gt;Something went wrong&lt;/p&gt;"&gt;
248
+ &lt;mu-complex-widget&gt;&lt;/mu-complex-widget&gt;
249
+ &lt;/mu-error-boundary&gt;</div>
250
+ </mu-example>
251
+ </div>
252
+ </div>