---
title: Color System
description: Versatile color palette and themable colors ready for your next project.
breadcrumbs:
  - Theming
---

Our color system is divided into three categories:

- **Tailwind CSS Defaults**: The default colors provided by Tailwind CSS.
- **Wedges Palette**: A set of core colors that are consistent across all themes.
- **Themable Colors**: Configurable colors that adapt and change based on the active theme.

### Wedges Palette

When using the Wedges color palette, you need to prefix color names with `wg-`, for example: `bg-wg-gray-500`. The default Tailwind CSS colors are available without the prefix.

<Colors title="Gray">
  <Colors.Color className="bg-wg-gray-50" title="50" hex="#F7F7F8" />
  <Colors.Color className="bg-wg-gray-100" title="100" hex="#EBEBEF" />
  <Colors.Color className="bg-wg-gray-200" title="200" hex="#D1D1DB" />
  <Colors.Color className="bg-wg-gray-300" title="300" hex="#A9A9BC" />
  <Colors.Color className="bg-wg-gray-400" title="400" hex="#8A8AA3" />
  <Colors.Color className="bg-wg-gray-500" title="500*" hex="#6C6C89" />
  <Colors.Color className="bg-wg-gray-600" title="600" hex="#55556D" />
  <Colors.Color className="bg-wg-gray-700" title="700" hex="#3F3F50" />
  <Colors.Color className="bg-wg-gray-800" title="800" hex="#282833" />
  <Colors.Color className="bg-wg-gray-900" title="900" hex="#121217" />
</Colors>

<Colors title="Yellow">
  <Colors.Color className="bg-wg-yellow-50" title="50" hex="#FFF9EB" />
  <Colors.Color className="bg-wg-yellow-100" title="100" hex="#FFF3D6" />
  <Colors.Color className="bg-wg-yellow-200" title="200" hex="#FFE7AD" />
  <Colors.Color className="bg-wg-yellow-300" title="300" hex="#FFDA85" />
  <Colors.Color className="bg-wg-yellow-400" title="400" hex="#FFCE5C" />
  <Colors.Color className="bg-wg-yellow-500" title="500*" hex="#FFC233" />
  <Colors.Color className="bg-wg-yellow-600" title="600" hex="#FAAF00" />
  <Colors.Color className="bg-wg-yellow-700" title="700" hex="#C28800" />
  <Colors.Color className="bg-wg-yellow-800" title="800" hex="#8A6100" />
  <Colors.Color className="bg-wg-yellow-900" title="900" hex="#523900" />
</Colors>

<Colors title="Green">
  <Colors.Color className="bg-wg-green-50" title="50" hex="#EEFBF4" />
  <Colors.Color className="bg-wg-green-100" title="100" hex="#DFF8EA" />
  <Colors.Color className="bg-wg-green-200" title="200" hex="#B2EECC" />
  <Colors.Color className="bg-wg-green-300" title="300" hex="#84E4AE" />
  <Colors.Color className="bg-wg-green-400" title="400" hex="#56D990" />
  <Colors.Color className="bg-wg-green-500" title="500*" hex="#2DCA72" />
  <Colors.Color className="bg-wg-green-600" title="600" hex="#26A95F" />
  <Colors.Color className="bg-wg-green-700" title="700" hex="#1E874C" />
  <Colors.Color className="bg-wg-green-800" title="800" hex="#17663A" />
  <Colors.Color className="bg-wg-green-900" title="900" hex="#0F4527" />
</Colors>

<Colors title="Blue">
  <Colors.Color className="bg-wg-blue-50" title="50" hex="#F0FAFF" />
  <Colors.Color className="bg-wg-blue-100" title="100" hex="#DBF3FF" />
  <Colors.Color className="bg-wg-blue-200" title="200" hex="#ADE4FF" />
  <Colors.Color className="bg-wg-blue-300" title="300" hex="#70D1FF" />
  <Colors.Color className="bg-wg-blue-400" title="400" hex="#38BEFF" />
  <Colors.Color className="bg-wg-blue-500" title="500*" hex="#00ACFF" />
  <Colors.Color className="bg-wg-blue-600" title="600" hex="#0090D6" />
  <Colors.Color className="bg-wg-blue-700" title="700" hex="#0075AD" />
  <Colors.Color className="bg-wg-blue-800" title="800" hex="#005985" />
  <Colors.Color className="bg-wg-blue-900" title="900" hex="#003E5C" />
</Colors>

<Colors title="Purple">
  <Colors.Color className="bg-wg-purple-50" title="50" hex="#F4F1FD" />
  <Colors.Color className="bg-wg-purple-100" title="100" hex="#E2DAFB" />
  <Colors.Color className="bg-wg-purple-200" title="200" hex="#C6B6F7" />
  <Colors.Color className="bg-wg-purple-300" title="300" hex="#A991F3" />
  <Colors.Color className="bg-wg-purple-400" title="400" hex="#8D6CEF" />
  <Colors.Color className="bg-wg-purple-500" title="500*" hex="#7047EB" />
  <Colors.Color className="bg-wg-purple-600" title="600" hex="#5423E7" />
  <Colors.Color className="bg-wg-purple-700" title="700" hex="#4316CA" />
  <Colors.Color className="bg-wg-purple-800" title="800" hex="#3712A5" />
  <Colors.Color className="bg-wg-purple-900" title="900" hex="#2B0E81" />
</Colors>

<Colors title="Orange">
  <Colors.Color className="bg-wg-orange-50" title="50" hex="#FFF2EE" />
  <Colors.Color className="bg-wg-orange-100" title="100" hex="#FFE8E1" />
  <Colors.Color className="bg-wg-orange-200" title="200" hex="#FFCDBD" />
  <Colors.Color className="bg-wg-orange-300" title="300" hex="#FFB399" />
  <Colors.Color className="bg-wg-orange-400" title="400" hex="#FF9876" />
  <Colors.Color className="bg-wg-orange-500" title="500*" hex="#FF7D52" />
  <Colors.Color className="bg-wg-orange-600" title="600" hex="#FF571F" />
  <Colors.Color className="bg-wg-orange-700" title="700" hex="#EB3A00" />
  <Colors.Color className="bg-wg-orange-800" title="800" hex="#B82E00" />
  <Colors.Color className="bg-wg-orange-900" title="900" hex="#852100" />
</Colors>

<Colors title="Red">
  <Colors.Color className="bg-wg-red-50" title="50" hex="#FEF0F4" />
  <Colors.Color className="bg-wg-red-100" title="100" hex="#FDD8E1" />
  <Colors.Color className="bg-wg-red-200" title="200" hex="#FBB1C4" />
  <Colors.Color className="bg-wg-red-300" title="300" hex="#F98BA6" />
  <Colors.Color className="bg-wg-red-400" title="400" hex="#F76489" />
  <Colors.Color className="bg-wg-red-500" title="500*" hex="#F53D6B" />
  <Colors.Color className="bg-wg-red-600" title="600" hex="#F3164E" />
  <Colors.Color className="bg-wg-red-700" title="700" hex="#D50B3E" />
  <Colors.Color className="bg-wg-red-800" title="800" hex="#AF0932" />
  <Colors.Color className="bg-wg-red-900" title="900" hex="#880727" />
</Colors>

<Colors title="Pink">
  <Colors.Color className="bg-wg-pink-50" title="50" hex="#FEECFB" />
  <Colors.Color className="bg-wg-pink-100" title="100" hex="#FDDDF8" />
  <Colors.Color className="bg-wg-pink-200" title="200" hex="#FCC5F3" />
  <Colors.Color className="bg-wg-pink-300" title="300" hex="#FA99EA" />
  <Colors.Color className="bg-wg-pink-400" title="400" hex="#F87CE4" />
  <Colors.Color className="bg-wg-pink-500" title="500*" hex="#F75FDE" />
  <Colors.Color className="bg-wg-pink-600" title="600" hex="#F42AD3" />
  <Colors.Color className="bg-wg-pink-700" title="700" hex="#DB0BB9" />
  <Colors.Color className="bg-wg-pink-800" title="800" hex="#A5088C" />
  <Colors.Color className="bg-wg-pink-900" title="900" hex="#70065F" />
</Colors>

#### Example

```tsx showLineNumbers
<div class="bg-yellow-400">Easy</div> // Tailwind color
<div class="bg-wg-yellow-400">Peasy</div> // Wedges color
<div class="bg-wg-yellow">Lemon Squeezy</div> // uses yellow.DEFAULT color
```

#### Color Scale

Similar to Tailwind CSS, the Wedges color palette utilizes a 10-step, graded color scale, along with a `DEFAULT` value. This default value is applied when no specific grade is provided through a class, such as in `bg-wg-blue`.

```tsx showLineNumbers
type ColorScale = {
  50: string;
  100: string;
  200: string;
  300: string;
  400: string;
  500: string;
  600: string;
  700: string;
  800: string;
  900: string;
  DEFAULT: string;
};
```

for example:

```tsx showLineNumbers
import type { ColorScale } from "@lemonsqueezy/wedges";

const wg_blue: ColorScale = {
  50: "#F0FAFF",
  100: "#DBF3FF",
  200: "#ADE4FF",
  300: "#70D1FF",
  400: "#38BEFF",
  500: "#00ACFF",
  600: "#0090D6",
  700: "#0075AD",
  800: "#005985",
  900: "#003E5C",
  DEFAULT: "#00ACFF",
};
```

#### Customization

These colors can be customized under the `colors` key in the `theme` section of your `tailwind.config.ts` file:

```tsx title="tailwind.config.ts" {6-9} showLineNumbers
const config: Config = {
  // ...
  theme: {
    extend: {
      colors: {
        "wg-red": {
          DEFAULT: "#ff0000",
          500: "#ff0000",
        },
      },
    },
  },
  //...
};

export default config;
```

### Themable Colors

Themable colors are configurable and can adapt with multiple themes. By default, themable colors will adapt to `dark` and `light` themes, but you can easily add more themes to your project.

The following themable colors are available:

<Colors className="grid-cols-3 gap-2.5 gap-y-6 md:grid-cols-6">
  <Colors.ColorThemable className="bg-background" title="Background" />
  <Colors.ColorThemable className="bg-foreground" title="Foreground" />
  <Colors.ColorThemable className="bg-primary" title="Primary" />
  <Colors.ColorThemable className="bg-secondary" title="Secondary" />
  <Colors.ColorThemable className="bg-destructive" title="Destructive" />
  <Colors.ColorThemable className="bg-surface" title="Surface" />
</Colors>

By default, `background` and `foreground` colors are applied to the `<html>` element.

#### Example

Toggle between light and dark mode to preview each theme.

<PreviewComponent name="colors/themableColors" />

#### Color Scale

Themable color scale is more flexible than Wedges Palette color scale, it is defined like this:

```tsx showLineNumbers
type ThemableColorScale = Partial<ColorScale> | string;

type ThemableColors = {
  background: string;
  foreground: string;
  primary: ThemableColorScale;
  secondary: ThemableColorScale;
  surface: ThemableColorScale;
  destructive: ThemableColorScale;
};
```

This structure allows for a wide range of customization options, adapting to various design needs.

#### Default Values

The default themable colors are defined as follows:

```tsx showLineNumbers
const themableColorsLight: ThemableColors = {
  background: "#FFFFFF",
  foreground: palette.gray[900],
  primary: {
    ...palette["purple"], // `palette` is the Wedges Palette
    DEFAULT: palette["purple"][500],
  },
  secondary: {
    ...palette["gray"],
    DEFAULT: palette["gray"][900],
  },
  surface: {
    ...palette["gray"],
    DEFAULT: palette["gray"][50],
  },
  destructive: {
    ...palette["red"],
  },
};

const themableColorsDark: ThemableColors = {
  background: palette.gray[900],
  foreground: "#FFFFFF",
  primary: {
    ...palette["purple"],
    DEFAULT: palette["purple"][400],
    600: palette["purple"][500],
  },
  secondary: {
    ...palette["white"],
    900: palette["gray"][900],
    DEFAULT: palette["white"][900],
  },
  surface: {
    50: "rgba(255,255,255, 0.1)",
    100: "rgba(255,255,255, 0.2)",
    200: "rgba(255,255,255, 0.3)",
    300: "rgba(255,255,255, 0.4)",
    400: "rgba(255,255,255, 0.5)",
    500: "rgba(255,255,255, 0.5)",
    600: "rgba(255,255,255, 0.7)",
    700: "rgba(255,255,255, 0.8)",
    800: "rgba(255,255,255, 0.9)",
    900: "#FFFFFF",
    DEFAULT: "rgba(255,255,255, 0.1)",
  },
  destructive: palette["red"],
};
```

#### Customization

For optimal results, we suggest creating a ten-step graded color scale for your custom colors. You may find these online tools helpful in generating custom color scales: <a href="https://palettte.app/" target="_blank" rel="noreferrer nofollow">Palettte</a> and <a href="https://colors.eva.design/" target="_blank" rel="noreferrer nofollow">Eva Design System</a>.

Themable colors can be customized by adding options to the `wedgesTW` plugin in your `tailwind.config.ts` file. For instance, to use yellow as the primary color for **dark theme only**, you can set it like this:"

```tsx {} title="tailwind.config.ts" showLineNumbers
import { wedgesTW } from "@lemonsqueezy/wedges";
import type { Config } from "tailwindcss";

const config: Config = {
  // Other Tailwind CSS options...
  plugins: [
    wedgesTW({
      themes: {
        dark: {
          colors: {
            primary: {
              50: "#FFF9EB",
              100: "#FFF3D6",
              200: "#FFE7AD",
              300: "#FFDA85",
              400: "#FFCE5C",
              500: "#FFC233",
              600: "#FAAF00",
              700: "#C28800",
              800: "#8A6100",
              900: "#523900",
              DEFAULT: "#FFC233",
            },
          },
        },
        light: {
          colors: {
            // Define colors for `light` theme here...
          },
        },
      },
    }),
  ],
};

export default config;
```

If you want to use one of the Wedges Color Palette colors, `wedgesPalette` can be imported from `@lemonsqueezy/wedges`, for example:

```tsx {11} title="tailwind.config.ts" showLineNumbers /wedgesPalette/
import { wedgesPalette, wedgesTW } from "@lemonsqueezy/wedges";
import type { Config } from "tailwindcss";

const config: Config = {
  // Other Tailwind CSS options...
  plugins: [
    wedgesTW({
      themes: {
        dark: {
          colors: {
            primary: wedgesPalette.yellow,
          },
        },
      },
    }),
  ],
};

export default config;
```

This will set all ten steps of the yellow color scale as the primary color for the dark theme.

<Alert variant="expanded" className="not-prose">
  Ensure that these changes are applied to the `wedgesTW` plugin options, rather than the `theme`
  section in your `tailwind.config.ts` file.
</Alert>
