Squashed commit of the following:

commit 66d4cbae2ca6d7dd660688d7eb702ae55bf3e0ca
Author: Nate Butler <iamnbutler@gmail.com>
Date:   Tue Apr 5 13:33:33 2022 -0400

    WIP: Improve legibility of contactsPanel and fix errors

    Co-Authored-By: Keith Simmons <keith@the-simmons.net>

commit 000319c583801c5ba4ed7884bbf3da2a591e3f26
Author: Nate Butler <iamnbutler@gmail.com>
Date:   Tue Apr 5 13:13:32 2022 -0400

    WIP
This commit is contained in:
Nate Butler 2022-04-05 13:34:06 -04:00
parent 05a05157fa
commit d21dea6112
9 changed files with 184 additions and 183 deletions

View file

@ -51,7 +51,7 @@
"empty": { "empty": {
"text": { "text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"padding": { "padding": {
@ -66,20 +66,20 @@
"corner_radius": 6, "corner_radius": 6,
"placeholder_text": { "placeholder_text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#2b2b2b", "color": "#474747",
"size": 14 "size": 14
}, },
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#103063" "selection": "#2472f24d"
}, },
"text": { "text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#f1f1f1", "color": "#f1f1f1",
"size": 16 "size": 14
}, },
"border": { "border": {
"color": "#151515", "color": "#232323",
"width": 1 "width": 1
}, },
"padding": { "padding": {
@ -209,7 +209,7 @@
} }
}, },
"pane_divider": { "pane_divider": {
"color": "#070707", "color": "#232323",
"width": 1 "width": 1
}, },
"status_bar": { "status_bar": {
@ -221,17 +221,17 @@
}, },
"cursor_position": { "cursor_position": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"diagnostic_message": { "diagnostic_message": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"lsp_message": { "lsp_message": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
} }
}, },
@ -240,7 +240,7 @@
"height": 32, "height": 32,
"background": "#2b2b2b", "background": "#2b2b2b",
"share_icon_color": "#9c9c9c", "share_icon_color": "#9c9c9c",
"share_icon_active_color": "#ffffff", "share_icon_active_color": "#1096d3",
"title": { "title": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#f1f1f1", "color": "#f1f1f1",
@ -297,7 +297,7 @@
"height": 34, "height": 34,
"background": "#000000", "background": "#000000",
"border": { "border": {
"color": "#151515", "color": "#232323",
"width": 1, "width": 1,
"bottom": true "bottom": true
}, },
@ -312,7 +312,7 @@
"breadcrumbs": { "breadcrumbs": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#9c9c9c", "color": "#9c9c9c",
"size": 16, "size": 14,
"padding": { "padding": {
"left": 6 "left": 6
} }
@ -331,48 +331,48 @@
"code_actions_indicator": "#9c9c9c", "code_actions_indicator": "#9c9c9c",
"diff_background_deleted": "#f15656", "diff_background_deleted": "#f15656",
"diff_background_inserted": "#1b9447", "diff_background_inserted": "#1b9447",
"document_highlight_read_background": "#2b2b2b", "document_highlight_read_background": "#14a89829",
"document_highlight_write_background": "#2b2b2b", "document_highlight_write_background": "#14a89852",
"error_color": "#f15656", "error_color": "#f15656",
"gutter_background": "#000000", "gutter_background": "#000000",
"gutter_padding_factor": 3.5, "gutter_padding_factor": 3.5,
"highlighted_line_background": "#070707", "highlighted_line_background": "#070707",
"line_number": "#636363", "line_number": "#808080",
"line_number_active": "#ffffff", "line_number_active": "#ffffff",
"rename_fade": 0.6, "rename_fade": 0.6,
"unnecessary_code_fade": 0.5, "unnecessary_code_fade": 0.5,
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#103063" "selection": "#2472f24d"
}, },
"guest_selections": [ "guest_selections": [
{ {
"cursor": "#79ba16", "cursor": "#79ba16",
"selection": "#38530f" "selection": "#79ba164d"
}, },
{ {
"cursor": "#484bed", "cursor": "#484bed",
"selection": "#121269" "selection": "#484bed4d"
}, },
{ {
"cursor": "#ee670a", "cursor": "#ee670a",
"selection": "#5d2f0e" "selection": "#ee670a4d"
}, },
{ {
"cursor": "#993bf3", "cursor": "#993bf3",
"selection": "#3e1169" "selection": "#993bf34d"
}, },
{ {
"cursor": "#16d6c1", "cursor": "#16d6c1",
"selection": "#0e4f48" "selection": "#16d6c14d"
}, },
{ {
"cursor": "#ef59a3", "cursor": "#ef59a3",
"selection": "#fbc6e1" "selection": "#ef59a34d"
}, },
{ {
"cursor": "#f7bf17", "cursor": "#f7bf17",
"selection": "#fce9b7" "selection": "#f7bf174d"
} }
], ],
"autocomplete": { "autocomplete": {
@ -380,7 +380,7 @@
"corner_radius": 6, "corner_radius": 6,
"padding": 6, "padding": 6,
"border": { "border": {
"color": "#151515", "color": "#232323",
"width": 1 "width": 1
}, },
"item": { "item": {
@ -425,14 +425,14 @@
"icon_width_factor": 1.5, "icon_width_factor": 1.5,
"text_scale_factor": 0.857, "text_scale_factor": 0.857,
"border": { "border": {
"color": "#151515", "color": "#232323",
"width": 1, "width": 1,
"bottom": true, "bottom": true,
"top": true "top": true
}, },
"code": { "code": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"margin": { "margin": {
"left": 10 "left": 10
@ -462,7 +462,7 @@
}, },
"path": { "path": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"margin": { "margin": {
"left": 12 "left": 12
@ -573,12 +573,12 @@
"message": { "message": {
"text": { "text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"highlight_text": { "highlight_text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"weight": "bold" "weight": "bold"
} }
@ -596,12 +596,12 @@
"message": { "message": {
"text": { "text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"highlight_text": { "highlight_text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"weight": "bold" "weight": "bold"
} }
@ -619,12 +619,12 @@
"message": { "message": {
"text": { "text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"highlight_text": { "highlight_text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"weight": "bold" "weight": "bold"
} }
@ -642,12 +642,12 @@
"message": { "message": {
"text": { "text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"highlight_text": { "highlight_text": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"weight": "bold" "weight": "bold"
} }
@ -680,7 +680,7 @@
"color": "#ee670a", "color": "#ee670a",
"italic": true "italic": true
}, },
"list_marker": "#20b0f2" "list_marker": "#c6c6c6"
} }
}, },
"project_diagnostics": { "project_diagnostics": {
@ -690,11 +690,11 @@
"empty_message": { "empty_message": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#f1f1f1", "color": "#f1f1f1",
"size": 14 "size": 18
}, },
"status_bar_item": { "status_bar_item": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"margin": { "margin": {
"right": 10 "right": 10
@ -768,7 +768,7 @@
}, },
"channel_name_hash": { "channel_name_hash": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"padding": { "padding": {
"right": 8 "right": 8
@ -787,7 +787,7 @@
}, },
"hash": { "hash": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"margin": { "margin": {
"right": 8 "right": 8
@ -804,7 +804,7 @@
"padding": 4, "padding": 4,
"hash": { "hash": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"margin": { "margin": {
"right": 8 "right": 8
@ -821,7 +821,7 @@
"padding": 4, "padding": 4,
"hash": { "hash": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"margin": { "margin": {
"right": 8 "right": 8
@ -839,7 +839,7 @@
"padding": 4, "padding": 4,
"hash": { "hash": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"margin": { "margin": {
"right": 8 "right": 8
@ -856,7 +856,7 @@
"padding": 4, "padding": 4,
"hash": { "hash": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14, "size": 14,
"margin": { "margin": {
"right": 8 "right": 8
@ -903,7 +903,7 @@
}, },
"timestamp": { "timestamp": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"padding": { "padding": {
@ -922,12 +922,12 @@
"pending_message": { "pending_message": {
"body": { "body": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"timestamp": { "timestamp": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"size": 14 "size": 14
}, },
"padding": { "padding": {
@ -935,7 +935,7 @@
}, },
"sender": { "sender": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#636363", "color": "#808080",
"weight": "bold", "weight": "bold",
"size": 14, "size": 14,
"margin": { "margin": {
@ -949,19 +949,19 @@
"text": { "text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#f1f1f1", "color": "#f1f1f1",
"size": 16 "size": 14
}, },
"placeholder_text": { "placeholder_text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#474747",
"size": 14 "size": 14
}, },
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#103063" "selection": "#2472f24d"
}, },
"border": { "border": {
"color": "#151515", "color": "#232323",
"width": 1 "width": 1
}, },
"padding": { "padding": {
@ -980,7 +980,7 @@
"right": 12 "right": 12
}, },
"host_row_height": 28, "host_row_height": 28,
"tree_branch_color": "#232323", "tree_branch_color": "#404040",
"tree_branch_width": 1, "tree_branch_width": 1,
"host_avatar": { "host_avatar": {
"corner_radius": 10, "corner_radius": 10,
@ -988,8 +988,8 @@
}, },
"host_username": { "host_username": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#636363", "color": "#f1f1f1",
"size": 16, "size": 14,
"padding": { "padding": {
"left": 8 "left": 8
} }
@ -1003,8 +1003,8 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#9c9c9c", "color": "#474747",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
@ -1022,15 +1022,17 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#f1f1f1", "color": "#9c9c9c",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
}, },
"padding": { "padding": {
"left": 8 "left": 8
} },
"background": "#1c1c1c",
"corner_radius": 6
}, },
"hovered_shared_project": { "hovered_shared_project": {
"guest_avatar_spacing": 4, "guest_avatar_spacing": 4,
@ -1041,8 +1043,8 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#f1f1f1", "color": "#9c9c9c",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
@ -1050,7 +1052,7 @@
"padding": { "padding": {
"left": 8 "left": 8
}, },
"background": "#0e0e0e", "background": "#232323",
"corner_radius": 6 "corner_radius": 6
}, },
"unshared_project": { "unshared_project": {
@ -1062,8 +1064,8 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#9c9c9c", "color": "#474747",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
@ -1081,8 +1083,8 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#9c9c9c", "color": "#474747",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
@ -1090,18 +1092,17 @@
"padding": { "padding": {
"left": 8 "left": 8
}, },
"background": "#0e0e0e",
"corner_radius": 6 "corner_radius": 6
} }
}, },
"search": { "search": {
"match_background": "#0a2633", "match_background": "#1096d329",
"tab_icon_spacing": 4, "tab_icon_spacing": 4,
"tab_icon_width": 14, "tab_icon_width": 14,
"active_hovered_option_button": { "active_hovered_option_button": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#9c9c9c", "color": "#9c9c9c",
"size": 16, "size": 14,
"background": "#2b2b2b", "background": "#2b2b2b",
"corner_radius": 6, "corner_radius": 6,
"border": { "border": {
@ -1122,7 +1123,7 @@
"active_option_button": { "active_option_button": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#9c9c9c", "color": "#9c9c9c",
"size": 16, "size": 14,
"background": "#2b2b2b", "background": "#2b2b2b",
"corner_radius": 6, "corner_radius": 6,
"border": { "border": {
@ -1147,20 +1148,20 @@
"max_width": 500, "max_width": 500,
"placeholder_text": { "placeholder_text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#474747",
"size": 16 "size": 14
}, },
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#103063" "selection": "#2472f24d"
}, },
"text": { "text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#f1f1f1", "color": "#f1f1f1",
"size": 16 "size": 14
}, },
"border": { "border": {
"color": "#070707", "color": "#232323",
"width": 1 "width": 1
}, },
"margin": { "margin": {
@ -1176,7 +1177,7 @@
"hovered_option_button": { "hovered_option_button": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#9c9c9c", "color": "#9c9c9c",
"size": 16, "size": 14,
"background": "#2b2b2b", "background": "#2b2b2b",
"corner_radius": 6, "corner_radius": 6,
"border": { "border": {
@ -1201,17 +1202,17 @@
"max_width": 500, "max_width": 500,
"placeholder_text": { "placeholder_text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#474747",
"size": 16 "size": 14
}, },
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#103063" "selection": "#2472f24d"
}, },
"text": { "text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#f1f1f1", "color": "#f1f1f1",
"size": 16 "size": 14
}, },
"border": { "border": {
"color": "#eb2d2d", "color": "#eb2d2d",
@ -1229,14 +1230,14 @@
}, },
"match_index": { "match_index": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#636363", "color": "#808080",
"size": 16, "size": 14,
"padding": 6 "padding": 6
}, },
"option_button": { "option_button": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#9c9c9c", "color": "#9c9c9c",
"size": 16, "size": 14,
"background": "#1c1c1c", "background": "#1c1c1c",
"corner_radius": 6, "corner_radius": 6,
"border": { "border": {

View file

@ -71,12 +71,12 @@
}, },
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#c5dafc" "selection": "#2472f24d"
}, },
"text": { "text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#2b2b2b",
"size": 16 "size": 14
}, },
"border": { "border": {
"color": "#e3e3e3", "color": "#e3e3e3",
@ -209,7 +209,7 @@
} }
}, },
"pane_divider": { "pane_divider": {
"color": "#c6c6c6", "color": "#e3e3e3",
"width": 1 "width": 1
}, },
"status_bar": { "status_bar": {
@ -240,7 +240,7 @@
"height": 32, "height": 32,
"background": "#e3e3e3", "background": "#e3e3e3",
"share_icon_color": "#717171", "share_icon_color": "#717171",
"share_icon_active_color": "#000000", "share_icon_active_color": "#1179a8",
"title": { "title": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#2b2b2b", "color": "#2b2b2b",
@ -312,7 +312,7 @@
"breadcrumbs": { "breadcrumbs": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#555555", "color": "#555555",
"size": 16, "size": 14,
"padding": { "padding": {
"left": 6 "left": 6
} }
@ -331,8 +331,8 @@
"code_actions_indicator": "#717171", "code_actions_indicator": "#717171",
"diff_background_deleted": "#fcc6c6", "diff_background_deleted": "#fcc6c6",
"diff_background_inserted": "#b7f9ce", "diff_background_inserted": "#b7f9ce",
"document_highlight_read_background": "#f1f1f1", "document_highlight_read_background": "#14a89829",
"document_highlight_write_background": "#f1f1f1", "document_highlight_write_background": "#14a89852",
"error_color": "#eb2d2d", "error_color": "#eb2d2d",
"gutter_background": "#ffffff", "gutter_background": "#ffffff",
"gutter_padding_factor": 3.5, "gutter_padding_factor": 3.5,
@ -343,36 +343,36 @@
"unnecessary_code_fade": 0.5, "unnecessary_code_fade": 0.5,
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#c5dafc" "selection": "#2472f24d"
}, },
"guest_selections": [ "guest_selections": [
{ {
"cursor": "#79ba16", "cursor": "#79ba16",
"selection": "#dffab5" "selection": "#79ba164d"
}, },
{ {
"cursor": "#484bed", "cursor": "#484bed",
"selection": "#cdcdfc" "selection": "#484bed4d"
}, },
{ {
"cursor": "#ee670a", "cursor": "#ee670a",
"selection": "#fcd6bd" "selection": "#ee670a4d"
}, },
{ {
"cursor": "#993bf3", "cursor": "#993bf3",
"selection": "#e4cbfc" "selection": "#993bf34d"
}, },
{ {
"cursor": "#16d6c1", "cursor": "#16d6c1",
"selection": "#b1faf2" "selection": "#16d6c14d"
}, },
{ {
"cursor": "#ef59a3", "cursor": "#ef59a3",
"selection": "#fbc6e1" "selection": "#ef59a34d"
}, },
{ {
"cursor": "#f7bf17", "cursor": "#f7bf17",
"selection": "#fce9b7" "selection": "#f7bf174d"
} }
], ],
"autocomplete": { "autocomplete": {
@ -680,7 +680,7 @@
"color": "#ee670a", "color": "#ee670a",
"italic": true "italic": true
}, },
"list_marker": "#20b0f2" "list_marker": "#393939"
} }
}, },
"project_diagnostics": { "project_diagnostics": {
@ -690,7 +690,7 @@
"empty_message": { "empty_message": {
"family": "Zed Sans", "family": "Zed Sans",
"color": "#2b2b2b", "color": "#2b2b2b",
"size": 14 "size": 18
}, },
"status_bar_item": { "status_bar_item": {
"family": "Zed Sans", "family": "Zed Sans",
@ -949,7 +949,7 @@
"text": { "text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#2b2b2b",
"size": 16 "size": 14
}, },
"placeholder_text": { "placeholder_text": {
"family": "Zed Mono", "family": "Zed Mono",
@ -958,7 +958,7 @@
}, },
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#c5dafc" "selection": "#2472f24d"
}, },
"border": { "border": {
"color": "#e3e3e3", "color": "#e3e3e3",
@ -988,8 +988,8 @@
}, },
"host_username": { "host_username": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#808080", "color": "#2b2b2b",
"size": 16, "size": 14,
"padding": { "padding": {
"left": 8 "left": 8
} }
@ -1003,8 +1003,8 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#555555", "color": "#aaaaaa",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
@ -1022,15 +1022,17 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#555555",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
}, },
"padding": { "padding": {
"left": 8 "left": 8
} },
"background": "#f1f1f1",
"corner_radius": 6
}, },
"hovered_shared_project": { "hovered_shared_project": {
"guest_avatar_spacing": 4, "guest_avatar_spacing": 4,
@ -1041,8 +1043,8 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#555555",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
@ -1050,7 +1052,7 @@
"padding": { "padding": {
"left": 8 "left": 8
}, },
"background": "#f1f1f1", "background": "#e3e3e3",
"corner_radius": 6 "corner_radius": 6
}, },
"unshared_project": { "unshared_project": {
@ -1062,8 +1064,8 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#555555", "color": "#aaaaaa",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
@ -1081,8 +1083,8 @@
}, },
"name": { "name": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#555555", "color": "#aaaaaa",
"size": 16, "size": 14,
"margin": { "margin": {
"right": 6 "right": 6
} }
@ -1090,18 +1092,17 @@
"padding": { "padding": {
"left": 8 "left": 8
}, },
"background": "#f1f1f1",
"corner_radius": 6 "corner_radius": 6
} }
}, },
"search": { "search": {
"match_background": "#ffffff", "match_background": "#1096d329",
"tab_icon_spacing": 4, "tab_icon_spacing": 4,
"tab_icon_width": 14, "tab_icon_width": 14,
"active_hovered_option_button": { "active_hovered_option_button": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#555555", "color": "#555555",
"size": 16, "size": 14,
"background": "#e3e3e3", "background": "#e3e3e3",
"corner_radius": 6, "corner_radius": 6,
"border": { "border": {
@ -1122,7 +1123,7 @@
"active_option_button": { "active_option_button": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#555555", "color": "#555555",
"size": 16, "size": 14,
"background": "#e3e3e3", "background": "#e3e3e3",
"corner_radius": 6, "corner_radius": 6,
"border": { "border": {
@ -1148,19 +1149,19 @@
"placeholder_text": { "placeholder_text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#aaaaaa", "color": "#aaaaaa",
"size": 16 "size": 14
}, },
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#c5dafc" "selection": "#2472f24d"
}, },
"text": { "text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#2b2b2b",
"size": 16 "size": 14
}, },
"border": { "border": {
"color": "#c6c6c6", "color": "#e3e3e3",
"width": 1 "width": 1
}, },
"margin": { "margin": {
@ -1176,7 +1177,7 @@
"hovered_option_button": { "hovered_option_button": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#555555", "color": "#555555",
"size": 16, "size": 14,
"background": "#e3e3e3", "background": "#e3e3e3",
"corner_radius": 6, "corner_radius": 6,
"border": { "border": {
@ -1202,16 +1203,16 @@
"placeholder_text": { "placeholder_text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#aaaaaa", "color": "#aaaaaa",
"size": 16 "size": 14
}, },
"selection": { "selection": {
"cursor": "#2472f2", "cursor": "#2472f2",
"selection": "#c5dafc" "selection": "#2472f24d"
}, },
"text": { "text": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#2b2b2b", "color": "#2b2b2b",
"size": 16 "size": 14
}, },
"border": { "border": {
"color": "#f9a0a0", "color": "#f9a0a0",
@ -1230,13 +1231,13 @@
"match_index": { "match_index": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#808080", "color": "#808080",
"size": 16, "size": 14,
"padding": 6 "padding": 6
}, },
"option_button": { "option_button": {
"family": "Zed Mono", "family": "Zed Mono",
"color": "#555555", "color": "#555555",
"size": 16, "size": 14,
"background": "#f1f1f1", "background": "#f1f1f1",
"corner_radius": 6, "corner_radius": 6,
"border": { "border": {

View file

@ -1,6 +1,8 @@
{ {
"watch": ["./**/*"], "watch": [
"./**/*"
],
"ext": "ts", "ext": "ts",
"ignore": [], "ignore": [],
"exec": "ts-node buildThemes.ts" "exec": "ts-node src/buildThemes.ts"
} }

View file

@ -1,16 +1,9 @@
import chroma from "chroma-js"; import chroma from "chroma-js";
import Theme, { BackgroundColor } from "../themes/theme"; import Theme, { BackgroundColorSet } from "../themes/theme";
import { fontFamilies, fontSizes, FontFamily, FontWeight, FontSize } from "../tokens"; import { fontFamilies, fontSizes, FontWeight } from "../tokens";
import { Color } from "../utils/color"; import { Color } from "../utils/color";
export type TextColor = keyof Theme["textColor"]; export type TextColor = keyof Theme["textColor"];
export interface Text {
family: FontFamily,
color: Color,
size: FontSize,
weight?: FontWeight,
underline?: boolean,
}
export function text( export function text(
theme: Theme, theme: Theme,
fontFamily: keyof typeof fontFamilies, fontFamily: keyof typeof fontFamilies,
@ -20,18 +13,20 @@ export function text(
weight?: FontWeight; weight?: FontWeight;
underline?: boolean; underline?: boolean;
} }
): Text { ) {
let extraProperties = { let size = fontSizes[properties?.size || "sm"].value;
...properties,
size: fontSizes[properties.size || "sm"].value,
};
return { return {
family: fontFamilies[fontFamily].value, family: fontFamilies[fontFamily].value,
color: theme.textColor[color].value, color: theme.textColor[color].value,
...extraProperties, ...properties,
size,
}; };
} }
export function textColor(theme: Theme, color: TextColor) {
return theme.textColor[color].value;
}
export type BorderColor = keyof Theme["borderColor"];
export interface BorderOptions { export interface BorderOptions {
width?: number; width?: number;
top?: boolean; top?: boolean;
@ -42,7 +37,7 @@ export interface BorderOptions {
} }
export function border( export function border(
theme: Theme, theme: Theme,
color: keyof Theme["borderColor"], color: BorderColor,
options?: BorderOptions options?: BorderOptions
) { ) {
return { return {
@ -51,25 +46,25 @@ export function border(
...options, ...options,
}; };
} }
export function borderColor(theme: Theme, color: BorderColor) {
export function borderColor(theme: Theme, color: keyof Theme["borderColor"]) {
return theme.borderColor[color].value; return theme.borderColor[color].value;
} }
export function iconColor(theme: Theme, color: keyof Theme["iconColor"]) { export type IconColor = keyof Theme["iconColor"];
export function iconColor(theme: Theme, color: IconColor) {
return theme.iconColor[color].value; return theme.iconColor[color].value;
} }
export type PlayerIndex = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
export interface Player { export interface Player {
selection: { selection: {
cursor: Color; cursor: Color;
selection: Color; selection: Color;
}; };
} }
export function player( export function player(
theme: Theme, theme: Theme,
playerNumber: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 playerNumber: PlayerIndex,
): Player { ): Player {
return { return {
selection: { selection: {
@ -79,10 +74,12 @@ export function player(
}; };
} }
export type BackgroundColor = keyof Theme["backgroundColor"];
export type BackgroundState = keyof BackgroundColorSet;
export function backgroundColor( export function backgroundColor(
theme: Theme, theme: Theme,
name: keyof Theme["backgroundColor"], name: BackgroundColor,
state?: keyof BackgroundColor state?: BackgroundState,
): Color { ): Color {
return theme.backgroundColor[name][state || "base"].value; return theme.backgroundColor[name][state || "base"].value;
} }

View file

@ -1,6 +1,6 @@
import Theme from "../themes/theme"; import Theme from "../themes/theme";
import { panel } from "./app"; import { panel } from "./app";
import { borderColor, text } from "./components"; import { backgroundColor, borderColor, text } from "./components";
export default function(theme: Theme) { export default function(theme: Theme) {
const project = { const project = {
@ -11,7 +11,7 @@ export default function(theme: Theme) {
width: 14, width: 14,
}, },
name: { name: {
...text(theme, "mono", "secondary"), ...text(theme, "mono", "placeholder", { size: "sm" }),
margin: { margin: {
right: 6, right: 6,
}, },
@ -23,9 +23,11 @@ export default function(theme: Theme) {
const sharedProject = { const sharedProject = {
...project, ...project,
background: backgroundColor(theme, 300),
cornerRadius: 6,
name: { name: {
...project.name, ...project.name,
...text(theme, "mono", "primary"), ...text(theme, "mono", "secondary", { size: "sm" }),
}, },
}; };
@ -39,7 +41,7 @@ export default function(theme: Theme) {
width: 18, width: 18,
}, },
hostUsername: { hostUsername: {
...text(theme, "mono", "muted"), ...text(theme, "mono", "primary", { size: "sm" }),
padding: { padding: {
left: 8, left: 8,
}, },
@ -48,13 +50,12 @@ export default function(theme: Theme) {
sharedProject, sharedProject,
hoveredSharedProject: { hoveredSharedProject: {
...sharedProject, ...sharedProject,
background: theme.editor.line.active.value, background: backgroundColor(theme, 300, "hovered"),
cornerRadius: 6, cornerRadius: 6,
}, },
unsharedProject: project, unsharedProject: project,
hoveredUnsharedProject: { hoveredUnsharedProject: {
...project, ...project,
background: theme.editor.line.active.value,
cornerRadius: 6, cornerRadius: 6,
}, },
} }

View file

@ -27,7 +27,7 @@ export default function search(theme: Theme) {
placeholderText: text(theme, "mono", "placeholder"), placeholderText: text(theme, "mono", "placeholder"),
selection: player(theme, 1).selection, selection: player(theme, 1).selection,
text: text(theme, "mono", "primary"), text: text(theme, "mono", "primary"),
border: border(theme, "primary"), border: border(theme, "secondary"),
margin: { margin: {
right: 5, right: 5,
}, },

View file

@ -79,7 +79,7 @@ export default function workspace(theme: Theme) {
border: border(theme, "primary", { left: true }), border: border(theme, "primary", { left: true }),
}, },
paneDivider: { paneDivider: {
color: border(theme, "primary").color, color: border(theme, "secondary").color,
width: 1, width: 1,
}, },
status_bar: { status_bar: {
@ -98,7 +98,7 @@ export default function workspace(theme: Theme) {
height: 32, height: 32,
background: backgroundColor(theme, 100), background: backgroundColor(theme, 100),
shareIconColor: iconColor(theme, "secondary"), shareIconColor: iconColor(theme, "secondary"),
shareIconActiveColor: iconColor(theme, "active"), shareIconActiveColor: iconColor(theme, "feature"),
title: text(theme, "sans", "primary"), title: text(theme, "sans", "primary"),
avatar: { avatar: {
cornerRadius: 10, cornerRadius: 10,

View file

@ -1,4 +1,4 @@
import { Color, colors, fontWeights, NumberToken } from "../tokens"; import { colors, fontWeights, NumberToken } from "../tokens";
import { withOpacity } from "../utils/color"; import { withOpacity } from "../utils/color";
import Theme, { buildPlayer, Syntax } from "./theme"; import Theme, { buildPlayer, Syntax } from "./theme";
@ -49,8 +49,8 @@ const backgroundColor = {
const borderColor = { const borderColor = {
primary: colors.neutral[875], primary: colors.neutral[875],
secondary: colors.neutral[825], secondary: colors.neutral[775],
muted: colors.neutral[775], muted: colors.neutral[675],
focused: colors.neutral[500], focused: colors.neutral[500],
active: colors.neutral[900], active: colors.neutral[900],
ok: colors.green[500], ok: colors.green[500],
@ -62,8 +62,8 @@ const borderColor = {
const textColor = { const textColor = {
primary: colors.neutral[50], primary: colors.neutral[50],
secondary: colors.neutral[350], secondary: colors.neutral[350],
muted: colors.neutral[550], muted: colors.neutral[450],
placeholder: colors.neutral[750], placeholder: colors.neutral[650],
active: colors.neutral[0], active: colors.neutral[0],
//TODO: (design) define feature and it's correct value //TODO: (design) define feature and it's correct value
feature: colors.sky[500], feature: colors.sky[500],

View file

@ -1,5 +1,5 @@
import { ColorToken, FontWeightToken, NumberToken } from "../tokens"; import { ColorToken, FontWeightToken, NumberToken } from "../tokens";
import { Color, withOpacity } from "../utils/color"; import { withOpacity } from "../utils/color";
export interface SyntaxHighlightStyle { export interface SyntaxHighlightStyle {
color: ColorToken; color: ColorToken;
@ -21,12 +21,12 @@ export function buildPlayer(
return { return {
baseColor: color, baseColor: color,
cursorColor: withOpacity(color, cursorOpacity || 1.0), cursorColor: withOpacity(color, cursorOpacity || 1.0),
selectionColor: withOpacity(color, selectionOpacity || 0.1), selectionColor: withOpacity(color, selectionOpacity || 0.3),
borderColor: withOpacity(color, borderOpacity || 0.8), borderColor: withOpacity(color, borderOpacity || 0.8),
} }
} }
export interface BackgroundColor { export interface BackgroundColorSet {
base: ColorToken; base: ColorToken;
hovered: ColorToken; hovered: ColorToken;
active: ColorToken; active: ColorToken;
@ -55,19 +55,18 @@ export interface Syntax {
emphasisStrong: SyntaxHighlightStyle; emphasisStrong: SyntaxHighlightStyle;
linkUrl: SyntaxHighlightStyle; linkUrl: SyntaxHighlightStyle;
linkText: SyntaxHighlightStyle; linkText: SyntaxHighlightStyle;
listMarker: SyntaxHighlightStyle;
}; };
export default interface Theme { export default interface Theme {
name: string; name: string;
backgroundColor: { backgroundColor: {
100: BackgroundColor; 100: BackgroundColorSet;
300: BackgroundColor; 300: BackgroundColorSet;
500: BackgroundColor; 500: BackgroundColorSet;
ok: BackgroundColor; ok: BackgroundColorSet;
error: BackgroundColor; error: BackgroundColorSet;
warning: BackgroundColor; warning: BackgroundColorSet;
info: BackgroundColor; info: BackgroundColorSet;
}; };
borderColor: { borderColor: {
primary: ColorToken; primary: ColorToken;