Start using base theme in zed1 theme importer

Nate Butler and Marshall Bowers created

Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>

Change summary

crates/theme/src/theme.rs                   |   8 
crates/theme2/src/themes/andromeda.rs       |  23 +
crates/theme2/src/themes/atelier.rs         | 460 +++++++++++++++++++++--
crates/theme2/src/themes/ayu.rs             |  69 +++
crates/theme2/src/themes/gruvbox.rs         | 138 ++++++
crates/theme2/src/themes/one.rs             |  46 ++
crates/theme2/src/themes/rose_pine.rs       |  69 +++
crates/theme2/src/themes/sandcastle.rs      |  23 +
crates/theme2/src/themes/solarized.rs       |  46 ++
crates/theme2/src/themes/summercamp.rs      |  23 +
crates/theme_importer/src/zed1/converter.rs | 103 +++-
styles/src/style_tree/app.ts                |   1 
12 files changed, 890 insertions(+), 119 deletions(-)

Detailed changes

crates/theme/src/theme.rs 🔗

@@ -8,7 +8,7 @@ use components::{
 };
 use gpui::{
     color::Color,
-    elements::{Border, ContainerStyle, ImageStyle, LabelStyle, Shadow, SvgStyle, TooltipStyle},
+    elements::{Border, ContainerStyle, ImageStyle, LabelStyle, SvgStyle, TooltipStyle},
     fonts::{HighlightStyle, TextStyle},
     platform, AppContext, AssetSource, MouseState,
 };
@@ -1276,15 +1276,9 @@ pub struct WelcomeStyle {
 pub struct ColorScheme {
     pub name: String,
     pub is_light: bool,
-    pub ramps: RampSet,
     pub lowest: Layer,
     pub middle: Layer,
     pub highest: Layer,
-
-    pub popover_shadow: Shadow,
-    pub modal_shadow: Shadow,
-
-    pub players: Vec<Player>,
 }
 
 #[derive(Clone, Deserialize, Default, JsonSchema)]

crates/theme2/src/themes/andromeda.rs 🔗

@@ -19,19 +19,37 @@ pub fn andromeda() -> UserThemeFamily {
             appearance: Appearance::Dark,
             styles: UserThemeStylesRefinement {
                 colors: ThemeColorsRefinement {
-                    border: Some(rgba(0x252931ff).into()),
-                    border_variant: Some(rgba(0x21232aff).into()),
+                    border: Some(rgba(0x2b2f39ff).into()),
+                    border_variant: Some(rgba(0x2b2f39ff).into()),
+                    border_focused: Some(rgba(0x183a34ff).into()),
+                    border_selected: Some(rgba(0x183a34ff).into()),
+                    border_transparent: Some(rgba(0x00000000).into()),
+                    border_disabled: Some(rgba(0x292d37ff).into()),
                     elevated_surface_background: Some(rgba(0x21242bff).into()),
+                    surface_background: Some(rgba(0x21242bff).into()),
                     background: Some(rgba(0x262a33ff).into()),
                     panel_background: Some(rgba(0x21242bff).into()),
+                    element_background: Some(rgba(0x21242bff).into()),
                     element_hover: Some(rgba(0x2b2f3980).into()),
+                    element_active: Some(rgba(0x2a2f39ff).into()),
                     element_selected: Some(rgba(0x383b4580).into()),
+                    element_disabled: Some(rgba(0x21242bff).into()),
                     drop_target_background: Some(rgba(0xaca8ae80).into()),
+                    ghost_element_background: Some(rgba(0x00000000).into()),
+                    ghost_element_hover: Some(rgba(0x2b2f3980).into()),
+                    ghost_element_active: Some(rgba(0x2a2f39ff).into()),
+                    ghost_element_selected: Some(rgba(0x383b4580).into()),
+                    ghost_element_disabled: Some(rgba(0x21242bff).into()),
                     text: Some(rgba(0xf7f7f8ff).into()),
                     text_muted: Some(rgba(0xaca8aeff).into()),
                     text_placeholder: Some(rgba(0x474a53ff).into()),
                     text_disabled: Some(rgba(0xf7f7f8ff).into()),
                     text_accent: Some(rgba(0x11a793ff).into()),
+                    icon: Some(rgba(0xf7f7f8ff).into()),
+                    icon_muted: Some(rgba(0xaca8aeff).into()),
+                    icon_disabled: Some(rgba(0x6b6b73ff).into()),
+                    icon_placeholder: Some(rgba(0xaca8aeff).into()),
+                    icon_accent: Some(rgba(0x11a793ff).into()),
                     status_bar_background: Some(rgba(0x262a33ff).into()),
                     title_bar_background: Some(rgba(0x262a33ff).into()),
                     toolbar_background: Some(rgba(0x1e2025ff).into()),
@@ -41,6 +59,7 @@ pub fn andromeda() -> UserThemeFamily {
                     scrollbar_thumb_background: Some(rgba(0xf7f7f84d).into()),
                     scrollbar_thumb_hover_background: Some(rgba(0xf7f7f84d).into()),
                     scrollbar_thumb_border: Some(rgba(0x21232aff).into()),
+                    scrollbar_track_background: Some(rgba(0x1e2025ff).into()),
                     scrollbar_track_border: Some(rgba(0x21232aff).into()),
                     editor_foreground: Some(rgba(0xf7f7f8ff).into()),
                     editor_background: Some(rgba(0x1e2025ff).into()),

crates/theme2/src/themes/atelier.rs 🔗

@@ -20,19 +20,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xd1d0c6ff).into()),
-                        border_variant: Some(rgba(0xedece5ff).into()),
+                        border: Some(rgba(0x969585ff).into()),
+                        border_variant: Some(rgba(0x969585ff).into()),
+                        border_focused: Some(rgba(0xbbddc6ff).into()),
+                        border_selected: Some(rgba(0xbbddc6ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xadac9fff).into()),
                         elevated_surface_background: Some(rgba(0xebeae3ff).into()),
+                        surface_background: Some(rgba(0xebeae3ff).into()),
                         background: Some(rgba(0xc5c4b9ff).into()),
                         panel_background: Some(rgba(0xebeae3ff).into()),
+                        element_background: Some(rgba(0xebeae3ff).into()),
                         element_hover: Some(rgba(0x96958580).into()),
+                        element_active: Some(rgba(0x989788ff).into()),
                         element_selected: Some(rgba(0x8b8a7880).into()),
+                        element_disabled: Some(rgba(0xebeae3ff).into()),
                         drop_target_background: Some(rgba(0x61604f80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x96958580).into()),
+                        ghost_element_active: Some(rgba(0x989788ff).into()),
+                        ghost_element_selected: Some(rgba(0x8b8a7880).into()),
+                        ghost_element_disabled: Some(rgba(0xebeae3ff).into()),
                         text: Some(rgba(0x22221bff).into()),
                         text_muted: Some(rgba(0x61604fff).into()),
                         text_placeholder: Some(rgba(0x878573ff).into()),
                         text_disabled: Some(rgba(0x22221bff).into()),
                         text_accent: Some(rgba(0x38a166ff).into()),
+                        icon: Some(rgba(0x22221bff).into()),
+                        icon_muted: Some(rgba(0x61604fff).into()),
+                        icon_disabled: Some(rgba(0x767463ff).into()),
+                        icon_placeholder: Some(rgba(0x61604fff).into()),
+                        icon_accent: Some(rgba(0x38a166ff).into()),
                         status_bar_background: Some(rgba(0xc5c4b9ff).into()),
                         title_bar_background: Some(rgba(0xc5c4b9ff).into()),
                         toolbar_background: Some(rgba(0xf4f3ecff).into()),
@@ -42,6 +60,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x22221b4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x22221b4d).into()),
                         scrollbar_thumb_border: Some(rgba(0xedece5ff).into()),
+                        scrollbar_track_background: Some(rgba(0xf4f3ecff).into()),
                         scrollbar_track_border: Some(rgba(0xedece5ff).into()),
                         editor_foreground: Some(rgba(0x302f27ff).into()),
                         editor_background: Some(rgba(0xf4f3ecff).into()),
@@ -425,19 +444,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x3b3431ff).into()),
-                        border_variant: Some(rgba(0x251f1dff).into()),
+                        border: Some(rgba(0x665f5cff).into()),
+                        border_variant: Some(rgba(0x665f5cff).into()),
+                        border_focused: Some(rgba(0x192e5bff).into()),
+                        border_selected: Some(rgba(0x192e5bff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x554e4bff).into()),
                         elevated_surface_background: Some(rgba(0x27211eff).into()),
+                        surface_background: Some(rgba(0x27211eff).into()),
                         background: Some(rgba(0x443c39ff).into()),
                         panel_background: Some(rgba(0x27211eff).into()),
+                        element_background: Some(rgba(0x27211eff).into()),
                         element_hover: Some(rgba(0x665f5c80).into()),
+                        element_active: Some(rgba(0x645d5aff).into()),
                         element_selected: Some(rgba(0x71696680).into()),
+                        element_disabled: Some(rgba(0x27211eff).into()),
                         drop_target_background: Some(rgba(0xa79f9d80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x665f5c80).into()),
+                        ghost_element_active: Some(rgba(0x645d5aff).into()),
+                        ghost_element_selected: Some(rgba(0x71696680).into()),
+                        ghost_element_disabled: Some(rgba(0x27211eff).into()),
                         text: Some(rgba(0xf1efeeff).into()),
                         text_muted: Some(rgba(0xa79f9dff).into()),
                         text_placeholder: Some(rgba(0x766e6bff).into()),
                         text_disabled: Some(rgba(0xf1efeeff).into()),
                         text_accent: Some(rgba(0x417ee6ff).into()),
+                        icon: Some(rgba(0xf1efeeff).into()),
+                        icon_muted: Some(rgba(0xa79f9dff).into()),
+                        icon_disabled: Some(rgba(0x8e8683ff).into()),
+                        icon_placeholder: Some(rgba(0xa79f9dff).into()),
+                        icon_accent: Some(rgba(0x417ee6ff).into()),
                         status_bar_background: Some(rgba(0x443c39ff).into()),
                         title_bar_background: Some(rgba(0x443c39ff).into()),
                         toolbar_background: Some(rgba(0x1b1918ff).into()),
@@ -447,6 +484,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xf1efee4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xf1efee4d).into()),
                         scrollbar_thumb_border: Some(rgba(0x251f1dff).into()),
+                        scrollbar_track_background: Some(rgba(0x1b1918ff).into()),
                         scrollbar_track_border: Some(rgba(0x251f1dff).into()),
                         editor_foreground: Some(rgba(0xe6e2e0ff).into()),
                         editor_background: Some(rgba(0x1b1918ff).into()),
@@ -830,19 +868,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xc8d1cbff).into()),
-                        border_variant: Some(rgba(0xe5ede7ff).into()),
+                        border: Some(rgba(0x8b968eff).into()),
+                        border_variant: Some(rgba(0x8b968eff).into()),
+                        border_focused: Some(rgba(0xbed4d6ff).into()),
+                        border_selected: Some(rgba(0xbed4d6ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xa3ada6ff).into()),
                         elevated_surface_background: Some(rgba(0xe3ebe6ff).into()),
+                        surface_background: Some(rgba(0xe3ebe6ff).into()),
                         background: Some(rgba(0xbcc5bfff).into()),
                         panel_background: Some(rgba(0xe3ebe6ff).into()),
+                        element_background: Some(rgba(0xe3ebe6ff).into()),
                         element_hover: Some(rgba(0x8b968e80).into()),
+                        element_active: Some(rgba(0x8d9890ff).into()),
                         element_selected: Some(rgba(0x7e8b8280).into()),
+                        element_disabled: Some(rgba(0xe3ebe6ff).into()),
                         drop_target_background: Some(rgba(0x54625980).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x8b968e80).into()),
+                        ghost_element_active: Some(rgba(0x8d9890ff).into()),
+                        ghost_element_selected: Some(rgba(0x7e8b8280).into()),
+                        ghost_element_disabled: Some(rgba(0xe3ebe6ff).into()),
                         text: Some(rgba(0x171c19ff).into()),
                         text_muted: Some(rgba(0x546259ff).into()),
                         text_placeholder: Some(rgba(0x79877dff).into()),
                         text_disabled: Some(rgba(0x171c19ff).into()),
                         text_accent: Some(rgba(0x488c90ff).into()),
+                        icon: Some(rgba(0x171c19ff).into()),
+                        icon_muted: Some(rgba(0x546259ff).into()),
+                        icon_disabled: Some(rgba(0x68766dff).into()),
+                        icon_placeholder: Some(rgba(0x546259ff).into()),
+                        icon_accent: Some(rgba(0x488c90ff).into()),
                         status_bar_background: Some(rgba(0xbcc5bfff).into()),
                         title_bar_background: Some(rgba(0xbcc5bfff).into()),
                         toolbar_background: Some(rgba(0xecf4eeff).into()),
@@ -852,6 +908,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x171c194d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x171c194d).into()),
                         scrollbar_thumb_border: Some(rgba(0xe5ede7ff).into()),
+                        scrollbar_track_background: Some(rgba(0xecf4eeff).into()),
                         scrollbar_track_border: Some(rgba(0xe5ede7ff).into()),
                         editor_foreground: Some(rgba(0x232a25ff).into()),
                         editor_background: Some(rgba(0xecf4eeff).into()),
@@ -1235,19 +1292,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x332f38ff).into()),
-                        border_variant: Some(rgba(0x201e24ff).into()),
+                        border: Some(rgba(0x56505eff).into()),
+                        border_variant: Some(rgba(0x56505eff).into()),
+                        border_focused: Some(rgba(0x222953ff).into()),
+                        border_selected: Some(rgba(0x222953ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x48434fff).into()),
                         elevated_surface_background: Some(rgba(0x221f26ff).into()),
+                        surface_background: Some(rgba(0x221f26ff).into()),
                         background: Some(rgba(0x3a353fff).into()),
                         panel_background: Some(rgba(0x221f26ff).into()),
+                        element_background: Some(rgba(0x221f26ff).into()),
                         element_hover: Some(rgba(0x56505e80).into()),
+                        element_active: Some(rgba(0x544f5cff).into()),
                         element_selected: Some(rgba(0x605a6880).into()),
+                        element_disabled: Some(rgba(0x221f26ff).into()),
                         drop_target_background: Some(rgba(0x89859180).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x56505e80).into()),
+                        ghost_element_active: Some(rgba(0x544f5cff).into()),
+                        ghost_element_selected: Some(rgba(0x605a6880).into()),
+                        ghost_element_disabled: Some(rgba(0x221f26ff).into()),
                         text: Some(rgba(0xefecf4ff).into()),
                         text_muted: Some(rgba(0x898591ff).into()),
                         text_placeholder: Some(rgba(0x655f6dff).into()),
                         text_disabled: Some(rgba(0xefecf4ff).into()),
                         text_accent: Some(rgba(0x576ddaff).into()),
+                        icon: Some(rgba(0xefecf4ff).into()),
+                        icon_muted: Some(rgba(0x898591ff).into()),
+                        icon_disabled: Some(rgba(0x756f7eff).into()),
+                        icon_placeholder: Some(rgba(0x898591ff).into()),
+                        icon_accent: Some(rgba(0x576ddaff).into()),
                         status_bar_background: Some(rgba(0x3a353fff).into()),
                         title_bar_background: Some(rgba(0x3a353fff).into()),
                         toolbar_background: Some(rgba(0x19171cff).into()),
@@ -1257,6 +1332,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xefecf44d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xefecf44d).into()),
                         scrollbar_thumb_border: Some(rgba(0x201e24ff).into()),
+                        scrollbar_track_background: Some(rgba(0x19171cff).into()),
                         scrollbar_track_border: Some(rgba(0x201e24ff).into()),
                         editor_foreground: Some(rgba(0xe2dfe7ff).into()),
                         editor_background: Some(rgba(0x19171cff).into()),
@@ -1640,19 +1716,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x3c3b31ff).into()),
-                        border_variant: Some(rgba(0x2a2922ff).into()),
+                        border: Some(rgba(0x5d5c4cff).into()),
+                        border_variant: Some(rgba(0x5d5c4cff).into()),
+                        border_focused: Some(rgba(0x1c3927ff).into()),
+                        border_selected: Some(rgba(0x1c3927ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x504f41ff).into()),
                         elevated_surface_background: Some(rgba(0x2c2b23ff).into()),
+                        surface_background: Some(rgba(0x2c2b23ff).into()),
                         background: Some(rgba(0x424136ff).into()),
                         panel_background: Some(rgba(0x2c2b23ff).into()),
+                        element_background: Some(rgba(0x2c2b23ff).into()),
                         element_hover: Some(rgba(0x5d5c4c80).into()),
+                        element_active: Some(rgba(0x5c5b4bff).into()),
                         element_selected: Some(rgba(0x67665580).into()),
+                        element_disabled: Some(rgba(0x2c2b23ff).into()),
                         drop_target_background: Some(rgba(0x91907f80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x5d5c4c80).into()),
+                        ghost_element_active: Some(rgba(0x5c5b4bff).into()),
+                        ghost_element_selected: Some(rgba(0x67665580).into()),
+                        ghost_element_disabled: Some(rgba(0x2c2b23ff).into()),
                         text: Some(rgba(0xf4f3ecff).into()),
                         text_muted: Some(rgba(0x91907fff).into()),
                         text_placeholder: Some(rgba(0x6c6b5aff).into()),
                         text_disabled: Some(rgba(0xf4f3ecff).into()),
                         text_accent: Some(rgba(0x37a166ff).into()),
+                        icon: Some(rgba(0xf4f3ecff).into()),
+                        icon_muted: Some(rgba(0x91907fff).into()),
+                        icon_disabled: Some(rgba(0x7d7c6aff).into()),
+                        icon_placeholder: Some(rgba(0x91907fff).into()),
+                        icon_accent: Some(rgba(0x37a166ff).into()),
                         status_bar_background: Some(rgba(0x424136ff).into()),
                         title_bar_background: Some(rgba(0x424136ff).into()),
                         toolbar_background: Some(rgba(0x22221bff).into()),
@@ -1662,6 +1756,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xf4f3ec4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xf4f3ec4d).into()),
                         scrollbar_thumb_border: Some(rgba(0x2a2922ff).into()),
+                        scrollbar_track_background: Some(rgba(0x22221bff).into()),
                         scrollbar_track_border: Some(rgba(0x2a2922ff).into()),
                         editor_foreground: Some(rgba(0xe7e6dfff).into()),
                         editor_background: Some(rgba(0x22221bff).into()),
@@ -2045,19 +2140,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x363f62ff).into()),
-                        border_variant: Some(rgba(0x252d4fff).into()),
+                        border: Some(rgba(0x5c6485ff).into()),
+                        border_variant: Some(rgba(0x5c6485ff).into()),
+                        border_focused: Some(rgba(0x203348ff).into()),
+                        border_selected: Some(rgba(0x203348ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x4d5577ff).into()),
                         elevated_surface_background: Some(rgba(0x262f51ff).into()),
+                        surface_background: Some(rgba(0x262f51ff).into()),
                         background: Some(rgba(0x3e4769ff).into()),
                         panel_background: Some(rgba(0x262f51ff).into()),
+                        element_background: Some(rgba(0x262f51ff).into()),
                         element_hover: Some(rgba(0x5c648580).into()),
+                        element_active: Some(rgba(0x5a6284ff).into()),
                         element_selected: Some(rgba(0x666e8f80).into()),
+                        element_disabled: Some(rgba(0x262f51ff).into()),
                         drop_target_background: Some(rgba(0x959bb280).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x5c648580).into()),
+                        ghost_element_active: Some(rgba(0x5a6284ff).into()),
+                        ghost_element_selected: Some(rgba(0x666e8f80).into()),
+                        ghost_element_disabled: Some(rgba(0x262f51ff).into()),
                         text: Some(rgba(0xf5f7ffff).into()),
                         text_muted: Some(rgba(0x959bb2ff).into()),
                         text_placeholder: Some(rgba(0x6b7394ff).into()),
                         text_disabled: Some(rgba(0xf5f7ffff).into()),
                         text_accent: Some(rgba(0x3e8fd0ff).into()),
+                        icon: Some(rgba(0xf5f7ffff).into()),
+                        icon_muted: Some(rgba(0x959bb2ff).into()),
+                        icon_disabled: Some(rgba(0x7e849eff).into()),
+                        icon_placeholder: Some(rgba(0x959bb2ff).into()),
+                        icon_accent: Some(rgba(0x3e8fd0ff).into()),
                         status_bar_background: Some(rgba(0x3e4769ff).into()),
                         title_bar_background: Some(rgba(0x3e4769ff).into()),
                         toolbar_background: Some(rgba(0x202746ff).into()),
@@ -2067,6 +2180,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xf5f7ff4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xf5f7ff4d).into()),
                         scrollbar_thumb_border: Some(rgba(0x252d4fff).into()),
+                        scrollbar_track_background: Some(rgba(0x202746ff).into()),
                         scrollbar_track_border: Some(rgba(0x252d4fff).into()),
                         editor_foreground: Some(rgba(0xdfe2f1ff).into()),
                         editor_background: Some(rgba(0x202746ff).into()),
@@ -2450,19 +2564,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xccd0e1ff).into()),
-                        border_variant: Some(rgba(0xe9ebf7ff).into()),
+                        border: Some(rgba(0x9a9fb6ff).into()),
+                        border_variant: Some(rgba(0x9a9fb6ff).into()),
+                        border_focused: Some(rgba(0xc2d5efff).into()),
+                        border_selected: Some(rgba(0xc2d5efff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xaeb3c7ff).into()),
                         elevated_surface_background: Some(rgba(0xe5e8f5ff).into()),
+                        surface_background: Some(rgba(0xe5e8f5ff).into()),
                         background: Some(rgba(0xc2c6d9ff).into()),
                         panel_background: Some(rgba(0xe5e8f5ff).into()),
+                        element_background: Some(rgba(0xe5e8f5ff).into()),
                         element_hover: Some(rgba(0x9a9fb680).into()),
+                        element_active: Some(rgba(0x9ca1b8ff).into()),
                         element_selected: Some(rgba(0x8e94aa80).into()),
+                        element_disabled: Some(rgba(0xe5e8f5ff).into()),
                         drop_target_background: Some(rgba(0x60688980).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x9a9fb680).into()),
+                        ghost_element_active: Some(rgba(0x9ca1b8ff).into()),
+                        ghost_element_selected: Some(rgba(0x8e94aa80).into()),
+                        ghost_element_disabled: Some(rgba(0xe5e8f5ff).into()),
                         text: Some(rgba(0x202746ff).into()),
                         text_muted: Some(rgba(0x606889ff).into()),
                         text_placeholder: Some(rgba(0x898fa5ff).into()),
                         text_disabled: Some(rgba(0x202746ff).into()),
                         text_accent: Some(rgba(0x3f8fd0ff).into()),
+                        icon: Some(rgba(0x202746ff).into()),
+                        icon_muted: Some(rgba(0x606889ff).into()),
+                        icon_disabled: Some(rgba(0x767d9aff).into()),
+                        icon_placeholder: Some(rgba(0x606889ff).into()),
+                        icon_accent: Some(rgba(0x3f8fd0ff).into()),
                         status_bar_background: Some(rgba(0xc2c6d9ff).into()),
                         title_bar_background: Some(rgba(0xc2c6d9ff).into()),
                         toolbar_background: Some(rgba(0xf5f7ffff).into()),
@@ -2472,6 +2604,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x2027464d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x2027464d).into()),
                         scrollbar_thumb_border: Some(rgba(0xe9ebf7ff).into()),
+                        scrollbar_track_background: Some(rgba(0xf5f7ffff).into()),
                         scrollbar_track_border: Some(rgba(0xe9ebf7ff).into()),
                         editor_foreground: Some(rgba(0x293256ff).into()),
                         editor_background: Some(rgba(0xf5f7ffff).into()),
@@ -2855,19 +2988,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x3b3933ff).into()),
-                        border_variant: Some(rgba(0x252521ff).into()),
+                        border: Some(rgba(0x6c695cff).into()),
+                        border_variant: Some(rgba(0x6c695cff).into()),
+                        border_focused: Some(rgba(0x263056ff).into()),
+                        border_selected: Some(rgba(0x263056ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x58564bff).into()),
                         elevated_surface_background: Some(rgba(0x262622ff).into()),
+                        surface_background: Some(rgba(0x262622ff).into()),
                         background: Some(rgba(0x45433bff).into()),
                         panel_background: Some(rgba(0x262622ff).into()),
+                        element_background: Some(rgba(0x262622ff).into()),
                         element_hover: Some(rgba(0x6c695c80).into()),
+                        element_active: Some(rgba(0x6a675aff).into()),
                         element_selected: Some(rgba(0x77746480).into()),
+                        element_disabled: Some(rgba(0x262622ff).into()),
                         drop_target_background: Some(rgba(0xa4a08b80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x6c695c80).into()),
+                        ghost_element_active: Some(rgba(0x6a675aff).into()),
+                        ghost_element_selected: Some(rgba(0x77746480).into()),
+                        ghost_element_disabled: Some(rgba(0x262622ff).into()),
                         text: Some(rgba(0xfefbecff).into()),
                         text_muted: Some(rgba(0xa4a08bff).into()),
                         text_placeholder: Some(rgba(0x7c7968ff).into()),
                         text_disabled: Some(rgba(0xfefbecff).into()),
                         text_accent: Some(rgba(0x6684e0ff).into()),
+                        icon: Some(rgba(0xfefbecff).into()),
+                        icon_muted: Some(rgba(0xa4a08bff).into()),
+                        icon_disabled: Some(rgba(0x8f8b77ff).into()),
+                        icon_placeholder: Some(rgba(0xa4a08bff).into()),
+                        icon_accent: Some(rgba(0x6684e0ff).into()),
                         status_bar_background: Some(rgba(0x45433bff).into()),
                         title_bar_background: Some(rgba(0x45433bff).into()),
                         toolbar_background: Some(rgba(0x20201dff).into()),
@@ -2877,6 +3028,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xfefbec4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xfefbec4d).into()),
                         scrollbar_thumb_border: Some(rgba(0x252521ff).into()),
+                        scrollbar_track_background: Some(rgba(0x20201dff).into()),
                         scrollbar_track_border: Some(rgba(0x252521ff).into()),
                         editor_foreground: Some(rgba(0xe8e4cfff).into()),
                         editor_background: Some(rgba(0x20201dff).into()),
@@ -3260,19 +3412,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x333b33ff).into()),
-                        border_variant: Some(rgba(0x1d201dff).into()),
+                        border: Some(rgba(0x5c6c5cff).into()),
+                        border_variant: Some(rgba(0x5c6c5cff).into()),
+                        border_focused: Some(rgba(0x102668ff).into()),
+                        border_selected: Some(rgba(0x102668ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x4b584bff).into()),
                         elevated_surface_background: Some(rgba(0x1f231fff).into()),
+                        surface_background: Some(rgba(0x1f231fff).into()),
                         background: Some(rgba(0x3b453bff).into()),
                         panel_background: Some(rgba(0x1f231fff).into()),
+                        element_background: Some(rgba(0x1f231fff).into()),
                         element_hover: Some(rgba(0x5c6c5c80).into()),
+                        element_active: Some(rgba(0x5a6a5aff).into()),
                         element_selected: Some(rgba(0x64776480).into()),
+                        element_disabled: Some(rgba(0x1f231fff).into()),
                         drop_target_background: Some(rgba(0x8ba48b80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x5c6c5c80).into()),
+                        ghost_element_active: Some(rgba(0x5a6a5aff).into()),
+                        ghost_element_selected: Some(rgba(0x64776480).into()),
+                        ghost_element_disabled: Some(rgba(0x1f231fff).into()),
                         text: Some(rgba(0xf4fbf4ff).into()),
                         text_muted: Some(rgba(0x8ba48bff).into()),
                         text_placeholder: Some(rgba(0x687c68ff).into()),
                         text_disabled: Some(rgba(0xf4fbf4ff).into()),
                         text_accent: Some(rgba(0x3e62f4ff).into()),
+                        icon: Some(rgba(0xf4fbf4ff).into()),
+                        icon_muted: Some(rgba(0x8ba48bff).into()),
+                        icon_disabled: Some(rgba(0x778f77ff).into()),
+                        icon_placeholder: Some(rgba(0x8ba48bff).into()),
+                        icon_accent: Some(rgba(0x3e62f4ff).into()),
                         status_bar_background: Some(rgba(0x3b453bff).into()),
                         title_bar_background: Some(rgba(0x3b453bff).into()),
                         toolbar_background: Some(rgba(0x131513ff).into()),
@@ -3282,6 +3452,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xf4fbf44d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xf4fbf44d).into()),
                         scrollbar_thumb_border: Some(rgba(0x1d201dff).into()),
+                        scrollbar_track_background: Some(rgba(0x131513ff).into()),
                         scrollbar_track_border: Some(rgba(0x1d201dff).into()),
                         editor_foreground: Some(rgba(0xcfe8cfff).into()),
                         editor_background: Some(rgba(0x131513ff).into()),
