Skip to content

[analyze-2788] switch to IBM Plex Sans#2810

Merged
khairul-syazwan merged 9 commits into
developfrom
khairul-syazwan/analyze-2788
Jul 1, 2026
Merged

[analyze-2788] switch to IBM Plex Sans#2810
khairul-syazwan merged 9 commits into
developfrom
khairul-syazwan/analyze-2788

Conversation

@khairul-syazwan

Copy link
Copy Markdown
Collaborator

Resolves #2788

Merge Checklist

Please cross check this list if additions / modifications needs to be done on top of your core changes and tick them off. Reviewer can as well glance through and help the developer if something is missed out.

  • Automated Tests (Jasmine integration tests, Unit tests, and/or Performance tests)
  • Updated Manual tests / Demo Config
  • Documentation (Application guide, Admin guide, Markdown, Readme and/or Wiki)
  • Verified that local development environment is working with latest changes (integrated with latest develop branch)
  • following best practices in code review doc

Self-host IBM Plex Sans (matches Integrate PR #2791 version ^5.2.8) so the
font loads same-origin in every environment. Lockfile regeneration pending —
bun install currently fails on the unrelated @trex/notebook workspace member.

Refs #2788
theme.ts referenced GT-America but never loaded it (no @font-face), so it
always fell back to system fonts — inconsistent on Linux. Now imports the
self-hosted IBM Plex Sans webfont and routes both themes through a single
FONT_FAMILY token.

Refs #2788
Wizards declared no font and inherited the host/browser default, rendering
inconsistently (notably on Linux). Load the self-hosted IBM Plex Sans webfont
via App.tsx (covers both the standalone and single-spa entries) and scope the
family to the wizard shell root so it never leaks into the portal shell.

Refs #2788
Stop shipping GT-America (delete the self-hosted .woff files and their
@font-face blocks — the licensing fix) and load self-hosted IBM Plex Sans via
the root App.vue instead. Route the SCSS $font-family-sans-serif, a new
--app-font-family CSS token (for scoped component styles), and the Plotly chart
FONT_FAMILY through the shared stack. GT-America remains first by name only.

Refs #2788
Completes the dependency addition now that the workspace resolves.

Refs #2788

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the UI font setup in several Analyze-related apps by stopping GT-America webfont shipping in vue-mri-ui-lib and introducing IBM Plex Sans Variable via @fontsource-variable/ibm-plex-sans, while refactoring font-family definitions toward reusable constants/CSS tokens.

Changes:

  • Add @fontsource-variable/ibm-plex-sans dependencies and lockfile entries for relevant UI apps.
  • Introduce IBM Plex Sans Variable loading (CSS/JS imports) and apply font-family via CSS variables / shared constants.
  • Remove GT-America @font-face declarations from vue-mri-ui-lib and update component styles to use a shared --app-font-family token / Plotly FONT_FAMILY string.

Reviewed changes

Copilot reviewed 15 out of 22 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
plugins/ui/bun.lock Locks the new @fontsource-variable/ibm-plex-sans dependency.
plugins/ui/apps/wizards/src/global.css Adds IBM Plex Sans import and defines --wizard-font-family stack.
plugins/ui/apps/wizards/src/components/WizardShell.module.css Applies wizard font family to the app shell container.
plugins/ui/apps/wizards/src/App.tsx Loads wizard global font CSS at app entry.
plugins/ui/apps/wizards/package.json Adds IBM Plex Sans Variable dependency.
plugins/ui/apps/vue-mri-ui-lib/src/utils/Constants.ts Adds Plotly FONT_FAMILY constant and uses it in Plotly config.
plugins/ui/apps/vue-mri-ui-lib/src/styles/style.scss Adds --app-font-family CSS custom property derived from SCSS stack.
plugins/ui/apps/vue-mri-ui-lib/src/styles/fonts.scss Removes GT-America @font-face declarations.
plugins/ui/apps/vue-mri-ui-lib/src/styles/_mri-bootstrap-variables.scss Updates Bootstrap font stack to include IBM Plex Sans Variable.
plugins/ui/apps/vue-mri-ui-lib/src/components/StackBarChartLegend.vue Switches legend font usage to var(--app-font-family).
plugins/ui/apps/vue-mri-ui-lib/src/components/ShinyViewer/SaveCohortModal.vue Switches modal font token to var(--app-font-family).
plugins/ui/apps/vue-mri-ui-lib/src/components/ShinyViewer/DashboardSelectionModal.vue Switches modal typography to var(--app-font-family).
plugins/ui/apps/vue-mri-ui-lib/src/App.vue Imports IBM Plex Sans Variable so it loads in all Vue entry contexts.
plugins/ui/apps/vue-mri-ui-lib/package.json Adds IBM Plex Sans Variable dependency.
plugins/ui/apps/concept-sets/src/theme/theme.ts Imports IBM Plex Sans Variable and centralizes MUI FONT_FAMILY.
plugins/ui/apps/concept-sets/package.json Adds IBM Plex Sans Variable dependency.

Comment thread plugins/ui/apps/wizards/src/global.css
Comment thread plugins/ui/apps/concept-sets/src/theme/theme.ts
Comment thread plugins/ui/apps/vue-mri-ui-lib/src/utils/Constants.ts
@khairul-syazwan khairul-syazwan changed the title Remove GT-America font for analyze apps [analyze-2788] switch to IBM Plex Sans Jun 30, 2026
@khairul-syazwan khairul-syazwan added this pull request to the merge queue Jul 1, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 1, 2026
@khairul-syazwan khairul-syazwan added this pull request to the merge queue Jul 1, 2026
Merged via the queue into develop with commit 32b6f7e Jul 1, 2026
70 of 73 checks passed
@khairul-syazwan khairul-syazwan deleted the khairul-syazwan/analyze-2788 branch July 1, 2026 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Font family update

4 participants