microui-wc 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +71 -71
- package/CHANGELOG.md +1 -1
- package/README.md +14 -9
- package/dist/AGENTS.md +71 -71
- package/dist/README.md +14 -9
- package/dist/microui.css +1 -1
- package/dist/microui.esm.js.map +1 -1
- package/dist/microui.min.js.map +1 -1
- package/docs/getting-started.md +3 -3
- package/package.json +39 -11
- package/src/components/mu-schema-form.js +1 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -33
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -28
- package/.github/workflows/ci.yml +0 -42
- package/.github/workflows/deploy-pages.yml +0 -112
- package/CODE_OF_CONDUCT.md +0 -59
- package/CONTRIBUTING.md +0 -156
- package/SECURITY.md +0 -58
- package/app/.generated/routes/alerts.js +0 -8
- package/app/.generated/routes/avatars.js +0 -8
- package/app/.generated/routes/badges.js +0 -8
- package/app/.generated/routes/buttons.js +0 -10
- package/app/.generated/routes/cards.js +0 -10
- package/app/.generated/routes/checkboxes.js +0 -9
- package/app/.generated/routes/chips.js +0 -8
- package/app/.generated/routes/dropdowns.js +0 -9
- package/app/.generated/routes/home.js +0 -7
- package/app/.generated/routes/icons.js +0 -9
- package/app/.generated/routes/inputs.js +0 -10
- package/app/.generated/routes/installation.js +0 -7
- package/app/.generated/routes/layout.js +0 -9
- package/app/.generated/routes/modals.js +0 -9
- package/app/.generated/routes/navbar.js +0 -7
- package/app/.generated/routes/progress.js +0 -9
- package/app/.generated/routes/radios.js +0 -9
- package/app/.generated/routes/switches.js +0 -9
- package/app/.generated/routes/tabs.js +0 -8
- package/app/.generated/routes/toasts.js +0 -9
- package/app/index.html +0 -67
- package/app/pages/alerts.html +0 -23
- package/app/pages/avatars.html +0 -22
- package/app/pages/badges.html +0 -22
- package/app/pages/buttons.html +0 -71
- package/app/pages/cards.html +0 -54
- package/app/pages/checkboxes.html +0 -39
- package/app/pages/chips.html +0 -23
- package/app/pages/dropdowns.html +0 -41
- package/app/pages/home.html +0 -59
- package/app/pages/icons.html +0 -29
- package/app/pages/inputs.html +0 -66
- package/app/pages/installation.html +0 -34
- package/app/pages/layout.html +0 -30
- package/app/pages/modals.html +0 -21
- package/app/pages/navbar.html +0 -22
- package/app/pages/progress.html +0 -35
- package/app/pages/radios.html +0 -40
- package/app/pages/switches.html +0 -39
- package/app/pages/tabs.html +0 -30
- package/app/pages/toasts.html +0 -22
- package/app-dist/index.html +0 -67
- package/app-dist/pages/alerts.html +0 -23
- package/app-dist/pages/avatars.html +0 -22
- package/app-dist/pages/badges.html +0 -22
- package/app-dist/pages/buttons.html +0 -71
- package/app-dist/pages/cards.html +0 -54
- package/app-dist/pages/checkboxes.html +0 -39
- package/app-dist/pages/chips.html +0 -23
- package/app-dist/pages/dropdowns.html +0 -41
- package/app-dist/pages/home.html +0 -59
- package/app-dist/pages/icons.html +0 -29
- package/app-dist/pages/inputs.html +0 -66
- package/app-dist/pages/installation.html +0 -34
- package/app-dist/pages/layout.html +0 -30
- package/app-dist/pages/modals.html +0 -21
- package/app-dist/pages/navbar.html +0 -22
- package/app-dist/pages/progress.html +0 -35
- package/app-dist/pages/radios.html +0 -40
- package/app-dist/pages/switches.html +0 -39
- package/app-dist/pages/tabs.html +0 -30
- package/app-dist/pages/toasts.html +0 -22
- package/app-dist/pages.json +0 -217
- package/app-dist/routes/alerts.js +0 -5
- package/app-dist/routes/avatars.js +0 -1
- package/app-dist/routes/badges.js +0 -1
- package/app-dist/routes/buttons.js +0 -1
- package/app-dist/routes/cards.js +0 -1
- package/app-dist/routes/checkboxes.js +0 -9
- package/app-dist/routes/chips.js +0 -4
- package/app-dist/routes/chunk-019e5e2f.js +0 -5
- package/app-dist/routes/chunk-0m4j19yd.js +0 -2
- package/app-dist/routes/chunk-0tmmp5q0.js +0 -1
- package/app-dist/routes/chunk-10xn709r.js +0 -1
- package/app-dist/routes/chunk-15m2qcda.js +0 -2
- package/app-dist/routes/chunk-1bh8g23n.js +0 -1
- package/app-dist/routes/chunk-1vg0v937.js +0 -1
- package/app-dist/routes/chunk-1zvcgy3j.js +0 -1
- package/app-dist/routes/chunk-2afb0861.js +0 -1
- package/app-dist/routes/chunk-2c6ttpzt.js +0 -5
- package/app-dist/routes/chunk-3dy30fhs.js +0 -1
- package/app-dist/routes/chunk-426dnces.js +0 -13
- package/app-dist/routes/chunk-44kgxery.js +0 -1
- package/app-dist/routes/chunk-47fdnejd.js +0 -33
- package/app-dist/routes/chunk-49a6t2vq.js +0 -1
- package/app-dist/routes/chunk-4fe1rm5b.js +0 -1
- package/app-dist/routes/chunk-4ggmvkta.js +0 -33
- package/app-dist/routes/chunk-4vkz81q7.js +0 -33
- package/app-dist/routes/chunk-4w4tmj8f.js +0 -31
- package/app-dist/routes/chunk-532s62kr.js +0 -31
- package/app-dist/routes/chunk-5hm3bssy.js +0 -33
- package/app-dist/routes/chunk-5vrh24hc.js +0 -1
- package/app-dist/routes/chunk-61pcg25a.js +0 -1
- package/app-dist/routes/chunk-6nfhygvf.js +0 -1
- package/app-dist/routes/chunk-700e7je6.js +0 -33
- package/app-dist/routes/chunk-7fsn17kg.js +0 -1
- package/app-dist/routes/chunk-7k789b32.js +0 -1
- package/app-dist/routes/chunk-7r46q0ys.js +0 -36
- package/app-dist/routes/chunk-86fmc1fr.js +0 -5
- package/app-dist/routes/chunk-8qth37vw.js +0 -1
- package/app-dist/routes/chunk-924wv8n0.js +0 -1
- package/app-dist/routes/chunk-9mbhgxk9.js +0 -1
- package/app-dist/routes/chunk-a216hyd9.js +0 -1
- package/app-dist/routes/chunk-akzxykh9.js +0 -33
- package/app-dist/routes/chunk-b3dcvy8c.js +0 -1
- package/app-dist/routes/chunk-b74zahz5.js +0 -31
- package/app-dist/routes/chunk-bftj53p2.js +0 -5
- package/app-dist/routes/chunk-c01hnz3e.js +0 -1
- package/app-dist/routes/chunk-d8pvv5km.js +0 -1
- package/app-dist/routes/chunk-dev0aezr.js +0 -2
- package/app-dist/routes/chunk-dh6vnv0e.js +0 -1
- package/app-dist/routes/chunk-dn2cbpva.js +0 -36
- package/app-dist/routes/chunk-dvn0my90.js +0 -1
- package/app-dist/routes/chunk-dvq8mnve.js +0 -36
- package/app-dist/routes/chunk-e8c2gc4d.js +0 -5
- package/app-dist/routes/chunk-ejf9ak2x.js +0 -1
- package/app-dist/routes/chunk-f083m55s.js +0 -1
- package/app-dist/routes/chunk-fnrj28s1.js +0 -31
- package/app-dist/routes/chunk-fvg3yjdp.js +0 -31
- package/app-dist/routes/chunk-g7k381n1.js +0 -1
- package/app-dist/routes/chunk-h01kq2ae.js +0 -13
- package/app-dist/routes/chunk-h4dk761v.js +0 -5
- package/app-dist/routes/chunk-hmx91z2x.js +0 -5
- package/app-dist/routes/chunk-hxbg4m42.js +0 -36
- package/app-dist/routes/chunk-jbjnfp2b.js +0 -2
- package/app-dist/routes/chunk-jxtz5vv6.js +0 -36
- package/app-dist/routes/chunk-jxzcs0ey.js +0 -36
- package/app-dist/routes/chunk-kt7wwhcx.js +0 -1
- package/app-dist/routes/chunk-kzptszyc.js +0 -33
- package/app-dist/routes/chunk-mhgca4w4.js +0 -2
- package/app-dist/routes/chunk-mhswxa20.js +0 -1
- package/app-dist/routes/chunk-n8zfeex6.js +0 -1
- package/app-dist/routes/chunk-pee47b2r.js +0 -1
- package/app-dist/routes/chunk-pesmw829.js +0 -1
- package/app-dist/routes/chunk-pgc4c6f3.js +0 -36
- package/app-dist/routes/chunk-q8egegm1.js +0 -1
- package/app-dist/routes/chunk-q9mn2qyq.js +0 -36
- package/app-dist/routes/chunk-qh0rtaf3.js +0 -5
- package/app-dist/routes/chunk-qqhmk6ye.js +0 -2
- package/app-dist/routes/chunk-qrxygmf7.js +0 -33
- package/app-dist/routes/chunk-r46yzksx.js +0 -36
- package/app-dist/routes/chunk-rgpbw2w0.js +0 -5
- package/app-dist/routes/chunk-rnpzv3d8.js +0 -2
- package/app-dist/routes/chunk-s5v8cv05.js +0 -2
- package/app-dist/routes/chunk-sbwn5bpc.js +0 -1
- package/app-dist/routes/chunk-sqbg8jbt.js +0 -33
- package/app-dist/routes/chunk-sv8dqnf7.js +0 -1
- package/app-dist/routes/chunk-t67sw3za.js +0 -1
- package/app-dist/routes/chunk-tjdpqwdf.js +0 -31
- package/app-dist/routes/chunk-tq2mfghg.js +0 -1
- package/app-dist/routes/chunk-ttn10vt6.js +0 -1
- package/app-dist/routes/chunk-v2hzpjxr.js +0 -1
- package/app-dist/routes/chunk-wfjjkw9y.js +0 -1
- package/app-dist/routes/chunk-wt8cxzmf.js +0 -31
- package/app-dist/routes/chunk-x45d372k.js +0 -5
- package/app-dist/routes/chunk-y3wsazkt.js +0 -1
- package/app-dist/routes/chunk-y7pmgc7t.js +0 -33
- package/app-dist/routes/chunk-zefdt2q3.js +0 -31
- package/app-dist/routes/dropdowns.js +0 -6
- package/app-dist/routes/home.js +0 -1
- package/app-dist/routes/icons.js +0 -1
- package/app-dist/routes/inputs.js +0 -12
- package/app-dist/routes/installation.js +0 -1
- package/app-dist/routes/layout.js +0 -1
- package/app-dist/routes/modals.js +0 -7
- package/app-dist/routes/navbar.js +0 -1
- package/app-dist/routes/progress.js +0 -1
- package/app-dist/routes/radios.js +0 -6
- package/app-dist/routes/switches.js +0 -6
- package/app-dist/routes/tabs.js +0 -1
- package/app-dist/routes/toasts.js +0 -16
- package/assets/fonts/material-symbols-mini.woff2 +0 -0
- package/assets/fonts/material-symbols.woff2 +0 -0
- package/assets/fonts/roboto-400.woff2 +0 -0
- package/assets/fonts/roboto-500.woff2 +0 -0
- package/assets/fonts/roboto-700.woff2 +0 -0
- package/assets/logo-banner-400.jpg +0 -0
- package/assets/logo-banner-400.webp +0 -0
- package/assets/logo-banner-800.webp +0 -0
- package/assets/logo-banner.jpg +0 -0
- package/assets/logo-icon-64.jpg +0 -0
- package/assets/logo-icon-64.webp +0 -0
- package/assets/logo-icon.jpg +0 -0
- package/assets/logo-square.jpg +0 -0
- package/bun.lock +0 -312
- package/bunfig.toml +0 -4
- package/custom-elements.json +0 -1916
- package/demo/api/sample-data.json +0 -38
- package/demo/content/alerts.html +0 -115
- package/demo/content/avatars.html +0 -70
- package/demo/content/badges.html +0 -65
- package/demo/content/buttons.html +0 -188
- package/demo/content/callouts.html +0 -91
- package/demo/content/cards.html +0 -121
- package/demo/content/checkboxes.html +0 -178
- package/demo/content/chips.html +0 -67
- package/demo/content/codeblocks.html +0 -101
- package/demo/content/confirms.html +0 -115
- package/demo/content/datatables.html +0 -149
- package/demo/content/dividers.html +0 -119
- package/demo/content/dropdowns.html +0 -89
- package/demo/content/enterprise.html +0 -252
- package/demo/content/home.html +0 -149
- package/demo/content/icons.html +0 -89
- package/demo/content/inputs.html +0 -135
- package/demo/content/installation.html +0 -16
- package/demo/content/layout.html +0 -136
- package/demo/content/modals.html +0 -141
- package/demo/content/navbar.html +0 -70
- package/demo/content/progress.html +0 -119
- package/demo/content/radios.html +0 -88
- package/demo/content/skeletons.html +0 -109
- package/demo/content/spinners.html +0 -96
- package/demo/content/switches.html +0 -84
- package/demo/content/tables.html +0 -124
- package/demo/content/tabs.html +0 -85
- package/demo/content/toasts.html +0 -116
- package/demo/content/tooltips.html +0 -107
- package/demo/content/virtual-lists.html +0 -233
- package/demo/favicon.ico +0 -0
- package/demo/favicon.png +0 -0
- package/demo/full.html +0 -52
- package/demo/iife.html +0 -46
- package/demo/manifest.json +0 -34
- package/demo/pages/datatable-demo.html +0 -237
- package/demo/pages/prompt-ui-demo.html +0 -218
- package/demo/pages/responsive-demo.html +0 -122
- package/demo/pages/schema-form-demo.html +0 -270
- package/demo/robots.txt +0 -6
- package/demo/shell.html +0 -712
- package/demo/sw.js +0 -387
- package/lighthouse-audit.mjs +0 -113
- package/scripts/analyze-components.js +0 -105
- package/scripts/build-app.js +0 -193
- package/scripts/build-framework.js +0 -444
- package/scripts/build-utils.js +0 -101
- package/scripts/test-isolated.js +0 -151
- package/server.js +0 -256
- package/tests/agents/agent-integration.test.js +0 -76
- package/tests/benchmark.html +0 -296
- package/tests/build/scan-components.test.js +0 -173
- package/tests/components/all-components.test.js +0 -245
- package/tests/components/all-missing-components.test.js +0 -574
- package/tests/components/mu-alert.test.js +0 -113
- package/tests/components/mu-avatar.test.js +0 -148
- package/tests/components/mu-badge.test.js +0 -92
- package/tests/components/mu-button.test.js +0 -112
- package/tests/components/mu-card.test.js +0 -89
- package/tests/components/mu-checkbox.test.js +0 -158
- package/tests/components/mu-chip.test.js +0 -118
- package/tests/components/mu-container.test.js +0 -120
- package/tests/components/mu-divider.test.js +0 -98
- package/tests/components/mu-drawer-item.test.js +0 -199
- package/tests/components/mu-drawer.test.js +0 -96
- package/tests/components/mu-dropdown.test.js +0 -125
- package/tests/components/mu-form.test.js +0 -138
- package/tests/components/mu-grid.test.js +0 -135
- package/tests/components/mu-icon.test.js +0 -110
- package/tests/components/mu-input.test.js +0 -131
- package/tests/components/mu-lazy.test.js +0 -103
- package/tests/components/mu-modal.test.js +0 -275
- package/tests/components/mu-navbar.test.js +0 -101
- package/tests/components/mu-progress.test.js +0 -115
- package/tests/components/mu-radio.test.js +0 -114
- package/tests/components/mu-repeat.test.js +0 -106
- package/tests/components/mu-sidebar.test.js +0 -126
- package/tests/components/mu-skeleton.test.js +0 -162
- package/tests/components/mu-stack.test.js +0 -143
- package/tests/components/mu-switch.test.js +0 -292
- package/tests/components/mu-table.test.js +0 -124
- package/tests/components/mu-tabs.test.js +0 -104
- package/tests/components/mu-textarea.test.js +0 -115
- package/tests/components/mu-toast.test.js +0 -321
- package/tests/components/mu-tooltip.test.js +0 -133
- package/tests/components/mu-virtual-list.test.js +0 -109
- package/tests/core/MuElement.test.js +0 -120
- package/tests/core/agent-api.test.js +0 -125
- package/tests/core/all-core-modules.test.js +0 -442
- package/tests/core/bus.test.js +0 -364
- package/tests/core/component-schema.test.js +0 -160
- package/tests/core/feature-registry.test.js +0 -198
- package/tests/core/form-state.test.js +0 -167
- package/tests/core/http.test.js +0 -119
- package/tests/core/keyboard.test.js +0 -319
- package/tests/core/layers.test.js +0 -129
- package/tests/core/namespaced-stores.test.js +0 -114
- package/tests/core/render.test.js +0 -121
- package/tests/core/ripple.test.js +0 -131
- package/tests/core/router.test.js +0 -89
- package/tests/core/scheduler.test.js +0 -121
- package/tests/core/signals.test.js +0 -128
- package/tests/core/store.test.js +0 -171
- package/tests/core/transitions.test.js +0 -82
- package/tests/e2e/accessibility-harness.html +0 -58
- package/tests/e2e/accessibility.test.js +0 -401
- package/tests/e2e/agent-features.test.js +0 -372
- package/tests/e2e/card-spacing.test.js +0 -287
- package/tests/e2e/components.test.js +0 -439
- package/tests/e2e/demo-routes.test.js +0 -478
- package/tests/e2e/layout-css-fallback.test.js +0 -334
- package/tests/e2e/mu-alert.e2e.test.js +0 -111
- package/tests/e2e/mu-checkbox.test.js +0 -489
- package/tests/e2e/mu-chip.test.js +0 -347
- package/tests/e2e/mu-form.test.js +0 -499
- package/tests/e2e/mu-icon.test.js +0 -114
- package/tests/e2e/mu-radio.test.js +0 -113
- package/tests/e2e/mu-skeleton.test.js +0 -140
- package/tests/e2e/mu-switch.test.js +0 -415
- package/tests/e2e/mu-tabs.test.js +0 -494
- package/tests/e2e/mu-textarea.test.js +0 -242
- package/tests/e2e/mu-virtual-list.test.js +0 -427
- package/tests/e2e/perf-memory.test.js +0 -161
- package/tests/e2e/puppeteer-helper.js +0 -137
- package/tests/e2e/puppeteer.test.js +0 -226
- package/tests/e2e/pwa.test.js +0 -261
- package/tests/e2e/test-harness.html +0 -319
- package/tests/manual/test-components.html +0 -120
- package/tests/memory-test.html +0 -309
- package/tests/setup-dom.js +0 -93
- package/tests/visual-test.html +0 -301
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
<div class="page active">
|
|
2
|
-
<h1 class="page-title">DataTable</h1>
|
|
3
|
-
<p class="page-subtitle">
|
|
4
|
-
<code><mu-datatable></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"><mu-datatable
|
|
26
|
-
columns='[{"field":"name","label":"Name","sortable":true},...]'
|
|
27
|
-
page-size="5"
|
|
28
|
-
sortable
|
|
29
|
-
filterable>
|
|
30
|
-
</mu-datatable>
|
|
31
|
-
|
|
32
|
-
<script>
|
|
33
|
-
document.querySelector('mu-datatable').setData(usersArray);
|
|
34
|
-
</script></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"><mu-datatable
|
|
143
|
-
columns='[...]'
|
|
144
|
-
sortable
|
|
145
|
-
selectable>
|
|
146
|
-
</mu-datatable></div>
|
|
147
|
-
</mu-example>
|
|
148
|
-
</div>
|
|
149
|
-
</div>
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
<div class="page active">
|
|
2
|
-
<h1 class="page-title">Divider</h1>
|
|
3
|
-
<p class="page-subtitle">
|
|
4
|
-
<code><mu-divider></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"><mu-stack gap="0">
|
|
39
|
-
<div>Item 1</div>
|
|
40
|
-
<mu-divider inset></mu-divider>
|
|
41
|
-
<div>Item 2</div>
|
|
42
|
-
</mu-stack></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"><mu-stack direction="row" align="center">
|
|
60
|
-
<mu-icon name="edit"></mu-icon>
|
|
61
|
-
<mu-icon name="delete"></mu-icon>
|
|
62
|
-
<mu-divider vertical></mu-divider>
|
|
63
|
-
<mu-icon name="settings"></mu-icon>
|
|
64
|
-
</mu-stack></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"><mu-divider inset></mu-divider></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"><mu-divider vertical></mu-divider></div>
|
|
117
|
-
</mu-example>
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
@@ -1,89 +0,0 @@
|
|
|
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><mu-dropdown></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>
|
|
@@ -1,252 +0,0 @@
|
|
|
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<string, Store>">
|
|
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<{timestamp, state}>">
|
|
131
|
-
Returns the change history for a specific store
|
|
132
|
-
</mu-api-row>
|
|
133
|
-
<mu-api-row name="getErrors()" type="function" returns="Array<Error>">
|
|
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<string, Feature>">
|
|
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<string, MarkerInfo>">
|
|
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"><mu-error-boundary fallback="<p>Something went wrong</p>">
|
|
248
|
-
<mu-complex-widget></mu-complex-widget>
|
|
249
|
-
</mu-error-boundary></div>
|
|
250
|
-
</mu-example>
|
|
251
|
-
</div>
|
|
252
|
-
</div>
|