Skip to content

Conversation

@didoo
Copy link
Contributor

@didoo didoo commented Nov 25, 2025

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-components package, so that consumers don’t have to do anything on their side (apart from importing a pre-compiled CSS file containing the correct @font-face declarations.

This PR is built on top of #3332

🛠️ Detailed description

TODO

🚧 TODOs

  • One thing to consider too, is to have a new SCSS file at packages/components level that includes the design-system-common.scss file and the design-system-plex-fonts.scss file, 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
  • If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.
  • If applicable, I've worked with GRC to document the impact of any changes to security controls.
    Examples of changes to controls include access controls, encryption, logging, etc.
  • If applicable, I've worked with GRC to ensure compliance due to a significant change to the in-scope PCI environment.
    Examples include changes to operating systems, ports, protocols, services, cryptography-related components, PII processing code, etc.

@vercel
Copy link

vercel bot commented Nov 25, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
hds-showcase Ready Ready Preview Nov 28, 2025 2:42pm
hds-website Ready Ready Preview Nov 28, 2025 2:42pm

Comment on lines +98 to +99
"@ibm/plex-mono": "^1.1.0",
"@ibm/plex-sans": "^1.1.0",
Copy link
Contributor Author

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

@didoo didoo force-pushed the project-solar/phase-1/HDS-5202-5203-5204/dry-run-foundations branch from 86194c4 to 2b24ce1 Compare November 25, 2025 16:22
@didoo didoo requested a review from Copilot November 25, 2025 16:25
Copy link
Contributor

Copilot AI left a 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

@didoo didoo force-pushed the project-solar/phase-1/HDS-5202-5203-5204/dry-run-foundations branch from 2b24ce1 to 473cc73 Compare November 25, 2025 17:26
@didoo didoo force-pushed the project-solar/phase-1/HDS-5688/ibm-plex-font-embedding branch from a1f7d4f to 53470f8 Compare November 25, 2025 17:33
@didoo didoo force-pushed the project-solar/phase-1/HDS-5202-5203-5204/dry-run-foundations branch 2 times, most recently from 02bc140 to bfff9d1 Compare November 27, 2025 22:12
@didoo didoo force-pushed the project-solar/phase-1/HDS-5202-5203-5204/dry-run-foundations branch from bfff9d1 to 1e2d443 Compare November 28, 2025 14:38
@didoo didoo force-pushed the project-solar/phase-1/HDS-5688/ibm-plex-font-embedding branch from 53470f8 to 731124d Compare November 28, 2025 14:38
@didoo didoo force-pushed the project-solar/phase-1/HDS-5202-5203-5204/dry-run-foundations branch 3 times, most recently from f8a09da to 6e213a8 Compare November 28, 2025 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants