@deephaven/components 0.16.1-beta.0 → 0.16.1-vite.20

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.
Files changed (73) hide show
  1. package/dist/AutoCompleteInput.js.map +1 -1
  2. package/dist/AutoResizeTextarea.js.map +1 -1
  3. package/dist/BasicModal.js.map +1 -1
  4. package/dist/Button.js.map +1 -1
  5. package/dist/ButtonGroup.js.map +1 -1
  6. package/dist/ButtonOld.js.map +1 -1
  7. package/dist/CardFlip.js.map +1 -1
  8. package/dist/Checkbox.js.map +1 -1
  9. package/dist/Collapse.js.map +1 -1
  10. package/dist/ComboBox.js.map +1 -1
  11. package/dist/CustomTimeSelect.js.map +1 -1
  12. package/dist/DebouncedSearchInput.js.map +1 -1
  13. package/dist/DeephavenSpinner.js.map +1 -1
  14. package/dist/DragUtils.js.map +1 -1
  15. package/dist/DraggableItemList.js +1 -1
  16. package/dist/DraggableItemList.js.map +1 -1
  17. package/dist/HierarchicalCheckboxMenu.js.map +1 -1
  18. package/dist/ItemList.js +1 -1
  19. package/dist/ItemList.js.map +1 -1
  20. package/dist/ItemListItem.js.map +1 -1
  21. package/dist/LoadingOverlay.js.map +1 -1
  22. package/dist/LoadingSpinner.js.map +1 -1
  23. package/dist/MaskedInput.js.map +1 -1
  24. package/dist/Option.js.map +1 -1
  25. package/dist/RadioGroup.js.map +1 -1
  26. package/dist/RadioItem.js.map +1 -1
  27. package/dist/SearchInput.js.map +1 -1
  28. package/dist/Select.js.map +1 -1
  29. package/dist/SelectValueList.js.map +1 -1
  30. package/dist/SocketedButton.js.map +1 -1
  31. package/dist/ThemeExport.js.map +1 -1
  32. package/dist/TimeInput.js.map +1 -1
  33. package/dist/TimeSlider.js.map +1 -1
  34. package/dist/ToastNotification.js.map +1 -1
  35. package/dist/UISwitch.js.map +1 -1
  36. package/dist/ValidateLabelInput.js.map +1 -1
  37. package/dist/context-actions/ContextActionUtils.js.map +1 -1
  38. package/dist/context-actions/ContextActions.js.map +1 -1
  39. package/dist/context-actions/ContextMenu.js.map +1 -1
  40. package/dist/context-actions/ContextMenuItem.js.map +1 -1
  41. package/dist/context-actions/ContextMenuRoot.js.map +1 -1
  42. package/dist/context-actions/GlobalContextAction.js.map +1 -1
  43. package/dist/context-actions/GlobalContextActions.js.map +1 -1
  44. package/dist/context-actions/index.js.map +1 -1
  45. package/dist/declaration.d.js.map +1 -1
  46. package/dist/index.d.ts +1 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/menu-actions/DropdownMenu.js.map +1 -1
  51. package/dist/menu-actions/Menu.js.map +1 -1
  52. package/dist/menu-actions/index.js.map +1 -1
  53. package/dist/modal/Modal.js.map +1 -1
  54. package/dist/modal/ModalBody.js.map +1 -1
  55. package/dist/modal/ModalFooter.js.map +1 -1
  56. package/dist/modal/ModalHeader.js.map +1 -1
  57. package/dist/modal/index.js.map +1 -1
  58. package/dist/navigation/Menu.js.map +1 -1
  59. package/dist/navigation/MenuItem.js.map +1 -1
  60. package/dist/navigation/Page.js.map +1 -1
  61. package/dist/navigation/Stack.js.map +1 -1
  62. package/dist/navigation/index.js.map +1 -1
  63. package/dist/popper/Popper.js.map +1 -1
  64. package/dist/popper/Tooltip.js.map +1 -1
  65. package/dist/popper/index.js.map +1 -1
  66. package/dist/shortcuts/GlobalShortcuts.js.map +1 -1
  67. package/dist/shortcuts/Shortcut.js.map +1 -1
  68. package/dist/shortcuts/ShortcutRegistry.js.map +1 -1
  69. package/dist/shortcuts/index.js.map +1 -1
  70. package/package.json +9 -9
  71. package/scss/BaseStyleSheet.scss +847 -0
  72. package/dist/BaseStyleSheet.css +0 -11560
  73. package/dist/BaseStyleSheet.css.map +0 -1
