use ratatui::style::Color;
pub const GREEN_400: Color = Color::Rgb(74, 222, 128); pub const GREEN_500: Color = Color::Rgb(34, 197, 94);
pub const RED_400: Color = Color::Rgb(248, 113, 113); pub const RED_500: Color = Color::Rgb(239, 68, 68); pub const RED_600: Color = Color::Rgb(220, 38, 38);
pub const GRAY_400: Color = Color::Rgb(156, 163, 175); pub const GRAY_500: Color = Color::Rgb(107, 114, 128); pub const GRAY_600: Color = Color::Rgb(75, 85, 99); pub const GRAY_700: Color = Color::Rgb(55, 65, 81); pub const GRAY_800: Color = Color::Rgb(31, 41, 55); pub const GRAY_900: Color = Color::Rgb(17, 24, 39);
pub const VIOLET_400: Color = Color::Rgb(167, 139, 250); pub const VIOLET_500: Color = Color::Rgb(139, 92, 246); pub const VIOLET_600: Color = Color::Rgb(124, 58, 237);
pub const AMBER_400: Color = Color::Rgb(251, 191, 36); pub const AMBER_500: Color = Color::Rgb(245, 158, 11); pub const AMBER_600: Color = Color::Rgb(217, 119, 6);
pub const SLATE_50: Color = Color::Rgb(248, 250, 252); pub const SLATE_100: Color = Color::Rgb(241, 245, 249); pub const SLATE_200: Color = Color::Rgb(226, 232, 240); pub const SLATE_300: Color = Color::Rgb(203, 213, 225); pub const SLATE_400: Color = Color::Rgb(148, 163, 184); pub const SLATE_500: Color = Color::Rgb(100, 116, 139); pub const SLATE_600: Color = Color::Rgb(71, 85, 105); pub const SLATE_700: Color = Color::Rgb(51, 65, 85); pub const SLATE_800: Color = Color::Rgb(30, 41, 59); pub const SLATE_900: Color = Color::Rgb(15, 23, 42); pub const SLATE_950: Color = Color::Rgb(2, 6, 23);
pub const YELLOW_300: Color = Color::Rgb(253, 224, 71); pub const YELLOW_400: Color = Color::Rgb(250, 204, 21); pub const YELLOW_500: Color = Color::Rgb(234, 179, 8);
pub const CYAN_400: Color = Color::Rgb(34, 211, 238); pub const CYAN_500: Color = Color::Rgb(6, 182, 212); pub const CYAN_600: Color = Color::Rgb(8, 145, 178);
pub const BLUE_400: Color = Color::Rgb(96, 165, 250); pub const BLUE_500: Color = Color::Rgb(59, 130, 246); pub const BLUE_600: Color = Color::Rgb(37, 99, 235);
pub const EMERALD_400: Color = Color::Rgb(52, 211, 153); pub const EMERALD_500: Color = Color::Rgb(16, 185, 129); pub const EMERALD_600: Color = Color::Rgb(5, 150, 105);
pub const ROSE_400: Color = Color::Rgb(251, 113, 133); pub const ROSE_500: Color = Color::Rgb(244, 63, 94); pub const ROSE_600: Color = Color::Rgb(225, 29, 72);
pub const PINK_400: Color = Color::Rgb(244, 114, 182); pub const PINK_500: Color = Color::Rgb(236, 72, 153);
pub const ORANGE_400: Color = Color::Rgb(251, 146, 60); pub const ORANGE_500: Color = Color::Rgb(249, 115, 22);
pub const INDIGO_400: Color = Color::Rgb(129, 140, 248); pub const INDIGO_500: Color = Color::Rgb(99, 102, 241); pub const INDIGO_600: Color = Color::Rgb(79, 70, 229);
pub const TEAL_400: Color = Color::Rgb(45, 212, 191); pub const TEAL_500: Color = Color::Rgb(20, 184, 166);
pub const SKY_400: Color = Color::Rgb(56, 189, 248); pub const SKY_500: Color = Color::Rgb(14, 165, 233);
pub const LIME_400: Color = Color::Rgb(163, 230, 53); pub const LIME_500: Color = Color::Rgb(132, 204, 22);
pub const FUCHSIA_400: Color = Color::Rgb(232, 121, 249); pub const FUCHSIA_500: Color = Color::Rgb(217, 70, 239);
pub const ZINC_400: Color = Color::Rgb(161, 161, 170); pub const ZINC_500: Color = Color::Rgb(113, 113, 122);
pub mod solarized {
use ratatui::style::Color;
pub const BASE03: Color = Color::Rgb(0, 43, 54); pub const BASE02: Color = Color::Rgb(7, 54, 66); pub const BASE01: Color = Color::Rgb(88, 110, 117); pub const BASE00: Color = Color::Rgb(101, 123, 131); pub const BASE0: Color = Color::Rgb(131, 148, 150); pub const BASE1: Color = Color::Rgb(147, 161, 161); pub const BASE2: Color = Color::Rgb(238, 232, 213); pub const BASE3: Color = Color::Rgb(253, 246, 227);
pub const YELLOW: Color = Color::Rgb(181, 137, 0); pub const ORANGE: Color = Color::Rgb(203, 75, 22); pub const RED: Color = Color::Rgb(220, 50, 47); pub const MAGENTA: Color = Color::Rgb(211, 54, 130); pub const VIOLET: Color = Color::Rgb(108, 113, 196); pub const BLUE: Color = Color::Rgb(38, 139, 210); pub const CYAN: Color = Color::Rgb(42, 161, 152); pub const GREEN: Color = Color::Rgb(133, 153, 0); }
pub const SUCCESS: Color = GREEN_500;
pub const SUCCESS_LIGHT: Color = GREEN_400;
pub const ERROR: Color = RED_500;
pub const ERROR_LIGHT: Color = RED_400;
pub const WARNING: Color = AMBER_500;
pub const WARNING_LIGHT: Color = AMBER_400;
pub const INFO: Color = BLUE_500;
pub const INFO_LIGHT: Color = BLUE_400;
pub const MUTED: Color = GRAY_500;
pub const MUTED_LIGHT: Color = GRAY_400;
pub const VERB_INFER: Color = VIOLET_500;
pub const VERB_EXEC: Color = AMBER_500;
pub const VERB_FETCH: Color = CYAN_500;
pub const VERB_INVOKE: Color = EMERALD_500;
pub const VERB_AGENT: Color = ROSE_500;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_const_colors_match_palette() {
use crate::tui::tokens::colors::ColorPalette;
let p = ColorPalette::tailwind();
assert_eq!(GREEN_500, p.green_500);
assert_eq!(RED_500, p.red_500);
assert_eq!(GRAY_500, p.gray_500);
assert_eq!(VIOLET_500, p.violet_500);
assert_eq!(AMBER_500, p.amber_500);
assert_eq!(SLATE_500, p.slate_500);
assert_eq!(YELLOW_400, p.yellow_400);
assert_eq!(CYAN_500, p.cyan_500);
assert_eq!(BLUE_500, p.blue_500);
}
#[test]
fn test_semantic_aliases() {
assert_eq!(SUCCESS, GREEN_500);
assert_eq!(ERROR, RED_500);
assert_eq!(WARNING, AMBER_500);
assert_eq!(INFO, BLUE_500);
assert_eq!(MUTED, GRAY_500);
}
#[test]
fn test_verb_colors() {
assert_eq!(VERB_INFER, VIOLET_500);
assert_eq!(VERB_EXEC, AMBER_500);
assert_eq!(VERB_FETCH, CYAN_500);
assert_eq!(VERB_INVOKE, EMERALD_500);
assert_eq!(VERB_AGENT, ROSE_500);
}
#[test]
fn test_solarized_base_colors() {
assert_eq!(solarized::BASE03, Color::Rgb(0, 43, 54));
assert_eq!(solarized::BASE3, Color::Rgb(253, 246, 227));
assert_eq!(solarized::CYAN, Color::Rgb(42, 161, 152));
}
}