Skip to content

fix: update tokens from figma, address hc issues#8407

Merged
mcoker merged 2 commits into
patternfly:mainfrom
mcoker:update-tokens-5.15.26
May 18, 2026
Merged

fix: update tokens from figma, address hc issues#8407
mcoker merged 2 commits into
patternfly:mainfrom
mcoker:update-tokens-5.15.26

Conversation

@mcoker

@mcoker mcoker commented May 15, 2026

Copy link
Copy Markdown
Contributor

fixes #8408

Looks like at some point we changed the directory structure of where the JSON exports from figma were stored in the design tokens repo, but our HC token config was not updated to look at the new structure and was looking at the old structure. This means we stopped getting updates to HC tokens from figma at that point, since new JSON exports from figma were stored in a different directory than our config referenced. Fixed that issue in patternfly/design-tokens#152

This PR consumes the SCSS generated from patternfly/design-tokens#152.

Also here are backstop tests. There are a lot of failures because it's probably bringing in all HC theme changes that were made since we introduced felt tokens 😲

Just spot checking, everything looks as expected. The main changes I saw were

  • Links changed from solid underline to dashed underline
  • Backdrop color is darker
  • Success (maybe other statuses?) color is darker
  • Subtle borders are darker

Backstop reports:

Full reports - open the "html_report" dirs and open "index.html"

PDF reports - these just show errors.

Summary by CodeRabbit

  • Chores
    • Regenerated design token files with refreshed values and new tokens for high-contrast themes (including loading, sticky, glass, and brand-accent variants) and adjusted semantic color mappings.
  • Refactor
    • Reorganized theme token wiring for felt/dark combinations to simplify theme selector structure.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 15, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 6497688d-d734-4dec-989e-a0efe8068bc1

📥 Commits

Reviewing files that changed from the base of the PR and between 6c6822c and 0eac6a7.

📒 Files selected for processing (1)
  • src/patternfly/base/patternfly-variables.scss

Walkthrough

This PR regenerates PatternFly design token SCSS files across the theme suite, updating generation timestamps and adding new high-contrast theme token variants. The high-contrast dark and light themes receive substantive token additions for brand-accent and brand-subtle color families, on-brand icon and text color variants, sticky and glass-related backgrounds, and refined status/border/shadow mappings.

Changes

Token File Regeneration

Layer / File(s) Summary
Timestamp-only token file regeneration
src/patternfly/base/tokens/tokens-charts*.scss, src/patternfly/base/tokens/tokens-dark.scss, src/patternfly/base/tokens/tokens-default.scss, src/patternfly/base/tokens/tokens-felt*.scss, src/patternfly/base/tokens/tokens-glass*.scss, src/patternfly/base/tokens/tokens-palette.scss
Generation timestamps are updated across many token files with no functional changes to token values or mixin definitions.
High-contrast dark theme token updates
src/patternfly/base/tokens/tokens-highcontrast-dark.scss
Added brand-accent (100/200/300/350/400), brand-subtle (100/200/300), and on-brand accent/subtle variants for icons and text. Introduced loading-skeleton and sticky background tokens, updated border color and box-shadow references, and refined glass background assignments.
High-contrast theme token updates and refinements
src/patternfly/base/tokens/tokens-highcontrast.scss
Updated global background opacity, glass blur, and box-shadow blur/offset values. Added loading-skeleton, striped-row, and sticky background tokens. Repositioned and expanded brand color token mappings for icons and text with new brand-accent and on-brand accent/subtle variants. Refined status colors, link text-decoration styles, and border color aliases for control, read-only, and glass elements.
Felt theme selector wiring changes
src/patternfly/base/patternfly-variables.scss
Reorganized felt theme mixin wiring: added standalone :root:where(.pf-v6-theme-felt) and :root:where(.pf-v6-theme-dark.pf-v6-theme-felt) blocks and removed their earlier standalone occurrences, leaving combined felt+high-contrast and felt+glass selectors in the original locations.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

released on @prerelease``

