@jaimevalasek/aioson 1.30.0 → 1.30.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.
Files changed (93) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
  3. package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
  4. package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
  5. package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
  6. package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
  7. package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
  8. package/docs/design-previews/cognitive-core-ui.html +281 -463
  9. package/docs/design-previews/index.html +83 -31
  10. package/package.json +1 -1
  11. package/src/constants.js +578 -514
  12. package/template/.aioson/docs/integrations/dashboard-app-form-publish-mapping.md +183 -0
  13. package/template/.aioson/docs/play/README.md +74 -0
  14. package/template/.aioson/docs/play/agent-usage-guide.md +112 -0
  15. package/template/.aioson/docs/play/app-compatibility-guide.md +117 -0
  16. package/template/.aioson/docs/play/auth-services-and-testing.md +235 -0
  17. package/template/.aioson/docs/play/llm-data-and-bindings.md +238 -0
  18. package/template/.aioson/docs/play/manifest-and-runtime.md +267 -0
  19. package/template/.aioson/docs/play/source-map.md +104 -0
  20. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
  21. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  22. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  23. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  24. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  25. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  26. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
  27. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
  28. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
  29. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  30. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  31. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  32. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  33. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  34. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  35. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  36. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
  37. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  38. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  39. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  40. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  41. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  42. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  43. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  44. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
  45. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  46. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
  47. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
  48. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
  49. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  50. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
  51. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
  52. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
  53. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  54. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  55. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  56. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  57. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  58. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  59. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  60. package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
  61. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  62. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  63. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
  64. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  65. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  66. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
  67. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  68. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  69. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  70. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  71. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  72. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  73. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  74. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
  75. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  76. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  77. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  78. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  79. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  80. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
  81. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
  82. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  83. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  84. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  85. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
  86. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
  87. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  88. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  89. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  90. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  91. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  92. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  93. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
