@vuu-ui/vuu-table-extras 0.8.17-debug → 0.8.18-debug

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/cjs/index.js +6066 -5908
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +6314 -6144
  4. package/esm/index.js.map +4 -4
  5. package/index.css +928 -890
  6. package/index.css.map +3 -3
  7. package/package.json +13 -14
  8. package/types/cell-renderers/background-cell/BackgroundCell.d.ts +5 -0
  9. package/types/cell-renderers/dropdown-cell/DropdownCell.d.ts +4 -0
  10. package/types/cell-renderers/dropdown-cell/index.d.ts +1 -0
  11. package/types/cell-renderers/index.d.ts +3 -0
  12. package/types/cell-renderers/lookup-cell/LookupCell.d.ts +3 -0
  13. package/types/cell-renderers/lookup-cell/index.d.ts +1 -0
  14. package/types/column-expression-input/useColumnExpressionSuggestionProvider.d.ts +1 -1
  15. package/types/column-expression-panel/ColumnExpressionPanel.d.ts +1 -2
  16. package/types/column-formatting-settings/BaseNumericFormattingSettings.d.ts +3 -0
  17. package/types/column-formatting-settings/ColumnFormattingPanel.d.ts +4 -4
  18. package/types/column-formatting-settings/DateTimeFormattingSettings.d.ts +4 -0
  19. package/types/column-formatting-settings/LongTypeFormattingSettings.d.ts +4 -0
  20. package/types/column-formatting-settings/index.d.ts +2 -1
  21. package/types/column-formatting-settings/types.d.ts +6 -0
  22. package/types/column-list/ColumnList.d.ts +1 -1
  23. package/types/column-settings/ColumnSettingsPanel.d.ts +2 -11
  24. package/types/column-settings/useColumnSettings.d.ts +2 -2
  25. package/types/datasource-stats/DatasourceStats.d.ts +1 -1
  26. package/types/index.d.ts +0 -2
  27. package/types/table-settings/TableSettingsPanel.d.ts +3 -12
  28. package/types/table-settings/useTableSettings.d.ts +1 -2
  29. package/types/cell-renderers-next/background-cell/BackgroundCell.d.ts +0 -5
  30. package/types/cell-renderers-next/index.d.ts +0 -1
  31. package/types/column-formatting-settings/NumericFormattingSettings.d.ts +0 -7
  32. package/types/useTableAndColumnSettings.d.ts +0 -15
  33. /package/types/{cell-renderers-next → cell-renderers}/background-cell/BackgroundCellConfigurationEditor.d.ts +0 -0
  34. /package/types/{cell-renderers-next → cell-renderers}/background-cell/index.d.ts +0 -0
  35. /package/types/{cell-renderers-next → cell-renderers}/background-cell/useDirection.d.ts +0 -0