Suggested reviewers

  • lboehling
  • srambach
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title follows conventional commit format with 'fix:' prefix and clearly describes updating tokens from Figma and addressing high-contrast issues.
Linked Issues check ✅ Passed The PR successfully addresses the linked issue #8408 by consuming corrected HC tokens from design-tokens PR #152, which fixed the Figma export directory structure mismatch.
Out of Scope Changes check ✅ Passed All changes are in-scope: most are timestamp regenerations of token files, HC token value updates addressing the reported bug, and theme class reorganization to fix the subtle border color issue.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@patternfly-build

patternfly-build commented May 15, 2026

Copy link
Copy Markdown
Collaborator

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/patternfly/base/tokens/tokens-highcontrast-dark.scss`:
- Around line 281-283: The three accent alias variables
(--pf-t--global--color--brand--accent--clicked,
--pf-t--global--color--brand--accent--default,
--pf-t--global--color--brand--accent--hover) are currently pointed at the
regular brand tokens; update their right-hand side to reference the actual
accent tokens so downstream accent borders/icons get the accent variants (for
example use the corresponding accent tokens such as
var(--pf-global--color--brand--accent--clicked),
var(--pf-global--color--brand--accent--default),
var(--pf-global--color--brand--accent--hover) instead of the non-accent brand
tokens).

In `@src/patternfly/base/tokens/tokens-highcontrast.scss`:
- Around line 595-597: The three brand-accent semantic tokens
(--pf-t--global--color--brand--accent--clicked,
--pf-t--global--color--brand--accent--default,
--pf-t--global--color--brand--accent--hover) are incorrectly aliased to the
regular brand tokens; update each RHS to reference the corresponding accent
tokens (e.g. use --pf-t--global--color--accent--clicked,
--pf-t--global--color--accent--default, --pf-t--global--color--accent--hover) so
accent-specific styling propagates to downstream accent border/icon tokens.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: d0e24f64-f8b3-4664-9365-4ea4bf521cb5

📥 Commits

Reviewing files that changed from the base of the PR and between d47bf8b and 6c6822c.

📒 Files selected for processing (17)
  • src/patternfly/base/tokens/tokens-charts-dark.scss
  • src/patternfly/base/tokens/tokens-charts-highcontrast-dark.scss
  • src/patternfly/base/tokens/tokens-charts-highcontrast.scss
  • src/patternfly/base/tokens/tokens-charts.scss
  • src/patternfly/base/tokens/tokens-dark.scss
  • src/patternfly/base/tokens/tokens-default.scss
  • src/patternfly/base/tokens/tokens-felt-dark.scss
  • src/patternfly/base/tokens/tokens-felt-glass-dark.scss
  • src/patternfly/base/tokens/tokens-felt-glass.scss
  • src/patternfly/base/tokens/tokens-felt-highcontrast-dark.scss
  • src/patternfly/base/tokens/tokens-felt-highcontrast.scss
  • src/patternfly/base/tokens/tokens-felt.scss
  • src/patternfly/base/tokens/tokens-glass-dark.scss
  • src/patternfly/base/tokens/tokens-glass.scss
  • src/patternfly/base/tokens/tokens-highcontrast-dark.scss
  • src/patternfly/base/tokens/tokens-highcontrast.scss
  • src/patternfly/base/tokens/tokens-palette.scss

Comment on lines +281 to +283
--pf-t--global--color--brand--accent--clicked: var(--pf-t--global--color--brand--clicked);
--pf-t--global--color--brand--accent--default: var(--pf-t--global--color--brand--default);
--pf-t--global--color--brand--accent--hover: var(--pf-t--global--color--brand--hover);

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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Brand-accent aliases are wired to regular brand tokens instead of accent tokens.

The new semantic accent aliases currently resolve to regular brand colors, so accent-specific border/icon tokens downstream won’t render an actual accent variant.

Suggested fix
-  --pf-t--global--color--brand--accent--clicked: var(--pf-t--global--color--brand--clicked);
-  --pf-t--global--color--brand--accent--default: var(--pf-t--global--color--brand--default);
-  --pf-t--global--color--brand--accent--hover: var(--pf-t--global--color--brand--hover);
+  --pf-t--global--color--brand--accent--clicked: var(--pf-t--global--dark--color--brand--accent--200);
+  --pf-t--global--color--brand--accent--default: var(--pf-t--global--dark--color--brand--accent--100);
+  --pf-t--global--color--brand--accent--hover: var(--pf-t--global--dark--color--brand--accent--200);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
--pf-t--global--color--brand--accent--clicked: var(--pf-t--global--color--brand--clicked);
--pf-t--global--color--brand--accent--default: var(--pf-t--global--color--brand--default);
--pf-t--global--color--brand--accent--hover: var(--pf-t--global--color--brand--hover);
--pf-t--global--color--brand--accent--clicked: var(--pf-t--global--dark--color--brand--accent--200);
--pf-t--global--color--brand--accent--default: var(--pf-t--global--dark--color--brand--accent--100);
--pf-t--global--color--brand--accent--hover: var(--pf-t--global--dark--color--brand--accent--200);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/patternfly/base/tokens/tokens-highcontrast-dark.scss` around lines 281 -
283, The three accent alias variables
(--pf-t--global--color--brand--accent--clicked,
--pf-t--global--color--brand--accent--default,
--pf-t--global--color--brand--accent--hover) are currently pointed at the
regular brand tokens; update their right-hand side to reference the actual
accent tokens so downstream accent borders/icons get the accent variants (for
example use the corresponding accent tokens such as
var(--pf-global--color--brand--accent--clicked),
var(--pf-global--color--brand--accent--default),
var(--pf-global--color--brand--accent--hover) instead of the non-accent brand
tokens).

