18 lines
912 B
TypeScript
18 lines
912 B
TypeScript
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");
|
|
});
|