Skip to content

feat(apollo-core,apollo-wind): bundle Inter and wire it into the Future themes - #1108

Merged
david-rios-uipath merged 2 commits into
mainfrom
feat/MST-14539-bundle-inter
Sep 3, 2026
Merged

feat(apollo-core,apollo-wind): bundle Inter and wire it into the Future themes#1108
david-rios-uipath merged 2 commits into
mainfrom
feat/MST-14539-bundle-inter

Conversation

@david-rios-uipath

@david-rios-uipath david-rios-uipath commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Ships Inter locally and points the Future design language at it.

Demo

Look at the sbdiff report for more details: https://engdogfood.staging.uipath.host/apollo-design-diff-pr-1108/

Screen.Recording.2026-09-02.at.2.56.22.PM.mov

Example of Inter consumption in Flow: https://github.com/UiPath/flow-workbench/pull/3578

Font stack

Inter, noto-sans, system-ui, sans-serif

Inter has no CJK coverage. Chaining rather than replacing keeps per-glyph fallback resolving ja, ko, zh-CN and zh-TW from the Noto faces apollo-core already ships. Replacing Noto outright would silently drop those locales to OS fonts.

Verification

Storybook, driven through Playwright:

  • Under future-dark, computed font family is Inter, noto-sans, system-ui, sans-serif and the only Inter requests are to apollo-core/dist/fonts/inter/*.woff2. No gstatic Inter.
  • Italic resolves from the local italic face, confirmed via document.fonts.check('italic 16px Inter') after an explicit load.
  • Under light, nothing changed: Tailwind's default stack on body, --font-normal still Noto.

Four assertions added to tailwind.consumer.test.ts cover the token declarations, the mono exclusion, and the font-family line. 16 of 16 pass, tsc clean.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Apollo Coded App preview deployments are ready.

Project Status Preview Updated (PT)
apollo-design Ready Preview · Logs Sep 02, 2026, 04:47:49 PM
apollo-docs Ready Preview · Logs Sep 02, 2026, 04:47:49 PM
apollo-landing Ready Preview · Logs Sep 02, 2026, 04:47:49 PM
apollo-vertex Ready Preview · Logs Sep 02, 2026, 04:47:49 PM

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

Pull request overview

Bundles the Inter variable font into apollo-core and wires the Future design language typography in apollo-wind to use it (with noto-sans retained as the CJK fallback), while removing the conflicting Google Fonts Inter import from Storybook so local fonts win.

Changes:

  • apollo-core: Adds Inter (latin + latin-ext, upright + italic variable WOFF2) to the shipped font assets and generates corresponding @font-face rules plus a .tk-inter helper.
  • apollo-wind: Updates Future theme CSS to set --font-sans and route the Future sans typography tokens to it, plus sets font-family on the Future theme block to ensure the override applies when the theme class is not on :root.
  • Storybook: Stops loading Inter from Google Fonts (keeps JetBrains Mono via CDN).
File summaries
File Description
packages/apollo-wind/src/styles/tailwind.consumer.test.ts Adds assertions that Future theme typography tokens are declared and monospace tokens are not touched.
packages/apollo-wind/src/styles/tailwind.consumer.css Declares Future typography variables (--font-sans + related sans tokens) and sets font-family for Future theme blocks.
packages/apollo-wind/src/foundation/Future/typography.ts Updates Future typography token font stacks to Inter, noto-sans, system-ui, sans-serif.
packages/apollo-core/src/fonts/font.css Regenerates the checked-in minified font CSS artifact to include Inter faces and .tk-inter.
packages/apollo-core/src/fonts/font.base-css Adds Inter variable @font-face declarations (latin + latin-ext, upright + italic) and .tk-inter.
apps/storybook/.storybook/main.ts Removes Google Fonts Inter import so Storybook uses the locally shipped Inter from apollo-core.
Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 5/10 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Dependency License Review

  • 1951 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 2 package(s) excluded (see details below)
License distribution
License Packages
MIT 1722
ISC 88
Apache-2.0 55
BSD-3-Clause 27
BSD-2-Clause 23
BlueOak-1.0.0 8
MPL-2.0 4
MIT-0 3
CC0-1.0 3
MIT OR Apache-2.0 2
(MIT OR Apache-2.0) 2
Unlicense 2
LGPL-3.0-or-later 1
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
Unknown 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.3.2 LGPL-3.0-or-later LGPL pre-built binary, not linked
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Storybook visual diff

⚠️ Visual changes detected: 88 changed (of 96 compared, 8 unchanged). View report

Baseline is the deployed main Storybook, so changes merged to main after this branch was last updated can also appear here. Logs

Updated (PT): Sep 02, 2026, 04:52:30 PM

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

📊 Coverage + size by package

Per-package coverage and bundle size on this PR. New-line coverage = of the source lines this PR adds or changes, the % hit by tests.

Package Coverage New-line coverage Packed (gzip) Unpacked vs main
@uipath/apollo-core 75.0% 42.01 MB 50.12 MB +423.5 KB
@uipath/apollo-react 39.7% 7.56 MB 29.11 MB +96 B
@uipath/apollo-ui-icons 2.85 MB 6.91 MB ±0
@uipath/apollo-wind 65.0% 100.0% (1/1) 430.4 KB 2.76 MB +1.2 KB
@uipath/ap-chat 85.8% 43.88 MB 56.51 MB +423.5 KB

"Coverage" is each package's own coverage.include scope (e.g. apollo-core instruments only scripts/). "Packed"/"Unpacked" come from npm pack --dry-run and only cover built packages — "—" means not measured this run (package not affected / not built). "vs main" is the packed (gzipped) delta against the last successful main build (the package-sizes artifact from the Release workflow); "—" there means no main baseline was available this run. The baseline is main's latest build, not this PR's exact merge-base, so it includes any drift since the branch diverged. Packages with no vitest config are omitted.

@david-rios-uipath david-rios-uipath added the dev-packages Adds dev package publishing on pushes to this PR label Sep 1, 2026
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

📦 Dev Packages

🧹 Dev packages cleaned up after PR close.

Last updated: 2026-09-02 17:53:15 PT

Copilot AI review requested due to automatic review settings September 2, 2026 16:10
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 287990b to 5f95df0 Compare September 2, 2026 16:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The functional changes are straightforward and covered by targeted tests; only a minor in-code specificity comment needs correction.

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 5/10 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread packages/apollo-wind/src/styles/tailwind.consumer.css Outdated
Adds Inter as a variable woff2 (wght 100-900) in upright and italic for the
latin and latin-ext subsets, with matching @font-face entries and a .tk-inter
helper. Inter is the base family of the Future design language but had no
font behind it. The stack must keep chaining to noto-sans for CJK coverage.

Refs MST-14539

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 2, 2026 18:35
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 5f95df0 to 3c713a2 Compare September 2, 2026 18:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

A newly added unit test depends on a hard-coded per-package node_modules path for apollo-core tokens, which is brittle and may fail under different pnpm/node-linker layouts.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 7/12 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread packages/apollo-wind/src/styles/tailwind.consumer.test.ts
Copilot AI review requested due to automatic review settings September 2, 2026 18:48
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 3c713a2 to 778bfaf Compare September 2, 2026 18:48
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 778bfaf to 7326ada Compare September 2, 2026 18:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔵 Needs a closer look

It introduces new font binaries and changes a theme-wide font stack with broad visual impact, which warrants final human verification (screenshots/visual regression and licensing review).

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 7/12 changed files
  • Comments generated: 2
  • Review effort level: Lite

Comment thread packages/apollo-wind/src/styles/tailwind.consumer.css Outdated
Comment thread packages/apollo-wind/src/styles/tailwind.consumer.test.ts
Copilot AI review requested due to automatic review settings September 2, 2026 18:53
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 7326ada to 2475daa Compare September 2, 2026 18:58
Copilot AI review requested due to automatic review settings September 2, 2026 19:16
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 3af4b0e to 864119c Compare September 2, 2026 19:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

The new Future typography tests can throw type errors when the CSS block isn’t found (instead of failing cleanly), which should be made robust before merging.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 12/17 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread packages/apollo-wind/src/styles/tailwind.consumer.test.ts
Copilot AI review requested due to automatic review settings September 2, 2026 19:36
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 864119c to f313f4c Compare September 2, 2026 19:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

A newly added monospace stack comment in packages/apollo-wind/src/foundation/Future/typography.ts is contradictory/misleading about whether a bundled monospace webfont exists and should be reworded for accuracy.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 12/17 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread packages/apollo-wind/src/foundation/Future/typography.ts
Copilot AI review requested due to automatic review settings September 2, 2026 19:46
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from f313f4c to 651c9ec Compare September 2, 2026 19:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The changes consistently wire Inter into the Future themes with appropriate fallbacks and add targeted tests/documentation to prevent regressions.

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 12/17 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Copilot AI review requested due to automatic review settings September 2, 2026 19:56
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 651c9ec to 11ac59a Compare September 2, 2026 19:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The changes are consistent across CSS tokens, TS typography constants, and Storybook consumption, and are backed by targeted regression tests for the Future theme typography contract.

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 12/17 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@david-rios-uipath
david-rios-uipath marked this pull request as ready for review September 2, 2026 21:34
Comment thread packages/apollo-wind/font-reexport/font.css
Copilot AI review requested due to automatic review settings September 2, 2026 23:07
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 11ac59a to 7ca117f Compare September 2, 2026 23:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The changes are cohesive and well-tested; only minor maintainability concerns were identified around referencing a non-bundled font family name in the stack.

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 13/18 changed files
  • Comments generated: 2
  • Review effort level: Lite

Comment thread packages/apollo-wind/src/foundation/Future/typography.ts Outdated
Comment thread packages/apollo-wind/src/styles/tailwind.consumer.css Outdated
The .future-dark / .future-light blocks defined colours only, so the Future
design language rendered whatever Tailwind's default --font-sans resolved to.
Point --font-sans, --font-normal, --font-title and the 22 sans --font-*-family
tokens at Inter (shipped by apollo-core). Inter has no CJK and noto-sans is
Latin-only, so the four bundled Noto CJK families are chained explicitly to
keep ja/ko/zh resolving.

Also set font-family on the theme root, in a rule with the theme class
repeated. Preflight resolves --default-font-family at :root, so overriding
--font-sans alone would miss a theme class placed lower in the tree. The
repetition raises specificity past (0,1,1): apollo's legacy Angular Material
bundle injects `body.apollo-design, .apollo-design { font-family: noto-sans,
... }` at runtime, which ties on specificity and wins on source order.

Future/typography.ts carries the same chain, asserted against the CSS by
tailwind.consumer.test.ts so the two cannot drift. The sans-token test now
derives the token list from apollo-core, so a new token there fails here
instead of silently keeping the old stack.

Storybook no longer pulls Inter from the Google CDN, and the apollo-wind
README states that consumers must import apollo-core's font stylesheet.
Mono tokens are untouched.

Refs MST-14539

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 2, 2026 23:37
@david-rios-uipath
david-rios-uipath force-pushed the feat/MST-14539-bundle-inter branch from 7ca117f to 2a6a55a Compare September 2, 2026 23:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The font bundling + Future theme stack changes are internally consistent, covered by targeted tests, and Storybook consumption is updated to avoid CDN Inter usage.

Review details

Files not reviewed (1)

  • packages/apollo-core/src/fonts/font.css: Generated file
  • Files reviewed: 13/18 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@david-rios-uipath
david-rios-uipath merged commit 709fdde into main Sep 3, 2026
47 checks passed
@david-rios-uipath
david-rios-uipath deleted the feat/MST-14539-bundle-inter branch September 3, 2026 00:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:storybook dev-packages Adds dev package publishing on pushes to this PR pkg:apollo-core pkg:apollo-wind size:L 100-499 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants