Skip to content

Commit 2220e66

Browse files
committedSep 11, 2019
Adapted Dark, Light and Arduino themes
Signed-off-by: jbicker <[email protected]>
1 parent c98ec29 commit 2220e66

File tree

7 files changed

+215
-85
lines changed

7 files changed

+215
-85
lines changed
 
Lines changed: 70 additions & 0 deletions
Loading

‎arduino-ide-extension/src/browser/style/arduino.useable.css

Lines changed: 57 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,47 +18,57 @@ is not optimized for dense, information rich UIs.
1818

1919
:root {
2020
/* Custom Theme Colors */
21-
--theia-arduino-light: rgb(0, 102, 102);
22-
--theia-arduino-light1: rgb(0, 153, 153);
21+
--theia-arduino-light: rgb(0, 100, 104);
22+
--theia-arduino-light1: rgb(23, 161, 165);
2323
--theia-arduino-light2: rgb(218, 226, 228);
2424
--theia-arduino-light3: rgb(237, 241, 242);
2525
--theia-arduino-terminal: rgb(0, 0, 0);
26+
2627
/* Borders: Width and color (bright to dark) */
28+
2729
--theia-border-width: 1px;
2830
--theia-panel-border-width: 2px;
2931
--theia-border-color0: var(--md-grey-100);
3032
--theia-border-color1: var(--md-grey-200);
3133
--theia-border-color2: var(--md-grey-300);
3234
--theia-border-color3: var(--md-grey-400);
35+
36+
3337
/* UI fonts: Family, size and color (dark to bright)
3438
---------------------------------------------------
3539
The UI font CSS variables are used for the typography all of the Theia
3640
user interface elements that are not directly user-generated content.
3741
*/
42+
3843
--theia-ui-font-scale-factor: 1.2;
3944
--theia-ui-font-size0: calc(var(--theia-ui-font-size1) / var(--theia-ui-font-scale-factor));
40-
--theia-ui-font-size1: 13px;
41-
/* Base font size */
45+
--theia-ui-font-size1: 13px; /* Base font size */
4246
--theia-ui-font-size2: calc(var(--theia-ui-font-size1) * var(--theia-ui-font-scale-factor));
4347
--theia-ui-font-size3: calc(var(--theia-ui-font-size2) * var(--theia-ui-font-scale-factor));
44-
--theia-ui-icon-font-size: 14px;
45-
/* Ensures px perfect FontAwesome icons */
48+
--theia-ui-icon-font-size: 14px; /* Ensures px perfect FontAwesome icons */
4649
--theia-ui-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
50+
4751
--theia-ui-font-color0: var(--md-grey-900);
4852
--theia-ui-font-color1: var(--md-grey-700);
4953
--theia-ui-font-color2: var(--md-grey-500);
5054
--theia-ui-font-color3: var(--md-grey-300);
55+
5156
/* Special font colors */
57+
5258
--theia-ui-icon-font-color: #ffffff;
5359
--theia-ui-bar-font-color0: var(--theia-ui-font-color0);
5460
--theia-ui-bar-font-color1: var(--theia-inverse-ui-font-color0); /* var(--theia-ui-font-color1); */
61+
5562
/* Use the inverse UI colors against the brand/accent/warn/error colors. */
63+
5664
--theia-inverse-ui-font-color0: rgba(255, 255, 255, 1.0);
5765
--theia-inverse-ui-font-color2: rgba(255, 255, 255, 0.7);
5866
--theia-inverse-ui-font-color3: rgba(255, 255, 255, 0.5);
67+
5968
/* Content fonts: Family, size and color (dark to bright)
6069
Content font variables are used for typography of user-generated content.
6170
*/
71+
6272
--theia-content-font-size: 13px;
6373
--theia-content-line-height: 1.5;
6474
--theia-content-font-color0: black;
@@ -71,93 +81,119 @@ is not optimized for dense, information rich UIs.
7181
--theia-code-font-family: Menlo, Monaco, Consolas, "Droid Sans Mono", "Courier New", monospace, "Droid Sans Fallback";
7282
--theia-terminal-font-family: monospace;
7383
--theia-ui-padding: 6px;
84+
7485
/* Tab Icon Colors */
7586
--theia-tab-icon-color: var(--theia-ui-font-color1);
7687
--theia-tab-font-color: #000;
88+
7789
/* Main layout colors (bright to dark)
78-
------------------------------------ */
90+
------------------------------------ */
91+
7992
--theia-layout-color0: #ffffff;
8093
--theia-layout-color1: #f7f9f9;
8194
--theia-layout-color2: #ececec;
82-
--theia-layout-color3: var(--theia-arduino-light);
95+
--theia-layout-color3: var(--theia-arduino-light2);
8396
--theia-layout-color4: #dcdcdc;
97+
8498
/* Brand colors */
99+
85100
--theia-brand-color0: var(--theia-arduino-light);
86101
--theia-brand-color1: var(--theia-arduino-light1);
87102
--theia-brand-color2: var(--theia-arduino-light2);
88103
--theia-brand-color3: var(--theia-arduino-light3);
104+
89105
/* Secondary Brand colors */
106+
90107
--theia-secondary-brand-color0: var(--md-grey-700);
91108
--theia-secondary-brand-color1: #b5c8c9;
92109
--theia-secondary-brand-color2: var(--theia-arduino-light2);
93110
--theia-secondary-brand-color3: var(--theia-arduino-light3);
111+
94112
/* Accent colors (dark to bright): Use these to create contrast to layout colors. */
95-
--theia-accent-color0: rgb(0, 102, 105);
96-
--theia-accent-color1: rgb(0, 164, 167, 1.0);
97-
--theia-accent-color2: rgb(0, 164, 167, 0.8);
98-
--theia-accent-color3: rgb(0, 164, 167, 0.6);
99-
--theia-accent-color4: rgb(0, 164, 167, 0.4);
113+
114+
--theia-accent-color0: var(--theia-arduino-light);
115+
--theia-accent-color1: rgb(77, 183, 187, 1.0);
116+
--theia-accent-color2: rgb(77, 183, 187, 0.8);
117+
--theia-accent-color3: rgb(77, 183, 187, 0.6);
118+
--theia-accent-color4: rgba(77, 183, 187, 0.4);
119+
100120
/* Accent colors with opacity */
121+
101122
--theia-transparent-accent-color0: hsla(210, 63%, 46%, 0.3);
102123
--theia-transparent-accent-color1: hsla(207, 66%, 56%, 0.3);
103124
--theia-transparent-accent-color2: hsla(207, 64%, 85%, 0.3);
104125
--theia-transparent-accent-color3: hsla(205, 70%, 91%, 0.3);
126+
105127
/* State colors (warn, error, success, info)
106128
------------------------------------------ */
107129
--theia-warn-color0: var(--md-amber-500);
108130
--theia-warn-color1: var(--md-amber-400);
109131
--theia-warn-color2: var(--md-amber-300);
110132
--theia-warn-color3: var(--md-amber-200);
133+
111134
--theia-warn-font-color0: var(--md-grey-900);
135+
112136
--theia-error-color0: var(--md-red-400);
113137
--theia-error-color1: #da5b4a;
114138
--theia-error-color2: var(--md-red-200);
115139
--theia-error-color3: var(--md-red-100);
140+
116141
--theia-error-font-color0: var(--md-grey-300);
142+
117143
--theia-success-color0: var(--md-green-500);
118144
--theia-success-color1: var(--md-green-300);
119145
--theia-success-color2: var(--md-green-100);
120146
--theia-success-color3: var(--md-green-50);
147+
121148
--theia-success-font-color0: var(--md-grey-300);
149+
122150
--theia-info-color0: var(--md-cyan-700);
123151
--theia-info-color1: var(--md-cyan-500);
124152
--theia-info-color2: var(--md-cyan-300);
125153
--theia-info-color3: var(--md-cyan-100);
154+
126155
--theia-info-font-color0: var(--md-grey-300);
156+
127157
--theia-disabled-color0: var(--md-grey-500);
128158
--theia-disabled-color1: var(--md-grey-300);
129159
--theia-disabled-color2: var(--md-grey-200);
130160
--theia-disabled-color3: var(--md-grey-50);
161+
131162
--theia-added-color0: rgba(0, 255, 0, 0.8);
132163
--theia-removed-color0: rgba(230, 0, 0, 0.8);
133164
--theia-modified-color0: rgba(0, 100, 150, 0.8);
165+
134166
/* Background for selected text */
135167
--theia-selected-text-background: var(--theia-accent-color3);
168+
136169
/* Colors to highlight words in widgets like tree or editors */
170+
137171
--theia-word-highlight-color0: rgba(168, 172, 148, 0.7);
138172
--theia-word-highlight-color1: rgba(253, 255, 0, 0.2);
139173
--theia-word-highlight-match-color0: rgba(234, 92, 0, 0.33);
140174
--theia-word-highlight-match-color1: rgba(234, 92, 0, 0.5);
141175
--theia-word-highlight-replace-color0: rgba(155, 185, 85, 0.2);
176+
142177
/* Scroll-bars */
178+
143179
--theia-scrollbar-width: 10px;
144180
--theia-scrollbar-rail-width: 10px;
145181
--theia-scrollbar-thumb-color: hsla(0, 0%, 61%, .4);
146182
--theia-scrollbar-rail-color: transparent;
147183
--theia-scrollbar-active-thumb-color: hsla(0, 0%, 39%, .4);
148184
--theia-scrollbar-active-rail-color: transparent;
149185
/* Menu */
150-
--theia-menu-color0: var(--theia-layout-color3);
186+
--theia-menu-color0: var(--theia-arduino-light);
151187
--theia-menu-color1: var(--theia-layout-color0);
152188
--theia-menu-color2: #dae3e3;
153189
/* Statusbar */
154190
--theia-statusbar-color: var(--theia-arduino-light);
155191
--theia-statusBar-font-color: var(--theia-inverse-ui-font-color0);
156192
--theia-statusBar-font-size: 12px;
157193
/* Buttons */
158-
--theia-ui-button-color: var(--theia-arduino-light);
159-
--theia-ui-button-color-hover: var(--theia-arduino-light1);
160-
--theia-ui-button-font-color: var(--theia-inverse-ui-font-color0);
194+
--theia-ui-button-color: var(--theia-accent-color1);
195+
--theia-ui-button-color-hover: var(--theia-accent-color2);
196+
--theia-ui-button-font-color: var(--theia-arduino-light);
161197
--theia-ui-button-color-secondary: var(--theia-secondary-brand-color1);
162198
--theia-ui-button-color-secondary-hover: var(--theia-menu-color2);
163199
--theia-ui-button-font-color-secondary: var(--theia-inverse-ui-font-color0);
@@ -197,4 +233,8 @@ is not optimized for dense, information rich UIs.
197233
--theia-ansi-magenta-background-color: darkmagenta;
198234
--theia-ansi-cyan-background-color: darkcyan;
199235
--theia-ansi-white-background-color: #BDBDBD;
236+
237+
/* Output */
238+
--theia-output-font-color: var(--theia-ui-font-color3);
239+
200240
}