Comment on lines +595 to +597
--pf-t--global--color--brand--accent--clicked: var(--pf-t--global--color--brand--clicked);
--pf-t--global--color--brand--accent--default: var(--pf-t--global--color--brand--default);
--pf-t--global--color--brand--accent--hover: var(--pf-t--global--color--brand--hover);

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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Brand-accent semantic tokens are aliased to brand, not accent.

Lines 595-597 map accent states to regular brand states, which prevents accent-specific styling from taking effect for downstream accent border/icon tokens.

Suggested fix
-  --pf-t--global--color--brand--accent--clicked: var(--pf-t--global--color--brand--clicked);
-  --pf-t--global--color--brand--accent--default: var(--pf-t--global--color--brand--default);
-  --pf-t--global--color--brand--accent--hover: var(--pf-t--global--color--brand--hover);
+  --pf-t--global--color--brand--accent--clicked: var(--pf-t--global--color--brand--accent--200);
+  --pf-t--global--color--brand--accent--default: var(--pf-t--global--color--brand--accent--100);
+  --pf-t--global--color--brand--accent--hover: var(--pf-t--global--color--brand--accent--200);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
--pf-t--global--color--brand--accent--clicked: var(--pf-t--global--color--brand--clicked);
--pf-t--global--color--brand--accent--default: var(--pf-t--global--color--brand--default);
--pf-t--global--color--brand--accent--hover: var(--pf-t--global--color--brand--hover);
--pf-t--global--color--brand--accent--clicked: var(--pf-t--global--color--brand--accent--200);
--pf-t--global--color--brand--accent--default: var(--pf-t--global--color--brand--accent--100);
--pf-t--global--color--brand--accent--hover: var(--pf-t--global--color--brand--accent--200);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/patternfly/base/tokens/tokens-highcontrast.scss` around lines 595 - 597,
The three brand-accent semantic tokens
(--pf-t--global--color--brand--accent--clicked,
--pf-t--global--color--brand--accent--default,
--pf-t--global--color--brand--accent--hover) are incorrectly aliased to the
regular brand tokens; update each RHS to reference the corresponding accent
tokens (e.g. use --pf-t--global--color--accent--clicked,
--pf-t--global--color--accent--default, --pf-t--global--color--accent--hover) so
accent-specific styling propagates to downstream accent border/icon tokens.

@jcmill jcmill 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.

Looks like its mapped correctly.

@lboehling lboehling 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.

looks right to me! thank you for the quick fix!! 🪄

@mcoker mcoker merged commit a172353 into patternfly:main May 18, 2026
5 checks passed
@mcoker mcoker deleted the update-tokens-5.15.26 branch May 18, 2026 19:35
@patternfly-build

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 6.5.0-prerelease.93 🎉

The release is available on:

Your semantic-release 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.

Bug - subtle border in high contrast is wrong color

5 participants