@vuu-ui/vuu-table 0.8.8-debug → 0.8.9-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 (51) hide show
  1. package/cjs/index.js +34039 -13836
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +33454 -13081
  4. package/esm/index.js.map +4 -4
  5. package/index.css +1820 -532
  6. package/index.css.map +3 -3
  7. package/package.json +5 -5
  8. package/types/index.d.ts +2 -1
  9. package/types/table/Table.d.ts +1 -1
  10. package/types/table/dataTableTypes.d.ts +33 -5
  11. package/types/table/index.d.ts +1 -1
  12. package/types/table/useTableModel.d.ts +2 -2
  13. package/types/table/useVirtualViewport.d.ts +1 -1
  14. package/types/table-next/Row.d.ts +7 -5
  15. package/types/table-next/TableNext.d.ts +1 -1
  16. package/types/table-next/cell-renderers/dropdown-cell/DropdownCell.d.ts +4 -0
  17. package/types/table-next/cell-renderers/dropdown-cell/index.d.ts +1 -0
  18. package/types/table-next/cell-renderers/index.d.ts +2 -0
  19. package/types/table-next/cell-renderers/input-cell/InputCell.d.ts +4 -0
  20. package/types/table-next/cell-renderers/input-cell/index.d.ts +1 -0
  21. package/types/table-next/column-header-pill/ColumnHeaderPill.d.ts +9 -0
  22. package/types/table-next/column-header-pill/GroupColumnPill.d.ts +8 -0
  23. package/types/table-next/column-header-pill/SortIndicator.d.ts +7 -0
  24. package/types/table-next/column-header-pill/index.d.ts +3 -0
  25. package/types/table-next/column-menu/index.d.ts +1 -0
  26. package/types/table-next/column-resizing/useTableColumnResize.d.ts +3 -4
  27. package/types/table-next/context-menu/useTableContextMenu.d.ts +5 -0
  28. package/types/table-next/header-cell/GroupHeaderCell.d.ts +9 -0
  29. package/types/table-next/header-cell/GroupHeaderCellNext.d.ts +9 -0
  30. package/types/table-next/{HeaderCell.d.ts → header-cell/HeaderCell.d.ts} +2 -3
  31. package/types/table-next/header-cell/index.d.ts +3 -0
  32. package/types/table-next/index.d.ts +3 -0
  33. package/types/table-next/moving-window.d.ts +14 -0
  34. package/types/table-next/table-cell/TableCell.d.ts +4 -0
  35. package/types/table-next/table-cell/TableGroupCell.d.ts +4 -0
  36. package/types/table-next/table-cell/index.d.ts +2 -0
  37. package/types/table-next/table-config.d.ts +1 -1
  38. package/types/table-next/table-dom-utils.d.ts +7 -0
  39. package/types/table-next/useCellEditing.d.ts +7 -0
  40. package/types/table-next/useDataSource.d.ts +11 -4
  41. package/types/table-next/useKeyboardNavigation.d.ts +27 -0
  42. package/types/table-next/useMeasuredContainer.d.ts +30 -0
  43. package/types/table-next/useResizeObserver.d.ts +15 -0
  44. package/types/table-next/useTableContextMenu.d.ts +8 -0
  45. package/types/table-next/useTableModel.d.ts +35 -8
  46. package/types/table-next/useTableNext.d.ts +39 -25
  47. package/types/table-next/useTableScroll.d.ts +8 -2
  48. package/types/{table → table-next}/useTableViewport.d.ts +2 -2
  49. package/types/table-next/TableCell.d.ts +0 -9
  50. package/types/table-next/TableGroupCell.d.ts +0 -9
  51. /package/types/table-next/{ColumnMenu.d.ts → column-menu/ColumnMenu.d.ts} +0 -0
package/index.css CHANGED
@@ -20,228 +20,6 @@
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(--vuuDraggable-display, inline-block);
34
- height: var(--vuuDraggable-spacer-height, var(--tabstrip-height));
35
- transition: var(--vuuDraggable-transitionProp, width) 0.3s ease;
36
- width: var(--vuuDraggable-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(--vuuDraggable-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
-
70
- /* ../vuu-ui-controls/src/editable-label/EditableLabel.css */
71
- .vuuEditableLabel {
72
- --saltInput-background: transparent;
73
- --saltInput-minWidth: 14px;
74
- --saltInput-position: absolute;
75
- --editableLabel-padding: var(--saltEditableLabel-padding, 6px);
76
- --editableLabel-height: var(--saltEditableLabel-height, 26px);
77
- color: inherit;
78
- cursor: default;
79
- display: flex;
80
- flex-direction: column;
81
- font-size: var(--salt-text-fontSize);
82
- height: var(--editableLabel-height);
83
- justify-content: center;
84
- outline: none;
85
- padding: 0 var(--editableLabel-padding);
86
- position: relative;
87
- z-index: var(--salt-zIndex-default);
88
- }
89
- .vuuEditableLabel:before {
90
- content: attr(data-text);
91
- display: block;
92
- height: 0px;
93
- visibility: hidden;
94
- white-space: pre-wrap;
95
- }
96
- .vuuEditableLabel .saltInput {
97
- font-weight: var(--salt-text-fontWeight);
98
- left: var(--editableLabel-padding, 0);
99
- padding: 0;
100
- outline-style: none;
101
- position: absolute;
102
- right: var(--editableLabel-padding, 0);
103
- top: var(--saltEditableLabel-top, 2px);
104
- width: auto;
105
- }
106
- .vuuEditableLabel .saltInput-activationIndicator {
107
- display: none;
108
- }
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;
119
- outline: none;
120
- padding: 0;
121
- }
122
-
123
- /* ../vuu-ui-controls/src/list/Highlighter.css */
124
- .saltHighlighter-highlight {
125
- font-weight: var(--salt-text-fontWeight-strong);
126
- }
127
-
128
- /* ../vuu-ui-controls/src/list/CheckboxIcon.css */
129
- .vuuCheckboxIcon {
130
- --vuu-icon-size: 14px;
131
- --vuu-icon-left: -1px;
132
- --vuu-icon-top: -1px;
133
- --vuu-icon-svg: var(--vuu-svg-tick);
134
- border-style: solid;
135
- border-color: var(--vuuCheckboxIcon-borderColor, var(--salt-selectable-borderColor));
136
- border-radius: var(--vuuCheckboxIcon-borderRadius, 3px);
137
- border-width: 1px;
138
- display: inline-block;
139
- height: var(--vuuCheckboxIcon-size, 14px);
140
- position: relative;
141
- width: var(--vuuCheckboxIcon-size, 14px);
142
- }
143
- .vuuCheckboxIcon-checked {
144
- background-color: var(--vuuCheckboxIcon-background-checked, var(--salt-selectable-background-selected));
145
- border-color: var(--vuuCheckboxIcon-borderColor-checked, var(--salt-selectable-borderColor-selected));
146
- }
147
- .vuuCheckboxIcon-checked:after {
148
- content: "";
149
- background-color: white;
150
- left: var(--vuu-icon-left, auto);
151
- height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));
152
- -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
153
- mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
154
- mask-repeat: no-repeat;
155
- -webkit-mask-repeat: no-repeat;
156
- position: absolute;
157
- top: var(--vuu-icon-top, auto);
158
- width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));
159
- }
160
-
161
- /* ../vuu-ui-controls/src/list/ListItem.css */
162
- .vuuListItem {
163
- --list-item-text-color: var(--salt-text-primary-foreground);
164
- --list-item-background: var(--vuuList-item-background, var(--salt-selectable-background));
165
- --list-item-text-color-active: var(--salt-text-primary-foreground);
166
- --list-item-background-active: var(--salt-selectable-background-selected);
167
- --list-item-alignItems: center;
168
- }
169
- .vuuListItem.saltHighlighted {
170
- --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);
171
- --list-item-background: var(--salt-selectable-background-hover);
172
- }
173
- .vuuListItemHeader {
174
- font-weight: var(--salt-text-fontWeight-strong);
175
- }
176
- .vuuListItemHeader[data-sticky] {
177
- position: sticky;
178
- top: 0;
179
- z-index: 1;
180
- }
181
- .vuuListItem {
182
- color: var(--list-item-text-color);
183
- cursor: var(--vuuList-item-cursor, pointer);
184
- background: var(--vuuList-item-background, var(--list-item-background));
185
- font-size: var(--salt-text-fontSize);
186
- text-align: var(--salt-text-textAlign);
187
- line-height: var(--salt-text-lineHeight);
188
- height: var(--vuuList-item-height, var(--list-item-height, auto));
189
- margin-bottom: var(--list-item-gap);
190
- padding: 0 var(--salt-size-unit);
191
- left: 0;
192
- right: 0;
193
- display: flex;
194
- position: relative;
195
- align-items: var(--list-item-alignItems);
196
- white-space: nowrap;
197
- }
198
- .vuuListItem:last-child {
199
- margin-bottom: 0px;
200
- }
201
- .vuuListItem-checkbox {
202
- --list-item-background-active: var(--salt-selectable-background);
203
- --list-item-text-color-active: var(--salt-text-primary-foreground);
204
- --list-item-text-padding: 0 0 0 var(--salt-size-unit);
205
- }
206
- .vuuListItem[aria-selected=true]:not(.vuuListItem-checkbox) {
207
- --list-item-background: var(--list-item-background-active);
208
- color: var(--list-item-text-color-active);
209
- }
210
- .vuuListItem.saltDisabled {
211
- --list-item-text-color: var(--salt-text-primary-foreground-disabled);
212
- cursor: var(--salt-selectable-cursor-disabled);
213
- }
214
- .vuuListItem.vuuFocusVisible {
215
- outline-style: var(--salt-focused-outlineStyle);
216
- outline-width: var(--salt-focused-outlineWidth);
217
- outline-offset: -2px;
218
- outline-color: var(--salt-focused-outlineColor);
219
- }
220
- .vuuListItem.vuuFocusVisible:after {
221
- content: none;
222
- }
223
- .vuuListItem[aria-selected=true]:not(.vuuListItem-checkbox).vuuFocusVisible {
224
- outline-color: var(--list-item-selected-focus-outlineColor);
225
- }
226
- .vuuListItem-textWrapper {
227
- flex: 1;
228
- overflow: hidden;
229
- padding: var(--list-item-text-padding, 0px);
230
- white-space: nowrap;
231
- text-overflow: ellipsis;
232
- }
233
- .vuuListItem-proxy {
234
- position: absolute !important;
235
- visibility: hidden;
236
- }
237
- .vuuDraggable-list-item {
238
- --vuuList-item-height: 24px;
239
- background-color: white;
240
- }
241
- .vuuListItem.vuuDraggable-dragAway {
242
- display: none;
243
- }
244
-
245
23
  /* ../vuu-layout/src/dock-layout/Drawer.css */