‎arduino-ide-extension/src/browser/style/board-select-dialog.css

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ button.theia-button.secondary {
140140

141141
button.theia-button.main {
142142
color: #fff;
143-
background-color: #00979c;
144-
box-shadow: 0 4px #005c5f;
143+
/* background-color: #00979c; */
144+
box-shadow: 0 4px var(--theia-accent-color0);
145145
}
146146

147147
.dialogControl {
@@ -185,15 +185,15 @@ button.theia-button.main {
185185
}
186186

187187
.arduino-boards-toolbar-item {
188-
background: white;
188+
background: var(--theia-layout-color1);
189189
height: 22px;
190190
display: flex;
191191
width: 100%;
192192
overflow: hidden;
193193
}
194194

195195
.arduino-boards-dropdown-list {
196-
background: #f7f7f7;
196+
background: var(--theia-layout-color1);
197197
border: 3px solid var(--theia-border-color2);
198198
margin: -3px;
199199
z-index: 1000;
@@ -204,13 +204,14 @@ button.theia-button.main {
204204
display: flex;
205205
padding: 10px;
206206
cursor: pointer;
207+
color: var(--theia-ui-font-color1);
207208
}
208209

209210
.arduino-boards-dropdown-item .fa-check {
210-
color: var(--theia-accent-color2);
211+
color: var(--theia-accent-color1);
211212
}
212213

213214
.arduino-boards-dropdown-item.selected,
214215
.arduino-boards-dropdown-item:hover {
215-
background: var(--theia-ui-button-color-secondary-hover);
216+
background: var(--theia-layout-color3);
216217
}

‎arduino-ide-extension/src/browser/style/list-widget.css

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@
5050
}
5151

5252
.filterable-list-container .items-container > div:nth-child(odd) {
53-
background-color: var(--theia-secondary-brand-color2);
53+
background-color: var(--theia-layout-color0);
5454
}
5555

5656
.filterable-list-container .items-container > div:nth-child(even) {
57-
background-color: var(--theia-secondary-brand-color3);
57+
background-color: var(--theia-layout-color1);
5858
}
5959

6060
.filterable-list-container .items-container > div:hover {
61-
background-color: var(--theia-layout-color1);
61+
background-color: var(--theia-layout-color2);
6262
}
6363

6464
.component-list-item {
@@ -111,7 +111,7 @@
111111
.component-list-item .header .installed {
112112
margin-left: 4px;
113113
justify-self: end;
114-
background-color: var(--theia-accent-color2);
114+
background-color: var(--theia-accent-color1);
115115
padding: 2px 4px 2px 4px;
116116
font-size: 10px;
117117
font-weight: bold;

‎arduino-ide-extension/src/browser/style/main.css

Lines changed: 49 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -7,64 +7,63 @@
77
}
88

99
#outputView {
10-
color: var(--theia-ui-font-color3);
1110
cursor: text;
1211
}
1312

14-
#toggle-serial-monitor.arduino-tool-icon:hover,
15-
#arduino-verify.arduino-tool-icon:hover,
16-
#arduino-save-file.arduino-tool-icon:hover,
17-
#arduino-show-open-context-menu.arduino-tool-icon:hover,
18-
#arduino-upload.arduino-tool-icon:hover {
19-
background-position-y: 60px;
13+
.p-TabBar-toolbar .item.arduino-tool-item {
14+
margin-left: 3px;
2015
}
2116

22-
#toggle-serial-monitor.arduino-tool-icon,
23-
#arduino-verify.arduino-tool-icon,
24-
#arduino-save-file.arduino-tool-icon,
25-
#arduino-show-open-context-menu.arduino-tool-icon,
26-
#arduino-upload.arduino-tool-icon {
17+
.p-TabBar-toolbar .item.arduino-tool-item > div {
18+
display: flex;
19+
justify-content: center;
20+
align-items: center;
2721
height: 24px;
2822
width: 24px;
23+
background: var(--theia-ui-button-color);
2924
}
3025

31-
#arduino-save-file {
32-
background: url(../icons/buttons.svg);
33-
background-size: 800%;
34-
background-position-y: 28px;
35-
background-position-x: 59px;
26+
.p-TabBar-toolbar .item.arduino-tool-item > div:hover {
27+
background: var(--theia-ui-button-color-hover);
3628
}
3729

38-
#arduino-verify {
39-
background: url(../icons/buttons.svg);
40-
background-size: 800%;
41-
background-position-y: 28px;
42-
background-position-x: 188px;
30+
.arduino-verify, .arduino-upload {
31+
border-radius: 12px;
4332
}
4433

45-
#arduino-upload {
46-
background: url(../icons/buttons.svg);
47-
background-size: 800%;
48-
background-position-y: 28px;
49-
background-position-x: 156px;
34+
.arduino-tool-icon {
35+
height: 24px;
36+
width: 24px;
37+
background: var(--theia-ui-button-font-color);
38+
-webkit-mask: url(../icons/mask-buttons.svg);
39+
mask: url(../icons/mask-buttons.svg);
40+
-webkit-mask-size: 800%;
41+
mask-size: 800%;
5042
}
5143

52-
#arduino-show-open-context-menu {
53-
background: url(../icons/buttons.svg);
54-
background-size: 800%;
55-
background-position-y: 28px;
56-
background-position-x: 92px;
44+
.arduino-save-file-icon {
45+
-webkit-mask-position: 59px -4px;
46+
mask-position: 59px -4px;
5747
}
5848

59-
#toggle-serial-monitor {
60-
background: url(../icons/buttons.svg);
61-
background-size: 800%;
62-
background-position-y: 28px;
63-
background-position-x: 28px;
49+
.arduino-verify-icon {
50+
-webkit-mask-position: 188px -4px;
51+
mask-position: 188px -4px;
6452
}
6553

66-
.p-TabBar-toolbar .item.arduino-tool-item {
67-
margin-left: 3px;
54+
.arduino-upload-icon {
55+
-webkit-mask-position: 156px -4px;
56+
mask-position: 156px -4px;
57+
}
58+
59+
.arduino-show-open-context-menu-icon {
60+
-webkit-mask-position: 92px -4px;
61+
mask-position: 92px -4px;
62+
}
63+
64+
.toggle-serial-monitor-icon {
65+
-webkit-mask-position: 28px -4px;
66+
mask-position: 28px -4px;
6867
}
6968

7069
#arduino-toolbar-container {
@@ -112,13 +111,22 @@
112111
color: var(--theia-ui-font-color3);
113112
}
114113

115-
.p-TabBar-toolbar .item > div#arduino-toggle-advanced-mode {
114+
.p-TabBar-toolbar .item > div.arduino-toggle-advanced-mode {
116115
display: flex;
117116
width: 24px;
118117
height: 24px;
119118
justify-content: center;
120119
align-items: center;
121-
color: var(--theia-ui-font-color3);
120+
}
121+
122+
.arduino-toggle-advanced-mode-icon {
123+
mask: none;
124+
-webkit-mask: none;
125+
background: none;
126+
display: flex;
127+
justify-content: center;
128+
align-items: center;
129+
color: var(--theia-ui-button-font-color);
122130
}
123131

124132
.monaco-editor .margin {

‎arduino-ide-extension/src/browser/style/serial-monitor.css

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
.serial-monitor-container .head {
1515
display: flex;
1616
padding: 5px;
17-
background: var(--theia-brand-color2);
17+
background: var(--theia-layout-color0);
1818
height: 27px;
1919
}
2020

@@ -27,17 +27,22 @@
2727
display: flex;
2828
padding: 0 5px;
2929
align-items: center;
30-
background: var(--theia-brand-color3);
31-
color: var(--theia-ui-dialog-font-color);
30+
color: var(--theia-ui-font-color1);
31+
opacity: 0.7;
32+
}
33+
.serial-monitor-container .head .send .btn:hover {
34+
opacity: 1;
35+
cursor: pointer;
3236
}
3337

3438
.serial-monitor-container .head .send form {
3539
flex: 1;
3640
display: flex;
41+
background: var(--theia-layout-color2);
3742
}
3843

3944
.serial-monitor-container .head .send input#serial-monitor-send {
40-
background: var(--theia-layout-color0);
45+
color: var(--theia-ui-font-color1);
4146
flex: 1;
4247
}
4348

@@ -67,7 +72,7 @@
6772
}
6873

