On this page:

Color

The Parity color system overrides TailwindCSS default colors to match brand identity and ensure a consistent user experience. Below are all system color tokens, grouped by category, with their values for both light and dark schemes.


Token Structure

Tokens follow the structure:

--{system}/{property}/{target}/{variant}/{state}/{inversion}

Example:
--par-color-bg-surface-item-accent-pronounced-selected-hovered
→ system: par, property: color-bg, target: surface-item, variant: accent-pronounced, state: selected-hovered


Default Neutral & Accent Colors

RoleToken/ColorColor
Neutral--par-___-neutral-___gray
Accent--par-___-accent-___blue

Note: These are the main neutral and accent tokens used throughout the system. See the palette section for all available shades.


Background Tokens

Token NameLight ValueDark ValueDescription
--par-color-bgvar(--par-neutral-0)var(--par-neutral-950)Main background
--par-color-bg-alternativevar(--par-neutral-50)var(--par-neutral-900)Alternative background
--par-color-bg-surfacevar(--par-neutral-50)var(--par-neutral-900)Surface background
--par-color-bg-surface-inversevar(--par-neutral-950)var(--par-neutral-0)Inverse surface background
--par-color-bg-surface-alternativevar(--par-neutral-0)var(--par-neutral-800)Alternative surface background
--par-color-bg-surface-indicator-neutralvar(--par-neutral-500)var(--par-neutral-500)Neutral indicator background
--par-color-bg-surface-indicator-accentvar(--par-accent-500)var(--par-accent-500)Accent indicator background
--par-color-bg-surface-item-enabledtransparenttransparentEnabled item background
--par-color-bg-surface-item-hoveredrgb(from var(--par-neutral-200) r g b / 0.5)rgb(from var(--par-neutral-700) r g b / 0.5)Hovered item background
--par-color-bg-surface-item-neutral-subtle-selectedvar(--par-neutral-200)rgb(from var(--par-neutral-200) r g b / 0.5)Subtle selected neutral item
--par-color-bg-surface-item-neutral-subtle-selected-hoveredvar(--par-neutral-300)rgb(from var(--par-neutral-300) r g b / 0.5)Subtle selected neutral hovered
--par-color-bg-surface-item-neutral-pronounced-selectedvar(--par-neutral-900)var(--par-neutral-100)Pronounced selected neutral item
--par-color-bg-surface-item-neutral-pronounced-selected-hoveredvar(--par-neutral-800)var(--par-neutral-200)Pronounced selected neutral hovered
--par-color-bg-surface-item-accent-subtle-selectedvar(--par-accent-100)rgb(from var(--par-neutral-200) r g b / 0.5)Subtle selected accent item
--par-color-bg-surface-item-accent-subtle-selected-hoveredvar(--par-accent-200)rgb(from var(--par-neutral-300) r g b / 0.5)Subtle selected accent hovered
--par-color-bg-surface-item-accent-pronounced-selectedvar(--par-accent-600)var(--par-accent-600)Pronounced selected accent item
--par-color-bg-surface-item-accent-pronounced-selected-hoveredvar(--par-accent-700)var(--par-accent-700)Pronounced selected accent hovered
--par-color-bg-field-enabledvar(--par-neutral-50)var(--par-neutral-900)Enabled field background
--par-color-bg-field-alternative-enabledvar(--par-neutral-0)var(--par-neutral-800)Alternative enabled field bg
--par-color-bg-field-hoveredvar(--par-neutral-100)var(--par-neutral-800)Hovered field background
--par-color-bg-field-alternative-hoveredvar(--par-neutral-100)var(--par-neutral-700)Alternative hovered field bg
--par-color-bg-field-disabledrgb(from var(--par-neutral-50) r g b / 0.5)rgb(from var(--par-neutral-900) r g b / 0.5)Disabled field background
--par-color-bg-field-alternative-disabledrgb(from var(--par-neutral-0) r g b / 0.5)rgb(from var(--par-neutral-800) r g b / 0.5)Alt disabled field background
--par-color-bg-field-readonlyvar(--par-neutral-100)var(--par-neutral-800)Readonly field background
--par-color-bg-field-invalidvar(--par-adverse-50)var(--par-adverse-900)Invalid field background
--par-color-bg-field-button-enabledtransparenttransparentEnabled field button background
--par-color-bg-field-button-hoveredrgb(from var(--par-neutral-200) r g b / 0.5)rgb(from var(--par-neutral-700) r g b / 0.5)Hovered field button background
--par-color-bg-field-button-pressedrgb(from var(--par-neutral-300) r g b / 0.5)rgb(from var(--par-neutral-600) r g b / 0.5)Pressed field button background
--par-color-bg-field-button-disabledtransparenttransparentDisabled field button background