@@ -1,196 +1,196 @@
1
- # Dashboards — Clean SaaS UI
2
-
3
- Dashboard presets for the most common B2B SaaS contexts. Each preset defines the dominant story, focal element, and composition.
4
-
5
- ---
6
-
7
- ## General rules
8
-
9
- - **Stats are sans-serif (Inter bold)** — never serif (that is warm-craft), never display (that is bold-editorial)
10
- - **Charts use the system palette (blue-first)** — never the charting library's default colors
11
- - **Background is light by default** — dashboards in Clean SaaS are light, professional, and functional
12
- - **No chart uses more than 6 colors** — simplicity over variety
13
- - **One dominant focal element per page** — resist the 4-equal-card opener every time
14
- - **Date range selector always visible** in the page header — not hidden in a settings drawer
15
-
16
- ---
17
-
18
- ## Chart palette
19
-
20
- ```css
21
- --chart-1: var(--accent); /* #2563EB — primary blue */
22
- --chart-2: #8B5CF6; /* violet-500 */
23
- --chart-3: #10B981; /* emerald-500 */
24
- --chart-4: #F59E0B; /* amber-500 */
25
- --chart-5: #EF4444; /* red-500 */
26
- --chart-6: #6B7280; /* gray-500 — neutral/other */
27
- ```
28
-
29
- Use `--chart-1` (blue) for the most important data series. Use gray for secondary or "other" categories.
30
-
31
- ---
32
-
33
- ## Preset 1 — SaaS Metrics Dashboard
34
-
35
- **Domain:** B2B SaaS — founders, CEOs, VPs of Revenue, growth teams
36
- **Dominant story:** Revenue health and growth trajectory
37
- **Focal element:** MRR hero stat with trend sparkline
38
-
39
- ```
40
- ┌─────────────────────────────────────────────────────────┐
41
- │ Business Overview [This month ▾] [Export] │
42
- ├─────────────────────────────────────────────────────────┤
43
- │ │
44
- │ MRR: $48,250 ↑ +12.3% │ ← hero stat, dominant
45
- │ New: $5,200 Expansion: $2,800 Churn: -$1,200 │ ← breakdown row below
46
- │ │
47
- ├────────────────────────────────┬────────────────────────┤
48
- │ Revenue Over Time (12m) │ Top Plans │
49
- │ [line chart, area fill] │ [horizontal bar chart] │
50
- ├────────────────────────────────┴────────────────────────┤
51
- │ [ARR: $580K] [Subscribers: 1,240] [Churn: 1.2%] [NPS: 42] │
52
- ├─────────────────────────────────────────────────────────┤
53
- │ Recent Signups [View all →] │
54
- │ [table: name, plan, trial start, value, status — 5 rows]│
55
- └─────────────────────────────────────────────────────────┘
56
- ```
57
-
58
- **Composition notes:**
59
- - MRR hero is bigger than everything else — `text-4xl font-bold`
60
- - Revenue chart (2/3 width) + plan breakdown (1/3 width)
61
- - Stat cards row below charts, not above (inverted from generic pattern)
62
- - Trial conversion funnel can replace plan breakdown in growth-focused contexts
63
-
64
- ---
65
-
66
- ## Preset 2 — CRM Dashboard
67
-
68
- **Domain:** Sales teams, account executives, sales managers
69
- **Dominant story:** Pipeline health and deal risk
70
- **Focal element:** Pipeline stage overview (horizontal funnel)
71
-
72
- ```
73
- ┌─────────────────────────────────────────────────────────┐
74
- │ Sales Pipeline [This quarter ▾] [+ New Deal]│
75
- ├─────────────────────────────────────────────────────────┤
76
- │ Lead → Qualified → Proposal → Negotiation → Closed Won │ ← pipeline stages
77
- │ [42] [28] [15] [8] [12] │
78
- │ $280K $540K $420K $380K $195K │
79
- ├────────────────────────────────┬────────────────────────┤
80
- │ Win Rate: 38% ↑ vs last Q │ Activity Feed │
81
- │ [donut chart] │ [timeline list] │
82
- ├────────────────────────────────┴────────────────────────┤
83
- │ [Open: 247] [At Risk: 18] [Avg Close: 32d] [Quota: 67%] │
84
- ├─────────────────────────────────────────────────────────┤
85
- │ Deals At Risk [View all →] │
86
- │ [table: deal, account, stage, value, close date, owner] │
87
- └─────────────────────────────────────────────────────────┘
88
- ```
89
-
90
- **Composition notes:**
91
- - Pipeline horizontal stage bar is the dominant element — no equal KPI grid opener
92
- - Win rate donut (1/2) + activity feed (1/2) below
93
- - "At Risk" table is the most actionable section — order it before general list
94
-
95
- ---
96
-
97
- ## Preset 3 — Project Management Dashboard
98
-
99
- **Domain:** Project managers, team leads, operations
100
- **Dominant story:** Team workload and upcoming deadlines
101
- **Focal element:** Tasks by status (horizontal progress bars per status)
102
-
103
- ```
104
- ┌─────────────────────────────────────────────────────────┐
105
- │ Team Overview [This week ▾] │
106
- ├─────────────────────────────────────────────────────────┤
107
- │ [Todo: 34] [In Progress: 18] [Review: 7] [Done: 52] │ ← status summary cards
108
- ├────────────────────────────────┬────────────────────────┤
109
- │ Workload by Member │ Upcoming Deadlines │
110
- │ [horizontal bar — members] │ [list: task + due] │
111
- ├────────────────────────────────┴────────────────────────┤
112
- │ Sprint Completion: 68% │
113
- │ [progress bar full-width with milestone markers] │
114
- ├─────────────────────────────────────────────────────────┤
115
- │ Recent Activity [View all →] │
116
- │ [activity feed: avatar + action + timestamp] │
117
- └─────────────────────────────────────────────────────────┘
118
- ```
119
-
120
- **Composition notes:**
121
- - Status cards are compact (not full stat cards) — a row of colored counters
122
- - Workload bars show per-member capacity — visual scan instead of table
123
- - Sprint progress full-width below the charts — unifying element
124
- - No donut charts here — linear progress communicates urgency better
125
-
126
- ---
127
-
128
- ## Preset 4 — Support Dashboard
129
-
130
- **Domain:** Customer support managers, ops teams
131
- **Dominant story:** Queue health and response performance
132
- **Focal element:** Open tickets stat + response time trend
133
-
134
- ```
135
- ┌─────────────────────────────────────────────────────────┐
136
- │ Support Overview [Today ▾] [Refresh ↺] │
137
- ├─────────────────────────────────────────────────────────┤
138
- │ [Open: 47] [Avg Response: 2.4h ↑] [CSAT: 94% ↑] [Resolved today: 23] │
139
- ├────────────────────────────────┬────────────────────────┤
140
- │ Response Time (7d) │ Tickets by Category │
141
- │ [line chart with SLA line] │ [horizontal bars] │
142
- ├────────────────────────────────┴────────────────────────┤
143
- │ Ticket Queue [Assign] [Filter] │
144
- │ [table: ID, subject, customer, priority, status, time] │
145
- └─────────────────────────────────────────────────────────┘
146
- ```
147
-
148
- **Composition notes:**
149
- - Response time chart includes a horizontal SLA target line — critical for support
150
- - Ticket queue is actionable — table with inline assignment and status update
151
- - Priority badges use semantic colors (urgent = red, high = amber, normal = blue, low = gray)
152
- - "Refresh" button because support data is live — manual or auto-refresh visible
153
-
154
- ---
155
-
156
- ## Preset 5 — Admin Overview
157
-
158
- **Domain:** System administrators, infrastructure, ops
159
- **Dominant story:** System health and user activity
160
- **Focal element:** Health indicators (green/amber/red status grid)
161
-
162
- ```
163
- ┌─────────────────────────────────────────────────────────┐
164
- │ System Administration [Settings ⚙]│
165
- ├─────────────────────────────────────────────────────────┤
166
- │ System Health │
167
- │ ● API ● Database ● Email ● Webhooks │ ← status indicator grid
168
- │ Operational Operational Degraded Operational │
169
- ├────────────────────────────────┬────────────────────────┤
170
- │ [Active Users: 1,240] [Storage: 68%] │ Alerts: 2 ⚠ │
171
- ├────────────────────────────────┴────────────────────────┤
172
- │ Recent Signups [View all →] │
173
- │ [table: name, email, plan, signed up, status] │
174
- ├─────────────────────────────────────────────────────────┤
175
- │ Audit Log [View all →] │
176
- │ [feed: user + action + timestamp + IP] │
177
- └─────────────────────────────────────────────────────────┘
178
- ```
179
-
180
- **Composition notes:**
181
- - Health indicator grid uses colored dots with labels — not cards with shadows
182
- - Storage usage shows as a progress bar (68%) — not just a number
183
- - Audit log is a feed, not a table — time-first, chronological
184
- - Alert count in header if any system is degraded — always visible
185
-
186
- ---
187
-
188
- ## Composition anti-patterns to avoid
189
-
190
- 1. Four equal KPI cards as the ONLY opening element — always have one focal element with more visual weight
191
- 2. Pie charts — use horizontal bars or donut charts instead (easier to scan)
192
- 3. Charts with 8+ colors — group into "Other" if needed
193
- 4. Dashboard without a date range selector
194
- 5. Stat numbers in serif font
195
- 6. Charts using library default colors (blues/reds/greens not from the system palette)
196
- 7. More than 3 chart types on one page — consistency over variety
1
+ # Dashboards — Clean SaaS UI
2
+
3
+ Dashboard presets for the most common B2B SaaS contexts. Each preset defines the dominant story, focal element, and composition.
4
+
5
+ ---
6
+
7
+ ## General rules
8
+
9
+ - **Stats are sans-serif (Inter bold)** — never serif (that is warm-craft), never display (that is bold-editorial)
10
+ - **Charts use the system palette (blue-first)** — never the charting library's default colors
11
+ - **Background is light by default** — dashboards in Clean SaaS are light, professional, and functional
12
+ - **No chart uses more than 6 colors** — simplicity over variety
13
+ - **One dominant focal element per page** — resist the 4-equal-card opener every time
14
+ - **Date range selector always visible** in the page header — not hidden in a settings drawer
15
+
16
+ ---
17
+
18
+ ## Chart palette
19
+
20
+ ```css
21
+ --chart-1: var(--accent); /* #2563EB — primary blue */
22
+ --chart-2: #8B5CF6; /* violet-500 */
23
+ --chart-3: #10B981; /* emerald-500 */
24
+ --chart-4: #F59E0B; /* amber-500 */
25
+ --chart-5: #EF4444; /* red-500 */
26
+ --chart-6: #6B7280; /* gray-500 — neutral/other */
27
+ ```
28
+
29
+ Use `--chart-1` (blue) for the most important data series. Use gray for secondary or "other" categories.
30
+
31
+ ---
32
+
33
+ ## Preset 1 — SaaS Metrics Dashboard
34
+
35
+ **Domain:** B2B SaaS — founders, CEOs, VPs of Revenue, growth teams
36
+ **Dominant story:** Revenue health and growth trajectory
37
+ **Focal element:** MRR hero stat with trend sparkline
38
+
39
+ ```
40
+ ┌─────────────────────────────────────────────────────────┐
41
+ │ Business Overview [This month ▾] [Export] │
42
+ ├─────────────────────────────────────────────────────────┤
43
+ │ │
44
+ │ MRR: $48,250 ↑ +12.3% │ ← hero stat, dominant
45
+ │ New: $5,200 Expansion: $2,800 Churn: -$1,200 │ ← breakdown row below
46
+ │ │
47
+ ├────────────────────────────────┬────────────────────────┤
48
+ │ Revenue Over Time (12m) │ Top Plans │
49
+ │ [line chart, area fill] │ [horizontal bar chart] │
50
+ ├────────────────────────────────┴────────────────────────┤
51
+ │ [ARR: $580K] [Subscribers: 1,240] [Churn: 1.2%] [NPS: 42] │
52
+ ├─────────────────────────────────────────────────────────┤
53
+ │ Recent Signups [View all →] │
54
+ │ [table: name, plan, trial start, value, status — 5 rows]│
55
+ └─────────────────────────────────────────────────────────┘
56
+ ```
57
+
58
+ **Composition notes:**
59
+ - MRR hero is bigger than everything else — `text-4xl font-bold`
60
+ - Revenue chart (2/3 width) + plan breakdown (1/3 width)
61
+ - Stat cards row below charts, not above (inverted from generic pattern)
62
+ - Trial conversion funnel can replace plan breakdown in growth-focused contexts
63
+
64
+ ---
65
+
66
+ ## Preset 2 — CRM Dashboard
67
+
68
+ **Domain:** Sales teams, account executives, sales managers
69
+ **Dominant story:** Pipeline health and deal risk
70
+ **Focal element:** Pipeline stage overview (horizontal funnel)
71
+
72
+ ```
73
+ ┌─────────────────────────────────────────────────────────┐
74
+ │ Sales Pipeline [This quarter ▾] [+ New Deal]│
75
+ ├─────────────────────────────────────────────────────────┤
76
+ │ Lead → Qualified → Proposal → Negotiation → Closed Won │ ← pipeline stages
77
+ │ [42] [28] [15] [8] [12] │
78
+ │ $280K $540K $420K $380K $195K │
79
+ ├────────────────────────────────┬────────────────────────┤
80
+ │ Win Rate: 38% ↑ vs last Q │ Activity Feed │
81
+ │ [donut chart] │ [timeline list] │
82
+ ├────────────────────────────────┴────────────────────────┤
83
+ │ [Open: 247] [At Risk: 18] [Avg Close: 32d] [Quota: 67%] │
84
+ ├─────────────────────────────────────────────────────────┤
85
+ │ Deals At Risk [View all →] │
86
+ │ [table: deal, account, stage, value, close date, owner] │
87
+ └─────────────────────────────────────────────────────────┘
88
+ ```
89
+
90
+ **Composition notes:**
91
+ - Pipeline horizontal stage bar is the dominant element — no equal KPI grid opener
92
+ - Win rate donut (1/2) + activity feed (1/2) below
93
+ - "At Risk" table is the most actionable section — order it before general list
94
+
95
+ ---
96
+
97
+ ## Preset 3 — Project Management Dashboard
98
+
99
+ **Domain:** Project managers, team leads, operations
100
+ **Dominant story:** Team workload and upcoming deadlines
101
+ **Focal element:** Tasks by status (horizontal progress bars per status)
102
+
103
+ ```
104
+ ┌─────────────────────────────────────────────────────────┐
105
+ │ Team Overview [This week ▾] │
106
+ ├─────────────────────────────────────────────────────────┤
107
+ │ [Todo: 34] [In Progress: 18] [Review: 7] [Done: 52] │ ← status summary cards
108
+ ├────────────────────────────────┬────────────────────────┤
109
+ │ Workload by Member │ Upcoming Deadlines │
110
+ │ [horizontal bar — members] │ [list: task + due] │
111
+ ├────────────────────────────────┴────────────────────────┤
112
+ │ Sprint Completion: 68% │
113
+ │ [progress bar full-width with milestone markers] │
114
+ ├─────────────────────────────────────────────────────────┤
115
+ │ Recent Activity [View all →] │
116
+ │ [activity feed: avatar + action + timestamp] │
117
+ └─────────────────────────────────────────────────────────┘
118
+ ```
119
+
120
+ **Composition notes:**
121
+ - Status cards are compact (not full stat cards) — a row of colored counters
122
+ - Workload bars show per-member capacity — visual scan instead of table
123
+ - Sprint progress full-width below the charts — unifying element
124
+ - No donut charts here — linear progress communicates urgency better
125
+
126
+ ---
127
+
128
+ ## Preset 4 — Support Dashboard
129
+
130
+ **Domain:** Customer support managers, ops teams
131
+ **Dominant story:** Queue health and response performance
132
+ **Focal element:** Open tickets stat + response time trend
133
+
134
+ ```
135
+ ┌─────────────────────────────────────────────────────────┐
136
+ │ Support Overview [Today ▾] [Refresh ↺] │
137
+ ├─────────────────────────────────────────────────────────┤
138
+ │ [Open: 47] [Avg Response: 2.4h ↑] [CSAT: 94% ↑] [Resolved today: 23] │
139
+ ├────────────────────────────────┬────────────────────────┤
140
+ │ Response Time (7d) │ Tickets by Category │
141
+ │ [line chart with SLA line] │ [horizontal bars] │
142
+ ├────────────────────────────────┴────────────────────────┤
143
+ │ Ticket Queue [Assign] [Filter] │
144
+ │ [table: ID, subject, customer, priority, status, time] │
145
+ └─────────────────────────────────────────────────────────┘
146
+ ```
147
+
148
+ **Composition notes:**
149
+ - Response time chart includes a horizontal SLA target line — critical for support
150
+ - Ticket queue is actionable — table with inline assignment and status update
151
+ - Priority badges use semantic colors (urgent = red, high = amber, normal = blue, low = gray)
152
+ - "Refresh" button because support data is live — manual or auto-refresh visible
153
+
154
+ ---
155
+
156
+ ## Preset 5 — Admin Overview
157
+
158
+ **Domain:** System administrators, infrastructure, ops
159
+ **Dominant story:** System health and user activity
160
+ **Focal element:** Health indicators (green/amber/red status grid)
161
+
162
+ ```
163
+ ┌─────────────────────────────────────────────────────────┐
164
+ │ System Administration [Settings ⚙]│
165
+ ├─────────────────────────────────────────────────────────┤
166
+ │ System Health │
167
+ │ ● API ● Database ● Email ● Webhooks │ ← status indicator grid
168
+ │ Operational Operational Degraded Operational │
169
+ ├────────────────────────────────┬────────────────────────┤
170
+ │ [Active Users: 1,240] [Storage: 68%] │ Alerts: 2 ⚠ │
171
+ ├────────────────────────────────┴────────────────────────┤
172
+ │ Recent Signups [View all →] │
173
+ │ [table: name, email, plan, signed up, status] │
174
+ ├─────────────────────────────────────────────────────────┤
175
+ │ Audit Log [View all →] │
176
+ │ [feed: user + action + timestamp + IP] │
177
+ └─────────────────────────────────────────────────────────┘
178
+ ```
179
+
180
+ **Composition notes:**
181
+ - Health indicator grid uses colored dots with labels — not cards with shadows
182
+ - Storage usage shows as a progress bar (68%) — not just a number
183
+ - Audit log is a feed, not a table — time-first, chronological
184
+ - Alert count in header if any system is degraded — always visible
185
+
186
+ ---
187
+
188
+ ## Composition anti-patterns to avoid
189
+
190
+ 1. Four equal KPI cards as the ONLY opening element — always have one focal element with more visual weight
191
+ 2. Pie charts — use horizontal bars or donut charts instead (easier to scan)
192
+ 3. Charts with 8+ colors — group into "Other" if needed
193
+ 4. Dashboard without a date range selector
194
+ 5. Stat numbers in serif font
195
+ 6. Charts using library default colors (blues/reds/greens not from the system palette)
196
+ 7. More than 3 chart types on one page — consistency over variety