mirror of
https://github.com/supabase/supabase.git
synced 2026-10-09 19:35:06 +03:00
## What kind of change does this PR introduce? Bug fix ## What is the current behavior? After the colour system migration, `Badge` success and warning variants use semantic `text-brand` / `text-warning` (and soft `border-brand` / `border-warning` tokens). In light mode those fills sit around mid–high lightness, so the badges look flat and the text is hard to read. Call sites that never migrated — e.g. Compute badges (`SMALL`) and table constraint tokens (`PRIMARY`) — still use the darker scale tokens and look fine. ## What is the new behavior? Success and warning badges again use the darker scale tokens, matching those working call sites: - success: `text-brand-600` + `border-brand-500` - warning: `text-warning-600` + `border-warning-500` | Before | After | | --- | --- | | <img width="791" height="288" alt="Tables Database Chisel Toolshed Supabase" src="https://github.com/user-attachments/assets/99659555-bf78-42d7-af93-415cdc8e858c" /> | <img width="791" height="288" alt="82859" src="https://github.com/user-attachments/assets/368d4a8e-d7cf-4bf6-b896-89f29eca982d" /> | ## To test On the staging preview in **light mode**: - Any `Badge variant="success"` — e.g. “New”, “Enabled”, “Healthy”, branch badges - Any `Badge variant="warning"` — e.g. beta / warning status badges - Compare with Compute size badges and Database → Tables → Columns → Constraints (`PRIMARY`) — contrast should now feel similar Spot-check **dark mode** to confirm badges still look correct. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Updated warning and success badges with refined text and border colors for improved visual consistency. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
packages/ui
Supabase's shared React component library. Built on Radix UI primitives and shadcn/ui, styled with Tailwind CSS, and used across all Supabase apps.
Usage
Import from the 'ui' package alias:
import { Badge, Button, Input } from 'ui'
Some of the components have the _Shadcn_ suffix. These components should be preferred, they're in a process of replacing the other ones.
Utilities
// deep object merge (used for themes)
import { clipboard, cn, mergeDeep } from 'ui' // clsx + tailwind-merge
// copy-to-clipboard helper
Styling conventions
- Tailwind only — no inline styles or CSS modules.
- Use shadcn semantic pairs (
bg-card text-card-foreground,bg-muted text-muted-foreground,bg-tertiary text-tertiary-foreground) rather than hardcoded colors. Legacy utilities such astext-foreground-lightandborder-defaultare compatibility aliases only. - Themes set the core
--hue(or the split--surface-hue/--primary-hue),--chroma,--surface,--foreground-lightness, and--contrastinputs, plus their--muted-foreground-leveland--tertiary-foreground-levelhierarchy. Semantic colors are derived from them in OKLCH;--contrast: 1is the baseline and the supported adjustment range is0.75to1.25. - The workspace root owns the actual
tailwind.config.js. The file in this package is a stub for IntelliSense only.