@canonical/launchpad-design-tokens
v1.0.23
Published
Design tokens for Canonical's Launchpad
Readme
@canonical/launchpad-design-tokens
Design tokens for Canonical's Launchpad, providing consistent styling across the platform. This package generates CSS custom properties and Figma tokens from a centralized token system.
Installation
npm install @canonical/launchpad-design-tokensUsage
CSS Tokens
The package provides CSS files with custom properties for different categories:
Colors
dist/css/color/light.css- Light mode colorsdist/css/color/dark.css- Dark mode colorsdist/css/color/system.css- System preference based colors
Typography
dist/css/typography/narrow.css- Typography for narrow screensdist/css/typography/medium.css- Typography for medium screensdist/css/typography/wide.css- Typography for wide screensdist/css/typography/extraWide.css- Typography for extra wide screensdist/css/typography/responsive.css- Responsive typography system
Dimensions
dist/css/dimension/narrow.css- Dimensions for narrow screensdist/css/dimension/medium.css- Dimensions for medium screensdist/css/dimension/wide.css- Dimensions for wide screensdist/css/dimension/extraWide.css- Dimensions for extra wide screensdist/css/dimension/responsive.css- Responsive dimension system
Opacity
dist/css/opacity/opacity.css- Opacity levels for transparency effects
Transition
dist/css/transition/normal.css- Standard transition timingsdist/css/transition/preferred.css- Transitions based on prefers-motion settingdist/css/transition/reduced-motion.css- Transitions for reduced motion preferences
Figma Tokens
Figma-compatible token files are available in dist/figma/ with the same structure as CSS tokens, plus manifest files for easy import.
Development
Prerequisites
- Bun - JavaScript runtime and package manager
Setup
bun installAvailable Scripts
# Build all tokens
bun run build
# Build specific categories
bun run build:color
bun run build:typography
bun run build:dimension
bun run build:opacity
bun run build:transition
# Run linting and type checking
bun run check
# Fix linting issues
bun run check:fixProject Structure
src/
├── tokens/
│ ├── primitives/ # Base token values
│ └── semantic/ # Semantic token definitions
│ ├── color/
│ ├── typography/
│ ├── dimension/
│ ├── opacity/
│ └── transition/
└── build/ # Build scripts
├── color.ts
├── typography.ts
├── dimension.ts
├── opacity.ts
└── transition.tsToken Categories
Colors
- Light and dark mode support
- System preference detection
- Semantic color names for consistent theming
Typography
- Responsive font sizes and line heights
- Breakpoint-specific typography scales
- Consistent font family definitions
Dimensions
- Spacing and layout dimensions
- Responsive sizing systems
- Breakpoint-specific dimension scales
Opacity
- Transparency level definitions
- Semantic opacity values for consistent visual hierarchy
Transition
- Animation and transition timing functions
- Motion preferences support (normal and reduced motion)
- Consistent animation durations
License
LGPL-3.0
Contributing
This project is maintained by the Canonical Webteam. For questions or contributions, please contact [email protected].
