1.2.4 • Published 10 months ago

uicolors-generator v1.2.4

Weekly downloads
-
License
-
Repository
github
Last release
10 months ago

🎨 uicolors-generator

Generate a Tailwind CSS palette from a single color

Install

pnpm add uicolors-generator chroma-js

pnpm add -D @types/chroma-js

Usage

import { getTailwindColors, getTailwindHsl } from "uicolors-generator";

// Default usage
const palette = getTailwindColors("#ff4f00");

console.log(palette);
// {
//   50: "32deg 100% 96%",
//   100: "34deg 100% 91%",
//   200: "31deg 100% 82%",
//   300: "30deg 100% 71%",
//   400: "26deg 100% 60%",
//   500: "23deg 100% 52%",
//   600: "19deg 100% 50%",
//   700: "15deg 98% 40%",
//   800: "13deg 87% 34%",
//   900: "13deg 83% 28%",
//   950: "11deg 89% 15%",
// }

// Passing `asHex: true` will return a hex palette
const hexPalette = getTailwindColors("#ff4f00", {
  asHex: true,
});

console.log(hexPalette);
// {
//   50: "#fff6ec",
//   100: "#ffecd3",
//   200: "#ffd4a5",
//   300: "#ffb56d",
//   400: "#ff8a32",
//   500: "#ff690a",
//   600: "#ff4f00",
//   700: "#cc3602",
//   800: "#a12b0b",
//   900: "#82260c",
//   950: "#461004",
// }

// Passing `includeDefault: true` will include the default
// color in the palette
const paletteWithDefault = getTailwindColors("#ff4f00", {
  includeDefault: true,
});

console.log(paletteWithDefault);
// {
//   50: "32deg 100% 96%",
//   100: "34deg 100% 91%",
//   200: "31deg 100% 82%",
//   300: "30deg 100% 71%",
//   400: "26deg 100% 60%",
//   500: "23deg 100% 52%",
//   600: "19deg 100% 50%",
//   700: "15deg 98% 40%",
//   800: "13deg 87% 34%",
//   900: "13deg 83% 28%",
//   950: "11deg 89% 15%",
//   DEFAULT: "19deg 100% 50%",
// }

// Passing `blackColor` and `whiteColor` will use those
// colors instead of the default black and white
const paletteWithBW = getTailwindColors("#ff4f00", {
  blackColor: "#27272a",
  whiteColor: "#fafafa",
});

console.log(paletteWithBW);
// {
//   50: "32deg 100% 96%",
//   100: "34deg 100% 91%",
//   200: "31deg 100% 82%",
//   300: "30deg 100% 71%",
//   400: "26deg 100% 60%",
//   500: "23deg 100% 52%",
//   600: "19deg 100% 50%",
//   700: "15deg 98% 40%",
//   800: "13deg 87% 34%",
//   900: "13deg 83% 28%",
//   950: "11deg 89% 15%",
//   black: "240deg 4% 16%",
//   white: "0deg 0% 98%",
// }

// If you just need the HSL channels for a single color...
const hsl = getTailwindHsl("#ff4f00");

console.log(hsl);
// "19deg 100% 50%"

Tailwind config

You can use the getTailwindColors function to generate a palette and then use it in your Tailwind config.

// tailwind.config.ts
import { getTailwindColors } from "uicolors-generator";

export default {
  theme: {
    extend: {
      colors: {
        steel: getTailwindColors("#232425", { includeDefault: true }),
        badass: getTailwindColors("#bada55", { includeDefault: true }),
      },
    },
  },
};

Then in your code, you can use your palette and shades like so:

// your-project/pages/index.tsx
export default function HelloWorld() {
  return (
    <div className="bg-steel-800">
      <h1 className="text-badass">Hello World</h1>
      <p className="text-badass-300">Your palette at your fingertips.</p>
    </div>
  );
}
1.2.4

10 months ago

1.2.3

10 months ago

1.2.2

10 months ago

1.2.1

10 months ago

1.2.0

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago