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