@@ -55,33 +55,296 @@ export const UNSUPPORTED_VERSION_URL =
55
55
export const REACT_DEVTOOLS_WORKPLACE_URL =
56
56
'https://fburl.com/react-devtools-workplace-group' ;
57
57
58
+ import type {
59
+ Theme ,
60
+ DisplayDensity ,
61
+ } from './devtools/views/Settings/SettingsContext' ;
62
+
63
+ export const THEME_STYLES : { [ style : Theme | DisplayDensity ] : any } = {
64
+ light : {
65
+ '--color-attribute-name' : '#ef6632' ,
66
+ '--color-attribute-name-not-editable' : '#23272f' ,
67
+ '--color-attribute-name-inverted' : 'rgba(255, 255, 255, 0.7)' ,
68
+ '--color-attribute-value' : '#1a1aa6' ,
69
+ '--color-attribute-value-inverted' : '#ffffff' ,
70
+ '--color-attribute-editable-value' : '#1a1aa6' ,
71
+ '--color-background' : '#ffffff' ,
72
+ '--color-background-hover' : 'rgba(0, 136, 250, 0.1)' ,
73
+ '--color-background-inactive' : '#e5e5e5' ,
74
+ '--color-background-invalid' : '#fff0f0' ,
75
+ '--color-background-selected' : '#0088fa' ,
76
+ '--color-button-background' : '#ffffff' ,
77
+ '--color-button-background-focus' : '#ededed' ,
78
+ '--color-button' : '#5f6673' ,
79
+ '--color-button-disabled' : '#cfd1d5' ,
80
+ '--color-button-active' : '#0088fa' ,
81
+ '--color-button-focus' : '#23272f' ,
82
+ '--color-button-hover' : '#23272f' ,
83
+ '--color-border' : '#eeeeee' ,
84
+ '--color-commit-did-not-render-fill' : '#cfd1d5' ,
85
+ '--color-commit-did-not-render-fill-text' : '#000000' ,
86
+ '--color-commit-did-not-render-pattern' : '#cfd1d5' ,
87
+ '--color-commit-did-not-render-pattern-text' : '#333333' ,
88
+ '--color-commit-gradient-0' : '#37afa9' ,
89
+ '--color-commit-gradient-1' : '#63b19e' ,
90
+ '--color-commit-gradient-2' : '#80b393' ,
91
+ '--color-commit-gradient-3' : '#97b488' ,
92
+ '--color-commit-gradient-4' : '#abb67d' ,
93
+ '--color-commit-gradient-5' : '#beb771' ,
94
+ '--color-commit-gradient-6' : '#cfb965' ,
95
+ '--color-commit-gradient-7' : '#dfba57' ,
96
+ '--color-commit-gradient-8' : '#efbb49' ,
97
+ '--color-commit-gradient-9' : '#febc38' ,
98
+ '--color-commit-gradient-text' : '#000000' ,
99
+ '--color-component-name' : '#6a51b2' ,
100
+ '--color-component-name-inverted' : '#ffffff' ,
101
+ '--color-component-badge-background' : 'rgba(0, 0, 0, 0.1)' ,
102
+ '--color-component-badge-background-inverted' : 'rgba(255, 255, 255, 0.25)' ,
103
+ '--color-component-badge-count' : '#777d88' ,
104
+ '--color-component-badge-count-inverted' : 'rgba(255, 255, 255, 0.7)' ,
105
+ '--color-console-error-badge-text' : '#ffffff' ,
106
+ '--color-console-error-background' : '#fff0f0' ,
107
+ '--color-console-error-border' : '#ffd6d6' ,
108
+ '--color-console-error-icon' : '#eb3941' ,
109
+ '--color-console-error-text' : '#fe2e31' ,
110
+ '--color-console-warning-badge-text' : '#000000' ,
111
+ '--color-console-warning-background' : '#fffbe5' ,
112
+ '--color-console-warning-border' : '#fff5c1' ,
113
+ '--color-console-warning-icon' : '#f4bd00' ,
114
+ '--color-console-warning-text' : '#64460c' ,
115
+ '--color-context-background' : 'rgba(0,0,0,.9)' ,
116
+ '--color-context-background-hover' : 'rgba(255, 255, 255, 0.1)' ,
117
+ '--color-context-background-selected' : '#178fb9' ,
118
+ '--color-context-border' : '#3d424a' ,
119
+ '--color-context-text' : '#ffffff' ,
120
+ '--color-context-text-selected' : '#ffffff' ,
121
+ '--color-dim' : '#777d88' ,
122
+ '--color-dimmer' : '#cfd1d5' ,
123
+ '--color-dimmest' : '#eff0f1' ,
124
+ '--color-error-background' : 'hsl(0, 100%, 97%)' ,
125
+ '--color-error-border' : 'hsl(0, 100%, 92%)' ,
126
+ '--color-error-text' : '#ff0000' ,
127
+ '--color-expand-collapse-toggle' : '#777d88' ,
128
+ '--color-link' : '#0000ff' ,
129
+ '--color-modal-background' : 'rgba(255, 255, 255, 0.75)' ,
130
+ '--color-bridge-version-npm-background' : '#eff0f1' ,
131
+ '--color-bridge-version-npm-text' : '#000000' ,
132
+ '--color-bridge-version-number' : '#0088fa' ,
133
+ '--color-primitive-hook-badge-background' : '#e5e5e5' ,
134
+ '--color-primitive-hook-badge-text' : '#5f6673' ,
135
+ '--color-record-active' : '#fc3a4b' ,
136
+ '--color-record-hover' : '#3578e5' ,
137
+ '--color-record-inactive' : '#0088fa' ,
138
+ '--color-resize-bar' : '#eeeeee' ,
139
+ '--color-resize-bar-active' : '#dcdcdc' ,
140
+ '--color-resize-bar-border' : '#d1d1d1' ,
141
+ '--color-resize-bar-dot' : '#333333' ,
142
+ '--color-scheduling-profiler-native-event' : '#ccc' ,
143
+ '--color-scheduling-profiler-native-event-hover' : '#aaa' ,
144
+ '--color-scheduling-profiler-priority-background' : '#f6f6f6' ,
145
+ '--color-scheduling-profiler-priority-border' : '#eeeeee' ,
146
+ '--color-scheduling-profiler-user-timing' : '#c9cacd' ,
147
+ '--color-scheduling-profiler-user-timing-hover' : '#93959a' ,
148
+ '--color-scheduling-profiler-react-idle' : '#d3e5f6' ,
149
+ '--color-scheduling-profiler-react-idle-hover' : '#c3d9ef' ,
150
+ '--color-scheduling-profiler-react-render' : '#9fc3f3' ,
151
+ '--color-scheduling-profiler-react-render-hover' : '#83afe9' ,
152
+ '--color-scheduling-profiler-react-commit' : '#c88ff0' ,
153
+ '--color-scheduling-profiler-react-commit-hover' : '#b281d6' ,
154
+ '--color-scheduling-profiler-react-layout-effects' : '#b281d6' ,
155
+ '--color-scheduling-profiler-react-layout-effects-hover' : '#9d71bd' ,
156
+ '--color-scheduling-profiler-react-passive-effects' : '#b281d6' ,
157
+ '--color-scheduling-profiler-react-passive-effects-hover' : '#9d71bd' ,
158
+ '--color-scheduling-profiler-react-schedule' : '#9fc3f3' ,
159
+ '--color-scheduling-profiler-react-schedule-hover' : '#2683E2' ,
160
+ '--color-scheduling-profiler-react-suspense-rejected' : '#f1cc14' ,
161
+ '--color-scheduling-profiler-react-suspense-rejected-hover' : '#ffdf37' ,
162
+ '--color-scheduling-profiler-react-suspense-resolved' : '#a6e59f' ,
163
+ '--color-scheduling-profiler-react-suspense-resolved-hover' : '#89d281' ,
164
+ '--color-scheduling-profiler-react-suspense-unresolved' : '#c9cacd' ,
165
+ '--color-scheduling-profiler-react-suspense-unresolved-hover' : '#93959a' ,
166
+ '--color-scheduling-profiler-text-color' : '#000000' ,
167
+ '--color-scheduling-profiler-react-work-border' : '#ffffff' ,
168
+ '--color-scroll-thumb' : '#c2c2c2' ,
169
+ '--color-scroll-track' : '#fafafa' ,
170
+ '--color-search-match' : 'yellow' ,
171
+ '--color-search-match-current' : '#f7923b' ,
172
+ '--color-selected-tree-highlight-active' : 'rgba(0, 136, 250, 0.1)' ,
173
+ '--color-selected-tree-highlight-inactive' : 'rgba(0, 0, 0, 0.05)' ,
174
+ '--color-scroll-caret' : 'rgba(150, 150, 150, 0.5)' ,
175
+ '--color-tab-selected-border' : '#0088fa' ,
176
+ '--color-text' : '#000000' ,
177
+ '--color-text-invalid' : '#ff0000' ,
178
+ '--color-text-selected' : '#ffffff' ,
179
+ '--color-toggle-background-invalid' : '#fc3a4b' ,
180
+ '--color-toggle-background-on' : '#0088fa' ,
181
+ '--color-toggle-background-off' : '#cfd1d5' ,
182
+ '--color-toggle-text' : '#ffffff' ,
183
+ '--color-tooltip-background' : 'rgba(0, 0, 0, 0.9)' ,
184
+ '--color-tooltip-text' : '#ffffff' ,
185
+ '--color-warning-background' : '#fb3655' ,
186
+ '--color-warning-background-hover' : '#f82042' ,
187
+ '--color-warning-text-color' : '#ffffff' ,
188
+ '--color-warning-text-color-inverted' : '#fd4d69' ,
189
+ } ,
190
+ dark : {
191
+ '--color-attribute-name' : '#9d87d2' ,
192
+ '--color-attribute-name-not-editable' : '#ededed' ,
193
+ '--color-attribute-name-inverted' : '#282828' ,
194
+ '--color-attribute-value' : '#cedae0' ,
195
+ '--color-attribute-value-inverted' : '#ffffff' ,
196
+ '--color-attribute-editable-value' : 'yellow' ,
197
+ '--color-background' : '#282c34' ,
198
+ '--color-background-hover' : 'rgba(255, 255, 255, 0.1)' ,
199
+ '--color-background-inactive' : '#3d424a' ,
200
+ '--color-background-invalid' : '#5c0000' ,
201
+ '--color-background-selected' : '#178fb9' ,
202
+ '--color-button-background' : '#282c34' ,
203
+ '--color-button-background-focus' : '#3d424a' ,
204
+ '--color-button' : '#afb3b9' ,
205
+ '--color-button-active' : '#61dafb' ,
206
+ '--color-button-disabled' : '#4f5766' ,
207
+ '--color-button-focus' : '#a2e9fc' ,
208
+ '--color-button-hover' : '#ededed' ,
209
+ '--color-border' : '#3d424a' ,
210
+ '--color-commit-did-not-render-fill' : '#777d88' ,
211
+ '--color-commit-did-not-render-fill-text' : '#000000' ,
212
+ '--color-commit-did-not-render-pattern' : '#666c77' ,
213
+ '--color-commit-did-not-render-pattern-text' : '#ffffff' ,
214
+ '--color-commit-gradient-0' : '#37afa9' ,
215
+ '--color-commit-gradient-1' : '#63b19e' ,
216
+ '--color-commit-gradient-2' : '#80b393' ,
217
+ '--color-commit-gradient-3' : '#97b488' ,
218
+ '--color-commit-gradient-4' : '#abb67d' ,
219
+ '--color-commit-gradient-5' : '#beb771' ,
220
+ '--color-commit-gradient-6' : '#cfb965' ,
221
+ '--color-commit-gradient-7' : '#dfba57' ,
222
+ '--color-commit-gradient-8' : '#efbb49' ,
223
+ '--color-commit-gradient-9' : '#febc38' ,
224
+ '--color-commit-gradient-text' : '#000000' ,
225
+ '--color-component-name' : '#61dafb' ,
226
+ '--color-component-name-inverted' : '#282828' ,
227
+ '--color-component-badge-background' : 'rgba(255, 255, 255, 0.25)' ,
228
+ '--color-component-badge-background-inverted' : 'rgba(0, 0, 0, 0.25)' ,
229
+ '--color-component-badge-count' : '#8f949d' ,
230
+ '--color-component-badge-count-inverted' : 'rgba(255, 255, 255, 0.7)' ,
231
+ '--color-console-error-badge-text' : '#000000' ,
232
+ '--color-console-error-background' : '#290000' ,
233
+ '--color-console-error-border' : '#5c0000' ,
234
+ '--color-console-error-icon' : '#eb3941' ,
235
+ '--color-console-error-text' : '#fc7f7f' ,
236
+ '--color-console-warning-badge-text' : '#000000' ,
237
+ '--color-console-warning-background' : '#332b00' ,
238
+ '--color-console-warning-border' : '#665500' ,
239
+ '--color-console-warning-icon' : '#f4bd00' ,
240
+ '--color-console-warning-text' : '#f5f2ed' ,
241
+ '--color-context-background' : 'rgba(255,255,255,.95)' ,
242
+ '--color-context-background-hover' : 'rgba(0, 136, 250, 0.1)' ,
243
+ '--color-context-background-selected' : '#0088fa' ,
244
+ '--color-context-border' : '#eeeeee' ,
245
+ '--color-context-text' : '#000000' ,
246
+ '--color-context-text-selected' : '#ffffff' ,
247
+ '--color-dim' : '#8f949d' ,
248
+ '--color-dimmer' : '#777d88' ,
249
+ '--color-dimmest' : '#4f5766' ,
250
+ '--color-error-background' : '#200' ,
251
+ '--color-error-border' : '#900' ,
252
+ '--color-error-text' : '#f55' ,
253
+ '--color-expand-collapse-toggle' : '#8f949d' ,
254
+ '--color-link' : '#61dafb' ,
255
+ '--color-modal-background' : 'rgba(0, 0, 0, 0.75)' ,
256
+ '--color-bridge-version-npm-background' : 'rgba(0, 0, 0, 0.25)' ,
257
+ '--color-bridge-version-npm-text' : '#ffffff' ,
258
+ '--color-bridge-version-number' : 'yellow' ,
259
+ '--color-primitive-hook-badge-background' : 'rgba(0, 0, 0, 0.25)' ,
260
+ '--color-primitive-hook-badge-text' : 'rgba(255, 255, 255, 0.7)' ,
261
+ '--color-record-active' : '#fc3a4b' ,
262
+ '--color-record-hover' : '#a2e9fc' ,
263
+ '--color-record-inactive' : '#61dafb' ,
264
+ '--color-resize-bar' : '#282c34' ,
265
+ '--color-resize-bar-active' : '#31363f' ,
266
+ '--color-resize-bar-border' : '#3d424a' ,
267
+ '--color-resize-bar-dot' : '#cfd1d5' ,
268
+ '--color-scheduling-profiler-native-event' : '#b2b2b2' ,
269
+ '--color-scheduling-profiler-native-event-hover' : '#949494' ,
270
+ '--color-scheduling-profiler-priority-background' : '#1d2129' ,
271
+ '--color-scheduling-profiler-priority-border' : '#282c34' ,
272
+ '--color-scheduling-profiler-user-timing' : '#c9cacd' ,
273
+ '--color-scheduling-profiler-user-timing-hover' : '#93959a' ,
274
+ '--color-scheduling-profiler-react-idle' : '#3d485b' ,
275
+ '--color-scheduling-profiler-react-idle-hover' : '#465269' ,
276
+ '--color-scheduling-profiler-react-render' : '#2683E2' ,
277
+ '--color-scheduling-profiler-react-render-hover' : '#1a76d4' ,
278
+ '--color-scheduling-profiler-react-commit' : '#731fad' ,
279
+ '--color-scheduling-profiler-react-commit-hover' : '#611b94' ,
280
+ '--color-scheduling-profiler-react-layout-effects' : '#611b94' ,
281
+ '--color-scheduling-profiler-react-layout-effects-hover' : '#51167a' ,
282
+ '--color-scheduling-profiler-react-passive-effects' : '#611b94' ,
283
+ '--color-scheduling-profiler-react-passive-effects-hover' : '#51167a' ,
284
+ '--color-scheduling-profiler-react-schedule' : '#2683E2' ,
285
+ '--color-scheduling-profiler-react-schedule-hover' : '#1a76d4' ,
286
+ '--color-scheduling-profiler-react-suspense-rejected' : '#f1cc14' ,
287
+ '--color-scheduling-profiler-react-suspense-rejected-hover' : '#e4c00f' ,
288
+ '--color-scheduling-profiler-react-suspense-resolved' : '#a6e59f' ,
289
+ '--color-scheduling-profiler-react-suspense-resolved-hover' : '#89d281' ,
290
+ '--color-scheduling-profiler-react-suspense-unresolved' : '#c9cacd' ,
291
+ '--color-scheduling-profiler-react-suspense-unresolved-hover' : '#93959a' ,
292
+ '--color-scheduling-profiler-text-color' : '#000000' ,
293
+ '--color-scheduling-profiler-react-work-border' : '#ffffff' ,
294
+ '--color-scroll-thumb' : '#afb3b9' ,
295
+ '--color-scroll-track' : '#313640' ,
296
+ '--color-search-match' : 'yellow' ,
297
+ '--color-search-match-current' : '#f7923b' ,
298
+ '--color-selected-tree-highlight-active' : 'rgba(23, 143, 185, 0.15)' ,
299
+ '--color-selected-tree-highlight-inactive' : 'rgba(255, 255, 255, 0.05)' ,
300
+ '--color-scroll-caret' : '#4f5766' ,
301
+ '--color-shadow' : 'rgba(0, 0, 0, 0.5)' ,
302
+ '--color-tab-selected-border' : '#178fb9' ,
303
+ '--color-text' : '#ffffff' ,
304
+ '--color-text-invalid' : '#ff8080' ,
305
+ '--color-text-selected' : '#ffffff' ,
306
+ '--color-toggle-background-invalid' : '#fc3a4b' ,
307
+ '--color-toggle-background-on' : '#178fb9' ,
308
+ '--color-toggle-background-off' : '#777d88' ,
309
+ '--color-toggle-text' : '#ffffff' ,
310
+ '--color-tooltip-background' : 'rgba(255, 255, 255, 0.95)' ,
311
+ '--color-tooltip-text' : '#000000' ,
312
+ '--color-warning-background' : '#ee1638' ,
313
+ '--color-warning-background-hover' : '#da1030' ,
314
+ '--color-warning-text-color' : '#ffffff' ,
315
+ '--color-warning-text-color-inverted' : '#ee1638' ,
316
+ } ,
317
+ compact : {
318
+ '--font-size-monospace-small' : '9px' ,
319
+ '--font-size-monospace-normal' : '11px' ,
320
+ '--font-size-monospace-large' : '15px' ,
321
+ '--font-size-sans-small' : '10px' ,
322
+ '--font-size-sans-normal' : '12px' ,
323
+ '--font-size-sans-large' : '14px' ,
324
+ '--line-height-data' : '18px' ,
325
+ } ,
326
+ comfortable : {
327
+ '--font-size-monospace-small' : '10px' ,
328
+ '--font-size-monospace-normal' : '13px' ,
329
+ '--font-size-monospace-large' : '17px' ,
330
+ '--font-size-sans-small' : '12px' ,
331
+ '--font-size-sans-normal' : '14px' ,
332
+ '--font-size-sans-large' : '16px' ,
333
+ '--line-height-data' : '22px' ,
334
+ } ,
335
+ } ;
336
+
58
337
// HACK
59
338
//
60
- // Extracting during build time avoids a temporarily invalid state for the inline target.
61
339
// Sometimes the inline target is rendered before root styles are applied,
62
340
// which would result in e.g. NaN itemSize being passed to react-window list.
63
- //
64
- let COMFORTABLE_LINE_HEIGHT ;
65
- let COMPACT_LINE_HEIGHT ;
66
-
67
- try {
68
- // $FlowFixMe
69
- const rawStyleString = require ( '!!raw-loader!react-devtools-shared/src/devtools/views/root.css' )
70
- . default ;
71
-
72
- const extractVar = varName => {
73
- const regExp = new RegExp ( `${ varName } : ([0-9]+)` ) ;
74
- const match = rawStyleString . match ( regExp ) ;
75
- return parseInt ( match [ 1 ] , 10 ) ;
76
- } ;
77
-
78
- COMFORTABLE_LINE_HEIGHT = extractVar ( 'comfortable-line-height-data' ) ;
79
- COMPACT_LINE_HEIGHT = extractVar ( 'compact-line-height-data' ) ;
80
- } catch ( error ) {
81
- // We can't use the Webpack loader syntax in the context of Jest,
82
- // so tests need some reasonably meaningful fallback value.
83
- COMFORTABLE_LINE_HEIGHT = 15 ;
84
- COMPACT_LINE_HEIGHT = 10 ;
85
- }
341
+ const COMFORTABLE_LINE_HEIGHT = parseInt (
342
+ THEME_STYLES . comfortable [ '--line-height-data' ] ,
343
+ 10 ,
344
+ ) ;
345
+ const COMPACT_LINE_HEIGHT = parseInt (
346
+ THEME_STYLES . compact [ '--line-height-data' ] ,
347
+ 10 ,
348
+ ) ;
86
349
87
350
export { COMFORTABLE_LINE_HEIGHT , COMPACT_LINE_HEIGHT } ;
0 commit comments