Generate feedback colors (success, warning, error, and info) for shadcn/ui

Go to generator

10000+Themes for shadcn/ui

Mayonnaise for shadcn/ui

Mayonnaise is a shadcn/ui theme built around a muted green primary color (#58745d) with muted purple accents (#74586f). The light mode uses a neutral background (#fcfdfc). Dark mode keeps the muted green primary (#58745d) on a neutral background (#030804).

Color palette

TokenLightDark
Background
#fcfdfcwhite
#030804black
Foreground
#051508black
#f5faf6whitesmoke
Card
#fcfdfcwhite
#030804black
Card foreground
#051508black
#f5faf6whitesmoke
Popover
#fcfdfcwhite
#030804black
Popover foreground
#051508black
#f5faf6whitesmoke
Primary
#58745ddimgray
#58745ddimgray
Primary foreground
#ffffffwhite
#ffffffwhite
Secondary
#74586fdimgray
#74586fdimgray
Secondary foreground
#ffffffwhite
#ffffffwhite
Muted
#ead1e6gainsboro
#2e1529black
Muted foreground
#544050darkslategray
#bfabbbsilver
Accent
#74586fdimgray
#74586fdimgray
Accent foreground
#ffffffwhite
#ffffffwhite
Destructive
#d60e00red
#ff3c2etomato
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#58745ddimgray
#58745ddimgray

Contrast

WCAG 2 contrast ratios between each background and its foreground color.

Light mode
Text on background18.45:1AAA
Text on card18.45:1AAA
Primary button5.14:1AA
Secondary button6.24:1AA
Muted text6.64:1AA
Accent6.24:1AA
Destructive5.34:1AA
Dark mode
Text on background19.16:1AAA
Text on card19.16:1AAA
Primary button5.14:1AA
Secondary button6.24:1AA
Muted text7.79:1AAA
Accent6.24:1AA
Destructive3.53:1AA Large

CSS variables

Paste this into your globals.css to use Mayonnaise in your shadcn/ui project.

:root {
  --radius: 0.5rem;
  --background: oklch(0.993 0.003 151.367);
  --foreground: oklch(0.175 0.035 148.998);
  --muted: oklch(0.888 0.039 332.016);
  --muted-foreground: oklch(0.399 0.036 332.639);
  --popover: oklch(0.993 0.003 151.367);
  --popover-foreground: oklch(0.175 0.035 148.998);
  --card: oklch(0.993 0.003 151.367);
  --card-foreground: oklch(0.175 0.035 148.998);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.531 0.049 149.983);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.497 0.051 332.79);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.497 0.051 332.79);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.554 0.223 29.905);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.531 0.049 149.983);
  --chart-1: oklch(0.531 0.049 149.983);
  --chart-2: oklch(0.497 0.051 332.79);
  --chart-3: oklch(0.497 0.051 332.79);
  --chart-4: oklch(0.523 0.054 332.802);
  --chart-5: oklch(0.536 0.059 149.679);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.122 0.018 150.61);
  --foreground: oklch(0.98 0.008 151.296);
  --muted: oklch(0.239 0.053 334.282);
  --muted-foreground: oklch(0.764 0.031 331.97);
  --popover: oklch(0.122 0.018 150.61);
  --popover-foreground: oklch(0.98 0.008 151.296);
  --card: oklch(0.122 0.018 150.61);
  --card-foreground: oklch(0.98 0.008 151.296);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.531 0.049 149.983);
  --primary-foreground: oklch(1 0 180);
  --secondary: oklch(0.497 0.051 332.79);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.497 0.051 332.79);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.655 0.232 29.172);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.531 0.049 149.983);
  --chart-1: oklch(0.531 0.049 149.983);
  --chart-2: oklch(0.497 0.051 332.79);
  --chart-3: oklch(0.497 0.051 332.79);
  --chart-4: oklch(0.523 0.054 332.802);
  --chart-5: oklch(0.536 0.059 149.679);
}