What's Changed
🚀 Enhancements
- Refactored design tokens to DTCG Format Module 2025.10 specification #126 (@brainandbytejason)
- Token file (
common.tokens.json) now uses$typeat group level and$valuefor all token values - Colors converted to structured objects with
colorSpace,components, andhex - Font families converted to arrays per DTCG
fontFamilytype - Added
fontFamilyToCss()utility for CSS output - All 10 consuming components updated to
$valueaccess patterns
- Token file (
🧪 Testing
- Added Vitest test framework with 59 unit tests covering DTCG structure validation,
fontFamilyToCssutility, and token access patterns
🏗️ Build
- Fixed
tsconfig.app.jsonto support JSON imports undercomposite: truemode - Resolved
yaml@2dependency for vitest/vite compatibility
🔩 Dependency Updates
- Bump vite from 5.4.14 to 5.4.21 #115 (@dependabot[bot])
- Bump js-yaml from 4.1.0 to 4.1.1 #116 (@dependabot[bot])
- Bump lodash from 4.17.21 to 4.17.23 #122 (@dependabot[bot])
- Bump rollup from 4.24.4 to 4.59.0 #124 (@dependabot[bot])
- Bump multiple Storybook and related dependencies #123 (@dependabot[bot])
⚠️ Breaking Changes
Token access patterns have changed. If you consume tokens directly:
| Category | Before (v3.3.x) | After (v3.4.0) |
|---|---|---|
| Color | Tokens.colors.primary.value |
Tokens.colors.primary.$value.hex |
| Dimension | Tokens.sizes.xsmall.value |
Tokens.sizes.xsmall.$value.value |
| Dim. unit | Tokens.sizes.xsmall.unit |
Tokens.sizes.xsmall.$value.unit |
| Font family | Tokens.fonts.body.family |
Tokens.fonts.body.$value (array) |
Full Changelog: v3.3.1...v3.4.0