Border Tokens

TokenLight ValueDark ValueDescription
--par-color-focus-ringvar(--par-neutral-950)var(--par-neutral-0)Focus ring
--par-color-border-surfacevar(--par-neutral-200)var(--par-neutral-700)Surface border
--par-color-border-surface-inversevar(--par-neutral-700)var(--par-neutral-200)Inverse surface border
--par-color-border-field-enabledvar(--par-neutral-200)var(--par-neutral-700)Enabled field border
--par-color-border-field-alpha-enabledvar(--par-neutral-200-a50)var(--par-neutral-700-a50)Alpha enabled field border
--par-color-border-field-hoveredvar(--par-neutral-300)var(--par-neutral-600)Hovered field border
--par-color-border-field-readonlyvar(--par-neutral-200)var(--par-neutral-700)Readonly field border
--par-color-border-field-invalidvar(--par-adverse-500)var(--par-adverse-100)Invalid field border
--par-color-border-field-disabledvar(--par-neutral-200-a50)var(--par-neutral-700-a50)Disabled field border
--par-color-border-field-focusedvar(--par-neutral-950)var(--par-neutral-0)Focused field border
--par-outlined-surface-item-focusedvar(--par-neutral-950)var(--par-neutral-0)Outlined surface focus

Text & Icon Tokens

TokenLight ValueDark ValueDescription
--par-color-text-primaryvar(--par-gray-950)var(--par-white)Primary text
--par-color-text-primary-disabledrgb(from var(--par-gray-950) r g b / 0.5)rgb(from var(--par-white) r g b / 0.5)Disabled primary text
--par-color-text-primary-inversevar(--par-white)var(--par-gray-950)Inverse primary text
--par-color-text-secondaryvar(--par-gray-700)var(--par-gray-200)Secondary text
--par-color-text-secondary-inversevar(--par-gray-200)var(--par-gray-700)Inverse secondary text
--par-color-text-helper-neutralvar(--par-gray-550)var(--par-gray-200)Neutral helper text
--par-color-text-helper-neutral-disabledrgb(from var(--par-gray-550) r g b / 0.5)rgb(from var(--par-gray-200) r g b / 0.5)Disabled neutral helper text
--par-color-text-helper-adversevar(--par-red-550)var(--par-red-200)Adverse helper text
--par-color-text-helper-cautionaryvar(--par-yellow-550)var(--par-yellow-200)Cautionary helper text
--par-color-text-helper-affirmativevar(--par-green-550)var(--par-green-200)Affirmative helper text
--par-color-text-helper-infovar(--par-blue-550)var(--par-blue-200)Info helper text
--par-color-text-surface-item-enabledvar(--par-color-text-primary)var(--par-color-text-primary)Enabled surface item text
--par-color-text-surface-item-neutral-subtle-selectedvar(--par-color-text-primary)var(--par-color-text-primary)Neutral subtle selected text
--par-color-text-surface-item-neutral-pronounced-selectedvar(--par-white)var(--par-gray-950)Neutral pronounced selected
--par-color-text-surface-item-accent-subtle-selectedvar(--par-color-text-primary)var(--par-accent-200)Accent subtle selected text
--par-color-text-surface-item-accent-pronounced-selectedvar(--par-white)var(--par-white)Accent pronounced selected
--par-color-text-surface-item-disabledvar(--par-color-text-primary-disabled)var(--par-color-text-primary-disabled)Disabled surface item text
--par-color-text-field-placeholdervar(--par-gray-600)var(--par-gray-200)Field placeholder text
--par-color-text-field-alpha-placeholderrgb(from var(--par-gray-600) r g b / 0.5)rgb(from var(--par-gray-200) r g b / 0.5)Alpha placeholder text
--par-color-text-field-alternative-placeholdervar(--par-gray-550)var(--par-gray-200)Alt placeholder text
--par-color-text-field-filledvar(--par-color-text-primary)var(--par-color-text-primary)Filled field text
--par-color-text-field-labelvar(--par-color-text-secondary)var(--par-color-text-secondary)Field label text
--par-color-text-field-disabledrgb(from var(--par-color-text-field-placeholder) r g b / 0.5)rgb(from var(--par-color-text-field-placeholder) r g b / 0.5)Disabled field text
--par-color-text-field-readonlyvar(--par-color-text-primary)var(--par-color-text-primary)Readonly field text
--par-color-text-field-invalidvar(--par-color-text-primary)var(--par-color-text-primary)Invalid field text
--par-color-text-buttonvar(--par-gray-550)var(--par-gray-200)Button text
--par-color-icon-field-button-enabledvar(--par-gray-500)var(--par-gray-200)Enabled field button icon
--par-color-icon-field-button-hoveredvar(--par-gray-600)var(--par-gray-100)Hovered field button icon
--par-color-icon-field-button-pressedvar(--par-gray-700)var(--par-gray-100)Pressed field button icon
--par-color-icon-field-button-disabledrgb(from var(--par-gray-500) r g b / 0.5)rgb(from var(--par-gray-200) r g b / 0.5)Disabled field button icon