246
24
  .vuuDrawer {
247
25
  --drawer-leading-edge-border: solid 1px var(--salt-container-primary-borderColor, none);
@@ -473,7 +251,7 @@
473
251
  /* ../vuu-layout/src/drag-drop/DropTargetRenderer.css */
474
252
  #hw-drag-canvas {
475
253
  visibility: hidden;
476
- z-index: 1;
254
+ z-index: 10;
477
255
  position: absolute;
478
256
  top: 0px;
479
257
  left: 0;
@@ -536,15 +314,17 @@ path.drop-target.centre {
536
314
  }
537
315
 
538
316
  /* ../vuu-layout/src/flexbox/Splitter.css */
539
- .Splitter {
317
+ .vuuSplitter {
318
+ --splitter-background: var(--salt-separable-secondary-borderColor);
319
+ --splitter-borderColor: var(--salt-separable-secondary-borderColor);
320
+ --splitter-borderStyle: none;
321
+ --splitter-borderWidth: 0;
540
322
  --splitter-size: 3px;
541
- --splitter-border-width: 4px;
542
- --splitter-border-style: none;
543
- --splitter-border-color: white;
544
323
  align-items: center;
545
- background-color: var(--salt-palette-neutral-secondary-separator);
546
- border-color: var(--splitter-border-color);
547
- border-style: var(--splitter-border-style);
324
+ background-color: var(--splitter-background);
325
+ border-color: var(--splitter-borderColor);
326
+ border-style: var(--splitter-borderStyle);
327
+ border-width: var(--splitter-borderWidth);
548
328
  box-sizing: border-box;
549
329
  display: flex;
550
330
  justify-content: center;
@@ -552,63 +332,61 @@ path.drop-target.centre {
552
332
  outline: none;
553
333
  z-index: 1;
554
334
  }
555
- .Splitter:hover {
556
- background-color: var(--salt-palette-neutral-primary-separator);
335
+ .vuuSplitter:hover {
336
+ --splitter-background: var(--salt-separable-primary-borderColor);
557
337
  }
558
- .active.Splitter {
559
- background-color: var(--salt-palette-interact-outline);
338
+ .vuuSplitter-active {
339
+ --splitter-background: var(--salt-separable-primary-borderColor);
560
340
  }
561
- .Splitter.column {
341
+ .vuuSplitter-column {
562
342
  cursor: ns-resize;
563
343
  height: var(--splitter-size);
564
- border-width: var(--splitter-border-width) 0;
565
344
  }
566
- .Splitter:not(.column) {
345
+ .vuuSplitter:not(.vuuSplitter-column) {
567
346
  cursor: ew-resize;
568
347
  width: var(--splitter-size);
569
- border-width: 0 var(--splitter-border-width);
570
348
  }
571
- .Splitter:before {
349
+ .vuuSplitter:before {
572
350
  border: none;
573
351
  border-radius: 0;
574
352
  content: "";
575
353
  display: block;
576
354
  padding: 0;
577
355
  }
578
- .Splitter .grab-zone {
356
+ .vuuSplitter-grab-zone {
579
357
  position: absolute;
580
358
  background-color: rgba(255, 0, 0, 0.01);
581
359
  cursor: inherit;
582
360
  }
583
- .Splitter.column .grab-zone {
361
+ .vuuSplitter-column .vuuSplitter-grab-zone {
584
362
  left: 0;
585
363
  right: 0;
586
364
  top: -5px;
587
365
  bottom: -5px;
588
366
  }
589
- .Splitter:not(.column) .grab-zone {
367
+ .vuuSplitter:not(.vuuSplitter-column) .vuuSplitter-grab-zone {
590
368
  left: -5px;
591
369
  right: -5px;
592
370
  top: 0;
593
371
  bottom: 0;
594
372
  }
595
- .active.Splitter:not(.column) .grab-zone {
373
+ .vuuSplitter-active:not(.vuuSplitter-column) .vuuSplitter-grab-zone {
596
374
  background-color: rgba(255, 255, 255, .05);
597
375
  left: -150px;
598
376
  right: -150px;
599
377
  }
600
- .Splitter:not(.column):before {
378
+ .vuuSplitter:not(.vuuSplitter-column):before {
601
379
  width: 1px;
602
380
  height: 10px;
603
381
  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%);
604
382
  }
605
- .active.Splitter.column:before {
383
+ .vuuSplitter-active.vuuSplitter-column:before {
606
384
  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%);
607
385
  }
608
- .active.Splitter:not(.column):before {
386
+ .vuuSplitter-active:not(.vuuSplitter-column):before {
609
387
  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%);
610
388
  }
611
- .Splitter.column:before {
389
+ .vuuSplitter-column:before {
612
390
  width: 10px;
613
391
  height: 1px;
614
392
  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%);
@@ -825,23 +603,28 @@ path.drop-target.centre {
825
603
  --saltToolbarField-marginTop: 0;
826
604
  }
827
605
 
606
+ /* ../vuu-layout/src/measured-container/MeasuredContainer.css */
607
+ .vuuMeasuredContainer {
608
+ height: var(--vuuMeasuredContainer-height, var(--measured-css-height));
609
+ width: var(--measured-css-width);
610
+ }
611
+
828
612
  /* ../vuu-layout/src/overflow-container/OverflowContainer.css */
829
613
  .vuuOverflowContainer {
830
- --item-gap: 4px;
614
+ --item-gap: 2px;
831
615
  --overflow-direction: row;
832
616
  --overflow-width: 0px;
833
- --overflow-order: 99;
834
617
  --border-size: calc((var(--overflow-container-height) - 24px) / 2);
835
- background-color: var(--vuuOverflowContainer-background, black);
618
+ background-color: var(--vuuOverflowContainer-background);
836
619
  height: var(--overflow-container-height);
837
620
  }
838
621
  .vuuOverflowContainer-horizontal {
839
622
  --item-align: center;
840
- --item-margin: 0 0 0 var(--item-gap);
623
+ --item-margin: 0 var(--item-gap) 0 var(--item-gap);
841
624
  }
842
625
  .vuuOverflowContainer-vertical {
843
626
  --item-align: stretch;
844
- --item-margin: var(--item-gap) 0 0 0;
627
+ --item-margin: var(--item-gap) 0 var(--item-gap) 0;
845
628
  --overflow-direction: column;
846
629
  }
847
630
  .vuuOverflowContainer-wrapContainer {
@@ -861,12 +644,6 @@ path.drop-target.centre {
861
644
  --overflow-position: relative;
862
645
  --overflow-width: auto;
863
646
  }
864
- .vuuOverflowContainer-item:first-child {
865
- --item-gap: 0;
866
- }
867
- .vuuOverflowContainer-item:first-child {
868
- --item-margin: 0;
869
- }
870
647
  .vuuOverflowContainer-item {
871
648
  align-items: inherit;
872
649
  display: flex;
@@ -875,10 +652,14 @@ path.drop-target.centre {
875
652
  height: var(--overflow-container-height);
876
653
  margin: var(--item-margin);
877
654
  }
655
+ .vuuOverflowContainer-item[data-align=right] {
656
+ margin-left: auto;
657
+ }
878
658
  .vuuOverflowContainer-item.wrapped {
879
659
  --overflow-item-bg: #ccc;
880
660
  order: 3;
881
661
  }
662
+ .vuuOverflowContainer-item.vuuDraggable-dragAway,
882
663
  .vuuOverflowContainer-item:has(.vuuDraggable-dragAway) {
883
664
  display: none;
884
665
  }
@@ -891,45 +672,44 @@ path.drop-target.centre {
891
672
  display: flex;
892
673
  height: var(--overflow-container-height);
893
674
  height: var(--overflow-container-height);
894
- order: var(--overflow-order);
675
+ order: var(--overflow-order, 99);
895
676
  overflow: hidden;
896
677
  left: var(--overflow-left, 100%);
897
678
  position: var(--overflow-position, absolute);
898
679
  width: var(--overflow-width);
899
680
  }
681
+ .vuuDraggable-vuuOverflowContainer {
682
+ align-items: center;
683
+ display: flex;
684
+ height: 44px;
685
+ }
900
686
 
901
687
  /* ../vuu-layout/src/palette/Palette.css */
688
+ .vuuPalette {
689
+ --vuuList-borderStyle: none;
690
+ }
902
691
  .vuuPalette-horizontal {
903
692
  align-items: center;
904
693
  display: flex;
905
694
  }
906
695
  .vuuPaletteItem {
907
- --vuu-icon-color: var(--salt-separable-primary-borderColor);
908
- --vuu-icon-inset: calc(50% - 12px) auto auto -3px;
909
- --vuu-icon-height: 24px;
910
- --vuu-icon-width: 24px;
696
+ --vuu-icon-color: var(--salt-text-primary-foreground);
697
+ --vuu-icon-left: 0;
698
+ --vuu-icon-size: 16px;
699
+ --vuu-icon-top: 11px;
911
700
  --list-item-text-padding: 0 0 0 calc(var(--salt-size-unit) * 3);
912
- }
913
- .vuuPaletteItem[data-draggable]:after {
914
- height: 22px;
915
- width: 6px;
916
- content: "";
917
- position: absolute;
918
- background-image:
919
- linear-gradient(45deg, rgb(180, 183, 190) 25%, transparent 25%),
920
- linear-gradient(-45deg, rgb(180, 183, 190) 25%, transparent 25%),
921
- linear-gradient(45deg, transparent 75%, rgb(180, 183, 190) 25%),
922
- linear-gradient(-45deg, transparent 75%, rgb(180, 183, 190) 25%);
923
- background-size: 4px 4px;
924
- background-position:
925
- 0 0,
926
- 2px 0,
927
- 2px -2px,
928
- 0 2px;
701
+ border-bottom: solid 1px var(--salt-separable-tertiary-borderColor);
702
+ padding-left: 12px;
703
+ font-size: 12px;
704
+ font-weight: 600;
929
705
  }
930
706
  .vuuSimpleDraggableWrapper > .vuuPaletteItem {
931
707
  --vuu-icon-color: var(--salt-selectable-foreground);
932
708
  }
709
+ .salt-theme .vuuPaletteItem {
710
+ font-size: 11px;
711
+ font-weight: normal;
712
+ }
933
713
 
934
714
  /* ../vuu-layout/src/stack/Stack.css */
935
715
  .Tabs {
@@ -969,6 +749,21 @@ path.drop-target.centre {
969
749
  --spacing-medium: 5px;
970
750
  }
971
751
 
752
+ /* ../vuu-layout/src/toolbar/Toolbar.css */
753
+ .vuuToolbar {
754
+ background: var(--vuuToolbar-background, inherit);
755
+ height: var(--vuuToolbar-height, 36px);
756
+ }
757
+ .vuuToolbarItem {
758
+ height: 100%;
759
+ }
760
+ .vuuToolbarItem.vuuFocusVisible {
761
+ outline-color: var(--vuuToolbarItem-outlineColor, var(--salt-focused-outlineColor));
762
+ outline-style: dashed;
763
+ outline-width: 1px;
764
+ outline-offset: -1px;
765
+ }
766
+
972
767
  /* ../vuu-layout/src/tools/devtools-box/layout-configurator.css */
973
768
  [data-design-mode=true] .Component {
974
769
  filter: grayscale(100%);
@@ -1081,38 +876,273 @@ path.drop-target.centre {
1081
876
  color: white;
1082
877
  }
1083
878
 
1084
- /* ../vuu-ui-controls/src/list/List.css */
1085
- .vuuList {
1086
- --list-background: var(--salt-container-primary-background);
1087
- --list-borderStyle: var(--vuuList-borderStyle,--salt-container-borderStyle);
1088
- --list-borderWidth: var(--salt-size-border);
1089
- --list-height: auto;
1090
- --list-item-height: var(--salt-size-stackable);
1091
- --list-item-gap: 0px;
1092
- --list-maxHeight: 100%;
1093
- --vuuDraggable-display: block;
1094
- --vuuDraggable-spacer-height: 0;
1095
- --vuuDraggable-spacer-width: 100%;
1096
- --vuuDraggable-transitionProp: height;
1097
- background: var(--list-background);
879
+ /* ../vuu-ui-controls/src/dropdown/Dropdown.css */
880
+ .vuuDropdown {
881
+ --saltIcon-margin: 2px 0 0 8px;
882
+ --saltButton-borderStyle: solid;
883
+ --saltButton-borderColor: var(--salt-editable-borderColor);
884
+ --saltButton-borderWidth: 1px;
885
+ --saltButton-borderRadius: 6px;
886
+ --saltButton-height: var(--vuuDropdown-height, auto);
887
+ display: inline-block;
888
+ line-height: 0;
889
+ position: relative;
890
+ width: var(--vuuDropdown-width, auto);
891
+ }
892
+ .vuuDropdown-fullWidth {
893
+ width: 100%;
894
+ }
895
+ .vuuDropdown-popup {
896
+ background: var(--salt-container-primary-background);
897
+ z-index: calc(var(--salt-zIndex-flyover) - 1);
898
+ }
899
+ .vuuDropdown-popup-component {
900
+ --vuuList-borderStyle: none;
901
+ }
902
+ .vuuDropdownButton {
903
+ width: 100%;
904
+ }
905
+
906
+ /* ../vuu-ui-controls/src/dropdown/DropdownButton.css */
907
+ .vuuDropdownButton {
908
+ --saltButton-background-hover: var(--salt-actionable-secondary-background);
909
+ --saltButton-background-active: var(--salt-actionable-secondary-background);
910
+ --saltButton-fontWeight: var(--salt-text-fontWeight-strong);
911
+ --saltButton-textAlign: left;
912
+ --saltButton-textTransform: none;
913
+ --saltButton-width: 100%;
914
+ --vuu-icon-size: 16px;
915
+ }
916
+ .vuuDropdownButton:active {
917
+ --saltIcon-color: var(--salt-actionable-secondary-foreground);
918
+ --saltButton-text-color-active: var(--salt-actionable-secondary-foreground);
919
+ }
920
+ .vuuDropdownButton-fullwidth {
921
+ width: 100%;
922
+ }
923
+ .vuuDropdownButton-content {
924
+ align-items: center;
925
+ flex: 1;
926
+ width: 100%;
927
+ display: flex;
928
+ white-space: nowrap;
929
+ }
930
+ .vuuDropdownButton-buttonLabel {
931
+ display: inline-block;
932
+ letter-spacing: 0;
933
+ overflow: hidden;
934
+ text-overflow: ellipsis;
935
+ width: 100%;
936
+ }
937
+ .vuuDropdownButton-formField.saltButton:focus,
938
+ .vuuDropdownButton-formField.saltButton:focus-visible {
939
+ outline: none;
940
+ }
941
+
942
+ /* ../vuu-ui-controls/src/list/Highlighter.css */
943
+ .saltHighlighter-highlight {
944
+ font-weight: var(--salt-text-fontWeight-strong);
945
+ }
946
+
947
+ /* ../vuu-ui-controls/src/list/CheckboxIcon.css */
948
+ .vuuCheckboxIcon {
949
+ --vuu-icon-size: 12px;
950
+ --vuu-icon-left: -1px;
951
+ --vuu-icon-top: -1px;
952
+ --vuu-icon-svg: var(--vuu-svg-tick);
953
+ border-style: solid;
954
+ border-color: var(--vuuCheckboxIcon-borderColor, var(--salt-selectable-borderColor));
955
+ border-radius: var(--vuuCheckboxIcon-borderRadius, 3px);
956
+ border-width: 1px;
957
+ display: inline-block;
958
+ height: var(--vuuCheckboxIcon-size, 12px);
959
+ position: relative;
960
+ width: var(--vuuCheckboxIcon-size, 12px);
961
+ }
962
+ .vuuCheckboxIcon-checked {
963
+ background-color: var(--vuuCheckboxIcon-background-checked, var(--salt-selectable-background-selected));
964
+ border-color: var(--vuuCheckboxIcon-borderColor-checked, var(--salt-selectable-borderColor-selected));
965
+ }
966
+ .vuuCheckboxIcon-checked:after {
967
+ content: "";
968
+ background-color: white;
969
+ left: var(--vuu-icon-left, auto);
970
+ height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));
971
+ -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
972
+ mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
973
+ mask-repeat: no-repeat;
974
+ -webkit-mask-repeat: no-repeat;
975
+ position: absolute;
976
+ top: var(--vuu-icon-top, auto);
977
+ width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));
978
+ }
979
+
980
+ /* ../vuu-ui-controls/src/list/ListItem.css */
981
+ .vuuListItem {
982
+ --list-item-text-color: var(--salt-text-primary-foreground);
983
+ --list-item-background: var(--vuuList-item-background, var(--salt-selectable-background));
984
+ --list-item-text-color-active: var(--salt-text-primary-foreground);
985
+ --list-item-background-active: var(--salt-selectable-background-selected);
986
+ --list-item-alignItems: center;
987
+ }
988
+ .vuuListItem.vuuHighlighted {
989
+ --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);
990
+ --list-item-background: var(--salt-selectable-background-hover);
991
+ }
992
+ .vuuListItemHeader {
993
+ font-weight: var(--salt-text-fontWeight-strong);
994
+ }
995
+ .vuuListItemHeader[data-sticky] {
996
+ position: sticky;
997
+ top: 0;
998
+ z-index: 1;
999
+ }
1000
+ .vuuListItem {
1001
+ color: var(--list-item-text-color);
1002
+ cursor: var(--vuuList-item-cursor, pointer);
1003
+ background: var(--vuuList-item-background, var(--list-item-background));
1004
+ font-size: var(--salt-text-fontSize);
1005
+ text-align: var(--salt-text-textAlign);
1006
+ line-height: var(--salt-text-lineHeight);
1007
+ height: var(--vuuList-item-height, var(--list-item-height, auto));
1008
+ margin-bottom: var(--list-item-gap);
1009
+ padding: 0 var(--vuuListItem-padding, var(--salt-size-unit));
1010
+ left: 0;
1011
+ right: 0;
1012
+ display: flex;
1013
+ position: relative;
1014
+ align-items: var(--list-item-alignItems);
1015
+ white-space: nowrap;
1016
+ }
1017
+ .vuuListItem:last-child {
1018
+ margin-bottom: 0px;
1019
+ }
1020
+ .vuuListItem-checkbox {
1021
+ --list-item-background-active: var(--salt-selectable-background);
1022
+ --list-item-text-color-active: var(--salt-text-primary-foreground);
1023
+ --list-item-text-padding: 0 0 0 var(--salt-size-unit);
1024
+ }
1025
+ .vuuListItem[aria-selected=true]:not(.vuuListItem-checkbox) {
1026
+ --list-item-background: var(--list-item-background-active);
1027
+ color: var(--list-item-text-color-active);
1028
+ }
1029
+ .vuuListItem.vuuDisabled {
1030
+ --list-item-text-color: var(--salt-text-primary-foreground-disabled);
1031
+ cursor: var(--salt-selectable-cursor-disabled);
1032
+ }
1033
+ .vuuListItem.vuuFocusVisible {
1034
+ outline-style: var(--salt-focused-outlineStyle);
1035
+ outline-width: var(--salt-focused-outlineWidth);
1036
+ outline-offset: -2px;
1037
+ outline-color: var(--salt-focused-outlineColor);
1038
+ }
1039
+ .vuuListItem.vuuFocusVisible:after {
1040
+ content: none;
1041
+ }
1042
+ .vuuListItem[aria-selected=true]:not(.vuuListItem-checkbox).vuuFocusVisible {
1043
+ outline-color: var(--list-item-selected-focus-outlineColor);
1044
+ }
1045
+ .vuuListItem-textWrapper {
1046
+ flex: 1;
1047
+ overflow: hidden;
1048
+ padding: var(--list-item-text-padding, 0px);
1049
+ white-space: nowrap;
1050
+ text-overflow: ellipsis;
1051
+ }
1052
+ .vuuListItem-proxy {
1053
+ position: absolute !important;
1054
+ visibility: hidden;
1055
+ }
1056
+ .vuuDraggable-list-item {
1057
+ --vuuList-item-height: 24px;
1058
+ background-color: white;
1059
+ }
1060
+ .vuuListItem.vuuDraggable-dragAway {
1061
+ display: none;
1062
+ }
1063
+
1064
+ /* ../vuu-ui-controls/src/drag-drop/Draggable.css */
1065
+ .vuuDraggable {
1066
+ background: transparent;
1067
+ box-shadow: var(--salt-overlayable-shadow-drag);
1068
+ cursor: var(--salt-draggable-grab-cursor-active);
1069
+ position: absolute;
1070
+ opacity: .95;
1071
+ z-index: 2000;
1072
+ }
1073
+ .vuuDraggable-spacer {
1074
+ display: var(--vuuDraggable-display, inline-block);
1075
+ height: var(--vuuDraggable-spacer-height, var(--tabstrip-height));
1076
+ transition: var(--vuuDraggable-transitionProp, width) 0.3s ease;
1077
+ width: var(--vuuDraggable-spacer-width, 0);
1078
+ }
1079
+ .vuuDraggable-dropIndicatorPosition {
1080
+ display: var(--saltDraggable-display, inline-block);
1081
+ height: 0px;
1082
+ width: 100%;
1083
+ }
1084
+ .vuuDraggable-dropIndicatorContainer {
1085
+ transition: var(--vuuDraggable-transitionProp, top) 0.2s ease;
1086
+ }
1087
+ .vuuDraggable-dropIndicator {
1088
+ background-color: var(--salt-palette-accent-background);
1089
+ height: 2px;
1090
+ width: 100%;
1091
+ }
1092
+ .vuuDraggable-dropIndicator:before {
1093
+ content: "";
1094
+ width: 6px;
1095
+ height: 6px;
1096
+ border-radius: 3px;
1097
+ background-color: var(--salt-palette-accent-background);
1098
+ position: absolute;
1099
+ top: -2px;
1100
+ left: -3px;
1101
+ }
1102
+ .vuuDraggable-settling {
1103
+ transition-property: left, top;
1104
+ transition-duration: .15s;
1105
+ transition-timing-function: ease-out;
1106
+ }
1107
+ .vuuDraggable-spacer {
1108
+ order: 1;
1109
+ }
1110
+
1111
+ /* ../vuu-ui-controls/src/list/List.css */
1112
+ .vuuList {
1113
+ --list-background: var(--salt-container-primary-background);
1114
+ --list-borderStyle: var(--vuuList-borderStyle,var(--salt-container-borderStyle));
1115
+ --list-borderWidth: var(--salt-size-border);
1116
+ --list-height: auto;
1117
+ --list-item-height: var(--salt-size-stackable);
1118
+ --list-item-gap: 0px;
1119
+ --list-maxHeight: 100%;
1120
+ --vuuDraggable-display: block;
1121
+ --vuuDraggable-spacer-height: 0;
1122
+ --vuuDraggable-spacer-width: 100%;
1123
+ --vuuDraggable-transitionProp: height;
1124
+ --vuuMeasuredContainer-height: var(--computed-list-height);
1125
+ background: var(--list-background);
1098
1126
  border-color: var(--salt-container-primary-borderColor);
1099
1127
  border-style: var(--list-borderStyle);
1100
1128
  border-width: var(--list-borderWidth);
1101
1129
  height: var(--saltList-height, var(--list-height));
1102
1130
  max-height: var(--list-maxHeight);
1103
1131
  outline: none;
1104
- overflow-y: auto;
1105
1132
  position: relative;
1106
1133
  user-select: none;
1107
1134
  width: var(--saltList-width, auto);
1108
1135
  }
1136
+ .vuuList-contentSized {
1137
+ box-sizing: content-box;
1138
+ }
1109
1139
  .vuuList-borderless {
1110
1140
  --list-borderStyle: none;
1111
1141
  }
1112
1142
  .vuuList-viewport {
1113
- --list-item-height: 30px;
1114
- max-height: calc(var(--list-maxHeight) - 2 * var(--list-borderWidth));
1143
+ height: var(--computed-list-height, var(--measured-px-height));
1115
1144
  overflow: auto;
1145
+ width: var(--measured-px-width);
1116
1146
  }
1117
1147
  .vuuListItemHeader {
1118
1148
  --saltList-item-background: var(--list-item-header-background);
@@ -1159,51 +1189,351 @@ path.drop-target.centre {
1159
1189
  inset: 2px;
1160
1190
  }
1161
1191
 
1162
- /* ../vuu-ui-controls/src/tabstrip/Tabstrip.css */
1163
- .vuuTabstrip {
1164
- --vuuOverflowContainer-background: transparent;
1165
- --tabstrip-dragging-display: none;
1166
- --tabstrip-display: inline-flex;
1167
- --tabstrip-background: transparent;
1168
- align-self: var(--saltTabs-tabstrip-alignSelf, stretch);
1169
- font-size: var(--salt-text-fontSize);
1170
- font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));
1192
+ /* ../vuu-ui-controls/src/list/RadioIcon.css */
1193
+ .vuuRadioIcon {
1194
+ --vuu-icon-size: 12px;
1195
+ --vuu-icon-left: -1px;
1196
+ --vuu-icon-top: -1px;
1197
+ --vuu-icon-svg: var(--vuu-svg-radio);
1198
+ border-style: solid;
1199
+ border-color: var(--vuuRadioIcon-borderColor, var(--salt-selectable-borderColor));
1200
+ border-radius: 50%;
1201
+ border-width: 1px;
1202
+ display: inline-block;
1203
+ height: var(--vuuRadioIcon-size, 12px);
1171
1204
  position: relative;
1172
- overflow: visible;
1173
- display: flex;
1174
- min-width: 28px;
1175
- width: var(--tabstrip-width);
1176
- }
1177
- .vuuTabstrip-horizontal {
1178
- --tabstrip-height: var(--vuuTabstrip-height, 28px);
1179
- --tabstrip-width: var(--vuuTabstrip-width, 100%);
1180
- --tab-width: auto;
1181
- --tab-thumb-height: 2px;
1182
- --tab-thumb-left: var(--tab-thumb-offset, 0);
1183
- --tab-thumb-top: auto;
1184
- --tab-thumb-width: var(--tab-thumb-size, 100%);
1185
- align-items: flex-start;
1186
- border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));
1205
+ width: var(--vuuRadioIcon-size, 12px);
1187
1206
  }
1188
- .vuuTabstrip-vertical {
1189
- --tabstrip-height: var(--vuuTabstrip-height, 100%);
1190
- --tabstrip-width: var(--vuuTabstrip-width, 100px);
1191
- --tab-width: 100%;
1192
- --tab-thumb-height: var(--tab-thumb-size, 100%);
1193
- --tab-thumb-left: 0;
1194
- --tab-thumb-top: var(--tab-thumb-offset, 0);
1195
- --tab-thumb-width: 2px;
1196
- align-self: flex-start;
1197
- display: inline-flex;
1198
- }
1199
- .vuuTabstrip-draggingTab .vuuTab {
1200
- pointer-events: none;
1207
+ .vuuRadioIcon-checked {
1208
+ background-image: var(--vuu-svg-radio);
1209
+ border: none;
1210
+ background-repeat: no-repeat;
1201
1211
  }
1202
- .vuuTabstrip-addTabButton {
1203
- --saltButton-height: 20px;
1212
+ .vuuRadioIcon-checked:after {
1213
+ content: "";
1214
+ left: var(--vuu-icon-left, auto);
1215
+ height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));
1216
+ -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
1217
+ mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
1218
+ mask-repeat: no-repeat;
1219
+ -webkit-mask-repeat: no-repeat;
1220
+ position: absolute;
1221
+ top: var(--vuu-icon-top, auto);
1222
+ width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));
1223
+ }
1224
+
1225
+ /* ../vuu-ui-controls/src/list/ChevronIcon.css */
1226
+ .vuuChevronIcon {
1227
+ --vuu-icon-size: 14px;
1228
+ --vuu-icon-left: -1px;
1229
+ --vuu-icon-top: -1px;
1230
+ height: var(--vuuChevronIcon-size, 14px);
1231
+ position: relative;
1232
+ width: var(--vuuChevronIcon-size, 14px);
1233
+ cursor: pointer;
1234
+ }
1235
+ .vuuChevronIcon:after {
1236
+ content: "";
1237
+ background-color: #777C94;
1238
+ left: var(--vuu-icon-left, auto);
1239
+ height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));
1240
+ -webkit-mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
1241
+ mask: var(--vuu-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
1242
+ mask-repeat: no-repeat;
1243
+ -webkit-mask-repeat: no-repeat;
1244
+ position: absolute;
1245
+ top: var(--vuu-icon-top, auto);
1246
+ width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));
1247
+ }
1248
+ .vuuChevronIcon.up {
1249
+ --vuu-icon-svg: var(--vuu-svg-chevron-up);
1250
+ }
1251
+ .vuuChevronIcon.down {
1252
+ --vuu-icon-svg: var(--vuu-svg-chevron-down);
1253
+ }
1254
+ .vuuChevronIcon.left {
1255
+ --vuu-icon-svg: var(--vuu-svg-chevron-left);
1256
+ }
1257
+ .vuuChevronIcon.right {
1258
+ --vuu-icon-svg: var(--vuu-svg-chevron-right);
1259
+ }
1260
+
1261
+ /* ../vuu-ui-controls/src/editable-label/EditableLabel.css */
1262
+ .vuuEditableLabel {
1263
+ --editableLabel-padding: var(--vuuEditableLabel-padding, 6px);
1264
+ --editableLabel-height: var(--vuuEditableLabel-height, 26px);
1265
+ --saltInput-background: transparent;
1266
+ --saltInput-height: calc(var(--editableLabel-height) - 4px);
1267
+ --saltInput-minWidth: 14px;
1268
+ color: inherit;
1269
+ cursor: default;
1270
+ display: flex;
1271
+ flex-direction: column;
1272
+ font-size: var(--salt-text-fontSize);
1273
+ height: var(--editableLabel-height);
1274
+ justify-content: center;
1275
+ max-width: 170px;
1276
+ outline: none;
1277
+ overflow: hidden;
1278
+ padding: 0 var(--editableLabel-padding);
1279
+ position: relative;
1280
+ text-overflow: ellipsis;
1281
+ white-space: nowrap;
1282
+ z-index: var(--salt-zIndex-default);
1283
+ }
1284
+ .vuuEditableLabel:before {
1285
+ content: attr(data-text);
1286
+ display: block;
1287
+ height: 0px;
1288
+ visibility: hidden;
1289
+ white-space: pre-wrap;
1290
+ }
1291
+ .vuuEditableLabel .saltInput {
1292
+ font-weight: var(--salt-text-fontWeight);
1293
+ left: var(--editableLabel-padding, 0);
1294
+ padding: 0;
1295
+ outline-style: none;
1296
+ position: absolute;
1297
+ right: var(--editableLabel-padding, 0);
1298
+ top: var(--saltEditableLabel-top, 2px);
1299
+ width: auto;
1300
+ }
1301
+ .vuuEditableLabel .saltInput-activationIndicator {
1302
+ display: none;
1303
+ }
1304
+ .vuuEditableLabel-input {
1305
+ background-color: transparent;
1306
+ border: none;
1307
+ box-sizing: content-box;
1308
+ color: inherit;
1309
+ display: block;
1310
+ flex: 1;
1311
+ font: inherit;
1312
+ height: 20px;
1313
+ margin: 0;
1314
+ min-width: 0;
1315
+ outline: none;
1316
+ padding: 0;
1317
+ }
1318
+ .vuuEditableLabel-label {
1319
+ overflow: hidden;
1320
+ text-overflow: ellipsis;
1321
+ white-space: nowrap;
1322
+ }
1323
+
1324
+ /* ../vuu-ui-controls/src/expando-input/ExpandoInput.css */
1325
+ .vuuExpandoInput {
1326
+ --salt-editable-secondary-background: white;
1327
+ --expandoInput-height: var(--vuuExpandoInput-height, 26px);
1328
+ --expandoInput-padding: var(--vuuExpandoInput-padding, 6px);
1329
+ --saltInput-height: calc(var(--vuuExpandoInput-height) - 4px);
1330
+ --saltInput-minWidth: var(--vuuExpandoInput-minWidth, 8px);
1331
+ border: var(--vuuExpandoInput-border, none);
1332
+ border-radius: var(--vuuExpandoInput-borderRadius, 0);
1333
+ color: inherit;
1334
+ cursor: default;
1335
+ display: inline-block;
1336
+ font-size: var(--salt-text-fontSize);
1337
+ height: var(--expandoInput-height);
1338
+ min-width: calc(var(--saltInput-minWidth) + 2 * var(--expandoInput-padding));
1339
+ outline: none;
1340
+ padding: 0 var(--expandoInput-padding);
1341
+ position: relative;
1342
+ }
1343
+ .vuuExpandoInput:before {
1344
+ content: attr(data-text);
1345
+ display: block;
1346
+ height: 0px;
1347
+ visibility: hidden;
1348
+ white-space: pre-wrap;
1349
+ }
1350
+ .vuuExpandoInput .saltInput {
1351
+ font-weight: var(--salt-text-fontWeight);
1352
+ left: var(--expandoInput-padding, 0);
1353
+ padding: 0;
1354
+ outline-style: none;
1355
+ position: absolute;
1356
+ right: var(--expandoInput-padding, 0);
1357
+ top: var(--vuuExpandoInput-top, 2px);
1358
+ width: auto;
1359
+ }
1360
+ .vuuExpandoInput .saltInput-activationIndicator {
1361
+ display: none;
1362
+ }
1363
+ .vuuExpandoInput-input {
1364
+ background-color: transparent;
1365
+ border: none;
1366
+ box-sizing: content-box;
1367
+ display: block;
1368
+ flex: 1;
1369
+ font: inherit;
1370
+ height: 20px;
1371
+ margin: 0;
1372
+ min-width: 0;
1373
+ outline: none;
1374
+ padding: 0;
1375
+ }
1376
+
1377
+ /* ../vuu-ui-controls/src/inputs/Checkbox.css */
1378
+ .vuuCheckbox {
1379
+ display: flex;
1380
+ height: 24px;
1381
+ align-items: center;
1382
+ gap: 6px;
1383
+ color: var(--light-text-primary, #15171B);
1384
+ font-feature-settings:
1385
+ "ss02" on,
1386
+ "ss01" on,
1387
+ "salt" on,
1388
+ "liga" off;
1389
+ font-size: 12px;
1390
+ font-weight: 400;
1391
+ cursor: pointer;
1392
+ }
1393
+
1394
+ /* ../vuu-ui-controls/src/inputs/RadioButton.css */
1395
+ .vuuRadioButton {
1396
+ display: flex;
1397
+ height: 24px;
1398
+ align-items: center;
1399
+ gap: 6px;
1400
+ color: var(--light-text-primary, #15171B);
1401
+ font-feature-settings:
1402
+ "ss02" on,
1403
+ "ss01" on,
1404
+ "salt" on,
1405
+ "liga" off;
1406
+ font-size: 12px;
1407
+ font-weight: 400;
1408
+ cursor: pointer;
1409
+ }
1410
+ .radio {
1411
+ position: relative;
1412
+ height: 12px;
1413
+ }
1414
+ input[type=radio] {
1415
+ position: absolute;
1416
+ appearance: none;
1417
+ width: 100%;
1418
+ height: 100%;
1419
+ border-radius: 50%;
1420
+ margin: 0;
1421
+ top: 0;
1422
+ }
1423
+
1424
+ /* ../vuu-ui-controls/src/instrument-search/SearchCell.css */
1425
+ .vuuSearchCell {
1426
+ --vuu-icon-left: 0;
1427
+ --vuu-icon-size: 16px;
1428
+ --vuu-icon-top: 0px;
1429
+ align-items: center;
1430
+ color: var(--background-cell-color);
1431
+ display: flex;
1432
+ gap: 4px;
1433
+ padding: 0 8px 0 8px;
1434
+ position: relative;
1435
+ z-index: -1;
1436
+ }
1437
+
1438
+ /* ../vuu-ui-controls/src/instrument-search/InstrumentSearch.css */
1439
+ .vuuInstrumentSearch {
1440
+ height: 100%;
1441
+ padding: var(--vuuInstrumentSearch-padding, 12px);
1442
+ display: flex;
1443
+ flex-direction: column;
1444
+ }
1445
+ .vuuInstrumentSearch-inputField {
1446
+ --vuu-icon-size: 16px;
1447
+ flex: 0 0 40px;
1448
+ }
1449
+ .vuuInstrumentSearch-list {
1450
+ background-color: var(--salt-container-primary-background);
1451
+ flex: 1 1 auto;
1452
+ }
1453
+ .vuuInstrumentSearch .vuuTableNextCell {
1454
+ padding: 0;
1455
+ }
1456
+
1457
+ /* ../vuu-ui-controls/src/price-ticker/PriceTicker.css */
1458
+ @property --price-ticker-color { syntax: "<color>"; initial-value: #15171B; inherits: false; }
1459
+ .vuuPriceTicker {
1460
+ align-items: center;
1461
+ display: flex;
1462
+ font-size: var(--vuuPriceTicker-fontSize, var(--salt-text-fontSize));
1463
+ font-weight: var(--vuuPriceTicker-fontWeight, 700);
1464
+ transition-property: color;
1465
+ transition-duration: .3s;
1466
+ }
1467
+ .vuuPriceTicker.up1 {
1468
+ --vuu-icon-color: var(--vuu-color-green-50);
1469
+ color: var(--vuu-color-green-50);
1470
+ animation-duration: 30s;
1471
+ }
1472
+ .vuuPriceTicker.up2 {
1473
+ --vuu-icon-color: var(--vuu-color-green-50);
1474
+ color: var(--vuu-color-green-50);
1475
+ animation-duration: 30s;
1476
+ }
1477
+ .vuuPriceTicker.down1 {
1478
+ --vuu-icon-transform: rotate(180deg);
1479
+ --vuu-icon-color: var(--vuu-color-red-50);
1480
+ color: var(--vuu-color-red-50);
1481
+ animation-duration: 30s;
1482
+ }
1483
+ .vuuPriceTicker.down2 {
1484
+ --vuu-icon-transform: rotate(180deg);
1485
+ --vuu-icon-color: var(--vuu-color-red-50);
1486
+ color: var(--vuu-color-red-50);
1487
+ animation-duration: 30s;
1488
+ }
1489
+
1490
+ /* ../vuu-ui-controls/src/tabstrip/Tabstrip.css */
1491
+ .vuuTabstrip {
1492
+ --vuuOverflowContainer-background: transparent;
1493
+ --tabstrip-dragging-display: none;
1494
+ --tabstrip-display: inline-flex;
1495
+ --tabstrip-background: transparent;
1496
+ align-self: var(--saltTabs-tabstrip-alignSelf, stretch);
1497
+ display: flex;
1498
+ font-size: var(--salt-text-fontSize);
1499
+ font-weight: var(--vuuTabstrip-fontWeight, var(--salt-text-fontWeight));
1500
+ min-width: 28px;
1501
+ position: relative;
1502
+ overflow: visible;
1503
+ width: var(--tabstrip-width);
1504
+ }
1505
+ .vuuTabstrip-horizontal {
1506
+ --tabstrip-height: var(--vuuTabstrip-height, 28px);
1507
+ --tabstrip-width: var(--vuuTabstrip-width, 100%);
1508
+ --tab-height: var(--tabstrip-height);
1509
+ --tab-width: auto;
1510
+ --tab-thumb-height: 2px;
1511
+ --tab-thumb-left: var(--tab-thumb-offset, 0);
1512
+ --tab-thumb-top: auto;
1513
+ --tab-thumb-width: var(--tab-thumb-size, 100%);
1514
+ align-items: flex-start;
1515
+ border-bottom: var(--vuuTabstrip-borderBottom, solid 1px var(--salt-container-primary-borderColor));
1516
+ }
1517
+ .vuuTabstrip-vertical {
1518
+ --tabstrip-height: var(--vuuTabstrip-height, 100%);
1519
+ --tabstrip-width: var(--vuuTabstrip-width, 100px);
1520
+ --tab-height: 50px;
1521
+ --tab-width: 100%;
1522
+ --tab-thumb-height: 0;
1523
+ --tab-thumb-left: 0;
1524
+ --tab-thumb-top: var(--tab-thumb-offset, 0);
1525
+ --tab-thumb-width: 2px;
1526
+ align-self: flex-start;
1527
+ display: inline-flex;
1528
+ }
1529
+ .vuuTabstrip-draggingTab .vuuTab {
1530
+ pointer-events: none;
1531
+ }
1532
+ .vuuTabstrip-addTabButton {
1533
+ --saltButton-height: 20px;
1204
1534
  --saltButton-width: 20px;
1205
1535
  }
1206
- .vuuTabstrip-overflowMenu.saltDropdown {
1536
+ .vuuTabstrip-overflowMenu.vuuDropdown {
1207
1537
  --saltIcon-margin: 2px 0 0 0px;
1208
1538
  }
1209
1539
  .vuuTabstrip-overflowMenu-open {
@@ -1272,9 +1602,9 @@ path.drop-target.centre {
1272
1602
  /* ../vuu-ui-controls/src/tabstrip/Tab.css */
1273
1603
  .vuuTab {
1274
1604
  --saltEditableLabel-padding: 0;
1275
- --saltEditableLabel-height: var(--tabstrip-height);
1605
+ --saltEditableLabel-height: calc(var(--tabstrip-height) - 2px);
1276
1606
  --saltInputLegacy-minWidth: 4em;
1277
- --saltEditableLabel-top: 3px;
1607
+ --saltEditableLabel-top: 2px;
1278
1608
  --tab-background: var(--vuuTab-background, var(--salt-navigable-primary-background));
1279
1609
  --tab-cursor: pointer;
1280
1610
  --tab-position: relative;
@@ -1289,7 +1619,7 @@ path.drop-target.centre {
1289
1619
  cursor: var(--vuuTab-cursor, var(--tab-cursor));
1290
1620
  display: var(--tabstrip-display);
1291
1621
  gap: 8px;
1292
- height: var(--vuuTab-height, var(--tabstrip-height));
1622
+ height: var(--vuuTabHeight, var(--tab-height));
1293
1623
  letter-spacing: var(--vuuTab-letterSpacing, var(--tab-letterSpacing, 0));
1294
1624
  min-width: var(--vuuTab-minWidth, 40px);
1295
1625
  outline: none;
@@ -1315,7 +1645,8 @@ path.drop-target.centre {
1315
1645
  font-family: inherit;
1316
1646
  font-size: inherit;
1317
1647
  font-weight: inherit;
1318
- height: var(--vuuTabstrip-height, var(--salt-size-stackable));
1648
+ height: calc(var(--tab-height) - var(--tab-thumb-height));
1649
+ margin-bottom: var(--tab-thumb-height);
1319
1650
  outline: none;
1320
1651
  position: relative;
1321
1652
  }
@@ -2037,246 +2368,1148 @@ path.drop-target.centre {
2037
2368
  }
2038
2369
  @keyframes shimmer {
2039
2370
  100% {
2040
- transform: translateX(100%);
2371
+ transform: translateX(100%);
2372
+ }
2373
+ }
2374
+
2375
+ /* src/table/cell-renderers/json-cell/JsonCell.css */
2376
+ .vuuJsonCell-group {
2377
+ align-items: center;
2378
+ display: inline-flex;
2379
+ height: calc(var(--vuuTable-rowHeight) - 1px);
2380
+ width: 100%;
2381
+ }
2382
+ .vuuJsonCell-toggle {
2383
+ --vuu-icon-color: var(--salt-text-primary-foreground);
2384
+ --vuu-icon-height: calc(var(--vuuTable-rowHeight) - 1px);
2385
+ --vuu-icon-width: 18px;
2386
+ flex-shrink: 0;
2387
+ margin-left: auto;
2388
+ }
2389
+ .vuuJsonCell-name {
2390
+ font-weight: var(--salt-typography-fontWeight-semiBold);
2391
+ }
2392
+ .vuuJsonCell-value {
2393
+ overflow: hidden;
2394
+ text-overflow: ellipsis;
2395
+ }
2396
+
2397
+ /* src/table-next/column-resizing/ColumnResizer.css */
2398
+ .vuuColumnResizerNext {
2399
+ background-color: var(--columnResizer-color);
2400
+ cursor: col-resize;
2401
+ height: var(--header-height);
2402
+ margin-left: var(--columnResizer-left, auto);
2403
+ position: relative;
2404
+ width: 2px;
2405
+ }
2406
+ .vuuColumnResizerNext:hover {
2407
+ --columnResizer-color: var(--salt-color-blue-500);
2408
+ }
2409
+ .vuuColumnResizerNext:after {
2410
+ background-color: var(--columnResizer-color, var(--salt-separable-tertiary-borderColor));
2411
+ bottom: 0;
2412
+ content: "";
2413
+ position: absolute;
2414
+ top: 0;
2415
+ right: 0px;
2416
+ height: var(--columnResizer-height, 0);
2417
+ width: 2px;
2418
+ }
2419
+
2420
+ /* src/table-next/column-header-pill/ColumnHeaderPill.css */
2421
+ .vuuColumnHeaderPill {
2422
+ --vuu-icon-size: 14px;
2423
+ --menu-item-icon-color: black;
2424
+ --vuu-icon-color: white;
2425
+ --vuu-icon-height: 12px;
2426
+ --vuu-icon-width: 13px;
2427
+ align-items: center;
2428
+ background: var(--salt-taggable-background-active);
2429
+ color: white;
2430
+ border-radius: 4px;
2431
+ font-size: 11px;
2432
+ gap: 4px;
2433
+ height: 16px;
2434
+ display: flex;
2435
+ margin: var(--vuuColumnHeaderPill-margin, 0);
2436
+ padding: 0 6px;
2437
+ position: relative;
2438
+ }
2439
+ .vuuColumnHeaderPill:hover {
2440
+ --vuu-icon-color: var(--vuu-color-gray-80);
2441
+ background-color: var(--salt-taggable-background-hover);
2442
+ color: var(--vuu-color-gray-80);
2443
+ }
2444
+ .vuuColumnHeaderPill-removeButton {
2445
+ cursor: pointer;
2446
+ }
2447
+
2448
+ /* src/table-next/column-header-pill/GroupColumnPill.css */
2449
+ .vuuSortPosition {
2450
+ font-size: 11px;
2451
+ font-weight: 700;
2452
+ padding-top: 1px;
2453
+ }
2454
+
2455
+ /* src/table-next/column-header-pill/SortIndicator.css */
2456
+ .vuuSortPosition {
2457
+ font-size: 11px;
2458
+ font-weight: 700;
2459
+ padding-top: 1px;
2460
+ }
2461
+
2462
+ /* src/table-next/header-cell/GroupHeaderCell.css */
2463
+ .vuu-theme {
2464
+ --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>');
2465
+ }
2466
+ .vuuTableNextGroupHeaderCell.vuuTableNextHeaderCell {
2467
+ --vuuColumnHeaderPill-margin: 0;
2468
+ --cell-align: "flex-start";
2469
+ text-align: left;
2470
+ background: var(--dataTable-background);
2471
+ cursor: default;
2472
+ height: var(--vuuTableHeaderHeight);
2473
+ }
2474
+ .vuuTableNextGroupHeaderCell-inner {
2475
+ align-items: center;
2476
+ display: flex;
2477
+ gap: 4px;
2478
+ height: 100%;
2479
+ padding-left: 1px;
2480
+ }
2481
+ .vuuTableNextGroupHeaderCell-col {
2482
+ align-items: center;
2483
+ background-color: inherit;
2484
+ display: inline-flex;
2485
+ flex: 0 1 auto;
2486
+ height: calc(var(--vuuTableHeaderHeight) - 2px);
2487
+ justify-content: space-between;
2488
+ padding-right: 8px;
2489
+ position: relative;
2490
+ }
2491
+ .vuuTableNextGroupHeaderCell-label {
2492
+ align-items: center;
2493
+ display: flex;
2494
+ flex: 0 0 auto;
2495
+ }
2496
+ .vuuTableNextGroupHeaderCell-close {
2497
+ --vuu-icon-height: 18px;
2498
+ --vuu-icon-width: 18px;
2499
+ cursor: pointer;
2500
+ left: 3px;
2501
+ }
2502
+ .vuuTableNextGroupHeaderCell-resizing {
2503
+ --columnResizer-color: var(--salt-color-blue-500);
2504
+ --columnResizer-height: var(--table-height);
2505
+ --columnResizer-width: 2px;
2506
+ }
2507
+ .vuuTableNextGroupHeaderCell-pending {
2508
+ --pending-content: "";
2509
+ }
2510
+ .vuuTableNextGroupHeaderCell-col:has(+ .vuuColumnResizer):after {
2511
+ content: var(--pending-content);
2512
+ width: 24px;
2513
+ height: 24px;
2514
+ background-image: var(--svg-spinner);
2515
+ background-repeat: no-repeat;
2516
+ background-size: cover;
2517
+ }
2518
+
2519
+ /* src/table-next/column-menu/ColumnMenu.css */
2520
+ .vuuMenuItem {
2521
+ --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>');
2522
+ }
2523
+ .vuuTable-columnMenu {
2524
+ --vuu-icon-color: #606477;
2525
+ --vuu-icon-height: 20px;
2526
+ --vuu-icon-left: 0px;
2527
+ --vuu-icon-size: 16px;
2528
+ --vuu-icon-top: 0px;
2529
+ --vuu-icon-width: 20px;
2530
+ border-radius: 4px;
2531
+ cursor: pointer;
2532
+ display: inline-block;
2533
+ padding: 2px;
2534
+ left: var(--column-menu-left, 0);
2535
+ margin: var(--vuuTable-columnMenu-margin, 0);
2536
+ }
2537
+ .vuuTable-columnMenu:hover {
2538
+ --vuu-icon-color: #15171B;
2539
+ background-color: #F37880;
2540
+ }
2541
+ .vuuTable-columnMenu-open:hover,
2542
+ .vuuTable-columnMenu-open {
2543
+ background-color: #6D18BD;
2544
+ --vuu-icon-color: white;
2545
+ }
2546
+ [data-icon=cog] {
2547
+ --vuu-icon-svg: var(--vuu-svg-cog);
2548
+ --vuu-icon-size: 14px;
2549
+ }
2550
+ .vuuColumnMenuList {
2551
+ --vuuMenuList-borderStyle: solid;
2552
+ border-radius: 4px;
2553
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
2554
+ border-color: var(--vuuMenuList-borderColor, var(--salt-container-primary-borderColor));
2555
+ border-style: solid;
2556
+ border-width: 1px;
2557
+ }
2558
+
2559
+ /* src/table-next/header-cell/HeaderCell.css */
2560
+ .vuuTableNextHeaderCell {
2561
+ --cell-align: "flex-start";
2562
+ --vuuColumnHeaderPill-margin: 0 0 0 3px;
2563
+ align-items: center;
2564
+ background-color: var(--vuuTableNextHeaderCell-background, inherit);
2565
+ border-bottom: 1px solid #ccc;
2566
+ border-right-color: var(--cell-borderColor);
2567
+ border-right-style: solid;
2568
+ border-right-width: 1px;
2569
+ box-sizing: border-box;
2570
+ cursor: default;
2571
+ display: inline-flex;
2572
+ height: var(--header-height);
2573
+ vertical-align: top;
2574
+ }
2575
+ .vuuTableNextHeaderCell-right {
2576
+ --columnResizer-left: 0;
2577
+ --vuuTable-columnMenu-margin: 0;
2578
+ --vuuColumnHeaderPill-margin: 0 3px 0 0;
2579
+ --column-menu-left: 2px;
2580
+ justify-content: flex-end;
2581
+ }
2582
+ .vuuTableNextHeaderCell .vuuColumnResizerNext:hover {
2583
+ --columnResizer-color: var(--vuu-color-purple-10);
2584
+ }
2585
+ .vuuTableNextHeaderCell-label {
2586
+ line-height: calc(var(--header-height) - 1px);
2587
+ }
2588
+ .vuuTableNextHeaderCell-resizing {
2589
+ --columnResizer-height: var(--table-height);
2590
+ }
2591
+ .vuuTableNextHeaderCell.vuuPinLeft {
2592
+ padding-left: 2px;
2593
+ }
2594
+ .vuuTableNextHeaderCell.vuuPinLeft.vuuEndPin .vuuColumnResizerNext:before {
2595
+ --height: calc(var(--table-height) - 15px);
2596
+ --inset-r: calc(var(--pin-width) - 2px);
2597
+ --inset-b: calc(var(--height) - 2px);
2598
+ --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% );
2599
+ background-color: transparent;
2600
+ border-color: var(--vuu-color-gray-40);
2601
+ border-width: 1px;
2602
+ border-style: solid solid solid solid;
2603
+ border-radius: 4px;
2604
+ box-shadow: 2px 1px 4px 0px rgba(0, 0, 0, 0.10);
2605
+ clip-path: var(--clip-path);
2606
+ content: "";
2607
+ position: absolute;
2608
+ width: var(--pin-width);
2609
+ top: 0;
2610
+ bottom: 0;
2611
+ right: -1px;
2612
+ height: var(--height);
2613
+ z-index: -5;
2614
+ }
2615
+ .vuuTableNextHeaderCell.vuuPinRight.vuuEndPin .vuuColumnResizerNext:before {
2616
+ --height: calc(var(--table-height) - 15px);
2617
+ --inset-r: calc(var(--pin-width) - 2px);
2618
+ --inset-b: calc(var(--height) - 2px);
2619
+ --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% );
2620
+ background-color: transparent;
2621
+ border-color: #A9AAAD;
2622
+ border-width: 1px;
2623
+ border-style: solid solid solid solid;
2624
+ border-radius: 4px;
2625
+ box-shadow: -2px 1px 4px 0px rgba(0, 0, 0, 0.10);
2626
+ clip-path: var(--clip-path);
2627
+ content: "";
2628
+ position: absolute;
2629
+ width: var(--pin-width);
2630
+ top: 0;
2631
+ bottom: 0;
2632
+ right: 0px;
2633
+ height: var(--height);
2634
+ z-index: -5;
2635
+ }
2636
+ .vuuTableNextHeaderCell.vuuDraggable-dragAway {
2637
+ display: none;
2638
+ }
2639
+
2640
+ /* src/table-next/table-cell/TableCell.css */
2641
+ .vuuTableNextCell {
2642
+ border-right-color: var(--cell-borderColor);
2643
+ border-right-style: solid;
2644
+ border-right-width: 1px;
2645
+ display: inline-block;
2646
+ height: 100%;
2647
+ overflow: hidden;
2648
+ padding: 0 8px;
2649
+ text-overflow: ellipsis;
2650
+ vertical-align: top;
2651
+ }
2652
+ .vuuTableNextCell-right {
2653
+ text-align: right;
2654
+ }
2655
+ .vuuTableNextCell-editable {
2656
+ display: inline-flex;
2657
+ line-height: 18px;
2658
+ padding-bottom: 1px;
2659
+ padding-top: 1px;
2660
+ text-overflow: unset;
2661
+ }
2662
+ .vuuTableNextCell:focus {
2663
+ outline: var(--vuuTableCell-outline, solid var(--vuu-color-purple-10) 2px);
2664
+ outline-offset: -2px;
2665
+ box-shadow: inset 0 0 0 var(--cell-outline-width) white;
2666
+ border-bottom: none;
2667
+ }
2668
+ .vuuTableNextRow-selected .vuuTableNextCell:not(.vuuTableNextCell-editable):focus {
2669
+ outline: var(--vuuTableCell-outline, solid var(--vuu-color-purple-10) 2px);
2670
+ outline-offset: -1px;
2671
+ }
2672
+ .vuuTableNextCell-editable:focus {
2673
+ outline: none;
2674
+ }
2675
+
2676
+ /* src/table-next/table-cell/TableGroupCell.css */
2677
+ .vuuTableNextGroupCell {
2678
+ --group-cell-spacer-width: 20px;
2679
+ align-items: center;
2680
+ border-right-color: var(--vuuTableNextGroupCell-borderColor, var(--salt-separable-tertiary-borderColor));
2681
+ border-right-style: solid;
2682
+ border-right-width: 1px;
2683
+ cursor: pointer;
2684
+ display: inline-flex;
2685
+ height: var(--row-height);
2686
+ line-height: 16px;
2687
+ }
2688
+ .vuuTableNextGroupCell-toggle {
2689
+ --vuu-icon-height: 16px;
2690
+ --vuu-icon-size: 16px;
2691
+ --vuu-icon-width: 8px;
2692
+ margin-right: 4px;
2693
+ transition: transform 0.25s;
2694
+ transform: var(--toggle-icon-transform);
2695
+ }
2696
+ .vuuTableNextGroupCell-spacer {
2697
+ width: var(--group-cell-spacer-width);
2698
+ }
2699
+
2700
+ /* src/table-next/Row.css */
2701
+ .vuuTableNextRow {
2702
+ background: var(--row-background,#fff);
2703
+ border-bottom: 1px solid var(--row-borderColor);
2704
+ box-sizing: border-box;
2705
+ height: var(--row-height);
2706
+ line-height: calc(var(--row-height) - 1px);
2707
+ position: absolute;
2708
+ top: 0;
2709
+ white-space: nowrap;
2710
+ }
2711
+ .vuuTableNextRow-even {
2712
+ --row-background: var(--row-background-even);
2713
+ }
2714
+ .vuuTableNextRow-selected,
2715
+ .vuuTableNextRow-selectedEnd {
2716
+ background-color: rgb(235, 235, 236);
2717
+ }
2718
+ .vuuTableNextRow-selectedStart {
2719
+ --vuu-selection-decorator-left-radius: 5px 0 0 0;
2720
+ --vuu-selection-decorator-right-radius: 0 5px 0 0;
2721
+ border-radius: 5px 5px 0 0;
2722
+ }
2723
+ .vuuTableNextRow-selectedEnd {
2724
+ --vuu-selection-decorator-left-radius: 0 0 0 5px;
2725
+ --vuu-selection-decorator-right-radius: 0 0 5px 0;
2726
+ border-radius: 0 0 5px 5px;
2727
+ }
2728
+ .vuuTableNextRow-selectedStart.vuuTableNextRow-selectedEnd {
2729
+ --vuu-selection-decorator-left-radius: 5px 0 0 5px;
2730
+ --vuu-selection-decorator-right-radius: 0 5px 5px 0;
2731
+ border-radius: 5px 5px 5px 5px;
2732
+ }
2733
+ .vuuTableNextRow-selectedStart:after {
2734
+ content: "";
2735
+ position: absolute;
2736
+ top: 0;
2737
+ left: 4px;
2738
+ height: 1px;
2739
+ background-color: var(--vuu-color-purple-10);
2740
+ width: calc(var(--content-width) - 8px);
2741
+ z-index: 1;
2742
+ }
2743
+ .vuuTableNextRow-selectedEnd {
2744
+ border-bottom-color: var(--vuu-color-purple-10);
2745
+ }
2746
+ .vuuTableNextRow-selectionDecorator {
2747
+ background-color: var(--vuu-selection-decorator-bg, inherit);
2748
+ display: inline-block;
2749
+ position: relative;
2750
+ height: var(--row-height);
2751
+ width: 4px;
2752
+ z-index: 2;
2753
+ }
2754
+ .vuuTableNextRow-selectionDecorator.vuuStickyLeft {
2755
+ left: 0;
2756
+ position: sticky;
2757
+ }
2758
+ .vuuTableNextRow-selectionDecorator.vuuStickyRight {
2759
+ right: 0;
2760
+ position: sticky;
2761
+ }
2762
+ .vuuTableNextRow-selected {
2763
+ --vuu-selection-decorator-bg: var(--vuu-color-purple-10);
2764
+ }
2765
+ .vuuTableNextRow-selectedStart {
2766
+ --vuu-selection-decorator-bg: white;
2767
+ }
2768
+ .vuuTableNextRow-selectedEnd {
2769
+ --vuu-selection-decorator-bg: white;
2770
+ }
2771
+ .vuuTableNextRow-selectedStart.vuuTableNextRow-selectedEnd {
2772
+ }
2773
+ .vuuTableNextRow-selectedStart .vuuTableNextRow-selectionDecorator:before,
2774
+ .vuuTableNextRow-selectedEnd .vuuTableNextRow-selectionDecorator:before {
2775
+ content: "";
2776
+ inset: 0;
2777
+ position: absolute;
2778
+ background-color: var(--vuu-color-purple-10);
2779
+ }
2780
+ .vuuTableNextRow-selectionDecorator.vuuStickyLeft:before {
2781
+ border-radius: var(--vuu-selection-decorator-left-radius, 0);
2782
+ }
2783
+ .vuuTableNextRow-selectionDecorator.vuuStickyRight:before {
2784
+ border-radius: var(--vuu-selection-decorator-right-radius, 0);
2785
+ }
2786
+ .vuuTableNextRow-expanded {
2787
+ --toggle-icon-transform: rotate(90deg);
2788
+ }
2789
+
2790
+ /* ../vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css */
2791
+ .vuuTable td:has(> .vuuBackgroundCellDeprecated) {
2792
+ padding: 0;
2793
+ text-align: right;
2794
+ }
2795
+ .vuuBackgroundCellDeprecated {
2796
+ padding-right: var(--salt-size-unit);
2797
+ position: relative;
2798
+ z-index: -1;
2799
+ }
2800
+ .vuuBackgroundCellDeprecated-flasher {
2801
+ color: transparent;
2802
+ position: absolute;
2803
+ left: 0;
2804
+ right: 0;
2805
+ top: 0;
2806
+ bottom: 0;
2807
+ z-index: -1;
2808
+ }
2809
+ .vuuBackgroundCellDeprecated-flasher {
2810
+ text-align: left;
2811
+ }
2812
+ .vuuBackgroundCellDeprecated-flasher + .num {
2813
+ padding-left: 8px;
2814
+ }
2815
+ .right .vuuBackgroundCellDeprecated-flasher {
2816
+ text-align: right;
2817
+ }
2818
+ .right .vuuBackgroundCellDeprecated-flasher + .num {
2819
+ padding-right: 8px;
2820
+ }
2821
+ .up1 > .vuuBackgroundCellDeprecated-flasher {
2822
+ animation-duration: 30s;
2823
+ animation-name: reactbgup1;
2824
+ }
2825
+ .up2 > .vuuBackgroundCellDeprecated-flasher {
2826
+ animation-duration: 30s;
2827
+ animation-name: reactbgup2;
2828
+ }
2829
+ .down1 > .vuuBackgroundCellDeprecated-flasher {
2830
+ animation-duration: 30s;
2831
+ animation-name: reactbgdown1;
2832
+ }
2833
+ .down2 > .vuuBackgroundCellDeprecated-flasher {
2834
+ animation-duration: 30s;
2835
+ animation-name: reactbgdown2;
2836
+ }
2837
+ .up1.vuuBackgroundCellDeprecated-arrowOnly > .vuuBackgroundCellDeprecated-flasher {
2838
+ animation-duration: 30s;
2839
+ animation-name: reactarrowup1;
2840
+ }
2841
+ .up2.vuuBackgroundCellDeprecated-arrowOnly > .vuuBackgroundCellDeprecated-flasher {
2842
+ animation-duration: 30s;
2843
+ animation-name: reactarrowup2;
2844
+ }
2845
+ .down1.vuuBackgroundCellDeprecated-arrowOnly > .vuuBackgroundCellDeprecated-flasher {
2846
+ animation-duration: 30s;
2847
+ animation-name: reactarrowdown1;
2848
+ }
2849
+ .down2.vuuBackgroundCellDeprecated-arrowOnly > .vuuBackgroundCellDeprecated-flasher {
2850
+ animation-duration: 30s;
2851
+ animation-name: reactarrowdown2;
2852
+ }
2853
+ .up1.vuuBackgroundCellDeprecated-arrowBackground > .vuuBackgroundCellDeprecated-flasher {
2854
+ animation-duration: 30s;
2855
+ animation-name: reactbgarrowup1;
2856
+ }
2857
+ .up2.vuuBackgroundCellDeprecated-arrowBackground > .vuuBackgroundCellDeprecated-flasher {
2858
+ animation-duration: 30s;
2859
+ animation-name: reactbgarrowup2;
2860
+ }
2861
+ .down1.vuuBackgroundCellDeprecated-arrowBackground > .vuuBackgroundCellDeprecated-flasher {
2862
+ animation-duration: 30s;
2863
+ animation-name: reactbgarrowdown1;
2864
+ }
2865
+ .down2.vuuBackgroundCellDeprecated-arrowBackground > .vuuBackgroundCellDeprecated-flasher {
2866
+ animation-duration: 30s;
2867
+ animation-name: reactbgarrowdown2;
2868
+ }
2869
+
2870
+ /* ../vuu-table-extras/src/cell-renderers/background-cell/FlashingBackground.css */
2871
+ @keyframes reactbgup1 {
2872
+ from {
2873
+ background-color: green;
2874
+ }
2875
+ to {
2876
+ background-color: transparent;
2877
+ }
2878
+ }
2879
+ @keyframes reactbgup2 {
2880
+ from {
2881
+ background-color: green;
2882
+ }
2883
+ to {
2884
+ background-color: transparent;
2885
+ }
2886
+ }
2887
+ @keyframes reactbgdown1 {
2888
+ from {
2889
+ background-color: red;
2890
+ }
2891
+ to {
2892
+ background-color: transparent;
2893
+ }
2894
+ }
2895
+ @keyframes reactbgdown2 {
2896
+ from {
2897
+ background-color: red;
2898
+ }
2899
+ to {
2900
+ background-color: transparent;
2901
+ }
2902
+ }
2903
+ @keyframes reactarrowup1 {
2904
+ from {
2905
+ color: white;
2906
+ }
2907
+ to {
2908
+ color: transparent;
2909
+ }
2910
+ }
2911
+ @keyframes reactarrowup2 {
2912
+ from {
2913
+ color: white;
2914
+ }
2915
+ to {
2916
+ color: transparent;
2917
+ }
2918
+ }
2919
+ @keyframes reactarrowdown1 {
2920
+ from {
2921
+ color: white;
2922
+ }
2923
+ to {
2924
+ color: transparent;
2925
+ }
2926
+ }
2927
+ @keyframes reactarrowdown2 {
2928
+ from {
2929
+ color: white;
2930
+ }
2931
+ to {
2932
+ color: transparent;
2933
+ }
2934
+ }
2935
+ @keyframes reactbgarrowup1 {
2936
+ 0% {
2937
+ color: green;
2938
+ background-color: green;
2939
+ }
2940
+ 20% {
2941
+ color: green;
2942
+ background-color: transparent;
2943
+ }
2944
+ 100% {
2945
+ color: transparent;
2946
+ background-color: transparent;
2947
+ }
2948
+ }
2949
+ @keyframes reactbgarrowup2 {
2950
+ 0% {
2951
+ color: green;
2952
+ background-color: green;
2953
+ }
2954
+ 20% {
2955
+ color: green;
2956
+ background-color: transparent;
2957
+ }
2958
+ 100% {
2959
+ color: transparent;
2960
+ background-color: transparent;
2961
+ }
2962
+ }
2963
+ @keyframes reactbgarrowdown1 {
2964
+ 0% {
2965
+ color: red;
2966
+ background-color: red;
2967
+ }
2968
+ 20% {
2969
+ color: red;
2970
+ background-color: transparent;
2971
+ }
2972
+ 100% {
2973
+ color: transparent;
2974
+ background-color: transparent;
2975
+ }
2976
+ }
2977
+ @keyframes reactbgarrowdown2 {
2978
+ 0% {
2979
+ color: red;
2980
+ background-color: red;
2981
+ }
2982
+ 20% {
2983
+ color: red;
2984
+ background-color: transparent;
2985
+ }
2986
+ 100% {
2987
+ color: transparent;
2988
+ background-color: transparent;
2989
+ }
2990
+ }
2991
+
2992
+ /* ../vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css */
2993
+ .vuuProgressCell {
2994
+ align-items: center;
2995
+ display: flex;
2996
+ }
2997
+ .vuuProgressCell-track {
2998
+ display: inline-block;
2999
+ flex: auto 1 1;
3000
+ height: 4px;
3001
+ overflow: hidden;
3002
+ position: relative;
3003
+ }
3004
+ .vuuProgressCell-bg {
3005
+ background-color: var(--salt-measured-background);
3006
+ display: inline-block;
3007
+ height: 2px;
3008
+ left: 0;
3009
+ position: absolute;
3010
+ top: 1px;
3011
+ width: 100%;
3012
+ }
3013
+ .vuuProgressCell-bar {
3014
+ background-color: var(--salt-measured-fill);
3015
+ display: inline-block;
3016
+ height: 100%;
3017
+ left: 0;
3018
+ position: absolute;
3019
+ top: 0;
3020
+ transform: translateX(var(--progress-bar-pct, -100%));
3021
+ width: 100%;
3022
+ }
3023
+ .vuuProgressCell-text {
3024
+ flex: 35px 0 0;
3025
+ text-align: right;
3026
+ }
3027
+
3028
+ /* ../vuu-table-extras/src/cell-renderers-next/background-cell/BackgroundCell.css */
3029
+ .vuuTableNext td:has(> .vuuBackgroundCell) {
3030
+ padding: 0;
3031
+ text-align: right;
3032
+ }
3033
+ .vuuBackgroundCell {
3034
+ color: var(--background-cell-color);
3035
+ padding-right: var(--salt-size-unit);
3036
+ position: relative;
3037
+ z-index: -1;
3038
+ }
3039
+ .vuuBackgroundCell-flasher {
3040
+ background-color: var(--background-cell-background);
3041
+ position: absolute;
3042
+ left: 0;
3043
+ right: 0;
3044
+ top: 0;
3045
+ bottom: 0;
3046
+ z-index: -1;
3047
+ }
3048
+ .vuuBackgroundCell-flasher {
3049
+ text-align: left;
3050
+ }
3051
+ .vuuBackgroundCell-flasher + .num {
3052
+ padding-left: 8px;
3053
+ }
3054
+ .right .vuuBackgroundCell-flasher {
3055
+ text-align: right;
3056
+ }
3057
+ .right .vuuBackgroundCell-flasher + .num {
3058
+ padding-right: 8px;
3059
+ }
3060
+ .vuuBackgroundCell.up1 {
3061
+ animation-duration: 30s;
3062
+ animation-name: reactbgup1;
3063
+ }
3064
+ .vuuBackgroundCell.up2 {
3065
+ animation-duration: 30s;
3066
+ animation-name: reactbgup2;
3067
+ }
3068
+ .vuuBackgroundCell.down1 {
3069
+ animation-duration: 30s;
3070
+ animation-name: reactbgdown1;
3071
+ }
3072
+ .vuuBackgroundCell.down2 {
3073
+ animation-duration: 30s;
3074
+ animation-name: reactbgdown2;
3075
+ }
3076
+ .up1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
3077
+ animation-duration: 30s;
3078
+ animation-name: reactarrowup1;
3079
+ }
3080
+ .up2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
3081
+ animation-duration: 30s;
3082
+ animation-name: reactarrowup2;
3083
+ }
3084
+ .down1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
3085
+ animation-duration: 30s;
3086
+ animation-name: reactarrowdown1;
3087
+ }
3088
+ .down2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
3089
+ animation-duration: 30s;
3090
+ animation-name: reactarrowdown2;
3091
+ }
3092
+ .up1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
3093
+ animation-duration: 30s;
3094
+ animation-name: reactbgarrowup1;
3095
+ }
3096
+ .up2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
3097
+ animation-duration: 30s;
3098
+ animation-name: reactbgarrowup2;
3099
+ }
3100
+ .down1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
3101
+ animation-duration: 30s;
3102
+ animation-name: reactbgarrowdown1;
3103
+ }
3104
+ .down2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
3105
+ animation-duration: 30s;
3106
+ animation-name: reactbgarrowdown2;
3107
+ }
3108
+
3109
+ /* ../vuu-table-extras/src/cell-renderers-next/background-cell/FlashingBackground.css */
3110
+ @property --background-cell-background { syntax: "<color>"; initial-value: transparent; inherits: false; }
3111
+ @property --background-cell-color { syntax: "<color>"; initial-value: #15171B; inherits: false; }
3112
+ @keyframes reactbgup1 {
3113
+ from {
3114
+ --background-cell-background: var(--vuu-color-green-50);
3115
+ --background-cell-color: white;
3116
+ }
3117
+ to {
3118
+ --background-cell-background: transparent;
3119
+ --background-cell-color: var(--vuu-color-gray-80);
3120
+ }
3121
+ }
3122
+ @keyframes reactbgup2 {
3123
+ from {
3124
+ --background-cell-background: var(--vuu-color-green-50);
3125
+ --background-cell-color: #ffffff;
3126
+ }
3127
+ to {
3128
+ --background-cell-background: transparent;
3129
+ --background-cell-color: var(--vuu-color-gray-80);
3130
+ }
3131
+ }
3132
+ @keyframes reactbgdown1 {
3133
+ from {
3134
+ --background-cell-background: var(--vuu-color-red-50);
3135
+ --background-cell-color: white;
3136
+ }
3137
+ to {
3138
+ --background-cell-background: transparent;
3139
+ --background-cell-color: var(--vuu-color-gray-80);
3140
+ }
3141
+ }
3142
+ @keyframes reactbgdown2 {
3143
+ from {
3144
+ --background-cell-background: var(--vuu-color-red-50);
3145
+ --background-cell-color: white;
3146
+ }
3147
+ to {
3148
+ --background-cell-background: transparent;
3149
+ --background-cell-color: var(--vuu-color-gray-80);
3150
+ }
3151
+ }
3152
+ @keyframes reactarrowup1 {
3153
+ from {
3154
+ color: var(--salt-differential-positive-foreground);
3155
+ }
3156
+ to {
3157
+ color: transparent;
3158
+ }
3159
+ }
3160
+ @keyframes reactarrowup2 {
3161
+ from {
3162
+ color: var(--salt-differential-positive-foreground);
3163
+ }
3164
+ to {
3165
+ color: transparent;
3166
+ }
3167
+ }
3168
+ @keyframes reactarrowdown1 {
3169
+ from {
3170
+ color: var(--salt-differential-negative-foreground);
3171
+ }
3172
+ to {
3173
+ color: transparent;
3174
+ }
3175
+ }
3176
+ @keyframes reactarrowdown2 {
3177
+ from {
3178
+ color: var(--salt-differential-negative-foreground);
3179
+ }
3180
+ to {
3181
+ color: transparent;
3182
+ }
3183
+ }
3184
+ @keyframes reactbgarrowup1 {
3185
+ 0% {
3186
+ color: var(--salt-differential-positive-foreground);
3187
+ background-color: var(--vuu-color-green-50);
3188
+ }
3189
+ 20% {
3190
+ color: var(--salt-differential-positive-foreground);
3191
+ background-color: transparent;
3192
+ }
3193
+ 100% {
3194
+ color: transparent;
3195
+ background-color: transparent;
3196
+ }
3197
+ }
3198
+ @keyframes reactbgarrowup2 {
3199
+ 0% {
3200
+ color: var(--salt-differential-positive-foreground);
3201
+ background-color: var(--vuu-color-green-50);
3202
+ }
3203
+ 20% {
3204
+ color: var(--salt-differential-positive-foreground);
3205
+ background-color: transparent;
3206
+ }
3207
+ 100% {
3208
+ color: transparent;
3209
+ background-color: transparent;
3210
+ }
3211
+ }
3212
+ @keyframes reactbgarrowdown1 {
3213
+ 0% {
3214
+ color: var(--salt-differential-negative-foreground);
3215
+ background-color: var(--vuu-color-red-50);
3216
+ }
3217
+ 20% {
3218
+ color: var(--salt-differential-negative-foreground);
3219
+ background-color: transparent;
3220
+ }
3221
+ 100% {
3222
+ color: transparent;
3223
+ background-color: transparent;
3224
+ }
3225
+ }
3226
+ @keyframes reactbgarrowdown2 {
3227
+ 0% {
3228
+ color: var(--salt-differential-negative-foreground);
3229
+ background-color: var(--vuu-color-red-50);
3230
+ }
3231
+ 20% {
3232
+ color: var(--salt-differential-negative-foreground);
3233
+ background-color: transparent;
3234
+ }
3235
+ 100% {
3236
+ color: transparent;
3237
+ background-color: transparent;
2041
3238
  }
2042
3239
  }
2043
3240
 
2044
- /* src/table/cell-renderers/json-cell/JsonCell.css */
2045
- .vuuJsonCell-group {
2046
- align-items: center;
2047
- display: inline-flex;
2048
- height: calc(var(--vuuTable-rowHeight) - 1px);
2049
- width: 100%;
3241
+ /* ../vuu-table-extras/src/column-list/ColumnList.css */
3242
+ .vuuColumnList {
3243
+ --vuu-svg-function: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M5.8625 10.5V9.625H6.72291L8.4875 7.59792L6.72291 5.54167H5.64375L4.60833 10.8792C4.53055 11.3167 4.36527 11.6545 4.1125 11.8927C3.85972 12.1309 3.53402 12.25 3.13541 12.25C2.7368 12.25 2.40382 12.1333 2.13645 11.9C1.86909 11.6667 1.73541 11.375 1.73541 11.025C1.73541 10.7625 1.80833 10.551 1.95416 10.3906C2.1 10.2302 2.28958 10.15 2.52291 10.15C2.72708 10.15 2.89479 10.2083 3.02604 10.325C3.15729 10.4417 3.22291 10.5972 3.22291 10.7917C3.22291 10.8986 3.20104 10.9983 3.15729 11.0906C3.11354 11.183 3.05277 11.2583 2.975 11.3167C3.01388 11.3361 3.0552 11.3507 3.09895 11.3604C3.1427 11.3701 3.18888 11.375 3.2375 11.375C3.36388 11.375 3.47083 11.3142 3.55833 11.1927C3.64583 11.0712 3.70902 10.9132 3.74791 10.7188L4.75416 5.54167H2.91666V4.66667H4.91458L5.22083 3.12083C5.30833 2.68333 5.48333 2.34549 5.74583 2.10729C6.00833 1.8691 6.33402 1.75 6.72291 1.75C7.12152 1.75 7.44965 1.86667 7.70729 2.1C7.96493 2.33333 8.09375 2.625 8.09375 2.975C8.09375 3.2375 8.02083 3.44896 7.875 3.60938C7.72916 3.76979 7.53958 3.85 7.30625 3.85C7.1118 3.85 6.94652 3.7941 6.81041 3.68229C6.6743 3.57049 6.60625 3.42222 6.60625 3.2375C6.60625 3.14028 6.62569 3.04549 6.66458 2.95312C6.70347 2.86076 6.75208 2.78542 6.81041 2.72708C6.79097 2.70764 6.7618 2.69063 6.72291 2.67604C6.68402 2.66146 6.64513 2.65417 6.60625 2.65417C6.47986 2.65417 6.37048 2.7125 6.27812 2.82917C6.18576 2.94583 6.12013 3.09653 6.08125 3.28125L5.81875 4.66667H8.575V5.54167H7.88958L9.1 6.94167L10.2375 5.54167H9.5375V4.66667H12.25V5.54167H11.4042L9.65416 7.59792L11.4042 9.625H12.25V10.5H9.5375V9.625H10.2375L9.07083 8.26875L7.875 9.625H8.575V10.5H5.8625Z"/></svg>');
3244
+ --vuuList-borderStyle: none;
3245
+ --vuuListItem-padding: 0;
3246
+ display: flex;
3247
+ flex-direction: column;
3248
+ width: 252px;
2050
3249
  }
2051
- .vuuJsonCell-toggle {
2052
- --vuu-icon-color: var(--salt-text-primary-foreground);
2053
- --vuu-icon-height: calc(var(--vuuTable-rowHeight) - 1px);
2054
- --vuu-icon-width: 18px;
2055
- flex-shrink: 0;
2056
- margin-left: auto;
3250
+ [data-icon=function] {
3251
+ --vuu-icon-svg: var(--vuu-svg-function);
2057
3252
  }
2058
- .vuuJsonCell-name {
2059
- font-weight: var(--salt-typography-fontWeight-semiBold);
3253
+ .vuuColumnListItem {
3254
+ border-bottom: solid 1px var(--salt-separable-tertiary-borderColor);
3255
+ padding: 0 6px 0 0;
2060
3256
  }
2061
- .vuuJsonCell-value {
2062
- overflow: hidden;
2063
- text-overflow: ellipsis;
3257
+ .vuuColumnList-switch {
3258
+ flex: 0 0 32px;
2064
3259
  }
2065
-
2066
- /* src/table-next/ColumnMenu.css */
2067
- .vuuMenuItem {
2068
- --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>');
3260
+ .vuuColumnList-text {
3261
+ flex: 1 1 auto;
2069
3262
  }
2070
- .vuuTable-columnMenu {
2071
- --vuu-icon-color: #606477;
2072
- --vuu-icon-height: 20px;
2073
- --vuu-icon-left: 0px;
2074
- --vuu-icon-size: 16px;
2075
- --vuu-icon-top: 0px;
2076
- --vuu-icon-width: 20px;
2077
- border-radius: 4px;
2078
- cursor: pointer;
2079
- display: inline-block;
2080
- margin-top: 2px;
2081
- padding: 2px;
3263
+ .vuuColumnList-checkBox {
3264
+ flex: 0 0 20px;
2082
3265
  }
2083
- .vuuTable-columnMenu:hover {
2084
- --vuu-icon-color: #15171B;
2085
- background-color: #F37880;
3266
+ .vuuColumnList-icon {
3267
+ --vuu-icon-color: var(--vuu-color-gray-45);
3268
+ --vuu-icon-size: 16px;
3269
+ --vuu-icon-width: 32px;
2086
3270
  }
2087
- .vuuTable-columnMenu-open:hover,
2088
- .vuuTable-columnMenu-open {
2089
- background-color: #6D18BD;
2090
- --vuu-icon-color: white;
3271
+ .vuuColumnList-header {
3272
+ border-top: solid 2px var(--vuu-color-gray-30);
3273
+ flex: 0 0 40px;
3274
+ font-size: 14px;
3275
+ font-weight: 600;
3276
+ padding-top: 24px;
2091
3277
  }
2092
- [data-icon=cog] {
2093
- --vuu-icon-svg: var(--vuu-svg-cog);
2094
- --vuu-icon-size: 14px;
3278
+ .vuuColumnList-colHeadings {
3279
+ border-bottom: solid 2px var(--vuu-color-gray-30);
3280
+ color: var(--vuu-color-gray-50);
3281
+ display: flex;
3282
+ flex: 0 0 24px;
3283
+ font-size: 10px;
3284
+ justify-content: space-between;
3285
+ margin-top: 16px;
3286
+ padding-bottom: 8px;
2095
3287
  }
2096
3288
 
2097
- /* src/table-next/column-resizing/ColumnResizer.css */
2098
- .vuuColumnResizer {
2099
- background-color: var(--columnResizer-color);
2100
- cursor: col-resize;
2101
- height: var(--header-height);
2102
- position: relative;
2103
- width: 4px;
3289
+ /* ../vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css */
3290
+ .vuuColumnExpressionInput {
3291
+ --vuuFilterEditor-background: var(--salt-container-primary-background);
3292
+ --vuuFilterEditor-color: var(--salt-text-primary-foreground);
3293
+ --vuuFilterEditor-fontFamily: var(--salt-typography-fontFamily);
3294
+ --vuuFilterEditor-fontSize: var(--salt-text-fontSize);
3295
+ --vuuFilterEditor-cursorColor: var(--salt-text-secondary-foreground);
3296
+ --vuuFilterEditor-selectionBackground: var(--salt-text-background-selected);
3297
+ --vuuFilterEditor-tooltipBackground: var(--salt-container-primary-background);
3298
+ --vuuFilterEditor-tooltipBorder: var(--tooltip-status-borderColor) var(--salt-container-borderWidth) var(--salt-container-borderStyle);
3299
+ --vuuFilterEditor-tooltipElevation: var(--salt-overlayable-shadow-popout);
3300
+ --vuuFilterEditor-suggestion-selectedBackground: var(--salt-selectable-background-selected);
3301
+ --vuuFilterEditor-suggestion-selectedColor: var(--salt-text-primary-foreground);
3302
+ --vuuFilterEditor-suggestion-detailColor: var(--salt-text-secondary-foreground-disabled);
3303
+ --vuuFilterEditor-suggestion-height: 24px;
3304
+ --vuuFilterEditor-variableColor: blue;
3305
+ align-items: center;
3306
+ box-sizing: border-box;
3307
+ height: 30px;
2104
3308
  }
2105
- .vuuColumnResizer:hover {
2106
- --columnResizer-color: var(--salt-color-blue-500);
3309
+ .vuuColumnExpressionInput-FilterButton,
3310
+ .vuuColumnExpressionInput-ClearButton {
3311
+ --vuu-icon-size: 12px;
3312
+ --saltButton-width: 28px;
2107
3313
  }
2108
- .vuuColumnResizer:after {
2109
- content: "";
2110
- position: absolute;
2111
- width: var(--columnResizer-width, 1px);
2112
- top: 0;
2113
- bottom: 0;
2114
- right: -1px;
2115
- background-color: var(--columnResizer-color, var(--salt-separable-tertiary-borderColor));
2116
- height: var(--columnResizer-height, calc(100% + 1px));
3314
+ .expression-type-container {
3315
+ margin: 0 3px 0 auto;
3316
+ color: var(--salt-text-secondary-foreground);
2117
3317
  }
2118
-
2119
- /* src/table-next/HeaderCell.css */
2120
- .vuuTableNext-col-header {
2121
- border-bottom: 1px solid #ccc;
2122
- box-sizing: border-box;
2123
- cursor: default;
2124
- display: inline-flex;
3318
+ .expression-kind {
3319
+ display: inline-block;
3320
+ width: 50px;
3321
+ }
3322
+ .expression-type {
3323
+ display: inline-block;
3324
+ text-align: right;
3325
+ width: 50px;
3326
+ }
3327
+ .vuuSuggestion {
3328
+ display: flex;
3329
+ align-items: center;
3330
+ }
3331
+ .vuuFunctionDoc .function-heading {
3332
+ display: flex;
2125
3333
  gap: 3px;
2126
- height: var(--header-height);
2127
- vertical-align: top;
2128
3334
  }
2129
- .vuuTableNext-col-header .vuuColumnResizer:hover {
2130
- --columnResizer-color: var(--vuu-color-purple-10);
3335
+ .vuuFunctionDoc .function-name {
3336
+ font-style: italic;
2131
3337
  }
2132
- .vuuTableNext-col-header-label {
2133
- line-height: calc(var(--header-height) - 1px);
3338
+ .vuuFunctionDoc .param-list {
3339
+ font-style: italic;
3340
+ color: blue;
3341
+ white-space: pre;
2134
3342
  }
2135
- .vuuTableNext-col-header.vuuPinLeft.vuuEndPin .vuuColumnResizer:before {
2136
- --height: calc(var(--columnResizer-height) - 15px);
2137
- --inset-r: calc(var(--pin-width) - 2px);
2138
- --inset-b: calc(var(--height) - 2px);
2139
- --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% );
2140
- background-color: transparent;
2141
- border-color: var(--vuu-color-gray-40);
2142
- border-width: 1px;
2143
- border-style: solid solid solid solid;
2144
- border-radius: 4px;
2145
- box-shadow: 2px 1px 4px 0px rgba(0, 0, 0, 0.10);
2146
- clip-path: var(--clip-path);
2147
- content: "";
2148
- position: absolute;
2149
- width: var(--pin-width);
2150
- top: 0;
2151
- bottom: 0;
2152
- right: -1px;
2153
- height: var(--height);
2154
- z-index: -5;
3343
+ .vuuFunctionDoc .function-type {
3344
+ margin-left: auto;
2155
3345
  }
2156
- .vuuTableNext-col-header.vuuPinRight.vuuEndPin .vuuColumnResizer:before {
2157
- --height: calc(var(--columnResizer-height) - 15px);
2158
- --inset-r: calc(var(--pin-width) - 2px);
2159
- --inset-b: calc(var(--height) - 2px);
2160
- --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% );
2161
- background-color: transparent;
2162
- border-color: #A9AAAD;
2163
- border-width: 1px;
2164
- border-style: solid solid solid solid;
2165
- border-radius: 4px;
2166
- box-shadow: -2px 1px 4px 0px rgba(0, 0, 0, 0.10);
2167
- clip-path: var(--clip-path);
2168
- content: "";
2169
- position: absolute;
2170
- width: var(--pin-width);
2171
- top: 0;
2172
- bottom: 0;
2173
- right: 0px;
2174
- height: var(--height);
2175
- z-index: -5;
3346
+ .vuuFunctionDoc .example-container {
3347
+ background-color: var(--salt-container-secondary-background);
3348
+ margin: 6px 0;
3349
+ padding: 3px;
3350
+ }
3351
+ .vuuFunctionDoc .example-expression {
3352
+ font-family: var(--salt-typography-fontFamily-code);
3353
+ margin-left: 8px;
3354
+ margin-top: 6px;
3355
+ }
3356
+ .vuuFunctionDoc .example-result {
3357
+ margin-left: 8px;
3358
+ margin-top: 6px;
2176
3359
  }
2177
3360
 
2178
- /* src/table-next/Row.css */
2179
- .vuuTableNextRow {
2180
- background: #fff;
2181
- border-bottom: 1px solid var(--salt-separable-tertiary-borderColor);
2182
- box-sizing: border-box;
2183
- height: var(--row-height);
2184
- line-height: calc(var(--row-height) - 1px);
2185
- position: absolute;
2186
- top: 0;
2187
- white-space: nowrap;
3361
+ /* ../vuu-table-extras/src/column-settings/ColumnSettingsPanel.css */
3362
+ .vuuColumnSettingsPanel {
3363
+ --vuu-svg-align-left: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M9.33333 10H2.66667C2.3 10 2 10.3 2 10.6667C2 11.0333 2.3 11.3333 2.66667 11.3333H9.33333C9.7 11.3333 10 11.0333 10 10.6667C10 10.3 9.7 10 9.33333 10ZM9.33333 4.66667H2.66667C2.3 4.66667 2 4.96667 2 5.33333C2 5.7 2.3 6 2.66667 6H9.33333C9.7 6 10 5.7 10 5.33333C10 4.96667 9.7 4.66667 9.33333 4.66667ZM2.66667 8.66667H13.3333C13.7 8.66667 14 8.36667 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36667 2.3 8.66667 2.66667 8.66667ZM2.66667 14H13.3333C13.7 14 14 13.7 14 13.3333C14 12.9667 13.7 12.6667 13.3333 12.6667H2.66667C2.3 12.6667 2 12.9667 2 13.3333C2 13.7 2.3 14 2.66667 14ZM2 2.66667C2 3.03333 2.3 3.33333 2.66667 3.33333H13.3333C13.7 3.33333 14 3.03333 14 2.66667C14 2.3 13.7 2 13.3333 2H2.66667C2.3 2 2 2.3 2 2.66667Z" /></svg>');
3364
+ --vuu-svg-align-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2.66667 14H13.3333C13.7 14 14 13.7 14 13.3333C14 12.9667 13.7 12.6667 13.3333 12.6667H2.66667C2.3 12.6667 2 12.9667 2 13.3333C2 13.7 2.3 14 2.66667 14ZM6.66667 11.3333H13.3333C13.7 11.3333 14 11.0333 14 10.6667C14 10.3 13.7 10 13.3333 10H6.66667C6.3 10 6 10.3 6 10.6667C6 11.0333 6.3 11.3333 6.66667 11.3333ZM2.66667 8.66667H13.3333C13.7 8.66667 14 8.36667 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36667 2.3 8.66667 2.66667 8.66667ZM6.66667 6H13.3333C13.7 6 14 5.7 14 5.33333C14 4.96667 13.7 4.66667 13.3333 4.66667H6.66667C6.3 4.66667 6 4.96667 6 5.33333C6 5.7 6.3 6 6.66667 6ZM2 2.66667C2 3.03333 2.3 3.33333 2.66667 3.33333H13.3333C13.7 3.33333 14 3.03333 14 2.66667C14 2.3 13.7 2 13.3333 2H2.66667C2.3 2 2 2.3 2 2.66667Z" /></svg>');
3365
+ --vuu-svg-pin-left: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M7.33333 9.86V8.66666H13.3333C13.7 8.66666 14 8.36666 14 8C14 7.63333 13.7 7.33333 13.3333 7.33333L7.33333 7.33333V6.14C7.33333 5.84 6.97333 5.69333 6.76667 5.90666L4.90667 7.76666C4.77333 7.89999 4.77333 8.10666 4.90667 8.24L6.76667 10.1C6.97333 10.3067 7.33333 10.16 7.33333 9.86ZM2.66667 13.3333C3.03333 13.3333 3.33333 13.0333 3.33333 12.6667L3.33333 3.33333C3.33333 2.96666 3.03333 2.66666 2.66667 2.66666C2.3 2.66666 2 2.96666 2 3.33333L2 12.6667C2 13.0333 2.3 13.3333 2.66667 13.3333Z" /></svg>');
3366
+ --vuu-svg-pin-float: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M6 4.66667H4.66667V6H6V4.66667ZM6 7.33333H4.66667V8.66667H6V7.33333ZM6 2C5.26 2 4.66667 2.6 4.66667 3.33333H6V2ZM8.66667 10H7.33333V11.3333H8.66667V10ZM12.6667 2V3.33333H14C14 2.6 13.4 2 12.6667 2ZM8.66667 2H7.33333V3.33333H8.66667V2ZM6 11.3333V10H4.66667C4.66667 10.7333 5.26 11.3333 6 11.3333ZM12.6667 8.66667H14V7.33333H12.6667V8.66667ZM12.6667 6H14V4.66667H12.6667V6ZM12.6667 11.3333C13.4 11.3333 14 10.7333 14 10H12.6667V11.3333ZM2.66667 4.66667C2.3 4.66667 2 4.96667 2 5.33333V12.6667C2 13.4 2.6 14 3.33333 14H10.6667C11.0333 14 11.3333 13.7 11.3333 13.3333C11.3333 12.9667 11.0333 12.6667 10.6667 12.6667H4C3.63333 12.6667 3.33333 12.3667 3.33333 12V5.33333C3.33333 4.96667 3.03333 4.66667 2.66667 4.66667ZM10 3.33333H11.3333V2H10V3.33333ZM10 11.3333H11.3333V10H10V11.3333Z" /></svg>');
3367
+ --vuu-svg-pin-right: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8.66667 6.14V7.33333H2.66667C2.3 7.33333 2 7.63333 2 8C2 8.36666 2.3 8.66666 2.66667 8.66666H8.66667V9.86C8.66667 10.16 9.02667 10.3067 9.23333 10.0933L11.0933 8.23333C11.2267 8.1 11.2267 7.89333 11.0933 7.76L9.23333 5.9C9.02667 5.69333 8.66667 5.84 8.66667 6.14ZM13.3333 13.3333C13.7 13.3333 14 13.0333 14 12.6667V3.33333C14 2.96666 13.7 2.66666 13.3333 2.66666C12.9667 2.66666 12.6667 2.96666 12.6667 3.33333V12.6667C12.6667 13.0333 12.9667 13.3333 13.3333 13.3333Z"/></svg>');
3368
+ --vuuDropdown-height: 24px;
3369
+ --vuuDropdown-width: 100%;
3370
+ --vuuIconToggleButton-iconSize: 16px;
3371
+ display: flex;
3372
+ flex-direction: column;
3373
+ gap: 24px;
3374
+ height: 100%;
3375
+ padding-top: 24px;
2188
3376
  }
2189
- .vuuTableNextRow-selected,
2190
- .vuuTableNextRow-selectedEnd {
2191
- background-color: rgb(235, 235, 236);
3377
+ .vuuColumnSettingsPanel-header {
3378
+ border-top: solid 2px var(--vuu-color-gray-30);
3379
+ font-size: 14px;
3380
+ font-weight: 600;
3381
+ padding-top: 24px;
2192
3382
  }
2193
- .vuuTableNextRow-selectedStart {
2194
- --vuu-selection-decorator-left-radius: 5px 0 0 0;
2195
- --vuu-selection-decorator-right-radius: 0 5px 0 0;
2196
- border-radius: 5px 5px 0 0;
3383
+ .vuuColumnSettingsPanel-buttonBar {
3384
+ align-items: center;
3385
+ display: flex;
3386
+ justify-content: space-between;
3387
+ margin-top: auto;
2197
3388
  }
2198
- .vuuTableNextRow-selectedEnd {
2199
- --vuu-selection-decorator-left-radius: 0 0 0 5px;
2200
- --vuu-selection-decorator-right-radius: 0 0 5px 0;
2201
- border-radius: 0 0 5px 5px;
3389
+ .vuuColumnSettingsPanel-buttonBar[data-align=right] {
3390
+ gap: 6px;
3391
+ justify-content: flex-end;
2202
3392
  }
2203
- .vuuTableNextRow-selectedStart.vuuTableNexRow-selectedEnd {
2204
- --vuu-selection-decorator-left-radius: 5px 0 0 5px;
2205
- --vuu-selection-decorator-right-radius: 0 5px 5px 0;
2206
- border-radius: 5px 5px 5px 5px;
3393
+ .vuuColumnSettingsPanel-buttonNavPrev {
3394
+ --vuu-icon-left: 6px;
3395
+ padding-left: 24px;
2207
3396
  }
2208
- .vuuTableNextRow-selectedStart:after {
2209
- content: "";
2210
- position: absolute;
2211
- top: 0;
2212
- left: 4px;
2213
- height: 1px;
2214
- background-color: var(--vuu-color-purple-10);
2215
- width: calc(var(--content-width) - 8px);
2216
- z-index: 1;
3397
+ .vuuColumnSettingsPanel-buttonNavNext {
3398
+ --vuu-icon-left: calc(100% - 18px);
3399
+ padding-right: 24px;
2217
3400
  }
2218
- .vuuTableNextRow-selectedEnd {
2219
- border-bottom-color: var(--vuu-color-purple-10);
3401
+ [data-icon=align-left] {
3402
+ --vuu-icon-svg: var(--vuu-svg-align-left);
2220
3403
  }
2221
- .vuuTableNextRow-selectionDecorator {
2222
- background-color: var(--vuu-selection-decorator-bg, inherit);
2223
- display: inline-block;
2224
- position: relative;
2225
- height: var(--row-height);
2226
- width: 4px;
2227
- z-index: 2;
3404
+ [data-icon=align-right] {
3405
+ --vuu-icon-svg: var(--vuu-svg-align-right);
2228
3406
  }
2229
- .vuuTableNextRow-selectionDecorator.vuuStickyLeft {
2230
- left: 0;
2231
- position: sticky;
3407
+ [data-icon=pin-left] {
3408
+ --vuu-icon-svg: var(--vuu-svg-pin-left);
2232
3409
  }
2233
- .vuuTableNextRow-selectionDecorator.vuuStickyRight {
2234
- right: 0;
2235
- position: sticky;
3410
+ [data-icon=pin-float] {
3411
+ --vuu-icon-svg: var(--vuu-svg-pin-float);
2236
3412
  }
2237
- .vuuTableNextRow-selected {
2238
- --vuu-selection-decorator-bg: var(--vuu-color-purple-10);
3413
+ [data-icon=pin-right] {
3414
+ --vuu-icon-svg: var(--vuu-svg-pin-right);
2239
3415
  }
2240
- .vuuTableNextRow-selectedStart {
2241
- --vuu-selection-decorator-bg: white;
3416
+
3417
+ /* ../vuu-table-extras/src/datasource-stats/DatasourceStats.css */
3418
+ .vuuDatasourceStats {
3419
+ color: black;
3420
+ display: flex;
3421
+ font-size: 10px;
3422
+ gap: var(--salt-size-unit);
3423
+ padding: 4px 0 0 12px;
2242
3424
  }
2243
- .vuuTableNextRow-selectedEnd {
2244
- --vuu-selection-decorator-bg: white;
3425
+ .vuuDatasourceStats-label {
3426
+ color: var(--vuu-color-gray-50);
2245
3427
  }
2246
- .vuuTableNextRow-selectedStart.vuuTableNextRow-selectedEnd {
3428
+
3429
+ /* ../vuu-table-extras/src/table-settings/TableSettingsPanel.css */
3430
+ .vuuTableSettingsPanel {
3431
+ --vuu-svg-text-strikethrough: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 24"><path d="M28.3333 9.33334C28.8867 9.33334 29.3333 8.88668 29.3333 8.33334C29.3333 7.78001 28.8867 7.33334 28.3333 7.33334H20.26L22.26 9.33334H23.48L23.1133 10.1867L24.5067 11.58L25.4733 9.33334H28.3333ZM27.6267 16.5867L18.7467 7.70668C18.4867 7.44668 18.0667 7.44668 17.8067 7.70668C17.5467 7.96668 17.5467 8.38668 17.8067 8.64668L21.98 12.82L20.88 15.38C20.62 15.9933 21.0667 16.6667 21.7267 16.6667C22.0933 16.6667 22.4267 16.4467 22.5733 16.1067L23.38 14.22L26.68 17.52C26.94 17.78 27.36 17.78 27.62 17.52C27.8867 17.2667 27.8867 16.8467 27.6267 16.5867Z"/></svg>');
3432
+ --vuu-svg-text-Tt: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 24"><path d="M17.6667 7.66666C17.6667 8.21999 18.1133 8.66666 18.6667 8.66666H21V15.6667C21 16.22 21.4467 16.6667 22 16.6667C22.5533 16.6667 23 16.22 23 15.6667V8.66666H25.3333C25.8867 8.66666 26.3333 8.21999 26.3333 7.66666C26.3333 7.11332 25.8867 6.66666 25.3333 6.66666H18.6667C18.1133 6.66666 17.6667 7.11332 17.6667 7.66666ZM29.3333 9.99999H25.3333C24.78 9.99999 24.3333 10.4467 24.3333 11C24.3333 11.5533 24.78 12 25.3333 12H26.3333V15.6667C26.3333 16.22 26.78 16.6667 27.3333 16.6667C27.8867 16.6667 28.3333 16.22 28.3333 15.6667V12H29.3333C29.8867 12 30.3333 11.5533 30.3333 11C30.3333 10.4467 29.8867 9.99999 29.3333 9.99999Z" /></svg>');
3433
+ --vuu-svg-text-T: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 24"><path d="M19.3333 7.66666C19.3333 8.21999 19.78 8.66666 20.3333 8.66666H23V15.6667C23 16.22 23.4467 16.6667 24 16.6667C24.5533 16.6667 25 16.22 25 15.6667V8.66666H27.6667C28.22 8.66666 28.6667 8.21999 28.6667 7.66666C28.6667 7.11332 28.22 6.66666 27.6667 6.66666H20.3333C19.78 6.66666 19.3333 7.11332 19.3333 7.66666Z"/></svg>');
3434
+ --vuu-svg-stripes: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><rect x="2" y="2" width="12" height="2" rx="0.3"/><rect x="2" y="5" width="12" height="2" rx="0.3"/><rect x="2" y="8" width="12" height="2" rx="0.3"/><rect x="2" y="11" width="12" height="2" rx="0.3"/></svg>');
3435
+ --vuu-svg-row-lines: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><rect x="2" y="3" width="12" height="1" rx="0.3" /><rect x="2" y="6" width="12" height="1" rx="0.3" /><rect x="2" y="9" width="12" height="1" rx="0.3" /><rect x="2" y="12" width="12" height="1" rx="0.3"/></svg>');
3436
+ --vuu-svg-col-lines: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><rect x="3" y="14" width="12" height="1" rx="0.3" transform="rotate(-90 3 14)"/><rect x="6" y="14" width="12" height="1" rx="0.3" transform="rotate(-90 6 14)"/><rect x="9" y="14" width="12" height="1" rx="0.3" transform="rotate(-90 9 14)"/><rect x="12" y="14" width="12" height="1" rx="0.3" transform="rotate(-90 12 14)"/></svg>');
3437
+ display: flex;
3438
+ flex-direction: column;
3439
+ gap: 24px;
3440
+ height: 100%;
3441
+ padding-top: 24px;
2247
3442
  }
2248
- .vuuTableNextRow-selectedStart .vuuTableNextRow-selectionDecorator:before,
2249
- .vuuTableNextRow-selectedEnd .vuuTableNextRow-selectionDecorator:before {
2250
- content: "";
2251
- inset: 0;
2252
- position: absolute;
2253
- background-color: var(--vuu-color-purple-10);
3443
+ .vuuTableSettingsPanel [data-icon=text-strikethrough] {
3444
+ --vuu-icon-svg: var(--vuu-svg-text-strikethrough);
2254
3445
  }
2255
- .vuuTableNextRow-selectionDecorator.vuuStickyLeft:before {
2256
- border-radius: var(--vuu-selection-decorator-left-radius, 0);
3446
+ .vuuTableSettingsPanel [data-icon=text-Tt] {
3447
+ --vuu-icon-svg: var(--vuu-svg-text-Tt);
2257
3448
  }
2258
- .vuuTableNextRow-selectionDecorator.vuuStickyRight:before {
2259
- border-radius: var(--vuu-selection-decorator-right-radius, 0);
3449
+ .vuuTableSettingsPanel [data-icon=text-T] {
3450
+ --vuu-icon-svg: var(--vuu-svg-text-T);
3451
+ }
3452
+ .vuuTableSettingsPanel [data-icon=col-lines] {
3453
+ --vuu-icon-svg: var(--vuu-svg-col-lines);
3454
+ }
3455
+ .vuuTableSettingsPanel [data-icon=row-lines] {
3456
+ --vuu-icon-svg: var(--vuu-svg-row-lines);
3457
+ }
3458
+ .vuuTableSettingsPanel [data-icon=row-striping] {
3459
+ --vuu-icon-svg: var(--vuu-svg-stripes);
3460
+ }
3461
+ .vuuTableSettingsPanel-header {
3462
+ border-top: solid 2px var(--vuu-color-gray-30);
3463
+ font-size: 14px;
3464
+ font-weight: 600;
3465
+ padding-top: 24px;
3466
+ }
3467
+ .vuuTableSettingsPanel .vuuColumnList {
3468
+ flex-grow: 1;
3469
+ flex-shrink: 1;
3470
+ flex-basis: 0;
3471
+ }
3472
+ .vuuTableSettingsPanel-calculatedButtonbar {
3473
+ --vuu-icon-size: 16px;
3474
+ --saltButton-height: 24px;
3475
+ --saltButton-width: 24px;
3476
+ align-items: center;
3477
+ display: flex;
3478
+ flex: 0 0 32px;
3479
+ gap: 12px;
3480
+ }
3481
+ .vuuGridSeparators {
3482
+ --vuuIconToggleButton-iconSize: 16px;
2260
3483
  }
2261
3484
 
2262
3485
  /* src/table-next/TableNext.css */
2263
3486
  .vuuTableNext {
3487
+ --vuu-table-cell-outlineWidth: 1px;
3488
+ --table-height: var(--measured-px-height);
3489
+ --table-width: var(--measured-px-width);
2264
3490
  --vuu-table-next-selection-bookend-width: 4px;
2265
- --columnResizer-height: var(--table-height);
2266
3491
  --columnResizer-color: transparent;
3492
+ --row-background: white;
3493
+ --cell-borderColor: transparent;
3494
+ --row-borderColor: var(--row-background);
2267
3495
  --table-background: var(--salt-container-primary-background);
2268
- height: var(--table-css-height);
2269
- background-color: red;
2270
3496
  position: relative;
2271
3497
  user-select: none;
2272
- width: var(--table-css-width);
3498
+ }
3499
+ .vuuTableNext-zebra {
3500
+ --row-background-even: var(--vuu-color-gray-25) ;
3501
+ }
3502
+ .vuuTableNext-colLines {
3503
+ --cell-borderColor: var(--salt-separable-tertiary-borderColor);
3504
+ }
3505
+ .vuuTableNext-rowLines {
3506
+ --row-borderColor: var(--salt-separable-tertiary-borderColor);
2273
3507
  }
2274
3508
  .vuuTableNext-scrollbarContainer {
2275
3509
  --scroll-content-width: 1100px;
2276
3510
  border-bottom: none !important;
2277
3511
  border-top: none !important;
2278
3512
  border-left: solid 1px var(--salt-container-primary-borderColor);
2279
- box-shadow: 0px -1px 0px 0px var(--salt-container-primary-borderColor);
2280
3513
  height: var(--viewport-body-height);
2281
3514
  left: 0px;
2282
3515
  overflow: auto;
@@ -2284,6 +3517,22 @@ path.drop-target.centre {
2284
3517
  top: var(--total-header-height);
2285
3518
  width: var(--table-width);
2286
3519
  }
3520
+ .vuuTableNext-scrollbarContainer::-webkit-scrollbar {
3521
+ border: none;
3522
+ width: 10px;
3523
+ }
3524
+ .vuuTableNext-scrollbarContainer::-webkit-scrollbar:horizontal {
3525
+ height: 10px;
3526
+ }
3527
+ .vuuTableNext-scrollbarContainer::-webkit-scrollbar-track {
3528
+ background-color: white;
3529
+ }
3530
+ .vuuTableNext-scrollbarContainer::-webkit-scrollbar-thumb {
3531
+ background-clip: padding-box;
3532
+ border-radius: 10px;
3533
+ border: 2px solid rgba(0, 0, 0, 0);
3534
+ background-color: var(--vuu-color-gray-30);
3535
+ }
2287
3536
  .vuuTableNext-scrollbarContent {
2288
3537
  height: calc(var(--content-height) + var(--horizontal-scrollbar-height));
2289
3538
  position: absolute;
@@ -2315,11 +3564,6 @@ path.drop-target.centre {
2315
3564
  .vuuTableNext-body {
2316
3565
  height: var(--content-height);
2317
3566
  }
2318
- .vuuTableNextCell {
2319
- display: inline-block;
2320
- padding: 0 8px;
2321
- vertical-align: top;
2322
- }
2323
3567
  .vuuPinLeft,
2324
3568
  .vuuPinRight {
2325
3569
  background-color: inherit;
@@ -2342,4 +3586,48 @@ path.drop-target.centre {
2342
3586
  border: none !important;
2343
3587
  height: 0px;
2344
3588
  }
3589
+ .vuuDraggable-vuuTableNext {
3590
+ --header-height: 25px;
3591
+ --vuuTableNextHeaderCell-background: var(--vuu-color-gray-25);
3592
+ }
3593
+
3594
+ /* src/table-next/cell-renderers/dropdown-cell/DropdownCell.css */
3595
+ .vuuTableDropdownCell {
3596
+ --vuu-icon-height: 15px;
3597
+ --salt-focused-outlineStyle: none;
3598
+ --saltButton-borderRadius: 4px;
3599
+ font-weight: 500;
3600
+ }
3601
+ .vuuTableDropdownCell button:focus-visible {
3602
+ --saltButton-borderColor: var(--vuu-color-purple-10);
3603
+ --saltButton-borderWidth: 2px;
3604
+ padding-left: 3px;
3605
+ }
3606
+
3607
+ /* src/table-next/cell-renderers/input-cell/InputCell.css */
3608
+ .vuuTableInputCell.saltInput-primary {
3609
+ --salt-focused-outlineStyle: none;
3610
+ --saltInput-height: 17px;
3611
+ --saltInput-minHeight: 17px;
3612
+ border-radius: 4px;
3613
+ font-weight: 500;
3614
+ }
3615
+ .vuuTableNextCell:focus .vuuTableInputCell.saltInput-primary,
3616
+ .vuuTableInputCell.saltInput-primary.saltInput-focused {
3617
+ border: solid 2px var(--vuu-color-purple-10);
3618
+ padding: 0 3px;
3619
+ }
3620
+ .vuuTableInputCell-icon {
3621
+ --vuu-icon-height: 13px;
3622
+ --vuu-icon-size: 15px;
3623
+ --vuu-icon-width: 12px;
3624
+ border-radius: 10px;
3625
+ }
3626
+ .vuuTableNextCell:focus .vuuTableInputCell.saltInput-primary.vuuTableInputCell-error,
3627
+ .vuuTableInputCell.saltInput-primary.saltInput-focused.vuuTableInputCell-error {
3628
+ border: solid 2px var(--vuu-color-red-50);
3629
+ }
3630
+ .vuuTableInputCell-error.saltInput-primary {
3631
+ border: solid 1px var(--vuu-color-red-50);
3632
+ }
2345
3633
  /*# sourceMappingURL=index.css.map */