feat(ui): apply approved A3 shared design foundation

This commit is contained in:
cesnimda
2026-11-03 03:08:13 +01:00
parent d3d3383764
commit bdd1de0dd3
43 changed files with 1074 additions and 43 deletions
@@ -0,0 +1,17 @@
import { getTheme } from "./theme";
// These values bind the shared theme to the owner's approved A3 visual contract.
test.each([
["light", "#ffffff", "#f5f4f9", "#694394", "#302744", "#695e78", "#ddd6e7"],
["dark", "#282334", "#352d43", "#d7b6f7", "#edf0f6", "#cec2da", "#5e526e"],
] as const)("%s uses the approved A3 semantic roles", (mode, canvas, surface, accent, ink, muted, divider) => {
const theme = getTheme(mode);
const palette = theme.colorSchemes[mode].palette;
expect(palette.background.default.toLowerCase()).toBe(canvas);
expect(palette.background.elevated.toLowerCase()).toBe(surface);
expect(palette.primary.main.toLowerCase()).toBe(accent);
expect(palette.text.primary.toLowerCase()).toBe(ink);
expect(palette.text.secondary.toLowerCase()).toBe(muted);
expect(palette.divider.toLowerCase()).toBe(divider);
expect(theme.typography.button.textTransform).toBe("none");
});