Skip to content

Commit c2bf9ed

Browse files
minestarksbillti
andauthored
Use dedicated CSS variables for circuit gate colors (#3082)
Hardcoding some dark/light values for the gates in circuit diagrams to decouple them from VS Code themes. ## Light mode **BEFORE** <img width="510" height="603" alt="image" src="https://github.com/user-attachments/assets/78910ddc-9faa-4099-915b-2091db6b42b3" /> **AFTER** <img width="514" height="607" alt="image" src="https://github.com/user-attachments/assets/783d4317-1814-4728-805a-f05c6163aa65" /> ## Dark mode **BEFORE** <img width="511" height="609" alt="image" src="https://github.com/user-attachments/assets/5b16d85c-ad34-4686-833d-76ec59242def" /> **AFTER** <img width="518" height="651" alt="image" src="https://github.com/user-attachments/assets/f05c1795-b49c-409b-bf87-c6453fc307fb" /> --------- Co-authored-by: Bill Ticehurst <billti@hotmail.com>
1 parent db77375 commit c2bf9ed

2 files changed

Lines changed: 42 additions & 9 deletions

File tree

source/npm/qsharp/ux/qdk-theme.css

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,21 @@ body[data-vscode-theme-kind="vscode-high-contrast-light"] {
120120
--qdk-gate-reset: #282;
121121
--qdk-atom-fill: #0078d4;
122122
--qdk-atom-trail: #fa0;
123+
124+
/* Circuit diagram: unitary gate box colors */
125+
--qdk-circuit-unitary-fill: #ffffff;
126+
--qdk-circuit-unitary-text: #3b3b3b;
127+
--qdk-circuit-unitary-hover: #cccccc;
128+
129+
/* Circuit diagram: measurement gate colors */
130+
--qdk-circuit-measure-fill: #005fb8;
131+
--qdk-circuit-measure-text: #ffffff;
132+
--qdk-circuit-measure-hover: #0258a8;
133+
134+
/* Circuit diagram: ket/state-prep gate colors */
135+
--qdk-circuit-ket-fill: #005fb8;
136+
--qdk-circuit-ket-text: #ffffff;
137+
--qdk-circuit-ket-hover: #0258a8;
123138
}
124139

125140
/* Set these variables on the body element if attributes indicate a dark theme choice */
@@ -171,4 +186,19 @@ body[data-vscode-theme-kind="vscode-high-contrast"] {
171186
--qdk-gate-reset: #8e8;
172187
--qdk-atom-fill: #9df;
173188
--qdk-atom-trail: #fa0;
189+
190+
/* Circuit diagram: unitary gate box colors */
191+
--qdk-circuit-unitary-fill: #313131;
192+
--qdk-circuit-unitary-text: #cccccc;
193+
--qdk-circuit-unitary-hover: #2b2b2b;
194+
195+
/* Circuit diagram: measurement gate colors */
196+
--qdk-circuit-measure-fill: #0078d4;
197+
--qdk-circuit-measure-text: #ffffff;
198+
--qdk-circuit-measure-hover: #026ec1;
199+
200+
/* Circuit diagram: ket/state-prep gate colors */
201+
--qdk-circuit-ket-fill: #0078d4;
202+
--qdk-circuit-ket-text: #ffffff;
203+
--qdk-circuit-ket-hover: #026ec1;
174204
}

source/npm/qsharp/ux/qsharp-circuit.css

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@
6969

7070
/* Background for gates */
7171
.gate-unitary {
72-
fill: var(--vscode-input-background, #333333);
72+
fill: var(--qdk-circuit-unitary-fill);
7373
}
7474

7575
/* Text for gates */
7676
.gate text {
77-
fill: var(--vscode-input-foreground, #ffffff);
77+
fill: var(--qdk-circuit-unitary-text);
7878
}
7979

8080
a.qs-circuit-source-link .qs-qubit-label {
@@ -83,12 +83,15 @@
8383

8484
/* Hover effect for clickable gates */
8585
a.qs-circuit-source-link:hover .gate-unitary {
86-
fill: var(--vscode-button-secondaryHoverBackground, #4d4d4d);
86+
fill: var(--qdk-circuit-unitary-hover);
87+
}
88+
89+
a.qs-circuit-source-link:hover .gate-measure {
90+
fill: var(--qdk-circuit-measure-hover);
8791
}
8892

89-
a.qs-circuit-source-link:hover .gate-measure,
9093
a.qs-circuit-source-link:hover .gate-ket {
91-
fill: var(--vscode-button-hoverBackground, #005a9e);
94+
fill: var(--qdk-circuit-ket-hover);
9295
}
9396

9497
a.qs-circuit-source-link:hover .qs-qubit-label {
@@ -138,25 +141,25 @@
138141

139142
/* Measurement gate */
140143
.gate-measure {
141-
fill: var(--vscode-button-background, #007acc);
144+
fill: var(--qdk-circuit-measure-fill);
142145
}
143146

144147
/* Measurement gate icon */
145148
.qs-line-measure,
146149
.arc-measure {
147-
stroke: var(--vscode-button-foreground, #ffffff);
150+
stroke: var(--qdk-circuit-measure-text);
148151
fill: none;
149152
stroke-width: 1;
150153
}
151154

152155
/* Ket gate */
153156
.gate-ket {
154-
fill: var(--vscode-button-background, #007acc);
157+
fill: var(--qdk-circuit-ket-fill);
155158
}
156159

157160
/* Ket gate text */
158161
text.ket-text {
159-
fill: var(--vscode-button-foreground, #ffffff);
162+
fill: var(--qdk-circuit-ket-text);
160163
stroke: none;
161164
}
162165

0 commit comments

Comments
 (0)