@genesislcap/rapid-design-system 14.471.0 → 14.472.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.
@@ -0,0 +1,983 @@
1
+ /* eslint-disable */
2
+ // =============================================================================
3
+ // AUTO-GENERATED FILE — DO NOT EDIT BY HAND.
4
+ //
5
+ // Source: flexlayout-react@0.8.19 /style/dark.css + flexlayout-react.overrides.css
6
+ // Regenerate: pnpm --filter @genesislcap/rapid-design-system flexlayout:generate
7
+ //
8
+ // The package build regenerates this; CI's "Check working tree" step fails the
9
+ // build if a flexlayout-react bump is not accompanied by a regenerated theme.
10
+ // =============================================================================
11
+ /** The flexlayout-react version this theme was generated against. */
12
+ export const RAPID_FLEXLAYOUT_REACT_VERSION = '0.8.19';
13
+ /** Merged flexlayout-react base theme + Rapid Design System overrides. */
14
+ export const FLEXLAYOUT_REACT_THEME_CSS = `/* ============================================================================
15
+ * flexlayout-react base theme — VENDORED from flexlayout-react@0.8.19 (style/dark.css).
16
+ * ========================================================================== */
17
+ .flexlayout__layout {
18
+ --color-text: #eeeeee;
19
+ --color-background: black;
20
+ --color-base: black;
21
+ --color-1: rgb(17.85, 17.85, 17.85);
22
+ --color-2: rgb(25.5, 25.5, 25.5);
23
+ --color-3: rgb(38.25, 38.25, 38.25);
24
+ --color-4: #333333;
25
+ --color-5: rgb(63.75, 63.75, 63.75);
26
+ --color-6: rgb(76.5, 76.5, 76.5);
27
+ --color-drag1: rgb(207, 232, 255);
28
+ --color-drag2: rgb(183, 209, 181);
29
+ --color-drag1-background: rgba(128, 128, 128, 0.15);
30
+ --color-drag2-background: rgba(128, 128, 128, 0.15);
31
+ --font-size: medium;
32
+ --font-family: Roboto, Arial, sans-serif;
33
+ --color-overflow: gray;
34
+ --color-icon: gray;
35
+ --color-tabset-background: var(--color-1);
36
+ --color-tabset-background-selected: var(--color-1);
37
+ --color-tabset-background-maximized: var(--color-6);
38
+ --color-tabset-divider-line: var(--color-4);
39
+ --color-tabset-header-background: var(--color-1);
40
+ --color-tabset-header: var(--color-text);
41
+ --color-border-tab-content: var(--color-background);
42
+ --color-border-background: var(--color-1);
43
+ --color-border-divider-line: var(--color-4);
44
+ --color-tab-content: var(--color-background);
45
+ --color-tab-selected: var(--color-text);
46
+ --color-tab-selected-background: var(--color-4);
47
+ --color-tab-unselected: gray;
48
+ --color-tab-unselected-background: transparent;
49
+ --color-tab-textbox: var(--color-text);
50
+ --color-tab-textbox-background: var(--color-3);
51
+ --color-border-tab-selected: var(--color-text);
52
+ --color-border-tab-selected-background: var(--color-4);
53
+ --color-border-tab-unselected: gray;
54
+ --color-border-tab-unselected-background: var(--color-2);
55
+ --color-splitter: var(--color-2);
56
+ --color-splitter-hover: var(--color-4);
57
+ --color-splitter-drag: var(--color-5);
58
+ --color-drag-rect-border: var(--color-4);
59
+ --color-drag-rect-background: var(--color-1);
60
+ --color-drag-rect: var(--color-text);
61
+ --color-popup-border: var(--color-6);
62
+ --color-popup-unselected: var(--color-text);
63
+ --color-popup-unselected-background: var(--color-background);
64
+ --color-popup-selected: var(--color-text);
65
+ --color-popup-selected-background: var(--color-4);
66
+ --color-edge-marker: gray;
67
+ --color-edge-icon: #eee;
68
+ --color-mini-scroll-indicator: rgba(128, 128, 128, 0.5);
69
+ --color-mini-scroll-indicator-hovered: rgba(128, 128, 128, 0.8);
70
+ --size-mini-scroll-indicator: 3px;
71
+ --color-toolbar-button-hover: var(--color-4);
72
+ }
73
+
74
+ /*
75
+ base classes
76
+ */
77
+ .flexlayout__layout {
78
+ left: 0;
79
+ top: 0;
80
+ right: 0;
81
+ bottom: 0;
82
+ position: absolute;
83
+ display: flex;
84
+ overflow: hidden;
85
+ background-color: var(--color-background);
86
+ }
87
+ .flexlayout__layout_overlay {
88
+ left: 0;
89
+ top: 0;
90
+ right: 0;
91
+ bottom: 0;
92
+ position: absolute;
93
+ z-index: 1000;
94
+ }
95
+ .flexlayout__layout_tab_stamps {
96
+ position: absolute;
97
+ top: -10000px;
98
+ z-index: 100;
99
+ display: flex;
100
+ flex-direction: column;
101
+ align-items: start;
102
+ }
103
+ .flexlayout__layout_moveables {
104
+ visibility: hidden;
105
+ position: absolute;
106
+ width: 100px;
107
+ height: 100px;
108
+ top: -20000px;
109
+ }
110
+ .flexlayout__layout_main {
111
+ display: flex;
112
+ flex-basis: 0px;
113
+ min-width: 0;
114
+ min-height: 0;
115
+ flex-grow: 1;
116
+ position: relative;
117
+ }
118
+ .flexlayout__layout_border_container {
119
+ display: flex;
120
+ flex-basis: 0px;
121
+ min-width: 0;
122
+ min-height: 0;
123
+ flex-grow: 1;
124
+ }
125
+ .flexlayout__layout_border_container_inner {
126
+ display: flex;
127
+ flex-basis: 0px;
128
+ min-width: 0;
129
+ min-height: 0;
130
+ flex-grow: 1;
131
+ }
132
+ .flexlayout__splitter {
133
+ display: flex;
134
+ align-items: center;
135
+ justify-content: center;
136
+ background-color: var(--color-splitter);
137
+ touch-action: none;
138
+ z-index: 10;
139
+ }
140
+ @media (hover: hover) {
141
+ .flexlayout__splitter:hover {
142
+ background-color: var(--color-splitter-hover);
143
+ transition: background-color ease-in 0.1s;
144
+ transition-delay: 0.05s;
145
+ border-radius: 5px;
146
+ }
147
+ }
148
+ .flexlayout__splitter_drag {
149
+ position: absolute;
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: center;
153
+ z-index: 1000;
154
+ border-radius: 5px;
155
+ background-color: var(--color-splitter-drag);
156
+ }
157
+ .flexlayout__splitter_handle {
158
+ background-color: #ccc;
159
+ border-radius: 3px;
160
+ }
161
+ .flexlayout__splitter_handle_horz {
162
+ width: 3px;
163
+ height: 30px;
164
+ }
165
+ .flexlayout__splitter_handle_vert {
166
+ width: 30px;
167
+ height: 3px;
168
+ }
169
+ .flexlayout__splitter_extra {
170
+ touch-action: none;
171
+ background-color: transparent;
172
+ }
173
+ .flexlayout__outline_rect {
174
+ position: absolute;
175
+ pointer-events: none;
176
+ box-sizing: border-box;
177
+ border: 2px solid var(--color-drag1);
178
+ background: var(--color-drag1-background);
179
+ border-radius: 5px;
180
+ z-index: 1000;
181
+ }
182
+ .flexlayout__outline_rect_edge {
183
+ pointer-events: none;
184
+ border: 2px solid var(--color-drag2);
185
+ background: var(--color-drag2-background);
186
+ border-radius: 5px;
187
+ z-index: 1000;
188
+ box-sizing: border-box;
189
+ }
190
+ .flexlayout__edge_rect {
191
+ position: absolute;
192
+ z-index: 1000;
193
+ background-color: var(--color-edge-marker);
194
+ pointer-events: none;
195
+ display: flex;
196
+ align-items: center;
197
+ justify-content: center;
198
+ }
199
+ .flexlayout__drag_rect {
200
+ color: var(--color-drag-rect);
201
+ background-color: var(--color-drag-rect-background);
202
+ border: 2px solid var(--color-drag-rect-border);
203
+ border-radius: 5px;
204
+ box-sizing: border-box;
205
+ display: flex;
206
+ justify-content: center;
207
+ flex-direction: column;
208
+ overflow: hidden;
209
+ padding: 0.3em 0.8em;
210
+ word-wrap: break-word;
211
+ font-size: var(--font-size);
212
+ font-family: var(--font-family);
213
+ }
214
+ .flexlayout__row {
215
+ display: flex;
216
+ flex-basis: 0px;
217
+ min-width: 0;
218
+ min-height: 0;
219
+ position: relative;
220
+ box-sizing: border-box;
221
+ overflow: hidden;
222
+ }
223
+ .flexlayout__tabset {
224
+ display: flex;
225
+ flex-direction: column;
226
+ position: relative;
227
+ background-color: var(--color-tabset-background);
228
+ box-sizing: border-box;
229
+ font-family: var(--font-family);
230
+ overflow: hidden;
231
+ flex-grow: 1;
232
+ }
233
+ .flexlayout__tabset_container {
234
+ display: flex;
235
+ flex-basis: 0px;
236
+ min-width: 0;
237
+ min-height: 0;
238
+ flex-direction: column;
239
+ overflow: hidden;
240
+ flex-grow: 1;
241
+ }
242
+ .flexlayout__tabset_tab_divider {
243
+ width: 4px;
244
+ }
245
+ .flexlayout__tabset_content {
246
+ display: flex;
247
+ flex-basis: 0px;
248
+ min-width: 0;
249
+ min-height: 0;
250
+ flex-grow: 1;
251
+ box-sizing: border-box;
252
+ position: relative;
253
+ }
254
+ .flexlayout__tabset_leading {
255
+ display: flex;
256
+ }
257
+ .flexlayout__tabset_header {
258
+ display: flex;
259
+ align-items: center;
260
+ padding: 3px 3px 3px 5px;
261
+ box-sizing: border-box;
262
+ border-bottom: 1px solid var(--color-tabset-divider-line);
263
+ color: var(--color-tabset-header);
264
+ background-color: var(--color-tabset-header-background);
265
+ font-size: var(--font-size);
266
+ }
267
+ .flexlayout__tabset_header_content {
268
+ flex-grow: 1;
269
+ }
270
+ .flexlayout__tabset_tabbar_outer {
271
+ box-sizing: border-box;
272
+ background-color: var(--color-tabset-background);
273
+ overflow: hidden;
274
+ display: flex;
275
+ font-size: var(--font-size);
276
+ }
277
+ .flexlayout__tabset_tabbar_outer_top {
278
+ padding: 0px 2px 0px 2px;
279
+ border-bottom: 1px solid var(--color-tabset-divider-line);
280
+ }
281
+ .flexlayout__tabset_tabbar_outer_bottom {
282
+ padding: 0px 2px 0px 2px;
283
+ border-top: 1px solid var(--color-tabset-divider-line);
284
+ }
285
+ .flexlayout__tabset_tabbar_inner {
286
+ position: relative;
287
+ box-sizing: border-box;
288
+ display: flex;
289
+ flex-grow: 1;
290
+ scrollbar-width: none;
291
+ }
292
+ .flexlayout__tabset_tabbar_inner::-webkit-scrollbar {
293
+ display: none;
294
+ }
295
+ .flexlayout__tabset_tabbar_inner_tab_container {
296
+ position: relative;
297
+ display: flex;
298
+ padding-left: 4px;
299
+ padding-right: 4px;
300
+ box-sizing: border-box;
301
+ white-space: nowrap;
302
+ }
303
+ .flexlayout__tabset_tabbar_inner_tab_container_top {
304
+ border-top: 2px solid transparent;
305
+ }
306
+ .flexlayout__tabset_tabbar_inner_tab_container_bottom {
307
+ border-bottom: 2px solid transparent;
308
+ }
309
+ .flexlayout__tabset-selected {
310
+ background-color: var(--color-tabset-background-selected);
311
+ }
312
+ .flexlayout__tabset-maximized {
313
+ background-color: var(--color-tabset-background-maximized);
314
+ }
315
+ .flexlayout__tab_button_stamp {
316
+ display: inline-flex;
317
+ align-items: center;
318
+ gap: 0.3em;
319
+ white-space: nowrap;
320
+ box-sizing: border-box;
321
+ }
322
+ .flexlayout__tab {
323
+ overflow: hidden;
324
+ box-sizing: border-box;
325
+ background-color: var(--color-tab-content);
326
+ color: var(--color-text);
327
+ position: relative;
328
+ }
329
+ .flexlayout__tab_moveable {
330
+ position: relative;
331
+ height: 100%;
332
+ min-width: 1px;
333
+ min-height: 1px;
334
+ overflow: auto;
335
+ box-sizing: border-box;
336
+ }
337
+ .flexlayout__tab_overlay {
338
+ z-index: 20;
339
+ position: absolute;
340
+ top: 0;
341
+ left: 0;
342
+ right: 0;
343
+ bottom: 0;
344
+ background-color: rgba(0, 0, 0, 0.2392156863);
345
+ }
346
+ .flexlayout__tab_button {
347
+ display: flex;
348
+ gap: 0.3em;
349
+ align-items: center;
350
+ box-sizing: border-box;
351
+ padding: 3px 0.5em;
352
+ cursor: pointer;
353
+ }
354
+ .flexlayout__tab_button_stretch {
355
+ background-color: transparent;
356
+ color: var(--color-tab-selected);
357
+ width: 100%;
358
+ padding: 3px 0em;
359
+ text-wrap: nowrap;
360
+ display: flex;
361
+ gap: 0.3em;
362
+ align-items: center;
363
+ box-sizing: border-box;
364
+ cursor: pointer;
365
+ }
366
+ @media (hover: hover) {
367
+ .flexlayout__tab_button_stretch:hover {
368
+ color: var(--color-tab-selected);
369
+ }
370
+ }
371
+ .flexlayout__tab_button--selected {
372
+ background-color: var(--color-tab-selected-background);
373
+ color: var(--color-tab-selected);
374
+ }
375
+ @media (hover: hover) {
376
+ .flexlayout__tab_button:hover {
377
+ color: var(--color-tab-selected);
378
+ }
379
+ }
380
+ .flexlayout__tab_button--unselected {
381
+ background-color: var(--color-tab-unselected-background);
382
+ color: var(--color-tab-unselected);
383
+ }
384
+ .flexlayout__tab_button_leading {
385
+ display: flex;
386
+ }
387
+ .flexlayout__tab_button_content {
388
+ display: flex;
389
+ text-wrap: nowrap;
390
+ }
391
+ .flexlayout__tab_button_textbox {
392
+ border: none;
393
+ font-family: var(--font-family);
394
+ font-size: var(--font-size);
395
+ color: var(--color-tab-textbox);
396
+ background-color: var(--color-tab-textbox-background);
397
+ border: 1px inset var(--color-1);
398
+ border-radius: 3px;
399
+ width: 10em;
400
+ }
401
+ .flexlayout__tab_button_textbox:focus {
402
+ outline: none;
403
+ }
404
+ .flexlayout__tab_button_trailing {
405
+ display: flex;
406
+ visibility: hidden;
407
+ border-radius: 4px;
408
+ }
409
+ .flexlayout__tab_button_trailing:hover {
410
+ background-color: var(--color-toolbar-button-hover);
411
+ }
412
+ @media (hover: hover) {
413
+ .flexlayout__tab_button:hover .flexlayout__tab_button_trailing {
414
+ visibility: visible;
415
+ }
416
+ }
417
+ .flexlayout__tab_button--selected .flexlayout__tab_button_trailing {
418
+ visibility: visible;
419
+ }
420
+ .flexlayout__tab_button_overflow {
421
+ display: flex;
422
+ align-items: center;
423
+ border: none;
424
+ color: var(--color-overflow);
425
+ font-size: inherit;
426
+ background-color: transparent;
427
+ width: 2em;
428
+ overflow: hidden;
429
+ }
430
+ .flexlayout__tab_toolbar {
431
+ display: flex;
432
+ align-items: center;
433
+ gap: 0.3em;
434
+ padding-left: 0.5em;
435
+ padding-right: 0.3em;
436
+ }
437
+ .flexlayout__tab_toolbar_icon {
438
+ border: none;
439
+ outline: none;
440
+ font-size: inherit;
441
+ margin: 0px;
442
+ background-color: transparent;
443
+ padding: 1px;
444
+ }
445
+ .flexlayout__tab_toolbar_button {
446
+ border: none;
447
+ outline: none;
448
+ font-size: inherit;
449
+ margin: 0px;
450
+ background-color: transparent;
451
+ border-radius: 4px;
452
+ padding: 1px;
453
+ }
454
+ @media (hover: hover) {
455
+ .flexlayout__tab_toolbar_button:hover {
456
+ background-color: var(--color-toolbar-button-hover);
457
+ }
458
+ }
459
+ .flexlayout__tab_toolbar_sticky_buttons_container {
460
+ display: flex;
461
+ gap: 0.3em;
462
+ padding-left: 5px;
463
+ align-items: center;
464
+ }
465
+ .flexlayout__border {
466
+ box-sizing: border-box;
467
+ overflow: hidden;
468
+ display: flex;
469
+ font-size: var(--font-size);
470
+ font-family: var(--font-family);
471
+ color: var(--color-border);
472
+ background-color: var(--color-border-background);
473
+ }
474
+ .flexlayout__border_tab_contents {
475
+ box-sizing: border-box;
476
+ overflow: hidden;
477
+ background-color: var(--color-border-tab-content);
478
+ }
479
+ .flexlayout__border_leading {
480
+ display: flex;
481
+ }
482
+ .flexlayout__border_top {
483
+ border-bottom: 1px solid var(--color-border-divider-line);
484
+ align-items: center;
485
+ }
486
+ .flexlayout__border_bottom {
487
+ border-top: 1px solid var(--color-border-divider-line);
488
+ align-items: center;
489
+ }
490
+ .flexlayout__border_left {
491
+ border-right: 1px solid var(--color-border-divider-line);
492
+ align-content: center;
493
+ flex-direction: column;
494
+ }
495
+ .flexlayout__border_right {
496
+ border-left: 1px solid var(--color-border-divider-line);
497
+ align-content: center;
498
+ flex-direction: column;
499
+ }
500
+ .flexlayout__border_inner {
501
+ position: relative;
502
+ box-sizing: border-box;
503
+ align-items: center;
504
+ display: flex;
505
+ flex-grow: 1;
506
+ scrollbar-width: none;
507
+ }
508
+ .flexlayout__border_inner::-webkit-scrollbar {
509
+ display: none;
510
+ }
511
+ .flexlayout__border_inner_tab_container {
512
+ white-space: nowrap;
513
+ display: flex;
514
+ padding-left: 2px;
515
+ padding-right: 2px;
516
+ box-sizing: border-box;
517
+ position: absolute;
518
+ }
519
+ .flexlayout__border_inner_tab_container_right {
520
+ transform-origin: top left;
521
+ transform: rotate(90deg);
522
+ }
523
+ .flexlayout__border_inner_tab_container_left {
524
+ flex-direction: row-reverse;
525
+ transform-origin: top right;
526
+ transform: rotate(-90deg);
527
+ }
528
+ .flexlayout__border_tab_divider {
529
+ width: 4px;
530
+ }
531
+ .flexlayout__border_button {
532
+ display: flex;
533
+ gap: 0.3em;
534
+ align-items: center;
535
+ cursor: pointer;
536
+ padding: 3px 0.5em;
537
+ margin: 2px 0px;
538
+ box-sizing: border-box;
539
+ white-space: nowrap;
540
+ }
541
+ .flexlayout__border_button--selected {
542
+ background-color: var(--color-border-tab-selected-background);
543
+ color: var(--color-border-tab-selected);
544
+ }
545
+ @media (hover: hover) {
546
+ .flexlayout__border_button:hover {
547
+ color: var(--color-border-tab-selected);
548
+ }
549
+ }
550
+ .flexlayout__border_button--unselected {
551
+ background-color: var(--color-border-tab-unselected-background);
552
+ color: var(--color-border-tab-unselected);
553
+ }
554
+ .flexlayout__border_button_leading {
555
+ display: flex;
556
+ }
557
+ .flexlayout__border_button_content {
558
+ display: flex;
559
+ }
560
+ .flexlayout__border_button_trailing {
561
+ display: flex;
562
+ border-radius: 4px;
563
+ visibility: hidden;
564
+ }
565
+ @media (hover: hover) {
566
+ .flexlayout__border_button:hover .flexlayout__border_button_trailing {
567
+ visibility: visible;
568
+ }
569
+ }
570
+ .flexlayout__border_button--selected .flexlayout__border_button_trailing {
571
+ visibility: visible;
572
+ }
573
+ .flexlayout__border_toolbar {
574
+ display: flex;
575
+ gap: 0.3em;
576
+ align-items: center;
577
+ }
578
+ .flexlayout__border_toolbar_left, .flexlayout__border_toolbar_right {
579
+ flex-direction: column;
580
+ padding-top: 0.5em;
581
+ padding-bottom: 0.3em;
582
+ }
583
+ .flexlayout__border_toolbar_top, .flexlayout__border_toolbar_bottom {
584
+ padding-left: 0.5em;
585
+ padding-right: 0.3em;
586
+ }
587
+ .flexlayout__border_toolbar_button {
588
+ border: none;
589
+ outline: none;
590
+ font-size: inherit;
591
+ background-color: transparent;
592
+ border-radius: 4px;
593
+ padding: 1px;
594
+ }
595
+ @media (hover: hover) {
596
+ .flexlayout__border_toolbar_button:hover {
597
+ background-color: var(--color-toolbar-button-hover);
598
+ }
599
+ }
600
+ .flexlayout__border_toolbar_button_overflow {
601
+ display: flex;
602
+ align-items: center;
603
+ border: none;
604
+ color: var(--color-overflow);
605
+ font-size: inherit;
606
+ background-color: transparent;
607
+ width: 1.5em;
608
+ }
609
+ .flexlayout__popup_menu {
610
+ font-size: var(--font-size);
611
+ font-family: var(--font-family);
612
+ }
613
+ .flexlayout__popup_menu_item {
614
+ padding: 2px 0.5em;
615
+ white-space: nowrap;
616
+ cursor: pointer;
617
+ border-radius: 2px;
618
+ }
619
+ .flexlayout__popup_menu_item--selected {
620
+ font-weight: 500;
621
+ background-color: var(--color-tab-selected-background);
622
+ color: var(--color-tab-selected);
623
+ }
624
+ @media (hover: hover) {
625
+ .flexlayout__popup_menu_item:hover {
626
+ background-color: var(--color-6);
627
+ }
628
+ }
629
+ .flexlayout__popup_menu_container {
630
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
631
+ border: 1px solid var(--color-popup-border);
632
+ color: var(--color-popup-unselected);
633
+ background: var(--color-popup-unselected-background);
634
+ border-radius: 3px;
635
+ position: absolute;
636
+ z-index: 1000;
637
+ max-height: 50%;
638
+ min-width: 100px;
639
+ overflow: auto;
640
+ padding: 2px;
641
+ }
642
+ .flexlayout__floating_window _body {
643
+ height: 100%;
644
+ }
645
+ .flexlayout__floating_window_content {
646
+ left: 0;
647
+ top: 0;
648
+ right: 0;
649
+ bottom: 0;
650
+ position: absolute;
651
+ }
652
+ .flexlayout__error_boundary_container {
653
+ left: 0;
654
+ top: 0;
655
+ right: 0;
656
+ bottom: 0;
657
+ position: absolute;
658
+ display: flex;
659
+ justify-content: center;
660
+ }
661
+ .flexlayout__error_boundary_content {
662
+ display: flex;
663
+ align-items: center;
664
+ }
665
+ .flexlayout__border_sizer {
666
+ position: absolute;
667
+ top: -30000px;
668
+ padding-top: 6px;
669
+ padding-bottom: 5px;
670
+ font-size: var(--font-size);
671
+ font-family: var(--font-family);
672
+ }
673
+ .flexlayout__mini_scrollbar {
674
+ position: absolute;
675
+ background-color: var(--color-mini-scroll-indicator);
676
+ border-radius: 5px;
677
+ width: var(--size-mini-scroll-indicator);
678
+ height: var(--size-mini-scroll-indicator);
679
+ visibility: hidden;
680
+ opacity: 0;
681
+ transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
682
+ }
683
+ .flexlayout__mini_scrollbar:hover {
684
+ background-color: var(--color-mini-scroll-indicator-hovered);
685
+ transition: background-color 0.3s ease-in-out;
686
+ }
687
+ .flexlayout__mini_scrollbar_container {
688
+ position: relative;
689
+ display: flex;
690
+ flex-grow: 1;
691
+ overflow: hidden;
692
+ }
693
+ @media (hover: hover) {
694
+ .flexlayout__mini_scrollbar_container:hover .flexlayout__mini_scrollbar {
695
+ opacity: 1;
696
+ visibility: visible;
697
+ }
698
+ }
699
+
700
+ /* ======================== End of Base Classes =========================== */
701
+ /*
702
+ dark theme overrides
703
+ */
704
+ .flexlayout__tabset_header {
705
+ box-shadow: inset 0 0 3px 0 rgba(136, 136, 136, 0.54);
706
+ }
707
+ .flexlayout__tabset-selected {
708
+ background-image: linear-gradient(var(--color-background), var(--color-4));
709
+ }
710
+ .flexlayout__tabset-maximized {
711
+ background-image: linear-gradient(var(--color-6), var(--color-2));
712
+ }
713
+ .flexlayout__tab_top {
714
+ box-shadow: inset -2px 0px 5px rgba(0, 0, 0, 0.1);
715
+ border-top-left-radius: 3px;
716
+ border-top-right-radius: 3px;
717
+ }
718
+ .flexlayout__tab_bottom {
719
+ box-shadow: inset -2px 0px 5px rgba(0, 0, 0, 0.1);
720
+ border-bottom-left-radius: 3px;
721
+ border-bottom-right-radius: 3px;
722
+ }
723
+ .flexlayout__border_button {
724
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
725
+ border-radius: 3px;
726
+ }
727
+
728
+ /* ============================================================================
729
+ * Rapid Design System overrides (flexlayout-react.overrides.css) — applied last.
730
+ * ========================================================================== */
731
+ /*
732
+ * flexlayout-react.overrides.css — Rapid Design System theme overrides for flexlayout-react.
733
+ *
734
+ * THIS IS THE SINGLE SOURCE OF TRUTH for how flexlayout-react looks across every app that
735
+ * consumes Foundation. Do NOT copy these rules into apps — import the compiled theme from
736
+ * \`@genesislcap/rapid-design-system\` instead (see flexlayout-react-theme.ts).
737
+ *
738
+ * Build pipeline: \`scripts/generate-flexlayout-theme.mjs\` concatenates the vendored
739
+ * flexlayout-react base theme (structural CSS + dark palette) FIRST, then this file LAST,
740
+ * into \`flexlayout-react-theme.generated.ts\`. Equal specificity means the later sheet wins,
741
+ * so every rule here overrides the vendored default. Run \`pnpm flexlayout:generate\` after
742
+ * editing (the package build does this automatically).
743
+ *
744
+ * The flexlayout theme is almost entirely driven by CSS custom properties declared on
745
+ * \`.flexlayout__layout\` (see the full list at the top of the vendored base theme). The
746
+ * easiest way to re-skin is to remap those variables to rapid design-system tokens, as
747
+ * below. For anything the variables don't cover, target the \`.flexlayout__*\` classes
748
+ * directly (examples at the bottom).
749
+ *
750
+ * Tokens resolve from the nearest design-system provider ancestor (CSS custom properties
751
+ * inherit across shadow boundaries), so flexlayout-react must render under a
752
+ * \`<rapid-design-system-provider>\` for these to take effect.
753
+ */
754
+
755
+ /* --- Variable remap: flexlayout palette -> rapid design tokens ----------------- */
756
+ .flexlayout__layout {
757
+ --font-family: var(--body-font, Roboto, Arial, sans-serif);
758
+ --font-size: var(--type-ramp-base-font-size);
759
+
760
+ --color-text: var(--neutral-foreground-rest);
761
+ --color-background: var(--fill-color);
762
+
763
+ /* Greyscale ramp used across tabsets, borders and toolbars. */
764
+ --color-1: var(--neutral-layer-1);
765
+ --color-2: var(--neutral-layer-2);
766
+ --color-3: var(--neutral-layer-3);
767
+ --color-4: var(--neutral-layer-4);
768
+
769
+ /* Selected tab + active splitter pick up the accent colour. */
770
+ --color-tab-selected: var(--accent-foreground-rest);
771
+ --color-tab-unselected: var(--neutral-foreground-hint);
772
+ --color-tab-selected-background: var(--accent-fill-rest);
773
+ --color-splitter-drag: var(--accent-fill-rest);
774
+ --color-splitter-hover: var(--accent-fill-hover);
775
+ }
776
+
777
+ .flexlayout__tabset-selected,
778
+ .flexlayout__tabset-maximized {
779
+ background-image: none !important;
780
+ }
781
+
782
+ .flexlayout__tab_button_content {
783
+ font-weight: 400;
784
+ font-size: var(--type-ramp-minus-1-font-size);
785
+ }
786
+
787
+ .flexlayout__tab_button--unselected:hover {
788
+ color: var(--neutral-foreground-rest, #e0e0e0) !important;
789
+ background-color: var(--neutral-fill-stealth-active, rgba(255, 255, 255, 0.06)) !important;
790
+ }
791
+
792
+ .flexlayout__tab_top,
793
+ .flexlayout__tab_bottom {
794
+ border-radius: 0 !important;
795
+ box-shadow: none !important;
796
+ }
797
+
798
+ .flexlayout__tab_toolbar_button-max,
799
+ .flexlayout__tab_toolbar_button-min {
800
+ order: 100;
801
+ }
802
+
803
+ .flexlayout__tab_button_textbox {
804
+ box-sizing: border-box;
805
+ width: auto;
806
+ min-width: 8em;
807
+ max-width: 100%;
808
+ margin: 0;
809
+ padding: 0 calc(var(--design-unit, 4) * 1px);
810
+ font-family: var(--body-font);
811
+ font-size: var(--type-ramp-base-font-size, var(--font-size));
812
+ font-weight: 500;
813
+ line-height: var(--type-ramp-base-line-height, normal);
814
+ color: var(--neutral-foreground-rest);
815
+ background-color: var(--neutral-fill-input-rest);
816
+ border: 1px solid var(--neutral-stroke-rest);
817
+ border-radius: calc(var(--control-corner-radius, 2) * 1px);
818
+
819
+ &:focus {
820
+ outline: none;
821
+ color: var(--neutral-foreground-rest);
822
+ background-color: var(--neutral-fill-input-focus, var(--neutral-fill-input-rest));
823
+ border-color: var(--accent-fill-rest);
824
+ }
825
+ }
826
+
827
+ .flexlayout__tabset {
828
+ border: var(--card-border, 1px solid var(--neutral-stroke-rest));
829
+ border-radius: var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));
830
+ background-color: var(--rapid-layout-item-background, var(--neutral-layer-3));
831
+ }
832
+
833
+ .flexlayout__tabset_content {
834
+ margin-top: -1px;
835
+ }
836
+
837
+ .flexlayout__tabset_tabbar_outer_top {
838
+ border: 0;
839
+ height: var(
840
+ --foundation-tab-height,
841
+ calc((((var(--base-height-multiplier) + var(--density)) * var(--design-unit)) - 4) * 1px)
842
+ );
843
+ background: none;
844
+ z-index: 1;
845
+ }
846
+
847
+ .flexlayout__tabset_container {
848
+ border-radius: var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));
849
+ }
850
+
851
+ .flexlayout__tabset_tabbar_inner_tab_container_top {
852
+ border-top: 0;
853
+ }
854
+
855
+ .flexlayout__tab_button {
856
+ border-right-style: solid;
857
+ border-right-width: var(--tab-rest-border-width, 1px);
858
+ border-right-color: var(--tab-rest-border-color, var(--neutral-stroke-rest));
859
+ padding: 0 calc((12 + var(--design-unit) * 2 * var(--density)) * 1px);
860
+ gap: 8px;
861
+
862
+ &:first-child {
863
+ border-left-style: solid;
864
+ border-left-width: var(--tab-rest-border-width, 1px);
865
+ border-left-color: var(--tab-rest-border-color, var(--neutral-stroke-rest));
866
+ }
867
+ }
868
+
869
+ .flexlayout__tab_button--selected {
870
+ position: relative;
871
+ color: var(--accent-foreground-rest) !important;
872
+ background: var(--tab-active-background-color, var(--neutral-layer-card-container));
873
+ border-style: solid;
874
+ border-width: var(--tab-active-border-width, 0 1px 0 0);
875
+ border-color: var(--tab-active-border-color, var(--neutral-stroke-rest));
876
+ .flexlayout__tab_button_content {
877
+ font-weight: 700;
878
+ }
879
+ }
880
+
881
+ .flexlayout__tab {
882
+ border-radius: calc(var(--control-corner-radius) * 1.5px)
883
+ calc(var(--control-corner-radius) * 1.5px)
884
+ var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px))
885
+ var(--card-corner-radius, calc(var(--control-corner-radius) * 1.5px));
886
+ border-top: var(--card-border, 1px solid var(--neutral-stroke-rest));
887
+ background: var(--neutral-layer-card-container);
888
+
889
+ rapid-card {
890
+ display: flex;
891
+ flex-direction: column;
892
+ border: 0;
893
+ border-radius: 0 0 var(--card-corner-radius) var(--card-corner-radius);
894
+ grid-register {
895
+ display: block;
896
+ height: 100%;
897
+ }
898
+ }
899
+ }
900
+
901
+ .flexlayout__tabset_tab_divider {
902
+ width: 0;
903
+ }
904
+
905
+ .flexlayout__tab_button_trailing {
906
+ rapid-icon {
907
+ color: var(--accent-foreground-rest);
908
+
909
+ &:hover {
910
+ color: var(--accent-foreground-hover);
911
+ }
912
+ }
913
+ }
914
+
915
+ .flexlayout__popup_menu_container {
916
+ box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
917
+ padding: 0;
918
+ border: 1px solid var(--neutral-stroke-rest);
919
+ }
920
+
921
+ .flexlayout__popup_menu_item {
922
+ padding: calc((8 + var(--design-unit) * 2 * var(--density)) * 1px);
923
+ border-bottom: 1px solid var(--neutral-stroke-divider-rest);
924
+
925
+ &:hover {
926
+ background-color: var(--neutral-fill-rest);
927
+ color: contrast-color(var(--neutral-fill-rest));
928
+ }
929
+
930
+ &:last-child {
931
+ border-bottom: 0;
932
+ }
933
+ }
934
+
935
+ .flexlayout__popup_menu_item--selected {
936
+ background-color: var(--neutral-fill-rest);
937
+ color: contrast-color(var(--neutral-fill-rest));
938
+ }
939
+
940
+ .flexlayout__tab_toolbar_button {
941
+ padding: 0;
942
+ height: unset;
943
+ width: unset;
944
+ display: flex;
945
+ align-items: center;
946
+ justify-content: center;
947
+ cursor: pointer;
948
+ > svg {
949
+ height: 16px !important;
950
+ width: 16px !important;
951
+ padding: 4px;
952
+ fill: var(--neutral-foreground-hint);
953
+ }
954
+ }
955
+
956
+ .flexlayout__splitter_vert {
957
+ background-color: var(--neutral-foreground-rest);
958
+ mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDI0IEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNDE2IDI1NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMTYwIDBhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNNjQgMjg4YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHoiLz48L3N2Zz4=);
959
+ mask-repeat: no-repeat;
960
+ mask-position: center;
961
+ mask-size: 12px;
962
+ &:hover {
963
+ mask-image: none;
964
+ }
965
+ }
966
+
967
+ .flexlayout__splitter_horz {
968
+ background-color: var(--neutral-foreground-rest);
969
+ mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjggNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDI0IEZvbnRpY29ucywgSW5jLiAtLT48cGF0aCBkPSJNNjQgMzg0YTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptMC0xNjBhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek05NiA5NkEzMiAzMiAwIDEgMCAzMiA5NmEzMiAzMiAwIDEgMCA2NCAweiIvPjwvc3ZnPg==);
970
+ mask-repeat: no-repeat;
971
+ mask-position: center;
972
+ mask-size: 4px;
973
+ &:hover {
974
+ mask-image: none;
975
+ }
976
+ }
977
+
978
+ .flexlayout__layout {
979
+ top: 8px;
980
+ bottom: 8px;
981
+ left: 8px;
982
+ right: 8px;
983
+ }`;