@@ -3665,19 +3836,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xcbc8d1ff).into()),
-                        border_variant: Some(rgba(0xe8e5edff).into()),
+                        border: Some(rgba(0x8f8b96ff).into()),
+                        border_variant: Some(rgba(0x8f8b96ff).into()),
+                        border_focused: Some(rgba(0xc9c8f3ff).into()),
+                        border_selected: Some(rgba(0xc9c8f3ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xa7a3adff).into()),
                         elevated_surface_background: Some(rgba(0xe6e3ebff).into()),
+                        surface_background: Some(rgba(0xe6e3ebff).into()),
                         background: Some(rgba(0xbfbcc5ff).into()),
                         panel_background: Some(rgba(0xe6e3ebff).into()),
+                        element_background: Some(rgba(0xe6e3ebff).into()),
                         element_hover: Some(rgba(0x8f8b9680).into()),
+                        element_active: Some(rgba(0x918d98ff).into()),
                         element_selected: Some(rgba(0x837e8b80).into()),
+                        element_disabled: Some(rgba(0xe6e3ebff).into()),
                         drop_target_background: Some(rgba(0x5a546280).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x8f8b9680).into()),
+                        ghost_element_active: Some(rgba(0x918d98ff).into()),
+                        ghost_element_selected: Some(rgba(0x837e8b80).into()),
+                        ghost_element_disabled: Some(rgba(0xe6e3ebff).into()),
                         text: Some(rgba(0x19171cff).into()),
                         text_muted: Some(rgba(0x5a5462ff).into()),
                         text_placeholder: Some(rgba(0x7e7987ff).into()),
                         text_disabled: Some(rgba(0x19171cff).into()),
                         text_accent: Some(rgba(0x586ddaff).into()),
+                        icon: Some(rgba(0x19171cff).into()),
+                        icon_muted: Some(rgba(0x5a5462ff).into()),
+                        icon_disabled: Some(rgba(0x6e6876ff).into()),
+                        icon_placeholder: Some(rgba(0x5a5462ff).into()),
+                        icon_accent: Some(rgba(0x586ddaff).into()),
                         status_bar_background: Some(rgba(0xbfbcc5ff).into()),
                         title_bar_background: Some(rgba(0xbfbcc5ff).into()),
                         toolbar_background: Some(rgba(0xefecf4ff).into()),
@@ -3687,6 +3876,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x19171c4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x19171c4d).into()),
                         scrollbar_thumb_border: Some(rgba(0xe8e5edff).into()),
+                        scrollbar_track_background: Some(rgba(0xefecf4ff).into()),
                         scrollbar_track_border: Some(rgba(0xe8e5edff).into()),
                         editor_foreground: Some(rgba(0x26232aff).into()),
                         editor_background: Some(rgba(0xefecf4ff).into()),
@@ -4070,19 +4260,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x352f2fff).into()),
-                        border_variant: Some(rgba(0x231f1fff).into()),
+                        border: Some(rgba(0x564e4eff).into()),
+                        border_variant: Some(rgba(0x564e4eff).into()),
+                        border_focused: Some(rgba(0x2c2b45ff).into()),
+                        border_selected: Some(rgba(0x2c2b45ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x494242ff).into()),
                         elevated_surface_background: Some(rgba(0x252020ff).into()),
+                        surface_background: Some(rgba(0x252020ff).into()),
                         background: Some(rgba(0x3b3535ff).into()),
                         panel_background: Some(rgba(0x252020ff).into()),
+                        element_background: Some(rgba(0x252020ff).into()),
                         element_hover: Some(rgba(0x564e4e80).into()),
+                        element_active: Some(rgba(0x554d4dff).into()),
                         element_selected: Some(rgba(0x60585880).into()),
+                        element_disabled: Some(rgba(0x252020ff).into()),
                         drop_target_background: Some(rgba(0x89838380).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x564e4e80).into()),
+                        ghost_element_active: Some(rgba(0x554d4dff).into()),
+                        ghost_element_selected: Some(rgba(0x60585880).into()),
+                        ghost_element_disabled: Some(rgba(0x252020ff).into()),
                         text: Some(rgba(0xf4ececff).into()),
                         text_muted: Some(rgba(0x898383ff).into()),
                         text_placeholder: Some(rgba(0x655d5dff).into()),
                         text_disabled: Some(rgba(0xf4ececff).into()),
                         text_accent: Some(rgba(0x7272caff).into()),
+                        icon: Some(rgba(0xf4ececff).into()),
+                        icon_muted: Some(rgba(0x898383ff).into()),
+                        icon_disabled: Some(rgba(0x756e6eff).into()),
+                        icon_placeholder: Some(rgba(0x898383ff).into()),
+                        icon_accent: Some(rgba(0x7272caff).into()),
                         status_bar_background: Some(rgba(0x3b3535ff).into()),
                         title_bar_background: Some(rgba(0x3b3535ff).into()),
                         toolbar_background: Some(rgba(0x1b1818ff).into()),
@@ -4092,6 +4300,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xf4ecec4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xf4ecec4d).into()),
                         scrollbar_thumb_border: Some(rgba(0x231f1fff).into()),
+                        scrollbar_track_background: Some(rgba(0x1b1818ff).into()),
                         scrollbar_track_border: Some(rgba(0x231f1fff).into()),
                         editor_foreground: Some(rgba(0xe7dfdfff).into()),
                         editor_background: Some(rgba(0x1b1818ff).into()),
@@ -4475,19 +4684,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x393239ff).into()),
-                        border_variant: Some(rgba(0x231e23ff).into()),
+                        border: Some(rgba(0x675b67ff).into()),
+                        border_variant: Some(rgba(0x675b67ff).into()),
+                        border_focused: Some(rgba(0x1a2961ff).into()),
+                        border_selected: Some(rgba(0x1a2961ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x554a55ff).into()),
                         elevated_surface_background: Some(rgba(0x252025ff).into()),
+                        surface_background: Some(rgba(0x252025ff).into()),
                         background: Some(rgba(0x433a43ff).into()),
                         panel_background: Some(rgba(0x252025ff).into()),
+                        element_background: Some(rgba(0x252025ff).into()),
                         element_hover: Some(rgba(0x675b6780).into()),
+                        element_active: Some(rgba(0x655965ff).into()),
                         element_selected: Some(rgba(0x72647280).into()),
+                        element_disabled: Some(rgba(0x252025ff).into()),
                         drop_target_background: Some(rgba(0xa99aa980).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x675b6780).into()),
+                        ghost_element_active: Some(rgba(0x655965ff).into()),
+                        ghost_element_selected: Some(rgba(0x72647280).into()),
+                        ghost_element_disabled: Some(rgba(0x252025ff).into()),
                         text: Some(rgba(0xf7f3f7ff).into()),
                         text_muted: Some(rgba(0xa99aa9ff).into()),
                         text_placeholder: Some(rgba(0x776977ff).into()),
                         text_disabled: Some(rgba(0xf7f3f7ff).into()),
                         text_accent: Some(rgba(0x526aebff).into()),
+                        icon: Some(rgba(0xf7f3f7ff).into()),
+                        icon_muted: Some(rgba(0xa99aa9ff).into()),
+                        icon_disabled: Some(rgba(0x908190ff).into()),
+                        icon_placeholder: Some(rgba(0xa99aa9ff).into()),
+                        icon_accent: Some(rgba(0x526aebff).into()),
                         status_bar_background: Some(rgba(0x433a43ff).into()),
                         title_bar_background: Some(rgba(0x433a43ff).into()),
                         toolbar_background: Some(rgba(0x1b181bff).into()),
@@ -4497,6 +4724,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xf7f3f74d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xf7f3f74d).into()),
                         scrollbar_thumb_border: Some(rgba(0x231e23ff).into()),
+                        scrollbar_track_background: Some(rgba(0x1b181bff).into()),
                         scrollbar_track_border: Some(rgba(0x231e23ff).into()),
                         editor_foreground: Some(rgba(0xd8cad8ff).into()),
                         editor_background: Some(rgba(0x1b181bff).into()),
@@ -4880,19 +5108,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x2c3b42ff).into()),
-                        border_variant: Some(rgba(0x1b2327ff).into()),
+                        border: Some(rgba(0x4f6b78ff).into()),
+                        border_variant: Some(rgba(0x4f6b78ff).into()),
+                        border_focused: Some(rgba(0x1a2f3cff).into()),
+                        border_selected: Some(rgba(0x1a2f3cff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x415763ff).into()),
                         elevated_surface_background: Some(rgba(0x1c2529ff).into()),
+                        surface_background: Some(rgba(0x1c2529ff).into()),
                         background: Some(rgba(0x33444dff).into()),
                         panel_background: Some(rgba(0x1c2529ff).into()),
+                        element_background: Some(rgba(0x1c2529ff).into()),
                         element_hover: Some(rgba(0x4f6b7880).into()),
+                        element_active: Some(rgba(0x4d6976ff).into()),
                         element_selected: Some(rgba(0x57768580).into()),
+                        element_disabled: Some(rgba(0x1c2529ff).into()),
                         drop_target_background: Some(rgba(0x7ca0b380).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x4f6b7880).into()),
+                        ghost_element_active: Some(rgba(0x4d6976ff).into()),
+                        ghost_element_selected: Some(rgba(0x57768580).into()),
+                        ghost_element_disabled: Some(rgba(0x1c2529ff).into()),
                         text: Some(rgba(0xebf8ffff).into()),
                         text_muted: Some(rgba(0x7ca0b3ff).into()),
                         text_placeholder: Some(rgba(0x5a7b8bff).into()),
                         text_disabled: Some(rgba(0xebf8ffff).into()),
                         text_accent: Some(rgba(0x277fadff).into()),
+                        icon: Some(rgba(0xebf8ffff).into()),
+                        icon_muted: Some(rgba(0x7ca0b3ff).into()),
+                        icon_disabled: Some(rgba(0x698c9eff).into()),
+                        icon_placeholder: Some(rgba(0x7ca0b3ff).into()),
+                        icon_accent: Some(rgba(0x277fadff).into()),
                         status_bar_background: Some(rgba(0x33444dff).into()),
                         title_bar_background: Some(rgba(0x33444dff).into()),
                         toolbar_background: Some(rgba(0x161b1dff).into()),
@@ -4902,6 +5148,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xebf8ff4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xebf8ff4d).into()),
                         scrollbar_thumb_border: Some(rgba(0x1b2327ff).into()),
+                        scrollbar_track_background: Some(rgba(0x161b1dff).into()),
                         scrollbar_track_border: Some(rgba(0x1b2327ff).into()),
                         editor_foreground: Some(rgba(0xc1e4f6ff).into()),
                         editor_background: Some(rgba(0x161b1dff).into()),
@@ -5285,19 +5532,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xd6d1cfff).into()),
-                        border_variant: Some(rgba(0xebe8e6ff).into()),
+                        border: Some(rgba(0xaaa3a1ff).into()),
+                        border_variant: Some(rgba(0xaaa3a1ff).into()),
+                        border_focused: Some(rgba(0xc6cef7ff).into()),
+                        border_selected: Some(rgba(0xc6cef7ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xbcb6b4ff).into()),
                         elevated_surface_background: Some(rgba(0xe9e6e4ff).into()),
+                        surface_background: Some(rgba(0xe9e6e4ff).into()),
                         background: Some(rgba(0xcdc8c6ff).into()),
                         panel_background: Some(rgba(0xe9e6e4ff).into()),
+                        element_background: Some(rgba(0xe9e6e4ff).into()),
                         element_hover: Some(rgba(0xaaa3a180).into()),
+                        element_active: Some(rgba(0xaca5a3ff).into()),
                         element_selected: Some(rgba(0xa1999680).into()),
+                        element_disabled: Some(rgba(0xe9e6e4ff).into()),
                         drop_target_background: Some(rgba(0x6a636080).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xaaa3a180).into()),
+                        ghost_element_active: Some(rgba(0xaca5a3ff).into()),
+                        ghost_element_selected: Some(rgba(0xa1999680).into()),
+                        ghost_element_disabled: Some(rgba(0xe9e6e4ff).into()),
                         text: Some(rgba(0x1b1918ff).into()),
                         text_muted: Some(rgba(0x6a6360ff).into()),
                         text_placeholder: Some(rgba(0x9c9491ff).into()),
                         text_disabled: Some(rgba(0x1b1918ff).into()),
                         text_accent: Some(rgba(0x417ee6ff).into()),
+                        icon: Some(rgba(0x1b1918ff).into()),
+                        icon_muted: Some(rgba(0x6a6360ff).into()),
+                        icon_disabled: Some(rgba(0x847c79ff).into()),
+                        icon_placeholder: Some(rgba(0x6a6360ff).into()),
+                        icon_accent: Some(rgba(0x417ee6ff).into()),
                         status_bar_background: Some(rgba(0xcdc8c6ff).into()),
                         title_bar_background: Some(rgba(0xcdc8c6ff).into()),
                         toolbar_background: Some(rgba(0xf1efeeff).into()),
@@ -5307,6 +5572,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x1b19184d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x1b19184d).into()),
                         scrollbar_thumb_border: Some(rgba(0xebe8e6ff).into()),
+                        scrollbar_track_background: Some(rgba(0xf1efeeff).into()),
                         scrollbar_track_border: Some(rgba(0xebe8e6ff).into()),
                         editor_foreground: Some(rgba(0x2c2421ff).into()),
                         editor_background: Some(rgba(0xf1efeeff).into()),
@@ -5690,19 +5956,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xd7d3beff).into()),
-                        border_variant: Some(rgba(0xf2eedcff).into()),
+                        border: Some(rgba(0xa8a48eff).into()),
+                        border_variant: Some(rgba(0xa8a48eff).into()),
+                        border_focused: Some(rgba(0xcdd1f5ff).into()),
+                        border_selected: Some(rgba(0xcdd1f5ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xbbb7a1ff).into()),
                         elevated_surface_background: Some(rgba(0xeeebd7ff).into()),
+                        surface_background: Some(rgba(0xeeebd7ff).into()),
                         background: Some(rgba(0xcecab4ff).into()),
                         panel_background: Some(rgba(0xeeebd7ff).into()),
+                        element_background: Some(rgba(0xeeebd7ff).into()),
                         element_hover: Some(rgba(0xa8a48e80).into()),
+                        element_active: Some(rgba(0xaaa690ff).into()),
                         element_selected: Some(rgba(0x9e9a8580).into()),
+                        element_disabled: Some(rgba(0xeeebd7ff).into()),
                         drop_target_background: Some(rgba(0x706d5f80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xa8a48e80).into()),
+                        ghost_element_active: Some(rgba(0xaaa690ff).into()),
+                        ghost_element_selected: Some(rgba(0x9e9a8580).into()),
+                        ghost_element_disabled: Some(rgba(0xeeebd7ff).into()),
                         text: Some(rgba(0x20201dff).into()),
                         text_muted: Some(rgba(0x706d5fff).into()),
                         text_placeholder: Some(rgba(0x999580ff).into()),
                         text_disabled: Some(rgba(0x20201dff).into()),
                         text_accent: Some(rgba(0x6784e0ff).into()),
