@vuu-ui/vuu-filters 0.8.17-debug → 0.8.18-debug

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 (64) hide show
  1. package/cjs/index.js +6445 -5763
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +6670 -6021
  4. package/esm/index.js.map +4 -4
  5. package/index.css +1160 -1067
  6. package/index.css.map +3 -3
  7. package/package.json +11 -12
  8. package/types/{vuu-filters/src/filter-bar → filter-bar}/FilterBar.d.ts +1 -2
  9. package/types/{vuu-filters/src/filter-bar → filter-bar}/useFilters.d.ts +1 -1
  10. package/types/{vuu-filters/src/filter-clause → filter-clause}/FilterClauseEditor.d.ts +1 -1
  11. package/types/{vuu-filters/src/filter-clause → filter-clause}/useFilterClauseEditor.d.ts +3 -3
  12. package/types/vuu-data/src/array-data-source/aggregate-utils.d.ts +0 -8
  13. package/types/vuu-data/src/array-data-source/array-data-source.d.ts +0 -84
  14. package/types/vuu-data/src/array-data-source/array-data-utils.d.ts +0 -5
  15. package/types/vuu-data/src/array-data-source/group-utils.d.ts +0 -10
  16. package/types/vuu-data/src/array-data-source/sort-utils.d.ts +0 -4
  17. package/types/vuu-data/src/authenticate.d.ts +0 -1
  18. package/types/vuu-data/src/connection-manager.d.ts +0 -50
  19. package/types/vuu-data/src/connectionTypes.d.ts +0 -5
  20. package/types/vuu-data/src/constants.d.ts +0 -41
  21. package/types/vuu-data/src/data-source.d.ts +0 -237
  22. package/types/vuu-data/src/index.d.ts +0 -10
  23. package/types/vuu-data/src/inlined-worker.d.ts +0 -1
  24. package/types/vuu-data/src/json-data-source.d.ts +0 -56
  25. package/types/vuu-data/src/message-utils.d.ts +0 -28
  26. package/types/vuu-data/src/remote-data-source.d.ts +0 -65
  27. package/types/vuu-data/src/server-proxy/messages.d.ts +0 -38
  28. package/types/vuu-data/src/vuuUIMessageTypes.d.ts +0 -228
  29. package/types/vuu-data/src/websocket-connection.d.ts +0 -25
  30. /package/types/{vuu-filters/src/column-filter → column-filter}/utils.d.ts +0 -0
  31. /package/types/{vuu-filters/src/filter-bar → filter-bar}/FilterBarMenu.d.ts +0 -0
  32. /package/types/{vuu-filters/src/filter-bar → filter-bar}/index.d.ts +0 -0
  33. /package/types/{vuu-filters/src/filter-bar → filter-bar}/useFilterBar.d.ts +0 -0
  34. /package/types/{vuu-filters/src/filter-bar → filter-bar}/useFilterBarMenu.d.ts +0 -0
  35. /package/types/{vuu-filters/src/filter-builder-menu → filter-builder-menu}/FilterBuilderMenu.d.ts +0 -0
  36. /package/types/{vuu-filters/src/filter-builder-menu → filter-builder-menu}/index.d.ts +0 -0
  37. /package/types/{vuu-filters/src/filter-clause → filter-clause}/ExpandoCombobox.d.ts +0 -0
  38. /package/types/{vuu-filters/src/filter-clause → filter-clause}/FilterMenu.d.ts +0 -0
  39. /package/types/{vuu-filters/src/filter-clause → filter-clause}/FilterMenuOptions.d.ts +0 -0
  40. /package/types/{vuu-filters/src/filter-clause → filter-clause}/NumericInput.d.ts +0 -0
  41. /package/types/{vuu-filters/src/filter-clause → filter-clause}/TextInput.d.ts +0 -0
  42. /package/types/{vuu-filters/src/filter-clause → filter-clause}/filterClauseTypes.d.ts +0 -0
  43. /package/types/{vuu-filters/src/filter-clause → filter-clause}/index.d.ts +0 -0
  44. /package/types/{vuu-filters/src/filter-clause → filter-clause}/operator-utils.d.ts +0 -0
  45. /package/types/{vuu-filters/src/filter-input → filter-input}/FilterInput.d.ts +0 -0
  46. /package/types/{vuu-filters/src/filter-input → filter-input}/FilterLanguage.d.ts +0 -0
  47. /package/types/{vuu-filters/src/filter-input → filter-input}/filterInfo.d.ts +0 -0
  48. /package/types/{vuu-filters/src/filter-input → filter-input}/highlighting.d.ts +0 -0
  49. /package/types/{vuu-filters/src/filter-input → filter-input}/index.d.ts +0 -0
  50. /package/types/{vuu-filters/src/filter-input → filter-input}/theme.d.ts +0 -0
  51. /package/types/{vuu-filters/src/filter-input → filter-input}/useCodeMirrorEditor.d.ts +0 -0
  52. /package/types/{vuu-filters/src/filter-input → filter-input}/useFilterAutoComplete.d.ts +0 -0
  53. /package/types/{vuu-filters/src/filter-input → filter-input}/useFilterSuggestionProvider.d.ts +0 -0
  54. /package/types/{vuu-filters/src/filter-pill → filter-pill}/FilterPill.d.ts +0 -0
  55. /package/types/{vuu-filters/src/filter-pill → filter-pill}/filterAsReactNode.d.ts +0 -0
  56. /package/types/{vuu-filters/src/filter-pill → filter-pill}/index.d.ts +0 -0
  57. /package/types/{vuu-filters/src/filter-pill-menu → filter-pill-menu}/FilterPillMenu.d.ts +0 -0
  58. /package/types/{vuu-filters/src/filter-pill-menu → filter-pill-menu}/FilterPillMenuOptions.d.ts +0 -0
  59. /package/types/{vuu-filters/src/filter-pill-menu → filter-pill-menu}/index.d.ts +0 -0
  60. /package/types/{vuu-filters/src/filter-utils.d.ts → filter-utils.d.ts} +0 -0
  61. /package/types/{vuu-filters/src/index.d.ts → index.d.ts} +0 -0
  62. /package/types/{vuu-filters/src/local-config.d.ts → local-config.d.ts} +0 -0
  63. /package/types/{vuu-filters/src/use-filter-config.d.ts → use-filter-config.d.ts} +0 -0
  64. /package/types/{vuu-filters/src/use-rest-config.d.ts → use-rest-config.d.ts} +0 -0
package/index.css CHANGED
@@ -280,6 +280,68 @@ path.drop-target.centre {
280
280
  width: 100%;
281
281
  }
282
282
 
283
+ /* ../vuu-layout/src/layout-header/Header.css */
284
+ .vuuHeader {
285
+ --saltButton-height: 24px;
286
+ --saltButton-width: 24px;
287
+ }
288
+ .salt-density-high .vuuHeader {
289
+ --saltToolbarField-marginTop: 0;
290
+ }
291
+
292
+ /* ../vuu-layout/src/layout-view/View.css */
293
+ .vuuView {
294
+ border-color: var(--vuuView-borderColor, var(--salt-container-primary-borderColor));
295
+ border-width: var(--vuuView-borderWidth, 1px);
296
+ border-style: var(--vuuView-borderStyle, none);
297
+ display: flex;
298
+ flex-direction: column;
299
+ margin: var(--vuuView-margin, 0px);
300
+ min-height: 50px;
301
+ min-width: 50px;
302
+ outline: none;
303
+ overflow: hidden;
304
+ position: relative;
305
+ }
306
+ .vuuView.focus-visible:after {
307
+ content: "";
308
+ position: absolute;
309
+ top: 0;
310
+ left: 0;
311
+ right: 0;
312
+ bottom: 0;
313
+ border: dotted cornflowerblue 2px;
314
+ }
315
+ .vuuView.dragging {
316
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
317
+ }
318
+ .vuuView-main {
319
+ display: flex;
320
+ flex-direction: var(--vuuView-flexDirection, column);
321
+ flex-wrap: var(--vuuView-flex-wrap, nowrap);
322
+ flex: 1;
323
+ justify-content: var(--vuuView-justify, flex-start);
324
+ overflow: hidden;
325
+ position: relative;
326
+ }
327
+ .vuuView-main > * {
328
+ flex-basis: auto;
329
+ flex-grow: var(--vuuView-flex-grow, 1);
330
+ flex-shrink: var(--vuuView-flex-shrink, 1);
331
+ }
332
+ .vuuView-collapsed .vuuView-main {
333
+ display: none;
334
+ }
335
+ .vuuView-collapsed + .Splitter {
336
+ display: none;
337
+ }
338
+ .vuuView-collapsed .Toolbar-vertical {
339
+ border-right: solid 1px var(--grey40);
340
+ }
341
+ .vuuView-collapsed .Toolbar-vertical .toolbar-title {
342
+ display: none;
343
+ }
344
+
283
345
  /* ../vuu-layout/src/placeholder/LayoutStartPanel.css */
