@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.
- package/CHANGELOG.md +18 -0
- package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
- package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
- package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
- package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
- package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
- package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
- package/docs/design-previews/cognitive-core-ui.html +281 -463
- package/docs/design-previews/index.html +83 -31
- package/package.json +1 -1
- package/src/constants.js +578 -514
- package/template/.aioson/docs/integrations/dashboard-app-form-publish-mapping.md +183 -0
- package/template/.aioson/docs/play/README.md +74 -0
- package/template/.aioson/docs/play/agent-usage-guide.md +112 -0
- package/template/.aioson/docs/play/app-compatibility-guide.md +117 -0
- package/template/.aioson/docs/play/auth-services-and-testing.md +235 -0
- package/template/.aioson/docs/play/llm-data-and-bindings.md +238 -0
- package/template/.aioson/docs/play/manifest-and-runtime.md +267 -0
- package/template/.aioson/docs/play/source-map.md +104 -0
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
- package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
- package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
- package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
- package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
- package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
- package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
- package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
- package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
- package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
- package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
- package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
- package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
- package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
- package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
- package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
- package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
- package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
- package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
- package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
- package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
- package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
- package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
- package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
- package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
- package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
- package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
- package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
- package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
- package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
- package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
- package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
- package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
- 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
|