Tendoo Design

Colors

Define the color palette, semantic roles, and theming structure that power the Tendoo Design System.

Colors

Color is a core component of the Tendoo visual language. It conveys meaning, establishes visual hierarchy, enhances usability, and strengthens brand recognition. Our system employs a flexible palette structure, powered by semantic roles and design tokens, to ensure consistency across both light and dark themes.

Palette Structure

The color system is divided into:

  • Brand colors — Primary colors that define Tendoo’s visual identity.
  • Neutral colors — Grayscale shades for surfaces, text, and borders.
  • Semantic colors — Used to convey status or intent (e.g. success, warning, error).
  • Accent colors — Optional colors used to highlight or differentiate UI elements.

Semantic Colors

RoleTokenExample Usage
Primarycolor.primaryButtons, links, active states
Secondarycolor.secondarySecondary actions
Successcolor.successConfirmation messages
Warningcolor.warningAlerts, attention states
Errorcolor.errorError states, validation
Infocolor.infoInformational messages

💡 Use semantic tokens instead of hard-coded colors to maintain flexibility and theme support.

Example Tokens

// color.tokens.ts
export const color = {
  primary: "#2563eb",
  secondary: "#64748b",
  success: "#22c55e",
  warning: "#facc15",
  error: "#ef4444",
  info: "#0ea5e9",
  neutral: {
    50: "#f9fafb",
    100: "#f3f4f6",
    200: "#e5e7eb",
    300: "#d1d5db",
    400: "#9ca3af",
    500: "#6b7280",
    600: "#4b5563",
    700: "#374151",
    800: "#1f2937",
    900: "#111827",
  },
};

Theming Support

Tendoo supports both light and dark themes using the same token system. Themes dynamically switch token values depending on the active mode.

/* CSS custom properties for light theme */
:root {
  --color-bg: #ffffff;
  --color-text: #111827;
  --color-primary: #2563eb;
}

/* CSS custom properties for dark theme */
[data-theme="dark"] {
  --color-bg: #0f172a;
  --color-text: #f8fafc;
  --color-primary: #3b82f6;
}

Usage Guidelines

  • Use semantic tokens (color.primary, color.error, etc.) in both design tools and code.
  • Maintain appropriate contrast ratios (WCAG AA or higher) for text and critical UI elements.
  • Avoid relying solely on color to convey meaning (e.g., pair error states with icons or text).

Resources


Color is more than decoration — it’s a system of meaning. Stick to the tokens and palette roles to ensure consistency, accessibility, and scalability across Tendoo interfaces.