@deephaven/components 0.55.1-beta.8 → 0.56.0
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 +837 -3627
- 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 +7 -7
- package/dist/ComboBox.css.map +1 -1
- package/dist/CustomTimeSelect.css +9 -9
- package/dist/CustomTimeSelect.css.map +1 -1
- package/dist/DraggableItemList.css +14 -14
- package/dist/DraggableItemList.css.map +1 -1
- package/dist/ErrorBoundary.d.ts +26 -0
- package/dist/ErrorBoundary.d.ts.map +1 -0
- package/dist/ErrorBoundary.js +55 -0
- package/dist/ErrorBoundary.js.map +1 -0
- 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/MaskedInput.css.map +1 -1
- package/dist/RandomAreaPlotAnimation.d.ts +1 -1
- package/dist/RandomAreaPlotAnimation.d.ts.map +1 -1
- package/dist/RandomAreaPlotAnimation.js +49 -13
- package/dist/RandomAreaPlotAnimation.js.map +1 -1
- package/dist/SearchInput.css +3 -3
- package/dist/SearchInput.css.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.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/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 +1 -1
- package/dist/theme/ThemeModel.d.ts.map +1 -1
- package/dist/theme/ThemeModel.js +56 -7
- 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 +2 -1
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +10 -8
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/ThemeUtils.d.ts +5 -3
- package/dist/theme/ThemeUtils.d.ts.map +1 -1
- package/dist/theme/ThemeUtils.js +18 -22
- 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/theme-spectrum-alias.module.css +1 -1
- package/dist/theme/theme-spectrum/theme-spectrum-alias.module.css.map +1 -1
- package/package.json +7 -7
- package/scss/BaseStyleSheet.scss +68 -60
- 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 +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.56.0",
|
|
4
4
|
"description": "Deephaven React component library",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@adobe/react-spectrum": "^3.29.0",
|
|
28
|
-
"@deephaven/icons": "^0.
|
|
29
|
-
"@deephaven/log": "^0.
|
|
30
|
-
"@deephaven/react-hooks": "^0.
|
|
31
|
-
"@deephaven/utils": "^0.
|
|
28
|
+
"@deephaven/icons": "^0.56.0",
|
|
29
|
+
"@deephaven/log": "^0.56.0",
|
|
30
|
+
"@deephaven/react-hooks": "^0.56.0",
|
|
31
|
+
"@deephaven/utils": "^0.56.0",
|
|
32
32
|
"@fortawesome/fontawesome-svg-core": "^6.2.1",
|
|
33
33
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
34
34
|
"@react-spectrum/theme-default": "^3.5.1",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"react-dom": "^17.x"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@deephaven/mocks": "^0.
|
|
55
|
+
"@deephaven/mocks": "^0.56.0"
|
|
56
56
|
},
|
|
57
57
|
"files": [
|
|
58
58
|
"dist",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "ce7c33f8f44023b8fa7c60164c1fd88fe049e2ea"
|
|
69
69
|
}
|
package/scss/BaseStyleSheet.scss
CHANGED
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
// Can be imported directly by Vite since it resolves bootstrap to node_modules/bootstrap
|
|
3
3
|
@import './custom.scss';
|
|
4
4
|
@import './util.scss';
|
|
5
|
-
@import '
|
|
5
|
+
@import './bootstrap_imports.scss';
|
|
6
6
|
|
|
7
7
|
:root {
|
|
8
8
|
--dh-svg-inline-icon-size: 16px;
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
color: var(--dh-color-text);
|
|
11
|
+
|
|
12
|
+
.spectrum-theme-provider {
|
|
13
|
+
color: var(--dh-color-text);
|
|
14
|
+
}
|
|
10
15
|
}
|
|
11
16
|
|
|
12
17
|
//Various non-variable css overides
|
|
@@ -16,6 +21,14 @@ html {
|
|
|
16
21
|
min-height: 100%;
|
|
17
22
|
}
|
|
18
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
|
+
|
|
19
32
|
// deephaven-icons are designed on a 16px grid
|
|
20
33
|
// and look best at that size. Default icon size back to 16px
|
|
21
34
|
// vertical alignment changed to best match icon set against 14px text
|
|
@@ -26,19 +39,18 @@ html {
|
|
|
26
39
|
|
|
27
40
|
body {
|
|
28
41
|
min-height: 100%;
|
|
29
|
-
background-color:
|
|
42
|
+
background-color: $background;
|
|
30
43
|
color: $foreground;
|
|
31
44
|
margin: 0;
|
|
32
45
|
padding: 0;
|
|
33
46
|
overscroll-behavior: none;
|
|
34
47
|
-ms-scroll-chaining: none;
|
|
35
|
-
scrollbar-color:
|
|
48
|
+
scrollbar-color: foreground-opacity(10) background-opacity(10); //applies to firefox only
|
|
36
49
|
}
|
|
37
50
|
|
|
38
51
|
#root {
|
|
39
|
-
background-color: var(--dh-color-background, $background);
|
|
40
|
-
|
|
41
52
|
.app {
|
|
53
|
+
background-color: $background;
|
|
42
54
|
height: 100vh;
|
|
43
55
|
width: 100vw;
|
|
44
56
|
}
|
|
@@ -91,7 +103,7 @@ a.custom-link,
|
|
|
91
103
|
content: '';
|
|
92
104
|
box-sizing: content-box;
|
|
93
105
|
position: absolute;
|
|
94
|
-
background:
|
|
106
|
+
background: accent-opacity(10);
|
|
95
107
|
top: 0;
|
|
96
108
|
left: 0;
|
|
97
109
|
width: 100%;
|
|
@@ -135,18 +147,18 @@ span.btn-disabled-wrapper {
|
|
|
135
147
|
border-radius: $border-radius;
|
|
136
148
|
|
|
137
149
|
&:focus {
|
|
138
|
-
background:
|
|
150
|
+
background: accent-opacity(10);
|
|
139
151
|
border: $input-border-width solid $primary;
|
|
140
152
|
box-shadow: $input-btn-focus-box-shadow;
|
|
141
153
|
}
|
|
142
154
|
|
|
143
155
|
&:hover {
|
|
144
|
-
background:
|
|
156
|
+
background: accent-opacity(15);
|
|
145
157
|
}
|
|
146
158
|
|
|
147
159
|
&:active {
|
|
148
160
|
content: '';
|
|
149
|
-
background:
|
|
161
|
+
background: accent-opacity(30);
|
|
150
162
|
}
|
|
151
163
|
}
|
|
152
164
|
}
|
|
@@ -157,15 +169,13 @@ span.btn-disabled-wrapper {
|
|
|
157
169
|
border-color: $danger;
|
|
158
170
|
|
|
159
171
|
&:focus {
|
|
160
|
-
box-shadow: 0 0 0 $btn-focus-width
|
|
161
|
-
rgba(mix(color-yiq($background), $danger, 15%), 0.5);
|
|
172
|
+
box-shadow: 0 0 0 $btn-focus-width var(--dh-color-focus);
|
|
162
173
|
}
|
|
163
174
|
|
|
164
175
|
&:not(:disabled):not(.disabled):active {
|
|
165
|
-
background:
|
|
166
|
-
border-color:
|
|
167
|
-
box-shadow: 0 0 0 $btn-focus-width
|
|
168
|
-
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);
|
|
169
179
|
}
|
|
170
180
|
}
|
|
171
181
|
|
|
@@ -180,8 +190,7 @@ span.btn-disabled-wrapper {
|
|
|
180
190
|
|
|
181
191
|
.btn-spinner {
|
|
182
192
|
padding: $btn-padding-y 1rem;
|
|
183
|
-
.fa-layers
|
|
184
|
-
.loading-spinner {
|
|
193
|
+
.fa-layers {
|
|
185
194
|
margin-right: 0.5rem;
|
|
186
195
|
}
|
|
187
196
|
}
|
|
@@ -226,7 +235,7 @@ span.btn-disabled-wrapper {
|
|
|
226
235
|
text-decoration: none;
|
|
227
236
|
box-shadow: none;
|
|
228
237
|
&::after {
|
|
229
|
-
background:
|
|
238
|
+
background: accent-opacity(10);
|
|
230
239
|
border: $input-border-width solid $primary;
|
|
231
240
|
box-shadow: $input-btn-focus-box-shadow;
|
|
232
241
|
}
|
|
@@ -234,14 +243,14 @@ span.btn-disabled-wrapper {
|
|
|
234
243
|
|
|
235
244
|
&:hover {
|
|
236
245
|
&::after {
|
|
237
|
-
background:
|
|
246
|
+
background: accent-opacity(15);
|
|
238
247
|
}
|
|
239
248
|
}
|
|
240
249
|
|
|
241
250
|
&:active {
|
|
242
251
|
&::after {
|
|
243
252
|
content: '';
|
|
244
|
-
background:
|
|
253
|
+
background: accent-opacity(30);
|
|
245
254
|
}
|
|
246
255
|
}
|
|
247
256
|
}
|
|
@@ -296,51 +305,49 @@ span.btn-disabled-wrapper {
|
|
|
296
305
|
padding-left: $spacer-1;
|
|
297
306
|
padding-right: $spacer-1;
|
|
298
307
|
border-radius: $border-radius;
|
|
299
|
-
background:
|
|
300
|
-
border: 1px solid
|
|
301
|
-
color:
|
|
308
|
+
background: var(--dh-color-action-bg);
|
|
309
|
+
border: 1px solid var(--dh-color-action-border);
|
|
310
|
+
color: var(--dh-color-action-fg);
|
|
302
311
|
|
|
303
312
|
&.active {
|
|
304
|
-
border-color:
|
|
305
|
-
background:
|
|
306
|
-
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);
|
|
307
316
|
|
|
308
|
-
&:focus {
|
|
317
|
+
&:focus-visible {
|
|
309
318
|
border: 1px solid $input-focus-border-color;
|
|
310
319
|
}
|
|
311
320
|
|
|
312
321
|
&:not(:disabled):not(.disabled):hover {
|
|
313
|
-
|
|
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);
|
|
314
325
|
}
|
|
315
326
|
}
|
|
316
327
|
|
|
317
328
|
&.disabled,
|
|
318
329
|
&:disabled {
|
|
319
|
-
|
|
320
|
-
|
|
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);
|
|
321
333
|
cursor: not-allowed;
|
|
322
334
|
}
|
|
323
335
|
|
|
324
|
-
&:focus {
|
|
336
|
+
&:focus-visible {
|
|
325
337
|
border: 1px solid $input-focus-border-color;
|
|
326
338
|
}
|
|
327
339
|
|
|
328
340
|
&:not(:disabled):not(.disabled):hover {
|
|
329
|
-
background-color:
|
|
330
|
-
|
|
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);
|
|
331
344
|
}
|
|
332
345
|
|
|
333
346
|
&:not(:disabled):not(.disabled):active {
|
|
334
|
-
background:
|
|
347
|
+
background: var(--dh-color-action-down-bg);
|
|
335
348
|
}
|
|
336
349
|
}
|
|
337
350
|
|
|
338
|
-
.btn-secondary:hover {
|
|
339
|
-
// steal primary hover state to look more hovered, less disabled
|
|
340
|
-
background-color: $primary-hover;
|
|
341
|
-
border-color: $primary-hover;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
351
|
.btn-secondary.disabled,
|
|
345
352
|
.btn-secondary:disabled {
|
|
346
353
|
// look more disabled
|
|
@@ -408,18 +415,18 @@ form label small {
|
|
|
408
415
|
box-shadow: 0 0 0 0.2rem var(--dh-color-form-control-error-shadow);
|
|
409
416
|
}
|
|
410
417
|
|
|
411
|
-
.form-control.btn:focus {
|
|
418
|
+
.form-control.btn:focus-visible {
|
|
412
419
|
box-shadow: $input-btn-focus-box-shadow;
|
|
413
420
|
}
|
|
414
421
|
|
|
415
422
|
.form-control:disabled {
|
|
416
423
|
border-color: $black;
|
|
417
|
-
color:
|
|
424
|
+
color: $gray-500;
|
|
418
425
|
cursor: not-allowed;
|
|
419
426
|
}
|
|
420
427
|
|
|
421
428
|
.form-control:disabled::placeholder {
|
|
422
|
-
color:
|
|
429
|
+
color: $gray-500;
|
|
423
430
|
}
|
|
424
431
|
|
|
425
432
|
.form-control[type='password'] {
|
|
@@ -617,7 +624,7 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
617
624
|
border-color: $gray-300;
|
|
618
625
|
&:focus,
|
|
619
626
|
&.focus {
|
|
620
|
-
box-shadow: 0 0 0 0.2rem
|
|
627
|
+
box-shadow: 0 0 0 0.2rem background-opacity(20);
|
|
621
628
|
}
|
|
622
629
|
}
|
|
623
630
|
}
|
|
@@ -641,26 +648,26 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
641
648
|
::selection {
|
|
642
649
|
//blink/webkit
|
|
643
650
|
color: $foreground;
|
|
644
|
-
background:
|
|
651
|
+
background: var(--dh-color-text-highlight);
|
|
645
652
|
opacity: 1;
|
|
646
653
|
}
|
|
647
654
|
|
|
648
655
|
::-moz-selection {
|
|
649
656
|
//moz
|
|
650
657
|
color: $foreground;
|
|
651
|
-
background:
|
|
658
|
+
background: var(--dh-color-text-highlight);
|
|
652
659
|
opacity: 1;
|
|
653
660
|
}
|
|
654
661
|
|
|
655
662
|
.masked-input::selection {
|
|
656
663
|
//blink/webkit
|
|
657
|
-
background:
|
|
664
|
+
background: var(--dh-color-text-highlight);
|
|
658
665
|
opacity: 1;
|
|
659
666
|
}
|
|
660
667
|
|
|
661
668
|
.masked-input::-moz-selection {
|
|
662
669
|
//moz
|
|
663
|
-
background:
|
|
670
|
+
background: var(--dh-color-text-highlight);
|
|
664
671
|
opacity: 1;
|
|
665
672
|
}
|
|
666
673
|
|
|
@@ -672,7 +679,7 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
672
679
|
|
|
673
680
|
// style the same as monaco scrollbar
|
|
674
681
|
::-webkit-scrollbar-thumb {
|
|
675
|
-
background:
|
|
682
|
+
background: hsla(var(--dh-color-scrollbar-hsl), 0.18);
|
|
676
683
|
border-radius: 0;
|
|
677
684
|
}
|
|
678
685
|
|
|
@@ -682,30 +689,31 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
682
689
|
}
|
|
683
690
|
|
|
684
691
|
::-webkit-scrollbar-corner {
|
|
685
|
-
background:
|
|
692
|
+
background: background-opacity(10);
|
|
686
693
|
}
|
|
687
694
|
|
|
688
695
|
::-webkit-scrollbar-track:horizontal {
|
|
689
|
-
border-top: 1px solid
|
|
696
|
+
border-top: 1px solid hsla(var(--dh-color-scrollbar-hsl), 0.15);
|
|
690
697
|
}
|
|
691
698
|
|
|
692
699
|
::-webkit-scrollbar-track:vertical {
|
|
693
|
-
border-left: 1px solid
|
|
700
|
+
border-left: 1px solid hsla(var(--dh-color-scrollbar-hsl), 0.15);
|
|
694
701
|
}
|
|
695
702
|
|
|
696
703
|
::-webkit-scrollbar-thumb:hover {
|
|
697
|
-
background:
|
|
704
|
+
background: hsla(var(--dh-color-scrollbar-hsl), 0.25);
|
|
698
705
|
}
|
|
699
706
|
|
|
700
707
|
::-webkit-scrollbar-thumb:active {
|
|
701
|
-
background:
|
|
708
|
+
background: hsla(var(--dh-color-scrollbar-hsl), 0.35);
|
|
702
709
|
}
|
|
703
710
|
|
|
704
711
|
// used in inverted color sections, like light modals
|
|
705
712
|
.theme-bg-light {
|
|
706
|
-
--scrollbar-
|
|
713
|
+
--dh-color-scrollbar-hsl: #{var(--dh-color-bg-hsl)};
|
|
707
714
|
|
|
708
|
-
scrollbar-color:
|
|
715
|
+
scrollbar-color: hsla(var(--dh-color-scrollbar-hsl), 0.5)
|
|
716
|
+
hsla(var(--dh-color-scrollbar-hsl), 0.3); // firefox
|
|
709
717
|
}
|
|
710
718
|
|
|
711
719
|
/********** Monaco Overides *********/
|
|
@@ -804,7 +812,7 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
804
812
|
|
|
805
813
|
//make the dotted duplicate focus line on firefox go away
|
|
806
814
|
&:-moz-focusring {
|
|
807
|
-
color:
|
|
815
|
+
color: transparent;
|
|
808
816
|
text-shadow: 0 0 0 $foreground !important;
|
|
809
817
|
}
|
|
810
818
|
|
|
@@ -842,7 +850,7 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
842
850
|
solid-gradient($gray-700);
|
|
843
851
|
|
|
844
852
|
&:-moz-focusring {
|
|
845
|
-
color:
|
|
853
|
+
color: transparent;
|
|
846
854
|
text-shadow: 0 0 0 $foreground !important;
|
|
847
855
|
}
|
|
848
856
|
}
|
|
@@ -852,7 +860,7 @@ input[type='number']::-webkit-inner-spin-button {
|
|
|
852
860
|
solid-gradient($gray-200);
|
|
853
861
|
|
|
854
862
|
&:-moz-focusring {
|
|
855
|
-
color:
|
|
863
|
+
color: transparent;
|
|
856
864
|
text-shadow: 0 0 0 $background !important;
|
|
857
865
|
}
|
|
858
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` in `node_modules` 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
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// Bootstrap mixin overrides for `bootstrap/scss/mixins/_buttons.scss`
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
// This mixin overrides the one in `bootstrap/scss/mixins/_buttons.scss`
|
|
5
|
+
// $bootstrap-value comes from $theme-colors map (see `bootstrap/scss/_buttons.scss`)
|
|
6
|
+
@mixin button-variant($bootstrap-value, $_) {
|
|
7
|
+
$semantic-value: map.get($bootstrap-dh-semantic-map, $bootstrap-value) or '';
|
|
8
|
+
|
|
9
|
+
// DH Customization: Convert semantic value to css variables
|
|
10
|
+
$background: var(--dh-color-#{$semantic-value}-bg);
|
|
11
|
+
$border: var(--dh-color-#{$semantic-value}-bg);
|
|
12
|
+
$boxshadow-color: hsla(var(--dh-color-#{$semantic-value}-hsl), 0.5);
|
|
13
|
+
$hover-background: var(--dh-color-#{$semantic-value}-hover-bg);
|
|
14
|
+
$hover-border: var(--dh-color-#{$semantic-value}-hover-bg);
|
|
15
|
+
$active-background: var(--dh-color-#{$semantic-value}-down-bg);
|
|
16
|
+
$active-border: var(--dh-color-#{$semantic-value}-down-bg);
|
|
17
|
+
$color: var(--dh-color-#{$semantic-value}-contrast);
|
|
18
|
+
|
|
19
|
+
color: $color;
|
|
20
|
+
font-weight: var(--spectrum-global-font-weight-bold);
|
|
21
|
+
@include gradient-bg($background);
|
|
22
|
+
|
|
23
|
+
border-color: $border;
|
|
24
|
+
@include box-shadow($btn-box-shadow);
|
|
25
|
+
|
|
26
|
+
@include hover {
|
|
27
|
+
color: $color;
|
|
28
|
+
@include gradient-bg($hover-background);
|
|
29
|
+
|
|
30
|
+
border-color: $hover-border;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&:focus {
|
|
34
|
+
box-shadow: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&:focus-visible,
|
|
38
|
+
&.focus {
|
|
39
|
+
color: $color;
|
|
40
|
+
@include gradient-bg($hover-background);
|
|
41
|
+
|
|
42
|
+
border-color: $hover-border;
|
|
43
|
+
box-shadow: 0 0 0 $btn-focus-width $boxshadow-color;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Disabled comes first so active can properly restyle
|
|
47
|
+
&.disabled,
|
|
48
|
+
&:disabled {
|
|
49
|
+
color: $color;
|
|
50
|
+
background-color: $background;
|
|
51
|
+
border-color: $border;
|
|
52
|
+
// Remove CSS gradients if they're enabled
|
|
53
|
+
@if $enable-gradients {
|
|
54
|
+
background-image: none;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&:not(:disabled):not(.disabled):active,
|
|
59
|
+
&:not(:disabled):not(.disabled).active,
|
|
60
|
+
.show > &.dropdown-toggle {
|
|
61
|
+
color: $color;
|
|
62
|
+
background-color: $active-background;
|
|
63
|
+
@if $enable-gradients {
|
|
64
|
+
background-image: none; // Remove the gradient for the pressed/active state
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
border-color: $active-border;
|
|
68
|
+
|
|
69
|
+
&:focus-visible {
|
|
70
|
+
box-shadow: 0 0 0 $btn-focus-width $boxshadow-color;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@mixin button-outline-variant($bootstrap-value) {
|
|
76
|
+
$semantic-value: map.get($bootstrap-dh-semantic-map, $bootstrap-value) or '';
|
|
77
|
+
|
|
78
|
+
$color: var(--dh-color-#{$semantic-value}-bg);
|
|
79
|
+
$boxshadow-color: hsla(var(--dh-color-#{$semantic-value}-hsl), 0.5);
|
|
80
|
+
$hover-color: color-yiq($semantic-value);
|
|
81
|
+
$hover-background: var(--dh-color-#{$semantic-value}-hover-bg);
|
|
82
|
+
$active-background: var(--dh-color-#{$semantic-value}-down-bg);
|
|
83
|
+
|
|
84
|
+
color: $color;
|
|
85
|
+
border-color: $color;
|
|
86
|
+
|
|
87
|
+
@include hover {
|
|
88
|
+
color: $hover-color;
|
|
89
|
+
background-color: $hover-background;
|
|
90
|
+
border-color: $hover-background;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&:focus,
|
|
94
|
+
&.focus {
|
|
95
|
+
box-shadow: 0 0 0 $btn-focus-width $boxshadow-color;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&.disabled,
|
|
99
|
+
&:disabled {
|
|
100
|
+
color: $color;
|
|
101
|
+
background-color: transparent;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&:not(:disabled):not(.disabled):active,
|
|
105
|
+
&:not(:disabled):not(.disabled).active,
|
|
106
|
+
.show > &.dropdown-toggle {
|
|
107
|
+
color: color-yiq($semantic-value);
|
|
108
|
+
background-color: $active-background;
|
|
109
|
+
border-color: $active-background;
|
|
110
|
+
|
|
111
|
+
&:focus {
|
|
112
|
+
@if $enable-shadows and $btn-active-box-shadow != none {
|
|
113
|
+
@include box-shadow(
|
|
114
|
+
$btn-active-box-shadow,
|
|
115
|
+
0 0 0 $btn-focus-width $boxshadow-color
|
|
116
|
+
);
|
|
117
|
+
} @else {
|
|
118
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
|
119
|
+
box-shadow: 0 0 0 $btn-focus-width $boxshadow-color;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|