Color Tokens

Complete showcase of all 65+ color tokens in @duskmoon-dev/core

Color Tokens

@duskmoon-dev/core provides 65+ color tokens based on Material Design 3’s dynamic color system. Each token is designed for specific UI purposes and maintains WCAG AA contrast compliance.

Color Token Categories

Primary Colors

The main brand color used for key UI elements like buttons, links, and active states.

primary—color-primary
primary-focus—color-primary-focus
primary-content—color-primary-content
primary-container—color-primary-container
on-primary-container—color-on-primary-container
/* Primary color tokens */
--color-primary              /* Main brand color */
--color-primary-focus        /* Hover/focus state */
--color-primary-content      /* Text on primary */
--color-primary-container    /* Light background variant */
--color-on-primary-container /* Text on container */

Secondary Colors

Complementary accent color for secondary actions and elements.

secondary—color-secondary
secondary-focus—color-secondary-focus
secondary-content—color-secondary-content
secondary-container—color-secondary-container
on-secondary-container—color-on-secondary-container
/* Secondary color tokens */
--color-secondary              /* Accent brand color */
--color-secondary-focus        /* Hover/focus state */
--color-secondary-content      /* Text on secondary */
--color-secondary-container    /* Light background variant */
--color-on-secondary-container /* Text on container */

Tertiary Colors

Third brand color unique to @duskmoon-dev/core for additional visual variety.

tertiary—color-tertiary
tertiary-focus—color-tertiary-focus
tertiary-content—color-tertiary-content
tertiary-container—color-tertiary-container
on-tertiary-container—color-on-tertiary-container
/* Tertiary color tokens */
--color-tertiary              /* Third brand color */
--color-tertiary-focus        /* Hover/focus state */
--color-tertiary-content      /* Text on tertiary */
--color-tertiary-container    /* Light background variant */
--color-on-tertiary-container /* Text on container */

Surface Colors

Background and surface colors with Material Design 3’s five-level elevation system.

surface—color-surface
surface-dim—color-surface-dim
surface-bright—color-surface-bright

Surface Container Elevation Levels

lowest—color-surface-container-lowest
low—color-surface-container-low
container—color-surface-container
high—color-surface-container-high
highest—color-surface-container-highest
/* Surface color tokens */
--color-surface                   /* Base surface */
--color-surface-dim               /* Dimmed surface */
--color-surface-bright            /* Bright surface */
--color-surface-container-lowest  /* Elevation level 0 */
--color-surface-container-low     /* Elevation level 1 */
--color-surface-container         /* Elevation level 2 (default) */
--color-surface-container-high    /* Elevation level 3 */
--color-surface-container-highest /* Elevation level 4 */
--color-on-surface                /* Primary text color */
--color-on-surface-variant        /* Secondary text color */
--color-surface-variant           /* Alternative surface */

Base Colors (Neutral Scale)

DaisyUI-compatible neutral color scale for general UI elements.

base-100—color-base-100
base-200—color-base-200
base-300—color-base-300
base-400—color-base-400
base-500—color-base-500
base-600—color-base-600
base-700—color-base-700
base-800—color-base-800
base-900—color-base-900
/* Base (neutral) color scale */
--color-base-100     /* Lightest neutral */
--color-base-200
--color-base-300
--color-base-400
--color-base-500
--color-base-600
--color-base-700
--color-base-800
--color-base-900     /* Darkest neutral */
--color-base-content /* Text on base colors */

Semantic Colors

Dedicated colors for specific UI states and feedback.

Info (Blue)

info—color-info
info-content—color-info-content
info-container—color-info-container
on-info-container—color-on-info-container

Success (Green)

success—color-success
success-content—color-success-content
success-container—color-success-container
on-success-container—color-on-success-container

Warning (Yellow)

warning—color-warning
warning-content—color-warning-content
warning-container—color-warning-container
on-warning-container—color-on-warning-container

Error (Red)

error—color-error
error-content—color-error-content
error-container—color-error-container
on-error-container—color-on-error-container
/* Semantic color tokens for each state */
--color-info               --color-info-content
--color-info-container     --color-on-info-container

--color-success            --color-success-content
--color-success-container  --color-on-success-container

--color-warning            --color-warning-content
--color-warning-container  --color-on-warning-container

--color-error              --color-error-content
--color-error-container    --color-on-error-container

Outline Colors

Border and divider colors.

outline—color-outline
outline-variant—color-outline-variant
/* Outline tokens */
--color-outline         /* Primary borders */
--color-outline-variant /* Subtle borders */

Using Color Tokens

Tailwind Utility Classes

<!-- Backgrounds -->
<div class="bg-primary">Primary background</div>
<div class="bg-surface-container">Elevated surface</div>

<!-- Text -->
<p class="text-primary">Primary colored text</p>
<p class="text-on-surface">Standard body text</p>
<p class="text-on-surface-variant">Secondary text</p>

<!-- Borders -->
<div class="border border-outline">Standard border</div>
<div class="border border-outline-variant">Subtle border</div>

CSS Custom Properties

.custom-element {
  background-color: hsl(var(--color-primary));
  color: hsl(var(--color-primary-content));
  border: 1px solid hsl(var(--color-outline));
}

/* With opacity */
.overlay {
  background-color: color-mix(in srgb, hsl(var(--color-surface)) 80%, transparent);
}

Opacity Variants

Apply opacity to any color:

<div class="bg-primary/50">50% opacity primary</div>
<div class="bg-primary/75">75% opacity primary</div>
<div class="text-primary/80">80% opacity text</div>

Color Token Count

CategoryToken Count
Primary5
Secondary5
Tertiary5
Surface11
Base10
Info4
Success4
Warning4
Error4
Outline2
Total54+

Additional tokens are generated for focus states, content variants, and theme-specific overrides, bringing the total to 65+ tokens.

Theme Comparison

Switch between themes to see how colors adapt:

Sunshine (Light)

Moonlight (Dark)