graphdb-workbench

Styling conventions

Design tokens — use --gw-*, never PrimeNG’s native --p-*

Our apps’ look comes from graphwise-styleguide, a Graphwise design system built on top of PrimeNG. It ships CSS custom properties prefixed --gw-*; light and dark switch by toggling the dark class on the root element (ThemeService in packages/api/src/services/theme/theme.service.ts). How the styleguide is loaded and linked locally is in theming.

PrimeNG’s own theme also defines variables — --p-text-muted-color, --p-content-border-color, and so on — plus older PrimeNG releases used bare names like --surface-border or --text-color-secondary. None of these exist in an app themed by the styleguide. The styleguide doesn’t define them, so a var(--p-..., fallback) or var(--surface-..., fallback) silently renders its hardcoded fallback forever, in both themes — it looks fine at a glance but is dead on arrival and never follows theme or dark-mode changes.

Writing styles