+                        icon: Some(rgba(0x20201dff).into()),
+                        icon_muted: Some(rgba(0x706d5fff).into()),
+                        icon_disabled: Some(rgba(0x878471ff).into()),
+                        icon_placeholder: Some(rgba(0x706d5fff).into()),
+                        icon_accent: Some(rgba(0x6784e0ff).into()),
                         status_bar_background: Some(rgba(0xcecab4ff).into()),
                         title_bar_background: Some(rgba(0xcecab4ff).into()),
                         toolbar_background: Some(rgba(0xfefbecff).into()),
@@ -5712,6 +5996,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x20201d4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x20201d4d).into()),
                         scrollbar_thumb_border: Some(rgba(0xf2eedcff).into()),
+                        scrollbar_track_background: Some(rgba(0xfefbecff).into()),
                         scrollbar_track_border: Some(rgba(0xf2eedcff).into()),
                         editor_foreground: Some(rgba(0x292824ff).into()),
                         editor_background: Some(rgba(0xfefbecff).into()),
@@ -6095,19 +6380,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xcfc7c7ff).into()),
-                        border_variant: Some(rgba(0xede5e5ff).into()),
+                        border: Some(rgba(0x8e8989ff).into()),
+                        border_variant: Some(rgba(0x8e8989ff).into()),
+                        border_focused: Some(rgba(0xcecaecff).into()),
+                        border_selected: Some(rgba(0xcecaecff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xa8a2a2ff).into()),
                         elevated_surface_background: Some(rgba(0xebe3e3ff).into()),
+                        surface_background: Some(rgba(0xebe3e3ff).into()),
                         background: Some(rgba(0xc1bbbbff).into()),
                         panel_background: Some(rgba(0xebe3e3ff).into()),
+                        element_background: Some(rgba(0xebe3e3ff).into()),
                         element_hover: Some(rgba(0x8e898980).into()),
+                        element_active: Some(rgba(0x908b8bff).into()),
                         element_selected: Some(rgba(0x837c7c80).into()),
+                        element_disabled: Some(rgba(0xebe3e3ff).into()),
                         drop_target_background: Some(rgba(0x5a525280).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x8e898980).into()),
+                        ghost_element_active: Some(rgba(0x908b8bff).into()),
+                        ghost_element_selected: Some(rgba(0x837c7c80).into()),
+                        ghost_element_disabled: Some(rgba(0xebe3e3ff).into()),
                         text: Some(rgba(0x1b1818ff).into()),
                         text_muted: Some(rgba(0x5a5252ff).into()),
                         text_placeholder: Some(rgba(0x7e7777ff).into()),
                         text_disabled: Some(rgba(0x1b1818ff).into()),
                         text_accent: Some(rgba(0x7372caff).into()),
+                        icon: Some(rgba(0x1b1818ff).into()),
+                        icon_muted: Some(rgba(0x5a5252ff).into()),
+                        icon_disabled: Some(rgba(0x6e6666ff).into()),
+                        icon_placeholder: Some(rgba(0x5a5252ff).into()),
+                        icon_accent: Some(rgba(0x7372caff).into()),
                         status_bar_background: Some(rgba(0xc1bbbbff).into()),
                         title_bar_background: Some(rgba(0xc1bbbbff).into()),
                         toolbar_background: Some(rgba(0xf4ececff).into()),
@@ -6117,6 +6420,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x1b18184d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x1b18184d).into()),
                         scrollbar_thumb_border: Some(rgba(0xede5e5ff).into()),
+                        scrollbar_track_background: Some(rgba(0xf4ececff).into()),
                         scrollbar_track_border: Some(rgba(0xede5e5ff).into()),
                         editor_foreground: Some(rgba(0x292424ff).into()),
                         editor_background: Some(rgba(0xf4ececff).into()),
@@ -6500,19 +6804,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xbed7beff).into()),
-                        border_variant: Some(rgba(0xdff0dfff).into()),
+                        border: Some(rgba(0x8ea88eff).into()),
+                        border_variant: Some(rgba(0x8ea88eff).into()),
+                        border_focused: Some(rgba(0xc9c4fdff).into()),
+                        border_selected: Some(rgba(0xc9c4fdff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xa1bba1ff).into()),
                         elevated_surface_background: Some(rgba(0xdaeedaff).into()),
+                        surface_background: Some(rgba(0xdaeedaff).into()),
                         background: Some(rgba(0xb4ceb4ff).into()),
                         panel_background: Some(rgba(0xdaeedaff).into()),
+                        element_background: Some(rgba(0xdaeedaff).into()),
                         element_hover: Some(rgba(0x8ea88e80).into()),
+                        element_active: Some(rgba(0x90aa90ff).into()),
                         element_selected: Some(rgba(0x859e8580).into()),
+                        element_disabled: Some(rgba(0xdaeedaff).into()),
                         drop_target_background: Some(rgba(0x5f705f80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x8ea88e80).into()),
+                        ghost_element_active: Some(rgba(0x90aa90ff).into()),
+                        ghost_element_selected: Some(rgba(0x859e8580).into()),
+                        ghost_element_disabled: Some(rgba(0xdaeedaff).into()),
                         text: Some(rgba(0x131513ff).into()),
                         text_muted: Some(rgba(0x5f705fff).into()),
                         text_placeholder: Some(rgba(0x809980ff).into()),
                         text_disabled: Some(rgba(0x131513ff).into()),
                         text_accent: Some(rgba(0x3f62f4ff).into()),
+                        icon: Some(rgba(0x131513ff).into()),
+                        icon_muted: Some(rgba(0x5f705fff).into()),
+                        icon_disabled: Some(rgba(0x718771ff).into()),
+                        icon_placeholder: Some(rgba(0x5f705fff).into()),
+                        icon_accent: Some(rgba(0x3f62f4ff).into()),
                         status_bar_background: Some(rgba(0xb4ceb4ff).into()),
                         title_bar_background: Some(rgba(0xb4ceb4ff).into()),
                         toolbar_background: Some(rgba(0xf4fbf4ff).into()),
@@ -6522,6 +6844,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x1315134d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x1315134d).into()),
                         scrollbar_thumb_border: Some(rgba(0xdff0dfff).into()),
+                        scrollbar_track_background: Some(rgba(0xf4fbf4ff).into()),
                         scrollbar_track_border: Some(rgba(0xdff0dfff).into()),
                         editor_foreground: Some(rgba(0x242924ff).into()),
                         editor_background: Some(rgba(0xf4fbf4ff).into()),
@@ -6905,19 +7228,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x2f3832ff).into()),
-                        border_variant: Some(rgba(0x1e2420ff).into()),
+                        border: Some(rgba(0x505e55ff).into()),
+                        border_variant: Some(rgba(0x505e55ff).into()),
+                        border_focused: Some(rgba(0x1f3233ff).into()),
+                        border_selected: Some(rgba(0x1f3233ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x434f47ff).into()),
                         elevated_surface_background: Some(rgba(0x1f2621ff).into()),
+                        surface_background: Some(rgba(0x1f2621ff).into()),
                         background: Some(rgba(0x353f39ff).into()),
                         panel_background: Some(rgba(0x1f2621ff).into()),
+                        element_background: Some(rgba(0x1f2621ff).into()),
                         element_hover: Some(rgba(0x505e5580).into()),
+                        element_active: Some(rgba(0x4f5c53ff).into()),
                         element_selected: Some(rgba(0x5a685f80).into()),
+                        element_disabled: Some(rgba(0x1f2621ff).into()),
                         drop_target_background: Some(rgba(0x85918880).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x505e5580).into()),
+                        ghost_element_active: Some(rgba(0x4f5c53ff).into()),
+                        ghost_element_selected: Some(rgba(0x5a685f80).into()),
+                        ghost_element_disabled: Some(rgba(0x1f2621ff).into()),
                         text: Some(rgba(0xecf4eeff).into()),
                         text_muted: Some(rgba(0x859188ff).into()),
                         text_placeholder: Some(rgba(0x5f6d64ff).into()),
                         text_disabled: Some(rgba(0xecf4eeff).into()),
                         text_accent: Some(rgba(0x478c90ff).into()),
+                        icon: Some(rgba(0xecf4eeff).into()),
+                        icon_muted: Some(rgba(0x859188ff).into()),
+                        icon_disabled: Some(rgba(0x6f7e74ff).into()),
+                        icon_placeholder: Some(rgba(0x859188ff).into()),
+                        icon_accent: Some(rgba(0x478c90ff).into()),
                         status_bar_background: Some(rgba(0x353f39ff).into()),
                         title_bar_background: Some(rgba(0x353f39ff).into()),
                         toolbar_background: Some(rgba(0x171c19ff).into()),
@@ -6927,6 +7268,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xecf4ee4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xecf4ee4d).into()),
                         scrollbar_thumb_border: Some(rgba(0x1e2420ff).into()),
+                        scrollbar_track_background: Some(rgba(0x171c19ff).into()),
                         scrollbar_track_border: Some(rgba(0x1e2420ff).into()),
                         editor_foreground: Some(rgba(0xdfe7e2ff).into()),
                         editor_background: Some(rgba(0x171c19ff).into()),
@@ -7310,19 +7652,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xcdbecdff).into()),
-                        border_variant: Some(rgba(0xe5dce5ff).into()),
+                        border: Some(rgba(0xad9dadff).into()),
+                        border_variant: Some(rgba(0xad9dadff).into()),
+                        border_focused: Some(rgba(0xcac7faff).into()),
+                        border_selected: Some(rgba(0xcac7faff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xbaaabaff).into()),
                         elevated_surface_background: Some(rgba(0xe1d6e1ff).into()),
+                        surface_background: Some(rgba(0xe1d6e1ff).into()),
                         background: Some(rgba(0xc6b8c6ff).into()),
                         panel_background: Some(rgba(0xe1d6e1ff).into()),
+                        element_background: Some(rgba(0xe1d6e1ff).into()),
                         element_hover: Some(rgba(0xad9dad80).into()),
+                        element_active: Some(rgba(0xae9eaeff).into()),
                         element_selected: Some(rgba(0xa394a380).into()),
+                        element_disabled: Some(rgba(0xe1d6e1ff).into()),
                         drop_target_background: Some(rgba(0x6b5e6b80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xad9dad80).into()),
+                        ghost_element_active: Some(rgba(0xae9eaeff).into()),
+                        ghost_element_selected: Some(rgba(0xa394a380).into()),
+                        ghost_element_disabled: Some(rgba(0xe1d6e1ff).into()),
                         text: Some(rgba(0x1b181bff).into()),
                         text_muted: Some(rgba(0x6b5e6bff).into()),
                         text_placeholder: Some(rgba(0x9e8f9eff).into()),
                         text_disabled: Some(rgba(0x1b181bff).into()),
                         text_accent: Some(rgba(0x526aebff).into()),
+                        icon: Some(rgba(0x1b181bff).into()),
+                        icon_muted: Some(rgba(0x6b5e6bff).into()),
+                        icon_disabled: Some(rgba(0x857785ff).into()),
+                        icon_placeholder: Some(rgba(0x6b5e6bff).into()),
+                        icon_accent: Some(rgba(0x526aebff).into()),
                         status_bar_background: Some(rgba(0xc6b8c6ff).into()),
                         title_bar_background: Some(rgba(0xc6b8c6ff).into()),
                         toolbar_background: Some(rgba(0xf7f3f7ff).into()),
@@ -7332,6 +7692,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x1b181b4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x1b181b4d).into()),
                         scrollbar_thumb_border: Some(rgba(0xe5dce5ff).into()),
+                        scrollbar_track_background: Some(rgba(0xf7f3f7ff).into()),
                         scrollbar_track_border: Some(rgba(0xe5dce5ff).into()),
                         editor_foreground: Some(rgba(0x292329ff).into()),
                         editor_background: Some(rgba(0xf7f3f7ff).into()),
@@ -7715,19 +8076,37 @@ pub fn atelier() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xb0d3e5ff).into()),
-                        border_variant: Some(rgba(0xd3edfaff).into()),
+                        border: Some(rgba(0x80a4b6ff).into()),
+                        border_variant: Some(rgba(0x80a4b6ff).into()),
+                        border_focused: Some(rgba(0xbacfe1ff).into()),
+                        border_selected: Some(rgba(0xbacfe1ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x93b7c9ff).into()),
                         elevated_surface_background: Some(rgba(0xcdeaf9ff).into()),
+                        surface_background: Some(rgba(0xcdeaf9ff).into()),
                         background: Some(rgba(0xa6cadcff).into()),
                         panel_background: Some(rgba(0xcdeaf9ff).into()),
+                        element_background: Some(rgba(0xcdeaf9ff).into()),
                         element_hover: Some(rgba(0x80a4b680).into()),
+                        element_active: Some(rgba(0x82a6b8ff).into()),
                         element_selected: Some(rgba(0x769aad80).into()),
+                        element_disabled: Some(rgba(0xcdeaf9ff).into()),
                         drop_target_background: Some(rgba(0x526f7d80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x80a4b680).into()),
+                        ghost_element_active: Some(rgba(0x82a6b8ff).into()),
+                        ghost_element_selected: Some(rgba(0x769aad80).into()),
+                        ghost_element_disabled: Some(rgba(0xcdeaf9ff).into()),
                         text: Some(rgba(0x161b1dff).into()),
                         text_muted: Some(rgba(0x526f7dff).into()),
                         text_placeholder: Some(rgba(0x7195a8ff).into()),
                         text_disabled: Some(rgba(0x161b1dff).into()),
                         text_accent: Some(rgba(0x277fadff).into()),
+                        icon: Some(rgba(0x161b1dff).into()),
+                        icon_muted: Some(rgba(0x526f7dff).into()),
+                        icon_disabled: Some(rgba(0x628496ff).into()),
+                        icon_placeholder: Some(rgba(0x526f7dff).into()),
+                        icon_accent: Some(rgba(0x277fadff).into()),
                         status_bar_background: Some(rgba(0xa6cadcff).into()),
                         title_bar_background: Some(rgba(0xa6cadcff).into()),
                         toolbar_background: Some(rgba(0xebf8ffff).into()),
@@ -7737,6 +8116,7 @@ pub fn atelier() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x161b1d4d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x161b1d4d).into()),
                         scrollbar_thumb_border: Some(rgba(0xd3edfaff).into()),
+                        scrollbar_track_background: Some(rgba(0xebf8ffff).into()),
                         scrollbar_track_border: Some(rgba(0xd3edfaff).into()),
                         editor_foreground: Some(rgba(0x1f292eff).into()),
                         editor_background: Some(rgba(0xebf8ffff).into()),

crates/theme2/src/themes/ayu.rs 🔗

@@ -20,19 +20,37 @@ pub fn ayu() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x2d2f34ff).into()),
-                        border_variant: Some(rgba(0x1b1e24ff).into()),
+                        border: Some(rgba(0x3f4043ff).into()),
+                        border_variant: Some(rgba(0x3f4043ff).into()),
+                        border_focused: Some(rgba(0x1b4a6eff).into()),
+                        border_selected: Some(rgba(0x1b4a6eff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x383a3eff).into()),
                         elevated_surface_background: Some(rgba(0x1f2127ff).into()),
+                        surface_background: Some(rgba(0x1f2127ff).into()),
                         background: Some(rgba(0x313337ff).into()),
                         panel_background: Some(rgba(0x1f2127ff).into()),
+                        element_background: Some(rgba(0x1f2127ff).into()),
                         element_hover: Some(rgba(0x3f404380).into()),
+                        element_active: Some(rgba(0x3e4043ff).into()),
                         element_selected: Some(rgba(0x50515280).into()),
+                        element_disabled: Some(rgba(0x1f2127ff).into()),
                         drop_target_background: Some(rgba(0x8a898680).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x3f404380).into()),
+                        ghost_element_active: Some(rgba(0x3e4043ff).into()),
+                        ghost_element_selected: Some(rgba(0x50515280).into()),
+                        ghost_element_disabled: Some(rgba(0x1f2127ff).into()),
                         text: Some(rgba(0xbfbdb6ff).into()),
                         text_muted: Some(rgba(0x8a8986ff).into()),
                         text_placeholder: Some(rgba(0x58595aff).into()),
                         text_disabled: Some(rgba(0xbfbdb6ff).into()),
                         text_accent: Some(rgba(0x5ac2feff).into()),
+                        icon: Some(rgba(0xbfbdb6ff).into()),
+                        icon_muted: Some(rgba(0x8a8986ff).into()),
+                        icon_disabled: Some(rgba(0x696a6aff).into()),
+                        icon_placeholder: Some(rgba(0x8a8986ff).into()),
+                        icon_accent: Some(rgba(0x5ac2feff).into()),
                         status_bar_background: Some(rgba(0x313337ff).into()),
                         title_bar_background: Some(rgba(0x313337ff).into()),
                         toolbar_background: Some(rgba(0x0d1017ff).into()),
@@ -42,6 +60,7 @@ pub fn ayu() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xbfbdb64d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xbfbdb64d).into()),
                         scrollbar_thumb_border: Some(rgba(0x1b1e24ff).into()),
+                        scrollbar_track_background: Some(rgba(0x0d1017ff).into()),
                         scrollbar_track_border: Some(rgba(0x1b1e24ff).into()),
                         editor_foreground: Some(rgba(0xbfbdb6ff).into()),
                         editor_background: Some(rgba(0x0d1017ff).into()),
@@ -404,19 +423,37 @@ pub fn ayu() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xdfe0e1ff).into()),
-                        border_variant: Some(rgba(0xefeff0ff).into()),
+                        border: Some(rgba(0xcfd1d2ff).into()),
+                        border_variant: Some(rgba(0xcfd1d2ff).into()),
+                        border_focused: Some(rgba(0xc4daf6ff).into()),
+                        border_selected: Some(rgba(0xc4daf6ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xd5d6d8ff).into()),
                         elevated_surface_background: Some(rgba(0xececedff).into()),
+                        surface_background: Some(rgba(0xececedff).into()),
                         background: Some(rgba(0xdcdddeff).into()),
                         panel_background: Some(rgba(0xececedff).into()),
+                        element_background: Some(rgba(0xececedff).into()),
                         element_hover: Some(rgba(0xcfd1d280).into()),
+                        element_active: Some(rgba(0xd0d1d3ff).into()),
                         element_selected: Some(rgba(0xc0c2c480).into()),
+                        element_disabled: Some(rgba(0xececedff).into()),
                         drop_target_background: Some(rgba(0x8c8f9380).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xcfd1d280).into()),
+                        ghost_element_active: Some(rgba(0xd0d1d3ff).into()),
+                        ghost_element_selected: Some(rgba(0xc0c2c480).into()),
+                        ghost_element_disabled: Some(rgba(0xececedff).into()),
                         text: Some(rgba(0x5c6166ff).into()),
                         text_muted: Some(rgba(0x8c8f93ff).into()),
                         text_placeholder: Some(rgba(0xb9bbbdff).into()),
                         text_disabled: Some(rgba(0x5c6166ff).into()),
                         text_accent: Some(rgba(0x3b9ee5ff).into()),
+                        icon: Some(rgba(0x5c6166ff).into()),
+                        icon_muted: Some(rgba(0x8c8f93ff).into()),
+                        icon_disabled: Some(rgba(0xa9acaeff).into()),
+                        icon_placeholder: Some(rgba(0x8c8f93ff).into()),
+                        icon_accent: Some(rgba(0x3b9ee5ff).into()),
                         status_bar_background: Some(rgba(0xdcdddeff).into()),
                         title_bar_background: Some(rgba(0xdcdddeff).into()),
                         toolbar_background: Some(rgba(0xfcfcfcff).into()),
@@ -426,6 +463,7 @@ pub fn ayu() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x5c61664d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x5c61664d).into()),
                         scrollbar_thumb_border: Some(rgba(0xefeff0ff).into()),
+                        scrollbar_track_background: Some(rgba(0xfcfcfcff).into()),
                         scrollbar_track_border: Some(rgba(0xefeff0ff).into()),
                         editor_foreground: Some(rgba(0x5c6166ff).into()),
                         editor_background: Some(rgba(0xfcfcfcff).into()),
@@ -788,19 +826,37 @@ pub fn ayu() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x43464fff).into()),
-                        border_variant: Some(rgba(0x323641ff).into()),
+                        border: Some(rgba(0x53565dff).into()),
+                        border_variant: Some(rgba(0x53565dff).into()),
+                        border_focused: Some(rgba(0x24556fff).into()),
+                        border_selected: Some(rgba(0x24556fff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x4d5058ff).into()),
                         elevated_surface_background: Some(rgba(0x353944ff).into()),
+                        surface_background: Some(rgba(0x353944ff).into()),
                         background: Some(rgba(0x464a52ff).into()),
                         panel_background: Some(rgba(0x353944ff).into()),
+                        element_background: Some(rgba(0x353944ff).into()),
                         element_hover: Some(rgba(0x53565d80).into()),
+                        element_active: Some(rgba(0x53565dff).into()),
                         element_selected: Some(rgba(0x63656a80).into()),
+                        element_disabled: Some(rgba(0x353944ff).into()),
                         drop_target_background: Some(rgba(0x9a9a9880).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x53565d80).into()),
+                        ghost_element_active: Some(rgba(0x53565dff).into()),
+                        ghost_element_selected: Some(rgba(0x63656a80).into()),
+                        ghost_element_disabled: Some(rgba(0x353944ff).into()),
                         text: Some(rgba(0xcccac2ff).into()),
                         text_muted: Some(rgba(0x9a9a98ff).into()),
                         text_placeholder: Some(rgba(0x6b6d71ff).into()),
                         text_disabled: Some(rgba(0xcccac2ff).into()),
                         text_accent: Some(rgba(0x73cffeff).into()),
+                        icon: Some(rgba(0xcccac2ff).into()),
+                        icon_muted: Some(rgba(0x9a9a98ff).into()),
+                        icon_disabled: Some(rgba(0x7b7d7fff).into()),
+                        icon_placeholder: Some(rgba(0x9a9a98ff).into()),
+                        icon_accent: Some(rgba(0x73cffeff).into()),
                         status_bar_background: Some(rgba(0x464a52ff).into()),
                         title_bar_background: Some(rgba(0x464a52ff).into()),
                         toolbar_background: Some(rgba(0x242936ff).into()),
@@ -810,6 +866,7 @@ pub fn ayu() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xcccac24d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xcccac24d).into()),
                         scrollbar_thumb_border: Some(rgba(0x323641ff).into()),
+                        scrollbar_track_background: Some(rgba(0x242936ff).into()),
                         scrollbar_track_border: Some(rgba(0x323641ff).into()),
                         editor_foreground: Some(rgba(0xcccac2ff).into()),
                         editor_background: Some(rgba(0x242936ff).into()),

crates/theme2/src/themes/gruvbox.rs 🔗

@@ -20,19 +20,37 @@ pub fn gruvbox() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xddcca7ff).into()),
-                        border_variant: Some(rgba(0xefe2bcff).into()),
+                        border: Some(rgba(0xc9b99aff).into()),
+                        border_variant: Some(rgba(0xc9b99aff).into()),
+                        border_focused: Some(rgba(0xaec6cdff).into()),
+                        border_selected: Some(rgba(0xaec6cdff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xd1c09eff).into()),
                         elevated_surface_background: Some(rgba(0xecddb5ff).into()),
+                        surface_background: Some(rgba(0xecddb5ff).into()),
                         background: Some(rgba(0xd9c8a4ff).into()),
                         panel_background: Some(rgba(0xecddb5ff).into()),
+                        element_background: Some(rgba(0xecddb5ff).into()),
                         element_hover: Some(rgba(0xc9b99a80).into()),
+                        element_active: Some(rgba(0xc9b99aff).into()),
                         element_selected: Some(rgba(0xb5a68e80).into()),
+                        element_disabled: Some(rgba(0xecddb5ff).into()),
                         drop_target_background: Some(rgba(0x5f565080).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xc9b99a80).into()),
+                        ghost_element_active: Some(rgba(0xc9b99aff).into()),
+                        ghost_element_selected: Some(rgba(0xb5a68e80).into()),
+                        ghost_element_disabled: Some(rgba(0xecddb5ff).into()),
                         text: Some(rgba(0x282828ff).into()),
                         text_muted: Some(rgba(0x5f5650ff).into()),
                         text_placeholder: Some(rgba(0xad9e87ff).into()),
                         text_disabled: Some(rgba(0x282828ff).into()),
                         text_accent: Some(rgba(0x0b6678ff).into()),
+                        icon: Some(rgba(0x282828ff).into()),
+                        icon_muted: Some(rgba(0x5f5650ff).into()),
+                        icon_disabled: Some(rgba(0x8a7c6fff).into()),
+                        icon_placeholder: Some(rgba(0x5f5650ff).into()),
+                        icon_accent: Some(rgba(0x0b6678ff).into()),
                         status_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         title_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         toolbar_background: Some(rgba(0xf9f5d7ff).into()),
@@ -42,6 +60,7 @@ pub fn gruvbox() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x2828284d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x2828284d).into()),
                         scrollbar_thumb_border: Some(rgba(0xefe2bcff).into()),
+                        scrollbar_track_background: Some(rgba(0xf9f5d7ff).into()),
                         scrollbar_track_border: Some(rgba(0xefe2bcff).into()),
                         editor_foreground: Some(rgba(0x282828ff).into()),
                         editor_background: Some(rgba(0xf9f5d7ff).into()),
@@ -411,19 +430,37 @@ pub fn gruvbox() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x494340ff).into()),
-                        border_variant: Some(rgba(0x393634ff).into()),
+                        border: Some(rgba(0x5b534dff).into()),
+                        border_variant: Some(rgba(0x5b534dff).into()),
+                        border_focused: Some(rgba(0x303a36ff).into()),
+                        border_selected: Some(rgba(0x303a36ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x544c48ff).into()),
                         elevated_surface_background: Some(rgba(0x3b3735ff).into()),
+                        surface_background: Some(rgba(0x3b3735ff).into()),
                         background: Some(rgba(0x4c4642ff).into()),
                         panel_background: Some(rgba(0x3b3735ff).into()),
+                        element_background: Some(rgba(0x3b3735ff).into()),
                         element_hover: Some(rgba(0x5b534d80).into()),
+                        element_active: Some(rgba(0x5b524cff).into()),
                         element_selected: Some(rgba(0x6e635a80).into()),
+                        element_disabled: Some(rgba(0x3b3735ff).into()),
                         drop_target_background: Some(rgba(0xc5b59780).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x5b534d80).into()),
+                        ghost_element_active: Some(rgba(0x5b524cff).into()),
+                        ghost_element_selected: Some(rgba(0x6e635a80).into()),
+                        ghost_element_disabled: Some(rgba(0x3b3735ff).into()),
                         text: Some(rgba(0xfbf1c7ff).into()),
                         text_muted: Some(rgba(0xc5b597ff).into()),
                         text_placeholder: Some(rgba(0x776b61ff).into()),
                         text_disabled: Some(rgba(0xfbf1c7ff).into()),
                         text_accent: Some(rgba(0x83a598ff).into()),
+                        icon: Some(rgba(0xfbf1c7ff).into()),
+                        icon_muted: Some(rgba(0xc5b597ff).into()),
+                        icon_disabled: Some(rgba(0x9a8c79ff).into()),
+                        icon_placeholder: Some(rgba(0xc5b597ff).into()),
+                        icon_accent: Some(rgba(0x83a598ff).into()),
                         status_bar_background: Some(rgba(0x4c4642ff).into()),
                         title_bar_background: Some(rgba(0x4c4642ff).into()),
                         toolbar_background: Some(rgba(0x32302fff).into()),
@@ -433,6 +470,7 @@ pub fn gruvbox() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xfbf1c74d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xfbf1c74d).into()),
                         scrollbar_thumb_border: Some(rgba(0x393634ff).into()),
+                        scrollbar_track_background: Some(rgba(0x32302fff).into()),
                         scrollbar_track_border: Some(rgba(0x393634ff).into()),
                         editor_foreground: Some(rgba(0xebdbb2ff).into()),
                         editor_background: Some(rgba(0x32302fff).into()),
@@ -802,19 +840,37 @@ pub fn gruvbox() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xddcca7ff).into()),
-                        border_variant: Some(rgba(0xefe1b8ff).into()),
+                        border: Some(rgba(0xc9b99aff).into()),
+                        border_variant: Some(rgba(0xc9b99aff).into()),
+                        border_focused: Some(rgba(0xaec6cdff).into()),
+                        border_selected: Some(rgba(0xaec6cdff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xd1c09eff).into()),
                         elevated_surface_background: Some(rgba(0xecddb4ff).into()),
+                        surface_background: Some(rgba(0xecddb4ff).into()),
                         background: Some(rgba(0xd9c8a4ff).into()),
                         panel_background: Some(rgba(0xecddb4ff).into()),
+                        element_background: Some(rgba(0xecddb4ff).into()),
                         element_hover: Some(rgba(0xc9b99a80).into()),
