@equal-experts/kuat-react 0.14.0 → 0.15.0-beta.1
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/agent-docs/AGENTS.md +1 -1
- package/agent-docs/README.md +1 -1
- package/agent-docs/components/callout.md +66 -0
- package/agent-docs/components/components.manifest.json +6 -0
- package/agent-docs/external/kuat-agent-rules/reference/accessibility/accessibility.md +27 -1
- package/agent-docs/external/kuat-agent-rules/reference/design-language/colour-usage.md +107 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/colours.md +86 -11
- package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/colors.tokens.json +193 -5
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/README.md +6 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/website.md +14 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/README.md +1 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/accessibility.md +0 -29
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/colour-modes.md +58 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-decision-tree.md +3 -32
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-registry.md +1 -1
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/product-content.md +0 -26
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/README.md +14 -5
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/{forms.md → complete-a-form.md} +43 -53
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/{dashboards.md → dashboard.md} +42 -51
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/documentation.md +41 -51
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/{authentication.md → sign-in.md} +42 -52
- package/agent-docs/manifest.json +3 -3
- package/agent-docs/rules/LOADING-consumer.md +1 -1
- package/dist/callout-DFmAtUwR.js +46 -0
- package/dist/callout.d.ts +3 -0
- package/dist/callout.js +7 -0
- package/dist/components/ui/callout/callout.d.ts +19 -0
- package/dist/components/ui/callout/index.d.ts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +196 -193
- package/dist/style.css +1 -1
- package/package.json +5 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Help users to complete a form
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**User goal:** Complete a form efficiently — understand what's needed, correct mistakes easily, and not
|
|
4
|
+
lose work in progress.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
> **Pattern:** *Help users to…* · single-medium (web-product) — concept and implementation together.
|
|
7
|
+
> Covers forms, settings pages, multi-step wizards, and data entry interfaces.
|
|
6
8
|
|
|
7
|
-
##
|
|
8
|
-
|
|
9
|
-
### User Goals
|
|
9
|
+
## Context
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
Forms are where users hand over information to get something done, and every field is friction between
|
|
12
|
+
them and their task. They want to complete the task efficiently, understand what each field needs and
|
|
13
|
+
why, fix errors without re-entering data, and trust that their progress won't be lost. This covers
|
|
14
|
+
public forms, app settings, multi-step wizards, and inline data entry.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
## Principles
|
|
17
17
|
|
|
18
18
|
| Principle | Implementation |
|
|
19
19
|
|-----------|----------------|
|
|
@@ -22,16 +22,11 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
22
22
|
| Helpful feedback | Specific, actionable error messages |
|
|
23
23
|
| Progress preservation | Save work, confirm destructive actions |
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Success shows up as: form completion rate, time to complete, error rate and recovery, and abandonment rate.
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
- Time to complete
|
|
29
|
-
- Error rate and recovery
|
|
30
|
-
- Abandonment rate
|
|
27
|
+
## Solution in web-product
|
|
31
28
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Layout
|
|
29
|
+
### Layout
|
|
35
30
|
|
|
36
31
|
**Base Layout:** Varies by context
|
|
37
32
|
|
|
@@ -42,7 +37,7 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
42
37
|
| Multi-step wizards | Single Column or Horizontal Navigation |
|
|
43
38
|
| Inline editing | Within parent layout |
|
|
44
39
|
|
|
45
|
-
|
|
40
|
+
#### Card-Based Form (Settings, Profile)
|
|
46
41
|
|
|
47
42
|
```
|
|
48
43
|
┌─────────────────────────────────────┐
|
|
@@ -55,7 +50,7 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
55
50
|
└─────────────────────────────────────┘
|
|
56
51
|
```
|
|
57
52
|
|
|
58
|
-
|
|
53
|
+
#### Multi-Step Wizard
|
|
59
54
|
|
|
60
55
|
```
|
|
61
56
|
┌─────────────────────────────────────┐
|
|
@@ -72,7 +67,7 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
72
67
|
└─────────────────────────────────────┘
|
|
73
68
|
```
|
|
74
69
|
|
|
75
|
-
|
|
70
|
+
#### Specifications
|
|
76
71
|
|
|
77
72
|
| Element | Value |
|
|
78
73
|
|---------|-------|
|
|
@@ -82,11 +77,9 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
82
77
|
| Section spacing | 32px between cards |
|
|
83
78
|
| Settings page max-width | 800px |
|
|
84
79
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
## Design
|
|
80
|
+
### Design
|
|
88
81
|
|
|
89
|
-
|
|
82
|
+
#### Color Tokens
|
|
90
83
|
|
|
91
84
|
| Element | Token |
|
|
92
85
|
|---------|-------|
|
|
@@ -98,7 +91,7 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
98
91
|
| Error state | `border-destructive`, `text-destructive` |
|
|
99
92
|
| Success indicator | `text-green-600` |
|
|
100
93
|
|
|
101
|
-
|
|
94
|
+
#### Typography
|
|
102
95
|
|
|
103
96
|
| Element | Style |
|
|
104
97
|
|---------|-------|
|
|
@@ -110,7 +103,7 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
110
103
|
| Error text | `text-sm text-destructive` |
|
|
111
104
|
| Required indicator | `text-destructive` (asterisk) |
|
|
112
105
|
|
|
113
|
-
|
|
106
|
+
#### Spacing
|
|
114
107
|
|
|
115
108
|
| Element | Value |
|
|
116
109
|
|---------|-------|
|
|
@@ -119,11 +112,9 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
119
112
|
| Between fields | 24px |
|
|
120
113
|
| Button group gap | 16px |
|
|
121
114
|
|
|
122
|
-
|
|
115
|
+
### Content
|
|
123
116
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
### Field Labels
|
|
117
|
+
#### Field Labels
|
|
127
118
|
|
|
128
119
|
| Requirement | Example |
|
|
129
120
|
|-------------|---------|
|
|
@@ -131,7 +122,7 @@ Patterns for forms, settings pages, multi-step wizards, and data entry interface
|
|
|
131
122
|
| Required indicator | "Email address *" |
|
|
132
123
|
| Optional indicator | "Phone number (optional)" |
|
|
133
124
|
|
|
134
|
-
|
|
125
|
+
#### Helper Text
|
|
135
126
|
|
|
136
127
|
Use to:
|
|
137
128
|
- Explain format requirements
|
|
@@ -144,7 +135,7 @@ Email address *
|
|
|
144
135
|
We'll send your receipt to this address.
|
|
145
136
|
```
|
|
146
137
|
|
|
147
|
-
|
|
138
|
+
#### Error Messages
|
|
148
139
|
|
|
149
140
|
| Quality | Bad | Good |
|
|
150
141
|
|---------|-----|------|
|
|
@@ -152,7 +143,7 @@ We'll send your receipt to this address.
|
|
|
152
143
|
| Actionable | "Error" | "Please enter a valid date (DD/MM/YYYY)" |
|
|
153
144
|
| Polite | "Wrong!" | "Please check this field" |
|
|
154
145
|
|
|
155
|
-
|
|
146
|
+
#### Button Labels
|
|
156
147
|
|
|
157
148
|
| Action | Label |
|
|
158
149
|
|--------|-------|
|
|
@@ -162,9 +153,7 @@ We'll send your receipt to this address.
|
|
|
162
153
|
| Cancel | "Cancel", "Discard changes" |
|
|
163
154
|
| Delete | "Delete", "Remove" |
|
|
164
155
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
## Accessibility
|
|
156
|
+
### Accessibility
|
|
168
157
|
|
|
169
158
|
**Base requirements:** See [accessibility foundations](../../../accessibility/accessibility.md) and [web accessibility](../accessibility.md)
|
|
170
159
|
|
|
@@ -179,7 +168,7 @@ We'll send your receipt to this address.
|
|
|
179
168
|
| Focus management | Focus first error after failed submission |
|
|
180
169
|
| No time limits | Allow unlimited time (or generous extension) |
|
|
181
170
|
|
|
182
|
-
|
|
171
|
+
#### Form Validation Pattern
|
|
183
172
|
|
|
184
173
|
**Critical: Validate on submit, not on blur**
|
|
185
174
|
|
|
@@ -191,18 +180,16 @@ We'll send your receipt to this address.
|
|
|
191
180
|
| Error summary | Show summary above form with field links |
|
|
192
181
|
| Focus first error | Move focus to first invalid field |
|
|
193
182
|
|
|
194
|
-
|
|
183
|
+
#### Grouping
|
|
195
184
|
|
|
196
185
|
Use `<fieldset>` and `<legend>` for:
|
|
197
186
|
- Radio button groups
|
|
198
187
|
- Checkbox groups
|
|
199
188
|
- Related fields (e.g., address components)
|
|
200
189
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
## Implementation
|
|
190
|
+
### Implementation
|
|
204
191
|
|
|
205
|
-
|
|
192
|
+
#### Field Layout Patterns
|
|
206
193
|
|
|
207
194
|
**Vertical (Default):**
|
|
208
195
|
|
|
@@ -233,7 +220,7 @@ Best for: Settings pages with many fields
|
|
|
233
220
|
|
|
234
221
|
Best for: Related fields (names, addresses)
|
|
235
222
|
|
|
236
|
-
|
|
223
|
+
#### Button Placement
|
|
237
224
|
|
|
238
225
|
**Component guide:** `shadcn:button` — the `components/button.md` guide for button behaviour lives in the consumer package `agent-docs/` or overlay (see [component-registry.md](../component-registry.md)).
|
|
239
226
|
|
|
@@ -259,7 +246,7 @@ Best for: Related fields (names, addresses)
|
|
|
259
246
|
| Left | Back (`variant="outline"`) |
|
|
260
247
|
| Right | Next/Submit (`variant="default"`) |
|
|
261
248
|
|
|
262
|
-
|
|
249
|
+
#### Settings Page Pattern
|
|
263
250
|
|
|
264
251
|
Multiple card sections, each independently saveable:
|
|
265
252
|
|
|
@@ -281,7 +268,7 @@ Multiple card sections, each independently saveable:
|
|
|
281
268
|
| Section max-width | 800px |
|
|
282
269
|
| Alignment | Left-aligned (not centered) |
|
|
283
270
|
|
|
284
|
-
|
|
271
|
+
#### Multi-Step Wizard Pattern
|
|
285
272
|
|
|
286
273
|
**Progress Indicator:**
|
|
287
274
|
|
|
@@ -301,7 +288,7 @@ Multiple card sections, each independently saveable:
|
|
|
301
288
|
- Warn before leaving with unsaved changes
|
|
302
289
|
- Handle session timeout gracefully
|
|
303
290
|
|
|
304
|
-
|
|
291
|
+
#### Responsive Behavior
|
|
305
292
|
|
|
306
293
|
| Breakpoint | Grid Fields | Button Layout |
|
|
307
294
|
|------------|-------------|---------------|
|
|
@@ -309,8 +296,6 @@ Multiple card sections, each independently saveable:
|
|
|
309
296
|
| Tablet | 2 columns | Horizontal |
|
|
310
297
|
| Desktop | As designed | Horizontal |
|
|
311
298
|
|
|
312
|
-
---
|
|
313
|
-
|
|
314
299
|
## Best Practices
|
|
315
300
|
|
|
316
301
|
### Do's
|
|
@@ -352,10 +337,15 @@ Multiple card sections, each independently saveable:
|
|
|
352
337
|
| Session timeout | Save draft, prompt re-auth |
|
|
353
338
|
| Network failure | Queue submission, retry automatically |
|
|
354
339
|
|
|
355
|
-
|
|
340
|
+
## Examples
|
|
341
|
+
|
|
342
|
+
The card-based form above (600px max-width, section title in the header, fields stacked with 24px
|
|
343
|
+
spacing, and `[Cancel] [Save]` in the footer) is the canonical mid-fidelity frame. The same frame
|
|
344
|
+
scales up to independently saveable settings sections and, with a progress indicator and Back / Next
|
|
345
|
+
controls, to multi-step wizards.
|
|
356
346
|
|
|
357
|
-
## Related
|
|
347
|
+
## Related
|
|
358
348
|
|
|
359
349
|
- [Product Design](../design.md) - Layout options
|
|
360
350
|
- [Web Accessibility](../accessibility.md) - Form validation pattern
|
|
361
|
-
- [
|
|
351
|
+
- [Help users to sign in](./sign-in.md) - Login/registration forms
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
# Dashboard
|
|
1
|
+
# Dashboard
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**User goal:** See the key metrics at a glance, understand trends over time, and move from data to a
|
|
4
|
+
confident decision — drilling into detail only when needed.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
> **Pattern:** *Pages* · single-medium (web-product) — concept and implementation together.
|
|
7
|
+
> Covers analytics views, metrics displays, data tables, and reporting interfaces.
|
|
6
8
|
|
|
7
|
-
##
|
|
8
|
-
|
|
9
|
-
### User Goals
|
|
9
|
+
## Context
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
A dashboard exists to turn data into decisions. Users arrive wanting insights quickly, with the most
|
|
12
|
+
important metrics visible at a glance, patterns and changes over time made legible, and clear paths from
|
|
13
|
+
what the numbers say to what to do next — while keeping the option to explore deeper when a question
|
|
14
|
+
demands it.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
## Principles
|
|
17
17
|
|
|
18
18
|
| Principle | Implementation |
|
|
19
19
|
|-----------|----------------|
|
|
@@ -22,22 +22,18 @@ Patterns for data dashboards, analytics views, metrics displays, and reporting i
|
|
|
22
22
|
| Consistent data | Same time periods, units, formats |
|
|
23
23
|
| Actionable context | Explain what numbers mean |
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Success shows up as: time to find key information, decision confidence, filter usage patterns, and
|
|
26
|
+
drill-down completion rates.
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
- Decision confidence
|
|
29
|
-
- Filter usage patterns
|
|
30
|
-
- Drill-down completion rates
|
|
28
|
+
## Solution in web-product
|
|
31
29
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Layout
|
|
30
|
+
### Layout
|
|
35
31
|
|
|
36
32
|
**Base Layout:** Sidebar Navigation
|
|
37
33
|
|
|
38
34
|
Dashboards benefit from persistent navigation and maximum content width.
|
|
39
35
|
|
|
40
|
-
|
|
36
|
+
#### Metrics Dashboard Structure
|
|
41
37
|
|
|
42
38
|
```
|
|
43
39
|
┌──────┬──────────────────────────────────┐
|
|
@@ -57,7 +53,7 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
57
53
|
└──────┴──────────────────────────────────┘
|
|
58
54
|
```
|
|
59
55
|
|
|
60
|
-
|
|
56
|
+
#### Data Table Dashboard Structure
|
|
61
57
|
|
|
62
58
|
```
|
|
63
59
|
┌──────┬──────────────────────────────────┐
|
|
@@ -76,7 +72,7 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
76
72
|
└──────┴──────────────────────────────────┘
|
|
77
73
|
```
|
|
78
74
|
|
|
79
|
-
|
|
75
|
+
#### Specifications
|
|
80
76
|
|
|
81
77
|
| Element | Value |
|
|
82
78
|
|---------|-------|
|
|
@@ -85,11 +81,9 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
85
81
|
| KPI card grid | 4 columns desktop, 2 tablet, 1 mobile |
|
|
86
82
|
| Grid gap | 16-24px |
|
|
87
83
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
## Design
|
|
84
|
+
### Design
|
|
91
85
|
|
|
92
|
-
|
|
86
|
+
#### Color Tokens
|
|
93
87
|
|
|
94
88
|
| Element | Token |
|
|
95
89
|
|---------|-------|
|
|
@@ -101,7 +95,7 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
101
95
|
| Negative trend | `text-destructive` |
|
|
102
96
|
| Neutral | `text-muted-foreground` |
|
|
103
97
|
|
|
104
|
-
|
|
98
|
+
#### KPI Card Pattern
|
|
105
99
|
|
|
106
100
|
| Element | Specification |
|
|
107
101
|
|---------|---------------|
|
|
@@ -111,7 +105,7 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
111
105
|
| Value | `text-2xl font-bold` or `text-3xl font-bold` |
|
|
112
106
|
| Trend | Small text with arrow icon |
|
|
113
107
|
|
|
114
|
-
|
|
108
|
+
#### Chart Container Pattern
|
|
115
109
|
|
|
116
110
|
| Element | Specification |
|
|
117
111
|
|---------|---------------|
|
|
@@ -120,7 +114,7 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
120
114
|
| Header | Title left, controls right |
|
|
121
115
|
| Min height | 300px primary, 200px secondary |
|
|
122
116
|
|
|
123
|
-
|
|
117
|
+
#### Typography Hierarchy
|
|
124
118
|
|
|
125
119
|
| Element | Style |
|
|
126
120
|
|---------|-------|
|
|
@@ -131,11 +125,9 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
131
125
|
| Chart titles | `text-base font-medium` |
|
|
132
126
|
| Table headers | `text-sm font-medium` |
|
|
133
127
|
|
|
134
|
-
|
|
128
|
+
### Content
|
|
135
129
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
### KPI Cards
|
|
130
|
+
#### KPI Cards
|
|
139
131
|
|
|
140
132
|
**Structure:**
|
|
141
133
|
|
|
@@ -152,7 +144,7 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
152
144
|
| "Active Users" | "2,847" | "-3% vs last week" |
|
|
153
145
|
| "Conversion Rate" | "4.2%" | "No change" |
|
|
154
146
|
|
|
155
|
-
|
|
147
|
+
#### Chart Headers
|
|
156
148
|
|
|
157
149
|
```
|
|
158
150
|
┌─────────────────────────────────────┐
|
|
@@ -168,7 +160,7 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
168
160
|
- Period selector for time range
|
|
169
161
|
- Overflow menu for export, settings
|
|
170
162
|
|
|
171
|
-
|
|
163
|
+
#### Empty States
|
|
172
164
|
|
|
173
165
|
| Scenario | Message |
|
|
174
166
|
|----------|---------|
|
|
@@ -177,16 +169,14 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
177
169
|
| Loading error | "Unable to load data" + "Retry" button |
|
|
178
170
|
| New user | "No activity yet" + guidance to get started |
|
|
179
171
|
|
|
180
|
-
|
|
172
|
+
#### Loading States
|
|
181
173
|
|
|
182
174
|
- KPI cards: Skeleton with pulse animation
|
|
183
175
|
- Charts: Skeleton rectangle with centered spinner
|
|
184
176
|
- Tables: 5-10 skeleton rows
|
|
185
177
|
- Show loading indicator, never stale data without indicator
|
|
186
178
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
## Accessibility
|
|
179
|
+
### Accessibility
|
|
190
180
|
|
|
191
181
|
**Base requirements:** See [accessibility foundations](../../../accessibility/accessibility.md) and [web accessibility](../accessibility.md)
|
|
192
182
|
|
|
@@ -200,18 +190,16 @@ Dashboards benefit from persistent navigation and maximum content width.
|
|
|
200
190
|
| Focus order | KPIs first, then filters, then main content |
|
|
201
191
|
| Live regions | Use `aria-live` for updating data |
|
|
202
192
|
|
|
203
|
-
|
|
193
|
+
#### Data Visualisation
|
|
204
194
|
|
|
205
195
|
- Provide text summaries of chart insights
|
|
206
196
|
- Link to accessible data table from each chart
|
|
207
197
|
- Use patterns/textures in addition to colors
|
|
208
198
|
- Ensure legends are keyboard navigable
|
|
209
199
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
## Implementation
|
|
200
|
+
### Implementation
|
|
213
201
|
|
|
214
|
-
|
|
202
|
+
#### Filter Patterns
|
|
215
203
|
|
|
216
204
|
**Filter Bar (above content):**
|
|
217
205
|
|
|
@@ -236,7 +224,7 @@ Use for complex filtering (10+ filter options):
|
|
|
236
224
|
- Range sliders
|
|
237
225
|
- "Apply" and "Clear" actions at bottom
|
|
238
226
|
|
|
239
|
-
|
|
227
|
+
#### Data Table Patterns
|
|
240
228
|
|
|
241
229
|
| Element | Implementation |
|
|
242
230
|
|---------|----------------|
|
|
@@ -246,7 +234,7 @@ Use for complex filtering (10+ filter options):
|
|
|
246
234
|
| Pagination | Bottom of table with page size selector |
|
|
247
235
|
| Empty state | Centered message in table body |
|
|
248
236
|
|
|
249
|
-
|
|
237
|
+
#### State Management
|
|
250
238
|
|
|
251
239
|
| State | Handling |
|
|
252
240
|
|-------|----------|
|
|
@@ -256,7 +244,7 @@ Use for complex filtering (10+ filter options):
|
|
|
256
244
|
| Stale | Show "Last updated" timestamp |
|
|
257
245
|
| Refreshing | Show subtle loading indicator, keep data visible |
|
|
258
246
|
|
|
259
|
-
|
|
247
|
+
#### Responsive Behavior
|
|
260
248
|
|
|
261
249
|
| Breakpoint | KPI Grid | Charts | Tables |
|
|
262
250
|
|------------|----------|--------|--------|
|
|
@@ -264,8 +252,6 @@ Use for complex filtering (10+ filter options):
|
|
|
264
252
|
| Tablet | 2 columns | Full width | Horizontal scroll |
|
|
265
253
|
| Desktop | 4 columns | Grid layout | Full table |
|
|
266
254
|
|
|
267
|
-
---
|
|
268
|
-
|
|
269
255
|
## Best Practices
|
|
270
256
|
|
|
271
257
|
### Do's
|
|
@@ -305,9 +291,14 @@ Use for complex filtering (10+ filter options):
|
|
|
305
291
|
| Real-time data | Show update indicator, timestamp |
|
|
306
292
|
| Export large datasets | Async export with notification |
|
|
307
293
|
|
|
308
|
-
|
|
294
|
+
## Examples
|
|
295
|
+
|
|
296
|
+
The sidebar-navigation frame above is the canonical mid-fidelity dashboard: a row of KPI cards across the
|
|
297
|
+
top (4 columns on desktop), a primary chart below, and secondary charts beneath that. The data-table
|
|
298
|
+
variant swaps the chart stack for a filters bar, a scrollable table, and pagination — same shell, different
|
|
299
|
+
content body.
|
|
309
300
|
|
|
310
|
-
## Related
|
|
301
|
+
## Related
|
|
311
302
|
|
|
312
303
|
- [Product Design](../design.md) - Sidebar Navigation layout
|
|
313
304
|
- [Accessibility foundations](../../../accessibility/accessibility.md) - Color and contrast
|