-
Notifications
You must be signed in to change notification settings - Fork 50
[WIP-07-A] [Project Solar / Phase 1 / Dry-run] Include IBM Plex fonts as part of the @hashicorp/design-system-components package
#3387
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: project-solar/phase-1/HDS-5202-5203-5204/dry-run-foundations
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
d02f421 to
a1f7d4f
Compare
| "@ibm/plex-mono": "^1.1.0", | ||
| "@ibm/plex-sans": "^1.1.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBD if they should be devDependencies or normal dependencies
86194c4 to
2b24ce1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements the inclusion of IBM Plex fonts directly within the @hashicorp/design-system-components package as part of Project Solar Phase 1. The changes enable consumers to use IBM Plex fonts by simply importing a pre-compiled CSS file, eliminating the need for external font hosting or manual font setup.
Key changes include:
- Addition of IBM Plex font packages (@ibm/plex-sans and @ibm/plex-mono) as dependencies
- Creation of a new SCSS file and build process to compile font declarations
- Integration of font files into the package's public assets for distribution
- Addition of extensive design tokens for button and badge components with Carbon Design System theming support
Reviewed changes
Copilot reviewed 25 out of 61 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| showcase/public/assets/styles/@hashicorp/design-system-plex-fonts.css | Generated CSS file containing @font-face declarations for IBM Plex fonts |
| showcase/app/index.html | Added link to import the new Plex fonts CSS and commented out external Carbon font reference |
| packages/tokens/src/products/shared/typography.json | Restructured typography tokens to support both default and Carbon themes with new combined font stacks |
| packages/tokens/src/products/shared/button.json | Added comprehensive button design tokens with multi-theme support |
| packages/tokens/src/products/shared/badge.json | Added comprehensive badge design tokens with multi-theme support |
| packages/tokens/src/products/shared/badge-count.json | Added badge-count specific design tokens |
| packages/tokens/src/global/color/*.json | Added $modes configuration for Carbon theme support across color tokens |
| packages/tokens/package.json | Added postbuild script to copy themed token CSS files to showcase |
| packages/components/src/styles/@hashicorp/design-system-plex-fonts.scss | New SCSS file that imports and configures IBM Plex fonts |
| packages/components/rollup.config.mjs | Updated build configuration to compile Plex fonts SCSS and copy font files to distribution |
| packages/components/package.json | Added IBM Plex dependencies, postbuild script, and public-assets exports |
| packages/components/src/styles/mixins/_button.scss | Refactored to use button design tokens instead of hardcoded values |
| packages/components/src/styles/mixins/_interactive-dark-theme.scss | Updated to use button border-radius token |
| packages/components/src/styles/components/*.scss | Updated various component styles to use new design tokens |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
2b24ce1 to
473cc73
Compare
a1f7d4f to
53470f8
Compare
02bc140 to
bfff9d1
Compare
…ge for focus ring
…nd components, to copy relevant CSS files to showcase public folder
…palette` src JSON tokens
… updated CSS styling to use them
…es in other components’ files
bfff9d1 to
1e2d443
Compare
…packages/components`
…IBM Plex font files (only the needed ones) to `dist/public/assets/fonts`
…face` definitions for the selected IBM Plex fonts we use
…2 addon declaration of `package.json` for the HDS components
…design-system-plex-fonts` file
…generated CSS for Plex Sans & Mono
53470f8 to
731124d
Compare
f8a09da to
6e213a8
Compare
Note
🚧 This is still a work-in-progress 🚧
📌 Summary
We want to understand if it’s possible to include directly the IBM Plex fonts as part of the
@hashicorp/design-system-componentspackage, so that consumers don’t have to do anything on their side (apart from importing a pre-compiled CSS file containing the correct@font-facedeclarations.This PR is built on top of #3332
🛠️ Detailed description
TODO
🚧 TODOs
packages/componentslevel that includes thedesign-system-common.scssfile and thedesign-system-plex-fonts.scssfile, and that generates a new CSS file (via Rollup) so that consumers have to import only one CSS file, not two.🔗 External links
Jira ticket: https://hashicorp.atlassian.net/browse/HDS-5688
👀 Component checklist
💬 Please consider using conventional comments when reviewing this PR.
📋 PCI review checklist
Examples of changes to controls include access controls, encryption, logging, etc.
Examples include changes to operating systems, ports, protocols, services, cryptography-related components, PII processing code, etc.