+                        element_active: Some(rgba(0xc9b99aff).into()),
                         element_selected: Some(rgba(0xb5a68e80).into()),
+                        element_disabled: Some(rgba(0xecddb4ff).into()),
                         drop_target_background: Some(rgba(0x5f565080).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xc9b99a80).into()),
+                        ghost_element_active: Some(rgba(0xc9b99aff).into()),
+                        ghost_element_selected: Some(rgba(0xb5a68e80).into()),
+                        ghost_element_disabled: Some(rgba(0xecddb4ff).into()),
                         text: Some(rgba(0x282828ff).into()),
                         text_muted: Some(rgba(0x5f5650ff).into()),
                         text_placeholder: Some(rgba(0xad9e87ff).into()),
                         text_disabled: Some(rgba(0x282828ff).into()),
                         text_accent: Some(rgba(0x0b6678ff).into()),
+                        icon: Some(rgba(0x282828ff).into()),
+                        icon_muted: Some(rgba(0x5f5650ff).into()),
+                        icon_disabled: Some(rgba(0x8a7c6fff).into()),
+                        icon_placeholder: Some(rgba(0x5f5650ff).into()),
+                        icon_accent: Some(rgba(0x0b6678ff).into()),
                         status_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         title_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         toolbar_background: Some(rgba(0xfbf1c7ff).into()),
@@ -824,6 +880,7 @@ pub fn gruvbox() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x2828284d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x2828284d).into()),
                         scrollbar_thumb_border: Some(rgba(0xefe1b8ff).into()),
+                        scrollbar_track_background: Some(rgba(0xfbf1c7ff).into()),
                         scrollbar_track_border: Some(rgba(0xefe1b8ff).into()),
                         editor_foreground: Some(rgba(0x282828ff).into()),
                         editor_background: Some(rgba(0xfbf1c7ff).into()),
@@ -1193,19 +1250,37 @@ pub fn gruvbox() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x494340ff).into()),
-                        border_variant: Some(rgba(0x373432ff).into()),
+                        border: Some(rgba(0x5b534dff).into()),
+                        border_variant: Some(rgba(0x5b534dff).into()),
+                        border_focused: Some(rgba(0x303a36ff).into()),
+                        border_selected: Some(rgba(0x303a36ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x544c48ff).into()),
                         elevated_surface_background: Some(rgba(0x3a3735ff).into()),
+                        surface_background: Some(rgba(0x3a3735ff).into()),
                         background: Some(rgba(0x4c4642ff).into()),
                         panel_background: Some(rgba(0x3a3735ff).into()),
+                        element_background: Some(rgba(0x3a3735ff).into()),
                         element_hover: Some(rgba(0x5b534d80).into()),
+                        element_active: Some(rgba(0x5b524cff).into()),
                         element_selected: Some(rgba(0x6e635a80).into()),
+                        element_disabled: Some(rgba(0x3a3735ff).into()),
                         drop_target_background: Some(rgba(0xc5b59780).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x5b534d80).into()),
+                        ghost_element_active: Some(rgba(0x5b524cff).into()),
+                        ghost_element_selected: Some(rgba(0x6e635a80).into()),
+                        ghost_element_disabled: Some(rgba(0x3a3735ff).into()),
                         text: Some(rgba(0xfbf1c7ff).into()),
                         text_muted: Some(rgba(0xc5b597ff).into()),
                         text_placeholder: Some(rgba(0x776b61ff).into()),
                         text_disabled: Some(rgba(0xfbf1c7ff).into()),
                         text_accent: Some(rgba(0x83a598ff).into()),
+                        icon: Some(rgba(0xfbf1c7ff).into()),
+                        icon_muted: Some(rgba(0xc5b597ff).into()),
+                        icon_disabled: Some(rgba(0x9a8c79ff).into()),
+                        icon_placeholder: Some(rgba(0xc5b597ff).into()),
+                        icon_accent: Some(rgba(0x83a598ff).into()),
                         status_bar_background: Some(rgba(0x4c4642ff).into()),
                         title_bar_background: Some(rgba(0x4c4642ff).into()),
                         toolbar_background: Some(rgba(0x282828ff).into()),
@@ -1215,6 +1290,7 @@ pub fn gruvbox() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xfbf1c74d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xfbf1c74d).into()),
                         scrollbar_thumb_border: Some(rgba(0x373432ff).into()),
+                        scrollbar_track_background: Some(rgba(0x282828ff).into()),
                         scrollbar_track_border: Some(rgba(0x373432ff).into()),
                         editor_foreground: Some(rgba(0xebdbb2ff).into()),
                         editor_background: Some(rgba(0x282828ff).into()),
@@ -1584,19 +1660,37 @@ pub fn gruvbox() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xddcca7ff).into()),
-                        border_variant: Some(rgba(0xeddeb5ff).into()),
+                        border: Some(rgba(0xc9b99aff).into()),
+                        border_variant: Some(rgba(0xc9b99aff).into()),
+                        border_focused: Some(rgba(0xaec6cdff).into()),
+                        border_selected: Some(rgba(0xaec6cdff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xd1c09eff).into()),
                         elevated_surface_background: Some(rgba(0xecdcb3ff).into()),
+                        surface_background: Some(rgba(0xecdcb3ff).into()),
                         background: Some(rgba(0xd9c8a4ff).into()),
                         panel_background: Some(rgba(0xecdcb3ff).into()),
+                        element_background: Some(rgba(0xecdcb3ff).into()),
                         element_hover: Some(rgba(0xc9b99a80).into()),
+                        element_active: Some(rgba(0xc9b99aff).into()),
                         element_selected: Some(rgba(0xb5a68e80).into()),
+                        element_disabled: Some(rgba(0xecdcb3ff).into()),
                         drop_target_background: Some(rgba(0x5f565080).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xc9b99a80).into()),
+                        ghost_element_active: Some(rgba(0xc9b99aff).into()),
+                        ghost_element_selected: Some(rgba(0xb5a68e80).into()),
+                        ghost_element_disabled: Some(rgba(0xecdcb3ff).into()),
                         text: Some(rgba(0x282828ff).into()),
                         text_muted: Some(rgba(0x5f5650ff).into()),
                         text_placeholder: Some(rgba(0xad9e87ff).into()),
                         text_disabled: Some(rgba(0x282828ff).into()),
                         text_accent: Some(rgba(0x0b6678ff).into()),
+                        icon: Some(rgba(0x282828ff).into()),
+                        icon_muted: Some(rgba(0x5f5650ff).into()),
+                        icon_disabled: Some(rgba(0x8a7c6fff).into()),
+                        icon_placeholder: Some(rgba(0x5f5650ff).into()),
+                        icon_accent: Some(rgba(0x0b6678ff).into()),
                         status_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         title_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         toolbar_background: Some(rgba(0xf2e5bcff).into()),
@@ -1606,6 +1700,7 @@ pub fn gruvbox() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x2828284d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x2828284d).into()),
                         scrollbar_thumb_border: Some(rgba(0xeddeb5ff).into()),
+                        scrollbar_track_background: Some(rgba(0xf2e5bcff).into()),
                         scrollbar_track_border: Some(rgba(0xeddeb5ff).into()),
                         editor_foreground: Some(rgba(0x282828ff).into()),
                         editor_background: Some(rgba(0xf2e5bcff).into()),
@@ -1975,19 +2070,37 @@ pub fn gruvbox() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x494340ff).into()),
-                        border_variant: Some(rgba(0x343130ff).into()),
+                        border: Some(rgba(0x5b534dff).into()),
+                        border_variant: Some(rgba(0x5b534dff).into()),
+                        border_focused: Some(rgba(0x303a36ff).into()),
+                        border_selected: Some(rgba(0x303a36ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x544c48ff).into()),
                         elevated_surface_background: Some(rgba(0x393634ff).into()),
+                        surface_background: Some(rgba(0x393634ff).into()),
                         background: Some(rgba(0x4c4642ff).into()),
                         panel_background: Some(rgba(0x393634ff).into()),
+                        element_background: Some(rgba(0x393634ff).into()),
                         element_hover: Some(rgba(0x5b534d80).into()),
+                        element_active: Some(rgba(0x5b524cff).into()),
                         element_selected: Some(rgba(0x6e635a80).into()),
+                        element_disabled: Some(rgba(0x393634ff).into()),
                         drop_target_background: Some(rgba(0xc5b59780).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x5b534d80).into()),
+                        ghost_element_active: Some(rgba(0x5b524cff).into()),
+                        ghost_element_selected: Some(rgba(0x6e635a80).into()),
+                        ghost_element_disabled: Some(rgba(0x393634ff).into()),
                         text: Some(rgba(0xfbf1c7ff).into()),
                         text_muted: Some(rgba(0xc5b597ff).into()),
                         text_placeholder: Some(rgba(0x776b61ff).into()),
                         text_disabled: Some(rgba(0xfbf1c7ff).into()),
                         text_accent: Some(rgba(0x83a598ff).into()),
+                        icon: Some(rgba(0xfbf1c7ff).into()),
+                        icon_muted: Some(rgba(0xc5b597ff).into()),
+                        icon_disabled: Some(rgba(0x9a8c79ff).into()),
+                        icon_placeholder: Some(rgba(0xc5b597ff).into()),
+                        icon_accent: Some(rgba(0x83a598ff).into()),
                         status_bar_background: Some(rgba(0x4c4642ff).into()),
                         title_bar_background: Some(rgba(0x4c4642ff).into()),
                         toolbar_background: Some(rgba(0x1d2021ff).into()),
@@ -1997,6 +2110,7 @@ pub fn gruvbox() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xfbf1c74d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xfbf1c74d).into()),
                         scrollbar_thumb_border: Some(rgba(0x343130ff).into()),
+                        scrollbar_track_background: Some(rgba(0x1d2021ff).into()),
                         scrollbar_track_border: Some(rgba(0x343130ff).into()),
                         editor_foreground: Some(rgba(0xebdbb2ff).into()),
                         editor_background: Some(rgba(0x1d2021ff).into()),

crates/theme2/src/themes/one.rs 🔗

@@ -20,19 +20,37 @@ pub fn one() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xdfdfe0ff).into()),
-                        border_variant: Some(rgba(0xeeeeeeff).into()),
+                        border: Some(rgba(0xc9c9caff).into()),
+                        border_variant: Some(rgba(0xc9c9caff).into()),
+                        border_focused: Some(rgba(0xcbcdf6ff).into()),
+                        border_selected: Some(rgba(0xcbcdf6ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xd3d3d4ff).into()),
                         elevated_surface_background: Some(rgba(0xebebecff).into()),
+                        surface_background: Some(rgba(0xebebecff).into()),
                         background: Some(rgba(0xdcdcddff).into()),
                         panel_background: Some(rgba(0xebebecff).into()),
+                        element_background: Some(rgba(0xebebecff).into()),
                         element_hover: Some(rgba(0xc9c9ca80).into()),
+                        element_active: Some(rgba(0xcacacaff).into()),
                         element_selected: Some(rgba(0xafafaf80).into()),
+                        element_disabled: Some(rgba(0xebebecff).into()),
                         drop_target_background: Some(rgba(0x7f818880).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xc9c9ca80).into()),
+                        ghost_element_active: Some(rgba(0xcacacaff).into()),
+                        ghost_element_selected: Some(rgba(0xafafaf80).into()),
+                        ghost_element_disabled: Some(rgba(0xebebecff).into()),
                         text: Some(rgba(0x383a41ff).into()),
                         text_muted: Some(rgba(0x7f8188ff).into()),
                         text_placeholder: Some(rgba(0xa7a7a8ff).into()),
                         text_disabled: Some(rgba(0x383a41ff).into()),
                         text_accent: Some(rgba(0x5c79e2ff).into()),
+                        icon: Some(rgba(0x383a41ff).into()),
+                        icon_muted: Some(rgba(0x7f8188ff).into()),
+                        icon_disabled: Some(rgba(0xa1a1a3ff).into()),
+                        icon_placeholder: Some(rgba(0x7f8188ff).into()),
+                        icon_accent: Some(rgba(0x5c79e2ff).into()),
                         status_bar_background: Some(rgba(0xdcdcddff).into()),
                         title_bar_background: Some(rgba(0xdcdcddff).into()),
                         toolbar_background: Some(rgba(0xfafafaff).into()),
@@ -42,6 +60,7 @@ pub fn one() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x383a414d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x383a414d).into()),
                         scrollbar_thumb_border: Some(rgba(0xeeeeeeff).into()),
+                        scrollbar_track_background: Some(rgba(0xfafafaff).into()),
                         scrollbar_track_border: Some(rgba(0xeeeeeeff).into()),
                         editor_foreground: Some(rgba(0x383a41ff).into()),
                         editor_background: Some(rgba(0xfafafaff).into()),
@@ -411,19 +430,37 @@ pub fn one() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x363c46ff).into()),
-                        border_variant: Some(rgba(0x2e333cff).into()),
+                        border: Some(rgba(0x464b57ff).into()),
+                        border_variant: Some(rgba(0x464b57ff).into()),
+                        border_focused: Some(rgba(0x293c5bff).into()),
+                        border_selected: Some(rgba(0x293c5bff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x414754ff).into()),
                         elevated_surface_background: Some(rgba(0x2f343eff).into()),
+                        surface_background: Some(rgba(0x2f343eff).into()),
                         background: Some(rgba(0x3b414dff).into()),
                         panel_background: Some(rgba(0x2f343eff).into()),
+                        element_background: Some(rgba(0x2f343eff).into()),
                         element_hover: Some(rgba(0x464b5780).into()),
+                        element_active: Some(rgba(0x454a56ff).into()),
                         element_selected: Some(rgba(0x4f545e80).into()),
+                        element_disabled: Some(rgba(0x2f343eff).into()),
                         drop_target_background: Some(rgba(0x83899480).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x464b5780).into()),
+                        ghost_element_active: Some(rgba(0x454a56ff).into()),
+                        ghost_element_selected: Some(rgba(0x4f545e80).into()),
+                        ghost_element_disabled: Some(rgba(0x2f343eff).into()),
                         text: Some(rgba(0xc8ccd4ff).into()),
                         text_muted: Some(rgba(0x838994ff).into()),
                         text_placeholder: Some(rgba(0x545862ff).into()),
                         text_disabled: Some(rgba(0xc8ccd4ff).into()),
                         text_accent: Some(rgba(0x74ade8ff).into()),
+                        icon: Some(rgba(0xc8ccd4ff).into()),
+                        icon_muted: Some(rgba(0x838994ff).into()),
+                        icon_disabled: Some(rgba(0x555a63ff).into()),
+                        icon_placeholder: Some(rgba(0x838994ff).into()),
+                        icon_accent: Some(rgba(0x74ade8ff).into()),
                         status_bar_background: Some(rgba(0x3b414dff).into()),
                         title_bar_background: Some(rgba(0x3b414dff).into()),
                         toolbar_background: Some(rgba(0x282c34ff).into()),
