@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.
Files changed (32) hide show
  1. package/agent-docs/AGENTS.md +1 -1
  2. package/agent-docs/README.md +1 -1
  3. package/agent-docs/components/callout.md +66 -0
  4. package/agent-docs/components/components.manifest.json +6 -0
  5. package/agent-docs/external/kuat-agent-rules/reference/accessibility/accessibility.md +27 -1
  6. package/agent-docs/external/kuat-agent-rules/reference/design-language/colour-usage.md +107 -0
  7. package/agent-docs/external/kuat-agent-rules/reference/design-language/colours.md +86 -11
  8. package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/colors.tokens.json +193 -5
  9. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/README.md +6 -0
  10. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/website.md +14 -0
  11. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/README.md +1 -0
  12. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/accessibility.md +0 -29
  13. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/colour-modes.md +58 -0
  14. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-decision-tree.md +3 -32
  15. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-registry.md +1 -1
  16. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/product-content.md +0 -26
  17. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/README.md +14 -5
  18. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/{forms.md → complete-a-form.md} +43 -53
  19. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/{dashboards.md → dashboard.md} +42 -51
  20. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/documentation.md +41 -51
  21. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/{authentication.md → sign-in.md} +42 -52
  22. package/agent-docs/manifest.json +3 -3
  23. package/agent-docs/rules/LOADING-consumer.md +1 -1
  24. package/dist/callout-DFmAtUwR.js +46 -0
  25. package/dist/callout.d.ts +3 -0
  26. package/dist/callout.js +7 -0
  27. package/dist/components/ui/callout/callout.d.ts +19 -0
  28. package/dist/components/ui/callout/index.d.ts +2 -0
  29. package/dist/index.d.ts +2 -0
  30. package/dist/index.js +196 -193
  31. package/dist/style.css +1 -1
  32. package/package.json +5 -1
@@ -1,19 +1,19 @@
1
- # Form Scenarios
1
+ # Help users to complete a form
2
2
 
3
- Patterns for forms, settings pages, multi-step wizards, and data entry interfaces.
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
- ## Principles
8
-
9
- ### User Goals
9
+ ## Context
10
10
 
11
- - **Complete task efficiently** - Minimal friction to submission
12
- - **Understand requirements** - Clear what's needed and why
13
- - **Correct mistakes easily** - Fix errors without re-entering data
14
- - **Save progress** - Don't lose work unexpectedly
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
- ### UX Principles
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
- ### Success Metrics
25
+ Success shows up as: form completion rate, time to complete, error rate and recovery, and abandonment rate.
26
26
 
27
- - Form completion rate
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
- ### Card-Based Form (Settings, Profile)
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
- ### Multi-Step Wizard
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
- ### Specifications
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
- ### Color Tokens
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
- ### Typography
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
- ### Spacing
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
- ## Content
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
- ### Helper Text
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
- ### Error Messages
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
- ### Button Labels
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
- ### Form Validation Pattern
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
- ### Grouping
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
- ### Field Layout Patterns
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
- ### Button Placement
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
- ### Settings Page Pattern
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
- ### Multi-Step Wizard Pattern
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
- ### Responsive Behavior
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 Documentation
347
+ ## Related
358
348
 
359
349
  - [Product Design](../design.md) - Layout options
360
350
  - [Web Accessibility](../accessibility.md) - Form validation pattern
361
- - [Authentication Pattern](./authentication.md) - Login/registration forms
351
+ - [Help users to sign in](./sign-in.md) - Login/registration forms
@@ -1,19 +1,19 @@
1
- # Dashboard Scenarios
1
+ # Dashboard
2
2
 
3
- Patterns for data dashboards, analytics views, metrics displays, and reporting interfaces.
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
- ## Principles
8
-
9
- ### User Goals
9
+ ## Context
10
10
 
11
- - **Get insights quickly** - Key metrics visible at a glance
12
- - **Understand trends** - Patterns and changes over time
13
- - **Take action** - Clear paths from data to decisions
14
- - **Explore deeper** - Drill down into details when needed
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
- ### UX Principles
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
- ### Success Metrics
25
+ Success shows up as: time to find key information, decision confidence, filter usage patterns, and
26
+ drill-down completion rates.
26
27
 
27
- - Time to find key information
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
- ### Metrics Dashboard Structure
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
- ### Data Table Dashboard Structure
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
- ### Specifications
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
- ### Color Tokens
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
- ### KPI Card Pattern
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
- ### Chart Container Pattern
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
- ### Typography Hierarchy
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
- ## Content
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
- ### Chart Headers
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
- ### Empty States
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
- ### Loading States
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
- ### Data Visualisation
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
- ### Filter Patterns
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
- ### Data Table Patterns
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
- ### State Management
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
- ### Responsive Behavior
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 Documentation
301
+ ## Related
311
302
 
312
303
  - [Product Design](../design.md) - Sidebar Navigation layout
313
304
  - [Accessibility foundations](../../../accessibility/accessibility.md) - Color and contrast