@vuu-ui/vuu-table 0.8.5-debug → 0.8.6-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 (55) hide show
  1. package/cjs/index.js +11446 -9180
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +10202 -7901
  4. package/esm/index.js.map +4 -4
  5. package/index.css +587 -149
  6. package/index.css.map +3 -3
  7. package/package.json +8 -8
  8. package/types/index.d.ts +2 -10
  9. package/types/table/index.d.ts +10 -0
  10. package/types/{useTableModel.d.ts → table/useTableModel.d.ts} +6 -2
  11. package/types/table-next/ColumnMenu.d.ts +7 -0
  12. package/types/table-next/HeaderCell.d.ts +11 -0
  13. package/types/table-next/Row.d.ts +17 -0
  14. package/types/table-next/TableCell.d.ts +9 -0
  15. package/types/table-next/TableGroupCell.d.ts +9 -0
  16. package/types/table-next/TableNext.d.ts +4 -0
  17. package/types/table-next/index.d.ts +1 -0
  18. package/types/table-next/useCell.d.ts +6 -0
  19. package/types/table-next/useDataSource.d.ts +10 -0
  20. package/types/table-next/useInitialValue.d.ts +1 -0
  21. package/types/table-next/useTableModel.d.ts +70 -0
  22. package/types/table-next/useTableNext.d.ts +49 -0
  23. package/types/table-next/useTableScroll.d.ts +28 -0
  24. package/types/table-next/useVirtualViewport.d.ts +13 -0
  25. /package/types/{ColumnResizer.d.ts → table/ColumnResizer.d.ts} +0 -0
  26. /package/types/{DragVisualizer.d.ts → table/DragVisualizer.d.ts} +0 -0
  27. /package/types/{RowBasedTable.d.ts → table/RowBasedTable.d.ts} +0 -0
  28. /package/types/{SortIndicator.d.ts → table/SortIndicator.d.ts} +0 -0
  29. /package/types/{Table.d.ts → table/Table.d.ts} +0 -0
  30. /package/types/{TableCell.d.ts → table/TableCell.d.ts} +0 -0
  31. /package/types/{TableGroupCell.d.ts → table/TableGroupCell.d.ts} +0 -0
  32. /package/types/{TableGroupHeaderCell.d.ts → table/TableGroupHeaderCell.d.ts} +0 -0
  33. /package/types/{TableHeaderCell.d.ts → table/TableHeaderCell.d.ts} +0 -0
  34. /package/types/{TableRow.d.ts → table/TableRow.d.ts} +0 -0
  35. /package/types/{cell-renderers → table/cell-renderers}/index.d.ts +0 -0
  36. /package/types/{cell-renderers → table/cell-renderers}/json-cell/JsonCell.d.ts +0 -0
  37. /package/types/{cell-renderers → table/cell-renderers}/json-cell/index.d.ts +0 -0
  38. /package/types/{context-menu → table/context-menu}/buildContextMenuDescriptors.d.ts +0 -0
  39. /package/types/{context-menu → table/context-menu}/index.d.ts +0 -0
  40. /package/types/{context-menu → table/context-menu}/useTableContextMenu.d.ts +0 -0
  41. /package/types/{dataTableTypes.d.ts → table/dataTableTypes.d.ts} +0 -0
  42. /package/types/{filter-indicator.d.ts → table/filter-indicator.d.ts} +0 -0
  43. /package/types/{keyUtils.d.ts → table/keyUtils.d.ts} +0 -0
  44. /package/types/{useDataSource.d.ts → table/useDataSource.d.ts} +0 -0
  45. /package/types/{useDraggableColumn.d.ts → table/useDraggableColumn.d.ts} +0 -0
  46. /package/types/{useKeyboardNavigation.d.ts → table/useKeyboardNavigation.d.ts} +0 -0
  47. /package/types/{useMeasuredContainer.d.ts → table/useMeasuredContainer.d.ts} +0 -0
  48. /package/types/{useMeasuredSize.d.ts → table/useMeasuredSize.d.ts} +0 -0
  49. /package/types/{useResizeObserver.d.ts → table/useResizeObserver.d.ts} +0 -0
  50. /package/types/{useSelection.d.ts → table/useSelection.d.ts} +0 -0
  51. /package/types/{useTable.d.ts → table/useTable.d.ts} +0 -0
  52. /package/types/{useTableColumnResize.d.ts → table/useTableColumnResize.d.ts} +0 -0
  53. /package/types/{useTableScroll.d.ts → table/useTableScroll.d.ts} +0 -0
  54. /package/types/{useTableViewport.d.ts → table/useTableViewport.d.ts} +0 -0
  55. /package/types/{useVirtualViewport.d.ts → table/useVirtualViewport.d.ts} +0 -0
package/index.css CHANGED
@@ -1,8 +1,8 @@
1
- /* src/ColumnResizer.css */
1
+ /* src/table/ColumnResizer.css */
2
2
  .vuuColumnResizer {
3
3
  background-color: var(--columnResizer-color);
4
4
  cursor: col-resize;
5
- height: 100%;
5
+ height: var(--header-height);
6
6
  position: relative;
7
7
  width: 4px;
8
8
  }
@@ -20,8 +20,56 @@
20
20
  height: var(--columnResizer-height, calc(100% + 1px));
21
21
  }
22
22
 
23
+ /* ../vuu-ui-controls/src/drag-drop/Draggable.css */
24
+ .vuuDraggable {
25
+ background: transparent;
26
+ box-shadow: var(--salt-overlayable-shadow-drag);
27
+ cursor: var(--salt-draggable-grab-cursor-active);
28
+ position: absolute;
29
+ opacity: .95;
30
+ z-index: 2000;
31
+ }
32
+ .vuuDraggable-spacer {
33
+ display: var(--saltDraggable-display, inline-block);
34
+ height: var(--saltDraggable-spacer-height, var(--tabstrip-height));
35
+ transition: var(--saltDraggable-transitionProp, width) 0.3s ease;
36
+ width: var(--saltDraggable-spacer-width, 0);
37
+ }
38
+ .vuuDraggable-dropIndicatorPosition {
39
+ display: var(--saltDraggable-display, inline-block);
40
+ height: 0px;
41
+ width: 100%;
42
+ }
43
+ .vuuDraggable-dropIndicatorContainer {
44
+ transition: var(--saltDraggable-transitionProp, top) 0.2s ease;
45
+ }
46
+ .vuuDraggable-dropIndicator {
47
+ background-color: var(--salt-palette-accent-background);
48
+ height: 2px;
49
+ width: 100%;
50
+ }
51
+ .vuuDraggable-dropIndicator:before {
52
+ content: "";
53
+ width: 6px;
54
+ height: 6px;
55
+ border-radius: 3px;
56
+ background-color: var(--salt-palette-accent-background);
57
+ position: absolute;
58
+ top: -2px;
59
+ left: -3px;
60
+ }
61
+ .vuuDraggable-settling {
62
+ transition-property: left, top;
63
+ transition-duration: .15s;
64
+ transition-timing-function: ease-out;
65
+ }
66
+ .vuuDraggable-spacer {
67
+ order: 1;
68
+ }
69
+
23
70
  /* ../vuu-ui-controls/src/editable-label/EditableLabel.css */