@@ -433,6 +470,7 @@ pub fn one() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xc8ccd44d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xc8ccd44d).into()),
                         scrollbar_thumb_border: Some(rgba(0x2e333cff).into()),
+                        scrollbar_track_background: Some(rgba(0x282c34ff).into()),
                         scrollbar_track_border: Some(rgba(0x2e333cff).into()),
                         editor_foreground: Some(rgba(0xacb2beff).into()),
                         editor_background: Some(rgba(0x282c34ff).into()),

crates/theme2/src/themes/rose_pine.rs 🔗

@@ -20,19 +20,37 @@ pub fn rose_pine() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xe5e0dfff).into()),
-                        border_variant: Some(rgba(0xfdf8f1ff).into()),
+                        border: Some(rgba(0xdcd6d5ff).into()),
+                        border_variant: Some(rgba(0xdcd6d5ff).into()),
+                        border_focused: Some(rgba(0xc3d7dbff).into()),
+                        border_selected: Some(rgba(0xc3d7dbff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xd0cccfff).into()),
                         elevated_surface_background: Some(rgba(0xfef9f2ff).into()),
+                        surface_background: Some(rgba(0xfef9f2ff).into()),
                         background: Some(rgba(0xdcd8d8ff).into()),
                         panel_background: Some(rgba(0xfef9f2ff).into()),
+                        element_background: Some(rgba(0xfef9f2ff).into()),
                         element_hover: Some(rgba(0xdcd6d580).into()),
+                        element_active: Some(rgba(0xdbd5d4ff).into()),
                         element_selected: Some(rgba(0xc1bac180).into()),
+                        element_disabled: Some(rgba(0xfef9f2ff).into()),
                         drop_target_background: Some(rgba(0x706c8c80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0xdcd6d580).into()),
+                        ghost_element_active: Some(rgba(0xdbd5d4ff).into()),
+                        ghost_element_selected: Some(rgba(0xc1bac180).into()),
+                        ghost_element_disabled: Some(rgba(0xfef9f2ff).into()),
                         text: Some(rgba(0x575279ff).into()),
                         text_muted: Some(rgba(0x706c8cff).into()),
                         text_placeholder: Some(rgba(0xb1abb5ff).into()),
                         text_disabled: Some(rgba(0x575279ff).into()),
                         text_accent: Some(rgba(0x57949fff).into()),
+                        icon: Some(rgba(0x575279ff).into()),
+                        icon_muted: Some(rgba(0x706c8cff).into()),
+                        icon_disabled: Some(rgba(0x938fa3ff).into()),
+                        icon_placeholder: Some(rgba(0x706c8cff).into()),
+                        icon_accent: Some(rgba(0x57949fff).into()),
                         status_bar_background: Some(rgba(0xdcd8d8ff).into()),
                         title_bar_background: Some(rgba(0xdcd8d8ff).into()),
                         toolbar_background: Some(rgba(0xfaf4edff).into()),
@@ -42,6 +60,7 @@ pub fn rose_pine() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x5752794d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x5752794d).into()),
                         scrollbar_thumb_border: Some(rgba(0xfdf8f1ff).into()),
+                        scrollbar_track_background: Some(rgba(0xfaf4edff).into()),
                         scrollbar_track_border: Some(rgba(0xfdf8f1ff).into()),
                         editor_foreground: Some(rgba(0x575279ff).into()),
                         editor_background: Some(rgba(0xfaf4edff).into()),
@@ -418,19 +437,37 @@ pub fn rose_pine() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x322f48ff).into()),
-                        border_variant: Some(rgba(0x27243bff).into()),
+                        border: Some(rgba(0x504c68ff).into()),
+                        border_variant: Some(rgba(0x504c68ff).into()),
+                        border_focused: Some(rgba(0x435255ff).into()),
+                        border_selected: Some(rgba(0x435255ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x44415bff).into()),
                         elevated_surface_background: Some(rgba(0x28253cff).into()),
+                        surface_background: Some(rgba(0x28253cff).into()),
                         background: Some(rgba(0x38354eff).into()),
                         panel_background: Some(rgba(0x28253cff).into()),
+                        element_background: Some(rgba(0x28253cff).into()),
                         element_hover: Some(rgba(0x504c6880).into()),
+                        element_active: Some(rgba(0x4f4b66ff).into()),
                         element_selected: Some(rgba(0x45415d80).into()),
+                        element_disabled: Some(rgba(0x28253cff).into()),
                         drop_target_background: Some(rgba(0x85819e80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x504c6880).into()),
+                        ghost_element_active: Some(rgba(0x4f4b66ff).into()),
+                        ghost_element_selected: Some(rgba(0x45415d80).into()),
+                        ghost_element_disabled: Some(rgba(0x28253cff).into()),
                         text: Some(rgba(0xe0def4ff).into()),
                         text_muted: Some(rgba(0x85819eff).into()),
                         text_placeholder: Some(rgba(0x3a3653ff).into()),
                         text_disabled: Some(rgba(0xe0def4ff).into()),
                         text_accent: Some(rgba(0x9cced7ff).into()),
+                        icon: Some(rgba(0xe0def4ff).into()),
+                        icon_muted: Some(rgba(0x85819eff).into()),
+                        icon_disabled: Some(rgba(0x615d7aff).into()),
+                        icon_placeholder: Some(rgba(0x85819eff).into()),
+                        icon_accent: Some(rgba(0x9cced7ff).into()),
                         status_bar_background: Some(rgba(0x38354eff).into()),
                         title_bar_background: Some(rgba(0x38354eff).into()),
                         toolbar_background: Some(rgba(0x232136ff).into()),
@@ -440,6 +477,7 @@ pub fn rose_pine() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xe0def44d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xe0def44d).into()),
                         scrollbar_thumb_border: Some(rgba(0x27243bff).into()),
+                        scrollbar_track_background: Some(rgba(0x232136ff).into()),
                         scrollbar_track_border: Some(rgba(0x27243bff).into()),
                         editor_foreground: Some(rgba(0xe0def4ff).into()),
                         editor_background: Some(rgba(0x232136ff).into()),
@@ -816,19 +854,37 @@ pub fn rose_pine() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x232132ff).into()),
-                        border_variant: Some(rgba(0x1c1a29ff).into()),
+                        border: Some(rgba(0x423f55ff).into()),
+                        border_variant: Some(rgba(0x423f55ff).into()),
+                        border_focused: Some(rgba(0x435255ff).into()),
+                        border_selected: Some(rgba(0x435255ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x353347ff).into()),
                         elevated_surface_background: Some(rgba(0x1d1b2aff).into()),
+                        surface_background: Some(rgba(0x1d1b2aff).into()),
                         background: Some(rgba(0x292739ff).into()),
                         panel_background: Some(rgba(0x1d1b2aff).into()),
+                        element_background: Some(rgba(0x1d1b2aff).into()),
                         element_hover: Some(rgba(0x423f5580).into()),
+                        element_active: Some(rgba(0x403e53ff).into()),
                         element_selected: Some(rgba(0x47445b80).into()),
+                        element_disabled: Some(rgba(0x1d1b2aff).into()),
                         drop_target_background: Some(rgba(0x75718e80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x423f5580).into()),
+                        ghost_element_active: Some(rgba(0x403e53ff).into()),
+                        ghost_element_selected: Some(rgba(0x47445b80).into()),
+                        ghost_element_disabled: Some(rgba(0x1d1b2aff).into()),
                         text: Some(rgba(0xe0def4ff).into()),
                         text_muted: Some(rgba(0x75718eff).into()),
                         text_placeholder: Some(rgba(0x3b384fff).into()),
                         text_disabled: Some(rgba(0xe0def4ff).into()),
                         text_accent: Some(rgba(0x9cced7ff).into()),
+                        icon: Some(rgba(0xe0def4ff).into()),
+                        icon_muted: Some(rgba(0x75718eff).into()),
+                        icon_disabled: Some(rgba(0x2f2b43ff).into()),
+                        icon_placeholder: Some(rgba(0x75718eff).into()),
+                        icon_accent: Some(rgba(0x9cced7ff).into()),
                         status_bar_background: Some(rgba(0x292739ff).into()),
                         title_bar_background: Some(rgba(0x292739ff).into()),
                         toolbar_background: Some(rgba(0x191724ff).into()),
@@ -838,6 +894,7 @@ pub fn rose_pine() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xe0def44d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xe0def44d).into()),
                         scrollbar_thumb_border: Some(rgba(0x1c1a29ff).into()),
+                        scrollbar_track_background: Some(rgba(0x191724ff).into()),
                         scrollbar_track_border: Some(rgba(0x1c1a29ff).into()),
                         editor_foreground: Some(rgba(0xe0def4ff).into()),
                         editor_background: Some(rgba(0x191724ff).into()),

crates/theme2/src/themes/sandcastle.rs 🔗

@@ -19,19 +19,37 @@ pub fn sandcastle() -> UserThemeFamily {
             appearance: Appearance::Dark,
             styles: UserThemeStylesRefinement {
                 colors: ThemeColorsRefinement {
-                    border: Some(rgba(0x313741ff).into()),
-                    border_variant: Some(rgba(0x2a2f38ff).into()),
+                    border: Some(rgba(0x3d4350ff).into()),
+                    border_variant: Some(rgba(0x3d4350ff).into()),
+                    border_focused: Some(rgba(0x223232ff).into()),
+                    border_selected: Some(rgba(0x223232ff).into()),
+                    border_transparent: Some(rgba(0x00000000).into()),
+                    border_disabled: Some(rgba(0x393f4aff).into()),
                     elevated_surface_background: Some(rgba(0x2b3039ff).into()),
+                    surface_background: Some(rgba(0x2b3039ff).into()),
                     background: Some(rgba(0x333944ff).into()),
                     panel_background: Some(rgba(0x2b3039ff).into()),
+                    element_background: Some(rgba(0x2b3039ff).into()),
                     element_hover: Some(rgba(0x3d435080).into()),
+                    element_active: Some(rgba(0x3d4350ff).into()),
                     element_selected: Some(rgba(0x57535380).into()),
+                    element_disabled: Some(rgba(0x2b3039ff).into()),
                     drop_target_background: Some(rgba(0xa6978280).into()),
+                    ghost_element_background: Some(rgba(0x00000000).into()),
+                    ghost_element_hover: Some(rgba(0x3d435080).into()),
+                    ghost_element_active: Some(rgba(0x3d4350ff).into()),
+                    ghost_element_selected: Some(rgba(0x57535380).into()),
+                    ghost_element_disabled: Some(rgba(0x2b3039ff).into()),
                     text: Some(rgba(0xfdf4c1ff).into()),
                     text_muted: Some(rgba(0xa69782ff).into()),
                     text_placeholder: Some(rgba(0x645b54ff).into()),
                     text_disabled: Some(rgba(0xfdf4c1ff).into()),
                     text_accent: Some(rgba(0x528b8bff).into()),
+                    icon: Some(rgba(0xfdf4c1ff).into()),
+                    icon_muted: Some(rgba(0xa69782ff).into()),
+                    icon_disabled: Some(rgba(0x827568ff).into()),
+                    icon_placeholder: Some(rgba(0xa69782ff).into()),
+                    icon_accent: Some(rgba(0x528b8bff).into()),
                     status_bar_background: Some(rgba(0x333944ff).into()),
                     title_bar_background: Some(rgba(0x333944ff).into()),
                     toolbar_background: Some(rgba(0x282c34ff).into()),
@@ -41,6 +59,7 @@ pub fn sandcastle() -> UserThemeFamily {
                     scrollbar_thumb_background: Some(rgba(0xfdf4c14d).into()),
                     scrollbar_thumb_hover_background: Some(rgba(0xfdf4c14d).into()),
                     scrollbar_thumb_border: Some(rgba(0x2a2f38ff).into()),
+                    scrollbar_track_background: Some(rgba(0x282c34ff).into()),
                     scrollbar_track_border: Some(rgba(0x2a2f38ff).into()),
                     editor_foreground: Some(rgba(0xfdf4c1ff).into()),
                     editor_background: Some(rgba(0x282c34ff).into()),

crates/theme2/src/themes/solarized.rs 🔗

@@ -20,19 +20,37 @@ pub fn solarized() -> UserThemeFamily {
                 appearance: Appearance::Light,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0xdcdacbff).into()),
-                        border_variant: Some(rgba(0xf5eedbff).into()),
+                        border: Some(rgba(0x9faaa8ff).into()),
+                        border_variant: Some(rgba(0x9faaa8ff).into()),
+                        border_focused: Some(rgba(0xbfd3efff).into()),
+                        border_selected: Some(rgba(0xbfd3efff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0xb7bdb6ff).into()),
                         elevated_surface_background: Some(rgba(0xf3eddaff).into()),
+                        surface_background: Some(rgba(0xf3eddaff).into()),
                         background: Some(rgba(0xcfd0c4ff).into()),
                         panel_background: Some(rgba(0xf3eddaff).into()),
+                        element_background: Some(rgba(0xf3eddaff).into()),
                         element_hover: Some(rgba(0x9faaa880).into()),
+                        element_active: Some(rgba(0xa2aca9ff).into()),
                         element_selected: Some(rgba(0x7f919480).into()),
+                        element_disabled: Some(rgba(0xf3eddaff).into()),
                         drop_target_background: Some(rgba(0x34555e80).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x9faaa880).into()),
+                        ghost_element_active: Some(rgba(0xa2aca9ff).into()),
+                        ghost_element_selected: Some(rgba(0x7f919480).into()),
+                        ghost_element_disabled: Some(rgba(0xf3eddaff).into()),
                         text: Some(rgba(0x002b36ff).into()),
                         text_muted: Some(rgba(0x34555eff).into()),
                         text_placeholder: Some(rgba(0x788b8fff).into()),
                         text_disabled: Some(rgba(0x002b36ff).into()),
                         text_accent: Some(rgba(0x298bd1ff).into()),
+                        icon: Some(rgba(0x002b36ff).into()),
+                        icon_muted: Some(rgba(0x34555eff).into()),
+                        icon_disabled: Some(rgba(0x6a7f86ff).into()),
+                        icon_placeholder: Some(rgba(0x34555eff).into()),
+                        icon_accent: Some(rgba(0x298bd1ff).into()),
                         status_bar_background: Some(rgba(0xcfd0c4ff).into()),
                         title_bar_background: Some(rgba(0xcfd0c4ff).into()),
                         toolbar_background: Some(rgba(0xfdf6e3ff).into()),
@@ -42,6 +60,7 @@ pub fn solarized() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0x002b364d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0x002b364d).into()),
                         scrollbar_thumb_border: Some(rgba(0xf5eedbff).into()),