package/index.css CHANGED
@@ -1,1074 +1,1112 @@
1
- /* src/cell-renderers/progress-cell/ProgressCell.css */
2
- .vuuProgressCell {
1
+ /* ../vuu-table/src/column-header-pill/ColumnHeaderPill.css */
2
+ .vuuColumnHeaderPill {
3
+ --vuu-icon-size: 14px;
4
+ --menu-item-icon-color: black;
5
+ --vuu-icon-color: white;
6
+ --vuu-icon-height: 12px;
7
+ --vuu-icon-width: 12px;
3
8
  align-items: center;
9
+ background: var(--salt-taggable-background-active);
10
+ color: white;
11
+ border-radius: 4px;
12
+ flex: var(--vuuColumnHeaderPill-flex, none);
13
+ font-size: 11px;
14
+ gap: 4px;
15
+ height: 16px;
4
16
  display: flex;
5
- }
6
- .vuuProgressCell-track {
7
- display: inline-block;
8
- flex: auto 1 1;
9
- height: 4px;
10
- overflow: hidden;
17
+ margin: var(--vuuColumnHeaderPill-margin, 0);
18
+ padding: 0 6px;
11
19
  position: relative;
12
20
  }
13
- .vuuProgressCell-bg {
14
- background-color: var(--salt-measured-background);
15
- display: inline-block;
16
- height: 2px;
17
- left: 0;
18
- position: absolute;
19
- top: 1px;
20
- width: 100%;
21
+ .vuuColumnHeaderPill:hover {
22
+ --vuu-icon-color: var(--vuu-color-gray-80);
23
+ background-color: var(--salt-taggable-background-hover);
24
+ color: var(--vuu-color-gray-80);
21
25
  }
22
- .vuuProgressCell-bar {
23
- background-color: var(--salt-measured-fill);
24
- display: inline-block;
25
- height: 100%;
26
- left: 0;
27
- position: absolute;
28
- top: 0;
29
- transform: translateX(var(--progress-bar-pct, -100%));
30
- width: 100%;
26
+ .vuuColumnHeaderPill-removeButton {
27
+ cursor: pointer;
31
28
  }
32
- .vuuProgressCell-text {
33
- flex: 35px 0 0;
34
- text-align: right;
29
+
30
+ /* ../vuu-table/src/column-header-pill/GroupColumnPill.css */
31
+ .vuuSortPosition {
32
+ font-size: 11px;
33
+ font-weight: 700;
34
+ padding-top: 1px;
35
35
  }
36
36
 
37
- /* src/cell-renderers-next/background-cell/BackgroundCell.css */
38
- .vuuTable td:has(> .vuuBackgroundCell) {
39
- padding: 0;
40
- text-align: right;
37
+ /* ../vuu-table/src/column-header-pill/SortIndicator.css */
38
+ .vuuSortPosition {
39
+ font-size: 11px;
40
+ font-weight: 700;
41
+ padding-top: 1px;
41
42
  }
42
- .vuuBackgroundCell {
43
- color: var(--background-cell-color);
44
- padding-right: var(--salt-size-unit);
45
- position: relative;
46
- z-index: -1;
43
+
44
+ /* ../vuu-table/src/column-resizing/ColumnResizer.css */
45
+ .vuuColumnResizerNext {
46
+ background-color: var(--columnResizer-color);
47
+ cursor: col-resize;
48
+ height: var(--header-height);
49
+ margin-left: var(--columnResizer-left, auto);
50
+ position: absolute;
51
+ right: -5px;
52
+ width: 8px;
53
+ z-index: 1;
47
54
  }
48
- .vuuBackgroundCell-flasher {
49
- background-color: var(--background-cell-background);
55
+ .vuuColumnResizerNext:hover {
56
+ --columnResizer-color: var(--vuu-color-purple-10);
57
+ }
58
+ .vuuColumnResizerNext:after {
59
+ background-color: var(--columnResizer-color, var(--salt-separable-tertiary-borderColor));
60
+ bottom: 0;
61
+ content: "";
50
62
  position: absolute;
51
- left: 0;
52
- right: 0;
53
63
  top: 0;
54
- bottom: 0;
55
- z-index: -1;
64
+ right: 3px;
65
+ height: var(--columnResizer-height, 0);
66
+ width: 2px;
56
67
  }
57
- .vuuBackgroundCell-flasher {
58
- text-align: left;
68
+
69
+ /* ../vuu-table/src/header-cell/GroupHeaderCell.css */
70
+ .vuu-theme {
71
+ --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>');
59
72
  }
60
- .vuuBackgroundCell-flasher + .num {
61
- padding-left: 8px;
73
+ .vuuTableGroupHeaderCell {
74
+ --vuuColumnHeaderPill-margin: 0;
75
+ --cell-align: "flex-start";
76
+ text-align: left;
77
+ background: var(--dataTable-background);
78
+ cursor: default;
79
+ height: var(--vuuTableHeaderHeight);
62
80
  }
63
- .right .vuuBackgroundCell-flasher {
64
- text-align: right;
81
+ .vuuTableGroupHeaderCell-inner {
82
+ align-items: center;
83
+ display: flex;
84
+ gap: 4px;
85
+ height: 100%;
86
+ padding-left: 1px;
65
87
  }
66
- .right .vuuBackgroundCell-flasher + .num {
88
+ .vuuTableGroupHeaderCell-col {
89
+ align-items: center;
90
+ background-color: inherit;
91
+ display: inline-flex;
92
+ flex: 0 1 auto;
93
+ height: calc(var(--vuuTableHeaderHeight) - 2px);
94
+ justify-content: space-between;
67
95
  padding-right: 8px;
96
+ position: relative;
68
97
  }
69
- .vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
70
- background-color: transparent;
98
+ .vuuTableGroupHeaderCell-label {
99
+ align-items: center;
100
+ display: flex;
101
+ flex: 0 0 auto;
71
102
  }
72
- .vuuBackgroundCell-backgroundOnly.up1,
73
- .vuuBackgroundCell-backgroundArrow.up1 {
74
- animation-duration: 30s;
75
- animation-name: reactbgup1;
103
+ .vuuTableGroupHeaderCell-close {
104
+ --vuu-icon-height: 18px;
105
+ --vuu-icon-width: 18px;
106
+ cursor: pointer;
107
+ left: 3px;
76
108
  }
77
- .vuuBackgroundCell-backgroundOnly.up2,
78
- .vuuBackgroundCell-backgroundArrow.up2 {
79
- animation-duration: 30s;
80
- animation-name: reactbgup2;
109
+ .vuuTableGroupHeaderCell-resizing {
110
+ --columnResizer-color: var(--salt-color-blue-500);
111
+ --columnResizer-height: var(--table-height);
112
+ --columnResizer-width: 2px;
81
113
  }
82
- .vuuBackgroundCell-backgroundOnly.down1,
83
- .vuuBackgroundCell-backgroundArrow.down1 {
84
- animation-duration: 30s;
85
- animation-name: reactbgdown1;
114
+ .vuuTableGroupHeaderCell-pending {
115
+ --pending-content: "";
86
116
  }
87
- .vuuBackgroundCell-backgroundOnly.down2,
88
- .vuuBackgroundCell-backgroundArrow.down2 {
89
- animation-duration: 30s;
90
- animation-name: reactbgdown2;
117
+ .vuuTableGroupHeaderCell-col:has(+ .vuuColumnResizer):after {
118
+ content: var(--pending-content);
119
+ width: 24px;
120
+ height: 24px;
121
+ background-image: var(--svg-spinner);
122
+ background-repeat: no-repeat;
123
+ background-size: cover;
91
124
  }
92
- .up1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
93
- animation-duration: 30s;
94
- animation-name: reactarrowup1;
125
+
126
+ /* ../vuu-table/src/column-menu/ColumnMenu.css */
127
+ .vuuMenuItem {
128
+ --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>');
95
129
  }
96
- .up2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
97
- animation-duration: 30s;
98
- animation-name: reactarrowup2;
130
+ .vuuTable-columnMenu {
131
+ --vuu-icon-color: #606477;
132
+ --vuu-icon-height: 20px;
133
+ --vuu-icon-left: 0px;
134
+ --vuu-icon-size: 16px;
135
+ --vuu-icon-top: 0px;
136
+ --vuu-icon-width: 20px;
137
+ border-radius: 4px;
138
+ cursor: pointer;
139
+ display: inline-block;
140
+ flex: 0 0 20px;
141
+ padding: 2px;
142
+ margin: var(--vuuTable-columnMenu-margin, 0);
143
+ width: auto;
99
144
  }
100
- .down1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
101
- animation-duration: 30s;
102
- animation-name: reactarrowdown1;
145
+ .vuuTable-columnMenu:hover {
146
+ --vuu-icon-color: #15171B;
147
+ background-color: #F37880;
103
148
  }
104
- .down2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
105
- animation-duration: 30s;
106
- animation-name: reactarrowdown2;
149
+ .vuuTable-columnMenu-open:hover,
150
+ .vuuTable-columnMenu-open {
151
+ background-color: #6D18BD;
152
+ --vuu-icon-color: white;
107
153
  }
108
- .up1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
109
- animation-duration: 30s;
110
- animation-name: reactbgarrowup1;
154
+ [data-icon=cog] {
155
+ --vuu-icon-svg: var(--vuu-svg-cog);
156
+ --vuu-icon-size: 14px;
111
157
  }
112
- .up2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
113
- animation-duration: 30s;
114
- animation-name: reactbgarrowup2;
158
+
159
+ /* ../vuu-table/src/header-cell/HeaderCell.css */
160
+ .vuuTableGroupHeaderCell,
161
+ .vuuTableHeaderCell {
162
+ --cell-align: "flex-start";
163
+ --vuuColumnHeaderPill-margin: 0;
164
+ --vuuColumnHeaderPill-flex: 0 0 24px;
165
+ align-items: center;
166
+ background-color: var(--vuuTableHeaderCell-background, inherit);
167
+ border-bottom: 1px solid #ccc;
168
+ border-right-color: var(--cell-borderColor);
169
+ border-right-style: solid;
170
+ border-right-width: 1px;
171
+ box-sizing: border-box;
172
+ cursor: default;
173
+ display: inline-flex;
174
+ gap: 4px;
175
+ height: var(--header-height);
176
+ padding: 0 12px 0 4px;
177
+ position: relative;
178
+ vertical-align: top;
115
179
  }
116
- .down1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
117
- animation-duration: 30s;
118
- animation-name: reactbgarrowdown1;
180
+ .vuuTableHeaderCell-right {
181
+ --columnResizer-left: 0;
182
+ --vuuTable-columnMenu-margin: 0;
183
+ --vuuColumnHeaderPill-margin: 0 3px 0 0;
184
+ --column-menu-left: 2px;
185
+ justify-content: flex-end;
186
+ padding: 0 3px 0 12px;
119
187
  }
120
- .down2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
121
- animation-duration: 30s;
122
- animation-name: reactbgarrowdown2;
188
+ .vuuTableHeaderCell-label {
189
+ flex: 0 1 auto;
190
+ line-height: calc(var(--header-height) - 1px);
191
+ overflow: hidden;
192
+ text-overflow: ellipsis;
193
+ white-space: nowrap;
123
194
  }
124
-
125
- /* src/cell-renderers-next/background-cell/FlashingBackground.css */
126
- @keyframes reactbgup1 {
127
- from {
128
- background-color: var(--vuu-color-green-50);
129
- color: white;
130
- }
131
- to {
132
- background-color: transparent;
133
- color: var(--vuu-color-gray-80);
134
- }
195
+ .vuuTableHeaderCell-right .vuuTableHeaderCell-label {
196
+ text-align: right;
135
197
  }
136
- @keyframes reactbgup2 {
137
- from {
138
- background-color: var(--vuu-color-green-50);
139
- color: #ffffff;
140
- }
141
- to {
142
- background-color: transparent;
143
- color: var(--vuu-color-gray-80);
144
- }
198
+ .vuuTableHeaderCell-resizing {
199
+ --columnResizer-height: var(--table-height);
145
200
  }
146
- @keyframes reactbgdown1 {
147
- from {
148
- background-color: var(--vuu-color-red-50);
149
- color: white;
150
- }
151
- to {
152
- background-color: transparent;
153
- color: var(--vuu-color-gray-80);
154
- }
201
+ .vuuTableHeaderCell.vuuPinLeft {
202
+ padding-left: 2px;
155
203
  }
156
- @keyframes reactbgdown2 {
157
- from {
158
- background-color: var(--vuu-color-red-50);
159
- color: white;
160
- }
161
- to {
162
- background-color: transparent;
163
- color: var(--vuu-color-gray-80);
164
- }
165
- }
166
- @keyframes reactarrowup1 {
167
- from {
168
- color: var(--salt-differential-positive-foreground);
169
- }
170
- to {
171
- color: transparent;
172
- }
173
- }
174
- @keyframes reactarrowup2 {
175
- from {
176
- color: var(--salt-differential-positive-foreground);
177
- }
178
- to {
179
- color: transparent;
180
- }
181
- }
182
- @keyframes reactarrowdown1 {
183
- from {
184
- color: var(--salt-differential-negative-foreground);
185
- }
186
- to {
187
- color: transparent;
188
- }
189
- }
190
- @keyframes reactarrowdown2 {
191
- from {
192
- color: var(--salt-differential-negative-foreground);
193
- }
194
- to {
195
- color: transparent;
196
- }
197
- }
198
- @keyframes reactbgarrowup1 {
199
- 0% {
200
- color: var(--salt-differential-positive-foreground);
201
- background-color: var(--vuu-color-green-50);
202
- }
203
- 20% {
204
- color: var(--salt-differential-positive-foreground);
205
- background-color: transparent;
206
- }
207
- 100% {
208
- color: transparent;
209
- background-color: transparent;
210
- }
211
- }
212
- @keyframes reactbgarrowup2 {
213
- 0% {
214
- color: var(--salt-differential-positive-foreground);
215
- background-color: var(--vuu-color-green-50);
216
- }
217
- 20% {
218
- color: var(--salt-differential-positive-foreground);
219
- background-color: transparent;
220
- }
221
- 100% {
222
- color: transparent;
223
- background-color: transparent;
224
- }
204
+ .vuuTableHeaderCell.vuuPinLeft.vuuEndPin .vuuColumnResizerNext:before {
205
+ --height: calc(var(--table-height) - var(--horizontal-scrollbar-height));
206
+ --inset-r: calc(var(--pin-width) - 2px);
207
+ --inset-b: calc(var(--height) - 2px);
208
+ --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% );
209
+ background-color: transparent;
210
+ border-color: var(--vuu-color-gray-40);
211
+ border-width: 1px;
212
+ border-style: solid solid solid solid;
213
+ border-radius: 4px;
214
+ box-shadow: 2px 1px 4px 0px rgba(0, 0, 0, 0.10);
215
+ clip-path: var(--clip-path);
216
+ content: "";
217
+ position: absolute;
218
+ width: var(--pin-width);
219
+ top: 0;
220
+ bottom: 0;
221
+ right: 3px;
222
+ height: var(--height);
223
+ z-index: -5;
225
224
  }
226
- @keyframes reactbgarrowdown1 {
227
- 0% {
228
- color: var(--salt-differential-negative-foreground);
229
- background-color: var(--vuu-color-red-50);
230
- }
231
- 20% {
232
- color: var(--salt-differential-negative-foreground);
233
- background-color: transparent;
234
- }
235
- 100% {
236
- color: transparent;
237
- background-color: transparent;
238
- }
225
+ .vuuTableHeaderCell.vuuPinRight.vuuEndPin .vuuColumnResizerNext:before {
226
+ --height: calc(var(--table-height) - var(--horizontal-scrollbar-height));
227
+ --inset-r: calc(var(--pin-width) - 2px);
228
+ --inset-b: calc(var(--height) - 2px);
229
+ --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% );
230
+ background-color: transparent;
231
+ border-color: #A9AAAD;
232
+ border-width: 1px;
233
+ border-style: solid solid solid solid;
234
+ border-radius: 4px;
235
+ box-shadow: -2px 1px 4px 0px rgba(0, 0, 0, 0.10);
236
+ clip-path: var(--clip-path);
237
+ content: "";
238
+ position: absolute;
239
+ width: var(--pin-width);
240
+ top: 0;
241
+ bottom: 0;
242
+ right: 0px;
243
+ height: var(--height);
244
+ z-index: -5;
239
245
  }
240
- @keyframes reactbgarrowdown2 {
241
- 0% {
242
- color: var(--salt-differential-negative-foreground);
243
- background-color: var(--vuu-color-red-50);
244
- }
245
- 20% {
246
- color: var(--salt-differential-negative-foreground);
247
- background-color: transparent;
248
- }
249
- 100% {
250
- color: transparent;
251
- background-color: transparent;
252
- }
246
+ .vuuTableHeaderCell.vuuDraggable-dragAway {
247
+ display: none;
253
248
  }
254
-
255
- /* src/cell-renderers-next/background-cell/BackgroundCellConfigurationEditor.css */
256
- .vuuBackgroundCellConfiguration {
257
- height: 50px;
258
- background-color: red;
249
+ .vuuTable-headingCell {
250
+ background: var(--dataTable-background);
251
+ border-color: var(--salt-separable-tertiary-borderColor);
252
+ border-style: solid solid solid none;
253
+ border-width: 1px;
254
+ color: var(--salt-text-secondary-foreground);
255
+ display: inline-block;
256
+ height: var(--header-height);
257
+ padding: 0 !important;
259
258
  }
260
259
 
261
- /* src/column-list/ColumnList.css */
262
- .vuuColumnList {
263
- --vuuMeasuredContainer-flex: 1 1 1px;
264
- --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>');
265
- --vuuList-borderStyle: none;
266
- --vuuListItem-padding: 0;
267
- display: flex;
268
- flex-direction: column;
269
- width: 252px;
260
+ /* ../vuu-table/src/table-cell/TableCell.css */
261
+ .vuuTableCell {
262
+ border-right-color: var(--cell-borderColor);
263
+ border-right-style: solid;
264
+ border-right-width: 1px;
265
+ display: inline-block;
266
+ height: 100%;
267
+ overflow: hidden;
268
+ padding: var(--vuuTableCell-padding, 0 11px 0 12px);
269
+ text-overflow: ellipsis;
270
+ vertical-align: top;
270
271
  }
271
- [data-icon=function] {
272
- --vuu-icon-svg: var(--vuu-svg-function);
272
+ .vuuTableCell-right {
273
+ text-align: right;
273
274
  }
274
- .vuuColumnListItem {
275
- border-bottom: solid 1px var(--salt-separable-tertiary-borderColor);
276
- padding: 0 6px 0 0;
275
+ .vuuTableCell-editable {
276
+ display: inline-flex;
277
+ line-height: 18px;
278
+ padding-bottom: 1px;
279
+ padding-top: 1px;
280
+ text-overflow: unset;
277
281
  }
278
- .vuuColumnList-switch {
279
- flex: 0 0 32px;
282
+ .vuuTableCell:focus {
283
+ outline: var(--vuuTableCell-outline, solid var(--vuu-color-purple-10) 2px);
284
+ outline-offset: -2px;
285
+ box-shadow: inset 0 0 0 var(--cell-outline-width) white;
286
+ border-bottom: none;
280
287
  }
281
- .vuuColumnList-text {
282
- flex: 1 1 auto;
288
+ .vuuTableRow-selected .vuuTableCell:not(.vuuTableCell-editable):focus {
289
+ outline: var(--vuuTableCell-outline, solid var(--vuu-color-purple-10) 2px);
290
+ outline-offset: -1px;
283
291
  }
284
- .vuuColumnList-text:hover {
285
- font-weight: 600;
286
- text-decoration: underline;
292
+ .vuuTableCell-editable:focus {
293
+ outline: none;
287
294
  }
288
- .vuuColumnList-checkBox {
289
- flex: 0 0 20px;
295
+
296
+ /* ../vuu-table/src/table-cell/TableGroupCell.css */
297
+ .vuuTableGroupCell {
298
+ --group-cell-spacer-width: 20px;
299
+ align-items: center;
300
+ border-right-color: var(--vuuTableGroupCell-borderColor, var(--salt-separable-tertiary-borderColor));
301
+ border-right-style: solid;
302
+ border-right-width: 1px;
303
+ cursor: pointer;
304
+ display: inline-flex;
305
+ height: var(--row-height);
306
+ line-height: 16px;
290
307
  }
291
- .vuuColumnList-icon {
292
- --vuu-icon-color: var(--vuu-color-gray-45);
308
+ .vuuTableGroupCell-toggle {
309
+ --vuu-icon-height: 16px;
293
310
  --vuu-icon-size: 16px;
294
- --vuu-icon-width: 32px;
295
- }
296
- .vuuColumnList-header {
297
- border-top: solid 2px var(--vuu-color-gray-30);
298
- flex: 0 0 40px;
299
- font-size: 14px;
300
- font-weight: 600;
301
- padding-top: 24px;
311
+ --vuu-icon-width: 8px;
312
+ margin-right: 4px;
313
+ transition: transform 0.25s;
314
+ transform: var(--toggle-icon-transform);
302
315
  }
303
- .vuuColumnList-colHeadings {
304
- border-bottom: solid 2px var(--vuu-color-gray-30);
305
- color: var(--vuu-color-gray-50);
306
- display: flex;
307
- flex: 0 0 24px;
308
- font-size: 10px;
309
- justify-content: space-between;
310
- margin-top: 16px;
311
- padding-bottom: 8px;
316
+ .vuuTableGroupCell-spacer {
317
+ width: var(--group-cell-spacer-width);
312
318
  }
313
319
 
314
- /* src/column-expression-input/ColumnExpressionInput.css */
315
- .vuuColumnExpressionInput {
316
- --vuuFilterEditor-background: var(--salt-container-primary-background);
317
- --vuuFilterEditor-color: var(--salt-text-primary-foreground);
318
- --vuuFilterEditor-fontFamily: var(--salt-typography-fontFamily);
319
- --vuuFilterEditor-fontSize: var(--salt-text-fontSize);
320
- --vuuFilterEditor-cursorColor: var(--salt-text-secondary-foreground);
321
- --vuuFilterEditor-selectionBackground: var(--salt-text-background-selected);
322
- --vuuFilterEditor-tooltipBackground: var(--salt-container-primary-background);
323
- --vuuFilterEditor-tooltipBorder: solid 1px var(--vuu-color-purple-10);
324
- --vuuFilterEditor-tooltipElevation: var(--salt-overlayable-shadow-popout);
325
- --vuuFilterEditor-suggestion-selectedBackground: var(--vuu-color-gray-10);
326
- --vuuFilterEditor-suggestion-selectedColor: var(--salt-text-primary-foreground);
327
- --vuuFilterEditor-suggestion-detailColor: var(--salt-text-secondary-foreground-disabled);
328
- --vuuFilterEditor-suggestion-height: 24px;
329
- --vuuFilterEditor-variableColor: var(--vuu-color-purple-10);
330
- align-items: center;
320
+ /* ../vuu-table/src/Row.css */
321
+ .vuuTableRow {
322
+ background: var(--row-background,#fff);
323
+ border-bottom: 1px solid var(--row-borderColor);
331
324
  box-sizing: border-box;
332
- height: 30px;
333
- }
334
- .vuuColumnExpressionInput-FilterButton,
335
- .vuuColumnExpressionInput-ClearButton {
336
- --vuu-icon-size: 12px;
337
- --saltButton-width: 28px;
338
- }
339
- .expression-type-container {
340
- margin: 0 3px 0 auto;
341
- color: var(--salt-text-secondary-foreground);
342
- }
343
- .expression-kind {
344
- display: inline-block;
345
- width: 50px;
346
- }
347
- .expression-type {
348
- display: inline-block;
349
- text-align: right;
350
- width: 50px;
351
- }
352
- .vuuSuggestion {
353
- display: flex;
354
- align-items: center;
355
- }
356
- .vuuFunctionDoc {
357
- padding: 13px 7px;
358
- }
359
- .vuuFunctionDoc .function-heading {
360
- display: flex;
361
- gap: 3px;
362
- }
363
- .vuuFunctionDoc .function-name {
364
- font-weight: 700;
365
- text-transform: capitalize;
366
- }
367
- .vuuFunctionDoc .param-list {
368
- color: var(--vuu-color-gray-50);
369
- white-space: pre;
325
+ height: var(--row-height);
326
+ line-height: calc(var(--row-height) - 1px);
327
+ position: absolute;
328
+ top: 0;
329
+ white-space: nowrap;
370
330
  }
371
- .vuuFunctionDoc .function-type {
372
- color: var(--vuu-color-gray-50);
373
- font-weight: 700;
374
- margin-left: auto;
375
- text-transform: capitalize;
331
+ .vuuTableRow-even {
332
+ --row-background: var(--row-background-even);
376
333
  }
377
- .vuuFunctionDoc .example-container {
378
- background-color: var(--vuu-color-gray-03);
379
- margin: 6px 0;
380
- padding: 3px;
334
+ .vuuTableRow-highlighted {
335
+ background-color: var(--vuu-color-gray-10);
381
336
  }
382
- .vuuFunctionDoc .example-expression {
383
- color: var(--vuu-color-gray-80);
384
- font-family: var(--salt-typography-fontFamily-code);
385
- font-weight: 500;
386
- padding: 8px;
337
+ .vuuTableRow-selected,
338
+ .vuuTableRow-selectedEnd {
339
+ background-color: rgb(235, 235, 236);
387
340
  }
388
- .vuuFunctionDoc .example-result {
389
- margin-left: 8px;
390
- margin-top: 6px;
341
+ .vuuTableRow-selectedStart {
342
+ --vuu-selection-decorator-left-radius: 5px 0 0 0;
343
+ --vuu-selection-decorator-right-radius: 0 5px 0 0;
344
+ border-radius: 5px 5px 0 0;
391
345
  }
392
-
393
- /* src/column-settings/ColumnNameLabel.css */
394
- .vuuColumnNameLabel-calculated {
395
- cursor: pointer;
396
- display: flex;
397
- gap: 2px;
346
+ .vuuTableRow-selectedEnd {
347
+ --vuu-selection-decorator-left-radius: 0 0 0 5px;
348
+ --vuu-selection-decorator-right-radius: 0 0 5px 0;
349
+ border-radius: 0 0 5px 5px;
398
350
  }
399
- .vuuColumnNameLabel-edit {
400
- margin-left: auto;
351
+ .vuuTableRow-selectedStart.vuuTableRow-selectedEnd {
352
+ --vuu-selection-decorator-left-radius: 5px 0 0 5px;
353
+ --vuu-selection-decorator-right-radius: 0 5px 5px 0;
354
+ border-radius: 5px 5px 5px 5px;
401
355
  }
402
- .vuuColumnNameLabel-placeholder {
403
- color: var(--vuu-color-gray-35);
356
+ .vuuTableRow-selectedStart:after {
357
+ content: "";
358
+ position: absolute;
359
+ top: 0;
360
+ left: 4px;
361
+ height: 1px;
362
+ background-color: var(--vuu-color-purple-10);
363
+ width: calc(var(--content-width) - 8px);
364
+ z-index: 1;
404
365
  }
405
-
406
- /* src/column-settings/ColumnSettingsPanel.css */
407
- .vuuColumnSettingsPanel {
408
- --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>');
409
- --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>');
410
- --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>');
411
- --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>');
412
- --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>');
413
- --vuuDropdown-height: 24px;
414
- --vuuDropdown-width: 100%;
415
- --vuuIconToggleButton-iconSize: 16px;
416
- display: flex;
417
- flex-direction: column;
418
- gap: 24px;
419
- height: 100%;
420
- padding-top: 24px;
366
+ .vuuTableRow-selectedEnd {
367
+ border-bottom-color: var(--vuu-color-purple-10);
421
368
  }
422
- .vuuColumnSettingsPanel-header {
423
- border-top: solid 2px var(--vuu-color-gray-30);
424
- font-size: 14px;
425
- font-weight: 600;
426
- padding-top: 24px;
369
+ .vuuTableRow-selectionDecorator {
370
+ background-color: var(--vuu-selection-decorator-bg, white);
371
+ display: inline-block;
372
+ position: relative;
373
+ height: var(--row-height);
374
+ width: 4px;
375
+ z-index: 2;
427
376
  }
428
- .vuuColumnSettingsPanel-buttonBar {
429
- align-items: center;
430
- display: flex;
431
- justify-content: space-between;
432
- margin-top: auto;
377
+ .vuuTableRow-selectionDecorator.vuuStickyLeft {
378
+ left: 0;
379
+ position: sticky;
433
380
  }
434
- .vuuColumnSettingsPanel-buttonBar[data-align=right] {
435
- gap: 6px;
436
- justify-content: flex-end;
381
+ .vuuTableRow-selectionDecorator.vuuStickyRight {
382
+ right: 0;
383
+ position: sticky;
437
384
  }
438
- .vuuColumnSettingsPanel-buttonNavPrev {
439
- --vuu-icon-left: 6px;
440
- padding-left: 24px;
385
+ .vuuTableRow-selected {
386
+ --vuu-selection-decorator-bg: var(--vuu-color-purple-10);
441
387
  }
442
- .vuuColumnSettingsPanel-buttonNavNext {
443
- --vuu-icon-left: calc(100% - 18px);
444
- padding-right: 24px;
388
+ .vuuTableRow-selectedStart {
389
+ --vuu-selection-decorator-bg: white;
445
390
  }
446
- [data-icon=align-left] {
447
- --vuu-icon-svg: var(--vuu-svg-align-left);
391
+ .vuuTableRow-selectedEnd {
392
+ --vuu-selection-decorator-bg: white;
448
393
  }
449
- [data-icon=align-right] {
450
- --vuu-icon-svg: var(--vuu-svg-align-right);
394
+ .vuuTableRow-selectedStart.vuuTableRow-selectedEnd {
451
395
  }
452
- [data-icon=pin-left] {
453
- --vuu-icon-svg: var(--vuu-svg-pin-left);
396
+ .vuuTableRow-selectedStart .vuuTableRow-selectionDecorator:before,
397
+ .vuuTableRow-selectedEnd .vuuTableRow-selectionDecorator:before {
398
+ content: "";
399
+ top: 0;
400
+ right: 0;
401
+ bottom: 0;
402
+ left: 0;
403
+ position: absolute;
404
+ background-color: var(--vuu-color-purple-10);
454
405
  }
455
- [data-icon=pin-float] {
456
- --vuu-icon-svg: var(--vuu-svg-pin-float);
406
+ .vuuTableRow-selectionDecorator.vuuStickyLeft:before {
407
+ border-radius: var(--vuu-selection-decorator-left-radius, 0);
457
408
  }
458
- [data-icon=pin-right] {
459
- --vuu-icon-svg: var(--vuu-svg-pin-right);
409
+ .vuuTableRow-selectionDecorator.vuuStickyRight:before {
410
+ border-radius: var(--vuu-selection-decorator-right-radius, 0);
460
411
  }
461
- .vuuColumnSettingsPanel-editing .vuuColumnNameLabel-edit {
462
- display: none;
412
+ .vuuTableRow-expanded {
413
+ --toggle-icon-transform: rotate(90deg);
414
+ }
415
+ .vuuDraggable .vuuTableRow {
416
+ --cell-borderColor: transparent;
417
+ --vuu-selection-decorator-bg: transparent;
418
+ transform: none !important;
419
+ z-index: 1;
463
420
  }
464
421
 
465
- /* src/datasource-stats/DatasourceStats.css */
466
- .vuuDatasourceStats {
467
- color: black;
468
- display: flex;
469
- font-size: 10px;
470
- gap: var(--salt-size-unit);
471
- padding: 4px 0 0 12px;
422
+ /* ../vuu-table/src/Table.css */
423
+ .vuuTable {
424
+ --vuu-table-cell-outlineWidth: 1px;
425
+ --table-height: var(--measured-px-height);
426
+ --table-width: var(--measured-px-width);
427
+ --vuu-table-next-selection-bookend-width: 4px;
428
+ --columnResizer-color: transparent;
429
+ --row-background: white;
430
+ --cell-borderColor: transparent;
431
+ --row-borderColor: var(--row-background);
432
+ --table-background: var(--salt-container-primary-background);
433
+ font-family: var(--vuuTable-fontFamily,var(--salt-typography-fontFamily, sans-serif));
434
+ font-size: var(--vuuTable-fontSize,var(--salt-text-fontSize, 12px));
435
+ position: relative;
436
+ user-select: none;
472
437
  }
473
- .vuuDatasourceStats-label {
474
- color: var(--vuu-color-gray-50);
438
+ .vuuTable-zebra {
439
+ --row-background-even: var(--vuu-color-gray-25) ;
475
440
  }
476
-
477
- /* ../vuu-table/src/column-resizing/ColumnResizer.css */
478
- .vuuColumnResizerNext {
479
- background-color: var(--columnResizer-color);
480
- cursor: col-resize;
481
- height: var(--header-height);
482
- margin-left: var(--columnResizer-left, auto);
483
- position: absolute;
484
- right: -5px;
485
- width: 8px;
486
- z-index: 1;
441
+ .vuuTable-colLines {
442
+ --cell-borderColor: var(--vuu-color-gray-03);
487
443
  }
488
- .vuuColumnResizerNext:hover {
489
- --columnResizer-color: var(--vuu-color-purple-10);
444
+ .vuuTable-rowLines {
445
+ --row-borderColor: var(--vuu-color-gray-03);
490
446
  }
491
- .vuuColumnResizerNext:after {
492
- background-color: var(--columnResizer-color, var(--salt-separable-tertiary-borderColor));
493
- bottom: 0;
494
- content: "";
447
+ .vuuTable-highlight .vuuTableRow:hover {
448
+ background-color: var(--vuu-color-pink-10-fade-20);
449
+ }
450
+ .vuuTable-scrollbarContainer {
451
+ --scroll-content-width: 1100px;
452
+ border-bottom: none !important;
453
+ border-top: none !important;
454
+ border-left: solid 1px var(--salt-container-primary-borderColor);
455
+ height: var(--viewport-body-height);
456
+ left: 0px;
457
+ overflow: auto;
495
458
  position: absolute;
496
- top: 0;
497
- right: 3px;
498
- height: var(--columnResizer-height, 0);
499
- width: 2px;
459
+ top: var(--total-header-height);
460
+ width: var(--table-width);
500
461
  }
501
-
502
- /* ../vuu-table/src/column-header-pill/ColumnHeaderPill.css */
503
- .vuuColumnHeaderPill {
504
- --vuu-icon-size: 14px;
505
- --menu-item-icon-color: black;
506
- --vuu-icon-color: white;
507
- --vuu-icon-height: 12px;
508
- --vuu-icon-width: 12px;
509
- align-items: center;
510
- background: var(--salt-taggable-background-active);
511
- color: white;
512
- border-radius: 4px;
513
- flex: var(--vuuColumnHeaderPill-flex, none);
514
- font-size: 11px;
515
- gap: 4px;
516
- height: 16px;
517
- display: flex;
518
- margin: var(--vuuColumnHeaderPill-margin, 0);
519
- padding: 0 6px;
520
- position: relative;
462
+ .vuuTable-scrollbarContainer::-webkit-scrollbar {
463
+ border: none;
464
+ width: 10px;
521
465
  }
522
- .vuuColumnHeaderPill:hover {
523
- --vuu-icon-color: var(--vuu-color-gray-80);
524
- background-color: var(--salt-taggable-background-hover);
525
- color: var(--vuu-color-gray-80);
466
+ .vuuTable-scrollbarContainer::-webkit-scrollbar:horizontal {
467
+ height: 10px;
526
468
  }
527
- .vuuColumnHeaderPill-removeButton {
528
- cursor: pointer;
469
+ .vuuTable-scrollbarContainer::-webkit-scrollbar-track {
470
+ background-color: white;
529
471
  }
530
-
531
- /* ../vuu-table/src/column-header-pill/GroupColumnPill.css */
532
- .vuuSortPosition {
533
- font-size: 11px;
534
- font-weight: 700;
535
- padding-top: 1px;
472
+ .vuuTable-scrollbarContainer::-webkit-scrollbar-thumb {
473
+ background-clip: padding-box;
474
+ border-radius: 10px;
475
+ border: 2px solid rgba(0, 0, 0, 0);
476
+ background-color: var(--vuu-color-gray-30);
536
477
  }
537
-
538
- /* ../vuu-table/src/column-header-pill/SortIndicator.css */
539
- .vuuSortPosition {
540
- font-size: 11px;
541
- font-weight: 700;
542
- padding-top: 1px;
478
+ .vuuTable-scrollbarContent {
479
+ height: calc(var(--content-height) + var(--horizontal-scrollbar-height));
480
+ position: absolute;
481
+ width: var(--content-width);
543
482
  }
544
-
545
- /* ../vuu-table/src/header-cell/GroupHeaderCell.css */
546
- .vuu-theme {
547
- --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>');
483
+ .vuuTable-contentContainer {
484
+ background-color: var(--salt-container-primary-background);
485
+ height: calc(var(--table-height) - var(--horizontal-scrollbar-height));
486
+ position: relative;
487
+ overflow: auto;
488
+ overscroll-behavior: none;
489
+ width: calc(var(--table-width) - var(--vertical-scrollbar-width));
548
490
  }
549
- .vuuTableGroupHeaderCell {
550
- --vuuColumnHeaderPill-margin: 0;
551
- --cell-align: "flex-start";
552
- text-align: left;
553
- background: var(--dataTable-background);
554
- cursor: default;
555
- height: var(--vuuTableHeaderHeight);
491
+ .vuuTable-contentContainer::-webkit-scrollbar {
492
+ display: none;
556
493
  }
557
- .vuuTableGroupHeaderCell-inner {
558
- align-items: center;
559
- display: flex;
560
- gap: 4px;
561
- height: 100%;
562
- padding-left: 1px;
494
+ .vuuTable-table {
495
+ position: absolute;
496
+ top: 0;
497
+ left: 0;
498
+ table-layout: fixed;
499
+ width: var(--content-width);
500
+ margin: 0;
501
+ border: none;
502
+ background-color: #fff;
503
+ border-collapse: separate;
504
+ border-spacing: 0;
563
505
  }
564
- .vuuTableGroupHeaderCell-col {
565
- align-items: center;
506
+ .vuuTable-body {
507
+ height: var(--content-height);
508
+ }
509
+ .vuuPinLeft,
510
+ .vuuPinRight {
566
511
  background-color: inherit;
567
- display: inline-flex;
568
- flex: 0 1 auto;
569
- height: calc(var(--vuuTableHeaderHeight) - 2px);
570
- justify-content: space-between;
571
- padding-right: 8px;
572
- position: relative;
512
+ position: sticky;
513
+ z-index: 1;
573
514
  }
574
- .vuuTableGroupHeaderCell-label {
575
- align-items: center;
576
- display: flex;
577
- flex: 0 0 auto;
515
+ .vuuTable-col-headings {
516
+ background-color: white;
517
+ padding: 0 var(--vuu-table-next-selection-bookend-width, 0);
518
+ position: sticky;
519
+ top: 0;
520
+ z-index: 1;
578
521
  }
579
- .vuuTableGroupHeaderCell-close {
580
- --vuu-icon-height: 18px;
581
- --vuu-icon-width: 18px;
582
- cursor: pointer;
583
- left: 3px;
522
+ .vuuTable-col-headers {
523
+ background-color: var(--table-background);
524
+ white-space: nowrap;
584
525
  }
585
- .vuuTableGroupHeaderCell-resizing {
586
- --columnResizer-color: var(--salt-color-blue-500);
587
- --columnResizer-height: var(--table-height);
588
- --columnResizer-width: 2px;
526
+ .sizer-cell {
527
+ background-color: green !important;
528
+ border: none !important;
529
+ height: 0px;
589
530
  }
590
- .vuuTableGroupHeaderCell-pending {
591
- --pending-content: "";
531
+ .vuuDraggable-vuuTable {
532
+ --header-height: 25px;
533
+ --vuuTableHeaderCell-background: var(--vuu-color-gray-25);
592
534
  }
593
- .vuuTableGroupHeaderCell-col:has(+ .vuuColumnResizer):after {
594
- content: var(--pending-content);
595
- width: 24px;
596
- height: 24px;
597
- background-image: var(--svg-spinner);
598
- background-repeat: no-repeat;
599
- background-size: cover;
535
+ .vuuDraggable-vuuTable {
536
+ --row-height: 25px;
600
537
  }
601
538
 
602
- /* ../vuu-table/src/column-menu/ColumnMenu.css */
603
- .vuuMenuItem {
604
- --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>');
605
- }
606
- .vuuTable-columnMenu {
607
- --vuu-icon-color: #606477;
608
- --vuu-icon-height: 20px;
609
- --vuu-icon-left: 0px;
610
- --vuu-icon-size: 16px;
611
- --vuu-icon-top: 0px;
612
- --vuu-icon-width: 20px;
539
+ /* ../vuu-table/src/cell-renderers/input-cell/InputCell.css */
540
+ .vuuTableInputCell.saltInput-primary {
541
+ --salt-focused-outlineStyle: none;
542
+ --saltInput-height: 17px;
543
+ --saltInput-minHeight: 17px;
613
544
  border-radius: 4px;
614
- cursor: pointer;
615
- display: inline-block;
616
- flex: 0 0 20px;
617
- padding: 2px;
618
- margin: var(--vuuTable-columnMenu-margin, 0);
619
- width: auto;
545
+ font-weight: 500;
620
546
  }
621
- .vuuTable-columnMenu:hover {
622
- --vuu-icon-color: #15171B;
623
- background-color: #F37880;
547
+ .vuuTableCell:focus .vuuTableInputCell.saltInput-primary,
548
+ .vuuTableInputCell.saltInput-primary.saltInput-focused {
549
+ border: solid 2px var(--vuu-color-purple-10);
550
+ padding: 0 3px;
624
551
  }
625
- .vuuTable-columnMenu-open:hover,
626
- .vuuTable-columnMenu-open {
627
- background-color: #6D18BD;
628
- --vuu-icon-color: white;
552
+ .vuuTableInputCell-icon {
553
+ --vuu-icon-height: 13px;
554
+ --vuu-icon-size: 15px;
555
+ --vuu-icon-width: 12px;
556
+ border-radius: 10px;
629
557
  }
630
- [data-icon=cog] {
631
- --vuu-icon-svg: var(--vuu-svg-cog);
632
- --vuu-icon-size: 14px;
558
+ .vuuTableCell:focus .vuuTableInputCell.saltInput-primary.vuuTableInputCell-error,
559
+ .vuuTableInputCell.saltInput-primary.saltInput-focused.vuuTableInputCell-error {
560
+ border: solid 2px var(--vuu-color-red-50);
561
+ }
562
+ .vuuTableInputCell-error.saltInput-primary {
563
+ border: solid 1px var(--vuu-color-red-50);
633
564
  }
634
565
 
635
- /* ../vuu-table/src/header-cell/HeaderCell.css */
636
- .vuuTableGroupHeaderCell,
637
- .vuuTableHeaderCell {
638
- --cell-align: "flex-start";
639
- --vuuColumnHeaderPill-margin: 0;
640
- --vuuColumnHeaderPill-flex: 0 0 24px;
641
- align-items: center;
642
- background-color: var(--vuuTableHeaderCell-background, inherit);
643
- border-bottom: 1px solid #ccc;
644
- border-right-color: var(--cell-borderColor);
645
- border-right-style: solid;
646
- border-right-width: 1px;
647
- box-sizing: border-box;
648
- cursor: default;
649
- display: inline-flex;
650
- gap: 4px;
651
- height: var(--header-height);
652
- padding: 0 12px 0 4px;
566
+ /* ../vuu-table/src/cell-renderers/toggle-cell/ToggleCell.css */
567
+ .vuuTableToggleCell {
568
+ --saltButton-borderRadius: 4px;
569
+ --saltButton-height: 16px;
570
+ font-weight: 500;
653
571
  position: relative;
654
- vertical-align: top;
572
+ top: 1px;
655
573
  }
656
- .vuuTableHeaderCell-right {
657
- --columnResizer-left: 0;
658
- --vuuTable-columnMenu-margin: 0;
659
- --vuuColumnHeaderPill-margin: 0 3px 0 0;
660
- --column-menu-left: 2px;
661
- justify-content: flex-end;
662
- padding: 0 3px 0 12px;
574
+ .vuuTableToggleCell-side {
575
+ --saltButton-minWidth: 40px;
663
576
  }
664
- .vuuTableHeaderCell-label {
665
- flex: 0 1 auto;
666
- line-height: calc(var(--header-height) - 1px);
667
- overflow: hidden;
668
- text-overflow: ellipsis;
669
- white-space: nowrap;
577
+ .vuuTableToggleCell.vuuCycleStateButton-buy {
578
+ background-color: var(--vuu-color-green-50);
670
579
  }
671
- .vuuTableHeaderCell-right .vuuTableHeaderCell-label {
672
- text-align: right;
580
+ .vuuTableToggleCell.vuuCycleStateButton-sell {
581
+ background-color: var(--vuu-color-red-50);
673
582
  }
674
- .vuuTableHeaderCell-resizing {
675
- --columnResizer-height: var(--table-height);
583
+ .vuuTableCell .vuuTableToggleCell:focus {
584
+ border: solid 2px var(--vuu-color-purple-10) !important;
585
+ color: white !important;
586
+ height: 18px !important;
587
+ top: 0px !important;
676
588
  }
677
- .vuuTableHeaderCell.vuuPinLeft {
678
- padding-left: 2px;
589
+
590
+ /* src/cell-renderers/background-cell/BackgroundCell.css */
591
+ .vuuBackgroundCell {
592
+ --background-animation-duration: 10s;
593
+ color: var(--vuuBackgroundCell-color, var(--vuu-color-gray-80));
594
+ padding-right: var(--salt-size-unit);
595
+ position: relative;
596
+ z-index: -1;
679
597
  }
680
- .vuuTableHeaderCell.vuuPinLeft.vuuEndPin .vuuColumnResizerNext:before {
681
- --height: calc(var(--table-height) - var(--horizontal-scrollbar-height));
682
- --inset-r: calc(var(--pin-width) - 2px);
683
- --inset-b: calc(var(--height) - 2px);
684
- --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% );
685
- background-color: transparent;
686
- border-color: var(--vuu-color-gray-40);
687
- border-width: 1px;
688
- border-style: solid solid solid solid;
689
- border-radius: 4px;
690
- box-shadow: 2px 1px 4px 0px rgba(0, 0, 0, 0.10);
691
- clip-path: var(--clip-path);
692
- content: "";
598
+ .vuuBackgroundCell-arrowBackground,
599
+ .vuuBackgroundCell-arrowOnly {
600
+ padding-left: 14px;
601
+ }
602
+ .vuuBackgroundCell-arrow {
603
+ background-color: var(--background-cell-background);
693
604
  position: absolute;
694
- width: var(--pin-width);
605
+ left: 0;
606
+ right: 0;
695
607
  top: 0;
696
608
  bottom: 0;
697
- right: 3px;
698
- height: var(--height);
699
- z-index: -5;
609
+ z-index: -1;
700
610
  }
701
- .vuuTableHeaderCell.vuuPinRight.vuuEndPin .vuuColumnResizerNext:before {
702
- --height: calc(var(--table-height) - var(--horizontal-scrollbar-height));
703
- --inset-r: calc(var(--pin-width) - 2px);
704
- --inset-b: calc(var(--height) - 2px);
705
- --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% );
611
+ .vuuBackgroundCell-arrow {
612
+ text-align: left;
613
+ }
614
+ .vuuBackgroundCell-arrow + .num {
615
+ padding-left: 8px;
616
+ }
617
+ .right .vuuBackgroundCell-arrow {
618
+ text-align: right;
619
+ }
620
+ .right .vuuBackgroundCell-arrow + .num {
621
+ padding-right: 8px;
622
+ }
623
+ .vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-arrow {
706
624
  background-color: transparent;
707
- border-color: #A9AAAD;
708
- border-width: 1px;
709
- border-style: solid solid solid solid;
710
- border-radius: 4px;
711
- box-shadow: -2px 1px 4px 0px rgba(0, 0, 0, 0.10);
712
- clip-path: var(--clip-path);
713
- content: "";
714
- position: absolute;
715
- width: var(--pin-width);
716
- top: 0;
717
- bottom: 0;
718
- right: 0px;
719
- height: var(--height);
720
- z-index: -5;
721
625
  }
722
- .vuuTableHeaderCell.vuuDraggable-dragAway {
723
- display: none;
626
+ .vuuBackgroundCell-backgroundOnly.up1,
627
+ .vuuBackgroundCell-arrowBackground.up1 {
628
+ animation-duration: var(--background-animation-duration);
629
+ animation-name: vuubgup1;
724
630
  }
725
- .vuuTable-headingCell {
726
- background: var(--dataTable-background);
727
- border-color: var(--salt-separable-tertiary-borderColor);
728
- border-style: solid solid solid none;
729
- border-width: 1px;
730
- color: var(--salt-text-secondary-foreground);
731
- display: inline-block;
732
- height: var(--header-height);
733
- padding: 0 !important;
631
+ .vuuBackgroundCell-backgroundOnly.up2,
632
+ .vuuBackgroundCell-arrowBackground.up2 {
633
+ animation-duration: var(--background-animation-duration);
634
+ animation-name: vuubgup2;
734
635
  }
735
-
736
- /* ../vuu-table/src/table-cell/TableCell.css */
737
- .vuuTableCell {
738
- border-right-color: var(--cell-borderColor);
739
- border-right-style: solid;
740
- border-right-width: 1px;
741
- display: inline-block;
742
- height: 100%;
743
- overflow: hidden;
744
- padding: 0 11px 0 12px;
745
- text-overflow: ellipsis;
746
- vertical-align: top;
636
+ .vuuBackgroundCell-backgroundOnly.down1,
637
+ .vuuBackgroundCell-arrowBackground.down1 {
638
+ animation-duration: var(--background-animation-duration);
639
+ animation-name: vuubgdown1;
747
640
  }
748
- .vuuTableCell-right {
749
- text-align: right;
641
+ .vuuBackgroundCell-backgroundOnly.down2,
642
+ .vuuBackgroundCell-arrowBackground.down2 {
643
+ animation-duration: var(--background-animation-duration);
644
+ animation-name: vuubgdown2;
750
645
  }
751
- .vuuTableCell-editable {
752
- display: inline-flex;
753
- line-height: 18px;
754
- padding-bottom: 1px;
755
- padding-top: 1px;
756
- text-overflow: unset;
646
+ .up1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-arrow {
647
+ animation-duration: 30s;
648
+ animation-name: vuuarrowup1;
757
649
  }
758
- .vuuTableCell:focus {
759
- outline: var(--vuuTableCell-outline, solid var(--vuu-color-purple-10) 2px);
760
- outline-offset: -2px;
761
- box-shadow: inset 0 0 0 var(--cell-outline-width) white;
762
- border-bottom: none;
650
+ .up2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-arrow {
651
+ animation-duration: 30s;
652
+ animation-name: vuuarrowup2;
763
653
  }
764
- .vuuTableRow-selected .vuuTableCell:not(.vuuTableCell-editable):focus {
765
- outline: var(--vuuTableCell-outline, solid var(--vuu-color-purple-10) 2px);
766
- outline-offset: -1px;
654
+ .down1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-arrow {
655
+ animation-duration: 30s;
656
+ animation-name: vuuarrowdown1;
767
657
  }
768
- .vuuTableCell-editable:focus {
769
- outline: none;
658
+ .down2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-arrow {
659
+ animation-duration: 30s;
660
+ animation-name: vuuarrowdown2;
661
+ }
662
+ .up1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-arrow {
663
+ animation-duration: 30s;
664
+ animation-name: vuubgarrowup1;
665
+ }
666
+ .up2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-arrow {
667
+ animation-duration: 30s;
668
+ animation-name: vuubgarrowup2;
669
+ }
670
+ .down1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-arrow {
671
+ animation-duration: 30s;
672
+ animation-name: vuubgarrowdown1;
673
+ }
674
+ .down2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-arrow {
675
+ animation-duration: 30s;
676
+ animation-name: vuubgarrowdown2;
770
677
  }
771
678
 
772
- /* ../vuu-table/src/table-cell/TableGroupCell.css */
773
- .vuuTableGroupCell {
774
- --group-cell-spacer-width: 20px;
775
- align-items: center;
776
- border-right-color: var(--vuuTableGroupCell-borderColor, var(--salt-separable-tertiary-borderColor));
777
- border-right-style: solid;
778
- border-right-width: 1px;
779
- cursor: pointer;
780
- display: inline-flex;
781
- height: var(--row-height);
782
- line-height: 16px;
679
+ /* src/cell-renderers/background-cell/BackgroundKeyframes.css */
680
+ @keyframes vuubgup1 {
681
+ 0% {
682
+ background-color: var(--vuu-color-green-50);
683
+ color: white;
684
+ }
685
+ 30% {
686
+ color: white;
687
+ }
688
+ 33% {
689
+ color: var(--vuu-color-gray-80);
690
+ }
691
+ 100% {
692
+ background-color: transparent;
693
+ color: var(--vuu-color-gray-80);
694
+ }
783
695
  }
784
- .vuuTableGroupCell-toggle {
785
- --vuu-icon-height: 16px;
786
- --vuu-icon-size: 16px;
787
- --vuu-icon-width: 8px;
788
- margin-right: 4px;
789
- transition: transform 0.25s;
790
- transform: var(--toggle-icon-transform);
696
+ @keyframes vuubgup2 {
697
+ 0% {
698
+ background-color: var(--vuu-color-green-50);
699
+ color: white;
700
+ }
701
+ 30% {
702
+ color: white;
703
+ }
704
+ 33% {
705
+ color: var(--vuu-color-gray-80);
706
+ }
707
+ 100% {
708
+ background-color: transparent;
709
+ color: var(--vuu-color-gray-80);
710
+ }
711
+ }
712
+ @keyframes vuubgdown1 {
713
+ 0% {
714
+ background-color: var(--vuu-color-red-50);
715
+ color: white;
716
+ }
717
+ 30% {
718
+ color: white;
719
+ }
720
+ 33% {
721
+ color: var(--vuu-color-gray-80);
722
+ }
723
+ 100% {
724
+ background-color: transparent;
725
+ color: var(--vuu-color-gray-80);
726
+ }
727
+ }
728
+ @keyframes vuubgdown2 {
729
+ 0% {
730
+ background-color: var(--vuu-color-red-50);
731
+ color: white;
732
+ }
733
+ 30% {
734
+ color: white;
735
+ }
736
+ 33% {
737
+ color: var(--vuu-color-gray-80);
738
+ }
739
+ 100% {
740
+ background-color: transparent;
741
+ color: var(--vuu-color-gray-80);
742
+ }
743
+ }
744
+ @keyframes vuuarrowup1 {
745
+ from {
746
+ color: var(--salt-differential-positive-foreground);
747
+ }
748
+ to {
749
+ color: transparent;
750
+ }
791
751
  }
792
- .vuuTableGroupCell-spacer {
793
- width: var(--group-cell-spacer-width);
752
+ @keyframes vuuarrowup2 {
753
+ from {
754
+ color: var(--salt-differential-positive-foreground);
755
+ }
756
+ to {
757
+ color: transparent;
758
+ }
794
759
  }
795
-
796
- /* ../vuu-table/src/Row.css */
797
- .vuuTableRow {
798
- background: var(--row-background,#fff);
799
- border-bottom: 1px solid var(--row-borderColor);
800
- box-sizing: border-box;
801
- height: var(--row-height);
802
- line-height: calc(var(--row-height) - 1px);
803
- position: absolute;
804
- top: 0;
805
- white-space: nowrap;
760
+ @keyframes vuuarrowdown1 {
761
+ from {
762
+ color: var(--salt-differential-negative-foreground);
763
+ }
764
+ to {
765
+ color: transparent;
766
+ }
806
767
  }
807
- .vuuTableRow-even {
808
- --row-background: var(--row-background-even);
768
+ @keyframes vuuarrowdown2 {
769
+ from {
770
+ color: var(--salt-differential-negative-foreground);
771
+ }
772
+ to {
773
+ color: transparent;
774
+ }
809
775
  }
810
- .vuuTableRow-highlighted {
811
- background-color: var(--vuu-color-gray-10);
776
+ @keyframes vuubgarrowup1 {
777
+ 0% {
778
+ color: var(--salt-differential-positive-foreground);
779
+ background-color: var(--vuu-color-green-50);
780
+ }
781
+ 20% {
782
+ color: var(--salt-differential-positive-foreground);
783
+ background-color: transparent;
784
+ }
785
+ 100% {
786
+ color: transparent;
787
+ background-color: transparent;
788
+ }
812
789
  }
813
- .vuuTableRow-selected,
814
- .vuuTableRow-selectedEnd {
815
- background-color: rgb(235, 235, 236);
790
+ @keyframes vuubgarrowup2 {
791
+ 0% {
792
+ color: var(--salt-differential-positive-foreground);
793
+ background-color: var(--vuu-color-green-50);
794
+ }
795
+ 20% {
796
+ color: var(--salt-differential-positive-foreground);
797
+ background-color: transparent;
798
+ }
799
+ 100% {
800
+ color: transparent;
801
+ background-color: transparent;
802
+ }
816
803
  }
817
- .vuuTableRow-selectedStart {
818
- --vuu-selection-decorator-left-radius: 5px 0 0 0;
819
- --vuu-selection-decorator-right-radius: 0 5px 0 0;
820
- border-radius: 5px 5px 0 0;
804
+ @keyframes vuubgarrowdown1 {
805
+ 0% {
806
+ color: var(--salt-differential-negative-foreground);
807
+ background-color: var(--vuu-color-red-50);
808
+ }
809
+ 20% {
810
+ color: var(--salt-differential-negative-foreground);
811
+ background-color: transparent;
812
+ }
813
+ 100% {
814
+ color: transparent;
815
+ background-color: transparent;
816
+ }
821
817
  }
822
- .vuuTableRow-selectedEnd {
823
- --vuu-selection-decorator-left-radius: 0 0 0 5px;
824
- --vuu-selection-decorator-right-radius: 0 0 5px 0;
825
- border-radius: 0 0 5px 5px;
818
+ @keyframes vuubgarrowdown2 {
819
+ 0% {
820
+ color: var(--salt-differential-negative-foreground);
821
+ background-color: var(--vuu-color-red-50);
822
+ }
823
+ 20% {
824
+ color: var(--salt-differential-negative-foreground);
825
+ background-color: transparent;
826
+ }
827
+ 100% {
828
+ color: transparent;
829
+ background-color: transparent;
830
+ }
826
831
  }
827
- .vuuTableRow-selectedStart.vuuTableRow-selectedEnd {
828
- --vuu-selection-decorator-left-radius: 5px 0 0 5px;
829
- --vuu-selection-decorator-right-radius: 0 5px 5px 0;
830
- border-radius: 5px 5px 5px 5px;
832
+
833
+ /* src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css */
834
+ .vuuBackgroundCellConfiguration {
835
+ height: 50px;
836
+ background-color: red;
831
837
  }
832
- .vuuTableRow-selectedStart:after {
833
- content: "";
834
- position: absolute;
835
- top: 0;
836
- left: 4px;
837
- height: 1px;
838
- background-color: var(--vuu-color-purple-10);
839
- width: calc(var(--content-width) - 8px);
840
- z-index: 1;
838
+
839
+ /* src/cell-renderers/dropdown-cell/DropdownCell.css */
840
+ .vuuTableDropdownCell {
841
+ --vuu-icon-height: 15px;
842
+ --salt-focused-outlineStyle: none;
843
+ --saltButton-borderRadius: 4px;
844
+ font-weight: 500;
841
845
  }
842
- .vuuTableRow-selectedEnd {
843
- border-bottom-color: var(--vuu-color-purple-10);
846
+ .vuuTableDropdownCell button:focus-visible {
847
+ --saltButton-borderColor: var(--vuu-color-purple-10);
848
+ --saltButton-borderWidth: 2px;
849
+ padding-left: 3px;
844
850
  }
845
- .vuuTableRow-selectionDecorator {
846
- background-color: var(--vuu-selection-decorator-bg, white);
851
+
852
+ /* src/cell-renderers/progress-cell/ProgressCell.css */
853
+ .vuuProgressCell {
854
+ align-items: center;
855
+ display: flex;
856
+ }
857
+ .vuuProgressCell-track {
847
858
  display: inline-block;
859
+ flex: auto 1 1;
860
+ height: 4px;
861
+ overflow: hidden;
848
862
  position: relative;
849
- height: var(--row-height);
850
- width: 4px;
851
- z-index: 2;
852
863
  }
853
- .vuuTableRow-selectionDecorator.vuuStickyLeft {
864
+ .vuuProgressCell-bg {
865
+ background-color: var(--salt-measured-background);
866
+ display: inline-block;
867
+ height: 2px;
854
868
  left: 0;
855
- position: sticky;
869
+ position: absolute;
870
+ top: 1px;
871
+ width: 100%;
856
872
  }
857
- .vuuTableRow-selectionDecorator.vuuStickyRight {
858
- right: 0;
859
- position: sticky;
873
+ .vuuProgressCell-bar {
874
+ background-color: var(--salt-measured-fill);
875
+ display: inline-block;
876
+ height: 100%;
877
+ left: 0;
878
+ position: absolute;
879
+ top: 0;
880
+ transform: translateX(var(--progress-bar-pct, -100%));
881
+ width: 100%;
860
882
  }
861
- .vuuTableRow-selected {
862
- --vuu-selection-decorator-bg: var(--vuu-color-purple-10);
883
+ .vuuProgressCell-text {
884
+ flex: 35px 0 0;
885
+ text-align: right;
863
886
  }
864
- .vuuTableRow-selectedStart {
865
- --vuu-selection-decorator-bg: white;
887
+
888
+ /* src/column-list/ColumnList.css */
889
+ .vuuColumnList {
890
+ --vuuMeasuredContainer-flex: 1 1 1px;
891
+ --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>');
892
+ --vuuList-borderStyle: none;
893
+ --vuuListItem-padding: 0;
894
+ display: flex;
895
+ flex-direction: column;
896
+ width: 252px;
866
897
  }
867
- .vuuTableRow-selectedEnd {
868
- --vuu-selection-decorator-bg: white;
898
+ [data-icon=function] {
899
+ --vuu-icon-svg: var(--vuu-svg-function);
869
900
  }
870
- .vuuTableRow-selectedStart.vuuTableRow-selectedEnd {
901
+ .vuuColumnListItem {
902
+ border-bottom: solid 1px var(--salt-separable-tertiary-borderColor);
903
+ padding: 0 6px 0 0;
871
904
  }
872
- .vuuTableRow-selectedStart .vuuTableRow-selectionDecorator:before,
873
- .vuuTableRow-selectedEnd .vuuTableRow-selectionDecorator:before {
874
- content: "";
875
- inset: 0;
876
- position: absolute;
877
- background-color: var(--vuu-color-purple-10);
905
+ .vuuColumnList-switch {
906
+ flex: 0 0 32px;
878
907
  }
879
- .vuuTableRow-selectionDecorator.vuuStickyLeft:before {
880
- border-radius: var(--vuu-selection-decorator-left-radius, 0);
908
+ .vuuColumnList-text {
909
+ flex: 1 1 auto;
881
910
  }
882
- .vuuTableRow-selectionDecorator.vuuStickyRight:before {
883
- border-radius: var(--vuu-selection-decorator-right-radius, 0);
911
+ .vuuColumnList-text:hover {
912
+ font-weight: 600;
913
+ text-decoration: underline;
884
914
  }
885
- .vuuTableRow-expanded {
886
- --toggle-icon-transform: rotate(90deg);
915
+ .vuuColumnList-checkBox {
916
+ flex: 0 0 20px;
887
917
  }
888
- .vuuDraggable .vuuTableRow {
889
- --cell-borderColor: transparent;
890
- --vuu-selection-decorator-bg: transparent;
891
- transform: none !important;
892
- z-index: 1;
918
+ .vuuColumnList-icon {
919
+ --vuu-icon-color: var(--vuu-color-gray-45);
920
+ --vuu-icon-size: 16px;
921
+ --vuu-icon-width: 32px;
893
922
  }
894
-
895
- /* ../vuu-table/src/Table.css */
896
- .vuuTable {
897
- --vuu-table-cell-outlineWidth: 1px;
898
- --table-height: var(--measured-px-height);
899
- --table-width: var(--measured-px-width);
900
- --vuu-table-next-selection-bookend-width: 4px;
901
- --columnResizer-color: transparent;
902
- --row-background: white;
903
- --cell-borderColor: transparent;
904
- --row-borderColor: var(--row-background);
905
- --table-background: var(--salt-container-primary-background);
906
- position: relative;
907
- user-select: none;
923
+ .vuuColumnList-header {
924
+ border-top: solid 2px var(--vuu-color-gray-30);
925
+ flex: 0 0 40px;
926
+ font-size: 14px;
927
+ font-weight: 600;
928
+ padding-top: 24px;
908
929
  }
909
- .vuuTable-zebra {
910
- --row-background-even: var(--vuu-color-gray-25) ;
930
+ .vuuColumnList-colHeadings {
931
+ border-bottom: solid 2px var(--vuu-color-gray-30);
932
+ color: var(--vuu-color-gray-50);
933
+ display: flex;
934
+ flex: 0 0 24px;
935
+ font-size: 10px;
936
+ justify-content: space-between;
937
+ margin-top: 16px;
938
+ padding-bottom: 8px;
939
+ }
940
+
941
+ /* src/column-expression-input/ColumnExpressionInput.css */
942
+ .vuuColumnExpressionInput {
943
+ --vuuFilterEditor-background: var(--salt-container-primary-background);
944
+ --vuuFilterEditor-color: var(--salt-text-primary-foreground);
945
+ --vuuFilterEditor-fontFamily: var(--salt-typography-fontFamily);
946
+ --vuuFilterEditor-fontSize: var(--salt-text-fontSize);
947
+ --vuuFilterEditor-cursorColor: var(--salt-text-secondary-foreground);
948
+ --vuuFilterEditor-selectionBackground: var(--salt-text-background-selected);
949
+ --vuuFilterEditor-tooltipBackground: var(--salt-container-primary-background);
950
+ --vuuFilterEditor-tooltipBorder: solid 1px var(--vuu-color-purple-10);
951
+ --vuuFilterEditor-tooltipElevation: var(--salt-overlayable-shadow-popout);
952
+ --vuuFilterEditor-suggestion-selectedBackground: var(--vuu-color-gray-10);
953
+ --vuuFilterEditor-suggestion-selectedColor: var(--salt-text-primary-foreground);
954
+ --vuuFilterEditor-suggestion-detailColor: var(--salt-text-secondary-foreground-disabled);
955
+ --vuuFilterEditor-suggestion-height: 24px;
956
+ --vuuFilterEditor-variableColor: var(--vuu-color-purple-10);
957
+ align-items: center;
958
+ box-sizing: border-box;
959
+ height: 30px;
911
960
  }
912
- .vuuTable-colLines {
913
- --cell-borderColor: var(--vuu-color-gray-03);
961
+ .vuuColumnExpressionInput-FilterButton,
962
+ .vuuColumnExpressionInput-ClearButton {
963
+ --vuu-icon-size: 12px;
964
+ --saltButton-width: 28px;
914
965
  }
915
- .vuuTable-rowLines {
916
- --row-borderColor: var(--vuu-color-gray-03);
966
+ .expression-type-container {
967
+ margin: 0 3px 0 auto;
968
+ color: var(--salt-text-secondary-foreground);
917
969
  }
918
- .vuuTable-highlight .vuuTableRow:hover {
919
- background-color: var(--vuu-color-pink-10-fade-20);
970
+ .expression-kind {
971
+ display: inline-block;
972
+ width: 50px;
920
973
  }
921
- .vuuTable-scrollbarContainer {
922
- --scroll-content-width: 1100px;
923
- border-bottom: none !important;
924
- border-top: none !important;
925
- border-left: solid 1px var(--salt-container-primary-borderColor);
926
- height: var(--viewport-body-height);
927
- left: 0px;
928
- overflow: auto;
929
- position: absolute;
930
- top: var(--total-header-height);
931
- width: var(--table-width);
974
+ .expression-type {
975
+ display: inline-block;
976
+ text-align: right;
977
+ width: 50px;
932
978
  }
933
- .vuuTable-scrollbarContainer::-webkit-scrollbar {
934
- border: none;
935
- width: 10px;
979
+ .vuuSuggestion {
980
+ display: flex;
981
+ align-items: center;
936
982
  }
937
- .vuuTable-scrollbarContainer::-webkit-scrollbar:horizontal {
938
- height: 10px;
983
+ .vuuFunctionDoc {
984
+ padding: 13px 7px;
939
985
  }
940
- .vuuTable-scrollbarContainer::-webkit-scrollbar-track {
941
- background-color: white;
986
+ .vuuFunctionDoc .function-heading {
987
+ display: flex;
988
+ gap: 3px;
942
989
  }
943
- .vuuTable-scrollbarContainer::-webkit-scrollbar-thumb {
944
- background-clip: padding-box;
945
- border-radius: 10px;
946
- border: 2px solid rgba(0, 0, 0, 0);
947
- background-color: var(--vuu-color-gray-30);
990
+ .vuuFunctionDoc .function-name {
991
+ font-weight: 700;
992
+ text-transform: capitalize;
948
993
  }
949
- .vuuTable-scrollbarContent {
950
- height: calc(var(--content-height) + var(--horizontal-scrollbar-height));
951
- position: absolute;
952
- width: var(--content-width);
994
+ .vuuFunctionDoc .param-list {
995
+ color: var(--vuu-color-gray-50);
996
+ white-space: pre;
953
997
  }
954
- .vuuTable-contentContainer {
955
- background-color: var(--salt-container-primary-background);
956
- height: calc(var(--table-height) - var(--horizontal-scrollbar-height));
957
- position: relative;
958
- overflow: auto;
959
- overscroll-behavior: none;
960
- width: calc(var(--table-width) - var(--vertical-scrollbar-width));
998
+ .vuuFunctionDoc .function-type {
999
+ color: var(--vuu-color-gray-50);
1000
+ font-weight: 700;
1001
+ margin-left: auto;
1002
+ text-transform: capitalize;
961
1003
  }
962
- .vuuTable-contentContainer::-webkit-scrollbar {
963
- display: none;
1004
+ .vuuFunctionDoc .example-container {
1005
+ background-color: var(--vuu-color-gray-03);
1006
+ margin: 6px 0;
1007
+ padding: 3px;
964
1008
  }
965
- .vuuTable-table {
966
- position: absolute;
967
- top: 0;
968
- left: 0;
969
- table-layout: fixed;
970
- width: var(--content-width);
971
- margin: 0;
972
- border: none;
973
- background-color: #fff;
974
- border-collapse: separate;
975
- border-spacing: 0;
1009
+ .vuuFunctionDoc .example-expression {
1010
+ color: var(--vuu-color-gray-80);
1011
+ font-family: var(--salt-typography-fontFamily-code);
1012
+ font-weight: 500;
1013
+ padding: 8px;
976
1014
  }
977
- .vuuTable-body {
978
- height: var(--content-height);
1015
+ .vuuFunctionDoc .example-result {
1016
+ margin-left: 8px;
1017
+ margin-top: 6px;
979
1018
  }
980
- .vuuPinLeft,
981
- .vuuPinRight {
982
- background-color: inherit;
983
- position: sticky;
984
- z-index: 1;
1019
+
1020
+ /* src/column-formatting-settings/LongTypeFormattingSettings.css */
1021
+ .vuuLongColumnFormattingSettings {
1022
+ display: flex;
1023
+ flex-direction: column;
1024
+ gap: 4px;
1025
+ padding-top: 6px;
985
1026
  }
986
- .vuuTable-col-headings {
987
- background-color: white;
988
- padding: 0 var(--vuu-table-next-selection-bookend-width, 0);
989
- position: sticky;
990
- top: 0;
991
- z-index: 1;
1027
+
1028
+ /* src/column-settings/ColumnNameLabel.css */
1029
+ .vuuColumnNameLabel-calculated {
1030
+ cursor: pointer;
1031
+ display: flex;
1032
+ gap: 2px;
992
1033
  }
993
- .vuuTable-col-headers {
994
- background-color: var(--table-background);
995
- white-space: nowrap;
1034
+ .vuuColumnNameLabel-edit {
1035
+ margin-left: auto;
996
1036
  }
997
- .sizer-cell {
998
- background-color: green !important;
999
- border: none !important;
1000
- height: 0px;
1037
+ .vuuColumnNameLabel-placeholder {
1038
+ color: var(--vuu-color-gray-35);
1001
1039
  }
1002
- .vuuDraggable-vuuTable {
1003
- --header-height: 25px;
1004
- --vuuTableHeaderCell-background: var(--vuu-color-gray-25);
1040
+
1041
+ /* src/column-settings/ColumnSettingsPanel.css */
1042
+ .vuuColumnSettingsPanel {
1043
+ --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>');
1044
+ --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>');
1045
+ --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>');
1046
+ --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>');
1047
+ --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>');
1048
+ --vuuDropdown-height: 24px;
1049
+ --vuuDropdown-width: 100%;
1050
+ --vuuIconToggleButton-iconSize: 16px;
1051
+ display: flex;
1052
+ flex-direction: column;
1053
+ gap: 24px;
1054
+ height: 100%;
1055
+ padding-top: 24px;
1005
1056
  }
1006
- .vuuDraggable-vuuTable {
1007
- --row-height: 25px;
1057
+ .vuuColumnSettingsPanel-header {
1058
+ border-top: solid 2px var(--vuu-color-gray-30);
1059
+ font-size: 14px;
1060
+ font-weight: 600;
1061
+ padding-top: 24px;
1008
1062
  }
1009
-
1010
- /* ../vuu-table/src/cell-renderers/dropdown-cell/DropdownCell.css */
1011
- .vuuTableDropdownCell {
1012
- --vuu-icon-height: 15px;
1013
- --salt-focused-outlineStyle: none;
1014
- --saltButton-borderRadius: 4px;
1015
- font-weight: 500;
1063
+ .vuuColumnSettingsPanel-buttonBar {
1064
+ align-items: center;
1065
+ display: flex;
1066
+ justify-content: space-between;
1067
+ margin-top: auto;
1016
1068
  }
1017
- .vuuTableDropdownCell button:focus-visible {
1018
- --saltButton-borderColor: var(--vuu-color-purple-10);
1019
- --saltButton-borderWidth: 2px;
1020
- padding-left: 3px;
1069
+ .vuuColumnSettingsPanel-buttonBar[data-align=right] {
1070
+ gap: 6px;
1071
+ justify-content: flex-end;
1021
1072
  }
1022
-
1023
- /* ../vuu-table/src/cell-renderers/input-cell/InputCell.css */
1024
- .vuuTableInputCell.saltInput-primary {
1025
- --salt-focused-outlineStyle: none;
1026
- --saltInput-height: 17px;
1027
- --saltInput-minHeight: 17px;
1028
- border-radius: 4px;
1029
- font-weight: 500;
1073
+ .vuuColumnSettingsPanel-buttonNavPrev {
1074
+ --vuu-icon-left: 6px;
1075
+ padding-left: 24px;
1030
1076
  }
1031
- .vuuTableCell:focus .vuuTableInputCell.saltInput-primary,
1032
- .vuuTableInputCell.saltInput-primary.saltInput-focused {
1033
- border: solid 2px var(--vuu-color-purple-10);
1034
- padding: 0 3px;
1077
+ .vuuColumnSettingsPanel-buttonNavNext {
1078
+ --vuu-icon-left: calc(100% - 18px);
1079
+ padding-right: 24px;
1035
1080
  }
1036
- .vuuTableInputCell-icon {
1037
- --vuu-icon-height: 13px;
1038
- --vuu-icon-size: 15px;
1039
- --vuu-icon-width: 12px;
1040
- border-radius: 10px;
1081
+ [data-icon=align-left] {
1082
+ --vuu-icon-svg: var(--vuu-svg-align-left);
1041
1083
  }
1042
- .vuuTableCell:focus .vuuTableInputCell.saltInput-primary.vuuTableInputCell-error,
1043
- .vuuTableInputCell.saltInput-primary.saltInput-focused.vuuTableInputCell-error {
1044
- border: solid 2px var(--vuu-color-red-50);
1084
+ [data-icon=align-right] {
1085
+ --vuu-icon-svg: var(--vuu-svg-align-right);
1045
1086
  }
1046
- .vuuTableInputCell-error.saltInput-primary {
1047
- border: solid 1px var(--vuu-color-red-50);
1087
+ [data-icon=pin-left] {
1088
+ --vuu-icon-svg: var(--vuu-svg-pin-left);
1048
1089
  }
1049
-
1050
- /* ../vuu-table/src/cell-renderers/toggle-cell/ToggleCell.css */
1051
- .vuuTableToggleCell {
1052
- --saltButton-borderRadius: 4px;
1053
- --saltButton-height: 16px;
1054
- font-weight: 500;
1055
- position: relative;
1056
- top: 1px;
1090
+ [data-icon=pin-float] {
1091
+ --vuu-icon-svg: var(--vuu-svg-pin-float);
1057
1092
  }
1058
- .vuuTableToggleCell-side {
1059
- --saltButton-minWidth: 40px;
1093
+ [data-icon=pin-right] {
1094
+ --vuu-icon-svg: var(--vuu-svg-pin-right);
1060
1095
  }
1061
- .vuuTableToggleCell.vuuCycleStateButton-buy {
1062
- background-color: var(--vuu-color-green-50);
1096
+ .vuuColumnSettingsPanel-editing .vuuColumnNameLabel-edit {
1097
+ display: none;
1063
1098
  }
1064
- .vuuTableToggleCell.vuuCycleStateButton-sell {
1065
- background-color: var(--vuu-color-red-50);
1099
+
1100
+ /* src/datasource-stats/DatasourceStats.css */
1101
+ .vuuDatasourceStats {
1102
+ color: black;
1103
+ display: flex;
1104
+ font-size: 10px;
1105
+ gap: var(--salt-size-unit);
1106
+ padding: 4px 0 0 12px;
1066
1107
  }
1067
- .vuuTableCell .vuuTableToggleCell:focus {
1068
- border: solid 2px var(--vuu-color-purple-10) !important;
1069
- color: white !important;
1070
- height: 18px !important;
1071
- top: 0px !important;
1108
+ .vuuDatasourceStats-label {
1109
+ color: var(--vuu-color-gray-50);
1072
1110
  }
1073
1111
 
1074
1112
  /* src/table-settings/TableSettingsPanel.css */