dorfteich/packages/shared
Claude Fable 5 b1643bbe68 #184: shared accent engine — WCAG-conforming tokens by construction
Dependency-free packages/shared/src/theme.ts: relativeLuminance /
contrastRatio (WCAG 2.1), deriveAccentTokens(hex, mode) keeps hue and
saturation and binary-searches lightness until the accent clears 4.5:1
against the mode's bg, bg-subtle AND surface (a passing hex is kept
verbatim; accent-contrast follows by symmetry). THEME_PRESETS (pond
green = default), BASE_PALETTE as the canonical backgrounds. A sweep
test (36 hues x 3 saturations x 3 lightnesses x both modes) fences the
by-construction guarantee for arbitrary input.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QRtCnB3uLdQtFmvp9HXcRX
2026-07-29 08:59:27 +02:00
..
i18n #182: top-bar theme toggle — cycle light/dark/system without a menu 2026-07-29 08:43:42 +02:00
src #184: shared accent engine — WCAG-conforming tokens by construction 2026-07-29 08:59:27 +02:00
package.json Nextcloud backup target: admin-configured, manual + scheduled uploads, in-app restore (#103) 2026-07-12 10:39:18 +02:00
tsconfig.json Scaffold pnpm monorepo with lint, format, and test tooling 2026-07-04 19:06:27 +02:00