24
71
  .vuuEditableLabel {
72
+ --saltInput-background: transparent;
25
73
  --saltInput-minWidth: 14px;
26
74
  --saltInput-position: absolute;
27
75
  --editableLabel-padding: var(--saltEditableLabel-padding, 6px);
@@ -50,10 +98,26 @@
50
98
  left: var(--editableLabel-padding, 0);
51
99
  padding: 0;
52
100
  outline-style: none;
101
+ position: absolute;
53
102
  right: var(--editableLabel-padding, 0);
103
+ top: var(--saltEditableLabel-top, 2px);
104
+ width: auto;
105
+ }
106
+ .vuuEditableLabel .saltInput-activationIndicator {
107
+ display: none;
54
108
  }
55
109
  .vuuEditableLabel-input {
110
+ background-color: transparent;
111
+ border: none;
112
+ box-sizing: content-box;
113
+ display: block;
114
+ flex: 1;
115
+ font: inherit;
116
+ height: 20px;
117
+ margin: 0;
118
+ min-width: 0;
56
119
  outline: none;
120
+ padding: 0;
57
121
  }
58
122
 
59
123
  /* ../vuu-layout/src/dock-layout/Drawer.css */
@@ -632,7 +696,8 @@ path.drop-target.centre {
632
696
 
633
697
  /* ../vuu-layout/src/layout-header/Header.css */
634
698
  .vuuHeader {
635
- --saltToolbar-background: var(--salt-container-tertiary-background);
699
+ --saltButton-height: 24px;
700
+ --saltButton-width: 24px;
636
701
  }
637
702
  .salt-density-high .vuuHeader {
638
703
  --saltToolbarField-marginTop: 0;
@@ -641,15 +706,26 @@ path.drop-target.centre {
641
706
  /* ../vuu-layout/src/overflow-container/OverflowContainer.css */
642
707
  .vuuOverflowContainer {
643
708
  --item-gap: 4px;
709
+ --overflow-direction: row;
644
710
  --overflow-width: 0px;
645
711
  --overflow-order: 99;
646
712
  --border-size: calc((var(--overflow-container-height) - 24px) / 2);
647
713
  background-color: var(--vuuOverflowContainer-background, black);
648
714
  height: var(--overflow-container-height);
649
715
  }
716
+ .vuuOverflowContainer-horizontal {
717
+ --item-align: center;
718
+ --item-margin: 0 0 0 var(--item-gap);
719
+ }
720
+ .vuuOverflowContainer-vertical {
721
+ --item-align: stretch;
722
+ --item-margin: var(--item-gap) 0 0 0;
723
+ --overflow-direction: column;
724
+ }
650
725
  .vuuOverflowContainer-wrapContainer {
651
- align-items: center;
726
+ align-items: var(--item-align);
652
727
  display: flex;
728
+ flex-direction: var(--overflow-direction);
653
729
  flex-wrap: wrap;
654
730
  height: var(--overflow-container-height);
655
731
  min-width: 44px;
@@ -666,13 +742,16 @@ path.drop-target.centre {
666
742
  .vuuOverflowContainer-item:first-child {
667
743
  --item-gap: 0;
668
744
  }
745
+ .vuuOverflowContainer-item:first-child {
746
+ --item-margin: 0;
747
+ }
669
748
  .vuuOverflowContainer-item {
670
749
  align-items: inherit;
671
750
  display: flex;
672
751
  order: 1;
673
752
  position: relative;
674
753
  height: var(--overflow-container-height);
675
- margin-left: var(--item-gap);
754
+ margin: var(--item-margin);
676
755
  }
677
756
  .vuuOverflowContainer-item.wrapped {
678
757
  --overflow-item-bg: #ccc;
@@ -730,16 +809,6 @@ path.drop-target.centre {
730
809
  --vuu-icon-color: var(--salt-selectable-foreground);
731
810
  }
732
811
 
733
- /* ../vuu-layout/src/palette/PaletteSalt.css */
734
- .vuuPalette {
735
- --list-item-header-bg: inherit;
736
- --list-item-header-color: inherit;
737
- --list-item-padding: 0 6px 0 24px;
738
- --list-item-header-twisty-color: black;
739
- --list-item-header-twisty-left: 3px;
740
- --list-item-header-twisty-right: auto;
741
- }
742
-
743
812
  /* ../vuu-layout/src/stack/Stack.css */
744
813
  .Tabs {
745
814
  display: flex;
@@ -747,6 +816,7 @@ path.drop-target.centre {
747
816
  flex-direction: column;
748
817
  }
749
818
  .Tabs-horizontal {
819
+ --vuu-tabs-border-style: none solid none none;
750
820
  flex-direction: row;
751
821
  }
752
822
  .Tabs .Toolbar:before {
@@ -761,7 +831,9 @@ path.drop-target.centre {
761
831
  .vuuTabHeader {
762
832
  --saltTabs-activationIndicator-background: transparent;
763
833
  --saltToolbarField-marginTop: calc(var(--salt-size-unit) - 1px);
764
- border-bottom: solid 1px var(--salt-container-primary-borderColor);
834
+ border-color: var(--salt-container-primary-borderColor);
835
+ border-style: var(--vuu-tabs-border-style, none none solid none);
836
+ border-width: 1px;
765
837
  }
766
838
  .vuuTabHeader + .hwFlexbox,
767
839
  .vuuTabHeader + * {
@@ -887,100 +959,46 @@ path.drop-target.centre {
887
959
  color: white;
888
960
  }
889
961
 
890
- /* ../vuu-ui-controls/src/drag-drop/Draggable.css */
891
- .vuuDraggable {
892
- background: transparent;
893
- box-shadow: var(--salt-overlayable-shadow-drag);
894
- cursor: var(--salt-draggable-grab-cursor-active);
895
- position: absolute;
896
- opacity: .95;
897
- z-index: 2000;
898
- }
899
- .vuuDraggable-spacer {
900
- display: var(--saltDraggable-display, inline-block);
901
- height: var(--saltDraggable-spacer-height, var(--tabs-tabstrip-height));
902
- transition: var(--saltDraggable-transitionProp, width) 0.3s ease;
903
- width: var(--saltDraggable-spacer-width, 0);
904
- }
905
- .vuuDraggable-dropIndicatorPosition {
906
- display: var(--saltDraggable-display, inline-block);
907
- height: 0px;
908
- width: 100%;
909
- }
910
- .vuuDraggable-dropIndicatorContainer {
911
- transition: var(--saltDraggable-transitionProp, top) 0.2s ease;
912
- }
913
- .vuuDraggable-dropIndicator {
914
- background-color: var(--salt-palette-accent-background);
915
- height: 2px;
916
- width: 100%;
917
- }
918
- .vuuDraggable-dropIndicator:before {
919
- content: "";
920
- width: 6px;
921
- height: 6px;
922
- border-radius: 3px;
923
- background-color: var(--salt-palette-accent-background);
924
- position: absolute;
925
- top: -2px;
926
- left: -3px;
927
- }
928
- .vuuDraggable-settling {
929
- transition-property: left, top;
930
- transition-duration: .15s;
931
- transition-timing-function: ease-out;
932
- }
933
- .vuuDraggable-spacer {
934
- order: 1;
935
- }
936
-
937
962
  /* ../vuu-ui-controls/src/tabstrip/Tabstrip.css */
938
963
  .vuuTabstrip {
939
964
  --vuuOverflowContainer-background: transparent;
940
- --tabs-tabstrip-height: var(--vuuTabstrip-height, 28px);
941
- --tabs-tabstrip-dragging-display: none;
942
- --tabs-tabstrip-display: inline-flex;
943
- --tabs-tabstrip-background: transparent;
944
- align-items: flex-start;
965
+ --tabstrip-dragging-display: none;
966
+ --tabstrip-display: inline-flex;
967
+ --tabstrip-background: transparent;
945
968
  align-self: var(--saltTabs-tabstrip-alignSelf, stretch);
946
- border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));
947
969
  font-size: var(--salt-text-fontSize);
948
- font-weight: var(--salt-text-fontWeight);
970
+ font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));
949
971
  position: relative;
950
972
  overflow: visible;
951
973
  display: flex;
952
974
  min-width: 28px;
953
- width: 100%;
975
+ width: var(--tabstrip-width);
954
976
  }
955
977
  .vuuTabstrip-horizontal {
956
- --vuuTabActivationIndicator-height: 1px;
957
- --vuuTabActivationIndicator-thumb-inset: -1px 0 0 0;
958
- --tab-activationIndicator-borderStyle: none none solid none;
959
- --tab-activationIndicator-inset: auto 0px 0px 0px;
960
- --tab-activationIndicator-transitionProperty: left;
961
- --tab-activationIndicator-thumb-height: 0px;
978
+ --tabstrip-height: var(--vuuTabstrip-height, 28px);
979
+ --tabstrip-width: var(--vuuTabstrip-width, 100%);
980
+ --tab-width: auto;
962
981
  --tab-thumb-height: 2px;
982
+ --tab-thumb-left: var(--tab-thumb-offset, 0);
983
+ --tab-thumb-top: auto;
984
+ --tab-thumb-width: var(--tab-thumb-size, 100%);
985
+ align-items: flex-start;
986
+ border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));
963
987
  }
964
988
  .vuuTabstrip-vertical {
965
- --vuuTabActivationIndicator-thumb-inset: 0 0 0 -1px;
966
- --tab-activationIndicator-transition: top 0.3s ease;
967
- --tab-activationIndicator-borderStyle: none solid none none;
968
- --tab-activationIndicator-inset: 0px 0px 0px auto;
969
- --tab-activationIndicator-transitionProperty: top;
970
- --tab-activationIndicator-width: 1px;
971
- --tab-activationIndicator-thumb-width: 2px;
989
+ --tabstrip-height: var(--vuuTabstrip-height, 100%);
990
+ --tabstrip-width: var(--vuuTabstrip-width, 100px);
991
+ --tab-width: 100%;
992
+ --tab-thumb-height: var(--tab-thumb-size, 100%);
993
+ --tab-thumb-left: 0;
994
+ --tab-thumb-top: var(--tab-thumb-offset, 0);
995
+ --tab-thumb-width: 2px;
972
996
  align-self: flex-start;
973
997
  display: inline-flex;
974
998
  }
975
- .vuuTabstrip-draggingTab {
976
- --vuuTabs-activationIndicator-transition: none;
977
- }
978
999
  .vuuTabstrip-draggingTab .vuuTab {
979
1000
  pointer-events: none;
980
1001
  }
981
- .vuuTabstrip-horizontal {
982
- height: var(--tabs-tabstrip-height);
983
- }
984
1002
  .vuuTabstrip-addTabButton {
985
1003
  --saltButton-height: 20px;
986
1004
  --saltButton-width: 20px;
@@ -1004,7 +1022,7 @@ path.drop-target.centre {
1004
1022
  flex-shrink: 1;
1005
1023
  flex-wrap: wrap;
1006
1024
  justify-content: flex-start;
1007
- line-height: var(--tabs-tabstrip-height);
1025
+ line-height: var(--tabstrip-height);
1008
1026
  }
1009
1027
  .vuuTabstrip-vertical .vuuTabstrip-inner {
1010
1028
  flex-direction: column;
@@ -1014,9 +1032,9 @@ path.drop-target.centre {
1014
1032
  justify-content: center;
1015
1033
  }
1016
1034
  .vuuDraggable[class*=vuuTabstrip] {
1017
- --tabs-tabstrip-display: flex;
1018
- --tabs-tabstrip-height: 100%;
1019
- --tabs-tabstrip-dragging-display: block;
1035
+ --tabstrip-display: flex;
1036
+ --tabstrip-height: 100%;
1037
+ --tabstrip-dragging-display: block;
1020
1038
  --tabs-tab-background: var(--salt-navigable-primary-background-hover);
1021
1039
  --tabs-tab-before-content: "";
1022
1040
  --tabs-tab-before-background: var(--salt-navigable-indicator-hover);
@@ -1029,14 +1047,8 @@ path.drop-target.centre {
1029
1047
  }
1030
1048
  .vuuDraggable-tabstrip-horizontal {
1031
1049
  --tab-thumb-height: 2px;
1032
- --tabs-tabstrip-height: 28px;
1033
- --tab-activationIndicator-thumb-height: 2px;
1034
- --tab-activationIndicator-inset: auto 0px 0px 0px;
1035
- line-height: var(--tabs-tabstrip-height);
1036
- }
1037
- .vuuDraggable-tabstrip-vertical {
1038
- --tab-activationIndicator-inset: 0px 0px 0px auto;
1039
- --tab-activationIndicator-thumb-width: 2px;
1050
+ --tabstrip-height: 28px;
1051
+ line-height: var(--tabstrip-height);
1040
1052
  }
1041
1053
  .vuuDraggable[class*=tabstrip] .vuuTab[aria-selected=true]:before {
1042
1054
  --tabs-tab-before-background: var(--salt-navigable-indicator-active);
@@ -1059,43 +1071,42 @@ path.drop-target.centre {
1059
1071
  /* ../vuu-ui-controls/src/tabstrip/Tab.css */
1060
1072
  .vuuTab {
1061
1073
  --saltEditableLabel-padding: 0;
1062
- --saltEditableLabel-height: var(--tabs-tabstrip-height);
1074
+ --saltEditableLabel-height: var(--tabstrip-height);
1063
1075
  --saltInputLegacy-minWidth: 4em;
1064
- --tab-background: var(--salt-navigable-primary-background);
1076
+ --saltEditableLabel-top: 3px;
1077
+ --tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));
1065
1078
  --tab-cursor: pointer;
1066
1079
  --tab-position: relative;
1067
1080
  }
1068
1081
  .vuuTab {
1069
1082
  align-items: center;
1070
1083
  align-self: stretch;
1071
- background: var(--vuuTab-background, var(--tab-background));
1084
+ background: var(--tab-background);
1072
1085
  border: none;
1073
- border-radius: 0;
1086
+ border-radius: var(--vuuTab-borderRadius, 0);
1074
1087
  color: var(--salt-text-primary-foreground);
1075
1088
  cursor: var(--vuuTab-cursor, var(--tab-cursor));
1076
- display: var(--tabs-tabstrip-display);
1089
+ display: var(--tabstrip-display);
1077
1090
  gap: 8px;
1078
- height: var(--vuuTab-height, var(--tabs-tabstrip-height));
1091
+ height: var(--vuuTab-height, var(--tabstrip-height));
1079
1092
  letter-spacing: var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));
1080
1093
  min-width: var(--vuuTab-minWidth, 40px);
1081
1094
  outline: none;
1082
- padding: 0 24px;
1095
+ padding: var(--vuuTab-padding, 0 24px);
1083
1096
  position: var(--vuuTab-position, var(--tab-position));
1084
1097
  user-select: none;
1098
+ width: var(--tab-width);
1085
1099
  }
1086
- .vuuTab.saltFocusVisible:after {
1087
- inset: 2px 2px 4px 2px;
1088
- }
1089
- .vuuTab:not(.vuuTab-vertical) {
1100
+ .vuuTab {
1090
1101
  margin: 0 var(--tab-spacing) 0 0;
1091
1102
  }
1092
1103
  .vuuTab-selected {
1104
+ background: var(--vuuTab-background-selected, var(--tab-background));
1093
1105
  color: var(--salt-text-primary-foreground);
1094
1106
  font-weight: var(--salt-navigable-fontWeight-active);
1095
1107
  }
1096
1108
  .vuuTab-main {
1097
1109
  align-items: center;
1098
- background: inherit;
1099
1110
  border: none;
1100
1111
  color: inherit;
1101
1112
  cursor: inherit;
@@ -1136,9 +1147,6 @@ path.drop-target.centre {
1136
1147
  white-space: nowrap;
1137
1148
  z-index: var(--salt-zIndex-default);
1138
1149
  }
1139
- .vuuTab-vertical .vuuTab-text {
1140
- text-align: var(--salt-text-textAlign);
1141
- }
1142
1150
  .vuuTab .vuuTab-text:before {
1143
1151
  height: 0;
1144
1152
  content: attr(data-text);
@@ -1158,21 +1166,16 @@ path.drop-target.centre {
1158
1166
  outline-width: var(--salt-focused-outlineWidth);
1159
1167
  outline-offset: -2px;
1160
1168
  }
1161
- .vuuTab-vertical.vuuTab-editing:after {
1162
- right: 2px;
1163
- bottom: 0;
1164
- }
1165
- .vuuTab-vertical .saltFocusVisible:not(.vuuTab-selected):before {
1166
- left: auto;
1167
- height: auto;
1168
- top: 0;
1169
- width: 2px;
1170
- }
1171
- .vuuTab.saltFocusVisible {
1169
+ .vuuTab.vuuFocusVisible {
1172
1170
  background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));
1171
+ outline-color: var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));
1172
+ outline-style: dashed;
1173
+ outline-width: 1px;
1174
+ outline-offset: -1px;
1173
1175
  }
1174
1176
  .vuuTab:before {
1175
1177
  content: var(--tab-before-content, none);
1178
+ content: "";
1176
1179
  background: var(--tab-before-background);
1177
1180
  height: var(--tab-before-height);
1178
1181
  inset: var(--tab-before-inset);
@@ -1187,22 +1190,14 @@ path.drop-target.centre {
1187
1190
  --tab-before-inset: var(--tab-activationIndicator-inset);
1188
1191
  --tab-before-width: var(--tab-activationIndicator-thumb-width);
1189
1192
  }
1190
- .vuuDraggable .vuuTab:before,
1191
- .vuuTab:not(.vuuTab-selected).saltFocusVisible:before,
1192
- .vuuTab:hover:not(.vuuTab-selected):before {
1193
- --tab-before-content: "";
1194
- --tab-before-background: var(--salt-navigable-indicator-hover);
1195
- --tab-before-height: var(--tab-thumb-height);
1196
- --tab-before-inset: var(--tab-activationIndicator-inset);
1197
- --tab-before-width: var(--tab-activationIndicator-thumb-width);
1198
- }
1199
1193
  .vuuTab-selected:before {
1200
1194
  --tab-before-content: "";
1201
1195
  background: var(--salt-navigable-indicator-active);
1202
1196
  height: var(--tab-thumb-height);
1203
1197
  position: absolute;
1204
- left: var(--tab-thumb-offset,0);
1198
+ left: var(--tab-thumb-left);
1205
1199
  bottom: 0px;
1200
+ top: var(--tab-thumb-top, auto);
1206
1201
  transition: var(--tab-thumb-transition, none);
1207
1202
  width: var(--tab-thumb-width, 100%);
1208
1203
  }
@@ -1210,7 +1205,192 @@ path.drop-target.centre {
1210
1205
  background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));
1211
1206
  }
1212
1207
 
1213
- /* src/TableCell.css */
1208
+ /* ../vuu-ui-controls/src/tree/Tree.css */
1209
+ .vuuTree {
1210
+ --tree-node-collapse: var(--vuuTree-toggle-collapse, var(--svg-tree-node-collapse));
1211
+ --tree-node-expand: var(--vuuTree-toggle-expand, var(--svg-tree-node-expand));
1212
+ --tree-toggle-width: 12px;
1213
+ --tree-icon-color: var(--vuuTree-icon-color, #4c505b);
1214
+ --tree-node-expanded-transform: var(--vuuTree-node-expanded-transform, none);
1215
+ --tree-node-indent: 0px;
1216
+ --list-hilited-bg: var(--hw-list-hilited-bg, rgba(0, 0, 0, 0.1));
1217
+ --list-item-height: var(--hw-list-item-height, 30px);
1218
+ --list-item-padding: var(--hw-list-item-padding, 0 6px);
1219
+ --list-item-header-bg: var(--hw-list-item-header-bg, black);
1220
+ --list-item-header-color: var(--hw-list-item-header-color, white);
1221
+ --list-item-header-font-weight: bold;
1222
+ --list-item-header-twisty-color: black;
1223
+ --list-item-header-twisty-content: "";
1224
+ --list-item-header-twisty-top: 50%;
1225
+ --list-item-header-twisty-left: -18px;
1226
+ --list-item-header-twisty-right: auto;
1227
+ --list-item-selected-bg: var(--hw-list-selected-bg, #1ea7fd);
1228
+ --list-item-selected-color: white;
1229
+ --list-item-text-color: var(--hw-gray-800);
1230
+ --focus-visible-border-color: var(--hw-focus-visible-border-color, rgb(141, 154, 179));
1231
+ list-style: none;
1232
+ margin: 0;
1233
+ padding: 0 1px;
1234
+ font-size: var(--vuuTree-font-size, 14px);
1235
+ max-height: inherit;
1236
+ outline: none;
1237
+ overflow-y: auto;
1238
+ position: relative;
1239
+ user-select: none;
1240
+ }
1241
+ .vuuTree-viewport {
1242
+ --list-item-height: 30px;
1243
+ box-sizing: border-box;
1244
+ max-height: inherit;
1245
+ overflow: auto;
1246
+ }
1247
+ .vuuTree-scrollingContentContainer {
1248
+ box-sizing: inherit;
1249
+ position: relative;
1250
+ }
1251
+ .vuuTree-scrollingContentContainer .vuuTreeNode {
1252
+ line-height: 30px;
1253
+ position: absolute;
1254
+ top: 0;
1255
+ left: 0;
1256
+ right: 0;
1257
+ will-change: transform;
1258
+ }
1259
+ .vuuTreeNode {
1260
+ list-style: none;
1261
+ }
1262
+ .vuuTreeNode:not([aria-expanded]),
1263
+ .vuuTreeNode[aria-expanded] > .vuuTreeNode-label {
1264
+ --checkbox-border-color: black;
1265
+ --checkbox-border-width: 1px;
1266
+ --checkbox-tick: black;
1267
+ --list-item-padding-left: 6px;
1268
+ --svg-toggle: var(--tree-node-collapse);
1269
+ align-items: center;
1270
+ color: var(--list-item-text-color);
1271
+ display: flex;
1272
+ flex-wrap: nowrap;
1273
+ height: var(--list-item-height);
1274
+ line-height: var(--list-item-height);
1275
+ padding: var(--list-item-padding);
1276
+ padding-left: var(--padding-left);
1277
+ position: relative;
1278
+ cursor: default;
1279
+ margin: 0;
1280
+ white-space: nowrap;
1281
+ }
1282
+ .vuuTreeNode:not([aria-expanded]) {
1283
+ --padding-left: calc( var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent) );
1284
+ }
1285
+ .vuuTreeNode[aria-expanded] > .vuuTreeNode-label {
1286
+ --padding-left: calc( var(--list-item-padding-left) + var(--tree-toggle-width) + var(--tree-node-indent) );
1287
+ }
1288
+ .vuuTreeNode-icon {
1289
+ background-color: var(--tree-icon-color);
1290
+ display: inline-block;
1291
+ height: 18px;
1292
+ margin-right: 6px;
1293
+ -webkit-mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;
1294
+ mask: var(--vuu-icon-svg) center center/12px 12px no-repeat;
1295
+ flex: 0 0 18px;
1296
+ }
1297
+ .vuuTreeNode[aria-expanded] {
1298
+ flex-direction: column;
1299
+ }
1300
+ .vuuTreeNode[aria-expanded] {
1301
+ flex-direction: column;
1302
+ height: auto;
1303
+ }
1304
+ .vuuTreeNode > *[role=group] {
1305
+ padding-left: 0px;
1306
+ }
1307
+ .vuuTreeNode {
1308
+ padding-left: calc(var(--padding-left) + var(--tree-node-indent));
1309
+ }
1310
+ .vuuTreeNode[aria-level="2"] {
1311
+ --tree-node-indent: 12px;
1312
+ }
1313
+ .vuuTreeNode[aria-level="3"] {
1314
+ --tree-node-indent: 24px;
1315
+ }
1316
+ .vuuTreeNode[aria-level="4"] {
1317
+ --tree-node-indent: 36px;
1318
+ }
1319
+ .vuuTreeNode:not(.focusVisible):not(.hwListItemHeader):not([aria-expanded])[data-highlighted],
1320
+ .vuuTreeNode:not(.focusVisible):not(.hwListItemHeader)[aria-expanded][data-highlighted] > div:first-child {
1321
+ background-color: var(--list-hilited-bg);
1322
+ }
1323
+ .vuuTreeNode-toggle {
1324
+ cursor: pointer;
1325
+ }
1326
+ .vuuTreeNode > .vuuTreeNode-toggle {
1327
+ display: inline-block;
1328
+ height: 100%;
1329
+ left: 0;
1330
+ position: absolute;
1331
+ width: calc(var(--list-item-padding-left) + var(--tree-toggle-width));
1332
+ }
1333
+ .vuuTreeNode[aria-expanded] > .vuuTreeNode-label:after {
1334
+ content: var(--list-item-header-twisty-content);
1335
+ -webkit-mask: var(--svg-toggle) center center/8px 8px no-repeat;
1336
+ mask: var(--svg-toggle) center center/8px 8px no-repeat;
1337
+ background-color: var(--list-item-header-twisty-color);
1338
+ height: 18px;
1339
+ margin-top: -9px;
1340
+ left: var(--tree-node-indent);
1341
+ position: absolute;
1342
+ top: var(--list-item-header-twisty-top);
1343
+ transition: transform 0.3s;
1344
+ width: 18px;
1345
+ }
1346
+ .vuuTreeNode[aria-selected=true] {
1347
+ --list-item-header-twisty-color: var(--list-item-selected-color);
1348
+ }
1349
+ .vuuTreeNode:not(.focusVisible):focus {
1350
+ background-color: rgba(0, 0, 0, 0.1);
1351
+ }
1352
+ .vuuTreeNode:not([aria-expanded]).focusVisible:before,
1353
+ .vuuTreeNode[aria-expanded].focusVisible > div:first-child:before {
1354
+ content: "";
1355
+ position: absolute;
1356
+ top: 0px;
1357
+ left: var(--tree-focus-offset, 0px);
1358
+ right: 0;
1359
+ bottom: 0px;
1360
+ border: dotted var(--focus-visible-border-color) 2px;
1361
+ background-color: var(--list-hilited-bg);
1362
+ }
1363
+ .vuuTreeNode[aria-expanded=false] > *:first-child:after {
1364
+ --svg-toggle: var(--tree-node-expand);
1365
+ }
1366
+ .vuuTreeNode[aria-expanded=true] > *:first-child:after {
1367
+ transform: var(--tree-node-expanded-transform);
1368
+ }
1369
+ .vuuTree:not(.checkbox-only) .vuuTreeNode:not([aria-expanded])[aria-selected=true],
1370
+ .vuuTree:not(.checkbox-only) .vuuTreeNode[aria-expanded][aria-selected=true] > div:first-child {
1371
+ --checkbox-border-color: var(--list-item-selected-color);
1372
+ --checkbox-tick: var(--list-item-selected-color);
1373
+ --focus-visible-border-color: var(--list-item-selected-color);
1374
+ background-color: var(--list-item-selected-bg);
1375
+ color: var(--list-item-selected-color);
1376
+ }
1377
+ .with-checkbox .vuuTreeNode {
1378
+ padding-left: 28px;
1379
+ }
1380
+ .with-checkbox .vuuTreeNode:before {
1381
+ border-style: solid;
1382
+ border-width: var(--checkbox-border-width);
1383
+ border-color: var(--checkbox-border-color);
1384
+ content: "";
1385
+ height: 12px;
1386
+ left: 3px;
1387
+ margin-top: -7px;
1388
+ position: absolute;
1389
+ top: 50%;
1390
+ width: 12px;
1391
+ }
1392
+
1393
+ /* src/table/TableCell.css */
1214
1394
  .vuuTable {
1215
1395
  --cell-outline-width: 2px;
1216
1396
  user-select: none;
@@ -1291,7 +1471,7 @@ path.drop-target.centre {
1291
1471
  text-align: right;
1292
1472
  }
1293
1473
 
1294
- /* src/TableGroupCell.css */
1474
+ /* src/table/TableGroupCell.css */
1295
1475
  .vuuTableGroupCell {
1296
1476
  --spacer-width: 20px;
1297
1477
  --toggle-icon-transform: var(--row-toggle-icon-transform, none);
@@ -1318,7 +1498,7 @@ path.drop-target.centre {
1318
1498
  transform: var(--toggle-icon-transform);
1319
1499
  }
1320
1500
 
1321
- /* src/TableRow.css */
1501
+ /* src/table/TableRow.css */
1322
1502
  .vuuTableRow {
1323
1503
  --row-background: var(--table-background);
1324
1504
  position: absolute;
@@ -1341,7 +1521,7 @@ path.drop-target.centre {
1341
1521
  --vuuTableCell-border-bottomColor: var(--salt-selectable-borderColor-selected);
1342
1522
  }
1343
1523
 
1344
- /* src/TableGroupHeaderCell.css */
1524
+ /* src/table/TableGroupHeaderCell.css */
1345
1525
  .salt-theme {
1346
1526
  --svg-spinner: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path fill="rgb(38, 112, 169)" d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"><animateTransform attributeName="transform" attributeType="XML" type="rotate" dur="1s" from="0 50 50" to="360 50 50" repeatCount="indefinite" /></path></svg>');
1347
1527
  }
@@ -1412,7 +1592,7 @@ path.drop-target.centre {
1412
1592
  background-size: cover;
1413
1593
  }
1414
1594
 
1415
- /* src/SortIndicator.css */
1595
+ /* src/table/SortIndicator.css */
1416
1596
  .vuuSortIndicator {
1417
1597
  --menu-icon-size: 18px;
1418
1598
  --menu-item-icon-color: black;
@@ -1427,7 +1607,7 @@ path.drop-target.centre {
1427
1607
  text-align: center;
1428
1608
  }
1429
1609
 
1430
- /* src/TableHeaderCell.css */
1610
+ /* src/table/TableHeaderCell.css */
1431
1611
  .vuuTable-heading:nth-child(2) {
1432
1612
  --heading-top: calc(var(--header-height));
1433
1613
  }
@@ -1516,7 +1696,7 @@ path.drop-target.centre {
1516
1696
  --vuuTableHeaderHeight: 25px;
1517
1697
  }
1518
1698
 
1519
- /* src/filter-indicator.css */
1699
+ /* src/table/filter-indicator.css */
1520
1700
  .vuuFilterIndicator {
1521
1701
  --menu-icon-size: 12px;
1522
1702
  --menu-item-icon-color: black;
@@ -1532,7 +1712,7 @@ path.drop-target.centre {
1532
1712
  padding-left: 0;
1533
1713
  }
1534
1714
 
1535
- /* src/RowBasedTable.css */
1715
+ /* src/table/RowBasedTable.css */
1536
1716
  .vuuTable-table {
1537
1717
  --vuuTable-rowHeight: var(--row-height);
1538
1718
  --vuuTableCell-border-bottomColor: transparent;
@@ -1556,7 +1736,7 @@ path.drop-target.centre {
1556
1736
  position: relative;
1557
1737
  }
1558
1738
 
1559
- /* src/Table.css */
1739
+ /* src/table/Table.css */
1560
1740
  .vuuTable {
1561
1741
  --dataTable-background: var(--salt-container-primary-background, inherit);
1562
1742
  --row-background-even: var(--dataTable-background);
@@ -1614,7 +1794,7 @@ path.drop-target.centre {
1614
1794
  cursor: col-resize;
1615
1795
  }
1616
1796
 
1617
- /* src/Table-loading.css */
1797
+ /* src/table/Table-loading.css */
1618
1798
  .vuuTable-loading .vuuTable-table {
1619
1799
  --skeleton-height: 20px;
1620
1800
  --skeleton-width: calc(var(--content-width) - 8px);
@@ -1660,7 +1840,7 @@ path.drop-target.centre {
1660
1840
  }
1661
1841
  }
1662
1842
 
1663
- /* src/cell-renderers/json-cell/JsonCell.css */
1843
+ /* src/table/cell-renderers/json-cell/JsonCell.css */
1664
1844
  .vuuJsonCell-group {
1665
1845
  align-items: center;
1666
1846
  display: inline-flex;
@@ -1681,4 +1861,262 @@ path.drop-target.centre {
1681
1861
  overflow: hidden;
1682
1862
  text-overflow: ellipsis;
1683
1863
  }
1864
+
1865
+ /* src/table-next/ColumnMenu.css */
1866
+ .vuuMenuItem {
1867
+ --vuu-svg-cog: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12.9533 8.65331C12.98 8.43998 13 8.22665 13 7.99998C13 7.77331 12.98 7.55998 12.9533 7.34665L14.36 6.24665C14.4867 6.14665 14.52 5.96665 14.44 5.81998L13.1067 3.51331C13.0267 3.36665 12.8467 3.31331 12.7 3.36665L11.04 4.03331C10.6933 3.76665 10.32 3.54665 9.91333 3.37998L9.66 1.61331C9.64 1.45331 9.5 1.33331 9.33333 1.33331H6.66667C6.5 1.33331 6.36 1.45331 6.34 1.61331L6.08667 3.37998C5.68 3.54665 5.30667 3.77331 4.96 4.03331L3.3 3.36665C3.14667 3.30665 2.97333 3.36665 2.89333 3.51331L1.56 5.81998C1.47333 5.96665 1.51333 6.14665 1.64 6.24665L3.04667 7.34665C3.02 7.55998 3 7.77998 3 7.99998C3 8.21998 3.02 8.43998 3.04667 8.65331L1.64 9.75331C1.51333 9.85331 1.48 10.0333 1.56 10.18L2.89333 12.4866C2.97333 12.6333 3.15333 12.6866 3.3 12.6333L4.96 11.9666C5.30667 12.2333 5.68 12.4533 6.08667 12.62L6.34 14.3866C6.36 14.5466 6.5 14.6666 6.66667 14.6666H9.33333C9.5 14.6666 9.64 14.5466 9.66 14.3866L9.91333 12.62C10.32 12.4533 10.6933 12.2266 11.04 11.9666L12.7 12.6333C12.8533 12.6933 13.0267 12.6333 13.1067 12.4866L14.44 10.18C14.52 10.0333 14.4867 9.85331 14.36 9.75331L12.9533 8.65331V8.65331ZM8 10.3333C6.71333 10.3333 5.66667 9.28665 5.66667 7.99998C5.66667 6.71331 6.71333 5.66665 8 5.66665C9.28667 5.66665 10.3333 6.71331 10.3333 7.99998C10.3333 9.28665 9.28667 10.3333 8 10.3333Z"/></svg>');
1868
+ }
1869
+ .vuuTable-columnMenu {
1870
+ --vuu-icon-color: #606477;
1871
+ --vuu-icon-height: 20px;
1872
+ --vuu-icon-left: 0px;
1873
+ --vuu-icon-size: 16px;
1874
+ --vuu-icon-top: 0px;
1875
+ --vuu-icon-width: 20px;
1876
+ border-radius: 4px;
1877
+ cursor: pointer;
1878
+ display: inline-block;
1879
+ margin-top: 2px;
1880
+ padding: 2px;
1881
+ }
1882
+ .vuuTable-columnMenu:hover {
1883
+ --vuu-icon-color: #15171B;
1884
+ background-color: #F37880;
1885
+ }
1886
+ .vuuTable-columnMenu-open:hover,
1887
+ .vuuTable-columnMenu-open {
1888
+ background-color: #6D18BD;
1889
+ --vuu-icon-color: white;
1890
+ }
1891
+ [data-icon=cog] {
1892
+ --vuu-icon-svg: var(--vuu-svg-cog);
1893
+ --vuu-icon-size: 14px;
1894
+ }
1895
+
1896
+ /* src/table-next/HeaderCell.css */
1897
+ .vuuTableNext-col-header {
1898
+ border-bottom: 1px solid #ccc;
1899
+ box-sizing: border-box;
1900
+ cursor: default;
1901
+ display: inline-flex;
1902
+ gap: 3px;
1903
+ height: var(--header-height);
1904
+ vertical-align: top;
1905
+ }
1906
+ .vuuTableNext-col-header .vuuColumnResizer:hover {
1907
+ --columnResizer-color: var(--vuu-color-purple-10);
1908
+ }
1909
+ .vuuTableNext-col-header-label {
1910
+ line-height: calc(var(--header-height) - 1px);
1911
+ }
1912
+ .vuuTableNext-col-header.vuuPinLeft.vuuEndPin .vuuColumnResizer:before {
1913
+ --height: calc(var(--columnResizer-height) - 15px);
1914
+ --inset-r: calc(var(--pin-width) - 2px);
1915
+ --inset-b: calc(var(--height) - 2px);
1916
+ --clip-path: polygon( 0% 0%, 0% 120%, 2px 120%, 2px 2px, var(--inset-r) 2px, var(--inset-r) var(--inset-b), 2px var(--inset-b), 2px 120%, 120% 120%, 120% 0% );
1917
+ background-color: transparent;
1918
+ border-color: var(--vuu-color-gray-40);
1919
+ border-width: 1px;
1920
+ border-style: solid solid solid solid;
1921
+ border-radius: 4px;
1922
+ box-shadow: 2px 1px 4px 0px rgba(0, 0, 0, 0.10);
1923
+ clip-path: var(--clip-path);
1924
+ content: "";
1925
+ position: absolute;
1926
+ width: var(--pin-width);
1927
+ top: 0;
1928
+ bottom: 0;
1929
+ right: -1px;
1930
+ height: var(--height);
1931
+ z-index: -5;
1932
+ }
1933
+ .vuuTableNext-col-header.vuuPinRight.vuuEndPin .vuuColumnResizer:before {
1934
+ --height: calc(var(--columnResizer-height) - 15px);
1935
+ --inset-r: calc(var(--pin-width) - 2px);
1936
+ --inset-b: calc(var(--height) - 2px);
1937
+ --clip-path: polygon( -20% 0%, -20% 120%, 2px 120%, 2px 2px, var(--inset-r) 2px, var(--inset-r) var(--inset-b), 2px var(--inset-b), 2px 120%, 120% 120%, 120% 0% );
1938
+ background-color: transparent;
1939
+ border-color: #A9AAAD;
1940
+ border-width: 1px;
1941
+ border-style: solid solid solid solid;
1942
+ border-radius: 4px;
1943
+ box-shadow: -2px 1px 4px 0px rgba(0, 0, 0, 0.10);
1944
+ clip-path: var(--clip-path);
1945
+ content: "";
1946
+ position: absolute;
1947
+ width: var(--pin-width);
1948
+ top: 0;
1949
+ bottom: 0;
1950
+ right: 0px;
1951
+ height: var(--height);
1952
+ z-index: -5;
1953
+ }
1954
+
1955
+ /* src/table-next/Row.css */
1956
+ .vuuTableNextRow {
1957
+ background: #fff;
1958
+ border-bottom: 1px solid var(--salt-separable-tertiary-borderColor);
1959
+ box-sizing: border-box;
1960
+ height: var(--row-height);
1961
+ line-height: calc(var(--row-height) - 1px);
1962
+ position: absolute;
1963
+ top: 0;
1964
+ white-space: nowrap;
1965
+ }
1966
+ .vuuTableNextRow-selected,
1967
+ .vuuTableNextRow-selectedEnd {
1968
+ background-color: rgb(235, 235, 236);
1969
+ }
1970
+ .vuuTableNextRow-selectedStart {
1971
+ --vuu-selection-decorator-left-radius: 5px 0 0 0;
1972
+ --vuu-selection-decorator-right-radius: 0 5px 0 0;
1973
+ border-radius: 5px 5px 0 0;
1974
+ }
1975
+ .vuuTableNextRow-selectedEnd {
1976
+ --vuu-selection-decorator-left-radius: 0 0 0 5px;
1977
+ --vuu-selection-decorator-right-radius: 0 0 5px 0;
1978
+ border-radius: 0 0 5px 5px;
1979
+ }
1980
+ .vuuTableNextRow-selectedStart.vuuTableNexRow-selectedEnd {
1981
+ --vuu-selection-decorator-left-radius: 5px 0 0 5px;
1982
+ --vuu-selection-decorator-right-radius: 0 5px 5px 0;
1983
+ border-radius: 5px 5px 5px 5px;
1984
+ }
1985
+ .vuuTableNextRow-selectedStart:after {
1986
+ content: "";
1987
+ position: absolute;
1988
+ top: 0;
1989
+ left: 4px;
1990
+ height: 1px;
1991
+ background-color: var(--vuu-color-purple-10);
1992
+ width: calc(var(--content-width) - 8px);
1993
+ z-index: 1;
1994
+ }
1995
+ .vuuTableNextRow-selectedEnd {
1996
+ border-bottom-color: var(--vuu-color-purple-10);
1997
+ }
1998
+ .vuuTableNextRow-selectionDecorator {
1999
+ background-color: var(--vuu-selection-decorator-bg, inherit);
2000
+ display: inline-block;
2001
+ position: relative;
2002
+ height: var(--row-height);
2003
+ width: 4px;
2004
+ z-index: 2;
2005
+ }
2006
+ .vuuTableNextRow-selectionDecorator.vuuStickyLeft {
2007
+ left: 0;
2008
+ position: sticky;
2009
+ }
2010
+ .vuuTableNextRow-selectionDecorator.vuuStickyRight {
2011
+ right: 0;
2012
+ position: sticky;
2013
+ }
2014
+ .vuuTableNextRow-selected {
2015
+ --vuu-selection-decorator-bg: var(--vuu-color-purple-10);
2016
+ }
2017
+ .vuuTableNextRow-selectedStart {
2018
+ --vuu-selection-decorator-bg: white;
2019
+ }
2020
+ .vuuTableNextRow-selectedEnd {
2021
+ --vuu-selection-decorator-bg: white;
2022
+ }
2023
+ .vuuTableNextRow-selectedStart.vuuTableNextRow-selectedEnd {
2024
+ }
2025
+ .vuuTableNextRow-selectedStart .vuuTableNextRow-selectionDecorator:before,
2026
+ .vuuTableNextRow-selectedEnd .vuuTableNextRow-selectionDecorator:before {
2027
+ content: "";
2028
+ inset: 0;
2029
+ position: absolute;
2030
+ background-color: var(--vuu-color-purple-10);
2031
+ }
2032
+ .vuuTableNextRow-selectionDecorator.vuuStickyLeft:before {
2033
+ border-radius: var(--vuu-selection-decorator-left-radius, 0);
2034
+ }
2035
+ .vuuTableNextRow-selectionDecorator.vuuStickyRight:before {
2036
+ border-radius: var(--vuu-selection-decorator-right-radius, 0);
2037
+ }
2038
+
2039
+ /* src/table-next/TableNext.css */
2040
+ .vuuTableNext {
2041
+ --vuu-table-next-selection-bookend-width: 4px;
2042
+ --columnResizer-height: var(--table-height);
2043
+ --columnResizer-color: transparent;
2044
+ --table-background: var(--salt-container-primary-background);
2045
+ height: var(--table-css-height);
2046
+ background-color: red;
2047
+ position: relative;
2048
+ user-select: none;
2049
+ width: var(--table-css-width);
2050
+ }
2051
+ .vuuTableNext-scrollbarContainer {
2052
+ --scroll-content-width: 1100px;
2053
+ border-bottom: none !important;
2054
+ border-top: none !important;
2055
+ border-left: solid 1px var(--salt-container-primary-borderColor);
2056
+ box-shadow: 0px -1px 0px 0px var(--salt-container-primary-borderColor);
2057
+ height: var(--viewport-body-height);
2058
+ left: 0px;
2059
+ overflow: auto;
2060
+ position: absolute;
2061
+ top: var(--total-header-height);
2062
+ width: var(--table-width);
2063
+ }
2064
+ .vuuTableNext-scrollbarContent {
2065
+ height: calc(var(--content-height) + var(--horizontal-scrollbar-height));
2066
+ position: absolute;
2067
+ width: var(--content-width);
2068
+ }
2069
+ .vuuTableNext-contentContainer {
2070
+ background-color: var(--salt-container-primary-background);
2071
+ height: calc(var(--table-height) - var(--horizontal-scrollbar-height));
2072
+ position: relative;
2073
+ overflow: auto;
2074
+ overscroll-behavior: none;
2075
+ width: calc(var(--table-width) - var(--vertical-scrollbar-width));
2076
+ }
2077
+ .vuuTableNext-contentContainer::-webkit-scrollbar {
2078
+ display: none;
2079
+ }
2080
+ .vuuTableNext-table {
2081
+ position: absolute;
2082
+ top: 0;
2083
+ left: 0;
2084
+ table-layout: fixed;
2085
+ width: var(--content-width);
2086
+ margin: 0;
2087
+ border: none;
2088
+ background-color: #fff;
2089
+ border-collapse: separate;
2090
+ border-spacing: 0;
2091
+ }
2092
+ .vuuTableNext-body {
2093
+ height: var(--content-height);
2094
+ }
2095
+ .vuuTableNextCell {
2096
+ display: inline-block;
2097
+ padding: 0 8px;
2098
+ vertical-align: top;
2099
+ }
2100
+ .vuuPinLeft,
2101
+ .vuuPinRight {
2102
+ background-color: inherit;
2103
+ position: sticky;
2104
+ z-index: 1;
2105
+ }
2106
+ .vuuTableNext-col-headings {
2107
+ background-color: white;
2108
+ padding: 0 var(--vuu-table-next-selection-bookend-width, 0);
2109
+ position: sticky;
2110
+ top: 0;
2111
+ z-index: 1;
2112
+ }
2113
+ .vuuTableNext-col-headers {
2114
+ background-color: var(--table-background);
2115
+ white-space: nowrap;
2116
+ }
2117
+ .sizer-cell {
2118
+ background-color: green !important;
2119
+ border: none !important;
2120
+ height: 0px;
2121
+ }
1684
2122
  /*# sourceMappingURL=index.css.map */