feat: bootstrap design kit and vaporwave demo baseline
This commit is contained in:
12
kit/patterns/timeline-cards/README.md
Normal file
12
kit/patterns/timeline-cards/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Timeline Cards Pattern
|
||||
|
||||
Canonical timeline UX for operational history views:
|
||||
|
||||
- cards grouped by day
|
||||
- summary chips for aggregated actions
|
||||
- source labels (`ingest`, `manual`, `system`, etc.)
|
||||
- single drilldown modal (no nested modals)
|
||||
- in-card search/filtering for event lists
|
||||
|
||||
This pattern is intended for history/audit/timeline surfaces in server-rendered Go web UIs.
|
||||
|
||||
29
kit/patterns/timeline-cards/contract.md
Normal file
29
kit/patterns/timeline-cards/contract.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Contract: Timeline Cards + Drilldown
|
||||
|
||||
## Card Grouping
|
||||
|
||||
- Render timeline as grouped cards (typically by day), not raw event rows.
|
||||
- Correlated or visually equivalent events may be collapsed into one card with counts.
|
||||
- Card summaries should be human-readable and avoid repeating page-scope identity labels.
|
||||
|
||||
## Filters
|
||||
|
||||
- Timeline filters are server-side when timeline is paginated or large.
|
||||
- Filters should preserve grouping semantics and timezone behavior.
|
||||
- Scope-invariant filters may be hidden on entity detail pages.
|
||||
|
||||
## Drilldown
|
||||
|
||||
- One card opens one drilldown modal/panel.
|
||||
- Drilldown contains:
|
||||
- event list (left/top)
|
||||
- selected event details (right/bottom)
|
||||
- No nested modal inside drilldown.
|
||||
- Card-local search/filter may be applied within the drilldown.
|
||||
|
||||
## UX Rules
|
||||
|
||||
- Use human-readable source labels.
|
||||
- Prefer action-oriented card titles (`Installed N components`, `Removed N components`).
|
||||
- Empty states must explain whether filters removed all results.
|
||||
|
||||
Reference in New Issue
Block a user