Skip to content

fix(apollo-core): make future-dark primary-lighter a subtle tint [MST-16476] - #1412

Merged
kevinchoinj merged 2 commits into
mainfrom
fix/MST-16476-future-dark-primary-lighter
Oct 19, 2026
Merged

kevinchoinj merged 2 commits into
mainfrom
fix/MST-16476-future-dark-primary-lighter

Conversation

@kevinchoinj

Copy link
Copy Markdown
Contributor

Summary

In future-dark, primary-lighter is cyan.300, which is brighter than primary (cyan.500). In every other theme it is the low-emphasis tint, closer to the page background than primary (blue.700 in dark, cyan.100 in future-light). Consumers that use it as a tint behind text get unreadable results in Modern dark. This sets it to cyan.900, one step above primary-subtle (cyan.950), the same relationship future-light has (cyan.100 above cyan.50).

Reported for the resource picker chips in Studio Web's DAP and for variable chips in PO.Frontend. Apollo's own ModelPicker hits it too: it puts --color-primary text on a --color-primary-lighter hover background (ModelPicker.tsx:1192,1212).

Theme primary primary-lighter primary-darker
light blue.500 blue.200 blue.700
dark blue.400 blue.700 blue.200
future-light cyan.600 cyan.100 cyan.800
future-dark (before) cyan.500 cyan.300 cyan.600
future-dark (after) cyan.500 cyan.900 cyan.600

Contrast in future-dark:

Pair Before (#53eafd) After (#104e64)
White text on it (DAP and PO chips) 1.44:1 9.15:1
--color-primary text or icons on it (ModelPicker hover and icon tile) 1.64:1 3.87:1
Against the page background (zinc.950) 13.79:1 2.18:1

Changes

  • apollo-core semantic.json: primaryLighter.future-dark changes from cyan.300 to cyan.900. The other five themes are unchanged, and the generated theme-variables.css differs only in future-dark --color-primary-lighter.
  • apollo-wind Future colors story: the brand-lighter swatch is updated to cyan-900.

For review:

  • Shade: cyan.900 leaves the ModelPicker's hover text at 3.87:1, which passes the 3:1 bar for icons and large text but not 4.5:1 for normal text. cyan.950 would give 5.67:1 but would make primary-lighter equal primary-subtle.
  • guardrail-chip.tsx uses brand-lighter as its selected border on brand-subtle. That pair goes from 13.8:1 to 1.47:1 in future-dark, which is now in line with future-light (1.08:1). It's left unchanged here; a stronger border token would be a separate design call.
  • Follow-up: primary-darker is also reversed in future-dark (cyan.600, closer to the background than primary). It's out of scope here because "pressed / deep accent" usages may depend on it.
  • MUI palette: primary.light and secondary.light map to this token in future-dark. No Apollo component reads them.

E2E Impact

Not applicable: token value change only. Expect visual-regression snapshot diffs in Modern dark stories that use primary-lighter / brand-lighter, such as the ModelPicker, the guardrail chip and the Future colors page.

Release notes

In the Modern dark theme, components and apps that use the primary "lighter" tint as a background now show a dark cyan instead of a bright cyan, so text and icons on it are readable again.

Testing

  • @uipath/apollo-core builds (pnpm turbo run build --filter=@uipath/apollo-core), and the generated CSS was checked for every theme
  • @uipath/apollo-core tests pass (19)
  • Biome is clean on the changed files
  • Visual regression: left to CI
  • Manual check in a Modern dark story

Copilot AI balanced review requested due to automatic review settings October 19, 2026 16:02
@github-actions
github-actions Bot temporarily deployed to preview/apollo-docs October 19, 2026 16:03 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-design October 19, 2026 16:03 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-vertex October 19, 2026 16:03 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-landing October 19, 2026 16:03 Destroyed

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 token change is narrowly scoped, with only a non-blocking Storybook preview correction remaining.

1 open issue
What changed in this PR

Adjusts the Modern dark primary tint to better support backgrounds behind text and icons.

Changes:

  • Changes primaryLighter.future-dark from cyan.300 to cyan.900, leaving other themes unchanged.
  • Updates the Future colors story’s dark brand-lighter swatch.
File Description
packages/​apollo-wind/​src/​foundation/​Future/​colors.stories.tsx Updates the documented dark tint.
packages/​apollo-core/​src/​tokens/​color/​semantic.json Sets the Modern dark primary tint to cyan.900.

Review effort: Balanced

Comment thread packages/apollo-wind/src/foundation/Future/colors.stories.tsx Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Dependency License Review

  • ✅ 1947 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 2 package(s) excluded (see details below)
License distribution
License Packages
MIT 1713
ISC 91
Apache-2.0 56
BSD-3-Clause 28
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.4 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 Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Storybook visual diff

⏭️ Skipped: the apollo-design preview deployment did not succeed, so no comparison ran. Logs

Updated (PT): Oct 19, 2026, 09:31:28 AM

Copilot AI balanced review requested due to automatic review settings October 19, 2026 16:22
@github-actions
github-actions Bot temporarily deployed to preview/apollo-landing October 19, 2026 16:22 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-design October 19, 2026 16:22 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-vertex October 19, 2026 16:22 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-docs October 19, 2026 16:22 Destroyed
@github-actions

github-actions Bot commented Oct 19, 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.02 MB 50.17 MB +2 B
@uipath/apollo-react 51.7% — 8.01 MB 31.60 MB +1 B
@uipath/apollo-ui-icons — — 2.86 MB 6.97 MB ±0
@uipath/apollo-vertex — — — — —
@uipath/apollo-wind 79.0% — (2 untracked) 785.2 KB 4.55 MB +12 B
@uipath/ap-chat 85.8% — 40.37 MB 45.58 MB −5 B

"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.

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 narrowly scoped token and swatch changes are consistent, with no blocking issues identified; visual verification remains pending.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

@kevinchoinj
kevinchoinj merged commit e7ee1bc into main Oct 19, 2026
41 of 43 checks passed
@kevinchoinj
kevinchoinj deleted the fix/MST-16476-future-dark-primary-lighter branch October 19, 2026 18:39

This branch was successfully deployed

No deployments
preview/apollo-design — 3077779c Deployed Oct 19, 2026 by github-actions[bot]
preview/apollo-vertex — 3077779c Deployed Oct 19, 2026 by github-actions[bot]
preview/apollo-docs — 3077779c Deployed Oct 19, 2026 by github-actions[bot]
preview/apollo-landing — 3077779c Deployed Oct 19, 2026 by github-actions[bot]
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.

6 participants