diff --git a/.changeset/pre.json b/.changeset/pre.json index 822012a1..5538881f 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -14,8 +14,10 @@ "autocomplete-external-mode", "autocomplete-search-magnifier", "card-mycsc-anatomy", + "chart-slots-vivid", "chart-tokens", "dark-mode-mycsc-retune", + "dark-mode-vivid-retune", "designated-trigger-popover-chain", "divider-token-dark-mode", "dropdown-hide-details-restore", diff --git a/packages/csc-ui-react/CHANGELOG.md b/packages/csc-ui-react/CHANGELOG.md index 299d2369..27e5fc25 100644 --- a/packages/csc-ui-react/CHANGELOG.md +++ b/packages/csc-ui-react/CHANGELOG.md @@ -1,5 +1,61 @@ # @cscfi/csc-ui-react +## 4.0.0-alpha.8 + +### Minor Changes + +- [#260](https://github.com/CSCfi/ui/pull/260) [`6f3ac93`](https://github.com/CSCfi/ui/commit/6f3ac93ea3c0670884c5e22d23b7a73fbfcc29b3) Thanks [@villeerikssoncsc](https://github.com/villeerikssoncsc)! - Re-derive the twelve chart series slots (`--c-chart-1` … `--c-chart-12`) as + vivid single hues (ADR-0030, amended). + + - The previous set was five dark/light shade pairs plus two singles, parked + just above the chroma floor; it read flat, and the dark shades read too + dark. The new set is twelve single hues at a mid lightness (OKLCH L + 0.55–0.67 light, 0.58–0.67 dark) with chroma pushed to the sRGB gamut under + per-hue ceilings. + - Slots 1–7 keep their hue identities (blue, magenta, gold, purple, teal, + rose, cyan) so charts with up to seven series keep familiar colours; slots + 8–12 are new hues (indigo, orchid, olive, violet, aqua). Status hue bands + (reds, oranges, greens) are excluded. + - Every slot now clears 3:1 on both chart surfaces — the four dark-mode + relief slots are gone. The all-pairs safe prefix for scatter/bubble/map + forms stays at slots 1–3. + - Validated as a set with the dataviz validator: adjacent-pair CVD ΔE 10.2 + (light) / 8.7 (dark), normal-vision floor 17.9 / 16.9. + + Chart tokens are frozen literals, so this does not interact with + `applyTheme`; consumers who override `--c-chart-*` are unaffected. + +- [#260](https://github.com/CSCfi/ui/pull/260) [`6f3ac93`](https://github.com/CSCfi/ui/commit/6f3ac93ea3c0670884c5e22d23b7a73fbfcc29b3) Thanks [@villeerikssoncsc](https://github.com/villeerikssoncsc)! - Make dark mode more vibrant: saturated fills and visible subtle tints, all + still resolved inside each role's own family (ADR-0034). + + - The ramp core (`src/theme/ramp.js`) now holds full seed chroma through + steps 400–300 and tapers only from 200 up (`C_FACTOR` 400/300/200: + 0.92/0.78/0.55 → 1.0/1.0/0.72). Step 300 is every family's dark-mode fill + and 200 its hover, and the old taper left low-chroma seeds reading grey — + the dark primary button moves from `#67a2b0` to `#54a5b7` at the same + contrast. Every family's 200–400 steps shift accordingly in both modes + (light-mode hover fills get slightly richer); warning and error are at the + sRGB gamut edge and do not move. Consumer ramps from `applyTheme` / + `themeToCss` follow the same curve. + - Dark-mode status and accent fills move to the saturated `*-400` step + (hover `*-300`, ink `*-950`). Primary, secondary and link fills stay where + they are — their next step fails WCAG AA text with any ink. + - Dark-mode subtle tints move from `*-800` to `*-700` (hover `*-600`) with + the near-white `*-50` ink. `*-800` sat within 1.0–1.6:1 of the slate-800 + page and read as the page colour. + - Dark nav chrome moves one step lighter (`primary-700`, hover `primary-600`) + and the active item becomes the brand `primary-500` under white ink. + - The frozen chart slots (ADR-0030) are literals and do not move. + + Dark mode passes every audited text pair at AA and every non-text pair at + 3:1 (`scripts/audit-contrast.mjs --strict`); ramp parity + (`scripts/check-ramp-parity.mjs`) holds. + +### Patch Changes + +- Updated dependencies [[`6f3ac93`](https://github.com/CSCfi/ui/commit/6f3ac93ea3c0670884c5e22d23b7a73fbfcc29b3), [`6f3ac93`](https://github.com/CSCfi/ui/commit/6f3ac93ea3c0670884c5e22d23b7a73fbfcc29b3)]: + - @cscfi/csc-ui@4.0.0-alpha.8 + ## 4.0.0-alpha.7 ### Minor Changes diff --git a/packages/csc-ui-react/package.json b/packages/csc-ui-react/package.json index a2869b63..d9df28f7 100644 --- a/packages/csc-ui-react/package.json +++ b/packages/csc-ui-react/package.json @@ -1,6 +1,6 @@ { "name": "@cscfi/csc-ui-react", - "version": "4.0.0-alpha.7", + "version": "4.0.0-alpha.8", "description": "React components for the @cscfi/csc-ui custom elements, generated from the Custom Elements Manifest.", "author": "My CSC Team ", "type": "module", diff --git a/packages/csc-ui/CHANGELOG.md b/packages/csc-ui/CHANGELOG.md index 038c68fb..b4b66bbf 100644 --- a/packages/csc-ui/CHANGELOG.md +++ b/packages/csc-ui/CHANGELOG.md @@ -1,5 +1,56 @@ # @cscfi/csc-ui +## 4.0.0-alpha.8 + +### Minor Changes + +- [#260](https://github.com/CSCfi/ui/pull/260) [`6f3ac93`](https://github.com/CSCfi/ui/commit/6f3ac93ea3c0670884c5e22d23b7a73fbfcc29b3) Thanks [@villeerikssoncsc](https://github.com/villeerikssoncsc)! - Re-derive the twelve chart series slots (`--c-chart-1` … `--c-chart-12`) as + vivid single hues (ADR-0030, amended). + + - The previous set was five dark/light shade pairs plus two singles, parked + just above the chroma floor; it read flat, and the dark shades read too + dark. The new set is twelve single hues at a mid lightness (OKLCH L + 0.55–0.67 light, 0.58–0.67 dark) with chroma pushed to the sRGB gamut under + per-hue ceilings. + - Slots 1–7 keep their hue identities (blue, magenta, gold, purple, teal, + rose, cyan) so charts with up to seven series keep familiar colours; slots + 8–12 are new hues (indigo, orchid, olive, violet, aqua). Status hue bands + (reds, oranges, greens) are excluded. + - Every slot now clears 3:1 on both chart surfaces — the four dark-mode + relief slots are gone. The all-pairs safe prefix for scatter/bubble/map + forms stays at slots 1–3. + - Validated as a set with the dataviz validator: adjacent-pair CVD ΔE 10.2 + (light) / 8.7 (dark), normal-vision floor 17.9 / 16.9. + + Chart tokens are frozen literals, so this does not interact with + `applyTheme`; consumers who override `--c-chart-*` are unaffected. + +- [#260](https://github.com/CSCfi/ui/pull/260) [`6f3ac93`](https://github.com/CSCfi/ui/commit/6f3ac93ea3c0670884c5e22d23b7a73fbfcc29b3) Thanks [@villeerikssoncsc](https://github.com/villeerikssoncsc)! - Make dark mode more vibrant: saturated fills and visible subtle tints, all + still resolved inside each role's own family (ADR-0034). + + - The ramp core (`src/theme/ramp.js`) now holds full seed chroma through + steps 400–300 and tapers only from 200 up (`C_FACTOR` 400/300/200: + 0.92/0.78/0.55 → 1.0/1.0/0.72). Step 300 is every family's dark-mode fill + and 200 its hover, and the old taper left low-chroma seeds reading grey — + the dark primary button moves from `#67a2b0` to `#54a5b7` at the same + contrast. Every family's 200–400 steps shift accordingly in both modes + (light-mode hover fills get slightly richer); warning and error are at the + sRGB gamut edge and do not move. Consumer ramps from `applyTheme` / + `themeToCss` follow the same curve. + - Dark-mode status and accent fills move to the saturated `*-400` step + (hover `*-300`, ink `*-950`). Primary, secondary and link fills stay where + they are — their next step fails WCAG AA text with any ink. + - Dark-mode subtle tints move from `*-800` to `*-700` (hover `*-600`) with + the near-white `*-50` ink. `*-800` sat within 1.0–1.6:1 of the slate-800 + page and read as the page colour. + - Dark nav chrome moves one step lighter (`primary-700`, hover `primary-600`) + and the active item becomes the brand `primary-500` under white ink. + - The frozen chart slots (ADR-0030) are literals and do not move. + + Dark mode passes every audited text pair at AA and every non-text pair at + 3:1 (`scripts/audit-contrast.mjs --strict`); ramp parity + (`scripts/check-ramp-parity.mjs`) holds. + ## 4.0.0-alpha.7 ### Minor Changes diff --git a/packages/csc-ui/package.json b/packages/csc-ui/package.json index e9c82545..30cf5fbe 100644 --- a/packages/csc-ui/package.json +++ b/packages/csc-ui/package.json @@ -1,6 +1,6 @@ { "name": "@cscfi/csc-ui", - "version": "4.0.0-alpha.7", + "version": "4.0.0-alpha.8", "description": "Vue 3-based replacement for @cscfi/csc-ui — same custom element tag names, Vue v-model contract.", "type": "module", "main": "./dist/csc-ui.js",