All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Typography primitive
Textcomponent (src/components/Text.tsx) supporting the five typographic roles (display, title, body, caption, mono) with polymorphic rendering via anasprop. - Typography helper utilities in
src/utils/typography.ts. - ESLint v9 flat configuration (
eslint.config.js) with React, TypeScript, and React Hooks support. - Figma type-scale handoff specification (
TYPOGRAPHY_SCALE_FIGMA_SPEC.md) documenting all 15 type styles (5 roles x 3 breakpoints) and per-page specification frames. - Unit tests for
design-system/src/utils/token-loader.ts(design-system/src/__tests__/token-loader.test.ts) covering valid JSON parsing, missing-file and malformed-JSON error handling, and resilient token merging ingetAllTokens. Tests are hermetic viajest.mock('fs')and reach over 95% coverage for the loader.
- Aligned the typography CSS custom properties in
src/index.csstodesign-system/tokens/typography.json, including dedicated font-weight variables for all five roles and the Inter font family from the design tokens. - Applied the responsive typography scale across the core pages and layout
(Layout, Home, Vaults, CreateVault) using the
Textcomponent, with scaling at thesm(<640px),md(640-768px), andlg(>=768px) breakpoints.
- WCAG 2.1 AA compliance for the typographic roles: 15.5:1 contrast ratio (#e8edf5 on #0a0e17), interactive touch targets >= 44x44px, logical keyboard focus order, and a semantically correct heading hierarchy.
npm run buildandnpm run lintpass with no new issues introduced.