@@ -0,0 +1,847 @@
1
+ //Import our custom variables and bootstrap
2
+ @import './custom.scss';
3
+ @import '../../../node_modules/bootstrap/scss/bootstrap';
4
+
5
+ //Various non-variable css overides
6
+ //Overide default size from 16px to 14px. We need density.
7
+ html {
8
+ font-size: 14px;
9
+ min-height: 100%;
10
+ }
11
+
12
+ // deephaven-icons are designed on a 16px grid
13
+ // and look best at that size. Default icon size back to 16px
14
+ // vertical alignment changed to best match icon set against 14px text
15
+ .svg-inline--fa {
16
+ font-size: 16px;
17
+ vertical-align: -3px;
18
+ }
19
+
20
+ body {
21
+ min-height: 100%;
22
+ background-color: $background;
23
+ color: $foreground;
24
+ margin: 0;
25
+ padding: 0;
26
+ overscroll-behavior: none;
27
+ -ms-scroll-chaining: none;
28
+ scrollbar-color: rgba($white, 0.1) rgba($black, 0.1); //applies to firefox only
29
+ }
30
+
31
+ #root {
32
+ background-color: $background;
33
+
34
+ .app {
35
+ height: 100vh;
36
+ width: 100vw;
37
+ }
38
+ }
39
+
40
+ /** Convenience **/
41
+
42
+ .fill-parent-absolute {
43
+ position: absolute;
44
+ top: 0;
45
+ left: 0;
46
+ right: 0;
47
+ bottom: 0;
48
+ }
49
+
50
+ hr {
51
+ background-color: $gray-400;
52
+ }
53
+
54
+ .scroll-pane,
55
+ .scroll-pane-x,
56
+ .scroll-pane-y {
57
+ height: 100%;
58
+ width: 100%;
59
+ overflow: auto;
60
+ }
61
+
62
+ .no-scroll-x {
63
+ overflow-x: hidden;
64
+ }
65
+
66
+ .no-scroll-y {
67
+ overflow-y: hidden;
68
+ }
69
+
70
+ .drag-pointer-events-none {
71
+ pointer-events: none;
72
+ cursor: grabbing;
73
+ }
74
+
75
+ a.btn-link,
76
+ a.btn-link-icon,
77
+ a.custom-link,
78
+ .markdown-editor-container a {
79
+ outline: 0;
80
+ position: relative;
81
+
82
+ &:focus {
83
+ &::after {
84
+ content: '';
85
+ box-sizing: content-box;
86
+ position: absolute;
87
+ background: rgba($primary, $focus-bg-transparency);
88
+ top: 0;
89
+ left: 0;
90
+ width: 100%;
91
+ height: 100%;
92
+ border-radius: $border-radius;
93
+ border: 1px solid $primary;
94
+ box-shadow: $input-btn-focus-box-shadow;
95
+ }
96
+ }
97
+ }
98
+
99
+ /********** BUTTONS *********/
100
+
101
+ button:focus {
102
+ outline: 0; // it's fine, we've set our own focus states.
103
+ }
104
+
105
+ //Make btns a minumum size
106
+ .btn {
107
+ min-width: 7rem;
108
+ }
109
+
110
+ span.btn-disabled-wrapper {
111
+ .btn.disabled,
112
+ .btn:disabled {
113
+ pointer-events: none;
114
+ }
115
+ }
116
+
117
+ .btn-link {
118
+ min-width: unset;
119
+ padding: $spacer-1;
120
+
121
+ svg {
122
+ margin-right: $spacer-1;
123
+ }
124
+
125
+ &:not(.btn-link-icon) {
126
+ border: $input-border-width solid transparent;
127
+ border-radius: $border-radius;
128
+
129
+ &:focus {
130
+ background: rgba($primary, $focus-bg-transparency);
131
+ border: $input-border-width solid $primary;
132
+ box-shadow: $input-btn-focus-box-shadow;
133
+ }
134
+
135
+ &:hover {
136
+ background: rgba($primary, $hover-bg-transparency);
137
+ }
138
+
139
+ &:active {
140
+ content: '';
141
+ background: rgba($primary, $active-bg-transparency);
142
+ }
143
+ }
144
+ }
145
+
146
+ // can be set on other btn-modifiers, be more specific to override
147
+ .btn.btn-cancelable:hover {
148
+ background-color: $danger;
149
+ border-color: $danger;
150
+
151
+ &:focus {
152
+ box-shadow: 0 0 0 $btn-focus-width
153
+ rgba(mix(color-yiq($background), $danger, 15%), 0.5);
154
+ }
155
+
156
+ &:not(:disabled):not(.disabled):active {
157
+ background: darken($danger, 10%);
158
+ border-color: darken($danger, 10%);
159
+ box-shadow: 0 0 0 $btn-focus-width
160
+ rgba(mix(color-yiq($background), $danger, 15%), 0.5);
161
+ }
162
+ }
163
+
164
+ .btn .btn-hover-content,
165
+ .btn:hover .btn-normal-content {
166
+ display: none;
167
+ }
168
+
169
+ .btn:hover .btn-hover-content {
170
+ display: inline-block;
171
+ }
172
+
173
+ .btn-spinner {
174
+ padding: $btn-padding-y 1rem;
175
+ .fa-layers {
176
+ margin-right: 0.5rem;
177
+ }
178
+ }
179
+
180
+ .btn-link.no-underline,
181
+ .btn-link.no-underline:hover {
182
+ text-decoration: none;
183
+ }
184
+
185
+ .btn-small {
186
+ min-width: 0;
187
+ padding: 4px;
188
+ }
189
+
190
+ .btn-link-icon {
191
+ position: relative;
192
+ border: 0;
193
+ padding-left: $spacer-1;
194
+ padding-right: $spacer-1;
195
+
196
+ svg {
197
+ margin-right: 0;
198
+ }
199
+
200
+ &::after {
201
+ content: '';
202
+ box-sizing: border-box;
203
+ position: absolute;
204
+ top: 50%;
205
+ left: 50%;
206
+ transform: translate(-50%, -50%);
207
+ border: $input-border-width solid transparent;
208
+ border-radius: $border-radius;
209
+ height: 100%;
210
+ padding-left: calc(100% - #{$input-border-width} * 2);
211
+ // padding used in place of width, still need to account for border width
212
+ transition: $btn-transition;
213
+ }
214
+
215
+ &:focus {
216
+ outline: none;
217
+ text-decoration: none;
218
+ box-shadow: none;
219
+ &::after {
220
+ background: rgba($primary, $focus-bg-transparency);
221
+ border: $input-border-width solid $primary;
222
+ box-shadow: $input-btn-focus-box-shadow;
223
+ }
224
+ }
225
+
226
+ &:hover {
227
+ &::after {
228
+ background: rgba($primary, $hover-bg-transparency);
229
+ }
230
+ }
231
+
232
+ &:active {
233
+ &::after {
234
+ content: '';
235
+ background: rgba($primary, $active-bg-transparency);
236
+ }
237
+ }
238
+ }
239
+
240
+ .btn-icon {
241
+ text-align: center;
242
+ padding: 0;
243
+ min-width: 0;
244
+ font-size: small;
245
+ text-overflow: ellipsis;
246
+ border-radius: 0;
247
+
248
+ svg,
249
+ img {
250
+ display: block;
251
+ background: $gray-500;
252
+ margin: auto;
253
+ border-radius: 2px;
254
+ margin-bottom: 2px;
255
+ filter: saturate(0%);
256
+ transition: filter 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
257
+ pointer-events: none;
258
+ }
259
+
260
+ &:hover,
261
+ &:focus,
262
+ &.active {
263
+ svg,
264
+ img {
265
+ box-shadow: 0 0 0 2px $input-border-color;
266
+ filter: saturate(100%);
267
+ }
268
+ }
269
+
270
+ &:focus,
271
+ &.active {
272
+ outline: none;
273
+ box-shadow: none;
274
+ color: $primary;
275
+
276
+ svg,
277
+ img {
278
+ box-shadow: 0 0 0 2px $input-focus-border-color;
279
+ }
280
+ }
281
+ }
282
+
283
+ .btn-inline {
284
+ min-width: 2.75rem;
285
+ padding-left: $spacer-1;
286
+ padding-right: $spacer-1;
287
+ border-radius: $border-radius;
288
+ background: $gray-600;
289
+ border: 1px solid $input-border-color;
290
+ color: $gray-300;
291
+
292
+ &.active {
293
+ border-color: $primary;
294
+ background: $primary;
295
+ color: $gray-100;
296
+
297
+ &:focus {
298
+ border: 1px solid $input-focus-border-color;
299
+ }
300
+
301
+ &:not(:disabled):not(.disabled):hover {
302
+ background: $primary;
303
+ }
304
+ }
305
+
306
+ &.disabled,
307
+ &:disabled {
308
+ border: 1px solid $black;
309
+ color: $gray-300;
310
+ cursor: not-allowed;
311
+ }
312
+
313
+ &:focus {
314
+ border: 1px solid $input-focus-border-color;
315
+ }
316
+
317
+ &:not(:disabled):not(.disabled):hover {
318
+ background-color: $gray-500;
319
+ color: $gray-200;
320
+ }
321
+
322
+ &:not(:disabled):not(.disabled):active {
323
+ background: $gray-700;
324
+ }
325
+ }
326
+
327
+ .btn-secondary:hover {
328
+ // steal primary hover state to look more hovered, less disabled
329
+ background-color: $primary-hover;
330
+ border-color: $primary-hover;
331
+ }
332
+
333
+ .btn-secondary.disabled,
334
+ .btn-secondary:disabled {
335
+ // look more disabled
336
+ background-color: $secondary;
337
+ border-color: $secondary;
338
+ opacity: 0.35;
339
+ }
340
+
341
+ .btn-group {
342
+ /* stylelint-disable-next-line no-descending-specificity -- keep btn-group together */
343
+ > .btn-inline:not(:first-child) {
344
+ margin-left: -1px;
345
+ }
346
+
347
+ > .btn-ghost:not(:first-child) {
348
+ margin-left: 0;
349
+ }
350
+
351
+ > .btn:not(:first-child):not(:hover):not(:focus) {
352
+ &.btn-primary {
353
+ border-left: $btn-border-width solid $primary-hover;
354
+ }
355
+ &.btn-secondary {
356
+ border-left: $btn-border-width solid $gray-600;
357
+ }
358
+ &.btn-danger {
359
+ border-left: $btn-border-width solid $danger-hover;
360
+ }
361
+ }
362
+ }
363
+
364
+ /********** TABLES *********/
365
+
366
+ //Tabular numbers apply to tables only
367
+ table,
368
+ .table {
369
+ font-feature-settings: 'tnum';
370
+ }
371
+
372
+ /********** FORMS *********/
373
+
374
+ form label {
375
+ color: $gray-200;
376
+ }
377
+
378
+ form label small {
379
+ color: $gray-400;
380
+ }
381
+
382
+ .form-control.focus {
383
+ border: 1px solid $primary;
384
+ }
385
+ .form-control.btn:focus {
386
+ box-shadow: $input-btn-focus-box-shadow;
387
+ }
388
+
389
+ .form-control:disabled {
390
+ border-color: $black;
391
+ color: darken($gray-400, 5%);
392
+ cursor: not-allowed;
393
+ }
394
+
395
+ .form-control:disabled::placeholder {
396
+ color: darken($gray-400, 5%);
397
+ }
398
+
399
+ .form-control[type='password'] {
400
+ letter-spacing: 0.2rem;
401
+ }
402
+
403
+ //Select, Checkboxes and Radios
404
+ .custom-control-label {
405
+ user-select: none; //checkboxs are label pseudo elements, clicking can toggle text selection otherwise
406
+ }
407
+
408
+ .custom-control-label::before {
409
+ border: 1px solid $gray-400;
410
+ top: 0.24rem;
411
+ }
412
+
413
+ .custom-control-label::after {
414
+ top: 0.24rem;
415
+ }
416
+
417
+ .custom-control-input:active ~ .custom-control-label::before {
418
+ background-color: $primary-dark;
419
+ }
420
+
421
+ .custom-control-input:focus ~ .custom-control-label::before {
422
+ box-shadow: $input-btn-focus-box-shadow;
423
+ border-color: $input-focus-border-color;
424
+ }
425
+
426
+ .custom-control-input:disabled ~ .custom-control-label::before {
427
+ background-color: $gray-500;
428
+ border: 1px solid $black;
429
+ cursor: not-allowed;
430
+ }
431
+
432
+ .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
433
+ border: 1px solid $primary;
434
+ }
435
+
436
+ .custom-checkbox
437
+ .custom-control-input:disabled
438
+ ~ .custom-control-label::before {
439
+ border-color: $black;
440
+ cursor: not-allowed;
441
+ }
442
+
443
+ .custom-select:disabled {
444
+ border-color: $black;
445
+ cursor: not-allowed;
446
+ }
447
+
448
+ input[type='number'] {
449
+ -moz-appearance: textfield;
450
+ appearance: textfield;
451
+ }
452
+
453
+ input[type='number']::-webkit-outer-spin-button,
454
+ input[type='number']::-webkit-inner-spin-button {
455
+ -webkit-appearance: none;
456
+ appearance: none;
457
+ margin: 0;
458
+ }
459
+
460
+ //Dropdowns on text inputs
461
+ /* stylelint-disable no-descending-specificity -- keep with input section */
462
+ .input-group-append .btn {
463
+ background-color: $input-bg;
464
+ padding: $btn-padding-y 0.5rem;
465
+ }
466
+
467
+ .input-group > .input-group-append > .btn {
468
+ min-width: auto;
469
+ border-top-right-radius: $border-radius;
470
+ border-bottom-right-radius: $border-radius;
471
+ }
472
+
473
+ .input-group > .input-group-append.cb-dropdown > .btn {
474
+ color: $gray-400;
475
+ border: 1px solid $gray-400;
476
+ &:hover {
477
+ color: $white;
478
+ }
479
+ &:focus {
480
+ border-color: $input-focus-border-color;
481
+ }
482
+ &:disabled {
483
+ border-color: $black;
484
+ cursor: not-allowed;
485
+ }
486
+ }
487
+ /* stylelint-enable no-descending-specificity */
488
+
489
+ //Hide the default dropdown caret, in favor of implicitly adding our own via svg and fontawesome
490
+ .input-group-append .dropdown-toggle::after {
491
+ display: none;
492
+ }
493
+
494
+ //Add extra
495
+ .search-group.console-menu {
496
+ padding: $spacer-1;
497
+
498
+ .search-icon {
499
+ right: $spacer-3;
500
+ }
501
+ }
502
+
503
+ /********** Modal Styling *********/
504
+ .modal-dialog.theme-bg-light {
505
+ .modal-content {
506
+ color: $black;
507
+ background: $gray-100;
508
+ }
509
+
510
+ .form-control {
511
+ background: $gray-200;
512
+ color: $black;
513
+ }
514
+
515
+ .custom-checkbox {
516
+ .custom-control-label::before {
517
+ background-color: $gray-100;
518
+ }
519
+
520
+ .custom-control-input:checked ~ .custom-control-label::before {
521
+ background-color: $primary;
522
+ }
523
+
524
+ .custom-control-input:active ~ .custom-control-label::before {
525
+ background-color: $primary-light;
526
+ border-color: $primary;
527
+ }
528
+ .custom-control-input:disabled ~ .custom-control-label::before {
529
+ border-color: $black;
530
+ background-color: $gray-300;
531
+ cursor: not-allowed;
532
+ }
533
+ }
534
+
535
+ .custom-select {
536
+ background-color: $gray-200;
537
+ color: $black;
538
+ }
539
+
540
+ .modal-header {
541
+ border-bottom-color: transparent;
542
+ .close {
543
+ outline: 0;
544
+ }
545
+ }
546
+
547
+ .modal-footer {
548
+ border-top-color: transparent;
549
+ }
550
+
551
+ .btn-link {
552
+ color: $gray-700;
553
+ &:hover {
554
+ color: $black;
555
+ }
556
+ }
557
+
558
+ .btn-outline-secondary {
559
+ color: $gray-300;
560
+ background-color: transparent;
561
+ background-image: none;
562
+ border-color: $gray-300;
563
+ &:focus,
564
+ &.focus {
565
+ box-shadow: 0 0 0 0.2rem rgba(91, 90, 92, 20%);
566
+ }
567
+ }
568
+ }
569
+
570
+ .modal-dialog.theme-bg-dark {
571
+ .modal-title {
572
+ color: $interfacewhite;
573
+ }
574
+ .modal-header {
575
+ .close {
576
+ color: $interfacewhite;
577
+ text-shadow: 0 1px 0 $interfaceblack;
578
+ }
579
+ }
580
+ .modal-content {
581
+ background: $interfacegray;
582
+ }
583
+ }
584
+
585
+ /********** Browser Default Overides *********/
586
+ ::selection {
587
+ //blink/webkit
588
+ color: $foreground;
589
+ background: rgba($text-select-color, 0.99);
590
+ opacity: 1;
591
+ }
592
+
593
+ ::-moz-selection {
594
+ //moz
595
+ color: $foreground;
596
+ background: rgba($text-select-color, 0.99);
597
+ opacity: 1;
598
+ }
599
+
600
+ .masked-input::selection {
601
+ //blink/webkit
602
+ background: rgba($primary, 0.7);
603
+ opacity: 1;
604
+ }
605
+
606
+ .masked-input::-moz-selection {
607
+ //moz
608
+ background: rgba($primary, 0.7);
609
+ opacity: 1;
610
+ }
611
+
612
+ // make width same as monaco scrollbar
613
+ ::-webkit-scrollbar {
614
+ width: 14px;
615
+ height: 14px;
616
+ }
617
+
618
+ // style the same as monaco scrollbar
619
+ ::-webkit-scrollbar-thumb {
620
+ background: rgba(var(--scrollbar-color), 0.18);
621
+ border-radius: 0;
622
+ }
623
+
624
+ ::-webkit-scrollbar-track {
625
+ background: transparent;
626
+ border-radius: 0;
627
+ }
628
+
629
+ ::-webkit-scrollbar-corner {
630
+ background: rgba(0, 0, 0, 10%);
631
+ }
632
+
633
+ ::-webkit-scrollbar-track:horizontal {
634
+ border-top: 1px solid rgba(var(--scrollbar-color), 0.15);
635
+ }
636
+
637
+ ::-webkit-scrollbar-track:vertical {
638
+ border-left: 1px solid rgba(var(--scrollbar-color), 0.15);
639
+ }
640
+
641
+ ::-webkit-scrollbar-thumb:hover {
642
+ background: rgba(var(--scrollbar-color), 0.25);
643
+ }
644
+
645
+ ::-webkit-scrollbar-thumb:active {
646
+ background: rgba(var(--scrollbar-color), 0.35);
647
+ }
648
+
649
+ /* stylelint-disable no-descending-specificity */
650
+ :root {
651
+ --scrollbar-color: 255, 255, 255;
652
+ }
653
+ /* stylelint-enable no-descending-specificity */
654
+
655
+ // used in inverted color sections, like light modals
656
+ .theme-bg-light {
657
+ --scrollbar-color: 0, 0, 0;
658
+
659
+ scrollbar-color: rgba($black, 0.5) rgba($black, 0.3); // firefox
660
+ }
661
+
662
+ /********** Monaco Overides *********/
663
+ //Note many monaco style are set inline, making overrides require !important
664
+
665
+ // fixes IDS-7262 where 'hidden' aria-container impacts firefox layout, remove if resolved
666
+ // https://github.com/microsoft/monaco-editor/issues/2168
667
+ .monaco-aria-container {
668
+ display: none;
669
+ }
670
+
671
+ .monaco-editor {
672
+ // Hide the "Loading..." and "No suggestions" message in the suggest widget in monaco to make it feel faster
673
+ .editor-widget.suggest-widget.message {
674
+ display: none;
675
+ }
676
+
677
+ .find-widget {
678
+ &.visible {
679
+ // For some reason the height of this is set improperly in 0.18.1
680
+ min-height: 34px;
681
+ textarea.input {
682
+ min-height: 23px;
683
+ }
684
+ }
685
+
686
+ .button {
687
+ box-sizing: border-box;
688
+ border: 1px solid transparent;
689
+ }
690
+
691
+ :focus:not(.input) {
692
+ outline: 0;
693
+ border: 1px solid $input-focus-border-color !important;
694
+ box-shadow: $input-btn-focus-box-shadow;
695
+ }
696
+
697
+ .monaco-checkbox:focus {
698
+ border: none !important;
699
+ box-shadow: $input-btn-focus-box-shadow,
700
+ 0 0 0 1px $input-focus-border-color; //can't use regular border due to position of checkbox
701
+ }
702
+ }
703
+
704
+ .monaco-inputbox {
705
+ border-radius: $border-radius;
706
+
707
+ &.synthetic-focus {
708
+ border: 1px solid $input-focus-border-color !important;
709
+ outline: 0 !important;
710
+ }
711
+
712
+ .input {
713
+ outline: 0 !important;
714
+ }
715
+ }
716
+ }
717
+
718
+ /********** Browser Hacks *********/
719
+
720
+ //Moz specific hacks
721
+ /* stylelint-disable-next-line function-url-quotes */
722
+ @-moz-document url-prefix() {
723
+ //Selection box in mozilla loses default styling on options list if you apply a background color other then #FFF or inheirt...
724
+ //Hack: turn the background to inheirt, then apply a background gradient that is inputbg color to inputbg color
725
+ //for crossbrowser consistency this gradient is stacked bellow the svg used to get a caret (indicator) looking the same
726
+ .custom-select {
727
+ background-color: inherit !important;
728
+ color: $interfacewhite;
729
+ background-image: escape-svg($custom-select-indicator),
730
+ linear-gradient(0deg, $input-bg, $input-bg);
731
+ background-size: $custom-select-bg-size, cover;
732
+ background-repeat: no-repeat;
733
+ background-position: bottom 50% right $custom-select-padding-x, center;
734
+ //make the dotted duplicate focus line on firefox go away
735
+ &:-moz-focusring {
736
+ color: rgba(0, 0, 0, 0%);
737
+ text-shadow: 0 0 0 $white !important;
738
+ }
739
+ }
740
+
741
+ .console-creator .custom-select {
742
+ background-image: escape-svg($custom-select-indicator),
743
+ linear-gradient(0deg, $gray-700, $gray-700);
744
+ &:-moz-focusring {
745
+ color: rgba(0, 0, 0, 0%);
746
+ text-shadow: 0 0 0 $white !important;
747
+ }
748
+ }
749
+
750
+ .modal-dialog.theme-bg-light .custom-select {
751
+ background-image: escape-svg($custom-select-indicator),
752
+ linear-gradient(0deg, $gray-200, $gray-200);
753
+ &:-moz-focusring {
754
+ color: rgba(0, 0, 0, 0%);
755
+ text-shadow: 0 0 0 $black !important;
756
+ }
757
+ }
758
+
759
+ .custom-select option {
760
+ color: #3a4148;
761
+ }
762
+ }
763
+
764
+ /** Generic Animations **/
765
+ .fade-enter {
766
+ opacity: 0.01;
767
+ }
768
+
769
+ .fade-enter-active {
770
+ opacity: 1;
771
+ transition: opacity $transition ease-out;
772
+ }
773
+
774
+ .fade-exit {
775
+ opacity: 1;
776
+ }
777
+
778
+ .fade-exit-active {
779
+ opacity: 0.01;
780
+ transition: opacity $transition ease-out;
781
+ }
782
+
783
+ .slide-left-enter {
784
+ transform: translate3d(100%, 0, 0);
785
+ }
786
+
787
+ .slide-left-enter-active {
788
+ transform: none;
789
+ transition: transform $transition-mid ease-out;
790
+ }
791
+
792
+ .slide-left-exit {
793
+ transform: none;
794
+ }
795
+
796
+ .slide-left-exit-active {
797
+ transform: translate3d(100%, 0, 0);
798
+ transition: transform $transition-mid ease-out;
799
+ }
800
+
801
+ .slide-right-enter {
802
+ transform: translate3d(-100%, 0, 0);
803
+ }
804
+
805
+ .slide-right-enter-active {
806
+ transform: none;
807
+ transition: transform $transition-mid ease-out;
808
+ }
809
+
810
+ .slide-right-exit {
811
+ transform: none;
812
+ }
813
+
814
+ .slide-right-exit-active {
815
+ transform: translate3d(-100%, 0, 0);
816
+ transition: transform $transition-mid ease-out;
817
+ }
818
+
819
+ /// used by marching ants animation
820
+ @keyframes march {
821
+ from {
822
+ background-position: 0 top, 0 bottom, left 0, right 0;
823
+ }
824
+
825
+ to {
826
+ background-position: $ant-size top, $ant-size bottom, left $ant-size,
827
+ right $ant-size;
828
+ }
829
+ }
830
+
831
+ /** Preload some fonts for grid metric calculations, loaded in App.jsx */
832
+ /* stylelint-disable */
833
+ .fira-sans-regular {
834
+ font-family: 'Fira Sans';
835
+ font-weight: 400;
836
+ }
837
+
838
+ .fira-sans-semibold {
839
+ font-family: 'Fira Sans';
840
+ font-weight: 600;
841
+ }
842
+
843
+ .fira-mono {
844
+ font-family: 'Fira Mono';
845
+ font-weight: 400;
846
+ }
847
+ /* stylelint-enable */