6974
.p-TabBar-toolbar .item.arduino-monitor.toggled {
70-
background: var(--theia-brand-color2);
75+
background: var(--theia-secondary-brand-color0);
7176
}
7277

7378
.p-TabBar-toolbar .item .clear-all {
@@ -77,6 +82,7 @@
7782
/* React Select Styles */
7883
.serial-monitor-select .sms__control {
7984
border: var(--theia-border-color1) var(--theia-border-width) solid;
85+
background: var(--theia-layout-color2);
8086
}
8187

8288
.serial-monitor-select .sms__control--is-focused {
@@ -110,6 +116,10 @@
110116
border-bottom: none;
111117
}
112118

119+
.serial-monitor-select .sms__value-container .sms__single-value {
120+
color: var(--theia-ui-font-color1);
121+
}
122+
113123
.sms__menu-list {
114124
padding-top: 0 !important;
115125
padding-bottom: 0 !important;

‎arduino-ide-extension/src/browser/toolbar/arduino-toolbar.tsx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export class ArduinoToolbarComponent extends React.Component<ArduinoToolbarCompo
2828

2929
protected renderItem = (item: TabBarToolbarItem) => {
3030
let innerText = '';
31-
let className = `${item.id} arduino-tool-icon`;
31+
let className = `arduino-tool-icon ${item.id}-icon`;
3232
if (item.text) {
3333
for (const labelPart of this.props.labelParser.parse(item.text)) {
3434
if (typeof labelPart !== 'string' && LabelIcon.is(labelPart)) {
@@ -40,17 +40,18 @@ export class ArduinoToolbarComponent extends React.Component<ArduinoToolbarCompo
4040
}
4141
const command = this.props.commands.getCommand(item.command);
4242
const cls = `${ARDUINO_TOOLBAR_ITEM_CLASS} ${TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM} ${command && this.props.commandIsEnabled(command.id) ? ' enabled' : ''}`
43-
return <div key={item.id}
44-
className={cls} >
45-
<div
46-
key={item.id + '-icon'}
47-
id={item.id}
48-
className={className}
49-
onClick={this.props.executeCommand}
50-
onMouseOver={() => this.setState({ tooltip: item.tooltip || '' })}
51-
onMouseOut={() => this.setState({ tooltip: '' })}
52-
title={item.tooltip}>
53-
{innerText}
43+
return <div key={item.id} className={cls} >
44+
<div className={item.id}>
45+
<div
46+
key={item.id + '-icon'}
47+
id={item.id}
48+
className={className}
49+
onClick={this.props.executeCommand}
50+
onMouseOver={() => this.setState({ tooltip: item.tooltip || '' })}
51+
onMouseOut={() => this.setState({ tooltip: '' })}
52+
title={item.tooltip}>
53+
{innerText}
54+
</div>
5455
</div>
5556
</div>
5657
}

0 commit comments

Comments
 (0)
Please sign in to comment.