1.0.0 • Published 6 months ago

@palettebro/tailwind-theme v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

@palettebro/tailwind-theme

A powerful Tailwind CSS plugin for managing color themes with OKLCH color space support.

Features

  • 🎨 Dynamic theme switching with CSS custom properties
  • 🌗 Built-in dark mode support
  • 🎯 Semantic color tokens (primary, secondary, accent, etc.)
  • 🔧 Utility classes for common design patterns
  • 🎭 Support for multiple themes
  • 📱 Automatic dark theme detection

Installation

pnpm add @palettebro/tailwind-theme

Usage

Define your themes:

// themes.ts
import type { Themes } from '@palettebro/theme-generator/types';
import { ThemeVariantEnum, StaticThemePresetEnum } from '@palettebro/theme-generator/types';

const themes = {
  light: {
    'color-scheme': 'light' as const,
    variant: ThemeVariantEnum.static,
    preset: StaticThemePresetEnum.tetrad,
    baseColors: {
      primary: '#8E55F7',
    },
  },
  dark: {
    'color-scheme': 'dark' as const,
    variant: ThemeVariantEnum.static,
    preset: StaticThemePresetEnum.tetrad,
    baseColors: {
      primary: '#8E55F7',
    },
  },
} satisfies Themes;

Add the plugin to your Tailwind config:

// tailwind.config.ts
import type { Config } from 'tailwindcss';
import { themes } from './themes';

const config: Config = {
    darkMode: 'class',
    content: [
        // ...your content configuration
    ],
    plugins: [
        require('@palettebro/tailwind-theme')({
            themes,
            utils: true,
            darkTheme: true,
        }),
    ],
};

export default config;

Configuration Options

OptionTypeDefaultDescription
themesThemesRequiredTheme configurations
utilsbooleanfalseEnable utility classes
darkThemebooleanfalseEnable automatic dark theme detection

Available Color Tokens

The plugin provides semantic color tokens that can be used in your Tailwind classes:

  • primary - Primary brand color
  • secondary - Secondary brand color
  • accent - Accent color
  • error - Error color

Each color token includes variants:

  • Default (e.g., bg-primary)
  • Content (e.g., text-primary-content)
  • Foreground (e.g., text-primary-foreground)
  • Container (e.g., bg-primary-container)
  • Light/Base/Dark (e.g., bg-primary-light)
  • Shades (50-900) (e.g., bg-primary-100)

And many more (TBD)

Utility Classes

When utils: true is enabled, the plugin provides additional utility classes.

Theme Switching

Themes can be switched using the data-theme attribute:

<div data-theme="light">Light theme content</div>
<div data-theme="dark">Dark theme content</div>

License

MIT

1.0.0

6 months ago

0.1.4

9 months ago

0.1.3

9 months ago

0.1.1

9 months ago

0.1.0

9 months ago

0.0.2

9 months ago