feat(component-header-footer): read brand colors from CSS custom properties (UDS-2250) - #1767
Open
juanmitriatti wants to merge 3 commits into
Open
feat(component-header-footer): read brand colors from CSS custom properties (UDS-2250)#1767juanmitriatti wants to merge 3 commits into
juanmitriatti wants to merge 3 commits into
Conversation
…oon/--bs-gold custom properties Header maroon and gold now resolve to var(--bs-maroon, #8c1d40) and var(--bs-gold, #ffc627). Webspark's unbranded (KE) palette rewrites --bs-* in the compiled unity-bootstrap-theme CSS, so the header follows the site palette; the hex fallbacks keep branded sites pixel-identical. UDS-2250
…custom property The footer's local --color-base-gold now resolves to var(--bs-gold, #ffc627), so Innovation background and gold hover states follow Webspark's unbranded (KE) palette. Hex fallback keeps branded sites pixel-identical. UDS-2250
…roperties UDS-2250
Collaborator
|
Storybook deployed at https://unity-uds-staging.s3.us-west-2.amazonaws.com/pr-1767/index.html |
scott-williams-az
approved these changes
Aug 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
UDS-2250: Header and Footer read brand colors from CSS custom properties
What & why
Webspark's Unbranded (KE) profile (epic WS2-2964) replaces brand colors in the compiled
unity-bootstrap-themestylesheet, so every SCSS-styled component follows the site palette. The header and footer did not: their colors were hardcoded as styled-components JS constants injected at runtime, out of reach of any stylesheet replacement.This change makes
component-header-footerread every brand color from a CSS custom property with the current value as fallback, e.g.var(--bs-gold, #ffc627). Branded sites are pixel-identical because of the fallbacks; sites that define the variables (Webspark unbranded palettes rewrite--bs-*in the compiled CSS) get the header and footer following the palette natively.Pairs with UDS-2248 (
isUnbranded/unbrandedLogoprops).Changes
src/header/colors.js— the two brand constants now read from custom properties (single choke point; all 10 header style files and theACCENT_*aliases inherit it, gradients included):ASU_MAROON→var(--bs-maroon, #8c1d40)ASU_GOLD→var(--bs-gold, #ffc627)src/footer/index.styles.js— the footer's local--color-base-golddefinition now readsvar(--bs-gold, #ffc627); everyvar(--color-base-gold)usage (Innovation background, contact/accordion gold hovers) inherits it.src/header/colors.test.jsandsrc/footer/footer-brand-colors.test.js.Scope decisions
unity-bootstrap-themechange.--bs-maroon/--bs-gold(and--bs-darkmaroon/--bs-darkgold) are already emitted at:rootand already rewritten by the Webspark palette system; no header/footer style uses a dark shade, so no--uds-color-base-*additions were needed.Testing
component-header-footerJest suite: 50 passed / 10 suites (includes the 2 new contract tests).footer-brand-colorstest was mutation-verified (reverting the source to bare hex fails the test).Acceptance criteria notes