feat(destinations): colour tokens, with the absence hatched not coloured
Activity not captured includes independent schools and moving abroad, so a red segment would be a factual error. The hatch doubles as the secondary encoding that rescues the neutral/blue pair, which separates at only dE 7.6 as flat fills. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BvdDKvFFSZuMVDH5fEyTob
This commit is contained in:
1 parent
1980d79eee
commit
7ae9ecdc36
2 files changed
+56
No files matched your search
@@ -76,3 +76,31 @@ describe('dark-theme safety', () => {
|
||||
expect(offenders).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Destination measures add the first new colour family since the palette was
|
||||
* set. The tokens have to exist in both blocks or the section renders one
|
||||
* theme's fills on the other theme's ground — the exact failure the suite
|
||||
* above exists to catch, but for tokens rather than literals.
|
||||
*/
|
||||
describe('destination tokens', () => {
|
||||
const css = fs.readFileSync(
|
||||
path.join(__dirname, '..', '..', 'app', 'globals.css'), 'utf8');
|
||||
|
||||
const TOKENS = [
|
||||
'--dest-sixthform', '--dest-sfcollege', '--dest-fecollege',
|
||||
'--dest-apprentice', '--dest-employment', '--dest-none', '--dest-none-hatch',
|
||||
];
|
||||
|
||||
const DARK_AT = css.indexOf('@media (prefers-color-scheme: dark)');
|
||||
|
||||
it('defines every destination token in the light palette', () => {
|
||||
const light = css.slice(0, DARK_AT);
|
||||
expect(TOKENS.filter((t) => !light.includes(`${t}:`))).toEqual([]);
|
||||
});
|
||||
|
||||
it('redefines every destination token for dark', () => {
|
||||
const dark = css.slice(DARK_AT);
|
||||
expect(TOKENS.filter((t) => !dark.includes(`${t}:`))).toEqual([]);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user