/**
 * Color modes + accent palettes for the theme engine.
 *
 * @countermeasure-platform/web-components/services/theme-engine
 */

import type { AccentId, AccentPalette, ColorMode, ColorModeMeta } from './types'

export const COLOR_MODES: Record<ColorMode, ColorModeMeta> = {
  dark: {
    id: 'dark',
    label: 'Dark',
    icon: 'Moon',
    swatch: ['#0b0f17', '#111827', '#161f31'],
    surfaceTint: '255, 255, 255',
  },
  light: {
    id: 'light',
    label: 'Light',
    icon: 'Sun',
    swatch: ['#ffffff', '#f4f5f8', '#e4e7ee'],
    surfaceTint: '15, 23, 42',
  },
  monokai: {
    id: 'monokai',
    label: 'Monokai',
    icon: 'Code2',
    swatch: ['#0a0a0a', '#1a1a1a', '#272822'],
    surfaceTint: '255, 255, 255',
  },
  glass: {
    id: 'glass',
    label: 'Glass',
    icon: 'Layers',
    swatch: ['#171a26', '#202435', '#2a2f44'],
    surfaceTint: '255, 255, 255',
  },
}

export const ACCENT_PALETTES: Record<AccentId, AccentPalette> = {
  orange: {
    id: 'orange',
    label: 'Orange',
    brand: '#ff7a00',
    hot: '#ff9233',
    soft: 'rgba(255,122,0,0.10)',
    rgb: '255,122,0',
  },
  cyan: {
    id: 'cyan',
    label: 'Cyan',
    brand: '#06b6d4',
    hot: '#22d3ee',
    soft: 'rgba(6,182,212,0.10)',
    rgb: '6,182,212',
  },
  violet: {
    id: 'violet',
    label: 'Violet',
    brand: '#8b5cf6',
    hot: '#a78bfa',
    soft: 'rgba(139,92,246,0.10)',
    rgb: '139,92,246',
  },
  rose: {
    id: 'rose',
    label: 'Rose',
    brand: '#ef4444',
    hot: '#f87171',
    soft: 'rgba(239,68,68,0.10)',
    rgb: '239,68,68',
  },
  emerald: {
    id: 'emerald',
    label: 'Emerald',
    brand: '#10b981',
    hot: '#34d399',
    soft: 'rgba(16,185,129,0.10)',
    rgb: '16,185,129',
  },
  amber: {
    id: 'amber',
    label: 'Amber',
    brand: '#f59e0b',
    hot: '#fbbf24',
    soft: 'rgba(245,158,11,0.10)',
    rgb: '245,158,11',
  },
}