284
346
  .vuuLayoutStartPanel {
285
347
  align-items: center;
@@ -391,18 +453,74 @@ path.drop-target.centre {
391
453
  .vuuSplitter:not(.vuuSplitter-column):before {
392
454
  width: 1px;
393
455
  height: 10px;
394
- background: linear-gradient(to bottom, var(--grey900) 10%, transparent 10%, transparent 30%, var(--grey900) 30%, var(--grey900) 40%, transparent 40%, transparent 60%, var(--grey900) 60%, var(--grey900) 70%, transparent 70%, transparent 90%, var(--grey900) 90%);
456
+ background:
457
+ linear-gradient(
458
+ to bottom,
459
+ var(--grey900) 10%,
460
+ transparent 10%,
461
+ transparent 30%,
462
+ var(--grey900) 30%,
463
+ var(--grey900) 40%,
464
+ transparent 40%,
465
+ transparent 60%,
466
+ var(--grey900) 60%,
467
+ var(--grey900) 70%,
468
+ transparent 70%,
469
+ transparent 90%,
470
+ var(--grey900) 90%);
395
471
  }
396
472
  .vuuSplitter-active.vuuSplitter-column:before {
397
- background: linear-gradient(to right, #ffffff 10%, transparent 10%, transparent 30%, #ffffff 30%, #ffffff 40%, transparent 40%, transparent 60%, #ffffff 60%, #ffffff 70%, transparent 70%, transparent 90%, #ffffff 90%);
473
+ background:
474
+ linear-gradient(
475
+ to right,
476
+ #ffffff 10%,
477
+ transparent 10%,
478
+ transparent 30%,
479
+ #ffffff 30%,
480
+ #ffffff 40%,
481
+ transparent 40%,
482
+ transparent 60%,
483
+ #ffffff 60%,
484
+ #ffffff 70%,
485
+ transparent 70%,
486
+ transparent 90%,
487
+ #ffffff 90%);
398
488
  }
399
489
  .vuuSplitter-active:not(.vuuSplitter-column):before {
400
- background: linear-gradient(to bottom, #ffffff 10%, transparent 10%, transparent 30%, #ffffff 30%, #ffffff 40%, transparent 40%, transparent 60%, #ffffff 60%, #ffffff 70%, transparent 70%, transparent 90%, #ffffff 90%);
490
+ background:
491
+ linear-gradient(
492
+ to bottom,
493
+ #ffffff 10%,
494
+ transparent 10%,
495
+ transparent 30%,
496
+ #ffffff 30%,
497
+ #ffffff 40%,
498
+ transparent 40%,
499
+ transparent 60%,
500
+ #ffffff 60%,
501
+ #ffffff 70%,
502
+ transparent 70%,
503
+ transparent 90%,
504
+ #ffffff 90%);
401
505
  }
402
506
  .vuuSplitter-column:before {
403
507
  width: 10px;
404
508
  height: 1px;
405
- background: linear-gradient(to right, var(--grey900) 10%, transparent 10%, transparent 30%, var(--grey900) 30%, var(--grey900) 40%, transparent 40%, transparent 60%, var(--grey900) 60%, var(--grey900) 70%, transparent 70%, transparent 90%, var(--grey900) 90%);
509
+ background:
510
+ linear-gradient(
511
+ to right,
512
+ var(--grey900) 10%,
513
+ transparent 10%,
514
+ transparent 30%,
515
+ var(--grey900) 30%,
516
+ var(--grey900) 40%,
517
+ transparent 40%,
518
+ transparent 60%,
519
+ var(--grey900) 60%,
520
+ var(--grey900) 70%,
521
+ transparent 70%,
522
+ transparent 90%,
523
+ var(--grey900) 90%);
406
524
  }
407
525
 
408
526
  /* ../vuu-layout/src/flexbox/Flexbox.css */
@@ -552,1310 +670,1285 @@ path.drop-target.centre {
552
670
  --grid-available-width: calc(100% - var(--grid-total-gutter-width));
553
671
  --grid-percent-width: calc(1 / var(--grid-col-count, var(--parent-col-count)));
554
672
  --column-width: calc(var(--grid-available-width) * var(--grid-percent-width));
555
- background: repeating-linear-gradient(to right, var(--hw-fluid-grid-col-bg) 0, var(--hw-fluid-grid-col-bg) var(--column-width), white var(--column-width), white calc(var(--column-width) + var(--gutter-width)));
673
+ background:
674
+ repeating-linear-gradient(
675
+ to right,
676
+ var(--hw-fluid-grid-col-bg) 0,
677
+ var(--hw-fluid-grid-col-bg) var(--column-width),
678
+ white var(--column-width),
679
+ white calc(var(--column-width) + var(--gutter-width)));
556
680
  }
557
681
 
558
- /* ../vuu-layout/src/layout-view/View.css */
559
- .vuuView {
560
- border-color: var(--vuuView-borderColor, var(--salt-container-primary-borderColor));
561
- border-width: var(--vuuView-borderWidth, 1px);
562
- border-style: var(--vuuView-borderStyle, none);
682
+ /* ../vuu-layout/src/measured-container/MeasuredContainer.css */
683
+ .vuuMeasuredContainer {
684
+ flex: var(--vuuMeasuredContainer-flex, none);
685
+ height: var(--vuuMeasuredContainer-height, var(--measured-css-height));
686
+ min-height: 0;
687
+ width: var(--measured-css-width);
688
+ }
689
+
690
+ /* ../vuu-layout/src/overflow-container/OverflowContainer.css */
691
+ .vuuOverflowContainer {
692
+ --overflow-borderColor: var(--vuuOverflowContainer-borderColor, none);
693
+ --overflow-borderStyle: var(--vuuOverflowContainer-borderStyle, none);
694
+ --overflow-borderWidth: var(--vuuOverflowContainer-borderWidth, 0px);
695
+ --overflow-border-topWidth: var(--vuuOverflowContainer-borderTopWidth, var(--overflow-borderWidth));
696
+ --overflow-border-rightWidth: var(--vuuOverflowContainer-borderRightWidth, var(--overflow-borderWidth));
697
+ --overflow-border-bottomWidth: var(--vuuOverflowContainer-borderBottomWidth, var(--overflow-borderWidth));
698
+ --overflow-border-leftWidth: var(--vuuOverflowContainer-borderLeftWidth, var(--overflow-borderWidth));
699
+ --overflow-item-gap: var(--vuuOverflowContainer-gap,2px);
700
+ --overflow-direction: row;
701
+ --overflow-height: var(--overflow-item-height);
702
+ --overflow-top:top:0;
703
+ --overflow-width: 0px;
704
+ background-color: var(--vuuOverflowContainer-background);
705
+ border-color: var(--overflow-borderColor);
706
+ border-style: var(--overflow-borderStyle);
707
+ border-top-width: var(--overflow-border-topWidth);
708
+ border-right-width: var(--overflow-border-rightWidth);
709
+ border-bottom-width: var(--overflow-border-bottomWidth);
710
+ border-left-width: var(--overflow-border-leftWidth);
711
+ height: var(--overflow-container-heightWidth);
712
+ }
713
+ .vuuOverflowContainer-horizontal {
714
+ --item-align: center;
715
+ --item-margin: 0 var(--overflow-item-gap) 0 var(--overflow-item-gap);
716
+ }
717
+ .vuuOverflowContainer-vertical {
718
+ --item-align: stretch;
719
+ --overflow-item-height: auto;
720
+ --item-margin: var(--overflow-item-gap) 0 var(--overflow-item-gap) 0;
721
+ --overflow-direction: column;
722
+ --overflow-height: 0;
723
+ --overflow-left: 0;
724
+ --overflow-top: 100%;
725
+ --overflow-width: auto;
726
+ }
727
+ .vuuOverflowContainer-wrapContainer {
728
+ --border: calc(var(--overflow-border-topWidth) + var(--overflow-border-bottomWidth));
729
+ --overflow-item-height: calc(var(--overflow-container-height) - var(--border));
730
+ align-items: var(--item-align);
563
731
  display: flex;
564
- flex-direction: column;
565
- margin: var(--vuuView-margin, 0px);
566
- min-height: 50px;
567
- min-width: 50px;
568
- outline: none;
732
+ flex-direction: var(--overflow-direction);
733
+ flex-wrap: wrap;
734
+ height: var(--overflow-item-height);
735
+ justify-content: var(--vuuOverflowContainer-justifyContent, flex-start);
736
+ min-width: var(--vuuOverflowContainer-minWidth, 44px);
569
737
  overflow: hidden;
570
738
  position: relative;
739
+ width: 100%;
571
740
  }
572
- .vuuView.focus-visible:after {
573
- content: "";
574
- position: absolute;
575
- top: 0;
576
- left: 0;
577
- right: 0;
578
- bottom: 0;
579
- border: dotted cornflowerblue 2px;
741
+ .vuuOverflowContainer-wrapContainer-overflowed {
742
+ --overflow-order: 2;
743
+ --overflow-left: auto;
744
+ --overflow-position: relative;
745
+ --overflow-width: auto;
580
746
  }
581
- .vuuView.dragging {
582
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
747
+ .vuuOverflowContainer-vertical.vuuOverflowContainer-wrapContainer-overflowed {
748
+ --overflow-height: auto;
583
749
  }
584
- .vuuView-main {
750
+ .vuuOverflowContainer-item {
751
+ align-items: inherit;
585
752
  display: flex;
586
- flex-direction: var(--vuuView-flexDirection, column);
587
- flex-wrap: var(--vuuView-flex-wrap, nowrap);
588
- flex: 1;
589
- justify-content: var(--vuuView-justify, flex-start);
590
- overflow: hidden;
753
+ order: 1;
591
754
  position: relative;
755
+ height: var(--overflow-item-height);
756
+ margin: var(--item-margin);
592
757
  }
593
- .vuuView-main > * {
594
- flex-basis: auto;
595
- flex-grow: var(--vuuView-flex-grow, 1);
596
- flex-shrink: var(--vuuView-flex-shrink, 1);
758
+ .vuuOverflowContainer-item[data-align=right] {
759
+ margin-left: auto;
597
760
  }
598
- .vuuView-collapsed .vuuView-main {
599
- display: none;
761
+ .vuuOverflowContainer-item.wrapped {
762
+ --overflow-item-bg: #ccc;
763
+ order: 3;
600
764
  }
601
- .vuuView-collapsed + .Splitter {
765
+ .vuuOverflowContainer-item.vuuDraggable-dragAway,
766
+ .vuuOverflowContainer-item:has(.vuuDraggable-dragAway) {
602
767
  display: none;
603
768
  }
604
- .vuuView-collapsed .Toolbar-vertical {
605
- border-right: solid 1px var(--grey40);
606
- }
607
- .vuuView-collapsed .Toolbar-vertical .toolbar-title {
608
- display: none;
769
+ .vuuOverflowContainer-item.vuuDropTarget-settling {
770
+ visibility: hidden;
609
771
  }
610
-
611
- /* ../vuu-layout/src/layout-header/Header.css */
612
- .vuuHeader {
613
- --saltButton-height: 24px;
614
- --saltButton-width: 24px;
772
+ .vuuOverflowContainer-OverflowIndicator {
773
+ align-items: center;
774
+ background-color: transparent;
775
+ display: flex;
776
+ height: var(--overflow-height);
777
+ order: var(--overflow-order, 99);
778
+ overflow: hidden;
779
+ left: var(--overflow-left, 100%);
780
+ top: var(--overflow-top, 100%);
781
+ position: var(--overflow-position, absolute);
782
+ width: var(--overflow-width);
615
783
  }
616
- .salt-density-high .vuuHeader {
617
- --saltToolbarField-marginTop: 0;
784
+ .vuuDraggable-vuuOverflowContainer {
785
+ align-items: center;
786
+ display: flex;
787
+ height: 44px;
618
788
  }
619
789
 
620
- /* ../vuu-shell/src/login/LoginPanel.css */
621
- .vuuLoginPanel {
622
- --saltInput-paddingLeft: 8px;
623
- --login-width: 856px;
624
- --login-height: 550px;
625
- --hwTextInput-border: solid 1px #ccc;
626
- --hwTextInput-height: 28px;
627
- --hwTextInput-padding: 0 12px;
628
- --hwTextInput-width: 100%;
629
- --login-row-height: 60px;
630
- border-radius: 16px;
631
- box-shadow: 0px 24px 44px 0px rgba(0, 0, 0, 0.25);
790
+ /* ../vuu-layout/src/palette/Palette.css */
791
+ .vuuPalette {
792
+ --vuuList-borderStyle: none;
793
+ }
794
+ .vuuPalette-horizontal {
795
+ align-items: center;
632
796
  display: flex;
633
- height: var(--login-height);
634
- margin: 0 auto;
635
- width: var(--login-width);
636
797
  }
637
- .vuuLoginPanel .saltInput-primary {
638
- --saltInput-height: 36px;
798
+ .vuuPaletteItem {
799
+ --vuu-icon-color: var(--salt-text-primary-foreground);
800
+ --vuu-icon-left: 0;
801
+ --vuu-icon-size: 16px;
802
+ --vuu-icon-top: 11px;
803
+ --list-item-text-padding: 0 0 0 calc(var(--salt-size-unit) * 3);
804
+ border-bottom: solid 1px var(--salt-separable-tertiary-borderColor);
805
+ padding-left: 12px;
806
+ font-size: 12px;
807
+ font-weight: 600;
639
808
  }
640
- .vuuLoginPanel-title {
641
- justify-content: center;
642
- font-size: 28px;
643
- font-weight: 400;
644
- display: flex;
809
+ .vuuSimpleDraggableWrapper > .vuuPaletteItem {
810
+ --vuu-icon-color: var(--salt-selectable-foreground);
645
811
  }
646
- .vuuLoginPanel-branding {
647
- align-items: center;
648
- background-color: var(--vuu-color-purple-50);
649
- border-radius: 16px 0 0 16px;
812
+ .salt-theme .vuuPaletteItem {
813
+ font-size: 11px;
814
+ font-weight: normal;
815
+ }
816
+
817
+ /* ../vuu-layout/src/stack/Stack.css */
818
+ .vuuTabs {
650
819
  display: flex;
651
- flex: 0 0 368px;
820
+ box-sizing: border-box;
652
821
  flex-direction: column;
653
- gap: 40px;
654
- justify-content: center;
655
- padding: 40px 100px;
656
822
  }
657
- .vuuLoginPanel-form {
658
- background-color: white;
659
- border-radius: 0 16px 16px 0px;
823
+ .vuuTabs-horizontal {
824
+ --vuu-tabs-border-style: none solid none none;
825
+ flex-direction: row;
826
+ }
827
+ .vuuTabs .Toolbar:before {
828
+ left: 0;
829
+ width: 100%;
830
+ bottom: 0;
831
+ height: 1px;
832
+ content: "";
833
+ position: absolute;
834
+ background: var(--grey60);
835
+ }
836
+ .vuuTabs-tabPanel {
660
837
  display: flex;
661
- flex: 1 1 auto;
838
+ flex: 1;
662
839
  flex-direction: column;
663
- gap: 32px;
664
- justify-content: center;
665
- padding: 0 40px;
666
840
  }
667
- .vuuLoginPanel-password {
668
- --vuu-icon-size: 16px;
669
- }
670
- .vuuLoginPanel-appName {
671
- color: white;
672
- font-size: 18px;
673
- font-weight: 700;
674
- text-transform: uppercase;
841
+ .vuuTabs-tabPanel > * {
842
+ flex: 1 1 auto;
675
843
  }
676
- .vuuLoginPanel-login {
677
- --saltButton-height: 36px;
678
- --saltButton-borderRadius: 6px;
679
- width: 100%;
844
+ .vuuTabHeader {
845
+ --saltTabs-activationIndicator-background: transparent;
846
+ --saltToolbarField-marginTop: calc(var(--salt-size-unit) - 1px);
847
+ border-color: var(--salt-container-primary-borderColor);
848
+ border-style: var(--vuu-tabs-border-style, none none solid none);
849
+ border-width: 1px;
680
850
  }
681
-
682
- /* ../vuu-shell/src/app-header/AppHeader.css */
683
- .vuuAppHeader {
684
- --saltButton-borderRadius: 6px;
685
- --saltButton-text-color: var(--vuu-color-gray-50);
686
- --saltButton-padding: 12px;
687
- --vuuToolbarItem-height: 26px;
688
- --vuuOverflowContainer-gap: 8px;
689
- --vuu-icon-color: var(--vuu-color-gray-45);
690
- --vuu-icon-size: 16px;
691
- --vuuToolbar-background: var(--vuuAppHeader-background, var(--vuu-color-gray-28));
692
- --vuuToolbar-borderWidth: 1px;
693
- --vuuToolbar-borderStyle: solid;
694
- --vuuToolbar-borderColor: var(--vuu-color-gray-30);
695
- align-items: center;
696
- display: flex;
697
- justify-content: flex-end;
851
+ .vuuTabHeader + .vuuView > .vuuHeader {
852
+ height: 0;
853
+ overflow: hidden;
698
854
  }
699
- .vuu-theme .vuuAppHeader {
700
- border-radius: 8px;
701
- margin-bottom: 8px;
855
+ .Layout-svg-button {
856
+ --spacing-medium: 5px;
702
857
  }
703
858
 
704
- /* ../vuu-shell/src/connection-status/ConnectionStatusIcon.css */
705
- .vuuStatus-container {
706
- display: flex;
859
+ /* ../vuu-layout/src/toolbar/Toolbar.css */
860
+ .vuuToolbar {
861
+ --toolbar-height: var(--vuuToolbar-height, 36px);
862
+ --toolbar-item-height: var(--vuuToolbarItem-height, 100%);
863
+ --vuuOverflowContainer-background: var(--vuuToolbar-background);
864
+ --vuuOverflowContainer-borderColor: var(--vuuToolbar-borderColor);
865
+ --vuuOverflowContainer-borderStyle: var(--vuuToolbar-borderStyle);
866
+ --vuuOverflowContainer-borderWidth: var(--vuuToolbar-borderWidth);
867
+ height: var(--toolbar-height);
707
868
  }
708
- .vuuStatus-text {
709
- align-self: center;
869
+ .vuuToolbar-alignCenter {
870
+ --vuuOverflowContainer-justifyContent: center;
710
871
  }
711
- .vuuStatus {
712
- --vuu-icon-height: 18px;
713
- --vuu-icon-padding: var(--vuuStatus-padding, 6px);
714
- --vuu-icon-width: var(--vuuStatus-width, auto);
715
- --vuu-icon-min-width: var(--vuuStatus-min-width, 20px);
716
- align-items: center;
717
- display: inline-flex;
718
- height: var(--vuu-icon-height);
719
- justify-content: center;
720
- min-width: var(--vuu-icon-min-width);
721
- padding: 0 var(--vuu-icon-padding);
722
- width: var(--vuu-icon-width);
723
- position: relative;
872
+ .vuuToolbar-alignEnd {
873
+ --vuuOverflowContainer-justifyContent: flex-end;
724
874
  }
725
- .vuuStatus[data-icon]::after {
726
- inset: 0 0 0 0;
875
+ .vuuToolbarItem {
876
+ height: var(--toolbar-item-height);
877
+ }
878
+ .vuuToolbar-withSeparators .vuuOverflowContainer-item:not(:first-child):before {
727
879
  content: "";
728
- box-shadow: 0 0 0 0 black;
729
880
  position: absolute;
730
- mask: var(--vuu-icon-svg) center center/20px 20px no-repeat;
731
- -webkit-mask: var(--vuu-icon-svg) center center/20px 20px no-repeat;
732
- }
733
- .vuuActiveStatus::after {
734
- --vuu-icon-svg: var(--svg-active-status);
735
- background-color: rgb(0, 255, 0);
736
- }
737
- .vuuConnectingStatus::after {
738
- --vuu-icon-svg: var(--svg-connecting-status);
739
- background-color: orange;
740
- transform: scale(1);
741
- animation: infinite pulse 1s;
881
+ left: calc(-1 * var(--overflow-item-gap));
882
+ top: calc((var(--toolbar-height) - var(--toolbar-item-height)) /2);
883
+ width: 1px;
884
+ height: var(--toolbar-item-height);
885
+ background-color: var(--vuu-color-gray-05);
742
886
  }
743
- .vuuDisconnectedStatus::after {
744
- --vuu-icon-svg: var(--svg-disconnected-status);
745
- background-color: red;
746
- transform: scale(1);
747
- animation: infinite pulse 0.5s;
887
+ .vuuToolbarItem.vuuFocusVisible {
888
+ outline-color: var(--vuuToolbarItem-outlineColor, var(--salt-focused-outlineColor));
889
+ outline-style: dashed;
890
+ outline-width: 1px;
891
+ outline-offset: 0px;
748
892
  }
749
- @keyframes pulse {
750
- 0% {
751
- transform: scale(0.95);
752
- box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
753
- }
754
- 70% {
755
- transform: scale(1);
756
- box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
757
- }
758
- 100% {
759
- transform: scale(0.95);
760
- box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
761
- }
893
+ .vuuPopupMenu:focus,
894
+ .vuuToolbarItem:focus,
895
+ .vuuToolbarItem:focus-visible {
896
+ outline-color: var(--vuuToolbarItem-outlineColor, var(--vuu-color-purple-10));
897
+ outline-style: dashed;
898
+ outline-width: 1px;
899
+ outline-offset: 0px;
762
900
  }
763
901
 
764
- /* ../vuu-shell/src/layout-management/SaveLayoutPanel.css */
765
- .saveLayoutPanel {
766
- --salt-selectable-foreground-hover: #6d18bdc3;
767
- --salt-selectable-foreground-selected: #6D18BD;
768
- --salt-selectable-borderColor-selected: #6D18BD;
769
- --saltInputLegacy-fontSize: 12px;
770
- --salt-text-label-fontSize: 10px;
771
- --saltFormFieldLegacy-label-paddingLeft: 0;
772
- --saltFormField-label-fontWeight: 400;
773
- --saltText-color: var(--text-secondary-foreground, #606477);
774
- }
775
- .saveLayoutPanel-panelContainer {
776
- display: flex;
777
- flex-direction: column;
778
- align-items: flex-start;
902
+ /* ../vuu-layout/src/tools/devtools-box/layout-configurator.css */
903
+ [data-design-mode=true] .Component {
904
+ filter: grayscale(100%);
905
+ opacity: 0.4;
779
906
  }
780
- .saveLayoutPanel-panelContent {
781
- display: flex;
782
- align-items: flex-start;
783
- gap: 32px;
907
+ [data-design-mode=true] .Component:after {
908
+ color: black;
909
+ content: "Component";
910
+ height: 12px;
911
+ background-color: yellow;
784
912
  }
785
- .saveLayoutPanel-formContainer {
913
+ .LayoutConfigurator {
914
+ --margin-color: #f3cea5;
915
+ --border-color: #fddda0;
916
+ --padding-color: #c6d092;
917
+ --content-color: #8cb6c0;
786
918
  display: flex;
787
- width: 217px;
788
919
  flex-direction: column;
789
- align-items: flex-start;
790
- gap: 16px;
920
+ align-items: stretch;
921
+ background-color: var(--margin-color);
791
922
  }
792
- .saveLayoutPanel-formField {
923
+ .LayoutConfigurator .layout-outer {
924
+ flex: 1 1 auto;
793
925
  display: flex;
794
926
  flex-direction: column;
795
- gap: 1px;
927
+ align-items: stretch;
796
928
  }
797
- .saveLayoutPanel-inputText {
798
- border: none;
799
- color: var(--light-text-primary, #15171B);
800
- font-family: Nunito Sans A-Variant, serif;
801
- font-feature-settings:
802
- "ss02" on,
803
- "ss01" on,
804
- "salt" on,
805
- "liga" off;
806
- font-size: 12px;
807
- font-weight: 400;
808
- line-height: 16px;
809
- padding-left: 4px;
810
- width: 100%;
811
- outline: none;
929
+ .LayoutBox {
930
+ --hw-control-font-size: 13px;
931
+ --hw-text-input-bg: rgba(255, 255, 255, 0.3);
932
+ --hwTextInput-padding: 3px;
933
+ --hw-text-input-position: absolute;
934
+ --hwTextInput-width: 30px;
935
+ flex: 1 1 auto;
812
936
  }
813
- .saveLayoutPanel-settingsGroup {
937
+ .LayoutBox > .layout-top {
938
+ flex: 0 0 40px;
939
+ padding-left: 12px;
814
940
  display: flex;
815
- flex-wrap: wrap;
816
- align-items: flex-end;
817
- gap: 10px;
818
- width: 100%;
819
- line-height: 16px;
941
+ flex-direction: row;
942
+ align-items: center;
943
+ position: relative;
820
944
  }
821
- .saveLayoutPanel-screenshotContainer {
945
+ .LayoutBox > .layout-bottom {
946
+ flex: 0 0 40px;
947
+ position: relative;
822
948
  display: flex;
823
- width: 304px;
824
- height: 208px;
825
- padding: 11px 15.5px;
826
- justify-content: center;
949
+ flex-direction: row;
827
950
  align-items: center;
828
- border: 1px solid #E8E8E8;
829
- background: var(--dark-text-primary, #FFF);
830
951
  }
831
- .saveLayoutPanel-screenshot {
952
+ .LayoutBox > .layout-inner > .layout-right,
953
+ .LayoutBox > .layout-inner > .layout-left {
954
+ flex: 0 0 40px;
832
955
  display: flex;
956
+ flex-direction: column;
833
957
  justify-content: center;
834
958
  align-items: center;
835
- background: lightgray 50% / cover no-repeat;
836
- width: 273px;
837
- height: 186px;
838
- flex-shrink: 0;
839
- }
840
- .saveLayoutPanel-buttonsContainer {
841
- display: flex;
842
- justify-content: flex-end;
843
- align-items: flex-start;
844
- align-self: stretch;
845
- padding-top: 24px;
846
- gap: 8px;
847
959
  }
848
- .saveLayoutPanel-cancelButton,
849
- .saveLayoutPanel-saveButton {
960
+ .layout-top,
961
+ .layout-bottom {
962
+ --hw-text-input-margin: 0 0 0 -15px;
963
+ }
964
+ .layout-top > .layout-input,
965
+ .layout-bottom > .layout-input {
966
+ left: 50%;
967
+ }
968
+ .LayoutBox > .layout-inner {
969
+ flex: 1 1 auto;
850
970
  display: flex;
851
- height: fit-content;
852
- padding: 4px 8px;
853
- align-items: flex-start;
854
- gap: 8px;
855
- border-radius: 6px;
856
- font-size: 12px;
857
- font-style: normal;
858
- font-weight: 700;
859
- line-height: 133.333%;
860
- letter-spacing: 0.48px;
861
- text-transform: uppercase;
971
+ flex-direction: row;
972
+ align-items: stretch;
862
973
  }
863
- .saveLayoutPanel-cancelButton {
864
- color: var(--actionable-primary-foreground-default, #606477);
865
- background: var(--actionable-primary-background-default, #FFF);
974
+ .LayoutBox.layout-margin {
975
+ background-color: var(--margin-color);
976
+ border: dashed 2px black;
866
977
  }
867
- .saveLayoutPanel-saveButton {
868
- background: #6D18BD;
869
- border-color: #6D18BD;
870
- color: white;
978
+ .LayoutBox.layout-border {
979
+ background-color: var(--border-color);
980
+ border: solid 2px black;
871
981
  }
872
- .saveLayoutPanel-saveButton.saltButton:disabled {
873
- background: #6D18BD;
874
- border-color: #6D18BD;
875
- color: white;
876
- opacity: 0.3;
982
+ .LayoutBox.layout-padding {
983
+ background-color: var(--padding-color);
984
+ border: dashed 2px black;
877
985
  }
878
- .saveLayoutPanel-saveButton.saltButton:hover {
879
- background: #F37880;
880
- border-color: #F37880;
881
- color: white;
986
+ .LayoutBox .layout-content {
987
+ flex: 1 1 auto;
988
+ background-color: var(--content-color);
989
+ border: solid 2px #808080;
990
+ }
991
+ .LayoutBox .layout-title {
992
+ color: #161616;
993
+ font-size: 11px;
994
+ left: 4px;
995
+ line-height: 15px;
996
+ position: absolute;
997
+ top: 1px;
882
998
  }
883
999
 
884
- /* ../vuu-shell/src/layout-management/LayoutList.css */
885
- .vuuLayoutList {
886
- --vuuMeasuredContainer-flex: 1 1 1px;
887
- align-self: stretch;
888
- display: flex;
889
- flex-direction: column;
890
- height: 100%;
891
- overflow: hidden;
1000
+ /* ../vuu-layout/src/tools/devtools-tree/layout-tree-viewer.css */
1001
+ .hwLayoutTreeViewer {
892
1002
  }
893
- .vuuLayoutList-header {
894
- color: var(--light-text-primary, #15171B);
895
- flex: 0 0 47px;
896
- font-weight: 700;
897
- letter-spacing: 0.48px;
898
- text-transform: uppercase;
899
- display: flex;
900
- padding: 16px 0px;
901
- border-bottom: 1px solid rgba(119, 124, 148, 0.10);
902
- line-height: 200%;
1003
+ .hwLayoutTreeNode {
1004
+ cursor: default;
903
1005
  }
904
- .vuuLayoutList-groupName {
905
- display: flex;
906
- padding-top: 24px;
907
- color: var(--light-text-secondary, #606477);
908
- font-weight: 700;
909
- letter-spacing: 0.48px;
910
- line-height: 200%;
1006
+ .hwLayoutTreeNode:hover {
1007
+ background-color: rgba(255, 255, 255, 0.2);
911
1008
  }
912
- .vuuLayoutList-layoutContainer {
913
- display: flex;
914
- align-items: center;
915
- gap: 8px;
916
- padding: 8px 0px;
917
- flex: 1 1 auto;
918
- cursor: pointer;
1009
+ .hwLayoutTreeNode[aria-selected=true] {
1010
+ background-color: cornflowerblue;
1011
+ color: white;
919
1012
  }
920
- .vuuLayoutList-layoutName {
921
- color: var(--light-text-primary, #15171B);
922
- font-weight: 600;
923
- line-height: 133.333%;
924
- text-transform: capitalize;
1013
+
1014
+ /* src/filter-builder-menu/FilterBuilderMenu.css */
1015
+ .vuuFilterBuilderMenu {
1016
+ margin: 0;
925
1017
  }
926
- .vuuLayoutList-screenshot {
927
- width: 60px;
928
- height: 45.6px;
929
- border: 1px solid #D6D7DA;
1018
+ .vuuFilterBuilderMenu-trigger {
1019
+ display: inline-block;
1020
+ height: 26px;
1021
+ width: 0px;
930
1022
  }
931
- .vuuLayoutList-layoutDetails {
932
- color: var(--light-text-secondary, #606477);
933
- font-size: 10px;
934
- font-weight: 600;
935
- line-height: 150%;
1023
+ .vuuFilterBuilderMenuList {
1024
+ --vuuList-borderStyle: none;
1025
+ }
1026
+ .vuuListItem:has(.vuuMenuButton) {
1027
+ justify-content: center;
1028
+ }
1029
+ .vuuMenuButton {
1030
+ background-color: white;
1031
+ border: solid 1px var(--salt-actionable-primary-foreground);
1032
+ border-radius: 6px;
1033
+ color: var(--vuu-color-gray-50);
1034
+ font-size: 9px;
1035
+ padding: 1px 6px;
936
1036
  }
937
1037
 
938
- /* ../vuu-shell/src/feature-list/FeatureList.css */
939
- .vuuFeatureList {
940
- background: var(--vuuFeatureList-background, var(--salt-container-primary-background));
941
- display: flex;
1038
+ /* src/filter-clause/ExpandoCombobox.css */
1039
+ .vuuExpandoCombobox {
1040
+ --expando-combobox-height: var(--vuuExpandoCombobox-height, 24px);
1041
+ --expando-combobox-fontSize: var(--vuuExpandoCombobox-fontSizew, 12px);
1042
+ --saltInput-outline: none;
1043
+ --saltInput-fontSize: var(--expando-combobox-fontSize);
1044
+ --saltInput-height: var(--expando-combobox-height);
1045
+ --saltInput-minWidth: 4px;
1046
+ display: inline-flex;
942
1047
  flex-direction: column;
1048
+ height: var(--expando-combobox-height);
1049
+ min-width: 4px;
1050
+ padding: 0;
1051
+ }
1052
+ .vuuExpandoCombobox .saltInput {
1053
+ background-color: transparent;
1054
+ position: absolute;
1055
+ }
1056
+ .vuuExpandoCombobox .vuuDropdown {
943
1057
  height: 100%;
944
- padding: 195px 32px 16px 24px;
945
1058
  }
946
- .vuuFeatureList-header {
947
- flex: 0 0 40px;
948
- font-size: 12px;
949
- font-weight: 700;
950
- line-height: 2;
1059
+ .vuuExpandoCombobox-Input.saltInput {
1060
+ border: none;
1061
+ left: 0px;
1062
+ margin: 0;
1063
+ min-height: 100%;
1064
+ padding: 0;
1065
+ right: 0px;
1066
+ width: auto;
951
1067
  }
952
- .vuuFeatureList-content {
953
- flex: 1 1 auto;
954
- font-size: 12px;
955
- font-weight: 700;
1068
+ .vuuExpandoCombobox .saltInput-input {
1069
+ border: none;
1070
+ box-sizing: content-box;
1071
+ display: block;
1072
+ flex: 1;
1073
+ font: inherit;
1074
+ margin: 0;
1075
+ min-width: 0;
1076
+ outline: none;
1077
+ padding: 0;
1078
+ }
1079
+ .vuuExpandoCombobox:before {
1080
+ content: attr(data-text);
1081
+ display: block;
1082
+ font-size: var(--expando-combobox-fontSize);
1083
+ height: 0px;
1084
+ overflow: hidden;
1085
+ white-space: pre-wrap;
956
1086
  }
957
1087
 
958
- /* ../vuu-shell/src/left-nav/LeftNav.css */
959
- .vuuLeftNav {
960
- --salt-navigable-fontWeight-active: 700;
961
- --vuuTab-background-selected: rgba(255, 255, 255, 0.10);
962
- --vuuTab-hover-background: rgba(255, 255, 255, 0.10);
963
- --vuuTab-before-content: none;
964
- --vuuTab-borderRadius: 6px;
965
- --vuuTab-height: 40px;
966
- --vuuTab-padding: 0 0 0 48px;
967
- --vuuTabstrip-fontWeight: 700;
968
- --vuuTabstrip-width: 100%;
969
- --svg-demo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M11.3333 11C11.52 11 11.6667 10.8533 11.6667 10.6667C11.6667 10.48 11.52 10.3333 11.3333 10.3333C11.1467 10.3333 11 10.48 11 10.6667C11 10.8533 11.1467 11 11.3333 11Z"/><path d="M5.99999 8.66667C6.36818 8.66667 6.66666 8.36819 6.66666 8C6.66666 7.63181 6.36818 7.33334 5.99999 7.33334C5.63181 7.33334 5.33333 7.63181 5.33333 8C5.33333 8.36819 5.63181 8.66667 5.99999 8.66667Z"/><path d="M8.66667 6C9.03486 6 9.33333 5.70152 9.33333 5.33333C9.33333 4.96514 9.03486 4.66667 8.66667 4.66667C8.29848 4.66667 8 4.96514 8 5.33333C8 5.70152 8.29848 6 8.66667 6Z"/><path d="M8.66667 11.3333C9.03486 11.3333 9.33333 11.0349 9.33333 10.6667C9.33333 10.2985 9.03486 10 8.66667 10C8.29848 10 8 10.2985 8 10.6667C8 11.0349 8.29848 11.3333 8.66667 11.3333Z"/><path d="M11.3333 8.33333C11.52 8.33333 11.6667 8.18666 11.6667 8C11.6667 7.81333 11.52 7.66666 11.3333 7.66666C11.1467 7.66666 11 7.81333 11 8C11 8.18666 11.1467 8.33333 11.3333 8.33333Z"/><path d="M8.66667 8.66667C9.03486 8.66667 9.33333 8.36819 9.33333 8C9.33333 7.63181 9.03486 7.33334 8.66667 7.33334C8.29848 7.33334 8 7.63181 8 8C8 8.36819 8.29848 8.66667 8.66667 8.66667Z"/><path d="M2 2H14V3.33333H2V2Z"/><path d="M3.33333 6.33333C3.88561 6.33333 4.33333 5.88562 4.33333 5.33333C4.33333 4.78105 3.88561 4.33333 3.33333 4.33333C2.78104 4.33333 2.33333 4.78105 2.33333 5.33333C2.33333 5.88562 2.78104 6.33333 3.33333 6.33333Z"/><path d="M3.33333 9C3.88561 9 4.33333 8.55228 4.33333 8C4.33333 7.44772 3.88561 7 3.33333 7C2.78104 7 2.33333 7.44772 2.33333 8C2.33333 8.55228 2.78104 9 3.33333 9Z"/><path d="M3.33333 11.6667C3.88561 11.6667 4.33333 11.2189 4.33333 10.6667C4.33333 10.1144 3.88561 9.66666 3.33333 9.66666C2.78104 9.66666 2.33333 10.1144 2.33333 10.6667C2.33333 11.2189 2.78104 11.6667 3.33333 11.6667Z"/><path d="M11.3333 5.66667C11.52 5.66667 11.6667 5.52 11.6667 5.33333C11.6667 5.14667 11.52 5 11.3333 5C11.1467 5 11 5.14667 11 5.33333C11 5.52 11.1467 5.66667 11.3333 5.66667Z"/><path d="M5.99999 11.3333C6.36818 11.3333 6.66666 11.0349 6.66666 10.6667C6.66666 10.2985 6.36818 10 5.99999 10C5.63181 10 5.33333 10.2985 5.33333 10.6667C5.33333 11.0349 5.63181 11.3333 5.99999 11.3333Z"/><path d="M5.99999 6C6.36818 6 6.66666 5.70152 6.66666 5.33333C6.66666 4.96514 6.36818 4.66667 5.99999 4.66667C5.63181 4.66667 5.33333 4.96514 5.33333 5.33333C5.33333 5.70152 5.63181 6 5.99999 6Z"/><path d="M2 12.6667H14V14H2V12.6667Z"/></svg>');
970
- --svg-features: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.3333 12.6667H14L14 3.33334H15.3333L15.3333 12.6667ZM12.6667 12.6667H11.3333L11.3333 3.33334H12.6667L12.6667 12.6667ZM1.33333 12.6667L9.33333 12.6667C9.69999 12.6667 9.99999 12.3667 9.99999 12V4.00001C9.99999 3.63334 9.69999 3.33334 9.33333 3.33334L1.33333 3.33334C0.966661 3.33334 0.666661 3.63334 0.666661 4.00001L0.666661 12C0.666661 12.3667 0.966661 12.6667 1.33333 12.6667ZM1.99999 4.66667L8.66666 4.66667V11.3333L1.99999 11.3333L1.99999 4.66667Z"/></svg>');
971
- --svg-tables: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 6H4.66667V3.33334H3.33333C2.6 3.33334 2 3.93334 2 4.66667V6ZM2 9.33334H4.66667V6.66667H2V9.33334ZM5.33333 9.33334H8V6.66667H5.33333V9.33334ZM8.66667 9.33334H11.3333V6.66667H8.66667V9.33334ZM5.33333 6H8V3.33334H5.33333V6ZM8.66667 3.33334V6H11.3333V3.33334H8.66667ZM12 9.33334H14.6667V6.66667H12V9.33334ZM3.33333 12.6667H4.66667V10H2V11.3333C2 12.0667 2.6 12.6667 3.33333 12.6667ZM5.33333 12.6667H8V10H5.33333V12.6667ZM8.66667 12.6667H11.3333V10H8.66667V12.6667ZM12 12.6667H13.3333C14.0667 12.6667 14.6667 12.0667 14.6667 11.3333V10H12V12.6667ZM12 3.33334V6H14.6667V4.66667C14.6667 3.93334 14.0667 3.33334 13.3333 3.33334H12Z"/></svg>');
972
- --svg-layouts: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.3333 10H14V11.3333H15.3333V10ZM15.3333 12.6667H14V14H15.3333V12.6667ZM15.3333 7.33333H14V8.66667H15.3333V7.33333ZM10 2H8.66667V3.33333H10V2ZM15.3333 4.66667H14V6H15.3333V4.66667ZM0.666672 14H7.33334V10H0.666672V14ZM2.00001 4.66667H0.666672V6H2.00001V4.66667ZM10 12.6667H8.66667V14H10V12.6667ZM12.6667 2H11.3333V3.33333H12.6667V2ZM15.3333 2H14V3.33333H15.3333V2ZM12.6667 12.6667H11.3333V14H12.6667V12.6667ZM2.00001 7.33333H0.666672V8.66667H2.00001V7.33333ZM7.33334 2H6.00001V3.33333H7.33334V2ZM4.66667 2H3.33334V3.33333H4.66667V2ZM2.00001 2H0.666672V3.33333H2.00001V2Z"/></svg>');
973
- --vuu-light-text-primary: #15171b;
974
- --menu-level-2-width: 0px;
975
- box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);
1088
+ /* src/filter-clause/FilterClauseEditor.css */
1089
+ .vuuFilterClause {
1090
+ --vuuExpandoInput-top: 0;
1091
+ --vuuExpandoInput-height: 16px;
1092
+ --vuuExpandoCombobox-height: 16px;
1093
+ --saltButton-height: 16px;
1094
+ --saltButton-width: 16px;
976
1095
  display: flex;
977
- height: calc(100% - 4px);
978
- margin-bottom: 4px;
979
- overflow: hidden;
980
- position: relative;
981
- transition: width .2s ease-out;
982
- z-index: 0;
1096
+ flex-direction: row;
1097
+ width: fit-content;
1098
+ border-color: var(--vuu-color-gray-45);
1099
+ border-radius: 6px;
1100
+ border-width: 1px;
1101
+ border-style: solid;
1102
+ background: #ffffff;
1103
+ --salt-focused-outlineStyle: dotted;
983
1104
  }
984
- .vuuLeftNav-menu-full {
985
- --menu-width: var(--nav-menu-expanded-width);
1105
+ .vuuFilterClause:focus-within {
1106
+ border-color: var(--vuu-color-purple-10);
986
1107
  }
987
- .vuuLeftNav-menu-icons {
988
- --menu-width: var(--nav-menu-collapsed-width);
1108
+ .vuu-density-high .vuuFilterClause {
1109
+ padding: 4px 8px;
1110
+ gap: 4px;
1111
+ --salt-text-lineHeight: 12px;
1112
+ --saltInputLegacy-fontSize: 12px;
1113
+ --saltInputLegacy-minWidth: 12px;
989
1114
  }
990
- .vuuLeftNav-menu-icons-content {
991
- --menu-width: var(--nav-menu-collapsed-width);
992
- --menu-level-2-width: var(--nav-menu-content-width);
1115
+ .vuu-density-high .vuuFilterClause .saltInput {
1116
+ padding: 0;
1117
+ min-height: 16px;
1118
+ height: 16px;
993
1119
  }
994
- .vuuLeftNav-menu-full-content {
995
- --menu-width: var(--nav-menu-expanded-width);
996
- --menu-level-2-width: var(--nav-menu-content-width);
997
- }
998
- .vuuLeftNav-menu-icons-content .vuuLeftNav-menu-secondary,
999
- .vuuLeftNav-menu-full-content .vuuLeftNav-menu-secondary {
1000
- display: flex;
1001
- }
1002
- .vuuLeftNav-menu-primary {
1003
- background-color: #2A015F;
1004
- container-type: inline-size;
1005
- display: flex;
1006
- flex-direction: column;
1007
- height: 100%;
1008
- padding: 32px 16px;
1009
- transition: flex-basis ease-out .2s;
1010
- flex-grow: 0;
1120
+ .vuuFilterClause .vuuExpandoCombobox {
1121
+ flex-basis: auto;
1011
1122
  flex-shrink: 0;
1012
- flex-basis: var(--menu-width);
1123
+ flex-grow: 0;
1013
1124
  }
1014
- .vuuLeftNav-menu-secondary {
1015
- flex: 1 1 auto;
1125
+ .vuuFilterClauseOperator-hidden {
1016
1126
  display: none;
1017
- top: 0;
1018
- right: 0;
1019
- flex-grow: 0;
1020
- flex-shrink: 0;
1021
- flex-basis: var(--nav-menu-content-width, 240px);
1022
- z-index: -1;
1023
1127
  }
1024
- .vuuLeftNav .vuuTabstrip {
1025
- margin-top: 102px;
1128
+ .vuuFilterClause :not(.vuuFilterClauseNumericValue) .saltInput {
1026
1129
  }
1027
- .vuuLeftNav .vuuTab {
1028
- --vuuTab-focusVisible-color: pink;
1029
- --vuu-icon-color: white;
1030
- --vuu-icon-left: 12px;
1031
- --vuu-icon-size: 16px;
1032
- border-left: solid 4px transparent;
1130
+ .vuuFilterClause .saltInput-focused,
1131
+ .vuuFilterClause .saltTokenizedInput-focused {
1132
+ outline: none;
1133
+ color: var(--salt-text-primary-foreground);
1033
1134
  }
1034
- .vuuLeftNav .vuuTab-selected {
1035
- --vuu-icon-color: var(--salt-navigable-indicator-active);
1036
- border-left: solid 4px var(--salt-navigable-indicator-active);
1135
+ .vuuFilterClause .saltInput-input::selection {
1136
+ color: #ffffff;
1037
1137
  }
1038
- .vuuLeftNav-logo {
1039
- display: flex;
1040
- flex: 0 0 auto;
1041
- justify-content: center;
1138
+ .vuu-theme .saltList {
1139
+ --list-borderWidth: 1px;
1140
+ --list-borderStyle: solid;
1141
+ border-radius: 4px;
1142
+ box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.4);
1042
1143
  }
1043
- .vuuLeftNav-main {
1044
- flex: 1 1 auto;
1144
+ .saltListItem[aria-selected=true]:not(.saltListItem-checkbox) {
1145
+ --list-item-background: var(--list-item-background-active);
1146
+ color: var(--list-item-text-color-active);
1045
1147
  }
1046
- .vuuLeftNav-menu {
1047
- color: white;
1048
- margin-top: 102px;
1148
+ .saltTokenizedInput {
1149
+ height: 16px;
1150
+ min-height: 16px;
1151
+ }
1152
+ .saltTokenizedInput .saltInputPill {
1153
+ --pill-fontSize: 12px;
1154
+ --saltButton-borderStyle: none;
1155
+ --pill-background: none;
1156
+ height: 16px;
1157
+ margin: 0;
1158
+ }
1159
+ .saltTokenizedInput-pillGroup {
1049
1160
  padding: 0;
1161
+ height: 16px;
1050
1162
  }
1051
- .vuuLeftNav [data-icon=demo] {
1052
- --vuu-icon-svg: var(--svg-demo);
1163
+
1164
+ /* src/filter-pill-menu/FilterPillMenu.css */
1165
+ .vuuFilterPillMenu {
1166
+ top: -1px;
1053
1167
  }
1054
- .vuuLeftNav [data-icon=tables] {
1055
- --vuu-icon-svg: var(--svg-tables);
1168
+
1169
+ /* src/filter-pill/FilterPill.css */
1170
+ .vuuFilterPill {
1171
+ align-items: center;
1172
+ background: var(--salt-taggable-background);
1173
+ border: solid 1px var(--salt-taggable-foreground);
1174
+ border-radius: 24px;
1175
+ color: var(--vuu-color-gray-50);
1176
+ display: inline-flex;
1177
+ max-width: var(--vuuFilterPill-maxWidth, 200px);
1178
+ padding: 0 8px;
1179
+ position: relative;
1180
+ user-select: none;
1181
+ outline: none;
1056
1182
  }
1057
- .vuuLeftNav [data-icon=features] {
1058
- --vuu-icon-svg: var(--svg-features);
1183
+ .vuuFilterPill.vuuToolbarItem {
1184
+ height: 24px;
1059
1185
  }
1060
- .vuuLeftNav [data-icon=layouts] {
1061
- --vuu-icon-svg: var(--svg-layouts);
1186
+ .vuuFilterPill[aria-selected=true] {
1187
+ --vuuPopupMenu-iconColor: white;
1188
+ --salt-text-background-selected: var(--vuu-color-blue-40);
1189
+ --salt-text-color-selected: var(--salt-text-primary-foreground);
1190
+ --saltInput-background-hover: var(--salt-taggable-background-active);
1191
+ --saltInput-color: var(--salt-taggable-foreground-active);
1192
+ background: var(--salt-taggable-background-active);
1193
+ color: white;
1062
1194
  }
1063
- @container (max-width: 100px) {
1064
- .vuuTab {
1065
- --vuuTab-padding: 0 0 0 42px;
1066
- }
1067
- .vuuTab-main {
1068
- display: none !important;
1069
- }
1195
+ .vuuFilterPill:not([aria-selected=true]):hover {
1196
+ --vuuPopupMenu-iconColor: var(--vuu-color-gray-80);
1197
+ background-color: var(--salt-taggable-background-hover);
1198
+ border-color: var(--salt-taggable-background-hover);
1199
+ color: var(--vuu-color-gray-80);
1070
1200
  }
1071
- .vuuLeftNav-buttonBar {
1072
- align-items: center;
1201
+
1202
+ /* ../vuu-shell/src/login/LoginPanel.css */
1203
+ .vuuLoginPanel {
1204
+ --saltInput-paddingLeft: 8px;
1205
+ --login-width: 856px;
1206
+ --login-height: 550px;
1207
+ --hwTextInput-border: solid 1px #ccc;
1208
+ --hwTextInput-height: 28px;
1209
+ --hwTextInput-padding: 0 12px;
1210
+ --hwTextInput-width: 100%;
1211
+ --login-row-height: 60px;
1212
+ border-radius: 16px;
1213
+ box-shadow: 0px 24px 44px 0px rgba(0, 0, 0, 0.25);
1073
1214
  display: flex;
1074
- flex: 0 0 100px;
1075
- justify-content: center;
1076
- }
1077
- .vuuLeftNav-toggleButton {
1078
- --vuu-icon-color: var(--vuu-light-text-primary);
1079
- --vuu-icon-left: 11px;
1080
- --vuu-icon-top: 10px;
1081
- --vuu-icon-size: 16px;
1082
- background-color: var(--salt-navigable-indicator-active);
1083
- border-width: 0;
1084
- border-radius: 18px;
1085
- height: 36px;
1086
- position: relative;
1087
- width: 36px;
1215
+ height: var(--login-height);
1216
+ margin: 0 auto;
1217
+ width: var(--login-width);
1088
1218
  }
1089
- .vuuLeftNav-toggleButton-open {
1090
- --vuu-icon-left: 9px;
1219
+ .vuuLoginPanel .saltInput-primary {
1220
+ --saltInput-height: 36px;
1091
1221
  }
1092
- .vuuLeftNav-drawer {
1222
+ .vuuLoginPanel-title {
1223
+ justify-content: center;
1224
+ font-size: 28px;
1225
+ font-weight: 400;
1093
1226
  display: flex;
1094
- padding: 40px 32px 0px 24px;
1095
- flex-direction: column;
1096
- align-items: flex-start;
1097
- flex-shrink: 0;
1098
- align-self: stretch;
1099
- background: #FFF;
1100
- box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);
1101
- height: 100%;
1102
1227
  }
1103
-
1104
- /* ../vuu-shell/src/session-editing-form/SessionEditingForm.css */
1105
- .vuuSessionEditingForm {
1228
+ .vuuLoginPanel-branding {
1229
+ align-items: center;
1230
+ background-color: var(--vuu-color-purple-50);
1231
+ border-radius: 16px 0 0 16px;
1106
1232
  display: flex;
1233
+ flex: 0 0 368px;
1107
1234
  flex-direction: column;
1108
- gap: 3px;
1109
- min-width: 400px;
1110
- padding: 6px;
1235
+ gap: 40px;
1236
+ justify-content: center;
1237
+ padding: 40px 100px;
1111
1238
  }
1112
- .vuuSessionEditingForm-content {
1239
+ .vuuLoginPanel-form {
1240
+ background-color: white;
1241
+ border-radius: 0 16px 16px 0px;
1113
1242
  display: flex;
1114
- flex-direction: column;
1115
1243
  flex: 1 1 auto;
1116
- gap: 3px;
1117
- overflow: auto;
1118
- }
1119
- .vuuSessionEditingForm-field {
1120
- align-items: center;
1121
- display: flex;
1122
- height: 32px;
1244
+ flex-direction: column;
1245
+ gap: 32px;
1246
+ justify-content: center;
1247
+ padding: 0 40px;
1123
1248
  }
1124
- .vuuSessionEditingForm-fieldLabel {
1125
- flex: 0 0 50%;
1249
+ .vuuLoginPanel-password {
1250
+ --vuu-icon-size: 16px;
1126
1251
  }
1127
- .vuuSessionEditingForm-fieldValue {
1128
- max-width: 50%;
1252
+ .vuuLoginPanel-appName {
1253
+ color: white;
1254
+ font-size: 18px;
1255
+ font-weight: 700;
1256
+ text-transform: uppercase;
1129
1257
  }
1130
- .vuuSessionEditingForm-fieldValue.vuuReadOnly {
1131
- font-weight: var(--salt-text-label-fontWeight-strong);
1258
+ .vuuLoginPanel-login {
1259
+ --saltButton-height: 36px;
1260
+ --saltButton-borderRadius: 6px;
1261
+ width: 100%;
1132
1262
  }
1133
- .vuuSessionEditingForm-buttonbar {
1263
+
1264
+ /* ../vuu-shell/src/app-header/AppHeader.css */
1265
+ .vuuAppHeader {
1266
+ --saltButton-borderRadius: 6px;
1267
+ --saltButton-text-color: var(--vuu-color-gray-50);
1268
+ --saltButton-padding: 12px;
1269
+ --vuuToolbarItem-height: 26px;
1270
+ --vuuOverflowContainer-gap: 8px;
1271
+ --vuu-icon-color: var(--vuu-color-gray-45);
1272
+ --vuu-icon-size: 16px;
1273
+ --vuuToolbar-background: var(--vuuAppHeader-background, var(--vuu-color-gray-28));
1274
+ --vuuToolbar-borderWidth: 1px;
1275
+ --vuuToolbar-borderStyle: solid;
1276
+ --vuuToolbar-borderColor: var(--vuu-color-gray-30);
1134
1277
  align-items: center;
1135
- border-top: solid 1px var(--salt-container-primary-borderColor);
1136
1278
  display: flex;
1137
1279
  justify-content: flex-end;
1138
- flex: 0 0 autox;
1139
- gap: 6px;
1140
- padding-top: 6px;
1141
1280
  }
1142
- .vuuSessionEditingForm-errorBanner {
1143
- --vuu-icon-left: 3px;
1144
- --vuu-icon-size: 18px;
1145
- --vuu-icon-top: 3px;
1146
- border: solid 1px var(--salt-status-error-borderColor);
1147
- line-height: 24px;
1148
- padding: 0 6px 0 26px;
1149
- position: relative;
1281
+ .vuu-theme .vuuAppHeader {
1282
+ border-radius: 8px;
1283
+ margin-bottom: 8px;
1150
1284
  }
1151
1285
 
1152
- /* ../vuu-shell/src/shell-layouts/context-panel/ContextPanel.css */
1153
- .vuuContextPanel {
1154
- position: relative;
1155
- transition: width .3s ease-in-out;
1156
- width: var(--vuu-side-panel-width, 0px) !important;
1157
- z-index: 1;
1158
- }
1159
- .vuuContextPanel-expanded {
1160
- --vuu-side-panel-width: 300px !important;
1161
- --vuu-side-panel-shadow: -4px 4px 4px rgba(0, 0, 0, 0.1);
1162
- --vuu-side-panel-padding: 24px;
1163
- }
1164
- .vuuContextPanel-overlay {
1165
- width: 0px !important;
1166
- }
1167
- .vuuContextPanel-inner {
1168
- background-color: var(--salt-container-primary-background);
1169
- box-shadow: var(--vuu-side-panel-shadow, none);
1170
- display: flex;
1171
- flex-direction: column;
1172
- height: 100%;
1173
- min-width: 0 !important;
1174
- overflow: auto;
1175
- padding-bottom: 24px;
1176
- padding-top: 24px;
1177
- padding-left: var(--vuu-side-panel-padding, 0);
1178
- padding-right: var(--vuu-side-panel-padding, 0);
1179
- position: absolute !important;
1180
- right: 0;
1181
- top: 0;
1182
- transition-property:
1183
- padding-left,
1184
- padding-right,
1185
- width;
1186
- transition-duration: .3s;
1187
- transition-timing-function: ease-in-out;
1188
- width: var(--vuu-side-panel-width, 0px);
1189
- }
1190
- .vuuContextPanel-header {
1191
- align-items: center;
1286
+ /* ../vuu-shell/src/connection-status/ConnectionStatusIcon.css */
1287
+ .vuuStatus-container {
1192
1288
  display: flex;
1193
- flex-wrap: nowrap;
1194
- flex: 0 0 27px !important;
1195
- justify-content: space-between;
1196
- }
1197
- .vuuContextPanel-title {
1198
- font-size: 20px;
1199
- font-weight: 700;
1200
- white-space: nowrap;
1201
- }
1202
- .vuuContextPanel-content {
1203
- flex: 1 1 auto;
1204
- width: 100%;
1205
- }
1206
-
1207
- /* ../vuu-shell/src/shell-layouts/side-panel/SidePanel.css */
1208
- .vuuShellSidePanel {
1209
- transition: width .2s ease-out;
1210
- width: var(--shell-left-nav-size);
1211
- }
1212
-
1213
- /* ../vuu-shell/src/shell.css */
1214
- .vuuShell {
1215
- background-color: var(--vuu-color-gray-25);
1216
- height: var(--vuuShell-height, 100vh);
1217
- width: var(--vuuShell-width, 100vw);
1218
- }
1219
- .vuuShell-mainTabs {
1220
- background: var(--salt-container-primary-background);
1221
- }
1222
- .vuuShell-palette {
1223
- --vuuView-border: none;
1224
- --vuuView-margin: 0;
1225
1289
  }
1226
- .vuuShell-warningPlaceholder {
1227
- background-color: var(--salt-container-background-high);
1228
- height: 100%;
1229
- }
1230
- .vuuToolbarProxy {
1231
- background: var(--salt-container-primary-background);
1232
- }
1233
- .vuuShell-mainTabs > .vuuTabstrip > .vuuOverflowContainer-wrapContainer {
1234
- background: var(--vuu-color-gray-25);
1290
+ .vuuStatus-text {
1291
+ align-self: center;
1235
1292
  }
1236
- .vuuShell-mainTabs {
1237
- --vuuTab-height: 28px;
1238
- border: solid 1px #D6D7DA;
1239
- border-top: none !important;
1240
- border-radius: 6px;
1241
- height: 100%;
1242
- padding: 36px 8px 8px 8px;
1293
+ .vuuStatus {
1294
+ --vuu-icon-height: 18px;
1295
+ --vuu-icon-padding: var(--vuuStatus-padding, 6px);
1296
+ --vuu-icon-width: var(--vuuStatus-width, auto);
1297
+ --vuu-icon-min-width: var(--vuuStatus-min-width, 20px);
1298
+ align-items: center;
1299
+ display: inline-flex;
1300
+ height: var(--vuu-icon-height);
1301
+ justify-content: center;
1302
+ min-width: var(--vuu-icon-min-width);
1303
+ padding: 0 var(--vuu-icon-padding);
1304
+ width: var(--vuu-icon-width);
1243
1305
  position: relative;
1244
- width: 100%;
1245
1306
  }
1246
- .vuuShell-mainTabs > .vuuTabstrip {
1247
- --vuuTabstrip-height: 28px;
1248
- --saltTabs-tabstrip-height: 29px;
1249
- --tabstrip-height: 29px;
1250
- left: -1px;
1251
- padding-bottom: 7px;
1252
- position: absolute !important;
1253
- right: 1px;
1307
+ .vuuStatus[data-icon]::after {
1254
1308
  top: 0;
1255
- width: calc(100% + 2px) !important;
1256
- }
1257
- .vuuShell-mainTabs > .vuuTabHeader {
1258
- border-bottom: none;
1259
- }
1260
- .vuuShell-mainTabs > .vuuTabstrip:before {
1261
- background-color: transparent;
1262
- border-radius: 0 6px 0 0;
1263
- border-left: solid 1px #D6D7DA;
1264
- border-right: solid 1px #D6D7DA;
1265
- border-top: solid 1px #D6D7DA;
1266
- content: "";
1267
- position: absolute;
1268
- bottom: 0;
1269
- left: 0;
1270
1309
  right: 0;
1271
- height: 8px;
1272
- z-index: 1;
1273
- }
1274
- .vuuTab.MainTab {
1275
- --vuuTabMenu-top: -1px;
1276
- background-color: #F1F2F4;
1277
- border-color: #D6D7DA;
1278
- border-radius: 6px 6px 0 0;
1279
- border-width: 1px;
1280
- border-style: solid;
1281
- position: relative;
1282
- }
1283
- .MainTab.vuuTab-selected {
1284
- background-color: white;
1285
- border-bottom-color: white;
1286
- z-index: 1;
1287
- }
1288
- .MainTab.vuuTab-selected:before {
1289
- background-color: #6d188b;
1290
- content: "";
1291
- position: absolute;
1292
- height: 100%;
1310
+ bottom: 0;
1293
1311
  left: 0;
1294
- top: 0;
1295
- border-radius: 6px 0 0 0;
1296
- width: 6px;
1297
- }
1298
- .MainTab.vuuTab:hover:before {
1299
- background-color: #F37880;
1300
1312
  content: "";
1313
+ box-shadow: 0 0 0 0 black;
1301
1314
  position: absolute;
1302
- height: 100%;
1303
- left: 0;
1304
- top: 0;
1305
- border-radius: 6px 0 0 0;
1306
- width: 6px;
1315
+ mask: var(--vuu-icon-svg) center center/20px 20px no-repeat;
1316
+ -webkit-mask: var(--vuu-icon-svg) center center/20px 20px no-repeat;
1307
1317
  }
1308
- .vuuTab.MainTab .vuuTab-main {
1309
- background-color: transparent;
1310
- font-weight: 700;
1311
- height: 29px;
1312
- padding: 0 24px;
1318
+ .vuuActiveStatus::after {
1319
+ --vuu-icon-svg: var(--svg-active-status);
1320
+ background-color: rgb(0, 255, 0);
1313
1321
  }
1314
-
1315
- /* ../vuu-shell/src/theme-switch/ThemeSwitch.css */
1316
- .vuuThemeSwitch {
1317
- --saltButton-minWidth: 22px;
1318
- --svg-light: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M24 31q2.9 0 4.95-2.05Q31 26.9 31 24q0-2.9-2.05-4.95Q26.9 17 24 17q-2.9 0-4.95 2.05Q17 21.1 17 24q0 2.9 2.05 4.95Q21.1 31 24 31Zm0 3q-4.15 0-7.075-2.925T14 24q0-4.15 2.925-7.075T24 14q4.15 0 7.075 2.925T34 24q0 4.15-2.925 7.075T24 34ZM3.5 25.5q-.65 0-1.075-.425Q2 24.65 2 24q0-.65.425-1.075Q2.85 22.5 3.5 22.5h5q.65 0 1.075.425Q10 23.35 10 24q0 .65-.425 1.075-.425.425-1.075.425Zm36 0q-.65 0-1.075-.425Q38 24.65 38 24q0-.65.425-1.075.425-.425 1.075-.425h5q.65 0 1.075.425Q46 23.35 46 24q0 .65-.425 1.075-.425.425-1.075.425ZM24 10q-.65 0-1.075-.425Q22.5 9.15 22.5 8.5v-5q0-.65.425-1.075Q23.35 2 24 2q.65 0 1.075.425.425.425.425 1.075v5q0 .65-.425 1.075Q24.65 10 24 10Zm0 36q-.65 0-1.075-.425-.425-.425-.425-1.075v-5q0-.65.425-1.075Q23.35 38 24 38q.65 0 1.075.425.425.425.425 1.075v5q0 .65-.425 1.075Q24.65 46 24 46ZM12 14.1l-2.85-2.8q-.45-.45-.425-1.075.025-.625.425-1.075.45-.45 1.075-.45t1.075.45L14.1 12q.4.45.4 1.05 0 .6-.4 1-.4.45-1.025.45-.625 0-1.075-.4Zm24.7 24.75L33.9 36q-.4-.45-.4-1.075t.45-1.025q.4-.45 1-.45t1.05.45l2.85 2.8q.45.45.425 1.075-.025.625-.425 1.075-.45.45-1.075.45t-1.075-.45ZM33.9 14.1q-.45-.45-.45-1.05 0-.6.45-1.05l2.8-2.85q.45-.45 1.075-.425.625.025 1.075.425.45.45.45 1.075t-.45 1.075L36 14.1q-.4.4-1.025.4-.625 0-1.075-.4ZM9.15 38.85q-.45-.45-.45-1.075t.45-1.075L12 33.9q.45-.45 1.05-.45.6 0 1.05.45.45.45.45 1.05 0 .6-.45 1.05l-2.8 2.85q-.45.45-1.075.425-.625-.025-1.075-.425ZM24 24Z"/></svg>');
1319
- --svg-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M24 42q-7.5 0-12.75-5.25T6 24q0-7.5 5.25-12.75T24 6q.4 0 .85.025.45.025 1.15.075-1.8 1.6-2.8 3.95-1 2.35-1 4.95 0 4.5 3.15 7.65Q28.5 25.8 33 25.8q2.6 0 4.95-.925T41.9 22.3q.05.6.075.975Q42 23.65 42 24q0 7.5-5.25 12.75T24 42Zm0-3q5.45 0 9.5-3.375t5.05-7.925q-1.25.55-2.675.825Q34.45 28.8 33 28.8q-5.75 0-9.775-4.025T19.2 15q0-1.2.25-2.575.25-1.375.9-3.125-4.9 1.35-8.125 5.475Q9 18.9 9 24q0 6.25 4.375 10.625T24 39Zm-.2-14.85Z"/></svg>');
1320
- padding: 2px;
1322
+ .vuuConnectingStatus::after {
1323
+ --vuu-icon-svg: var(--svg-connecting-status);
1324
+ background-color: orange;
1325
+ transform: scale(1);
1326
+ animation: infinite pulse 1s;
1321
1327
  }
1322
- .salt-density-high .vuuThemeSwitch {
1323
- --saltButton-minWidth: 16px;
1324
- --saltButton-width: 18px;
1325
- --vuuThemeSwitch-iconSize: 16px;
1328
+ .vuuDisconnectedStatus::after {
1329
+ --vuu-icon-svg: var(--svg-disconnected-status);
1330
+ background-color: red;
1331
+ transform: scale(1);
1332
+ animation: infinite pulse 0.5s;
1326
1333
  }
1327
- .vuuThemeSwitch [data-icon] {
1328
- --vuu-icon-size: var(--vuuThemeSwitch-iconSize,18px);
1334
+ @keyframes pulse {
1335
+ 0% {
1336
+ transform: scale(0.95);
1337
+ box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
1338
+ }
1339
+ 70% {
1340
+ transform: scale(1);
1341
+ box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
1342
+ }
1343
+ 100% {
1344
+ transform: scale(0.95);
1345
+ box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
1346
+ }
1329
1347
  }
1330
- .vuuThemeSwitch [data-icon=light] {
1331
- --vuu-icon-svg: var(--svg-light);
1348
+
1349
+ /* ../vuu-shell/src/layout-management/SaveLayoutPanel.css */
1350
+ .saveLayoutPanel {
1351
+ --salt-selectable-foreground-hover: #6d18bdc3;
1352
+ --salt-selectable-foreground-selected: #6D18BD;
1353
+ --salt-selectable-borderColor-selected: #6D18BD;
1354
+ --saltInputLegacy-fontSize: 12px;
1355
+ --salt-text-label-fontSize: 10px;
1356
+ --saltFormFieldLegacy-label-paddingLeft: 0;
1357
+ --saltFormField-label-fontWeight: 400;
1358
+ --saltText-color: var(--text-secondary-foreground, #606477);
1332
1359
  }
1333
- .vuuThemeSwitch [data-icon=dark] {
1334
- --vuu-icon-svg: var(--svg-dark);
1360
+ .spinner {
1361
+ width: 100px;
1362
+ height: 100px;
1363
+ background-image: var(--svg-spinner);
1335
1364
  }
1336
- .vuuThemeSwitch .saltToggleButton {
1337
- height: 20px;
1338
- width: 20px;
1365
+ .saveLayoutPanel-panelContainer {
1366
+ display: flex;
1367
+ flex-direction: column;
1368
+ align-items: flex-start;
1339
1369
  }
1340
-
1341
- /* ../vuu-layout/src/measured-container/MeasuredContainer.css */
1342
- .vuuMeasuredContainer {
1343
- flex: var(--vuuMeasuredContainer-flex, none);
1344
- height: var(--vuuMeasuredContainer-height, var(--measured-css-height));
1345
- min-height: 0;
1346
- width: var(--measured-css-width);
1370
+ .saveLayoutPanel-panelContent {
1371
+ display: flex;
1372
+ align-items: flex-start;
1373
+ gap: 32px;
1347
1374
  }
1348
-
1349
- /* ../vuu-layout/src/overflow-container/OverflowContainer.css */
1350
- .vuuOverflowContainer {
1351
- --overflow-borderColor: var(--vuuOverflowContainer-borderColor, none);
1352
- --overflow-borderStyle: var(--vuuOverflowContainer-borderStyle, none);
1353
- --overflow-borderWidth: var(--vuuOverflowContainer-borderWidth, 0px);
1354
- --overflow-border-topWidth: var(--vuuOverflowContainer-borderTopWidth, var(--overflow-borderWidth));
1355
- --overflow-border-rightWidth: var(--vuuOverflowContainer-borderRightWidth, var(--overflow-borderWidth));
1356
- --overflow-border-bottomWidth: var(--vuuOverflowContainer-borderBottomWidth, var(--overflow-borderWidth));
1357
- --overflow-border-leftWidth: var(--vuuOverflowContainer-borderLeftWidth, var(--overflow-borderWidth));
1358
- --overflow-item-gap: var(--vuuOverflowContainer-gap,2px);
1359
- --overflow-direction: row;
1360
- --overflow-height: var(--overflow-item-height);
1361
- --overflow-top:top:0;
1362
- --overflow-width: 0px;
1363
- background-color: var(--vuuOverflowContainer-background);
1364
- border-color: var(--overflow-borderColor);
1365
- border-style: var(--overflow-borderStyle);
1366
- border-top-width: var(--overflow-border-topWidth);
1367
- border-right-width: var(--overflow-border-rightWidth);
1368
- border-bottom-width: var(--overflow-border-bottomWidth);
1369
- border-left-width: var(--overflow-border-leftWidth);
1370
- height: var(--overflow-container-heightWidth);
1375
+ .saveLayoutPanel-formContainer {
1376
+ display: flex;
1377
+ width: 217px;
1378
+ flex-direction: column;
1379
+ align-items: flex-start;
1380
+ gap: 16px;
1371
1381
  }
1372
- .vuuOverflowContainer-horizontal {
1373
- --item-align: center;
1374
- --item-margin: 0 var(--overflow-item-gap) 0 var(--overflow-item-gap);
1382
+ .saveLayoutPanel-formField {
1383
+ display: flex;
1384
+ flex-direction: column;
1385
+ gap: 1px;
1375
1386
  }
1376
- .vuuOverflowContainer-vertical {
1377
- --item-align: stretch;
1378
- --overflow-item-height: auto;
1379
- --item-margin: var(--overflow-item-gap) 0 var(--overflow-item-gap) 0;
1380
- --overflow-direction: column;
1381
- --overflow-height: 0;
1382
- --overflow-left: 0;
1383
- --overflow-top: 100%;
1384
- --overflow-width: auto;
1387
+ .saveLayoutPanel-inputText {
1388
+ border: none;
1389
+ color: var(--light-text-primary, #15171B);
1390
+ font-family: Nunito Sans A-Variant, serif;
1391
+ font-feature-settings:
1392
+ "ss02" on,
1393
+ "ss01" on,
1394
+ "salt" on,
1395
+ "liga" off;
1396
+ font-size: 12px;
1397
+ font-weight: 400;
1398
+ line-height: 16px;
1399
+ padding-left: 4px;
1400
+ width: 100%;
1401
+ outline: none;
1385
1402
  }
1386
- .vuuOverflowContainer-wrapContainer {
1387
- --border: calc(var(--overflow-border-topWidth) + var(--overflow-border-bottomWidth));
1388
- --overflow-item-height: calc(var(--overflow-container-height) - var(--border));
1389
- align-items: var(--item-align);
1403
+ .saveLayoutPanel-settingsGroup {
1390
1404
  display: flex;
1391
- flex-direction: var(--overflow-direction);
1392
1405
  flex-wrap: wrap;
1393
- height: var(--overflow-item-height);
1394
- justify-content: var(--vuuOverflowContainer-justifyContent, flex-start);
1395
- min-width: var(--vuuOverflowContainer-minWidth, 44px);
1396
- overflow: hidden;
1397
- position: relative;
1406
+ align-items: flex-end;
1407
+ gap: 10px;
1398
1408
  width: 100%;
1409
+ line-height: 16px;
1399
1410
  }
1400
- .vuuOverflowContainer-wrapContainer-overflowed {
1401
- --overflow-order: 2;
1402
- --overflow-left: auto;
1403
- --overflow-position: relative;
1404
- --overflow-width: auto;
1411
+ .saveLayoutPanel-screenshotContainer {
1412
+ display: flex;
1413
+ width: 304px;
1414
+ height: 208px;
1415
+ padding: 11px 15.5px;
1416
+ justify-content: center;
1417
+ align-items: center;
1418
+ border: 1px solid #E8E8E8;
1419
+ background: var(--dark-text-primary, #FFF);
1405
1420
  }
1406
- .vuuOverflowContainer-vertical.vuuOverflowContainer-wrapContainer-overflowed {
1407
- --overflow-height: auto;
1421
+ .saveLayoutPanel-screenshot {
1422
+ background: lightgray 50% / cover no-repeat;
1423
+ width: 273px;
1424
+ height: 186px;
1408
1425
  }
1409
- .vuuOverflowContainer-item {
1410
- align-items: inherit;
1426
+ .saveLayoutPanel-buttonsContainer {
1411
1427
  display: flex;
1412
- order: 1;
1413
- position: relative;
1414
- height: var(--overflow-item-height);
1415
- margin: var(--item-margin);
1416
- }
1417
- .vuuOverflowContainer-item[data-align=right] {
1418
- margin-left: auto;
1428
+ justify-content: flex-end;
1429
+ align-items: flex-start;
1430
+ align-self: stretch;
1431
+ padding-top: 24px;
1432
+ gap: 8px;
1419
1433
  }
1420
- .vuuOverflowContainer-item.wrapped {
1421
- --overflow-item-bg: #ccc;
1422
- order: 3;
1434
+ .saveLayoutPanel-cancelButton,
1435
+ .saveLayoutPanel-saveButton {
1436
+ display: flex;
1437
+ height: fit-content;
1438
+ padding: 4px 8px;
1439
+ align-items: flex-start;
1440
+ gap: 8px;
1441
+ border-radius: 6px;
1442
+ font-size: 12px;
1443
+ font-style: normal;
1444
+ font-weight: 700;
1445
+ line-height: 133.333%;
1446
+ letter-spacing: 0.48px;
1447
+ text-transform: uppercase;
1423
1448
  }
1424
- .vuuOverflowContainer-item.vuuDraggable-dragAway,
1425
- .vuuOverflowContainer-item:has(.vuuDraggable-dragAway) {
1426
- display: none;
1449
+ .saveLayoutPanel-cancelButton {
1450
+ color: var(--actionable-primary-foreground-default, #606477);
1451
+ background: var(--actionable-primary-background-default, #FFF);
1427
1452
  }
1428
- .vuuOverflowContainer-item.vuuDropTarget-settling {
1429
- visibility: hidden;
1453
+ .saveLayoutPanel-saveButton {
1454
+ background: #6D18BD;
1455
+ border-color: #6D18BD;
1456
+ color: white;
1430
1457
  }
1431
- .vuuOverflowContainer-OverflowIndicator {
1432
- align-items: center;
1433
- background-color: transparent;
1434
- display: flex;
1435
- height: var(--overflow-height);
1436
- order: var(--overflow-order, 99);
1437
- overflow: hidden;
1438
- left: var(--overflow-left, 100%);
1439
- top: var(--overflow-top, 100%);
1440
- position: var(--overflow-position, absolute);
1441
- width: var(--overflow-width);
1458
+ .saveLayoutPanel-saveButton.saltButton:disabled {
1459
+ background: #6D18BD;
1460
+ border-color: #6D18BD;
1461
+ color: white;
1462
+ opacity: 0.3;
1442
1463
  }
1443
- .vuuDraggable-vuuOverflowContainer {
1444
- align-items: center;
1445
- display: flex;
1446
- height: 44px;
1464
+ .saveLayoutPanel-saveButton.saltButton:hover {
1465
+ background: #F37880;
1466
+ border-color: #F37880;
1467
+ color: white;
1447
1468
  }
1448
1469
 
1449
- /* ../vuu-layout/src/palette/Palette.css */
1450
- .vuuPalette {
1451
- --vuuList-borderStyle: none;
1452
- }
1453
- .vuuPalette-horizontal {
1454
- align-items: center;
1470
+ /* ../vuu-shell/src/layout-management/LayoutTile.css */
1471
+ .vuuLayoutTile-layoutTile {
1455
1472
  display: flex;
1473
+ align-items: center;
1474
+ gap: 8px;
1475
+ padding: 8px 0px;
1476
+ flex: 1 1 auto;
1477
+ cursor: pointer;
1456
1478
  }
1457
- .vuuPaletteItem {
1458
- --vuu-icon-color: var(--salt-text-primary-foreground);
1459
- --vuu-icon-left: 0;
1460
- --vuu-icon-size: 16px;
1461
- --vuu-icon-top: 11px;
1462
- --list-item-text-padding: 0 0 0 calc(var(--salt-size-unit) * 3);
1463
- border-bottom: solid 1px var(--salt-separable-tertiary-borderColor);
1464
- padding-left: 12px;
1465
- font-size: 12px;
1479
+ .vuuLayoutTile-layoutName {
1480
+ color: var(--light-text-primary, #15171B);
1466
1481
  font-weight: 600;
1482
+ line-height: 133.333%;
1483
+ text-transform: capitalize;
1467
1484
  }
1468
- .vuuSimpleDraggableWrapper > .vuuPaletteItem {
1469
- --vuu-icon-color: var(--salt-selectable-foreground);
1485
+ .vuuLayoutTile-screenshot {
1486
+ width: 60px;
1487
+ height: 45.6px;
1488
+ border: 1px solid #D6D7DA;
1470
1489
  }
1471
- .salt-theme .vuuPaletteItem {
1472
- font-size: 11px;
1473
- font-weight: normal;
1490
+ .vuuLayoutTile-layoutDetails {
1491
+ color: var(--light-text-secondary, #606477);
1492
+ font-size: 10px;
1493
+ font-weight: 600;
1494
+ line-height: 150%;
1474
1495
  }
1475
1496
 
1476
- /* ../vuu-layout/src/stack/Stack.css */
1477
- .vuuTabs {
1497
+ /* ../vuu-shell/src/layout-management/LayoutList.css */
1498
+ .vuuLayoutList {
1499
+ --vuuMeasuredContainer-flex: 1 1 1px;
1500
+ align-self: stretch;
1478
1501
  display: flex;
1479
- box-sizing: border-box;
1480
1502
  flex-direction: column;
1503
+ height: 100%;
1504
+ overflow: hidden;
1481
1505
  }
1482
- .vuuTabs-horizontal {
1483
- --vuu-tabs-border-style: none solid none none;
1484
- flex-direction: row;
1485
- }
1486
- .vuuTabs .Toolbar:before {
1487
- left: 0;
1488
- width: 100%;
1489
- bottom: 0;
1490
- height: 1px;
1491
- content: "";
1492
- position: absolute;
1493
- background: var(--grey60);
1506
+ .vuuLayoutList-header {
1507
+ color: var(--light-text-primary, #15171B);
1508
+ flex: 0 0 47px;
1509
+ font-weight: 700;
1510
+ letter-spacing: 0.48px;
1511
+ text-transform: uppercase;
1512
+ display: flex;
1513
+ padding: 16px 0px;
1514
+ border-bottom: 1px solid rgba(119, 124, 148, 0.10);
1515
+ line-height: 200%;
1494
1516
  }
1495
- .vuuTabs-tabPanel {
1517
+ .vuuLayoutList-groupName {
1496
1518
  display: flex;
1497
- flex: 1;
1498
- flex-direction: column;
1519
+ padding-top: 24px;
1520
+ color: var(--light-text-secondary, #606477);
1521
+ font-weight: 700;
1522
+ letter-spacing: 0.48px;
1523
+ line-height: 200%;
1499
1524
  }
1500
- .vuuTabs-tabPanel > * {
1525
+ .vuuLayoutList-layoutContainer {
1526
+ display: flex;
1527
+ align-items: center;
1528
+ gap: 8px;
1529
+ padding: 8px 0px;
1501
1530
  flex: 1 1 auto;
1531
+ cursor: pointer;
1502
1532
  }
1503
- .vuuTabHeader {
1504
- --saltTabs-activationIndicator-background: transparent;
1505
- --saltToolbarField-marginTop: calc(var(--salt-size-unit) - 1px);
1506
- border-color: var(--salt-container-primary-borderColor);
1507
- border-style: var(--vuu-tabs-border-style, none none solid none);
1508
- border-width: 1px;
1533
+ .vuuLayoutList-layoutName {
1534
+ color: var(--light-text-primary, #15171B);
1535
+ font-weight: 600;
1536
+ line-height: 133.333%;
1537
+ text-transform: capitalize;
1509
1538
  }
1510
- .vuuTabHeader + .vuuView > .vuuHeader {
1511
- height: 0;
1512
- overflow: hidden;
1539
+ .vuuLayoutList-screenshot {
1540
+ width: 60px;
1541
+ height: 45.6px;
1542
+ border: 1px solid #D6D7DA;
1513
1543
  }
1514
- .Layout-svg-button {
1515
- --spacing-medium: 5px;
1544
+ .vuuLayoutList-layoutDetails {
1545
+ color: var(--light-text-secondary, #606477);
1546
+ font-size: 10px;
1547
+ font-weight: 600;
1548
+ line-height: 150%;
1516
1549
  }
1517
1550
 
1518
- /* ../vuu-layout/src/toolbar/Toolbar.css */
1519
- .vuuToolbar {
1520
- --toolbar-height: var(--vuuToolbar-height, 36px);
1521
- --toolbar-item-height: var(--vuuToolbarItem-height, 100%);
1522
- --vuuOverflowContainer-background: var(--vuuToolbar-background);
1523
- --vuuOverflowContainer-borderColor: var(--vuuToolbar-borderColor);
1524
- --vuuOverflowContainer-borderStyle: var(--vuuToolbar-borderStyle);
1525
- --vuuOverflowContainer-borderWidth: var(--vuuToolbar-borderWidth);
1526
- height: var(--toolbar-height);
1527
- }
1528
- .vuuToolbar-alignCenter {
1529
- --vuuOverflowContainer-justifyContent: center;
1530
- }
1531
- .vuuToolbar-alignEnd {
1532
- --vuuOverflowContainer-justifyContent: flex-end;
1551
+ /* ../vuu-shell/src/feature-list/FeatureList.css */
1552
+ .vuuFeatureList {
1553
+ background: var(--vuuFeatureList-background, var(--salt-container-primary-background));
1554
+ display: flex;
1555
+ flex-direction: column;
1556
+ height: 100%;
1557
+ padding: 195px 32px 16px 24px;
1533
1558
  }
1534
- .vuuToolbarItem {
1535
- height: var(--toolbar-item-height);
1559
+ .vuuFeatureList-header {
1560
+ flex: 0 0 40px;
1561
+ font-size: 12px;
1562
+ font-weight: 700;
1563
+ line-height: 2;
1536
1564
  }
1537
- .vuuToolbar-withSeparators .vuuOverflowContainer-item:not(:first-child):before {
1538
- content: "";
1539
- position: absolute;
1540
- left: calc(-1 * var(--overflow-item-gap));
1541
- top: calc((var(--toolbar-height) - var(--toolbar-item-height)) /2);
1542
- width: 1px;
1543
- height: var(--toolbar-item-height);
1544
- background-color: var(--vuu-color-gray-05);
1565
+ .vuuFeatureList-content {
1566
+ flex: 1 1 auto;
1567
+ font-size: 12px;
1568
+ font-weight: 700;
1545
1569
  }
1546
- .vuuToolbarItem.vuuFocusVisible {
1547
- outline-color: var(--vuuToolbarItem-outlineColor, var(--salt-focused-outlineColor));
1548
- outline-style: dashed;
1549
- outline-width: 1px;
1550
- outline-offset: 0px;
1570
+
1571
+ /* ../vuu-shell/src/left-nav/LeftNav.css */
1572
+ .vuuLeftNav {
1573
+ --salt-navigable-fontWeight-active: 700;
1574
+ --vuuTab-background-selected: rgba(255, 255, 255, 0.10);
1575
+ --vuuTab-hover-background: rgba(255, 255, 255, 0.10);
1576
+ --vuuTab-before-content: none;
1577
+ --vuuTab-borderRadius: 6px;
1578
+ --vuuTab-height: 40px;
1579
+ --vuuTab-padding: 0 0 0 48px;
1580
+ --vuuTabstrip-fontWeight: 700;
1581
+ --vuuTabstrip-width: 100%;
1582
+ --svg-demo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M11.3333 11C11.52 11 11.6667 10.8533 11.6667 10.6667C11.6667 10.48 11.52 10.3333 11.3333 10.3333C11.1467 10.3333 11 10.48 11 10.6667C11 10.8533 11.1467 11 11.3333 11Z"/><path d="M5.99999 8.66667C6.36818 8.66667 6.66666 8.36819 6.66666 8C6.66666 7.63181 6.36818 7.33334 5.99999 7.33334C5.63181 7.33334 5.33333 7.63181 5.33333 8C5.33333 8.36819 5.63181 8.66667 5.99999 8.66667Z"/><path d="M8.66667 6C9.03486 6 9.33333 5.70152 9.33333 5.33333C9.33333 4.96514 9.03486 4.66667 8.66667 4.66667C8.29848 4.66667 8 4.96514 8 5.33333C8 5.70152 8.29848 6 8.66667 6Z"/><path d="M8.66667 11.3333C9.03486 11.3333 9.33333 11.0349 9.33333 10.6667C9.33333 10.2985 9.03486 10 8.66667 10C8.29848 10 8 10.2985 8 10.6667C8 11.0349 8.29848 11.3333 8.66667 11.3333Z"/><path d="M11.3333 8.33333C11.52 8.33333 11.6667 8.18666 11.6667 8C11.6667 7.81333 11.52 7.66666 11.3333 7.66666C11.1467 7.66666 11 7.81333 11 8C11 8.18666 11.1467 8.33333 11.3333 8.33333Z"/><path d="M8.66667 8.66667C9.03486 8.66667 9.33333 8.36819 9.33333 8C9.33333 7.63181 9.03486 7.33334 8.66667 7.33334C8.29848 7.33334 8 7.63181 8 8C8 8.36819 8.29848 8.66667 8.66667 8.66667Z"/><path d="M2 2H14V3.33333H2V2Z"/><path d="M3.33333 6.33333C3.88561 6.33333 4.33333 5.88562 4.33333 5.33333C4.33333 4.78105 3.88561 4.33333 3.33333 4.33333C2.78104 4.33333 2.33333 4.78105 2.33333 5.33333C2.33333 5.88562 2.78104 6.33333 3.33333 6.33333Z"/><path d="M3.33333 9C3.88561 9 4.33333 8.55228 4.33333 8C4.33333 7.44772 3.88561 7 3.33333 7C2.78104 7 2.33333 7.44772 2.33333 8C2.33333 8.55228 2.78104 9 3.33333 9Z"/><path d="M3.33333 11.6667C3.88561 11.6667 4.33333 11.2189 4.33333 10.6667C4.33333 10.1144 3.88561 9.66666 3.33333 9.66666C2.78104 9.66666 2.33333 10.1144 2.33333 10.6667C2.33333 11.2189 2.78104 11.6667 3.33333 11.6667Z"/><path d="M11.3333 5.66667C11.52 5.66667 11.6667 5.52 11.6667 5.33333C11.6667 5.14667 11.52 5 11.3333 5C11.1467 5 11 5.14667 11 5.33333C11 5.52 11.1467 5.66667 11.3333 5.66667Z"/><path d="M5.99999 11.3333C6.36818 11.3333 6.66666 11.0349 6.66666 10.6667C6.66666 10.2985 6.36818 10 5.99999 10C5.63181 10 5.33333 10.2985 5.33333 10.6667C5.33333 11.0349 5.63181 11.3333 5.99999 11.3333Z"/><path d="M5.99999 6C6.36818 6 6.66666 5.70152 6.66666 5.33333C6.66666 4.96514 6.36818 4.66667 5.99999 4.66667C5.63181 4.66667 5.33333 4.96514 5.33333 5.33333C5.33333 5.70152 5.63181 6 5.99999 6Z"/><path d="M2 12.6667H14V14H2V12.6667Z"/></svg>');
1583
+ --svg-features: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.3333 12.6667H14L14 3.33334H15.3333L15.3333 12.6667ZM12.6667 12.6667H11.3333L11.3333 3.33334H12.6667L12.6667 12.6667ZM1.33333 12.6667L9.33333 12.6667C9.69999 12.6667 9.99999 12.3667 9.99999 12V4.00001C9.99999 3.63334 9.69999 3.33334 9.33333 3.33334L1.33333 3.33334C0.966661 3.33334 0.666661 3.63334 0.666661 4.00001L0.666661 12C0.666661 12.3667 0.966661 12.6667 1.33333 12.6667ZM1.99999 4.66667L8.66666 4.66667V11.3333L1.99999 11.3333L1.99999 4.66667Z"/></svg>');
1584
+ --svg-tables: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 6H4.66667V3.33334H3.33333C2.6 3.33334 2 3.93334 2 4.66667V6ZM2 9.33334H4.66667V6.66667H2V9.33334ZM5.33333 9.33334H8V6.66667H5.33333V9.33334ZM8.66667 9.33334H11.3333V6.66667H8.66667V9.33334ZM5.33333 6H8V3.33334H5.33333V6ZM8.66667 3.33334V6H11.3333V3.33334H8.66667ZM12 9.33334H14.6667V6.66667H12V9.33334ZM3.33333 12.6667H4.66667V10H2V11.3333C2 12.0667 2.6 12.6667 3.33333 12.6667ZM5.33333 12.6667H8V10H5.33333V12.6667ZM8.66667 12.6667H11.3333V10H8.66667V12.6667ZM12 12.6667H13.3333C14.0667 12.6667 14.6667 12.0667 14.6667 11.3333V10H12V12.6667ZM12 3.33334V6H14.6667V4.66667C14.6667 3.93334 14.0667 3.33334 13.3333 3.33334H12Z"/></svg>');
1585
+ --svg-layouts: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M15.3333 10H14V11.3333H15.3333V10ZM15.3333 12.6667H14V14H15.3333V12.6667ZM15.3333 7.33333H14V8.66667H15.3333V7.33333ZM10 2H8.66667V3.33333H10V2ZM15.3333 4.66667H14V6H15.3333V4.66667ZM0.666672 14H7.33334V10H0.666672V14ZM2.00001 4.66667H0.666672V6H2.00001V4.66667ZM10 12.6667H8.66667V14H10V12.6667ZM12.6667 2H11.3333V3.33333H12.6667V2ZM15.3333 2H14V3.33333H15.3333V2ZM12.6667 12.6667H11.3333V14H12.6667V12.6667ZM2.00001 7.33333H0.666672V8.66667H2.00001V7.33333ZM7.33334 2H6.00001V3.33333H7.33334V2ZM4.66667 2H3.33334V3.33333H4.66667V2ZM2.00001 2H0.666672V3.33333H2.00001V2Z"/></svg>');
1586
+ --vuu-light-text-primary: #15171b;
1587
+ --menu-level-2-width: 0px;
1588
+ box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);
1589
+ display: flex;
1590
+ height: calc(100% - 4px);
1591
+ margin-bottom: 4px;
1592
+ overflow: hidden;
1593
+ position: relative;
1594
+ transition: width .2s ease-out;
1595
+ z-index: 0;
1551
1596
  }
1552
- .vuuPopupMenu:focus,
1553
- .vuuToolbarItem:focus,
1554
- .vuuToolbarItem:focus-visible {
1555
- outline-color: var(--vuuToolbarItem-outlineColor, var(--vuu-color-purple-10));
1556
- outline-style: dashed;
1557
- outline-width: 1px;
1558
- outline-offset: 0px;
1597
+ .vuuLeftNav-menu-full {
1598
+ --menu-width: var(--nav-menu-expanded-width);
1559
1599
  }
1560
-
1561
- /* ../vuu-layout/src/tools/devtools-box/layout-configurator.css */
1562
- [data-design-mode=true] .Component {
1563
- filter: grayscale(100%);
1564
- opacity: 0.4;
1600
+ .vuuLeftNav-menu-icons {
1601
+ --menu-width: var(--nav-menu-collapsed-width);
1565
1602
  }
1566
- [data-design-mode=true] .Component:after {
1567
- color: black;
1568
- content: "Component";
1569
- height: 12px;
1570
- background-color: yellow;
1603
+ .vuuLeftNav-menu-icons-content {
1604
+ --menu-width: var(--nav-menu-collapsed-width);
1605
+ --menu-level-2-width: var(--nav-menu-content-width);
1571
1606
  }
1572
- .LayoutConfigurator {
1573
- --margin-color: #f3cea5;
1574
- --border-color: #fddda0;
1575
- --padding-color: #c6d092;
1576
- --content-color: #8cb6c0;
1607
+ .vuuLeftNav-menu-full-content {
1608
+ --menu-width: var(--nav-menu-expanded-width);
1609
+ --menu-level-2-width: var(--nav-menu-content-width);
1610
+ }
1611
+ .vuuLeftNav-menu-icons-content .vuuLeftNav-menu-secondary,
1612
+ .vuuLeftNav-menu-full-content .vuuLeftNav-menu-secondary {
1577
1613
  display: flex;
1578
- flex-direction: column;
1579
- align-items: stretch;
1580
- background-color: var(--margin-color);
1581
1614
  }
1582
- .LayoutConfigurator .layout-outer {
1583
- flex: 1 1 auto;
1615
+ .vuuLeftNav-menu-primary {
1616
+ background-color: #2A015F;
1617
+ container-type: inline-size;
1584
1618
  display: flex;
1585
1619
  flex-direction: column;
1586
- align-items: stretch;
1620
+ height: 100%;
1621
+ padding: 32px 16px;
1622
+ transition: flex-basis ease-out .2s;
1623
+ flex-grow: 0;
1624
+ flex-shrink: 0;
1625
+ flex-basis: var(--menu-width);
1587
1626
  }
1588
- .LayoutBox {
1589
- --hw-control-font-size: 13px;
1590
- --hw-text-input-bg: rgba(255, 255, 255, 0.3);
1591
- --hwTextInput-padding: 3px;
1592
- --hw-text-input-position: absolute;
1593
- --hwTextInput-width: 30px;
1627
+ .vuuLeftNav-menu-secondary {
1594
1628
  flex: 1 1 auto;
1629
+ display: none;
1630
+ top: 0;
1631
+ right: 0;
1632
+ flex-grow: 0;
1633
+ flex-shrink: 0;
1634
+ flex-basis: var(--nav-menu-content-width, 240px);
1635
+ z-index: -1;
1595
1636
  }
1596
- .LayoutBox > .layout-top {
1597
- flex: 0 0 40px;
1598
- padding-left: 12px;
1599
- display: flex;
1600
- flex-direction: row;
1601
- align-items: center;
1602
- position: relative;
1637
+ .vuuLeftNav .vuuTabstrip {
1638
+ margin-top: 102px;
1603
1639
  }
1604
- .LayoutBox > .layout-bottom {
1605
- flex: 0 0 40px;
1606
- position: relative;
1607
- display: flex;
1608
- flex-direction: row;
1609
- align-items: center;
1640
+ .vuuLeftNav .vuuTab {
1641
+ --vuuTab-focusVisible-color: pink;
1642
+ --vuu-icon-color: white;
1643
+ --vuu-icon-left: 12px;
1644
+ --vuu-icon-size: 16px;
1645
+ border-left: solid 4px transparent;
1610
1646
  }
1611
- .LayoutBox > .layout-inner > .layout-right,
1612
- .LayoutBox > .layout-inner > .layout-left {
1613
- flex: 0 0 40px;
1647
+ .vuuLeftNav .vuuTab-selected {
1648
+ --vuu-icon-color: var(--salt-navigable-indicator-active);
1649
+ border-left: solid 4px var(--salt-navigable-indicator-active);
1650
+ }
1651
+ .vuuLeftNav-logo {
1614
1652
  display: flex;
1615
- flex-direction: column;
1653
+ flex: 0 0 auto;
1616
1654
  justify-content: center;
1617
- align-items: center;
1618
- }
1619
- .layout-top,
1620
- .layout-bottom {
1621
- --hw-text-input-margin: 0 0 0 -15px;
1622
- }
1623
- .layout-top > .layout-input,
1624
- .layout-bottom > .layout-input {
1625
- left: 50%;
1626
1655
  }
1627
- .LayoutBox > .layout-inner {
1656
+ .vuuLeftNav-main {
1628
1657
  flex: 1 1 auto;
1629
- display: flex;
1630
- flex-direction: row;
1631
- align-items: stretch;
1632
1658
  }
1633
- .LayoutBox.layout-margin {
1634
- background-color: var(--margin-color);
1635
- border: dashed 2px black;
1659
+ .vuuLeftNav-menu {
1660
+ color: white;
1661
+ margin-top: 102px;
1662
+ padding: 0;
1636
1663
  }
1637
- .LayoutBox.layout-border {
1638
- background-color: var(--border-color);
1639
- border: solid 2px black;
1664
+ .vuuLeftNav [data-icon=demo] {
1665
+ --vuu-icon-svg: var(--svg-demo);
1640
1666
  }
1641
- .LayoutBox.layout-padding {
1642
- background-color: var(--padding-color);
1643
- border: dashed 2px black;
1667
+ .vuuLeftNav [data-icon=tables] {
1668
+ --vuu-icon-svg: var(--svg-tables);
1644
1669
  }
1645
- .LayoutBox .layout-content {
1646
- flex: 1 1 auto;
1647
- background-color: var(--content-color);
1648
- border: solid 2px #808080;
1670
+ .vuuLeftNav [data-icon=features] {
1671
+ --vuu-icon-svg: var(--svg-features);
1649
1672
  }
1650
- .LayoutBox .layout-title {
1651
- color: #161616;
1652
- font-size: 11px;
1653
- left: 4px;
1654
- line-height: 15px;
1655
- position: absolute;
1656
- top: 1px;
1673
+ .vuuLeftNav [data-icon=layouts] {
1674
+ --vuu-icon-svg: var(--svg-layouts);
1657
1675
  }
1658
-
1659
- /* ../vuu-layout/src/tools/devtools-tree/layout-tree-viewer.css */
1660
- .hwLayoutTreeViewer {
1676
+ @container (max-width: 100px) {
1677
+ .vuuTab {
1678
+ --vuuTab-padding: 0 0 0 42px;
1679
+ }
1680
+ .vuuTab-main {
1681
+ display: none !important;
1682
+ }
1661
1683
  }
1662
- .hwLayoutTreeNode {
1663
- cursor: default;
1684
+ .vuuLeftNav-buttonBar {
1685
+ align-items: center;
1686
+ display: flex;
1687
+ flex: 0 0 100px;
1688
+ justify-content: center;
1664
1689
  }
1665
- .hwLayoutTreeNode:hover {
1666
- background-color: rgba(255, 255, 255, 0.2);
1690
+ .vuuLeftNav-toggleButton {
1691
+ --vuu-icon-color: var(--vuu-light-text-primary);
1692
+ --vuu-icon-left: 11px;
1693
+ --vuu-icon-top: 10px;
1694
+ --vuu-icon-size: 16px;
1695
+ background-color: var(--salt-navigable-indicator-active);
1696
+ border-width: 0;
1697
+ border-radius: 18px;
1698
+ height: 36px;
1699
+ position: relative;
1700
+ width: 36px;
1667
1701
  }
1668
- .hwLayoutTreeNode[aria-selected=true] {
1669
- background-color: cornflowerblue;
1670
- color: white;
1702
+ .vuuLeftNav-toggleButton-open {
1703
+ --vuu-icon-left: 9px;
1704
+ }
1705
+ .vuuLeftNav-drawer {
1706
+ display: flex;
1707
+ padding: 40px 32px 0px 24px;
1708
+ flex-direction: column;
1709
+ align-items: flex-start;
1710
+ flex-shrink: 0;
1711
+ align-self: stretch;
1712
+ background: #FFF;
1713
+ box-shadow: 3px 4px 4px 0px rgba(0, 0, 0, 0.15);
1714
+ height: 100%;
1671
1715
  }
1672
1716
 
1673
- /* src/filter-builder-menu/FilterBuilderMenu.css */
1674
- .vuuFilterBuilderMenu {
1675
- margin: 0;
1717
+ /* ../vuu-shell/src/session-editing-form/SessionEditingForm.css */
1718
+ .vuuSessionEditingForm {
1719
+ display: flex;
1720
+ flex-direction: column;
1721
+ gap: 3px;
1722
+ min-width: 400px;
1723
+ padding: 6px;
1676
1724
  }
1677
- .vuuFilterBuilderMenu-trigger {
1678
- display: inline-block;
1679
- height: 26px;
1680
- width: 0px;
1725
+ .vuuSessionEditingForm-content {
1726
+ display: flex;
1727
+ flex-direction: column;
1728
+ flex: 1 1 auto;
1729
+ gap: 3px;
1730
+ overflow: auto;
1681
1731
  }
1682
- .vuuFilterBuilderMenuList {
1683
- --vuuList-borderStyle: none;
1732
+ .vuuSessionEditingForm-field {
1733
+ align-items: center;
1734
+ display: flex;
1735
+ height: 32px;
1684
1736
  }
1685
- .vuuListItem:has(.vuuMenuButton) {
1686
- justify-content: center;
1737
+ .vuuSessionEditingForm-fieldLabel {
1738
+ flex: 0 0 50%;
1687
1739
  }
1688
- .vuuMenuButton {
1689
- background-color: white;
1690
- border: solid 1px var(--salt-actionable-primary-foreground);
1691
- border-radius: 6px;
1692
- color: var(--vuu-color-gray-50);
1693
- font-size: 9px;
1694
- padding: 1px 6px;
1740
+ .vuuSessionEditingForm-fieldValue {
1741
+ max-width: 50%;
1742
+ }
1743
+ .vuuSessionEditingForm-fieldValue.vuuReadOnly {
1744
+ font-weight: var(--salt-text-label-fontWeight-strong);
1745
+ }
1746
+ .vuuSessionEditingForm-buttonbar {
1747
+ align-items: center;
1748
+ border-top: solid 1px var(--salt-container-primary-borderColor);
1749
+ display: flex;
1750
+ justify-content: flex-end;
1751
+ flex: 0 0 autox;
1752
+ gap: 6px;
1753
+ padding-top: 6px;
1754
+ }
1755
+ .vuuSessionEditingForm-errorBanner {
1756
+ --vuu-icon-left: 3px;
1757
+ --vuu-icon-size: 18px;
1758
+ --vuu-icon-top: 3px;
1759
+ border: solid 1px var(--salt-status-error-borderColor);
1760
+ line-height: 24px;
1761
+ padding: 0 6px 0 26px;
1762
+ position: relative;
1695
1763
  }
1696
1764
 
1697
- /* src/filter-clause/ExpandoCombobox.css */
1698
- .vuuExpandoCombobox {
1699
- --expando-combobox-height: var(--vuuExpandoCombobox-height, 24px);
1700
- --expando-combobox-fontSize: var(--vuuExpandoCombobox-fontSizew, 12px);
1701
- --saltInput-outline: none;
1702
- --saltInput-fontSize: var(--expando-combobox-fontSize);
1703
- --saltInput-height: var(--expando-combobox-height);
1704
- --saltInput-minWidth: 4px;
1705
- display: inline-flex;
1706
- flex-direction: column;
1707
- height: var(--expando-combobox-height);
1708
- min-width: 4px;
1709
- padding: 0;
1765
+ /* ../vuu-shell/src/shell-layouts/context-panel/ContextPanel.css */
1766
+ .vuuContextPanel {
1767
+ position: relative;
1768
+ transition: width .3s ease-in-out;
1769
+ width: var(--vuu-side-panel-width, 0px) !important;
1770
+ z-index: 1;
1710
1771
  }
1711
- .vuuExpandoCombobox .saltInput {
1712
- background-color: transparent;
1713
- position: absolute;
1772
+ .vuuContextPanel-expanded {
1773
+ --vuu-side-panel-width: 300px !important;
1774
+ --vuu-side-panel-shadow: -4px 4px 4px rgba(0, 0, 0, 0.1);
1775
+ --vuu-side-panel-padding: 24px;
1776
+ }
1777
+ .vuuContextPanel-overlay {
1778
+ width: 0px !important;
1779
+ }
1780
+ .vuuContextPanel-inner {
1781
+ background-color: var(--salt-container-primary-background);
1782
+ box-shadow: var(--vuu-side-panel-shadow, none);
1783
+ display: flex;
1784
+ flex-direction: column;
1785
+ height: 100%;
1786
+ min-width: 0 !important;
1787
+ overflow: auto;
1788
+ padding-bottom: 24px;
1789
+ padding-top: 24px;
1790
+ padding-left: var(--vuu-side-panel-padding, 0);
1791
+ padding-right: var(--vuu-side-panel-padding, 0);
1792
+ position: absolute !important;
1793
+ right: 0;
1794
+ top: 0;
1795
+ transition-property:
1796
+ padding-left,
1797
+ padding-right,
1798
+ width;
1799
+ transition-duration: .3s;
1800
+ transition-timing-function: ease-in-out;
1801
+ width: var(--vuu-side-panel-width, 0px);
1714
1802
  }
1715
- .vuuExpandoCombobox .vuuDropdown {
1716
- height: 100%;
1803
+ .vuuContextPanel-header {
1804
+ align-items: center;
1805
+ display: flex;
1806
+ flex-wrap: nowrap;
1807
+ flex: 0 0 27px !important;
1808
+ justify-content: space-between;
1717
1809
  }
1718
- .vuuExpandoCombobox-Input.saltInput {
1719
- border: none;
1720
- left: 0px;
1721
- margin: 0;
1722
- min-height: 100%;
1723
- padding: 0;
1724
- right: 0px;
1725
- width: auto;
1810
+ .vuuContextPanel-title {
1811
+ font-size: 20px;
1812
+ font-weight: 700;
1813
+ white-space: nowrap;
1726
1814
  }
1727
- .vuuExpandoCombobox .saltInput-input {
1728
- border: none;
1729
- box-sizing: content-box;
1730
- display: block;
1731
- flex: 1;
1732
- font: inherit;
1733
- margin: 0;
1734
- min-width: 0;
1735
- outline: none;
1736
- padding: 0;
1815
+ .vuuContextPanel-content {
1816
+ flex: 1 1 auto;
1817
+ width: 100%;
1737
1818
  }
1738
- .vuuExpandoCombobox:before {
1739
- content: attr(data-text);
1740
- display: block;
1741
- font-size: var(--expando-combobox-fontSize);
1742
- height: 0px;
1743
- overflow: hidden;
1744
- white-space: pre-wrap;
1819
+
1820
+ /* ../vuu-shell/src/shell-layouts/side-panel/SidePanel.css */
1821
+ .vuuShellSidePanel {
1822
+ transition: width .2s ease-out;
1823
+ width: var(--shell-left-nav-size);
1745
1824
  }
1746
1825
 
1747
- /* src/filter-clause/FilterClauseEditor.css */
1748
- .vuuFilterClause {
1749
- --vuuExpandoInput-top: 0;
1750
- --vuuExpandoInput-height: 16px;
1751
- --vuuExpandoCombobox-height: 16px;
1752
- --saltButton-height: 16px;
1753
- --saltButton-width: 16px;
1754
- display: flex;
1755
- flex-direction: row;
1756
- width: fit-content;
1757
- border-color: var(--vuu-color-gray-45);
1758
- border-radius: 6px;
1759
- border-width: 1px;
1760
- border-style: solid;
1761
- background: #ffffff;
1762
- --salt-focused-outlineStyle: dotted;
1826
+ /* ../vuu-shell/src/shell.css */
1827
+ .vuuShell {
1828
+ background-color: var(--vuu-color-gray-25);
1829
+ height: var(--vuuShell-height, 100vh);
1830
+ width: var(--vuuShell-width, 100vw);
1763
1831
  }
1764
- .vuuFilterClause:focus-within {
1765
- border-color: var(--vuu-color-purple-10);
1832
+ .vuuShell-mainTabs {
1833
+ background: var(--salt-container-primary-background);
1766
1834
  }
1767
- .vuu-density-high .vuuFilterClause {
1768
- padding: 4px 8px;
1769
- gap: 4px;
1770
- --salt-text-lineHeight: 12px;
1771
- --saltInputLegacy-fontSize: 12px;
1772
- --saltInputLegacy-minWidth: 12px;
1835
+ .vuuShell-palette {
1836
+ --vuuView-border: none;
1837
+ --vuuView-margin: 0;
1773
1838
  }
1774
- .vuu-density-high .vuuFilterClause .saltInput {
1775
- padding: 0;
1776
- min-height: 16px;
1777
- height: 16px;
1839
+ .vuuShell-warningPlaceholder {
1840
+ background-color: var(--salt-container-background-high);
1841
+ height: 100%;
1778
1842
  }
1779
- .vuuFilterClause .vuuExpandoCombobox {
1780
- flex-basis: auto;
1781
- flex-shrink: 0;
1782
- flex-grow: 0;
1843
+ .vuuToolbarProxy {
1844
+ background: var(--salt-container-primary-background);
1783
1845
  }
1784
- .vuuFilterClauseOperator-hidden {
1785
- display: none;
1846
+ .vuuShell-mainTabs > .vuuTabstrip > .vuuOverflowContainer-wrapContainer {
1847
+ background: var(--vuu-color-gray-25);
1786
1848
  }
1787
- .vuuFilterClause :not(.vuuFilterClauseNumericValue) .saltInput {
1849
+ .vuuShell-mainTabs {
1850
+ --vuuTab-height: 28px;
1851
+ border: solid 1px #D6D7DA;
1852
+ border-top: none !important;
1853
+ border-radius: 6px;
1854
+ height: 100%;
1855
+ padding: 36px 8px 8px 8px;
1856
+ position: relative;
1857
+ width: 100%;
1788
1858
  }
1789
- .vuuFilterClause .saltInput-focused,
1790
- .vuuFilterClause .saltTokenizedInput-focused {
1791
- outline: none;
1792
- color: var(--salt-text-primary-foreground);
1859
+ .vuuShell-mainTabs > .vuuTabstrip {
1860
+ --vuuTabstrip-height: 28px;
1861
+ --saltTabs-tabstrip-height: 29px;
1862
+ --tabstrip-height: 29px;
1863
+ left: -1px;
1864
+ padding-bottom: 7px;
1865
+ position: absolute !important;
1866
+ right: 1px;
1867
+ top: 0;
1868
+ width: calc(100% + 2px) !important;
1793
1869
  }
1794
- .vuuFilterClause .saltInput-input::selection {
1795
- color: #ffffff;
1870
+ .vuuShell-mainTabs > .vuuTabHeader {
1871
+ border-bottom: none;
1796
1872
  }
1797
- .vuu-theme .saltList {
1798
- --list-borderWidth: 1px;
1799
- --list-borderStyle: solid;
1800
- border-radius: 4px;
1801
- box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.4);
1873
+ .vuuShell-mainTabs > .vuuTabstrip:before {
1874
+ background-color: transparent;
1875
+ border-radius: 0 6px 0 0;
1876
+ border-left: solid 1px #D6D7DA;
1877
+ border-right: solid 1px #D6D7DA;
1878
+ border-top: solid 1px #D6D7DA;
1879
+ content: "";
1880
+ position: absolute;
1881
+ bottom: 0;
1882
+ left: 0;
1883
+ right: 0;
1884
+ height: 8px;
1885
+ z-index: 1;
1802
1886
  }
1803
- .saltListItem[aria-selected=true]:not(.saltListItem-checkbox) {
1804
- --list-item-background: var(--list-item-background-active);
1805
- color: var(--list-item-text-color-active);
1887
+ .vuuTab.MainTab {
1888
+ --vuuTabMenu-top: -1px;
1889
+ background-color: #F1F2F4;
1890
+ border-color: #D6D7DA;
1891
+ border-radius: 6px 6px 0 0;
1892
+ border-width: 1px;
1893
+ border-style: solid;
1894
+ position: relative;
1806
1895
  }
1807
- .saltTokenizedInput {
1808
- height: 16px;
1809
- min-height: 16px;
1896
+ .MainTab.vuuTab-selected {
1897
+ background-color: white;
1898
+ border-bottom-color: white;
1899
+ z-index: 1;
1810
1900
  }
1811
- .saltTokenizedInput .saltInputPill {
1812
- --pill-fontSize: 12px;
1813
- --saltButton-borderStyle: none;
1814
- --pill-background: none;
1815
- height: 16px;
1816
- margin: 0;
1901
+ .MainTab.vuuTab-selected:before {
1902
+ background-color: #6d188b;
1903
+ content: "";
1904
+ position: absolute;
1905
+ height: 100%;
1906
+ left: 0;
1907
+ top: 0;
1908
+ border-radius: 6px 0 0 0;
1909
+ width: 6px;
1817
1910
  }
1818
- .saltTokenizedInput-pillGroup {
1819
- padding: 0;
1820
- height: 16px;
1911
+ .MainTab.vuuTab:hover:before {
1912
+ background-color: #F37880;
1913
+ content: "";
1914
+ position: absolute;
1915
+ height: 100%;
1916
+ left: 0;
1917
+ top: 0;
1918
+ border-radius: 6px 0 0 0;
1919
+ width: 6px;
1821
1920
  }
1822
-
1823
- /* src/filter-pill-menu/FilterPillMenu.css */
1824
- .vuuFilterPillMenu {
1825
- top: -1px;
1921
+ .vuuTab.MainTab .vuuTab-main {
1922
+ background-color: transparent;
1923
+ font-weight: 700;
1924
+ height: 29px;
1925
+ padding: 0 24px;
1826
1926
  }
1827
1927
 
1828
- /* src/filter-pill/FilterPill.css */
1829
- .vuuFilterPill {
1830
- align-items: center;
1831
- background: var(--salt-taggable-background);
1832
- border: solid 1px var(--salt-taggable-foreground);
1833
- border-radius: 24px;
1834
- color: var(--vuu-color-gray-50);
1835
- display: inline-flex;
1836
- max-width: var(--vuuFilterPill-maxWidth, 200px);
1837
- padding: 0 8px;
1838
- position: relative;
1839
- user-select: none;
1840
- outline: none;
1928
+ /* ../vuu-shell/src/theme-switch/ThemeSwitch.css */
1929
+ .vuuThemeSwitch {
1930
+ --saltButton-minWidth: 22px;
1931
+ --svg-light: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M24 31q2.9 0 4.95-2.05Q31 26.9 31 24q0-2.9-2.05-4.95Q26.9 17 24 17q-2.9 0-4.95 2.05Q17 21.1 17 24q0 2.9 2.05 4.95Q21.1 31 24 31Zm0 3q-4.15 0-7.075-2.925T14 24q0-4.15 2.925-7.075T24 14q4.15 0 7.075 2.925T34 24q0 4.15-2.925 7.075T24 34ZM3.5 25.5q-.65 0-1.075-.425Q2 24.65 2 24q0-.65.425-1.075Q2.85 22.5 3.5 22.5h5q.65 0 1.075.425Q10 23.35 10 24q0 .65-.425 1.075-.425.425-1.075.425Zm36 0q-.65 0-1.075-.425Q38 24.65 38 24q0-.65.425-1.075.425-.425 1.075-.425h5q.65 0 1.075.425Q46 23.35 46 24q0 .65-.425 1.075-.425.425-1.075.425ZM24 10q-.65 0-1.075-.425Q22.5 9.15 22.5 8.5v-5q0-.65.425-1.075Q23.35 2 24 2q.65 0 1.075.425.425.425.425 1.075v5q0 .65-.425 1.075Q24.65 10 24 10Zm0 36q-.65 0-1.075-.425-.425-.425-.425-1.075v-5q0-.65.425-1.075Q23.35 38 24 38q.65 0 1.075.425.425.425.425 1.075v5q0 .65-.425 1.075Q24.65 46 24 46ZM12 14.1l-2.85-2.8q-.45-.45-.425-1.075.025-.625.425-1.075.45-.45 1.075-.45t1.075.45L14.1 12q.4.45.4 1.05 0 .6-.4 1-.4.45-1.025.45-.625 0-1.075-.4Zm24.7 24.75L33.9 36q-.4-.45-.4-1.075t.45-1.025q.4-.45 1-.45t1.05.45l2.85 2.8q.45.45.425 1.075-.025.625-.425 1.075-.45.45-1.075.45t-1.075-.45ZM33.9 14.1q-.45-.45-.45-1.05 0-.6.45-1.05l2.8-2.85q.45-.45 1.075-.425.625.025 1.075.425.45.45.45 1.075t-.45 1.075L36 14.1q-.4.4-1.025.4-.625 0-1.075-.4ZM9.15 38.85q-.45-.45-.45-1.075t.45-1.075L12 33.9q.45-.45 1.05-.45.6 0 1.05.45.45.45.45 1.05 0 .6-.45 1.05l-2.8 2.85q-.45.45-1.075.425-.625-.025-1.075-.425ZM24 24Z"/></svg>');
1932
+ --svg-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path d="M24 42q-7.5 0-12.75-5.25T6 24q0-7.5 5.25-12.75T24 6q.4 0 .85.025.45.025 1.15.075-1.8 1.6-2.8 3.95-1 2.35-1 4.95 0 4.5 3.15 7.65Q28.5 25.8 33 25.8q2.6 0 4.95-.925T41.9 22.3q.05.6.075.975Q42 23.65 42 24q0 7.5-5.25 12.75T24 42Zm0-3q5.45 0 9.5-3.375t5.05-7.925q-1.25.55-2.675.825Q34.45 28.8 33 28.8q-5.75 0-9.775-4.025T19.2 15q0-1.2.25-2.575.25-1.375.9-3.125-4.9 1.35-8.125 5.475Q9 18.9 9 24q0 6.25 4.375 10.625T24 39Zm-.2-14.85Z"/></svg>');
1933
+ padding: 2px;
1841
1934
  }
1842
- .vuuFilterPill.vuuToolbarItem {
1843
- height: 24px;
1935
+ .salt-density-high .vuuThemeSwitch {
1936
+ --saltButton-minWidth: 16px;
1937
+ --saltButton-width: 18px;
1938
+ --vuuThemeSwitch-iconSize: 16px;
1844
1939
  }
1845
- .vuuFilterPill[aria-selected=true] {
1846
- --vuuPopupMenu-iconColor: white;
1847
- --salt-text-background-selected: var(--vuu-color-blue-40);
1848
- --salt-text-color-selected: var(--salt-text-primary-foreground);
1849
- --saltInput-background-hover: var(--salt-taggable-background-active);
1850
- --saltInput-color: var(--salt-taggable-foreground-active);
1851
- background: var(--salt-taggable-background-active);
1852
- color: white;
1940
+ .vuuThemeSwitch [data-icon] {
1941
+ --vuu-icon-size: var(--vuuThemeSwitch-iconSize,18px);
1853
1942
  }
1854
- .vuuFilterPill:not([aria-selected="true"]):hover {
1855
- --vuuPopupMenu-iconColor: var(--vuu-color-gray-80);
1856
- background-color: var(--salt-taggable-background-hover);
1857
- border-color: var(--salt-taggable-background-hover);
1858
- color: var(--vuu-color-gray-80);
1943
+ .vuuThemeSwitch [data-icon=light] {
1944
+ --vuu-icon-svg: var(--svg-light);
1945
+ }
1946
+ .vuuThemeSwitch [data-icon=dark] {
1947
+ --vuu-icon-svg: var(--svg-dark);
1948
+ }
1949
+ .vuuThemeSwitch .saltToggleButton {
1950
+ height: 20px;
1951
+ width: 20px;
1859
1952
  }
1860
1953
 
1861
1954
  /* src/filter-bar/FilterBar.css */