default_colors.rs

   1use gpui::{Hsla, Rgba};
   2
   3use crate::scale::{ColorScaleSet, ColorScales};
   4use crate::ColorScale;
   5use crate::{SystemColors, ThemeColors};
   6
   7pub(crate) fn neutral() -> ColorScaleSet {
   8    sand()
   9}
  10
  11/// The default colors for the theme.
  12///
  13/// Themes that do not specify all colors are refined off of these defaults.
  14impl ThemeColors {
  15    /// Returns the default colors for light themes.
  16    ///
  17    /// Themes that do not specify all colors are refined off of these defaults.
  18    pub fn light() -> Self {
  19        let system = SystemColors::default();
  20
  21        Self {
  22            border: neutral().light().step_6(),
  23            border_variant: neutral().light().step_5(),
  24            border_focused: blue().light().step_5(),
  25            border_selected: blue().light().step_5(),
  26            border_transparent: system.transparent,
  27            border_disabled: neutral().light().step_3(),
  28            elevated_surface_background: neutral().light().step_2(),
  29            surface_background: neutral().light().step_2(),
  30            background: neutral().light().step_1(),
  31            element_background: neutral().light().step_3(),
  32            element_hover: neutral().light_alpha().step_4(),
  33            element_active: neutral().light_alpha().step_5(),
  34            element_selected: neutral().light_alpha().step_5(),
  35            element_disabled: neutral().light_alpha().step_3(),
  36            drop_target_background: blue().light_alpha().step_2(),
  37            ghost_element_background: system.transparent,
  38            ghost_element_hover: neutral().light_alpha().step_3(),
  39            ghost_element_active: neutral().light_alpha().step_4(),
  40            ghost_element_selected: neutral().light_alpha().step_5(),
  41            ghost_element_disabled: neutral().light_alpha().step_3(),
  42            text: neutral().light().step_12(),
  43            text_muted: neutral().light().step_10(),
  44            text_placeholder: neutral().light().step_10(),
  45            text_disabled: neutral().light().step_9(),
  46            text_accent: blue().light().step_11(),
  47            icon: neutral().light().step_11(),
  48            icon_muted: neutral().light().step_10(),
  49            icon_disabled: neutral().light().step_9(),
  50            icon_placeholder: neutral().light().step_10(),
  51            icon_accent: blue().light().step_11(),
  52            status_bar_background: neutral().light().step_2(),
  53            title_bar_background: neutral().light().step_2(),
  54            title_bar_inactive_background: neutral().light().step_3(),
  55            toolbar_background: neutral().light().step_1(),
  56            tab_bar_background: neutral().light().step_2(),
  57            tab_inactive_background: neutral().light().step_2(),
  58            tab_active_background: neutral().light().step_1(),
  59            search_match_background: neutral().light().step_5(),
  60            panel_background: neutral().light().step_2(),
  61            panel_focused_border: blue().light().step_5(),
  62            pane_focused_border: blue().light().step_5(),
  63            pane_group_border: neutral().light().step_6(),
  64            scrollbar_thumb_background: neutral().light_alpha().step_3(),
  65            scrollbar_thumb_hover_background: neutral().light_alpha().step_4(),
  66            scrollbar_thumb_border: gpui::transparent_black(),
  67            scrollbar_track_background: gpui::transparent_black(),
  68            scrollbar_track_border: neutral().light().step_5(),
  69            editor_foreground: neutral().light().step_12(),
  70            editor_background: neutral().light().step_1(),
  71            editor_gutter_background: neutral().light().step_1(),
  72            editor_subheader_background: neutral().light().step_2(),
  73            editor_active_line_background: neutral().light_alpha().step_3(),
  74            editor_highlighted_line_background: neutral().light_alpha().step_3(),
  75            editor_line_number: neutral().light().step_10(),
  76            editor_active_line_number: neutral().light().step_11(),
  77            editor_invisible: neutral().light().step_10(),
  78            editor_wrap_guide: neutral().light_alpha().step_7(),
  79            editor_active_wrap_guide: neutral().light_alpha().step_8(),
  80            editor_indent_guide: neutral().light_alpha().step_5(),
  81            editor_indent_guide_active: neutral().light_alpha().step_6(),
  82            editor_document_highlight_read_background: neutral().light_alpha().step_3(),
  83            editor_document_highlight_write_background: neutral().light_alpha().step_4(),
  84            editor_document_highlight_bracket_background: green().light_alpha().step_5(),
  85            terminal_background: neutral().light().step_1(),
  86            terminal_foreground: black().light().step_12(),
  87            terminal_bright_foreground: black().light().step_11(),
  88            terminal_dim_foreground: black().light().step_10(),
  89            terminal_ansi_background: neutral().light().step_1(),
  90            terminal_ansi_bright_black: black().light().step_11(),
  91            terminal_ansi_bright_red: red().light().step_10(),
  92            terminal_ansi_bright_green: green().light().step_10(),
  93            terminal_ansi_bright_yellow: yellow().light().step_10(),
  94            terminal_ansi_bright_blue: blue().light().step_10(),
  95            terminal_ansi_bright_magenta: violet().light().step_10(),
  96            terminal_ansi_bright_cyan: cyan().light().step_10(),
  97            terminal_ansi_bright_white: neutral().light().step_11(),
  98            terminal_ansi_black: black().light().step_12(),
  99            terminal_ansi_red: red().light().step_11(),
 100            terminal_ansi_green: green().light().step_11(),
 101            terminal_ansi_yellow: yellow().light().step_11(),
 102            terminal_ansi_blue: blue().light().step_11(),
 103            terminal_ansi_magenta: violet().light().step_11(),
 104            terminal_ansi_cyan: cyan().light().step_11(),
 105            terminal_ansi_white: neutral().light().step_12(),
 106            terminal_ansi_dim_black: black().light().step_11(),
 107            terminal_ansi_dim_red: red().light().step_10(),
 108            terminal_ansi_dim_green: green().light().step_10(),
 109            terminal_ansi_dim_yellow: yellow().light().step_10(),
 110            terminal_ansi_dim_blue: blue().light().step_10(),
 111            terminal_ansi_dim_magenta: violet().light().step_10(),
 112            terminal_ansi_dim_cyan: cyan().light().step_10(),
 113            terminal_ansi_dim_white: neutral().light().step_11(),
 114            link_text_hover: orange().light().step_10(),
 115        }
 116    }
 117
 118    /// Returns the default colors for dark themes.
 119    ///
 120    /// Themes that do not specify all colors are refined off of these defaults.
 121    pub fn dark() -> Self {
 122        let system = SystemColors::default();
 123
 124        Self {
 125            border: neutral().dark().step_6(),
 126            border_variant: neutral().dark().step_5(),
 127            border_focused: blue().dark().step_5(),
 128            border_selected: blue().dark().step_5(),
 129            border_transparent: system.transparent,
 130            border_disabled: neutral().dark().step_3(),
 131            elevated_surface_background: neutral().dark().step_2(),
 132            surface_background: neutral().dark().step_2(),
 133            background: neutral().dark().step_1(),
 134            element_background: neutral().dark().step_3(),
 135            element_hover: neutral().dark_alpha().step_4(),
 136            element_active: neutral().dark_alpha().step_5(),
 137            element_selected: neutral().dark_alpha().step_5(),
 138            element_disabled: neutral().dark_alpha().step_3(),
 139            drop_target_background: blue().dark_alpha().step_2(),
 140            ghost_element_background: system.transparent,
 141            ghost_element_hover: neutral().dark_alpha().step_4(),
 142            ghost_element_active: neutral().dark_alpha().step_5(),
 143            ghost_element_selected: neutral().dark_alpha().step_5(),
 144            ghost_element_disabled: neutral().dark_alpha().step_3(),
 145            text: neutral().dark().step_12(),
 146            text_muted: neutral().dark().step_11(),
 147            text_placeholder: neutral().dark().step_10(),
 148            text_disabled: neutral().dark().step_9(),
 149            text_accent: blue().dark().step_11(),
 150            icon: neutral().dark().step_11(),
 151            icon_muted: neutral().dark().step_10(),
 152            icon_disabled: neutral().dark().step_9(),
 153            icon_placeholder: neutral().dark().step_10(),
 154            icon_accent: blue().dark().step_11(),
 155            status_bar_background: neutral().dark().step_2(),
 156            title_bar_background: neutral().dark().step_2(),
 157            title_bar_inactive_background: neutral().dark().step_3(),
 158            toolbar_background: neutral().dark().step_1(),
 159            tab_bar_background: neutral().dark().step_2(),
 160            tab_inactive_background: neutral().dark().step_2(),
 161            tab_active_background: neutral().dark().step_1(),
 162            search_match_background: neutral().dark().step_5(),
 163            panel_background: neutral().dark().step_2(),
 164            panel_focused_border: blue().dark().step_5(),
 165            pane_focused_border: blue().dark().step_5(),
 166            pane_group_border: neutral().dark().step_6(),
 167            scrollbar_thumb_background: neutral().dark_alpha().step_3(),
 168            scrollbar_thumb_hover_background: neutral().dark_alpha().step_4(),
 169            scrollbar_thumb_border: gpui::transparent_black(),
 170            scrollbar_track_background: gpui::transparent_black(),
 171            scrollbar_track_border: neutral().dark().step_5(),
 172            editor_foreground: neutral().dark().step_12(),
 173            editor_background: neutral().dark().step_1(),
 174            editor_gutter_background: neutral().dark().step_1(),
 175            editor_subheader_background: neutral().dark().step_3(),
 176            editor_active_line_background: neutral().dark_alpha().step_3(),
 177            editor_highlighted_line_background: neutral().dark_alpha().step_4(),
 178            editor_line_number: neutral().dark_alpha().step_10(),
 179            editor_active_line_number: neutral().dark_alpha().step_12(),
 180            editor_invisible: neutral().dark_alpha().step_4(),
 181            editor_wrap_guide: neutral().dark_alpha().step_4(),
 182            editor_active_wrap_guide: neutral().dark_alpha().step_4(),
 183            editor_indent_guide: neutral().dark_alpha().step_4(),
 184            editor_indent_guide_active: neutral().dark_alpha().step_6(),
 185            editor_document_highlight_read_background: neutral().dark_alpha().step_4(),
 186            editor_document_highlight_write_background: neutral().dark_alpha().step_4(),
 187            editor_document_highlight_bracket_background: green().dark_alpha().step_6(),
 188            terminal_background: neutral().dark().step_1(),
 189            terminal_ansi_background: neutral().dark().step_1(),
 190            terminal_foreground: white().dark().step_12(),
 191            terminal_bright_foreground: white().dark().step_11(),
 192            terminal_dim_foreground: white().dark().step_10(),
 193            terminal_ansi_black: black().dark().step_12(),
 194            terminal_ansi_bright_black: black().dark().step_11(),
 195            terminal_ansi_dim_black: black().dark().step_10(),
 196            terminal_ansi_red: red().dark().step_11(),
 197            terminal_ansi_bright_red: red().dark().step_10(),
 198            terminal_ansi_dim_red: red().dark().step_9(),
 199            terminal_ansi_green: green().dark().step_11(),
 200            terminal_ansi_bright_green: green().dark().step_10(),
 201            terminal_ansi_dim_green: green().dark().step_9(),
 202            terminal_ansi_yellow: yellow().dark().step_11(),
 203            terminal_ansi_bright_yellow: yellow().dark().step_10(),
 204            terminal_ansi_dim_yellow: yellow().dark().step_9(),
 205            terminal_ansi_blue: blue().dark().step_11(),
 206            terminal_ansi_bright_blue: blue().dark().step_10(),
 207            terminal_ansi_dim_blue: blue().dark().step_9(),
 208            terminal_ansi_magenta: violet().dark().step_11(),
 209            terminal_ansi_bright_magenta: violet().dark().step_10(),
 210            terminal_ansi_dim_magenta: violet().dark().step_9(),
 211            terminal_ansi_cyan: cyan().dark().step_11(),
 212            terminal_ansi_bright_cyan: cyan().dark().step_10(),
 213            terminal_ansi_dim_cyan: cyan().dark().step_9(),
 214            terminal_ansi_white: neutral().dark().step_12(),
 215            terminal_ansi_bright_white: neutral().dark().step_11(),
 216            terminal_ansi_dim_white: neutral().dark().step_10(),
 217            link_text_hover: orange().dark().step_10(),
 218        }
 219    }
 220}
 221
 222type StaticColorScale = [&'static str; 12];
 223
 224struct StaticColorScaleSet {
 225    scale: &'static str,
 226    light: StaticColorScale,
 227    light_alpha: StaticColorScale,
 228    dark: StaticColorScale,
 229    dark_alpha: StaticColorScale,
 230}
 231
 232impl TryFrom<StaticColorScaleSet> for ColorScaleSet {
 233    type Error = anyhow::Error;
 234
 235    fn try_from(value: StaticColorScaleSet) -> Result<Self, Self::Error> {
 236        fn to_color_scale(scale: StaticColorScale) -> Result<ColorScale, anyhow::Error> {
 237            scale
 238                .into_iter()
 239                .map(|color| Rgba::try_from(color).map(Hsla::from))
 240                .collect::<Result<Vec<_>, _>>()
 241                .map(ColorScale::from_iter)
 242        }
 243
 244        Ok(Self::new(
 245            value.scale,
 246            to_color_scale(value.light)?,
 247            to_color_scale(value.light_alpha)?,
 248            to_color_scale(value.dark)?,
 249            to_color_scale(value.dark_alpha)?,
 250        ))
 251    }
 252}
 253
 254/// Color scales used to build the default themes.
 255pub fn default_color_scales() -> ColorScales {
 256    ColorScales {
 257        gray: gray(),
 258        mauve: mauve(),
 259        slate: slate(),
 260        sage: sage(),
 261        olive: olive(),
 262        sand: sand(),
 263        gold: gold(),
 264        bronze: bronze(),
 265        brown: brown(),
 266        yellow: yellow(),
 267        amber: amber(),
 268        orange: orange(),
 269        tomato: tomato(),
 270        red: red(),
 271        ruby: ruby(),
 272        crimson: crimson(),
 273        pink: pink(),
 274        plum: plum(),
 275        purple: purple(),
 276        violet: violet(),
 277        iris: iris(),
 278        indigo: indigo(),
 279        blue: blue(),
 280        cyan: cyan(),
 281        teal: teal(),
 282        jade: jade(),
 283        green: green(),
 284        grass: grass(),
 285        lime: lime(),
 286        mint: mint(),
 287        sky: sky(),
 288        black: black(),
 289        white: white(),
 290    }
 291}
 292
 293pub(crate) fn gray() -> ColorScaleSet {
 294    StaticColorScaleSet {
 295        scale: "Gray",
 296        light: [
 297            "#fcfcfcff",
 298            "#f9f9f9ff",
 299            "#f0f0f0ff",
 300            "#e8e8e8ff",
 301            "#e0e0e0ff",
 302            "#d9d9d9ff",
 303            "#cececeff",
 304            "#bbbbbbff",
 305            "#8d8d8dff",
 306            "#838383ff",
 307            "#646464ff",
 308            "#202020ff",
 309        ],
 310        light_alpha: [
 311            "#00000003",
 312            "#00000006",
 313            "#0000000f",
 314            "#00000017",
 315            "#0000001f",
 316            "#00000026",
 317            "#00000031",
 318            "#00000044",
 319            "#00000072",
 320            "#0000007c",
 321            "#0000009b",
 322            "#000000df",
 323        ],
 324        dark: [
 325            "#111111ff",
 326            "#191919ff",
 327            "#222222ff",
 328            "#2a2a2aff",
 329            "#313131ff",
 330            "#3a3a3aff",
 331            "#484848ff",
 332            "#606060ff",
 333            "#6e6e6eff",
 334            "#7b7b7bff",
 335            "#b4b4b4ff",
 336            "#eeeeeeff",
 337        ],
 338        dark_alpha: [
 339            "#00000000",
 340            "#ffffff09",
 341            "#ffffff12",
 342            "#ffffff1b",
 343            "#ffffff22",
 344            "#ffffff2c",
 345            "#ffffff3b",
 346            "#ffffff55",
 347            "#ffffff64",
 348            "#ffffff72",
 349            "#ffffffaf",
 350            "#ffffffed",
 351        ],
 352    }
 353    .try_into()
 354    .unwrap()
 355}
 356
 357pub(crate) fn mauve() -> ColorScaleSet {
 358    StaticColorScaleSet {
 359        scale: "Mauve",
 360        light: [
 361            "#fdfcfdff",
 362            "#faf9fbff",
 363            "#f2eff3ff",
 364            "#eae7ecff",
 365            "#e3dfe6ff",
 366            "#dbd8e0ff",
 367            "#d0cdd7ff",
 368            "#bcbac7ff",
 369            "#8e8c99ff",
 370            "#84828eff",
 371            "#65636dff",
 372            "#211f26ff",
 373        ],
 374        light_alpha: [
 375            "#55005503",
 376            "#2b005506",
 377            "#30004010",
 378            "#20003618",
 379            "#20003820",
 380            "#14003527",
 381            "#10003332",
 382            "#08003145",
 383            "#05001d73",
 384            "#0500197d",
 385            "#0400119c",
 386            "#020008e0",
 387        ],
 388        dark: [
 389            "#121113ff",
 390            "#1a191bff",
 391            "#232225ff",
 392            "#2b292dff",
 393            "#323035ff",
 394            "#3c393fff",
 395            "#49474eff",
 396            "#625f69ff",
 397            "#6f6d78ff",
 398            "#7c7a85ff",
 399            "#b5b2bcff",
 400            "#eeeef0ff",
 401        ],
 402        dark_alpha: [
 403            "#00000000",
 404            "#f5f4f609",
 405            "#ebeaf814",
 406            "#eee5f81d",
 407            "#efe6fe25",
 408            "#f1e6fd30",
 409            "#eee9ff40",
 410            "#eee7ff5d",
 411            "#eae6fd6e",
 412            "#ece9fd7c",
 413            "#f5f1ffb7",
 414            "#fdfdffef",
 415        ],
 416    }
 417    .try_into()
 418    .unwrap()
 419}
 420
 421pub(crate) fn slate() -> ColorScaleSet {
 422    StaticColorScaleSet {
 423        scale: "Slate",
 424        light: [
 425            "#fcfcfdff",
 426            "#f9f9fbff",
 427            "#f0f0f3ff",
 428            "#e8e8ecff",
 429            "#e0e1e6ff",
 430            "#d9d9e0ff",
 431            "#cdced6ff",
 432            "#b9bbc6ff",
 433            "#8b8d98ff",
 434            "#80838dff",
 435            "#60646cff",
 436            "#1c2024ff",
 437        ],
 438        light_alpha: [
 439            "#00005503",
 440            "#00005506",
 441            "#0000330f",
 442            "#00002d17",
 443            "#0009321f",
 444            "#00002f26",
 445            "#00062e32",
 446            "#00083046",
 447            "#00051d74",
 448            "#00071b7f",
 449            "#0007149f",
 450            "#000509e3",
 451        ],
 452        dark: [
 453            "#111113ff",
 454            "#18191bff",
 455            "#212225ff",
 456            "#272a2dff",
 457            "#2e3135ff",
 458            "#363a3fff",
 459            "#43484eff",
 460            "#5a6169ff",
 461            "#696e77ff",
 462            "#777b84ff",
 463            "#b0b4baff",
 464            "#edeef0ff",
 465        ],
 466        dark_alpha: [
 467            "#00000000",
 468            "#d8f4f609",
 469            "#ddeaf814",
 470            "#d3edf81d",
 471            "#d9edfe25",
 472            "#d6ebfd30",
 473            "#d9edff40",
 474            "#d9edff5d",
 475            "#dfebfd6d",
 476            "#e5edfd7b",
 477            "#f1f7feb5",
 478            "#fcfdffef",
 479        ],
 480    }
 481    .try_into()
 482    .unwrap()
 483}
 484
 485pub(crate) fn sage() -> ColorScaleSet {
 486    StaticColorScaleSet {
 487        scale: "Sage",
 488        light: [
 489            "#fbfdfcff",
 490            "#f7f9f8ff",
 491            "#eef1f0ff",
 492            "#e6e9e8ff",
 493            "#dfe2e0ff",
 494            "#d7dad9ff",
 495            "#cbcfcdff",
 496            "#b8bcbaff",
 497            "#868e8bff",
 498            "#7c8481ff",
 499            "#5f6563ff",
 500            "#1a211eff",
 501        ],
 502        light_alpha: [
 503            "#00804004",
 504            "#00402008",
 505            "#002d1e11",
 506            "#001f1519",
 507            "#00180820",
 508            "#00140d28",
 509            "#00140a34",
 510            "#000f0847",
 511            "#00110b79",
 512            "#00100a83",
 513            "#000a07a0",
 514            "#000805e5",
 515        ],
 516        dark: [
 517            "#101211ff",
 518            "#171918ff",
 519            "#202221ff",
 520            "#272a29ff",
 521            "#2e3130ff",
 522            "#373b39ff",
 523            "#444947ff",
 524            "#5b625fff",
 525            "#63706bff",
 526            "#717d79ff",
 527            "#adb5b2ff",
 528            "#eceeedff",
 529        ],
 530        dark_alpha: [
 531            "#00000000",
 532            "#f0f2f108",
 533            "#f3f5f412",
 534            "#f2fefd1a",
 535            "#f1fbfa22",
 536            "#edfbf42d",
 537            "#edfcf73c",
 538            "#ebfdf657",
 539            "#dffdf266",
 540            "#e5fdf674",
 541            "#f4fefbb0",
 542            "#fdfffeed",
 543        ],
 544    }
 545    .try_into()
 546    .unwrap()
 547}
 548
 549pub(crate) fn olive() -> ColorScaleSet {
 550    StaticColorScaleSet {
 551        scale: "Olive",
 552        light: [
 553            "#fcfdfcff",
 554            "#f8faf8ff",
 555            "#eff1efff",
 556            "#e7e9e7ff",
 557            "#dfe2dfff",
 558            "#d7dad7ff",
 559            "#cccfccff",
 560            "#b9bcb8ff",
 561            "#898e87ff",
 562            "#7f847dff",
 563            "#60655fff",
 564            "#1d211cff",
 565        ],
 566        light_alpha: [
 567            "#00550003",
 568            "#00490007",
 569            "#00200010",
 570            "#00160018",
 571            "#00180020",
 572            "#00140028",
 573            "#000f0033",
 574            "#040f0047",
 575            "#050f0078",
 576            "#040e0082",
 577            "#020a00a0",
 578            "#010600e3",
 579        ],
 580        dark: [
 581            "#111210ff",
 582            "#181917ff",
 583            "#212220ff",
 584            "#282a27ff",
 585            "#2f312eff",
 586            "#383a36ff",
 587            "#454843ff",
 588            "#5c625bff",
 589            "#687066ff",
 590            "#767d74ff",
 591            "#afb5adff",
 592            "#eceeecff",
 593        ],
 594        dark_alpha: [
 595            "#00000000",
 596            "#f1f2f008",
 597            "#f4f5f312",
 598            "#f3fef21a",
 599            "#f2fbf122",
 600            "#f4faed2c",
 601            "#f2fced3b",
 602            "#edfdeb57",
 603            "#ebfde766",
 604            "#f0fdec74",
 605            "#f6fef4b0",
 606            "#fdfffded",
 607        ],
 608    }
 609    .try_into()
 610    .unwrap()
 611}
 612
 613pub(crate) fn sand() -> ColorScaleSet {
 614    StaticColorScaleSet {
 615        scale: "Sand",
 616        light: [
 617            "#fdfdfcff",
 618            "#f9f9f8ff",
 619            "#f1f0efff",
 620            "#e9e8e6ff",
 621            "#e2e1deff",
 622            "#dad9d6ff",
 623            "#cfcecaff",
 624            "#bcbbb5ff",
 625            "#8d8d86ff",
 626            "#82827cff",
 627            "#63635eff",
 628            "#21201cff",
 629        ],
 630        light_alpha: [
 631            "#55550003",
 632            "#25250007",
 633            "#20100010",
 634            "#1f150019",
 635            "#1f180021",
 636            "#19130029",
 637            "#19140035",
 638            "#1915014a",
 639            "#0f0f0079",
 640            "#0c0c0083",
 641            "#080800a1",
 642            "#060500e3",
 643        ],
 644        dark: [
 645            "#111110ff",
 646            "#191918ff",
 647            "#222221ff",
 648            "#2a2a28ff",
 649            "#31312eff",
 650            "#3b3a37ff",
 651            "#494844ff",
 652            "#62605bff",
 653            "#6f6d66ff",
 654            "#7c7b74ff",
 655            "#b5b3adff",
 656            "#eeeeecff",
 657        ],
 658        dark_alpha: [
 659            "#00000000",
 660            "#f4f4f309",
 661            "#f6f6f513",
 662            "#fefef31b",
 663            "#fbfbeb23",
 664            "#fffaed2d",
 665            "#fffbed3c",
 666            "#fff9eb57",
 667            "#fffae965",
 668            "#fffdee73",
 669            "#fffcf4b0",
 670            "#fffffded",
 671        ],
 672    }
 673    .try_into()
 674    .unwrap()
 675}
 676
 677pub(crate) fn gold() -> ColorScaleSet {
 678    StaticColorScaleSet {
 679        scale: "Gold",
 680        light: [
 681            "#fdfdfcff",
 682            "#faf9f2ff",
 683            "#f2f0e7ff",
 684            "#eae6dbff",
 685            "#e1dccfff",
 686            "#d8d0bfff",
 687            "#cbc0aaff",
 688            "#b9a88dff",
 689            "#978365ff",
 690            "#8c7a5eff",
 691            "#71624bff",
 692            "#3b352bff",
 693        ],
 694        light_alpha: [
 695            "#55550003",
 696            "#9d8a000d",
 697            "#75600018",
 698            "#6b4e0024",
 699            "#60460030",
 700            "#64440040",
 701            "#63420055",
 702            "#633d0072",
 703            "#5332009a",
 704            "#492d00a1",
 705            "#362100b4",
 706            "#130c00d4",
 707        ],
 708        dark: [
 709            "#121211ff",
 710            "#1b1a17ff",
 711            "#24231fff",
 712            "#2d2b26ff",
 713            "#38352eff",
 714            "#444039ff",
 715            "#544f46ff",
 716            "#696256ff",
 717            "#978365ff",
 718            "#a39073ff",
 719            "#cbb99fff",
 720            "#e8e2d9ff",
 721        ],
 722        dark_alpha: [
 723            "#91911102",
 724            "#f9e29d0b",
 725            "#f8ecbb15",
 726            "#ffeec41e",
 727            "#feecc22a",
 728            "#feebcb37",
 729            "#ffedcd48",
 730            "#fdeaca5f",
 731            "#ffdba690",
 732            "#fedfb09d",
 733            "#fee7c6c8",
 734            "#fef7ede7",
 735        ],
 736    }
 737    .try_into()
 738    .unwrap()
 739}
 740
 741pub(crate) fn bronze() -> ColorScaleSet {
 742    StaticColorScaleSet {
 743        scale: "Bronze",
 744        light: [
 745            "#fdfcfcff",
 746            "#fdf7f5ff",
 747            "#f6edeaff",
 748            "#efe4dfff",
 749            "#e7d9d3ff",
 750            "#dfcdc5ff",
 751            "#d3bcb3ff",
 752            "#c2a499ff",
 753            "#a18072ff",
 754            "#957468ff",
 755            "#7d5e54ff",
 756            "#43302bff",
 757        ],
 758        light_alpha: [
 759            "#55000003",
 760            "#cc33000a",
 761            "#92250015",
 762            "#80280020",
 763            "#7423002c",
 764            "#7324003a",
 765            "#6c1f004c",
 766            "#671c0066",
 767            "#551a008d",
 768            "#4c150097",
 769            "#3d0f00ab",
 770            "#1d0600d4",
 771        ],
 772        dark: [
 773            "#141110ff",
 774            "#1c1917ff",
 775            "#262220ff",
 776            "#302a27ff",
 777            "#3b3330ff",
 778            "#493e3aff",
 779            "#5a4c47ff",
 780            "#6f5f58ff",
 781            "#a18072ff",
 782            "#ae8c7eff",
 783            "#d4b3a5ff",
 784            "#ede0d9ff",
 785        ],
 786        dark_alpha: [
 787            "#d1110004",
 788            "#fbbc910c",
 789            "#faceb817",
 790            "#facdb622",
 791            "#ffd2c12d",
 792            "#ffd1c03c",
 793            "#fdd0c04f",
 794            "#ffd6c565",
 795            "#fec7b09b",
 796            "#fecab5a9",
 797            "#ffd7c6d1",
 798            "#fff1e9ec",
 799        ],
 800    }
 801    .try_into()
 802    .unwrap()
 803}
 804
 805pub(crate) fn brown() -> ColorScaleSet {
 806    StaticColorScaleSet {
 807        scale: "Brown",
 808        light: [
 809            "#fefdfcff",
 810            "#fcf9f6ff",
 811            "#f6eee7ff",
 812            "#f0e4d9ff",
 813            "#ebdacaff",
 814            "#e4cdb7ff",
 815            "#dcbc9fff",
 816            "#cea37eff",
 817            "#ad7f58ff",
 818            "#a07553ff",
 819            "#815e46ff",
 820            "#3e332eff",
 821        ],
 822        light_alpha: [
 823            "#aa550003",
 824            "#aa550009",
 825            "#a04b0018",
 826            "#9b4a0026",
 827            "#9f4d0035",
 828            "#a04e0048",
 829            "#a34e0060",
 830            "#9f4a0081",
 831            "#823c00a7",
 832            "#723300ac",
 833            "#522100b9",
 834            "#140600d1",
 835        ],
 836        dark: [
 837            "#12110fff",
 838            "#1c1816ff",
 839            "#28211dff",
 840            "#322922ff",
 841            "#3e3128ff",
 842            "#4d3c2fff",
 843            "#614a39ff",
 844            "#7c5f46ff",
 845            "#ad7f58ff",
 846            "#b88c67ff",
 847            "#dbb594ff",
 848            "#f2e1caff",
 849        ],
 850        dark_alpha: [
 851            "#91110002",
 852            "#fba67c0c",
 853            "#fcb58c19",
 854            "#fbbb8a24",
 855            "#fcb88931",
 856            "#fdba8741",
 857            "#ffbb8856",
 858            "#ffbe8773",
 859            "#feb87da8",
 860            "#ffc18cb3",
 861            "#fed1aad9",
 862            "#feecd4f2",
 863        ],
 864    }
 865    .try_into()
 866    .unwrap()
 867}
 868
 869pub(crate) fn yellow() -> ColorScaleSet {
 870    StaticColorScaleSet {
 871        scale: "Yellow",
 872        light: [
 873            "#fdfdf9ff",
 874            "#fefce9ff",
 875            "#fffab8ff",
 876            "#fff394ff",
 877            "#ffe770ff",
 878            "#f3d768ff",
 879            "#e4c767ff",
 880            "#d5ae39ff",
 881            "#ffe629ff",
 882            "#ffdc00ff",
 883            "#9e6c00ff",
 884            "#473b1fff",
 885        ],
 886        light_alpha: [
 887            "#aaaa0006",
 888            "#f4dd0016",
 889            "#ffee0047",
 890            "#ffe3016b",
 891            "#ffd5008f",
 892            "#ebbc0097",
 893            "#d2a10098",
 894            "#c99700c6",
 895            "#ffe100d6",
 896            "#ffdc00ff",
 897            "#9e6c00ff",
 898            "#2e2000e0",
 899        ],
 900        dark: [
 901            "#14120bff",
 902            "#1b180fff",
 903            "#2d2305ff",
 904            "#362b00ff",
 905            "#433500ff",
 906            "#524202ff",
 907            "#665417ff",
 908            "#836a21ff",
 909            "#ffe629ff",
 910            "#ffff57ff",
 911            "#f5e147ff",
 912            "#f6eeb4ff",
 913        ],
 914        dark_alpha: [
 915            "#d1510004",
 916            "#f9b4000b",
 917            "#ffaa001e",
 918            "#fdb70028",
 919            "#febb0036",
 920            "#fec40046",
 921            "#fdcb225c",
 922            "#fdca327b",
 923            "#ffe629ff",
 924            "#ffff57ff",
 925            "#fee949f5",
 926            "#fef6baf6",
 927        ],
 928    }
 929    .try_into()
 930    .unwrap()
 931}
 932
 933pub(crate) fn amber() -> ColorScaleSet {
 934    StaticColorScaleSet {
 935        scale: "Amber",
 936        light: [
 937            "#fefdfbff",
 938            "#fefbe9ff",
 939            "#fff7c2ff",
 940            "#ffee9cff",
 941            "#fbe577ff",
 942            "#f3d673ff",
 943            "#e9c162ff",
 944            "#e2a336ff",
 945            "#ffc53dff",
 946            "#ffba18ff",
 947            "#ab6400ff",
 948            "#4f3422ff",
 949        ],
 950        light_alpha: [
 951            "#c0800004",
 952            "#f4d10016",
 953            "#ffde003d",
 954            "#ffd40063",
 955            "#f8cf0088",
 956            "#eab5008c",
 957            "#dc9b009d",
 958            "#da8a00c9",
 959            "#ffb300c2",
 960            "#ffb300e7",
 961            "#ab6400ff",
 962            "#341500dd",
 963        ],
 964        dark: [
 965            "#16120cff",
 966            "#1d180fff",
 967            "#302008ff",
 968            "#3f2700ff",
 969            "#4d3000ff",
 970            "#5c3d05ff",
 971            "#714f19ff",
 972            "#8f6424ff",
 973            "#ffc53dff",
 974            "#ffd60aff",
 975            "#ffca16ff",
 976            "#ffe7b3ff",
 977        ],
 978        dark_alpha: [
 979            "#e63c0006",
 980            "#fd9b000d",
 981            "#fa820022",
 982            "#fc820032",
 983            "#fd8b0041",
 984            "#fd9b0051",
 985            "#ffab2567",
 986            "#ffae3587",
 987            "#ffc53dff",
 988            "#ffd60aff",
 989            "#ffca16ff",
 990            "#ffe7b3ff",
 991        ],
 992    }
 993    .try_into()
 994    .unwrap()
 995}
 996
 997pub(crate) fn orange() -> ColorScaleSet {
 998    StaticColorScaleSet {
 999        scale: "Orange",
1000        light: [
1001            "#fefcfbff",
1002            "#fff7edff",
1003            "#ffefd6ff",
1004            "#ffdfb5ff",
1005            "#ffd19aff",
1006            "#ffc182ff",
1007            "#f5ae73ff",
1008            "#ec9455ff",
1009            "#f76b15ff",
1010            "#ef5f00ff",
1011            "#cc4e00ff",
1012            "#582d1dff",
1013        ],
1014        light_alpha: [
1015            "#c0400004",
1016            "#ff8e0012",
1017            "#ff9c0029",
1018            "#ff91014a",
1019            "#ff8b0065",
1020            "#ff81007d",
1021            "#ed6c008c",
1022            "#e35f00aa",
1023            "#f65e00ea",
1024            "#ef5f00ff",
1025            "#cc4e00ff",
1026            "#431200e2",
1027        ],
1028        dark: [
1029            "#17120eff",
1030            "#1e160fff",
1031            "#331e0bff",
1032            "#462100ff",
1033            "#562800ff",
1034            "#66350cff",
1035            "#7e451dff",
1036            "#a35829ff",
1037            "#f76b15ff",
1038            "#ff801fff",
1039            "#ffa057ff",
1040            "#ffe0c2ff",
1041        ],
1042        dark_alpha: [
1043            "#ec360007",
1044            "#fe6d000e",
1045            "#fb6a0025",
1046            "#ff590039",
1047            "#ff61004a",
1048            "#fd75045c",
1049            "#ff832c75",
1050            "#fe84389d",
1051            "#fe6d15f7",
1052            "#ff801fff",
1053            "#ffa057ff",
1054            "#ffe0c2ff",
1055        ],
1056    }
1057    .try_into()
1058    .unwrap()
1059}
1060
1061pub(crate) fn tomato() -> ColorScaleSet {
1062    StaticColorScaleSet {
1063        scale: "Tomato",
1064        light: [
1065            "#fffcfcff",
1066            "#fff8f7ff",
1067            "#feebe7ff",
1068            "#ffdcd3ff",
1069            "#ffcdc2ff",
1070            "#fdbdafff",
1071            "#f5a898ff",
1072            "#ec8e7bff",
1073            "#e54d2eff",
1074            "#dd4425ff",
1075            "#d13415ff",
1076            "#5c271fff",
1077        ],
1078        light_alpha: [
1079            "#ff000003",
1080            "#ff200008",
1081            "#f52b0018",
1082            "#ff35002c",
1083            "#ff2e003d",
1084            "#f92d0050",
1085            "#e7280067",
1086            "#db250084",
1087            "#df2600d1",
1088            "#d72400da",
1089            "#cd2200ea",
1090            "#460900e0",
1091        ],
1092        dark: [
1093            "#181111ff",
1094            "#1f1513ff",
1095            "#391714ff",
1096            "#4e1511ff",
1097            "#5e1c16ff",
1098            "#6e2920ff",
1099            "#853a2dff",
1100            "#ac4d39ff",
1101            "#e54d2eff",
1102            "#ec6142ff",
1103            "#ff977dff",
1104            "#fbd3cbff",
1105        ],
1106        dark_alpha: [
1107            "#f1121208",
1108            "#ff55330f",
1109            "#ff35232b",
1110            "#fd201142",
1111            "#fe332153",
1112            "#ff4f3864",
1113            "#fd644a7d",
1114            "#fe6d4ea7",
1115            "#fe5431e4",
1116            "#ff6847eb",
1117            "#ff977dff",
1118            "#ffd6cefb",
1119        ],
1120    }
1121    .try_into()
1122    .unwrap()
1123}
1124
1125pub(crate) fn red() -> ColorScaleSet {
1126    StaticColorScaleSet {
1127        scale: "Red",
1128        light: [
1129            "#fffcfcff",
1130            "#fff7f7ff",
1131            "#feebecff",
1132            "#ffdbdcff",
1133            "#ffcdceff",
1134            "#fdbdbeff",
1135            "#f4a9aaff",
1136            "#eb8e90ff",
1137            "#e5484dff",
1138            "#dc3e42ff",
1139            "#ce2c31ff",
1140            "#641723ff",
1141        ],
1142        light_alpha: [
1143            "#ff000003",
1144            "#ff000008",
1145            "#f3000d14",
1146            "#ff000824",
1147            "#ff000632",
1148            "#f8000442",
1149            "#df000356",
1150            "#d2000571",
1151            "#db0007b7",
1152            "#d10005c1",
1153            "#c40006d3",
1154            "#55000de8",
1155        ],
1156        dark: [
1157            "#191111ff",
1158            "#201314ff",
1159            "#3b1219ff",
1160            "#500f1cff",
1161            "#611623ff",
1162            "#72232dff",
1163            "#8c333aff",
1164            "#b54548ff",
1165            "#e5484dff",
1166            "#ec5d5eff",
1167            "#ff9592ff",
1168            "#ffd1d9ff",
1169        ],
1170        dark_alpha: [
1171            "#f4121209",
1172            "#f22f3e11",
1173            "#ff173f2d",
1174            "#fe0a3b44",
1175            "#ff204756",
1176            "#ff3e5668",
1177            "#ff536184",
1178            "#ff5d61b0",
1179            "#fe4e54e4",
1180            "#ff6465eb",
1181            "#ff9592ff",
1182            "#ffd1d9ff",
1183        ],
1184    }
1185    .try_into()
1186    .unwrap()
1187}
1188
1189pub(crate) fn ruby() -> ColorScaleSet {
1190    StaticColorScaleSet {
1191        scale: "Ruby",
1192        light: [
1193            "#fffcfdff",
1194            "#fff7f8ff",
1195            "#feeaedff",
1196            "#ffdce1ff",
1197            "#ffced6ff",
1198            "#f8bfc8ff",
1199            "#efacb8ff",
1200            "#e592a3ff",
1201            "#e54666ff",
1202            "#dc3b5dff",
1203            "#ca244dff",
1204            "#64172bff",
1205        ],
1206        light_alpha: [
1207            "#ff005503",
1208            "#ff002008",
1209            "#f3002515",
1210            "#ff002523",
1211            "#ff002a31",
1212            "#e4002440",
1213            "#ce002553",
1214            "#c300286d",
1215            "#db002cb9",
1216            "#d2002cc4",
1217            "#c10030db",
1218            "#550016e8",
1219        ],
1220        dark: [
1221            "#191113ff",
1222            "#1e1517ff",
1223            "#3a141eff",
1224            "#4e1325ff",
1225            "#5e1a2eff",
1226            "#6f2539ff",
1227            "#883447ff",
1228            "#b3445aff",
1229            "#e54666ff",
1230            "#ec5a72ff",
1231            "#ff949dff",
1232            "#fed2e1ff",
1233        ],
1234        dark_alpha: [
1235            "#f4124a09",
1236            "#fe5a7f0e",
1237            "#ff235d2c",
1238            "#fd195e42",
1239            "#fe2d6b53",
1240            "#ff447665",
1241            "#ff577d80",
1242            "#ff5c7cae",
1243            "#fe4c70e4",
1244            "#ff617beb",
1245            "#ff949dff",
1246            "#ffd3e2fe",
1247        ],
1248    }
1249    .try_into()
1250    .unwrap()
1251}
1252
1253pub(crate) fn crimson() -> ColorScaleSet {
1254    StaticColorScaleSet {
1255        scale: "Crimson",
1256        light: [
1257            "#fffcfdff",
1258            "#fef7f9ff",
1259            "#ffe9f0ff",
1260            "#fedce7ff",
1261            "#faceddff",
1262            "#f3bed1ff",
1263            "#eaacc3ff",
1264            "#e093b2ff",
1265            "#e93d82ff",
1266            "#df3478ff",
1267            "#cb1d63ff",
1268            "#621639ff",
1269        ],
1270        light_alpha: [
1271            "#ff005503",
1272            "#e0004008",
1273            "#ff005216",
1274            "#f8005123",
1275            "#e5004f31",
1276            "#d0004b41",
1277            "#bf004753",
1278            "#b6004a6c",
1279            "#e2005bc2",
1280            "#d70056cb",
1281            "#c4004fe2",
1282            "#530026e9",
1283        ],
1284        dark: [
1285            "#191114ff",
1286            "#201318ff",
1287            "#381525ff",
1288            "#4d122fff",
1289            "#5c1839ff",
1290            "#6d2545ff",
1291            "#873356ff",
1292            "#b0436eff",
1293            "#e93d82ff",
1294            "#ee518aff",
1295            "#ff92adff",
1296            "#fdd3e8ff",
1297        ],
1298        dark_alpha: [
1299            "#f4126709",
1300            "#f22f7a11",
1301            "#fe2a8b2a",
1302            "#fd158741",
1303            "#fd278f51",
1304            "#fe459763",
1305            "#fd559b7f",
1306            "#fe5b9bab",
1307            "#fe418de8",
1308            "#ff5693ed",
1309            "#ff92adff",
1310            "#ffd5eafd",
1311        ],
1312    }
1313    .try_into()
1314    .unwrap()
1315}
1316
1317pub(crate) fn pink() -> ColorScaleSet {
1318    StaticColorScaleSet {
1319        scale: "Pink",
1320        light: [
1321            "#fffcfeff",
1322            "#fef7fbff",
1323            "#fee9f5ff",
1324            "#fbdcefff",
1325            "#f6cee7ff",
1326            "#efbfddff",
1327            "#e7acd0ff",
1328            "#dd93c2ff",
1329            "#d6409fff",
1330            "#cf3897ff",
1331            "#c2298aff",
1332            "#651249ff",
1333        ],
1334        light_alpha: [
1335            "#ff00aa03",
1336            "#e0008008",
1337            "#f4008c16",
1338            "#e2008b23",
1339            "#d1008331",
1340            "#c0007840",
1341            "#b6006f53",
1342            "#af006f6c",
1343            "#c8007fbf",
1344            "#c2007ac7",
1345            "#b60074d6",
1346            "#59003bed",
1347        ],
1348        dark: [
1349            "#191117ff",
1350            "#21121dff",
1351            "#37172fff",
1352            "#4b143dff",
1353            "#591c47ff",
1354            "#692955ff",
1355            "#833869ff",
1356            "#a84885ff",
1357            "#d6409fff",
1358            "#de51a8ff",
1359            "#ff8dccff",
1360            "#fdd1eaff",
1361        ],
1362        dark_alpha: [
1363            "#f412bc09",
1364            "#f420bb12",
1365            "#fe37cc29",
1366            "#fc1ec43f",
1367            "#fd35c24e",
1368            "#fd51c75f",
1369            "#fd62c87b",
1370            "#ff68c8a2",
1371            "#fe49bcd4",
1372            "#ff5cc0dc",
1373            "#ff8dccff",
1374            "#ffd3ecfd",
1375        ],
1376    }
1377    .try_into()
1378    .unwrap()
1379}
1380
1381pub(crate) fn plum() -> ColorScaleSet {
1382    StaticColorScaleSet {
1383        scale: "Plum",
1384        light: [
1385            "#fefcffff",
1386            "#fdf7fdff",
1387            "#fbebfbff",
1388            "#f7def8ff",
1389            "#f2d1f3ff",
1390            "#e9c2ecff",
1391            "#deade3ff",
1392            "#cf91d8ff",
1393            "#ab4abaff",
1394            "#a144afff",
1395            "#953ea3ff",
1396            "#53195dff",
1397        ],
1398        light_alpha: [
1399            "#aa00ff03",
1400            "#c000c008",
1401            "#cc00cc14",
1402            "#c200c921",
1403            "#b700bd2e",
1404            "#a400b03d",
1405            "#9900a852",
1406            "#9000a56e",
1407            "#89009eb5",
1408            "#7f0092bb",
1409            "#730086c1",
1410            "#40004be6",
1411        ],
1412        dark: [
1413            "#181118ff",
1414            "#201320ff",
1415            "#351a35ff",
1416            "#451d47ff",
1417            "#512454ff",
1418            "#5e3061ff",
1419            "#734079ff",
1420            "#92549cff",
1421            "#ab4abaff",
1422            "#b658c4ff",
1423            "#e796f3ff",
1424            "#f4d4f4ff",
1425        ],
1426        dark_alpha: [
1427            "#f112f108",
1428            "#f22ff211",
1429            "#fd4cfd27",
1430            "#f646ff3a",
1431            "#f455ff48",
1432            "#f66dff56",
1433            "#f07cfd70",
1434            "#ee84ff95",
1435            "#e961feb6",
1436            "#ed70ffc0",
1437            "#f19cfef3",
1438            "#feddfef4",
1439        ],
1440    }
1441    .try_into()
1442    .unwrap()
1443}
1444
1445pub(crate) fn purple() -> ColorScaleSet {
1446    StaticColorScaleSet {
1447        scale: "Purple",
1448        light: [
1449            "#fefcfeff",
1450            "#fbf7feff",
1451            "#f7edfeff",
1452            "#f2e2fcff",
1453            "#ead5f9ff",
1454            "#e0c4f4ff",
1455            "#d1afecff",
1456            "#be93e4ff",
1457            "#8e4ec6ff",
1458            "#8347b9ff",
1459            "#8145b5ff",
1460            "#402060ff",
1461        ],
1462        light_alpha: [
1463            "#aa00aa03",
1464            "#8000e008",
1465            "#8e00f112",
1466            "#8d00e51d",
1467            "#8000db2a",
1468            "#7a01d03b",
1469            "#6d00c350",
1470            "#6600c06c",
1471            "#5c00adb1",
1472            "#53009eb8",
1473            "#52009aba",
1474            "#250049df",
1475        ],
1476        dark: [
1477            "#18111bff",
1478            "#1e1523ff",
1479            "#301c3bff",
1480            "#3d224eff",
1481            "#48295cff",
1482            "#54346bff",
1483            "#664282ff",
1484            "#8457aaff",
1485            "#8e4ec6ff",
1486            "#9a5cd0ff",
1487            "#d19dffff",
1488            "#ecd9faff",
1489        ],
1490        dark_alpha: [
1491            "#b412f90b",
1492            "#b744f714",
1493            "#c150ff2d",
1494            "#bb53fd42",
1495            "#be5cfd51",
1496            "#c16dfd61",
1497            "#c378fd7a",
1498            "#c47effa4",
1499            "#b661ffc2",
1500            "#bc6fffcd",
1501            "#d19dffff",
1502            "#f1ddfffa",
1503        ],
1504    }
1505    .try_into()
1506    .unwrap()
1507}
1508
1509pub(crate) fn violet() -> ColorScaleSet {
1510    StaticColorScaleSet {
1511        scale: "Violet",
1512        light: [
1513            "#fdfcfeff",
1514            "#faf8ffff",
1515            "#f4f0feff",
1516            "#ebe4ffff",
1517            "#e1d9ffff",
1518            "#d4cafeff",
1519            "#c2b5f5ff",
1520            "#aa99ecff",
1521            "#6e56cfff",
1522            "#654dc4ff",
1523            "#6550b9ff",
1524            "#2f265fff",
1525        ],
1526        light_alpha: [
1527            "#5500aa03",
1528            "#4900ff07",
1529            "#4400ee0f",
1530            "#4300ff1b",
1531            "#3600ff26",
1532            "#3100fb35",
1533            "#2d01dd4a",
1534            "#2b00d066",
1535            "#2400b7a9",
1536            "#2300abb2",
1537            "#1f0099af",
1538            "#0b0043d9",
1539        ],
1540        dark: [
1541            "#14121fff",
1542            "#1b1525ff",
1543            "#291f43ff",
1544            "#33255bff",
1545            "#3c2e69ff",
1546            "#473876ff",
1547            "#56468bff",
1548            "#6958adff",
1549            "#6e56cfff",
1550            "#7d66d9ff",
1551            "#baa7ffff",
1552            "#e2ddfeff",
1553        ],
1554        dark_alpha: [
1555            "#4422ff0f",
1556            "#853ff916",
1557            "#8354fe36",
1558            "#7d51fd50",
1559            "#845ffd5f",
1560            "#8f6cfd6d",
1561            "#9879ff83",
1562            "#977dfea8",
1563            "#8668ffcc",
1564            "#9176fed7",
1565            "#baa7ffff",
1566            "#e3defffe",
1567        ],
1568    }
1569    .try_into()
1570    .unwrap()
1571}
1572
1573pub(crate) fn iris() -> ColorScaleSet {
1574    StaticColorScaleSet {
1575        scale: "Iris",
1576        light: [
1577            "#fdfdffff",
1578            "#f8f8ffff",
1579            "#f0f1feff",
1580            "#e6e7ffff",
1581            "#dadcffff",
1582            "#cbcdffff",
1583            "#b8baf8ff",
1584            "#9b9ef0ff",
1585            "#5b5bd6ff",
1586            "#5151cdff",
1587            "#5753c6ff",
1588            "#272962ff",
1589        ],
1590        light_alpha: [
1591            "#0000ff02",
1592            "#0000ff07",
1593            "#0011ee0f",
1594            "#000bff19",
1595            "#000eff25",
1596            "#000aff34",
1597            "#0008e647",
1598            "#0008d964",
1599            "#0000c0a4",
1600            "#0000b6ae",
1601            "#0600abac",
1602            "#000246d8",
1603        ],
1604        dark: [
1605            "#13131eff",
1606            "#171625ff",
1607            "#202248ff",
1608            "#262a65ff",
1609            "#303374ff",
1610            "#3d3e82ff",
1611            "#4a4a95ff",
1612            "#5958b1ff",
1613            "#5b5bd6ff",
1614            "#6e6adeff",
1615            "#b1a9ffff",
1616            "#e0dffeff",
1617        ],
1618        dark_alpha: [
1619            "#3636fe0e",
1620            "#564bf916",
1621            "#525bff3b",
1622            "#4d58ff5a",
1623            "#5b62fd6b",
1624            "#6d6ffd7a",
1625            "#7777fe8e",
1626            "#7b7afeac",
1627            "#6a6afed4",
1628            "#7d79ffdc",
1629            "#b1a9ffff",
1630            "#e1e0fffe",
1631        ],
1632    }
1633    .try_into()
1634    .unwrap()
1635}
1636
1637pub(crate) fn indigo() -> ColorScaleSet {
1638    StaticColorScaleSet {
1639        scale: "Indigo",
1640        light: [
1641            "#fdfdfeff",
1642            "#f7f9ffff",
1643            "#edf2feff",
1644            "#e1e9ffff",
1645            "#d2deffff",
1646            "#c1d0ffff",
1647            "#abbdf9ff",
1648            "#8da4efff",
1649            "#3e63ddff",
1650            "#3358d4ff",
1651            "#3a5bc7ff",
1652            "#1f2d5cff",
1653        ],
1654        light_alpha: [
1655            "#00008002",
1656            "#0040ff08",
1657            "#0047f112",
1658            "#0044ff1e",
1659            "#0044ff2d",
1660            "#003eff3e",
1661            "#0037ed54",
1662            "#0034dc72",
1663            "#0031d2c1",
1664            "#002ec9cc",
1665            "#002bb7c5",
1666            "#001046e0",
1667        ],
1668        dark: [
1669            "#11131fff",
1670            "#141726ff",
1671            "#182449ff",
1672            "#1d2e62ff",
1673            "#253974ff",
1674            "#304384ff",
1675            "#3a4f97ff",
1676            "#435db1ff",
1677            "#3e63ddff",
1678            "#5472e4ff",
1679            "#9eb1ffff",
1680            "#d6e1ffff",
1681        ],
1682        dark_alpha: [
1683            "#1133ff0f",
1684            "#3354fa17",
1685            "#2f62ff3c",
1686            "#3566ff57",
1687            "#4171fd6b",
1688            "#5178fd7c",
1689            "#5a7fff90",
1690            "#5b81feac",
1691            "#4671ffdb",
1692            "#5c7efee3",
1693            "#9eb1ffff",
1694            "#d6e1ffff",
1695        ],
1696    }
1697    .try_into()
1698    .unwrap()
1699}
1700
1701pub(crate) fn blue() -> ColorScaleSet {
1702    StaticColorScaleSet {
1703        scale: "Blue",
1704        light: [
1705            "#fbfdffff",
1706            "#f4faffff",
1707            "#e6f4feff",
1708            "#d5efffff",
1709            "#c2e5ffff",
1710            "#acd8fcff",
1711            "#8ec8f6ff",
1712            "#5eb1efff",
1713            "#0090ffff",
1714            "#0588f0ff",
1715            "#0d74ceff",
1716            "#113264ff",
1717        ],
1718        light_alpha: [
1719            "#0080ff04",
1720            "#008cff0b",
1721            "#008ff519",
1722            "#009eff2a",
1723            "#0093ff3d",
1724            "#0088f653",
1725            "#0083eb71",
1726            "#0084e6a1",
1727            "#0090ffff",
1728            "#0086f0fa",
1729            "#006dcbf2",
1730            "#002359ee",
1731        ],
1732        dark: [
1733            "#0d1520ff",
1734            "#111927ff",
1735            "#0d2847ff",
1736            "#003362ff",
1737            "#004074ff",
1738            "#104d87ff",
1739            "#205d9eff",
1740            "#2870bdff",
1741            "#0090ffff",
1742            "#3b9effff",
1743            "#70b8ffff",
1744            "#c2e6ffff",
1745        ],
1746        dark_alpha: [
1747            "#004df211",
1748            "#1166fb18",
1749            "#0077ff3a",
1750            "#0075ff57",
1751            "#0081fd6b",
1752            "#0f89fd7f",
1753            "#2a91fe98",
1754            "#3094feb9",
1755            "#0090ffff",
1756            "#3b9effff",
1757            "#70b8ffff",
1758            "#c2e6ffff",
1759        ],
1760    }
1761    .try_into()
1762    .unwrap()
1763}
1764
1765pub(crate) fn cyan() -> ColorScaleSet {
1766    StaticColorScaleSet {
1767        scale: "Cyan",
1768        light: [
1769            "#fafdfeff",
1770            "#f2fafbff",
1771            "#def7f9ff",
1772            "#caf1f6ff",
1773            "#b5e9f0ff",
1774            "#9ddde7ff",
1775            "#7dcedcff",
1776            "#3db9cfff",
1777            "#00a2c7ff",
1778            "#0797b9ff",
1779            "#107d98ff",
1780            "#0d3c48ff",
1781        ],
1782        light_alpha: [
1783            "#0099cc05",
1784            "#009db10d",
1785            "#00c2d121",
1786            "#00bcd435",
1787            "#01b4cc4a",
1788            "#00a7c162",
1789            "#009fbb82",
1790            "#00a3c0c2",
1791            "#00a2c7ff",
1792            "#0094b7f8",
1793            "#007491ef",
1794            "#00323ef2",
1795        ],
1796        dark: [
1797            "#0b161aff",
1798            "#101b20ff",
1799            "#082c36ff",
1800            "#003848ff",
1801            "#004558ff",
1802            "#045468ff",
1803            "#12677eff",
1804            "#11809cff",
1805            "#00a2c7ff",
1806            "#23afd0ff",
1807            "#4ccce6ff",
1808            "#b6ecf7ff",
1809        ],
1810        dark_alpha: [
1811            "#0091f70a",
1812            "#02a7f211",
1813            "#00befd28",
1814            "#00baff3b",
1815            "#00befd4d",
1816            "#00c7fd5e",
1817            "#14cdff75",
1818            "#11cfff95",
1819            "#00cfffc3",
1820            "#28d6ffcd",
1821            "#52e1fee5",
1822            "#bbf3fef7",
1823        ],
1824    }
1825    .try_into()
1826    .unwrap()
1827}
1828
1829pub(crate) fn teal() -> ColorScaleSet {
1830    StaticColorScaleSet {
1831        scale: "Teal",
1832        light: [
1833            "#fafefdff",
1834            "#f3fbf9ff",
1835            "#e0f8f3ff",
1836            "#ccf3eaff",
1837            "#b8eae0ff",
1838            "#a1ded2ff",
1839            "#83cdc1ff",
1840            "#53b9abff",
1841            "#12a594ff",
1842            "#0d9b8aff",
1843            "#008573ff",
1844            "#0d3d38ff",
1845        ],
1846        light_alpha: [
1847            "#00cc9905",
1848            "#00aa800c",
1849            "#00c69d1f",
1850            "#00c39633",
1851            "#00b49047",
1852            "#00a6855e",
1853            "#0099807c",
1854            "#009783ac",
1855            "#009e8ced",
1856            "#009684f2",
1857            "#008573ff",
1858            "#00332df2",
1859        ],
1860        dark: [
1861            "#0d1514ff",
1862            "#111c1bff",
1863            "#0d2d2aff",
1864            "#023b37ff",
1865            "#084843ff",
1866            "#145750ff",
1867            "#1c6961ff",
1868            "#207e73ff",
1869            "#12a594ff",
1870            "#0eb39eff",
1871            "#0bd8b6ff",
1872            "#adf0ddff",
1873        ],
1874        dark_alpha: [
1875            "#00deab05",
1876            "#12fbe60c",
1877            "#00ffe61e",
1878            "#00ffe92d",
1879            "#00ffea3b",
1880            "#1cffe84b",
1881            "#2efde85f",
1882            "#32ffe775",
1883            "#13ffe49f",
1884            "#0dffe0ae",
1885            "#0afed5d6",
1886            "#b8ffebef",
1887        ],
1888    }
1889    .try_into()
1890    .unwrap()
1891}
1892
1893pub(crate) fn jade() -> ColorScaleSet {
1894    StaticColorScaleSet {
1895        scale: "Jade",
1896        light: [
1897            "#fbfefdff",
1898            "#f4fbf7ff",
1899            "#e6f7edff",
1900            "#d6f1e3ff",
1901            "#c3e9d7ff",
1902            "#acdec8ff",
1903            "#8bceb6ff",
1904            "#56ba9fff",
1905            "#29a383ff",
1906            "#26997bff",
1907            "#208368ff",
1908            "#1d3b31ff",
1909        ],
1910        light_alpha: [
1911            "#00c08004",
1912            "#00a3460b",
1913            "#00ae4819",
1914            "#00a85129",
1915            "#00a2553c",
1916            "#009a5753",
1917            "#00945f74",
1918            "#00976ea9",
1919            "#00916bd6",
1920            "#008764d9",
1921            "#007152df",
1922            "#002217e2",
1923        ],
1924        dark: [
1925            "#0d1512ff",
1926            "#121c18ff",
1927            "#0f2e22ff",
1928            "#0b3b2cff",
1929            "#114837ff",
1930            "#1b5745ff",
1931            "#246854ff",
1932            "#2a7e68ff",
1933            "#29a383ff",
1934            "#27b08bff",
1935            "#1fd8a4ff",
1936            "#adf0d4ff",
1937        ],
1938        dark_alpha: [
1939            "#00de4505",
1940            "#27fba60c",
1941            "#02f99920",
1942            "#00ffaa2d",
1943            "#11ffb63b",
1944            "#34ffc24b",
1945            "#45fdc75e",
1946            "#48ffcf75",
1947            "#38feca9d",
1948            "#31fec7ab",
1949            "#21fec0d6",
1950            "#b8ffe1ef",
1951        ],
1952    }
1953    .try_into()
1954    .unwrap()
1955}
1956
1957pub(crate) fn green() -> ColorScaleSet {
1958    StaticColorScaleSet {
1959        scale: "Green",
1960        light: [
1961            "#fbfefcff",
1962            "#f4fbf6ff",
1963            "#e6f6ebff",
1964            "#d6f1dfff",
1965            "#c4e8d1ff",
1966            "#adddc0ff",
1967            "#8eceaaff",
1968            "#5bb98bff",
1969            "#30a46cff",
1970            "#2b9a66ff",
1971            "#218358ff",
1972            "#193b2dff",
1973        ],
1974        light_alpha: [
1975            "#00c04004",
1976            "#00a32f0b",
1977            "#00a43319",
1978            "#00a83829",
1979            "#019c393b",
1980            "#00963c52",
1981            "#00914071",
1982            "#00924ba4",
1983            "#008f4acf",
1984            "#008647d4",
1985            "#00713fde",
1986            "#002616e6",
1987        ],
1988        dark: [
1989            "#0e1512ff",
1990            "#121b17ff",
1991            "#132d21ff",
1992            "#113b29ff",
1993            "#174933ff",
1994            "#20573eff",
1995            "#28684aff",
1996            "#2f7c57ff",
1997            "#30a46cff",
1998            "#33b074ff",
1999            "#3dd68cff",
2000            "#b1f1cbff",
2001        ],
2002        dark_alpha: [
2003            "#00de4505",
2004            "#29f99d0b",
2005            "#22ff991e",
2006            "#11ff992d",
2007            "#2bffa23c",
2008            "#44ffaa4b",
2009            "#50fdac5e",
2010            "#54ffad73",
2011            "#44ffa49e",
2012            "#43fea4ab",
2013            "#46fea5d4",
2014            "#bbffd7f0",
2015        ],
2016    }
2017    .try_into()
2018    .unwrap()
2019}
2020
2021pub(crate) fn grass() -> ColorScaleSet {
2022    StaticColorScaleSet {
2023        scale: "Grass",
2024        light: [
2025            "#fbfefbff",
2026            "#f5fbf5ff",
2027            "#e9f6e9ff",
2028            "#daf1dbff",
2029            "#c9e8caff",
2030            "#b2ddb5ff",
2031            "#94ce9aff",
2032            "#65ba74ff",
2033            "#46a758ff",
2034            "#3e9b4fff",
2035            "#2a7e3bff",
2036            "#203c25ff",
2037        ],
2038        light_alpha: [
2039            "#00c00004",
2040            "#0099000a",
2041            "#00970016",
2042            "#009f0725",
2043            "#00930536",
2044            "#008f0a4d",
2045            "#018b0f6b",
2046            "#008d199a",
2047            "#008619b9",
2048            "#007b17c1",
2049            "#006514d5",
2050            "#002006df",
2051        ],
2052        dark: [
2053            "#0e1511ff",
2054            "#141a15ff",
2055            "#1b2a1eff",
2056            "#1d3a24ff",
2057            "#25482dff",
2058            "#2d5736ff",
2059            "#366740ff",
2060            "#3e7949ff",
2061            "#46a758ff",
2062            "#53b365ff",
2063            "#71d083ff",
2064            "#c2f0c2ff",
2065        ],
2066        dark_alpha: [
2067            "#00de1205",
2068            "#5ef7780a",
2069            "#70fe8c1b",
2070            "#57ff802c",
2071            "#68ff8b3b",
2072            "#71ff8f4b",
2073            "#77fd925d",
2074            "#77fd9070",
2075            "#65ff82a1",
2076            "#72ff8dae",
2077            "#89ff9fcd",
2078            "#ceffceef",
2079        ],
2080    }
2081    .try_into()
2082    .unwrap()
2083}
2084
2085pub(crate) fn lime() -> ColorScaleSet {
2086    StaticColorScaleSet {
2087        scale: "Lime",
2088        light: [
2089            "#fcfdfaff",
2090            "#f8faf3ff",
2091            "#eef6d6ff",
2092            "#e2f0bdff",
2093            "#d3e7a6ff",
2094            "#c2da91ff",
2095            "#abc978ff",
2096            "#8db654ff",
2097            "#bdee63ff",
2098            "#b0e64cff",
2099            "#5c7c2fff",
2100            "#37401cff",
2101        ],
2102        light_alpha: [
2103            "#66990005",
2104            "#6b95000c",
2105            "#96c80029",
2106            "#8fc60042",
2107            "#81bb0059",
2108            "#72aa006e",
2109            "#61990087",
2110            "#559200ab",
2111            "#93e4009c",
2112            "#8fdc00b3",
2113            "#375f00d0",
2114            "#1e2900e3",
2115        ],
2116        dark: [
2117            "#11130cff",
2118            "#151a10ff",
2119            "#1f2917ff",
2120            "#29371dff",
2121            "#334423ff",
2122            "#3d522aff",
2123            "#496231ff",
2124            "#577538ff",
2125            "#bdee63ff",
2126            "#d4ff70ff",
2127            "#bde56cff",
2128            "#e3f7baff",
2129        ],
2130        dark_alpha: [
2131            "#11bb0003",
2132            "#78f7000a",
2133            "#9bfd4c1a",
2134            "#a7fe5c29",
2135            "#affe6537",
2136            "#b2fe6d46",
2137            "#b6ff6f57",
2138            "#b6fd6d6c",
2139            "#caff69ed",
2140            "#d4ff70ff",
2141            "#d1fe77e4",
2142            "#e9febff7",
2143        ],
2144    }
2145    .try_into()
2146    .unwrap()
2147}
2148
2149pub(crate) fn mint() -> ColorScaleSet {
2150    StaticColorScaleSet {
2151        scale: "Mint",
2152        light: [
2153            "#f9fefdff",
2154            "#f2fbf9ff",
2155            "#ddf9f2ff",
2156            "#c8f4e9ff",
2157            "#b3ecdeff",
2158            "#9ce0d0ff",
2159            "#7ecfbdff",
2160            "#4cbba5ff",
2161            "#86ead4ff",
2162            "#7de0cbff",
2163            "#027864ff",
2164            "#16433cff",
2165        ],
2166        light_alpha: [
2167            "#00d5aa06",
2168            "#00b18a0d",
2169            "#00d29e22",
2170            "#00cc9937",
2171            "#00c0914c",
2172            "#00b08663",
2173            "#00a17d81",
2174            "#009e7fb3",
2175            "#00d3a579",
2176            "#00c39982",
2177            "#007763fd",
2178            "#00312ae9",
2179        ],
2180        dark: [
2181            "#0e1515ff",
2182            "#0f1b1bff",
2183            "#092c2bff",
2184            "#003a38ff",
2185            "#004744ff",
2186            "#105650ff",
2187            "#1e685fff",
2188            "#277f70ff",
2189            "#86ead4ff",
2190            "#a8f5e5ff",
2191            "#58d5baff",
2192            "#c4f5e1ff",
2193        ],
2194        dark_alpha: [
2195            "#00dede05",
2196            "#00f9f90b",
2197            "#00fff61d",
2198            "#00fff42c",
2199            "#00fff23a",
2200            "#0effeb4a",
2201            "#34fde55e",
2202            "#41ffdf76",
2203            "#92ffe7e9",
2204            "#aefeedf5",
2205            "#67ffded2",
2206            "#cbfee9f5",
2207        ],
2208    }
2209    .try_into()
2210    .unwrap()
2211}
2212
2213pub(crate) fn sky() -> ColorScaleSet {
2214    StaticColorScaleSet {
2215        scale: "Sky",
2216        light: [
2217            "#f9feffff",
2218            "#f1fafdff",
2219            "#e1f6fdff",
2220            "#d1f0faff",
2221            "#bee7f5ff",
2222            "#a9daedff",
2223            "#8dcae3ff",
2224            "#60b3d7ff",
2225            "#7ce2feff",
2226            "#74daf8ff",
2227            "#00749eff",
2228            "#1d3e56ff",
2229        ],
2230        light_alpha: [
2231            "#00d5ff06",
2232            "#00a4db0e",
2233            "#00b3ee1e",
2234            "#00ace42e",
2235            "#00a1d841",
2236            "#0092ca56",
2237            "#0089c172",
2238            "#0085bf9f",
2239            "#00c7fe83",
2240            "#00bcf38b",
2241            "#00749eff",
2242            "#002540e2",
2243        ],
2244        dark: [
2245            "#0d141fff",
2246            "#111a27ff",
2247            "#112840ff",
2248            "#113555ff",
2249            "#154467ff",
2250            "#1b537bff",
2251            "#1f6692ff",
2252            "#197caeff",
2253            "#7ce2feff",
2254            "#a8eeffff",
2255            "#75c7f0ff",
2256            "#c2f3ffff",
2257        ],
2258        dark_alpha: [
2259            "#0044ff0f",
2260            "#1171fb18",
2261            "#1184fc33",
2262            "#128fff49",
2263            "#1c9dfd5d",
2264            "#28a5ff72",
2265            "#2badfe8b",
2266            "#1db2fea9",
2267            "#7ce3fffe",
2268            "#a8eeffff",
2269            "#7cd3ffef",
2270            "#c2f3ffff",
2271        ],
2272    }
2273    .try_into()
2274    .unwrap()
2275}
2276
2277pub(crate) fn black() -> ColorScaleSet {
2278    StaticColorScaleSet {
2279        scale: "Black",
2280        light: [
2281            "#0000000d",
2282            "#0000001a",
2283            "#00000026",
2284            "#00000033",
2285            "#0000004d",
2286            "#00000066",
2287            "#00000080",
2288            "#00000099",
2289            "#000000b3",
2290            "#000000cc",
2291            "#000000e6",
2292            "#000000f2",
2293        ],
2294        light_alpha: [
2295            "#0000000d",
2296            "#0000001a",
2297            "#00000026",
2298            "#00000033",
2299            "#0000004d",
2300            "#00000066",
2301            "#00000080",
2302            "#00000099",
2303            "#000000b3",
2304            "#000000cc",
2305            "#000000e6",
2306            "#000000f2",
2307        ],
2308        dark: [
2309            "#0000000d",
2310            "#0000001a",
2311            "#00000026",
2312            "#00000033",
2313            "#0000004d",
2314            "#00000066",
2315            "#00000080",
2316            "#00000099",
2317            "#000000b3",
2318            "#000000cc",
2319            "#000000e6",
2320            "#000000f2",
2321        ],
2322        dark_alpha: [
2323            "#0000000d",
2324            "#0000001a",
2325            "#00000026",
2326            "#00000033",
2327            "#0000004d",
2328            "#00000066",
2329            "#00000080",
2330            "#00000099",
2331            "#000000b3",
2332            "#000000cc",
2333            "#000000e6",
2334            "#000000f2",
2335        ],
2336    }
2337    .try_into()
2338    .unwrap()
2339}
2340
2341pub(crate) fn white() -> ColorScaleSet {
2342    StaticColorScaleSet {
2343        scale: "White",
2344        light: [
2345            "#ffffff0d",
2346            "#ffffff1a",
2347            "#ffffff26",
2348            "#ffffff33",
2349            "#ffffff4d",
2350            "#ffffff66",
2351            "#ffffff80",
2352            "#ffffff99",
2353            "#ffffffb3",
2354            "#ffffffcc",
2355            "#ffffffe6",
2356            "#fffffff2",
2357        ],
2358        light_alpha: [
2359            "#ffffff0d",
2360            "#ffffff1a",
2361            "#ffffff26",
2362            "#ffffff33",
2363            "#ffffff4d",
2364            "#ffffff66",
2365            "#ffffff80",
2366            "#ffffff99",
2367            "#ffffffb3",
2368            "#ffffffcc",
2369            "#ffffffe6",
2370            "#fffffff2",
2371        ],
2372        dark: [
2373            "#ffffff0d",
2374            "#ffffff1a",
2375            "#ffffff26",
2376            "#ffffff33",
2377            "#ffffff4d",
2378            "#ffffff66",
2379            "#ffffff80",
2380            "#ffffff99",
2381            "#ffffffb3",
2382            "#ffffffcc",
2383            "#ffffffe6",
2384            "#fffffff2",
2385        ],
2386        dark_alpha: [
2387            "#ffffff0d",
2388            "#ffffff1a",
2389            "#ffffff26",
2390            "#ffffff33",
2391            "#ffffff4d",
2392            "#ffffff66",
2393            "#ffffff80",
2394            "#ffffff99",
2395            "#ffffffb3",
2396            "#ffffffcc",
2397            "#ffffffe6",
2398            "#fffffff2",
2399        ],
2400    }
2401    .try_into()
2402    .unwrap()
2403}