+                        scrollbar_track_background: Some(rgba(0xfdf6e3ff).into()),
                         scrollbar_track_border: Some(rgba(0xf5eedbff).into()),
                         editor_foreground: Some(rgba(0x002b36ff).into()),
                         editor_background: Some(rgba(0xfdf6e3ff).into()),
@@ -404,19 +423,37 @@ pub fn solarized() -> UserThemeFamily {
                 appearance: Appearance::Dark,
                 styles: UserThemeStylesRefinement {
                     colors: ThemeColorsRefinement {
-                        border: Some(rgba(0x063541ff).into()),
-                        border_variant: Some(rgba(0x032f3bff).into()),
+                        border: Some(rgba(0x2b4f58ff).into()),
+                        border_variant: Some(rgba(0x2b4f58ff).into()),
+                        border_focused: Some(rgba(0x1c3249ff).into()),
+                        border_selected: Some(rgba(0x1c3249ff).into()),
+                        border_transparent: Some(rgba(0x00000000).into()),
+                        border_disabled: Some(rgba(0x19424dff).into()),
                         elevated_surface_background: Some(rgba(0x04313cff).into()),
+                        surface_background: Some(rgba(0x04313cff).into()),
                         background: Some(rgba(0x083743ff).into()),
                         panel_background: Some(rgba(0x04313cff).into()),
+                        element_background: Some(rgba(0x04313cff).into()),
                         element_hover: Some(rgba(0x2b4f5880).into()),
+                        element_active: Some(rgba(0x294e58ff).into()),
                         element_selected: Some(rgba(0x566d7480).into()),
+                        element_disabled: Some(rgba(0x04313cff).into()),
                         drop_target_background: Some(rgba(0x93a1a180).into()),
+                        ghost_element_background: Some(rgba(0x00000000).into()),
+                        ghost_element_hover: Some(rgba(0x2b4f5880).into()),
+                        ghost_element_active: Some(rgba(0x294e58ff).into()),
+                        ghost_element_selected: Some(rgba(0x566d7480).into()),
+                        ghost_element_disabled: Some(rgba(0x04313cff).into()),
                         text: Some(rgba(0xfdf6e3ff).into()),
                         text_muted: Some(rgba(0x93a1a1ff).into()),
                         text_placeholder: Some(rgba(0x5f757dff).into()),
                         text_disabled: Some(rgba(0xfdf6e3ff).into()),
                         text_accent: Some(rgba(0x288bd1ff).into()),
+                        icon: Some(rgba(0xfdf6e3ff).into()),
+                        icon_muted: Some(rgba(0x93a1a1ff).into()),
+                        icon_disabled: Some(rgba(0x6f8389ff).into()),
+                        icon_placeholder: Some(rgba(0x93a1a1ff).into()),
+                        icon_accent: Some(rgba(0x288bd1ff).into()),
                         status_bar_background: Some(rgba(0x083743ff).into()),
                         title_bar_background: Some(rgba(0x083743ff).into()),
                         toolbar_background: Some(rgba(0x002b36ff).into()),
@@ -426,6 +463,7 @@ pub fn solarized() -> UserThemeFamily {
                         scrollbar_thumb_background: Some(rgba(0xfdf6e34d).into()),
                         scrollbar_thumb_hover_background: Some(rgba(0xfdf6e34d).into()),
                         scrollbar_thumb_border: Some(rgba(0x032f3bff).into()),
+                        scrollbar_track_background: Some(rgba(0x002b36ff).into()),
                         scrollbar_track_border: Some(rgba(0x032f3bff).into()),
                         editor_foreground: Some(rgba(0xfdf6e3ff).into()),
                         editor_background: Some(rgba(0x002b36ff).into()),

crates/theme2/src/themes/summercamp.rs 🔗

@@ -19,19 +19,37 @@ pub fn summercamp() -> UserThemeFamily {
             appearance: Appearance::Dark,
             styles: UserThemeStylesRefinement {
                 colors: ThemeColorsRefinement {
-                    border: Some(rgba(0x29251bff).into()),
-                    border_variant: Some(rgba(0x221e15ff).into()),
+                    border: Some(rgba(0x312d21ff).into()),
+                    border_variant: Some(rgba(0x312d21ff).into()),
+                    border_focused: Some(rgba(0x193761ff).into()),
+                    border_selected: Some(rgba(0x193761ff).into()),
+                    border_transparent: Some(rgba(0x00000000).into()),
+                    border_disabled: Some(rgba(0x2e2a1fff).into()),
                     elevated_surface_background: Some(rgba(0x231f16ff).into()),
+                    surface_background: Some(rgba(0x231f16ff).into()),
                     background: Some(rgba(0x2a261cff).into()),
                     panel_background: Some(rgba(0x231f16ff).into()),
+                    element_background: Some(rgba(0x231f16ff).into()),
                     element_hover: Some(rgba(0x312d2180).into()),
+                    element_active: Some(rgba(0x302c20ff).into()),
                     element_selected: Some(rgba(0x39342780).into()),
+                    element_disabled: Some(rgba(0x231f16ff).into()),
                     drop_target_background: Some(rgba(0x736e5580).into()),
+                    ghost_element_background: Some(rgba(0x00000000).into()),
+                    ghost_element_hover: Some(rgba(0x312d2180).into()),
+                    ghost_element_active: Some(rgba(0x302c20ff).into()),
+                    ghost_element_selected: Some(rgba(0x39342780).into()),
+                    ghost_element_disabled: Some(rgba(0x231f16ff).into()),
                     text: Some(rgba(0xf8f5deff).into()),
                     text_muted: Some(rgba(0x736e55ff).into()),
                     text_placeholder: Some(rgba(0x3d382aff).into()),
                     text_disabled: Some(rgba(0xf8f5deff).into()),
                     text_accent: Some(rgba(0x499befff).into()),
+                    icon: Some(rgba(0xf8f5deff).into()),
+                    icon_muted: Some(rgba(0x736e55ff).into()),
+                    icon_disabled: Some(rgba(0x4c4735ff).into()),
+                    icon_placeholder: Some(rgba(0x736e55ff).into()),
+                    icon_accent: Some(rgba(0x499befff).into()),
                     status_bar_background: Some(rgba(0x2a261cff).into()),
                     title_bar_background: Some(rgba(0x2a261cff).into()),
                     toolbar_background: Some(rgba(0x1c1810ff).into()),
@@ -41,6 +59,7 @@ pub fn summercamp() -> UserThemeFamily {
                     scrollbar_thumb_background: Some(rgba(0xf8f5de4d).into()),
                     scrollbar_thumb_hover_background: Some(rgba(0xf8f5de4d).into()),
                     scrollbar_thumb_border: Some(rgba(0x221e15ff).into()),
+                    scrollbar_track_background: Some(rgba(0x1c1810ff).into()),
                     scrollbar_track_border: Some(rgba(0x221e15ff).into()),
                     editor_foreground: Some(rgba(0xf8f5deff).into()),
                     editor_background: Some(rgba(0x1c1810ff).into()),

crates/theme_importer/src/zed1/converter.rs 🔗

@@ -1,5 +1,5 @@
-use anyhow::Result;
-use gpui::{Hsla, Rgba};
+use anyhow::{Context, Result};
+use gpui::{serde_json, Hsla, Rgba};
 use gpui1::color::Color as Zed1Color;
 use gpui1::fonts::HighlightStyle as Zed1HighlightStyle;
 use theme::{
@@ -7,7 +7,7 @@ use theme::{
     UserFontStyle, UserFontWeight, UserHighlightStyle, UserSyntaxTheme, UserTheme,
     UserThemeStylesRefinement,
 };
-use theme1::Theme as Zed1Theme;
+use theme1::{ColorScheme, Theme as Zed1Theme};
 
 fn zed1_color_to_hsla(color: Zed1Color) -> Hsla {
     let r = color.r as f32 / 255.;
@@ -118,6 +118,13 @@ impl Zed1ThemeConverter {
             Some(zed1_color_to_hsla(color))
         }
 
+        let base_theme: ColorScheme = serde_json::from_value(self.theme.base_theme.clone())
+            .with_context(|| "failed to parse `theme.base_theme`")?;
+
+        let lowest = &base_theme.lowest;
+        let middle = &base_theme.middle;
+        let highest = &base_theme.highest;
+
         let picker = &self.theme.picker;
         let title_bar = &self.theme.titlebar;
         let status_bar = &self.theme.workspace.status_bar;
@@ -131,57 +138,93 @@ impl Zed1ThemeConverter {
         let terminal = &self.theme.terminal;
 
         Ok(ThemeColorsRefinement {
-            border: convert(active_tab.container.border.color),
-            border_variant: convert(toolbar.container.border.color),
-            background: convert(self.theme.workspace.background),
+            border: convert(lowest.base.default.border),
+            border_variant: convert(lowest.variant.default.border),
+            border_focused: convert(lowest.accent.hovered.border),
+            border_selected: convert(lowest.accent.default.border),
+            border_transparent: Some(gpui::transparent_black()),
+            border_disabled: convert(lowest.base.disabled.border),
             elevated_surface_background: editor
                 .hover_popover
                 .container
                 .background_color
                 .map(zed1_color_to_hsla),
-            title_bar_background: title_bar.container.background_color.map(zed1_color_to_hsla),
-            status_bar_background: status_bar
+            surface_background: convert(middle.base.default.background),
+            background: convert(self.theme.workspace.background),
+            element_background: convert(lowest.on.default.background),
+            element_hover: picker
+                .item
+                .hovered
+                .as_ref()
+                .and_then(|hovered| hovered.container.background_color)
+                .map(zed1_color_to_hsla),
+            element_active: convert(lowest.on.active.background),
+            element_selected: picker
+                .item
+                .active_state()
                 .container
                 .background_color
-                .map(zed1_color_to_hsla)
-                .or_else(|| title_bar.container.background_color.map(zed1_color_to_hsla)),
-            panel_background: project_panel
+                .map(zed1_color_to_hsla),
+            element_disabled: convert(lowest.on.disabled.background),
+            drop_target_background: convert(self.theme.workspace.drop_target_overlay_color),
+            ghost_element_background: Some(gpui::transparent_black()),
+            ghost_element_hover: picker
+                .item
+                .hovered
+                .as_ref()
+                .and_then(|hovered| hovered.container.background_color)
+                .map(zed1_color_to_hsla),
+            ghost_element_active: convert(lowest.on.active.background),
+            ghost_element_selected: picker
+                .item
+                .active_state()
                 .container
                 .background_color
                 .map(zed1_color_to_hsla),
+            ghost_element_disabled: convert(lowest.on.disabled.background),
+            icon: convert(lowest.base.default.foreground),
+            icon_muted: convert(lowest.variant.default.foreground),
+            icon_placeholder: convert(lowest.variant.default.foreground), // TODO: What should placeholder be?
+            icon_disabled: convert(lowest.base.disabled.foreground),
+            icon_accent: convert(lowest.accent.default.foreground),
             text: convert(self.theme.collab_panel.channel_name.text.color),
             text_muted: convert(tab_bar.pane_button.default_style().color),
-            text_accent: convert(status_bar.panel_buttons.button.active_state().icon_color),
-            text_disabled: convert(status_bar.panel_buttons.button.disabled_style().icon_color),
             text_placeholder: picker
                 .empty_input_editor
                 .placeholder_text
                 .as_ref()
                 .map(|placeholder_text| placeholder_text.color)
                 .map(zed1_color_to_hsla),
-            element_hover: picker
-                .item
-                .hovered
-                .as_ref()
-                .and_then(|hovered| hovered.container.background_color)
-                .map(zed1_color_to_hsla),
-            element_selected: picker
-                .item
-                .active_state()
+            text_disabled: convert(status_bar.panel_buttons.button.disabled_style().icon_color),
+            text_accent: convert(status_bar.panel_buttons.button.active_state().icon_color),
+            status_bar_background: status_bar
                 .container
                 .background_color
-                .map(zed1_color_to_hsla),
+                .map(zed1_color_to_hsla)
+                .or_else(|| title_bar.container.background_color.map(zed1_color_to_hsla)),
+            title_bar_background: title_bar.container.background_color.map(zed1_color_to_hsla),
+            toolbar_background: toolbar.container.background_color.map(zed1_color_to_hsla),
             tab_bar_background: tab_bar.container.background_color.map(zed1_color_to_hsla),
+            tab_inactive_background: inactive_tab
+                .container
+                .background_color
+                .map(zed1_color_to_hsla),
             tab_active_background: active_tab
                 .container
                 .background_color
                 .map(zed1_color_to_hsla),
-            tab_inactive_background: inactive_tab
+            panel_background: project_panel
                 .container
                 .background_color
                 .map(zed1_color_to_hsla),
-            drop_target_background: convert(self.theme.workspace.drop_target_overlay_color),
-            toolbar_background: toolbar.container.background_color.map(zed1_color_to_hsla),
+            scrollbar_thumb_background: scrollbar.thumb.background_color.map(zed1_color_to_hsla),
+            scrollbar_thumb_hover_background: scrollbar
+                .thumb
+                .background_color
+                .map(zed1_color_to_hsla),
+            scrollbar_thumb_border: convert(scrollbar.thumb.border.color),
+            scrollbar_track_background: convert(highest.base.default.background),
+            scrollbar_track_border: convert(scrollbar.track.border.color),
             editor_foreground: convert(editor.text_color),
             editor_background: convert(editor.background),
             editor_gutter_background: convert(editor.gutter_background),
@@ -189,14 +232,6 @@ impl Zed1ThemeConverter {
             editor_active_line_number: convert(editor.line_number_active),
             editor_wrap_guide: convert(editor.wrap_guide),
             editor_active_wrap_guide: convert(editor.active_wrap_guide),
-            scrollbar_track_background: scrollbar.track.background_color.map(zed1_color_to_hsla),
-            scrollbar_track_border: convert(scrollbar.track.border.color),
-            scrollbar_thumb_background: scrollbar.thumb.background_color.map(zed1_color_to_hsla),
-            scrollbar_thumb_border: convert(scrollbar.thumb.border.color),
-            scrollbar_thumb_hover_background: scrollbar
-                .thumb
-                .background_color
-                .map(zed1_color_to_hsla),
             terminal_background: convert(terminal.background),
             terminal_ansi_bright_black: convert(terminal.bright_black),
             terminal_ansi_bright_red: convert(terminal.bright_red),

styles/src/style_tree/app.ts 🔗

@@ -60,5 +60,6 @@ export default function app(): any {
         chat_panel: chat_panel(),
         notification_panel: notification_panel(),
         component_test: component_test(),
+        base_theme: theme,
     }
 }