diff --git a/build.rs b/build.rs index 7d9b794..bb733ef 100644 --- a/build.rs +++ b/build.rs @@ -1,6 +1,5 @@ use std::{ collections::HashMap, - env, error::Error, fs::{self, File}, io::{BufReader, BufWriter, Write}, @@ -12,7 +11,7 @@ use serde::Deserialize; const PALETTE_URL: &str = "https://raw.githubusercontent.com/catppuccin/palette/v0.2.0/palette-porcelain.json"; const PALETTE_PATH: &str = ".cache/palette.json"; -const CODEGEN_PATH: &str = "codegen.rs"; +const CODEGEN_PATH: &str = "./src/palette.rs"; #[derive(Debug, Deserialize)] struct Color { @@ -47,7 +46,16 @@ fn is_accent(name: &str) -> bool { .contains(&name) } +const HEADER: &str = "// DO NOT MODIFY THIS FILE! +// The contents of this file are generated by build.rs automatically. +// Any changes you make here WILL be overwritten. +#![allow(clippy::unreadable_literal)] +use crate::{Palette, Flavor, Color}; +"; + fn main() -> Result<(), Box> { + println!("cargo:rerun-if-changed={}", PALETTE_PATH); + let palette_path = Path::new(PALETTE_PATH); if !palette_path.exists() { @@ -57,53 +65,24 @@ fn main() -> Result<(), Box> { let palette: Palette = serde_json::from_reader(BufReader::new(File::open(palette_path)?))?; - let codegen_path = Path::new(&env::var("OUT_DIR")?).join(CODEGEN_PATH); - let codegen_file = BufWriter::new(File::create(&codegen_path)?); + let codegen_file = BufWriter::new(File::create(CODEGEN_PATH)?); let mut code_writer = BufWriter::new(codegen_file); + write!(&mut code_writer, "{HEADER}")?; + let mut flavors_map = phf_codegen::Map::new(); for (flavor_name, flavor) in palette.into_iter() { let mut colors_map = phf_codegen::Map::new(); for (color_name, color) in flavor.into_iter() { - colors_map.entry( - color_name.clone(), - &format!( - r#"Color {{ - name: "{}", - is_accent: {}, - hex: "{}", - rgb: &[{}, {}, {}], - hsl: &[{}.0, {}, {}], - }}"#, - color_name, - is_accent(&color_name), - color.hex, - color.rgb[0], - color.rgb[1], - color.rgb[2], - color.hsl[0], - color.hsl[1], - color.hsl[2] - ), - ); + let color_entry = make_color_entry(&color_name, color); + colors_map.entry(color_name, &color_entry); } - flavors_map.entry( - flavor_name.clone(), - &format!( - r#"Flavor {{ - name: "{}", - dark: {}, - colors: {}, - }}"#, - flavor_name, - is_dark(&flavor_name), - colors_map.build() - ), - ); + let flavor_entry = make_flavor_entry(&flavor_name, colors_map); + flavors_map.entry(flavor_name, &flavor_entry); } writeln!( &mut code_writer, - "pub static PALETTE: Palette = Palette {{ flavors: {} }};", + "pub static PALETTE: Palette = Palette {{\n flavors: {}\n}};", flavors_map.build() )?; @@ -118,3 +97,37 @@ fn download_palette(path: &Path) -> Result<(), Box> { fs::write(path, contents)?; Ok(()) } + +fn make_color_entry(name: &str, color: Color) -> String { + format!( + r#"Color {{ + name: "{}", + is_accent: {}, + hex: "{}", + rgb: &[{}, {}, {}], + hsl: &[{}.0, {}, {}], + }}"#, + name, + is_accent(name), + color.hex, + color.rgb[0], + color.rgb[1], + color.rgb[2], + color.hsl[0], + color.hsl[1], + color.hsl[2] + ) +} + +fn make_flavor_entry(name: &str, colors_map: phf_codegen::Map) -> String { + format!( + r#"Flavor {{ + name: "{}", + dark: {}, + colors: {}, + }}"#, + name, + is_dark(name), + colors_map.build() + ) +} diff --git a/src/lib.rs b/src/lib.rs index 1823102..65f3cb2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,8 @@ #![warn(clippy::all, clippy::pedantic, clippy::nursery, clippy::unwrap_used)] +mod palette; +pub use palette::PALETTE; + #[derive(Clone, Copy, PartialEq, PartialOrd, Debug)] pub struct Color { pub name: &'static str, @@ -21,8 +24,6 @@ pub struct Palette { pub flavors: phf::Map<&'static str, Flavor>, } -include!(concat!(env!("OUT_DIR"), "/codegen.rs")); - static FLAVORS_ORDER: &[&str] = &["latte", "frappe", "macchiato", "mocha"]; static COLOURS_ORDER: &[&str] = &[ "rosewater", diff --git a/src/palette.rs b/src/palette.rs new file mode 100644 index 0000000..173bd28 --- /dev/null +++ b/src/palette.rs @@ -0,0 +1,811 @@ +// DO NOT MODIFY THIS FILE! +// The contents of this file are generated by build.rs automatically. +// Any changes you make here WILL be overwritten. +#![allow(clippy::unreadable_literal)] +use crate::{Palette, Flavor, Color}; +pub static PALETTE: Palette = Palette { + flavors: ::phf::Map { + key: 8694567506910003252, + disps: &[ + (3, 0), + ], + entries: &[ + ("mocha", Flavor { + name: "mocha", + dark: true, + colors: ::phf::Map { + key: 12913932095322966823, + disps: &[ + (3, 0), + (0, 10), + (3, 18), + (2, 14), + (13, 20), + (2, 8), + ], + entries: &[ + ("red", Color { + name: "red", + is_accent: true, + hex: "f38ba8", + rgb: &[243, 139, 168], + hsl: &[343.0, 0.81, 0.75], + }), + ("green", Color { + name: "green", + is_accent: true, + hex: "a6e3a1", + rgb: &[166, 227, 161], + hsl: &[115.0, 0.54, 0.76], + }), + ("sapphire", Color { + name: "sapphire", + is_accent: true, + hex: "74c7ec", + rgb: &[116, 199, 236], + hsl: &[199.0, 0.76, 0.69], + }), + ("flamingo", Color { + name: "flamingo", + is_accent: true, + hex: "f2cdcd", + rgb: &[242, 205, 205], + hsl: &[0.0, 0.59, 0.88], + }), + ("overlay0", Color { + name: "overlay0", + is_accent: false, + hex: "6c7086", + rgb: &[108, 112, 134], + hsl: &[231.0, 0.11, 0.47], + }), + ("mauve", Color { + name: "mauve", + is_accent: true, + hex: "cba6f7", + rgb: &[203, 166, 247], + hsl: &[267.0, 0.84, 0.81], + }), + ("blue", Color { + name: "blue", + is_accent: true, + hex: "89b4fa", + rgb: &[137, 180, 250], + hsl: &[217.0, 0.92, 0.76], + }), + ("peach", Color { + name: "peach", + is_accent: true, + hex: "fab387", + rgb: &[250, 179, 135], + hsl: &[23.0, 0.92, 0.75], + }), + ("subtext0", Color { + name: "subtext0", + is_accent: false, + hex: "a6adc8", + rgb: &[166, 173, 200], + hsl: &[228.0, 0.24, 0.72], + }), + ("sky", Color { + name: "sky", + is_accent: true, + hex: "89dceb", + rgb: &[137, 220, 235], + hsl: &[189.0, 0.71, 0.73], + }), + ("surface1", Color { + name: "surface1", + is_accent: false, + hex: "45475a", + rgb: &[69, 71, 90], + hsl: &[234.0, 0.13, 0.31], + }), + ("maroon", Color { + name: "maroon", + is_accent: true, + hex: "eba0ac", + rgb: &[235, 160, 172], + hsl: &[350.0, 0.65, 0.77], + }), + ("yellow", Color { + name: "yellow", + is_accent: true, + hex: "f9e2af", + rgb: &[249, 226, 175], + hsl: &[41.0, 0.86, 0.83], + }), + ("pink", Color { + name: "pink", + is_accent: true, + hex: "f5c2e7", + rgb: &[245, 194, 231], + hsl: &[316.0, 0.72, 0.86], + }), + ("rosewater", Color { + name: "rosewater", + is_accent: true, + hex: "f5e0dc", + rgb: &[245, 224, 220], + hsl: &[10.0, 0.56, 0.91], + }), + ("surface0", Color { + name: "surface0", + is_accent: false, + hex: "313244", + rgb: &[49, 50, 68], + hsl: &[237.0, 0.16, 0.23], + }), + ("text", Color { + name: "text", + is_accent: false, + hex: "cdd6f4", + rgb: &[205, 214, 244], + hsl: &[226.0, 0.64, 0.88], + }), + ("base", Color { + name: "base", + is_accent: false, + hex: "1e1e2e", + rgb: &[30, 30, 46], + hsl: &[240.0, 0.21, 0.15], + }), + ("subtext1", Color { + name: "subtext1", + is_accent: false, + hex: "bac2de", + rgb: &[186, 194, 222], + hsl: &[227.0, 0.35, 0.8], + }), + ("lavender", Color { + name: "lavender", + is_accent: true, + hex: "b4befe", + rgb: &[180, 190, 254], + hsl: &[232.0, 0.97, 0.85], + }), + ("teal", Color { + name: "teal", + is_accent: true, + hex: "94e2d5", + rgb: &[148, 226, 213], + hsl: &[170.0, 0.57, 0.73], + }), + ("mantle", Color { + name: "mantle", + is_accent: false, + hex: "181825", + rgb: &[24, 24, 37], + hsl: &[240.0, 0.21, 0.12], + }), + ("crust", Color { + name: "crust", + is_accent: false, + hex: "11111b", + rgb: &[17, 17, 27], + hsl: &[240.0, 0.23, 0.09], + }), + ("surface2", Color { + name: "surface2", + is_accent: false, + hex: "585b70", + rgb: &[88, 91, 112], + hsl: &[233.0, 0.12, 0.39], + }), + ("overlay1", Color { + name: "overlay1", + is_accent: false, + hex: "7f849c", + rgb: &[127, 132, 156], + hsl: &[230.0, 0.13, 0.55], + }), + ("overlay2", Color { + name: "overlay2", + is_accent: false, + hex: "9399b2", + rgb: &[147, 153, 178], + hsl: &[228.0, 0.17, 0.64], + }), + ], +}, + }), + ("frappe", Flavor { + name: "frappe", + dark: true, + colors: ::phf::Map { + key: 12913932095322966823, + disps: &[ + (3, 0), + (0, 10), + (3, 18), + (2, 14), + (13, 20), + (2, 8), + ], + entries: &[ + ("red", Color { + name: "red", + is_accent: true, + hex: "e78284", + rgb: &[231, 130, 132], + hsl: &[359.0, 0.68, 0.71], + }), + ("green", Color { + name: "green", + is_accent: true, + hex: "a6d189", + rgb: &[166, 209, 137], + hsl: &[96.0, 0.44, 0.68], + }), + ("sapphire", Color { + name: "sapphire", + is_accent: true, + hex: "85c1dc", + rgb: &[133, 193, 220], + hsl: &[199.0, 0.55, 0.69], + }), + ("flamingo", Color { + name: "flamingo", + is_accent: true, + hex: "eebebe", + rgb: &[238, 190, 190], + hsl: &[0.0, 0.59, 0.84], + }), + ("overlay0", Color { + name: "overlay0", + is_accent: false, + hex: "737994", + rgb: &[115, 121, 148], + hsl: &[229.0, 0.13, 0.52], + }), + ("mauve", Color { + name: "mauve", + is_accent: true, + hex: "ca9ee6", + rgb: &[202, 158, 230], + hsl: &[277.0, 0.59, 0.76], + }), + ("blue", Color { + name: "blue", + is_accent: true, + hex: "8caaee", + rgb: &[140, 170, 238], + hsl: &[222.0, 0.74, 0.74], + }), + ("peach", Color { + name: "peach", + is_accent: true, + hex: "ef9f76", + rgb: &[239, 159, 118], + hsl: &[20.0, 0.79, 0.7], + }), + ("subtext0", Color { + name: "subtext0", + is_accent: false, + hex: "a5adce", + rgb: &[165, 173, 206], + hsl: &[228.0, 0.29, 0.73], + }), + ("sky", Color { + name: "sky", + is_accent: true, + hex: "99d1db", + rgb: &[153, 209, 219], + hsl: &[189.0, 0.48, 0.73], + }), + ("surface1", Color { + name: "surface1", + is_accent: false, + hex: "51576d", + rgb: &[81, 87, 109], + hsl: &[227.0, 0.15, 0.37], + }), + ("maroon", Color { + name: "maroon", + is_accent: true, + hex: "ea999c", + rgb: &[234, 153, 156], + hsl: &[358.0, 0.66, 0.76], + }), + ("yellow", Color { + name: "yellow", + is_accent: true, + hex: "e5c890", + rgb: &[229, 200, 144], + hsl: &[40.0, 0.62, 0.73], + }), + ("pink", Color { + name: "pink", + is_accent: true, + hex: "f4b8e4", + rgb: &[244, 184, 228], + hsl: &[316.0, 0.73, 0.84], + }), + ("rosewater", Color { + name: "rosewater", + is_accent: true, + hex: "f2d5cf", + rgb: &[242, 213, 207], + hsl: &[10.0, 0.57, 0.88], + }), + ("surface0", Color { + name: "surface0", + is_accent: false, + hex: "414559", + rgb: &[65, 69, 89], + hsl: &[230.0, 0.16, 0.3], + }), + ("text", Color { + name: "text", + is_accent: false, + hex: "c6d0f5", + rgb: &[198, 208, 245], + hsl: &[227.0, 0.7, 0.87], + }), + ("base", Color { + name: "base", + is_accent: false, + hex: "303446", + rgb: &[48, 52, 70], + hsl: &[229.0, 0.19, 0.23], + }), + ("subtext1", Color { + name: "subtext1", + is_accent: false, + hex: "b5bfe2", + rgb: &[181, 191, 226], + hsl: &[227.0, 0.44, 0.8], + }), + ("lavender", Color { + name: "lavender", + is_accent: true, + hex: "babbf1", + rgb: &[186, 187, 241], + hsl: &[239.0, 0.66, 0.84], + }), + ("teal", Color { + name: "teal", + is_accent: true, + hex: "81c8be", + rgb: &[129, 200, 190], + hsl: &[172.0, 0.39, 0.65], + }), + ("mantle", Color { + name: "mantle", + is_accent: false, + hex: "292c3c", + rgb: &[41, 44, 60], + hsl: &[231.0, 0.19, 0.2], + }), + ("crust", Color { + name: "crust", + is_accent: false, + hex: "232634", + rgb: &[35, 38, 52], + hsl: &[229.0, 0.2, 0.17], + }), + ("surface2", Color { + name: "surface2", + is_accent: false, + hex: "626880", + rgb: &[98, 104, 128], + hsl: &[228.0, 0.13, 0.44], + }), + ("overlay1", Color { + name: "overlay1", + is_accent: false, + hex: "838ba7", + rgb: &[131, 139, 167], + hsl: &[227.0, 0.17, 0.58], + }), + ("overlay2", Color { + name: "overlay2", + is_accent: false, + hex: "949cbb", + rgb: &[148, 156, 187], + hsl: &[228.0, 0.22, 0.66], + }), + ], +}, + }), + ("macchiato", Flavor { + name: "macchiato", + dark: true, + colors: ::phf::Map { + key: 12913932095322966823, + disps: &[ + (3, 0), + (0, 10), + (3, 18), + (2, 14), + (13, 20), + (2, 8), + ], + entries: &[ + ("red", Color { + name: "red", + is_accent: true, + hex: "ed8796", + rgb: &[237, 135, 150], + hsl: &[351.0, 0.74, 0.73], + }), + ("green", Color { + name: "green", + is_accent: true, + hex: "a6da95", + rgb: &[166, 218, 149], + hsl: &[105.0, 0.48, 0.72], + }), + ("sapphire", Color { + name: "sapphire", + is_accent: true, + hex: "7dc4e4", + rgb: &[125, 196, 228], + hsl: &[199.0, 0.66, 0.69], + }), + ("flamingo", Color { + name: "flamingo", + is_accent: true, + hex: "f0c6c6", + rgb: &[240, 198, 198], + hsl: &[0.0, 0.58, 0.86], + }), + ("overlay0", Color { + name: "overlay0", + is_accent: false, + hex: "6e738d", + rgb: &[110, 115, 141], + hsl: &[230.0, 0.12, 0.49], + }), + ("mauve", Color { + name: "mauve", + is_accent: true, + hex: "c6a0f6", + rgb: &[198, 160, 246], + hsl: &[267.0, 0.83, 0.8], + }), + ("blue", Color { + name: "blue", + is_accent: true, + hex: "8aadf4", + rgb: &[138, 173, 244], + hsl: &[220.0, 0.83, 0.75], + }), + ("peach", Color { + name: "peach", + is_accent: true, + hex: "f5a97f", + rgb: &[245, 169, 127], + hsl: &[21.0, 0.86, 0.73], + }), + ("subtext0", Color { + name: "subtext0", + is_accent: false, + hex: "a5adcb", + rgb: &[165, 173, 203], + hsl: &[227.0, 0.27, 0.72], + }), + ("sky", Color { + name: "sky", + is_accent: true, + hex: "91d7e3", + rgb: &[145, 215, 227], + hsl: &[189.0, 0.59, 0.73], + }), + ("surface1", Color { + name: "surface1", + is_accent: false, + hex: "494d64", + rgb: &[73, 77, 100], + hsl: &[231.0, 0.16, 0.34], + }), + ("maroon", Color { + name: "maroon", + is_accent: true, + hex: "ee99a0", + rgb: &[238, 153, 160], + hsl: &[355.0, 0.71, 0.77], + }), + ("yellow", Color { + name: "yellow", + is_accent: true, + hex: "eed49f", + rgb: &[238, 212, 159], + hsl: &[40.0, 0.7, 0.78], + }), + ("pink", Color { + name: "pink", + is_accent: true, + hex: "f5bde6", + rgb: &[245, 189, 230], + hsl: &[316.0, 0.74, 0.85], + }), + ("rosewater", Color { + name: "rosewater", + is_accent: true, + hex: "f4dbd6", + rgb: &[244, 219, 214], + hsl: &[10.0, 0.58, 0.9], + }), + ("surface0", Color { + name: "surface0", + is_accent: false, + hex: "363a4f", + rgb: &[54, 58, 79], + hsl: &[230.0, 0.19, 0.26], + }), + ("text", Color { + name: "text", + is_accent: false, + hex: "cad3f5", + rgb: &[202, 211, 245], + hsl: &[227.0, 0.68, 0.88], + }), + ("base", Color { + name: "base", + is_accent: false, + hex: "24273a", + rgb: &[36, 39, 58], + hsl: &[232.0, 0.23, 0.18], + }), + ("subtext1", Color { + name: "subtext1", + is_accent: false, + hex: "b8c0e0", + rgb: &[184, 192, 224], + hsl: &[228.0, 0.39, 0.8], + }), + ("lavender", Color { + name: "lavender", + is_accent: true, + hex: "b7bdf8", + rgb: &[183, 189, 248], + hsl: &[234.0, 0.82, 0.85], + }), + ("teal", Color { + name: "teal", + is_accent: true, + hex: "8bd5ca", + rgb: &[139, 213, 202], + hsl: &[171.0, 0.47, 0.69], + }), + ("mantle", Color { + name: "mantle", + is_accent: false, + hex: "1e2030", + rgb: &[30, 32, 48], + hsl: &[233.0, 0.23, 0.15], + }), + ("crust", Color { + name: "crust", + is_accent: false, + hex: "181926", + rgb: &[24, 25, 38], + hsl: &[236.0, 0.23, 0.12], + }), + ("surface2", Color { + name: "surface2", + is_accent: false, + hex: "5b6078", + rgb: &[91, 96, 120], + hsl: &[230.0, 0.14, 0.41], + }), + ("overlay1", Color { + name: "overlay1", + is_accent: false, + hex: "8087a2", + rgb: &[128, 135, 162], + hsl: &[228.0, 0.15, 0.57], + }), + ("overlay2", Color { + name: "overlay2", + is_accent: false, + hex: "939ab7", + rgb: &[147, 154, 183], + hsl: &[228.0, 0.2, 0.65], + }), + ], +}, + }), + ("latte", Flavor { + name: "latte", + dark: false, + colors: ::phf::Map { + key: 12913932095322966823, + disps: &[ + (3, 0), + (0, 10), + (3, 18), + (2, 14), + (13, 20), + (2, 8), + ], + entries: &[ + ("red", Color { + name: "red", + is_accent: true, + hex: "d20f39", + rgb: &[210, 15, 57], + hsl: &[347.0, 0.87, 0.44], + }), + ("green", Color { + name: "green", + is_accent: true, + hex: "40a02b", + rgb: &[64, 160, 43], + hsl: &[109.0, 0.58, 0.4], + }), + ("sapphire", Color { + name: "sapphire", + is_accent: true, + hex: "209fb5", + rgb: &[32, 159, 181], + hsl: &[189.0, 0.7, 0.42], + }), + ("flamingo", Color { + name: "flamingo", + is_accent: true, + hex: "dd7878", + rgb: &[221, 120, 120], + hsl: &[0.0, 0.6, 0.67], + }), + ("overlay0", Color { + name: "overlay0", + is_accent: false, + hex: "9ca0b0", + rgb: &[156, 160, 176], + hsl: &[228.0, 0.11, 0.65], + }), + ("mauve", Color { + name: "mauve", + is_accent: true, + hex: "8839ef", + rgb: &[136, 57, 239], + hsl: &[266.0, 0.85, 0.58], + }), + ("blue", Color { + name: "blue", + is_accent: true, + hex: "1e66f5", + rgb: &[30, 102, 245], + hsl: &[220.0, 0.91, 0.54], + }), + ("peach", Color { + name: "peach", + is_accent: true, + hex: "fe640b", + rgb: &[254, 100, 11], + hsl: &[22.0, 0.99, 0.52], + }), + ("subtext0", Color { + name: "subtext0", + is_accent: false, + hex: "6c6f85", + rgb: &[108, 111, 133], + hsl: &[233.0, 0.1, 0.47], + }), + ("sky", Color { + name: "sky", + is_accent: true, + hex: "04a5e5", + rgb: &[4, 165, 229], + hsl: &[197.0, 0.97, 0.46], + }), + ("surface1", Color { + name: "surface1", + is_accent: false, + hex: "bcc0cc", + rgb: &[188, 192, 204], + hsl: &[225.0, 0.14, 0.77], + }), + ("maroon", Color { + name: "maroon", + is_accent: true, + hex: "e64553", + rgb: &[230, 69, 83], + hsl: &[355.0, 0.76, 0.59], + }), + ("yellow", Color { + name: "yellow", + is_accent: true, + hex: "df8e1d", + rgb: &[223, 142, 29], + hsl: &[35.0, 0.77, 0.49], + }), + ("pink", Color { + name: "pink", + is_accent: true, + hex: "ea76cb", + rgb: &[234, 118, 203], + hsl: &[316.0, 0.73, 0.69], + }), + ("rosewater", Color { + name: "rosewater", + is_accent: true, + hex: "dc8a78", + rgb: &[220, 138, 120], + hsl: &[11.0, 0.59, 0.67], + }), + ("surface0", Color { + name: "surface0", + is_accent: false, + hex: "ccd0da", + rgb: &[204, 208, 218], + hsl: &[223.0, 0.16, 0.83], + }), + ("text", Color { + name: "text", + is_accent: false, + hex: "4c4f69", + rgb: &[76, 79, 105], + hsl: &[234.0, 0.16, 0.35], + }), + ("base", Color { + name: "base", + is_accent: false, + hex: "eff1f5", + rgb: &[239, 241, 245], + hsl: &[220.0, 0.23, 0.95], + }), + ("subtext1", Color { + name: "subtext1", + is_accent: false, + hex: "5c5f77", + rgb: &[92, 95, 119], + hsl: &[233.0, 0.13, 0.41], + }), + ("lavender", Color { + name: "lavender", + is_accent: true, + hex: "7287fd", + rgb: &[114, 135, 253], + hsl: &[231.0, 0.97, 0.72], + }), + ("teal", Color { + name: "teal", + is_accent: true, + hex: "179299", + rgb: &[23, 146, 153], + hsl: &[183.0, 0.74, 0.35], + }), + ("mantle", Color { + name: "mantle", + is_accent: false, + hex: "e6e9ef", + rgb: &[230, 233, 239], + hsl: &[220.0, 0.22, 0.92], + }), + ("crust", Color { + name: "crust", + is_accent: false, + hex: "dce0e8", + rgb: &[220, 224, 232], + hsl: &[220.0, 0.21, 0.89], + }), + ("surface2", Color { + name: "surface2", + is_accent: false, + hex: "acb0be", + rgb: &[172, 176, 190], + hsl: &[227.0, 0.12, 0.71], + }), + ("overlay1", Color { + name: "overlay1", + is_accent: false, + hex: "8c8fa1", + rgb: &[140, 143, 161], + hsl: &[231.0, 0.1, 0.59], + }), + ("overlay2", Color { + name: "overlay2", + is_accent: false, + hex: "7c7f93", + rgb: &[124, 127, 147], + hsl: &[232.0, 0.1, 0.53], + }), + ], +}, + }), + ], +} +};