Effect Tokens

TokenLight ValueDark ValueDescription
--par-color-ring-visible-focusedvar(--par-gray-950)var(--par-white)Focus ring outline
--par-color-effect-shadowrgba(0,0,0,0.1)rgba(255,255,255,0.1)Shadow effect

Palette (Core Colors)

Below is the full palette used for overrides (see colorPalette.ts):

NameTokens (Light)
gray--par-gray-0, --par-gray-50, --par-gray-100, --par-gray-200, --par-gray-300, --par-gray-400, --par-gray-500, --par-gray-550, --par-gray-600, --par-gray-700, --par-gray-800, --par-gray-900, --par-gray-950
orange--par-orange-0, --par-orange-50, --par-orange-100, --par-orange-200, --par-orange-300, --par-orange-400, --par-orange-500, --par-orange-600, --par-orange-700, --par-orange-800, --par-orange-900, --par-orange-950
blue--par-blue-0, --par-blue-50, --par-blue-100, --par-blue-200, --par-blue-300, --par-blue-400, --par-blue-500, --par-blue-600, --par-blue-700, --par-blue-800, --par-blue-900, --par-blue-950
lime--par-lime-0, --par-lime-50, --par-lime-100, --par-lime-200, --par-lime-300, --par-lime-400, --par-lime-500, --par-lime-600, --par-lime-700, --par-lime-800, --par-lime-900, --par-lime-950
violet--par-violet-0, --par-violet-50, --par-violet-100, --par-violet-200, --par-violet-300, --par-violet-400, --par-violet-500, --par-violet-600, --par-violet-700, --par-violet-800, --par-violet-900, --par-violet-950
cyan--par-cyan-0, --par-cyan-50, --par-cyan-100, --par-cyan-200, --par-cyan-300, --par-cyan-400, --par-cyan-500, --par-cyan-600, --par-cyan-700, --par-cyan-800, --par-cyan-900, --par-cyan-950
red--par-red-0, --par-red-50, --par-red-100, --par-red-200, --par-red-300, --par-red-400, --par-red-500, --par-red-600, --par-red-700, --par-red-800, --par-red-900, --par-red-950
yellow--par-yellow-0, --par-yellow-50, --par-yellow-100, --par-yellow-200, --par-yellow-300, --par-yellow-400, --par-yellow-500, --par-yellow-600, --par-yellow-700, --par-yellow-800, --par-yellow-900, --par-yellow-950
green--par-green-0, --par-green-50, --par-green-100, --par-green-200, --par-green-300, --par-green-400, --par-green-500, --par-green-600, --par-green-700, --par-green-800, --par-green-900, --par-green-950

References


Usage Example

<div
  style={{
    background: 'var(--par-color-bg)',
    color: 'var(--par-color-text-primary)',
    border: '1px solid var(--par-color-border-surface)'
  }}
>
  Example text with system colors
</div>