Table
OrganismResponsive table. scope="col" headers, hover row highlight, empty-state message, and custom cell render support.
| Name | Role | Status | Joined |
|---|---|---|---|
| Alice Johnson | Admin | Active | Jan 2024 |
| Bob Smith | Editor | Active | Mar 2024 |
| Carol White | Viewer | Inactive | Jun 2024 |
| Dan Brown | Editor | Pending | Sep 2024 |
<%- include('modules/ui/Table', {
columns: [
{ key: 'name', header: 'Name' },
{ key: 'role', header: 'Role' },
{ key: 'status', header: 'Status' },
{ key: 'joined', header: 'Joined', align: 'right' },
],
rows: users
}) %>
| Setting | Value |
|---|---|
| Max upload size | 10 MB |
| Session timeout | 30 min |
| API rate limit | 1 000 / hr |
| Cache TTL | 5 min |
<%- include('modules/ui/Table', {
columns: [
{ key: 'key', header: 'Setting' },
{ key: 'value', header: 'Value', align: 'right' },
],
rows: settings
}) %>
| Name | Role | Status | Joined |
|---|---|---|---|
| No users found. Invite someone to get started. | |||
<%- include('modules/ui/Table', {
columns: [...],
rows: [],
emptyMessage: 'No users found. Invite someone to get started.'
}) %>
<%# Backwards-compatible shim — the implementation now lives in
`modules/ui/Table/`. Existing `include('modules/ui/Table', ...)` keeps
working unchanged. %>
<%- include('./Table/Table', Object.assign({}, locals, { mode: 'plain' })) %>