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