Skip to content

Design Language ​

The Yellow Card Design System is built on a set of core principles that guide all design and implementation decisions.

Design Philosophy ​

  • Token-First — All visual values extracted from Figma design files
  • Semantic Naming — Component and prop names reflect purpose, not appearance
  • Type Safety — Full TypeScript coverage with exported types
  • Accessibility — WCAG 2.1 AA compliant
  • Composability — Components designed to work together seamlessly

Principles ​

1. Consistency ​

Use design tokens for all visual properties. Follow established component patterns. Maintain consistent naming conventions across components.

2. Accessibility First ​

  • Keyboard navigation for all interactive elements
  • ARIA labels and roles where appropriate
  • Focus indicators on all focusable elements
  • Color contrast ratios meeting WCAG 2.1 AA
  • Screen reader compatibility

3. Progressive Enhancement ​

Core functionality works without JavaScript. Enhanced experiences with JavaScript enabled. Graceful degradation for older browsers.

4. Type Safety ​

All props fully typed with TypeScript. Types exported for consumer use. Runtime prop validation where needed.

5. Predictability ​

  • Consistent prop naming across components
  • Standard state patterns (default, hover, focus, active, disabled)
  • Predictable component behavior

Core Technologies ​

TechnologyPurpose
Vue 3Composition API with <script setup>
TypeScriptStrict mode, full type coverage
SCSSDesign tokens and component styling
PiniaState management (complex components)
ViteBuild tooling
Vitest + PlaywrightTesting

Next Steps ​