@deephaven/components 0.55.0 → 0.55.1-alpha-theming-bootstrap.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/BaseStyleSheet.css +878 -3622
- package/css/BaseStyleSheet.css.map +1 -1
- package/dist/AutoCompleteInput.css +4 -4
- package/dist/AutoCompleteInput.css.map +1 -1
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +26 -2
- package/dist/Button.js.map +1 -1
- package/dist/ComboBox.css +26 -6
- package/dist/ComboBox.css.map +1 -1
- package/dist/ComboBox.d.ts.map +1 -1
- package/dist/ComboBox.js +2 -4
- package/dist/ComboBox.js.map +1 -1
- package/dist/CustomTimeSelect.css +23 -10
- package/dist/CustomTimeSelect.css.map +1 -1
- package/dist/CustomTimeSelect.d.ts.map +1 -1
- package/dist/CustomTimeSelect.js +2 -5
- package/dist/CustomTimeSelect.js.map +1 -1
- package/dist/DraggableItemList.css +14 -14
- package/dist/DraggableItemList.css.map +1 -1
- package/dist/HierarchicalCheckboxMenu.css +20 -6
- package/dist/HierarchicalCheckboxMenu.css.map +1 -1
- package/dist/HierarchicalCheckboxMenu.d.ts.map +1 -1
- package/dist/HierarchicalCheckboxMenu.js +2 -4
- package/dist/HierarchicalCheckboxMenu.js.map +1 -1
- package/dist/ItemList.css +1 -1
- package/dist/ItemList.css.map +1 -1
- package/dist/ItemListItem.css +7 -7
- package/dist/ItemListItem.css.map +1 -1
- package/dist/LoadingOverlay.css +1 -1
- package/dist/LoadingOverlay.css.map +1 -1
- package/dist/LoadingSpinner.css +2 -8
- package/dist/LoadingSpinner.css.map +1 -1
- package/dist/MaskedInput.css.map +1 -1
- package/dist/RandomAreaPlotAnimation.d.ts +1 -1
- package/dist/RandomAreaPlotAnimation.d.ts.map +1 -1
- package/dist/RandomAreaPlotAnimation.js +32 -13
- package/dist/RandomAreaPlotAnimation.js.map +1 -1
- package/dist/SearchInput.css +28 -12
- package/dist/SearchInput.css.map +1 -1
- package/dist/SearchInput.d.ts +10 -1
- package/dist/SearchInput.d.ts.map +1 -1
- package/dist/SearchInput.js +73 -7
- package/dist/SearchInput.js.map +1 -1
- package/dist/SelectValueList.css +3 -3
- package/dist/SelectValueList.css.map +1 -1
- package/dist/SocketedButton.css +33 -33
- package/dist/SocketedButton.css.map +1 -1
- package/dist/ThemeExport.module.css +33 -33
- package/dist/ThemeExport.module.css.map +1 -1
- package/dist/TimeSlider.css +10 -10
- package/dist/TimeSlider.css.map +1 -1
- package/dist/TimeSlider.module.css +10 -10
- package/dist/TimeSlider.module.css.map +1 -1
- package/dist/ToastNotification.css +4 -4
- package/dist/ToastNotification.css.map +1 -1
- package/dist/UISwitch.css +19 -19
- package/dist/UISwitch.css.map +1 -1
- package/dist/ValidateLabelInput.css +1 -1
- package/dist/ValidateLabelInput.css.map +1 -1
- package/dist/context-actions/ContextActions.css +19 -19
- package/dist/context-actions/ContextActions.css.map +1 -1
- package/dist/menu-actions/DropdownMenu.css +2 -2
- package/dist/menu-actions/DropdownMenu.css.map +1 -1
- package/dist/navigation/MenuItem.css +9 -9
- package/dist/navigation/MenuItem.css.map +1 -1
- package/dist/navigation/Page.css.map +1 -1
- package/dist/navigation/Stack.css +2 -2
- package/dist/navigation/Stack.css.map +1 -1
- package/dist/popper/Popper.css +4 -4
- package/dist/popper/Popper.css.map +1 -1
- package/dist/shortcuts/GlobalShortcuts.d.ts +2 -0
- package/dist/shortcuts/GlobalShortcuts.d.ts.map +1 -1
- package/dist/shortcuts/GlobalShortcuts.js +14 -0
- package/dist/shortcuts/GlobalShortcuts.js.map +1 -1
- package/dist/theme/SpectrumThemeProvider.d.ts.map +1 -1
- package/dist/theme/SpectrumThemeProvider.js +1 -0
- package/dist/theme/SpectrumThemeProvider.js.map +1 -1
- package/dist/theme/ThemeModel.d.ts +23 -5
- package/dist/theme/ThemeModel.d.ts.map +1 -1
- package/dist/theme/ThemeModel.js +67 -3
- package/dist/theme/ThemeModel.js.map +1 -1
- package/dist/theme/ThemePicker.d.ts +4 -0
- package/dist/theme/ThemePicker.d.ts.map +1 -0
- package/dist/theme/ThemePicker.js +25 -0
- package/dist/theme/ThemePicker.js.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +3 -1
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +16 -9
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/ThemeUtils.d.ts +46 -8
- package/dist/theme/ThemeUtils.d.ts.map +1 -1
- package/dist/theme/ThemeUtils.js +104 -36
- package/dist/theme/ThemeUtils.js.map +1 -1
- package/dist/theme/index.d.ts +1 -0
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +1 -0
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/theme-dark/theme-dark-components.css +1 -1
- package/dist/theme/theme-dark/theme-dark-components.css.map +1 -1
- package/dist/theme/theme-dark/theme-dark-palette.css +1 -1
- package/dist/theme/theme-dark/theme-dark-palette.css.map +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic-chart.css +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic-chart.css.map +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic-editor.css +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic-editor.css.map +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic-grid.css +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic-grid.css.map +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic.css +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic.css.map +1 -1
- package/dist/theme/theme-light/theme-light-palette.css +1 -1
- package/dist/theme/theme-light/theme-light-palette.css.map +1 -1
- package/dist/theme/theme-spectrum/index.d.ts +1 -0
- package/dist/theme/theme-spectrum/index.d.ts.map +1 -1
- package/dist/theme/theme-spectrum/index.js +3 -3
- package/dist/theme/theme-spectrum/index.js.map +1 -1
- package/dist/theme/theme-spectrum/theme-spectrum-alias.module.css +1 -1
- package/dist/theme/theme-spectrum/theme-spectrum-alias.module.css.map +1 -1
- package/dist/theme/theme-spectrum/theme-spectrum-overrides.css +1 -0
- package/dist/theme/theme-spectrum/theme-spectrum-overrides.css.map +1 -0
- package/dist/theme/theme-svg.css +1 -0
- package/dist/theme/theme-svg.css.map +1 -0
- package/package.json +7 -7
- package/scss/BaseStyleSheet.scss +169 -82
- package/scss/bootstrap_imports.scss +49 -0
- package/scss/bootstrap_override_functions.scss +31 -0
- package/scss/bootstrap_override_mixins_background_variant.scss +16 -0
- package/scss/bootstrap_override_mixins_buttons.scss +123 -0
- package/scss/bootstrap_override_mixins_forms.scss +231 -0
- package/scss/bootstrap_override_mixins_text_emphasis.scss +21 -0
- package/scss/bootstrap_overrides.scss +144 -101
- package/scss/new_variables.scss +18 -0
- package/scss/util.scss +27 -0
- package/dist/theme/theme-spectrum/theme-spectrum-overrides.module.css +0 -1
- package/dist/theme/theme-spectrum/theme-spectrum-overrides.module.css.map +0 -1
package/scss/BaseStyleSheet.scss
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
// Import our custom variables and bootstrap
|
|
2
2
|
// Can be imported directly by Vite since it resolves bootstrap to node_modules/bootstrap
|
|
3
3
|
@import './custom.scss';
|
|
4
|
-
@import '
|
|
4
|
+
@import './util.scss';
|
|
5
|
+
@import './bootstrap_imports.scss';
|
|
6
|
+
|
|
7
|
+
:root {
|
|
8
|
+
--dh-svg-inline-icon-size: 16px;
|
|
9
|
+
|
|
10
|
+
color: var(--dh-color-text);
|
|
11
|
+
|
|
12
|
+
.spectrum-theme-provider {
|
|
13
|
+
color: var(--dh-color-text);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
5
16
|
|
|
6
17
|
//Various non-variable css overides
|
|
7
18
|
//Overide default size from 16px to 14px. We need density.
|
|
@@ -10,29 +21,36 @@ html {
|
|
|
10
21
|
min-height: 100%;
|
|
11
22
|
}
|
|
12
23
|
|
|
24
|
+
// override
|
|
25
|
+
.text-black-50 {
|
|
26
|
+
color: background-opacity(50) !important;
|
|
27
|
+
}
|
|
28
|
+
.text-white-50 {
|
|
29
|
+
color: foreground-opacity(50) !important;
|
|
30
|
+
}
|
|
31
|
+
|
|
13
32
|
// deephaven-icons are designed on a 16px grid
|
|
14
33
|
// and look best at that size. Default icon size back to 16px
|
|
15
34
|
// vertical alignment changed to best match icon set against 14px text
|
|
16
35
|
.svg-inline--fa {
|
|
17
|
-
font-size:
|
|
36
|
+
font-size: var(--dh-svg-inline-icon-size);
|
|
18
37
|
vertical-align: -3px;
|
|
19
38
|
}
|
|
20
39
|
|
|
21
40
|
body {
|
|
22
41
|
min-height: 100%;
|
|
23
|
-
background-color:
|
|
42
|
+
background-color: $background;
|
|
24
43
|
color: $foreground;
|
|
25
44
|
margin: 0;
|
|
26
45
|
padding: 0;
|
|
27
46
|
overscroll-behavior: none;
|
|
28
47
|
-ms-scroll-chaining: none;
|
|
29
|
-
scrollbar-color:
|
|
48
|
+
scrollbar-color: foreground-opacity(10) background-opacity(10); //applies to firefox only
|
|
30
49
|
}
|
|
31
50
|
|
|
32
51
|
#root {
|
|
33
|
-
background-color: var(--dh-color-background, $background);
|
|
34
|
-
|
|
35
52
|
.app {
|
|
53
|
+
background-color: $background;
|
|
36
54
|
height: 100vh;
|
|
37
55
|
width: 100vw;
|
|
38
56
|
}
|
|
@@ -85,7 +103,7 @@ a.custom-link,
|
|
|
85
103
|
content: '';
|
|
86
104
|
box-sizing: content-box;
|
|
87
105
|
position: absolute;
|
|
88
|
-
background:
|
|
106
|
+
background: accent-opacity(10);
|
|
89
107
|
top: 0;
|
|
90
108
|
left: 0;
|
|
91
109
|
width: 100%;
|
|
@@ -129,18 +147,18 @@ span.btn-disabled-wrapper {
|
|
|
129
147
|
border-radius: $border-radius;
|
|
130
148
|
|
|
131
149
|
&:focus {
|
|
132
|
-
background:
|
|
150
|
+
background: accent-opacity(10);
|
|
133
151
|
border: $input-border-width solid $primary;
|
|
134
152
|
box-shadow: $input-btn-focus-box-shadow;
|
|
135
153
|
}
|
|
136
154
|
|
|
137
155
|
&:hover {
|
|
138
|
-
background:
|
|
156
|
+
background: accent-opacity(15);
|
|
139
157
|
}
|
|
140
158
|
|
|
141
159
|
&:active {
|
|
142
160
|
content: '';
|
|
143
|
-
background:
|
|
161
|
+
background: accent-opacity(30);
|
|
144
162
|
}
|
|
145
163
|
}
|
|
146
164
|
}
|
|
@@ -151,15 +169,13 @@ span.btn-disabled-wrapper {
|
|
|
151
169
|
border-color: $danger;
|
|
152
170
|
|
|
153
171
|
&:focus {
|
|
154
|
-
box-shadow: 0 0 0 $btn-focus-width
|
|
155
|
-
rgba(mix(color-yiq($background), $danger, 15%), 0.5);
|
|
172
|
+
box-shadow: 0 0 0 $btn-focus-width var(--dh-color-focus);
|
|
156
173
|
}
|
|
157
174
|
|
|
158
175
|
&:not(:disabled):not(.disabled):active {
|
|
159
|
-
background:
|
|
160
|
-
border-color:
|
|
161
|
-
box-shadow: 0 0 0 $btn-focus-width
|
|
162
|
-
rgba(mix(color-yiq($background), $danger, 15%), 0.5);
|
|
176
|
+
background: var(--dh-color-negative-down-bg);
|
|
177
|
+
border-color: var(--dh-color-negative-down-bg);
|
|
178
|
+
box-shadow: 0 0 0 $btn-focus-width var(--dh-color-focus);
|
|
163
179
|
}
|
|
164
180
|
}
|
|
165
181
|
|
|
@@ -174,8 +190,7 @@ span.btn-disabled-wrapper {
|
|
|
174
190
|
|
|
175
191
|
.btn-spinner {
|
|
176
192
|
padding: $btn-padding-y 1rem;
|
|
177
|
-
.fa-layers
|
|
178
|
-
.loading-spinner {
|
|
193
|
+
.fa-layers {
|
|
179
194
|
margin-right: 0.5rem;
|
|
180
195
|
}
|
|
181
196
|
}
|
|
@@ -220,7 +235,7 @@ span.btn-disabled-wrapper {
|
|
|
220
235
|
text-decoration: none;
|
|
221
236
|
box-shadow: none;
|
|
222
237
|
&::after {
|
|
223
|
-
background:
|
|
238
|
+
background: accent-opacity(10);
|
|
224
239
|
border: $input-border-width solid $primary;
|
|
225
240
|
box-shadow: $input-btn-focus-box-shadow;
|
|
226
241
|
}
|
|
@@ -228,14 +243,14 @@ span.btn-disabled-wrapper {
|
|
|
228
243
|
|
|
229
244
|
&:hover {
|
|
230
245
|
&::after {
|
|
231
|
-
background:
|
|
246
|
+
background: accent-opacity(15);
|
|
232
247
|
}
|
|
233
248
|
}
|
|
234
249
|
|
|
235
250
|
&:active {
|
|
236
251
|
&::after {
|
|
237
252
|
content: '';
|
|
238
|
-
background:
|
|
253
|
+
background: accent-opacity(30);
|
|
239
254
|
}
|
|
240
255
|
}
|
|
241
256
|
}
|
|
@@ -290,51 +305,49 @@ span.btn-disabled-wrapper {
|
|
|
290
305
|
padding-left: $spacer-1;
|
|
291
306
|
padding-right: $spacer-1;
|
|
292
307
|
border-radius: $border-radius;
|
|
293
|
-
background:
|
|
294
|
-
border: 1px solid
|
|
295
|
-
color:
|
|
308
|
+
background: var(--dh-color-action-bg);
|
|
309
|
+
border: 1px solid var(--dh-color-action-border);
|
|
310
|
+
color: var(--dh-color-action-fg);
|
|
296
311
|
|
|
297
312
|
&.active {
|
|
298
|
-
border-color:
|
|
299
|
-
background:
|
|
300
|
-
color:
|
|
313
|
+
border-color: var(--dh-color-action-active-border);
|
|
314
|
+
background: var(--dh-color-action-active-bg);
|
|
315
|
+
color: var(--dh-color-action-active-fg);
|
|
301
316
|
|
|
302
|
-
&:focus {
|
|
317
|
+
&:focus-visible {
|
|
303
318
|
border: 1px solid $input-focus-border-color;
|
|
304
319
|
}
|
|
305
320
|
|
|
306
321
|
&:not(:disabled):not(.disabled):hover {
|
|
307
|
-
|
|
322
|
+
color: var(--dh-color-action-active-hover-fg);
|
|
323
|
+
background: var(--dh-color-action-active-hover-bg);
|
|
324
|
+
border-color: var(--dh-color-action-active-hover-border);
|
|
308
325
|
}
|
|
309
326
|
}
|
|
310
327
|
|
|
311
328
|
&.disabled,
|
|
312
329
|
&:disabled {
|
|
313
|
-
|
|
314
|
-
|
|
330
|
+
background-color: var(--dh-color-action-disabled-bg);
|
|
331
|
+
border: 1px solid var(--dh-color-action-disabled-border);
|
|
332
|
+
color: var(--dh-color-action-disabled-fg);
|
|
315
333
|
cursor: not-allowed;
|
|
316
334
|
}
|
|
317
335
|
|
|
318
|
-
&:focus {
|
|
336
|
+
&:focus-visible {
|
|
319
337
|
border: 1px solid $input-focus-border-color;
|
|
320
338
|
}
|
|
321
339
|
|
|
322
340
|
&:not(:disabled):not(.disabled):hover {
|
|
323
|
-
background-color:
|
|
324
|
-
|
|
341
|
+
background-color: var(--dh-color-action-hover-bg);
|
|
342
|
+
border: 1px solid var(--dh-color-action-hover-border);
|
|
343
|
+
color: var(--dh-color-action-hover-fg);
|
|
325
344
|
}
|
|
326
345
|
|
|
327
346
|
&:not(:disabled):not(.disabled):active {
|
|
328
|
-
background:
|
|
347
|
+
background: var(--dh-color-action-down-bg);
|
|
329
348
|
}
|
|
330
349
|
}
|
|
331
350
|
|
|
332
|
-
.btn-secondary:hover {
|
|
333
|
-
// steal primary hover state to look more hovered, less disabled
|
|
334
|
-
background-color: $primary-hover;
|
|
335
|
-
border-color: $primary-hover;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
351
|
.btn-secondary.disabled,
|
|
339
352
|
.btn-secondary:disabled {
|
|
340
353
|
// look more disabled
|
|
@@ -392,18 +405,28 @@ form label small {
|
|
|
392
405
|
.form-control.focus {
|
|
393
406
|
border: 1px solid $primary;
|
|
394
407
|
}
|
|
395
|
-
|
|
408
|
+
|
|
409
|
+
.form-control.is-invalid,
|
|
410
|
+
.form-control.is-invalid:focus {
|
|
411
|
+
border-color: var(--dh-color-form-control-error);
|
|
412
|
+
background-image: var(--dh-svg-icon-error);
|
|
413
|
+
}
|
|
414
|
+
.form-control.is-invalid:focus {
|
|
415
|
+
box-shadow: 0 0 0 0.2rem var(--dh-color-form-control-error-shadow);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.form-control.btn:focus-visible {
|
|
396
419
|
box-shadow: $input-btn-focus-box-shadow;
|
|
397
420
|
}
|
|
398
421
|
|
|
399
422
|
.form-control:disabled {
|
|
400
423
|
border-color: $black;
|
|
401
|
-
color:
|
|
424
|
+
color: $gray-500;
|
|
402
425
|
cursor: not-allowed;
|
|
403
426
|
}
|
|
404
427
|
|
|
405
428
|
.form-control:disabled::placeholder {
|
|
406
|
-
color:
|
|
429
|
+
color: $gray-500;
|
|
407
430
|
}
|
|
408
431
|
|
|
409
432
|
.form-control[type='password'] {
|
|
@@ -450,9 +473,41 @@ form label small {
|
|
|
450
473
|
cursor: not-allowed;
|
|
451
474
|
}
|
|
452
475
|
|
|
476
|
+
.custom-select {
|
|
477
|
+
$caret-size: 10px 6px;
|
|
478
|
+
$error-size: 16px;
|
|
479
|
+
|
|
480
|
+
background-image: var(--dh-svg-icon-select-indicator);
|
|
481
|
+
background-size: $caret-size;
|
|
482
|
+
|
|
483
|
+
&:hover {
|
|
484
|
+
background-image: var(--dh-svg-icon-select-indicator-hover);
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
&.is-invalid,
|
|
488
|
+
&.is-invalid:focus {
|
|
489
|
+
border-color: var(--dh-color-form-control-error);
|
|
490
|
+
background-size: $caret-size, $error-size;
|
|
491
|
+
background-image: var(--dh-svg-icon-select-indicator),
|
|
492
|
+
var(--dh-svg-icon-error);
|
|
493
|
+
}
|
|
494
|
+
&.is-invalid:hover {
|
|
495
|
+
background-image: var(--dh-svg-icon-select-indicator-hover),
|
|
496
|
+
var(--dh-svg-icon-error);
|
|
497
|
+
}
|
|
498
|
+
&.is-invalid:focus {
|
|
499
|
+
box-shadow: 0 0 0 0.2rem var(--dh-color-form-control-error-shadow);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
|
|
453
503
|
.custom-select:disabled {
|
|
454
504
|
border-color: $black;
|
|
455
505
|
cursor: not-allowed;
|
|
506
|
+
background-image: var(--dh-svg-icon-select-indicator-disabled);
|
|
507
|
+
&.is-invalid {
|
|
508
|
+
background-image: var(--dh-svg-icon-select-indicator-disabled),
|
|
509
|
+
var(--dh-svg-icon-error);
|
|
510
|
+
}
|
|
456
511
|
}
|
|
457
512
|
|
|
458
513
|
input[type='number'] {
|
|
@@ -481,11 +536,8 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
481
536
|
}
|
|
482
537
|
|
|
483
538
|
.input-group > .input-group-append.cb-dropdown > .btn {
|
|
484
|
-
color: $gray-400;
|
|
485
539
|
border: 1px solid $gray-400;
|
|
486
|
-
|
|
487
|
-
color: $foreground;
|
|
488
|
-
}
|
|
540
|
+
|
|
489
541
|
&:focus {
|
|
490
542
|
border-color: $input-focus-border-color;
|
|
491
543
|
}
|
|
@@ -572,7 +624,7 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
572
624
|
border-color: $gray-300;
|
|
573
625
|
&:focus,
|
|
574
626
|
&.focus {
|
|
575
|
-
box-shadow: 0 0 0 0.2rem
|
|
627
|
+
box-shadow: 0 0 0 0.2rem background-opacity(20);
|
|
576
628
|
}
|
|
577
629
|
}
|
|
578
630
|
}
|
|
@@ -596,26 +648,26 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
596
648
|
::selection {
|
|
597
649
|
//blink/webkit
|
|
598
650
|
color: $foreground;
|
|
599
|
-
background:
|
|
651
|
+
background: var(--dh-color-text-highlight);
|
|
600
652
|
opacity: 1;
|
|
601
653
|
}
|
|
602
654
|
|
|
603
655
|
::-moz-selection {
|
|
604
656
|
//moz
|
|
605
657
|
color: $foreground;
|
|
606
|
-
background:
|
|
658
|
+
background: var(--dh-color-text-highlight);
|
|
607
659
|
opacity: 1;
|
|
608
660
|
}
|
|
609
661
|
|
|
610
662
|
.masked-input::selection {
|
|
611
663
|
//blink/webkit
|
|
612
|
-
background:
|
|
664
|
+
background: var(--dh-color-text-highlight);
|
|
613
665
|
opacity: 1;
|
|
614
666
|
}
|
|
615
667
|
|
|
616
668
|
.masked-input::-moz-selection {
|
|
617
669
|
//moz
|
|
618
|
-
background:
|
|
670
|
+
background: var(--dh-color-text-highlight);
|
|
619
671
|
opacity: 1;
|
|
620
672
|
}
|
|
621
673
|
|
|
@@ -627,7 +679,7 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
627
679
|
|
|
628
680
|
// style the same as monaco scrollbar
|
|
629
681
|
::-webkit-scrollbar-thumb {
|
|
630
|
-
background:
|
|
682
|
+
background: hsla(var(--dh-color-scrollbar-hsl), 0.18);
|
|
631
683
|
border-radius: 0;
|
|
632
684
|
}
|
|
633
685
|
|
|
@@ -637,36 +689,31 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
637
689
|
}
|
|
638
690
|
|
|
639
691
|
::-webkit-scrollbar-corner {
|
|
640
|
-
background:
|
|
692
|
+
background: background-opacity(10);
|
|
641
693
|
}
|
|
642
694
|
|
|
643
695
|
::-webkit-scrollbar-track:horizontal {
|
|
644
|
-
border-top: 1px solid
|
|
696
|
+
border-top: 1px solid hsla(var(--dh-color-scrollbar-hsl), 0.15);
|
|
645
697
|
}
|
|
646
698
|
|
|
647
699
|
::-webkit-scrollbar-track:vertical {
|
|
648
|
-
border-left: 1px solid
|
|
700
|
+
border-left: 1px solid hsla(var(--dh-color-scrollbar-hsl), 0.15);
|
|
649
701
|
}
|
|
650
702
|
|
|
651
703
|
::-webkit-scrollbar-thumb:hover {
|
|
652
|
-
background:
|
|
704
|
+
background: hsla(var(--dh-color-scrollbar-hsl), 0.25);
|
|
653
705
|
}
|
|
654
706
|
|
|
655
707
|
::-webkit-scrollbar-thumb:active {
|
|
656
|
-
background:
|
|
708
|
+
background: hsla(var(--dh-color-scrollbar-hsl), 0.35);
|
|
657
709
|
}
|
|
658
710
|
|
|
659
|
-
/* stylelint-disable no-descending-specificity */
|
|
660
|
-
:root {
|
|
661
|
-
--scrollbar-color: 255, 255, 255;
|
|
662
|
-
}
|
|
663
|
-
/* stylelint-enable no-descending-specificity */
|
|
664
|
-
|
|
665
711
|
// used in inverted color sections, like light modals
|
|
666
712
|
.theme-bg-light {
|
|
667
|
-
--scrollbar-
|
|
713
|
+
--dh-color-scrollbar-hsl: #{var(--dh-color-bg-hsl)};
|
|
668
714
|
|
|
669
|
-
scrollbar-color:
|
|
715
|
+
scrollbar-color: hsla(var(--dh-color-scrollbar-hsl), 0.5)
|
|
716
|
+
hsla(var(--dh-color-scrollbar-hsl), 0.3); // firefox
|
|
670
717
|
}
|
|
671
718
|
|
|
672
719
|
/********** Monaco Overides *********/
|
|
@@ -740,40 +787,80 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
740
787
|
//Moz specific hacks
|
|
741
788
|
/* stylelint-disable-next-line function-url-quotes */
|
|
742
789
|
@-moz-document url-prefix() {
|
|
743
|
-
|
|
744
|
-
|
|
790
|
+
$caret-position: right $custom-select-padding-x;
|
|
791
|
+
$error-position: right (1 + $custom-select-padding-x);
|
|
792
|
+
$svg-caret: var(--dh-svg-icon-select-indicator);
|
|
793
|
+
$svg-caret-hover: var(--dh-svg-icon-select-indicator-hover);
|
|
794
|
+
$svg-error: var(--dh-svg-icon-error);
|
|
795
|
+
|
|
796
|
+
//Selection box in mozilla loses default styling on options list if you apply a background color other then #FFF or inherit...
|
|
797
|
+
//Hack: turn the background to inherit, then apply a background gradient that is inputbg color to inputbg color
|
|
745
798
|
//for crossbrowser consistency this gradient is stacked bellow the svg used to get a caret (indicator) looking the same
|
|
746
799
|
.custom-select {
|
|
747
800
|
background-color: inherit !important;
|
|
748
801
|
color: $foreground;
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
background-size:
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
802
|
+
// bg image, size and position for 2 layers
|
|
803
|
+
background-image: $svg-caret, solid-gradient($input-bg);
|
|
804
|
+
background-size:
|
|
805
|
+
10px 6px,
|
|
806
|
+
cover;
|
|
807
|
+
background-position-x: $caret-position, center;
|
|
808
|
+
background-position-y:
|
|
809
|
+
bottom 50%,
|
|
755
810
|
center;
|
|
811
|
+
background-repeat: no-repeat;
|
|
812
|
+
|
|
756
813
|
//make the dotted duplicate focus line on firefox go away
|
|
757
814
|
&:-moz-focusring {
|
|
758
|
-
color:
|
|
815
|
+
color: transparent;
|
|
759
816
|
text-shadow: 0 0 0 $foreground !important;
|
|
760
817
|
}
|
|
818
|
+
|
|
819
|
+
&:hover {
|
|
820
|
+
background-image: $svg-caret-hover, solid-gradient($input-bg);
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
&.is-invalid,
|
|
824
|
+
&.is-invalid:focus {
|
|
825
|
+
// bg image, size and position for 3 layers
|
|
826
|
+
background-image: $svg-caret, $svg-error, solid-gradient($input-bg);
|
|
827
|
+
background-size:
|
|
828
|
+
10px 6px,
|
|
829
|
+
16px,
|
|
830
|
+
cover;
|
|
831
|
+
background-position-x: $caret-position, $error-position, center;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
&.is-invalid:hover {
|
|
835
|
+
background-image: $svg-caret-hover, $svg-error, solid-gradient($input-bg);
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
&:disabled {
|
|
839
|
+
background-image: $svg-caret, solid-gradient($input-disabled-bg);
|
|
840
|
+
|
|
841
|
+
&.is-invalid {
|
|
842
|
+
background-image: $svg-caret, $svg-error,
|
|
843
|
+
solid-gradient($input-disabled-bg);
|
|
844
|
+
}
|
|
845
|
+
}
|
|
761
846
|
}
|
|
762
847
|
|
|
763
848
|
.console-creator .custom-select {
|
|
764
|
-
background-image:
|
|
765
|
-
|
|
849
|
+
background-image: var(--dh-svg-icon-select-indicator),
|
|
850
|
+
solid-gradient($gray-700);
|
|
851
|
+
|
|
766
852
|
&:-moz-focusring {
|
|
767
|
-
color:
|
|
853
|
+
color: transparent;
|
|
768
854
|
text-shadow: 0 0 0 $foreground !important;
|
|
769
855
|
}
|
|
770
856
|
}
|
|
771
857
|
|
|
772
858
|
.modal-dialog.theme-bg-light .custom-select {
|
|
773
|
-
background-image:
|
|
774
|
-
|
|
859
|
+
background-image: var(--dh-svg-icon-select-indicator),
|
|
860
|
+
solid-gradient($gray-200);
|
|
861
|
+
|
|
775
862
|
&:-moz-focusring {
|
|
776
|
-
color:
|
|
863
|
+
color: transparent;
|
|
777
864
|
text-shadow: 0 0 0 $background !important;
|
|
778
865
|
}
|
|
779
866
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Bootstrap v4.6.2 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2022 The Bootstrap Authors
|
|
4
|
+
* Copyright 2011-2022 Twitter, Inc.
|
|
5
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* Deephaven manually imports only the necessary bootstrap files.
|
|
10
|
+
* See `bootstrap/scss/bootstrap.scss` for the original list of imports.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@import 'bootstrap/scss/functions';
|
|
14
|
+
|
|
15
|
+
// patch the functions
|
|
16
|
+
@import './bootstrap_override_functions.scss';
|
|
17
|
+
|
|
18
|
+
@import 'bootstrap/scss/variables';
|
|
19
|
+
@import 'bootstrap/scss/mixins';
|
|
20
|
+
|
|
21
|
+
// patch the mixins
|
|
22
|
+
@import './bootstrap_override_mixins_background_variant.scss';
|
|
23
|
+
@import './bootstrap_override_mixins_buttons.scss';
|
|
24
|
+
@import './bootstrap_override_mixins_forms.scss';
|
|
25
|
+
@import './bootstrap_override_mixins_text_emphasis.scss';
|
|
26
|
+
|
|
27
|
+
// $theme-colors is used by button mixins. We don't want to use the `dark` or `light`
|
|
28
|
+
// variants since they don't align with the semantics we use for theming.
|
|
29
|
+
$theme-colors: map-remove($theme-colors, 'dark', 'light');
|
|
30
|
+
|
|
31
|
+
@import 'bootstrap/scss/root';
|
|
32
|
+
@import 'bootstrap/scss/reboot';
|
|
33
|
+
@import 'bootstrap/scss/type';
|
|
34
|
+
@import 'bootstrap/scss/code';
|
|
35
|
+
@import 'bootstrap/scss/grid';
|
|
36
|
+
@import 'bootstrap/scss/forms';
|
|
37
|
+
@import 'bootstrap/scss/buttons';
|
|
38
|
+
@import 'bootstrap/scss/transitions';
|
|
39
|
+
@import 'bootstrap/scss/dropdown';
|
|
40
|
+
@import 'bootstrap/scss/button-group';
|
|
41
|
+
@import 'bootstrap/scss/input-group';
|
|
42
|
+
@import 'bootstrap/scss/custom-forms';
|
|
43
|
+
@import 'bootstrap/scss/nav';
|
|
44
|
+
@import 'bootstrap/scss/navbar';
|
|
45
|
+
@import 'bootstrap/scss/progress';
|
|
46
|
+
@import 'bootstrap/scss/close';
|
|
47
|
+
@import 'bootstrap/scss/modal';
|
|
48
|
+
@import 'bootstrap/scss/spinners';
|
|
49
|
+
@import 'bootstrap/scss/utilities';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Bootstrap overrides for `bootstrap/scss/_functions.scss`
|
|
2
|
+
|
|
3
|
+
// Color contrast
|
|
4
|
+
// DH Customization: Add support for dh-color variables
|
|
5
|
+
@function color-yiq(
|
|
6
|
+
$color,
|
|
7
|
+
$dark: var(--dh-color-contrast-dark),
|
|
8
|
+
$light: var(--dh-color-contrast-light)
|
|
9
|
+
) {
|
|
10
|
+
// if $color is a hex color, use the default color-yiq function
|
|
11
|
+
@if type-of($color) == 'color' {
|
|
12
|
+
$r: red($color);
|
|
13
|
+
$g: green($color);
|
|
14
|
+
$b: blue($color);
|
|
15
|
+
|
|
16
|
+
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) * 0.001;
|
|
17
|
+
|
|
18
|
+
@if $yiq >= $yiq-contrasted-threshold {
|
|
19
|
+
@return $dark;
|
|
20
|
+
} @else {
|
|
21
|
+
@return $light;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
$contrast-color: var(
|
|
26
|
+
--dh-color-#{$color}-contrast,
|
|
27
|
+
var(--dh-color-contrast-light)
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
@return $contrast-color;
|
|
31
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Bootstrap mixin overrides for `bootstrap/scss/mixins/_background-variant.scss`
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin bg-variant($parent, $bootstrap-value, $ignore-warning: false) {
|
|
5
|
+
$semantic-value: map.get($bootstrap-dh-semantic-map, $bootstrap-value) or '';
|
|
6
|
+
|
|
7
|
+
#{$parent} {
|
|
8
|
+
background-color: var(--dh-color-#{$semantic-value}-bg) !important;
|
|
9
|
+
}
|
|
10
|
+
a#{$parent},
|
|
11
|
+
button#{$parent} {
|
|
12
|
+
@include hover-focus {
|
|
13
|
+
background-color: var(--dh-color-#{$semantic-value}-down-bg) !important;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|