2.3 KiB
2.3 KiB
Frontend Design Foundation
Direction
The DCM frontend now follows a compact command-deck direction:
- dark layered surfaces with strong separation between sections
- tight spacing and small radii to maximize information density
- consistent control primitives across buttons, inputs, selects, and panels
- high-legibility typography tuned for metadata-heavy workflows
Token Source
Use frontend/src/design-foundation.css as the single token source for:
- typography (
--font-display,--font-body,--font-mono) - color system (
--color-*) - spacing (
--space-*) - radii and shadows (
--radius-*,--shadow-*) - interaction timing (
--transition-*)
Do not hardcode new palette or spacing values in component styles when a token already exists.
Layout Principles
- The top bar is sticky and should remain compact under all breakpoints.
- Documents and viewer operate as a two-pane layout on desktop and collapse to one pane on narrower screens.
- Toolbar rows should keep critical actions visible without forcing large vertical gaps.
- Settings sections should preserve dense form grouping while remaining keyboard friendly.
Control Standards
- Global input, select, textarea, and button styles are defined once in
frontend/src/styles.css. - Variant button classes (
secondary-action,active-view-button,warning-action,danger-action) are the only approved button color routes. - Tag chips, routing pills, card chips, and icon buttons must stay within the compact radius and spacing scale.
- Focus states use
:focus-visibleand tokenized focus color to preserve keyboard discoverability.
Motion Rules
- Use
rise-infor section entry andpulse-borderfor card selection emphasis. - Keep transitions brief and functional.
- Avoid decorative animation loops outside explicit status indicators like terminal caret blink.
Extension Checklist
When adding or redesigning a UI area:
- Start from existing tokens in
frontend/src/design-foundation.css. - Add missing tokens in
frontend/src/design-foundation.css, not per-component styles. - Implement component styles in
frontend/src/styles.cssusing existing layout and variant conventions. - Validate responsive behavior at
1240px,1040px,760px, and560pxbreakpoints. - Verify keyboard focus visibility and text contrast before merging.