@vuu-ui/vuu-table-extras 0.6.14-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 (47) hide show
  1. package/LICENSE +201 -0
  2. package/cjs/index.js +5749 -0
  3. package/cjs/index.js.map +7 -0
  4. package/esm/index.js +5779 -0
  5. package/esm/index.js.map +7 -0
  6. package/index.css +502 -0
  7. package/index.css.map +7 -0
  8. package/package.json +33 -0
  9. package/types/cell-renderers/background-cell/BackgroundCell.d.ts +2 -0
  10. package/types/cell-renderers/background-cell/index.d.ts +1 -0
  11. package/types/cell-renderers/background-cell/useDirection.d.ts +3 -0
  12. package/types/cell-renderers/index.d.ts +1 -0
  13. package/types/column-expression-input/ColumnExpressionInput.d.ts +9 -0
  14. package/types/column-expression-input/column-function-descriptors.d.ts +15 -0
  15. package/types/column-expression-input/column-language-parser/ColumnExpressionLanguage.d.ts +2 -0
  16. package/types/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.d.ts +58 -0
  17. package/types/column-expression-input/column-language-parser/column-expression-parse-utils.d.ts +5 -0
  18. package/types/column-expression-input/column-language-parser/generated/column-parser.d.ts +2 -0
  19. package/types/column-expression-input/column-language-parser/generated/column-parser.terms.d.ts +24 -0
  20. package/types/column-expression-input/column-language-parser/index.d.ts +3 -0
  21. package/types/column-expression-input/column-language-parser/test.d.mts +1 -0
  22. package/types/column-expression-input/functionDocInfo.d.ts +2 -0
  23. package/types/column-expression-input/highlighting.d.ts +1 -0
  24. package/types/column-expression-input/index.d.ts +4 -0
  25. package/types/column-expression-input/theme.d.ts +1 -0
  26. package/types/column-expression-input/useColumnAutoComplete.d.ts +6 -0
  27. package/types/column-expression-input/useColumnExpressionEditor.d.ts +29 -0
  28. package/types/column-expression-input/useColumnExpressionSuggestionProvider.d.ts +8 -0
  29. package/types/datagrid-configuration-ui/calculated-column-panel/CalculatedColumnPanel.d.ts +11 -0
  30. package/types/datagrid-configuration-ui/calculated-column-panel/index.d.ts +1 -0
  31. package/types/datagrid-configuration-ui/column-picker/ColumnListItem.d.ts +4 -0
  32. package/types/datagrid-configuration-ui/column-picker/ColumnPicker.d.ts +13 -0
  33. package/types/datagrid-configuration-ui/column-picker/index.d.ts +1 -0
  34. package/types/datagrid-configuration-ui/column-settings-panel/ColumnSettingsPanel.d.ts +9 -0
  35. package/types/datagrid-configuration-ui/column-settings-panel/index.d.ts +1 -0
  36. package/types/datagrid-configuration-ui/column-type-panel/ColumnTypePanel.d.ts +10 -0
  37. package/types/datagrid-configuration-ui/column-type-panel/NumericColumnPanel.d.ts +4 -0
  38. package/types/datagrid-configuration-ui/column-type-panel/StringColumnPanel.d.ts +4 -0
  39. package/types/datagrid-configuration-ui/column-type-panel/index.d.ts +1 -0
  40. package/types/datagrid-configuration-ui/index.d.ts +1 -0
  41. package/types/datagrid-configuration-ui/settings-panel/DatagridSettingsPanel.d.ts +10 -0
  42. package/types/datagrid-configuration-ui/settings-panel/GridSettingsPanel.d.ts +9 -0
  43. package/types/datagrid-configuration-ui/settings-panel/index.d.ts +1 -0
  44. package/types/datagrid-configuration-ui/settings-panel/useGridSettings.d.ts +59 -0
  45. package/types/datasource-stats/DatasourceStats.d.ts +8 -0
  46. package/types/datasource-stats/index.d.ts +1 -0
  47. package/types/index.d.ts +4 -0
package/index.css ADDED
@@ -0,0 +1,502 @@
1
+ /* src/cell-renderers/background-cell/BackgroundCell.css */
2
+ .vuuTable td:has(> .vuuBackgroundCell) {
3
+ padding: 0;
4
+ text-align: right;
5
+ }
6
+ .vuuBackgroundCell {
7
+ padding-right: var(--salt-size-unit);
8
+ position: relative;
9
+ z-index: -1;
10
+ }
11
+ .vuuBackgroundCell-flasher {
12
+ color: transparent;
13
+ position: absolute;
14
+ left: 0;
15
+ right: 0;
16
+ top: 0;
17
+ bottom: 0;
18
+ z-index: -1;
19
+ }
20
+ .vuuBackgroundCell-flasher {
21
+ text-align: left;
22
+ }
23
+ .vuuBackgroundCell-flasher + .num {
24
+ padding-left: 8px;
25
+ }
26
+ .right .vuuBackgroundCell-flasher {
27
+ text-align: right;
28
+ }
29
+ .right .vuuBackgroundCell-flasher + .num {
30
+ padding-right: 8px;
31
+ }
32
+ .up1 > .vuuBackgroundCell-flasher {
33
+ animation-duration: 30s;
34
+ animation-name: reactbgup1;
35
+ }
36
+ .up2 > .vuuBackgroundCell-flasher {
37
+ animation-duration: 30s;
38
+ animation-name: reactbgup2;
39
+ }
40
+ .down1 > .vuuBackgroundCell-flasher {
41
+ animation-duration: 30s;
42
+ animation-name: reactbgdown1;
43
+ }
44
+ .down2 > .vuuBackgroundCell-flasher {
45
+ animation-duration: 30s;
46
+ animation-name: reactbgdown2;
47
+ }
48
+ .up1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
49
+ animation-duration: 30s;
50
+ animation-name: reactarrowup1;
51
+ }
52
+ .up2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
53
+ animation-duration: 30s;
54
+ animation-name: reactarrowup2;
55
+ }
56
+ .down1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
57
+ animation-duration: 30s;
58
+ animation-name: reactarrowdown1;
59
+ }
60
+ .down2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {
61
+ animation-duration: 30s;
62
+ animation-name: reactarrowdown2;
63
+ }
64
+ .up1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
65
+ animation-duration: 30s;
66
+ animation-name: reactbgarrowup1;
67
+ }
68
+ .up2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
69
+ animation-duration: 30s;
70
+ animation-name: reactbgarrowup2;
71
+ }
72
+ .down1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
73
+ animation-duration: 30s;
74
+ animation-name: reactbgarrowdown1;
75
+ }
76
+ .down2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {
77
+ animation-duration: 30s;
78
+ animation-name: reactbgarrowdown2;
79
+ }
80
+
81
+ /* src/cell-renderers/background-cell/FlashingBackground.css */
82
+ @keyframes reactbgup1 {
83
+ from {
84
+ background-color: var(--salt-differential-positive-background);
85
+ }
86
+ to {
87
+ background-color: transparent;
88
+ }
89
+ }
90
+ @keyframes reactbgup2 {
91
+ from {
92
+ background-color: var(--salt-differential-positive-background);
93
+ }
94
+ to {
95
+ background-color: transparent;
96
+ }
97
+ }
98
+ @keyframes reactbgdown1 {
99
+ from {
100
+ background-color: var(--salt-differential-negative-background);
101
+ }
102
+ to {
103
+ background-color: transparent;
104
+ }
105
+ }
106
+ @keyframes reactbgdown2 {
107
+ from {
108
+ background-color: var(--salt-differential-negative-background);
109
+ }
110
+ to {
111
+ background-color: transparent;
112
+ }
113
+ }
114
+ @keyframes reactarrowup1 {
115
+ from {
116
+ color: var(--salt-differential-positive-foreground);
117
+ }
118
+ to {
119
+ color: transparent;
120
+ }
121
+ }
122
+ @keyframes reactarrowup2 {
123
+ from {
124
+ color: var(--salt-differential-positive-foreground);
125
+ }
126
+ to {
127
+ color: transparent;
128
+ }
129
+ }
130
+ @keyframes reactarrowdown1 {
131
+ from {
132
+ color: var(--salt-differential-negative-foreground);
133
+ }
134
+ to {
135
+ color: transparent;
136
+ }
137
+ }
138
+ @keyframes reactarrowdown2 {
139
+ from {
140
+ color: var(--salt-differential-negative-foreground);
141
+ }
142
+ to {
143
+ color: transparent;
144
+ }
145
+ }
146
+ @keyframes reactbgarrowup1 {
147
+ 0% {
148
+ color: var(--salt-differential-positive-foreground);
149
+ background-color: var(--salt-differential-positive-background);
150
+ }
151
+ 20% {
152
+ color: var(--salt-differential-positive-foreground);
153
+ background-color: transparent;
154
+ }
155
+ 100% {
156
+ color: transparent;
157
+ background-color: transparent;
158
+ }
159
+ }
160
+ @keyframes reactbgarrowup2 {
161
+ 0% {
162
+ color: var(--salt-differential-positive-foreground);
163
+ background-color: var(--salt-differential-positive-background);
164
+ }
165
+ 20% {
166
+ color: var(--salt-differential-positive-foreground);
167
+ background-color: transparent;
168
+ }
169
+ 100% {
170
+ color: transparent;
171
+ background-color: transparent;
172
+ }
173
+ }
174
+ @keyframes reactbgarrowdown1 {
175
+ 0% {
176
+ color: var(--salt-differential-negative-foreground);
177
+ background-color: var(--salt-differential-negative-background);
178
+ }
179
+ 20% {
180
+ color: var(--salt-differential-negative-foreground);
181
+ background-color: transparent;
182
+ }
183
+ 100% {
184
+ color: transparent;
185
+ background-color: transparent;
186
+ }
187
+ }
188
+ @keyframes reactbgarrowdown2 {
189
+ 0% {
190
+ color: var(--salt-differential-negative-foreground);
191
+ background-color: var(--salt-differential-negative-background);
192
+ }
193
+ 20% {
194
+ color: var(--salt-differential-negative-foreground);
195
+ background-color: transparent;
196
+ }
197
+ 100% {
198
+ color: transparent;
199
+ background-color: transparent;
200
+ }
201
+ }
202
+
203
+ /* src/column-expression-input/ColumnExpressionInput.css */
204
+ .vuuColumnExpressionInput {
205
+ --vuuFilterEditor-background: var(--salt-container-primary-background);
206
+ --vuuFilterEditor-color: var(--salt-text-primary-foreground);
207
+ --vuuFilterEditor-fontFamily: var(--salt-typography-fontFamily);
208
+ --vuuFilterEditor-fontSize: var(--salt-text-fontSize);
209
+ --vuuFilterEditor-cursorColor: var(--salt-text-secondary-foreground);
210
+ --vuuFilterEditor-selectionBackground: var(--salt-text-background-selected);
211
+ --vuuFilterEditor-tooltipBackground: var(--salt-container-primary-background);
212
+ --vuuFilterEditor-tooltipBorder: var(--tooltip-status-borderColor) var(--salt-container-borderWidth) var(--salt-container-borderStyle);
213
+ --vuuFilterEditor-tooltipElevation: var(--salt-overlayable-shadow-popout);
214
+ --vuuFilterEditor-suggestion-selectedBackground: var(--salt-selectable-background-selected);
215
+ --vuuFilterEditor-suggestion-selectedColor: var(--salt-text-primary-foreground);
216
+ --vuuFilterEditor-suggestion-detailColor: var(--salt-text-secondary-foreground-disabled);
217
+ --vuuFilterEditor-suggestion-height: 24px;
218
+ --vuuFilterEditor-variableColor: blue;
219
+ align-items: center;
220
+ box-sizing: border-box;
221
+ height: 30px;
222
+ }
223
+ .vuuColumnExpressionInput-FilterButton,
224
+ .vuuColumnExpressionInput-ClearButton {
225
+ --vuu-icon-size: 12px;
226
+ --saltButton-width: 28px;
227
+ }
228
+ .expression-type-container {
229
+ margin: 0 3px 0 auto;
230
+ color: var(--salt-text-secondary-foreground);
231
+ }
232
+ .expression-kind {
233
+ display: inline-block;
234
+ width: 50px;
235
+ }
236
+ .expression-type {
237
+ display: inline-block;
238
+ text-align: right;
239
+ width: 50px;
240
+ }
241
+ .vuuSuggestion {
242
+ display: flex;
243
+ align-items: center;
244
+ }
245
+ .vuuFunctionDoc .function-heading {
246
+ display: flex;
247
+ gap: 3px;
248
+ }
249
+ .vuuFunctionDoc .function-name {
250
+ font-style: italic;
251
+ }
252
+ .vuuFunctionDoc .param-list {
253
+ font-style: italic;
254
+ color: blue;
255
+ white-space: pre;
256
+ }
257
+ .vuuFunctionDoc .function-type {
258
+ margin-left: auto;
259
+ }
260
+ .vuuFunctionDoc .example-container {
261
+ background-color: var(--salt-container-secondary-background);
262
+ margin: 6px 0;
263
+ padding: 3px;
264
+ }
265
+ .vuuFunctionDoc .example-expression {
266
+ font-family: var(--salt-typography-fontFamily-code);
267
+ margin-left: 8px;
268
+ margin-top: 6px;
269
+ }
270
+ .vuuFunctionDoc .example-result {
271
+ margin-left: 8px;
272
+ margin-top: 6px;
273
+ }
274
+
275
+ /* src/datagrid-configuration-ui/column-picker/ColumnListItem.css */
276
+ .vuuColumnListItem {
277
+ --svg-eye-hidden: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M4.52 5.934L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414-3.31-3.31A10.949 10.949 0 0 1 12 21c-5.392 0-9.878-3.88-10.819-9a10.982 10.982 0 0 1 3.34-6.066zm10.237 10.238l-1.464-1.464a3 3 0 0 1-4.001-4.001L7.828 9.243a5 5 0 0 0 6.929 6.929zM7.974 3.76C9.221 3.27 10.58 3 12 3c5.392 0 9.878 3.88 10.819 9a10.947 10.947 0 0 1-2.012 4.592l-3.86-3.86a5 5 0 0 0-5.68-5.68L7.974 3.761z"/></svg>');
278
+ align-items: center;
279
+ padding: 0 !important;
280
+ }
281
+ .vuuColumnListItem-calculated {
282
+ --vuu-icon-size: 12px;
283
+ --column-icon-svg: var(--svg-function);
284
+ --calculated-background: var(--salt-text-secondary-foreground);
285
+ }
286
+ .vuuColumnListItem-hidden {
287
+ --vuu-icon-size: 14px;
288
+ --hidden-background: var(--salt-text-secondary-foreground);
289
+ --hidden-icon-svg: var(--svg-eye-hidden);
290
+ }
291
+ .vuuColumnListItem-label {
292
+ flex: 1 1 auto;
293
+ }
294
+ .vuuColumnListItem-iconType {
295
+ background-color: var(--calculated-background, transparent);
296
+ display: inline-block;
297
+ height: 100%;
298
+ mask: var(--column-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
299
+ mask-repeat: no-repeat;
300
+ -webkit-mask: var(--column-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
301
+ -webkit-mask-repeat: no-repeat;
302
+ width: 20px;
303
+ }
304
+ .vuuColumnListItem-iconHidden {
305
+ background-color: var(--hidden-background, transparent);
306
+ display: inline-block;
307
+ height: 100%;
308
+ mask: var(--hidden-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
309
+ mask-repeat: no-repeat;
310
+ -webkit-mask: var(--hidden-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);
311
+ -webkit-mask-repeat: no-repeat;
312
+ width: 20px;
313
+ }
314
+
315
+ /* src/datagrid-configuration-ui/column-picker/ColumnPicker.css */
316
+ .vuuColumnPicker {
317
+ --vuu-icon-color: var(--salt-text-primary-foreground);
318
+ --vuu-icon-left: 0px;
319
+ --vuu-icon-size: 12px;
320
+ display: flex;
321
+ flex-shrink: 0;
322
+ gap: calc(var(--salt-size-unit) * 2);
323
+ width: var(--vuuColumnPicker-width, 100%);
324
+ }
325
+ .vuuColumnPicker-listColumn {
326
+ display: flex;
327
+ flex: 1;
328
+ flex-direction: column;
329
+ }
330
+ .vuuColumnPicker-listContainer {
331
+ border: solid 1px var(--salt-container-primary-borderColor);
332
+ margin-right: var(--salt-size-unit);
333
+ }
334
+ .vuuColumnPicker-defineColumn {
335
+ align-items: center;
336
+ border-top: solid 1px var(--salt-container-primary-borderColor);
337
+ display: flex;
338
+ flex: 0 0 calc(100% - var(--salt-size-unit));
339
+ gap: var(--salt-size-unit);
340
+ transition: .2s height;
341
+ margin-top: 12px;
342
+ height: 48px;
343
+ }
344
+ [data-align=right] .vuuColumnPicker-defineColumn {
345
+ border-top: none;
346
+ height: 0;
347
+ }
348
+ .vuuColumnPicker-addCalculatedColumn {
349
+ margin-left: auto;
350
+ margin-right: var(--salt-size-unit);
351
+ width: 28px;
352
+ }
353
+
354
+ /* src/datagrid-configuration-ui/column-type-panel/ColumnTypePanel.css */
355
+ .vuuColumnTypePanel {
356
+ --settings-panel-marginTop: 0px;
357
+ }
358
+ .vuuColumnTypePanel-renderer {
359
+ --saltButton-background: var(--salt-container-secondary-background);
360
+ --saltButton-background-hover: var(--salt-actionable-secondary-background-hover);
361
+ }
362
+
363
+ /* src/datagrid-configuration-ui/column-settings-panel/ColumnSettingsPanel.css */
364
+ .vuuColumnSettingsPanel {
365
+ --saltFormField-margin: 3px 0;
366
+ --saltFormField-label-width: 80px;
367
+ --saltPanel-padding: var(--salt-size-unit);
368
+ align-items: flex-start;
369
+ border-left: solid 1px var(--salt-container-primary-borderColor);
370
+ display: flex;
371
+ flex-direction: column;
372
+ flex-shrink: 0;
373
+ min-width: 220px;
374
+ padding-left: calc(var(--salt-size-unit) * 2);
375
+ width: var(--vuuColumnSettings-width, auto);
376
+ }
377
+ .vuuColumnSettingsPanel-columnTabs {
378
+ --saltFormField-margin: 0;
379
+ }
380
+ .vuuColumnSettingsPanel-columnTabs .saltFormField {
381
+ margin-left: 0 !important;
382
+ }
383
+ .vuuColumnSettingsPanel .saltPanel {
384
+ --saltFormField-margin: 3px 0;
385
+ margin-top: var(--settings-panel-marginTop, var(--salt-size-unit));
386
+ align-items: stretch;
387
+ display: flex;
388
+ flex-direction: column;
389
+ gap: var(--salt-size-unit);
390
+ }
391
+ .vuuColumnPanelSwitch {
392
+ white-space: nowrap;
393
+ width: 100%;
394
+ }
395
+ .vuuColumnSettingsPanel .saltSwitch {
396
+ margin-left: auto;
397
+ }
398
+
399
+ /* src/datagrid-configuration-ui/settings-panel/GridSettingsPanel.css */
400
+ .vuuGridSettingsPanel {
401
+ --saltFormField-label-width: 150px;
402
+ }
403
+
404
+ /* src/datagrid-configuration-ui/calculated-column-panel/CalculatedColumnPanel.css */
405
+ .vuuCalculatedColumnPanel {
406
+ display: flex;
407
+ flex-direction: column;
408
+ gap: var(--salt-size-unit);
409
+ }
410
+
411
+ /* src/datagrid-configuration-ui/settings-panel/DatagridSettingsPanel.css */
412
+ .vuuDialog-gridConfig {
413
+ }
414
+ .vuuDatagridSettingsPanel {
415
+ --svg-table-settings: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><rect height="3" width="5" x="1" y="10" /><rect height="3" width="5" x="1" y="6" /><rect height="3" width="10" x="7" y="10" /><rect height="3" width="10" x="7" y="6" /><path d="M6,17H1.5a.5.5,0,0,1-.5-.5V14H6Z" /><path d="M16.5,17H7V14H17v2.5A.5.5,0,0,1,16.5,17Z" /><path d="M16.5,1H1.5a.5.5,0,0,0-.5.5V5H17V1.5A.5.5,0,0,0,16.5,1Z" /></svg>');
416
+ --svg-column-chooser: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path d="M16,1H10V17h6a1,1,0,0,0,1-1V2A1,1,0,0,0,16,1Z" /><path d="M8,1H2A1,1,0,0,0,1,2V16a1,1,0,0,0,1,1H8Z" /></svg>');
417
+ --svg-column-settings: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path d="M5,17H1.5a.5.5,0,0,1-.5-.5V1.5A.5.5,0,0,1,1.5,1H5Z" /><path d="M8.71,15.4685a1.8065,1.8065,0,0,1-1.11-1.665v-.607a1.806,1.806,0,0,1,1.11-1.665,1.807,1.807,0,0,1,.3875-1.974l.459-.4595a1.792,1.792,0,0,1,1.276-.5285c.057,0,.1115.0115.167.0165V1H7V17H8.773A1.81349,1.81349,0,0,1,8.71,15.4685Z" /><path d="M13.1965,7.6h.607A1.8065,1.8065,0,0,1,15.468,8.7095,1.77249,1.77249,0,0,1,17,8.7815V1.5a.5.5,0,0,0-.5-.5H13V7.63A1.70987,1.70987,0,0,1,13.1965,7.6Z" /><path d="M17.5965,12.893H16.534a3.0709,3.0709,0,0,0-.45-1.0895l.7565-.7565a.3035.3035,0,0,0,0-.429l-.46-.46a.3035.3035,0,0,0-.429,0l-.7555.757a3.07263,3.07263,0,0,0-1.089-.45V9.4035A.3035.3035,0,0,0,13.8035,9.1h-.607a.3035.3035,0,0,0-.3035.3035V10.466a3.07263,3.07263,0,0,0-1.089.45l-.7565-.7565a.3035.3035,0,0,0-.429,0l-.46.46a.3035.3035,0,0,0,0,.429l.7565.7565a3.0709,3.0709,0,0,0-.45,1.0895H9.4035A.3035.3035,0,0,0,9.1,13.198v.607a.3035.3035,0,0,0,.3035.3035H10.466a3.0709,3.0709,0,0,0,.45,1.0895l-.7565.7565a.3035.3035,0,0,0,0,.429l.46.46a.3035.3035,0,0,0,.429,0l.7565-.7565a3.07263,3.07263,0,0,0,1.089.45v1.0625a.3035.3035,0,0,0,.3035.3035h.607a.3035.3035,0,0,0,.3035-.3035V16.534a3.07263,3.07263,0,0,0,1.089-.45l.7565.7565a.3035.3035,0,0,0,.429,0l.46-.46a.3035.3035,0,0,0,0-.429l-.7575-.7555a3.0709,3.0709,0,0,0,.45-1.0895h1.0625a.3035.3035,0,0,0,.3035-.3035v-.6065a.3035.3035,0,0,0-.3035-.3035ZM13.5,15.25a1.75,1.75,0,1,1,1.75-1.75A1.75,1.75,0,0,1,13.5,15.25Z" /></svg>');
418
+ --saltToolbar-background: transparent;
419
+ --vuuView-borderStyle: solid;
420
+ --vuuColumnPicker-width: 100%;
421
+ --vuuColumnSettings-width: 50%;
422
+ background-color: var(--salt-container-primary-background);
423
+ display: flex;
424
+ flex-direction: column;
425
+ height: 442px;
426
+ width: 520px;
427
+ }
428
+ [data-icon=column-chooser] {
429
+ --vuu-icon-svg: var(--svg-column-chooser);
430
+ }
431
+ [data-icon=column-settings] {
432
+ --vuu-icon-svg: var(--svg-column-settings);
433
+ }
434
+ [data-icon=table-settings] {
435
+ --vuu-icon-svg: var(--svg-table-settings);
436
+ }
437
+ [data-icon=define-column] {
438
+ --vuu-icon-svg: var(--svg-function);
439
+ }
440
+ .vuuDatagridSettingsPanel-header {
441
+ flex: 0 0 50px;
442
+ }
443
+ .vuuDatagridSettingsPanel-stack {
444
+ flex: 1;
445
+ gap: 24px;
446
+ overflow: hidden;
447
+ }
448
+ .vuuDatagridSettingsPanel-stack > .saltToolbar {
449
+ --saltToolbar-background: var(--salt-container-secondary-background);
450
+ --vuu-icon-color: var(--salt-text-secondary-foreground);
451
+ --vuu-icon-size: 18px;
452
+ --vuu-icon-height: 36px;
453
+ --vuu-icon-width: 36px;
454
+ border-bottom: none;
455
+ }
456
+ .vuuDatagridSettingsPanel-stack > .saltToolbar .saltTabstrip {
457
+ --tabs-activationIndicator-inset: 0px auto 0px 1px;
458
+ }
459
+ .vuuDatagridSettingsPanel-stack > .saltToolbar .saltTab[aria-selected=true],
460
+ .vuuDatagridSettingsPanel-stack > .saltToolbar .saltTab:hover {
461
+ --vuu-icon-color: var(--salt-text-primary-foreground);
462
+ }
463
+ .vuuDatagridSettingsPanel-stack > .saltToolbar {
464
+ --saltToolbar-background: var(--salt-container-secondary-background);
465
+ }
466
+ .vuuDatagridSettingsPanel-columnPanels {
467
+ display: flex;
468
+ flex-flow: nowrap;
469
+ gap: calc(var(--salt-size-unit) * 1);
470
+ margin: var(--salt-size-unit) 0;
471
+ overflow: hidden;
472
+ position: relative;
473
+ }
474
+ .vuuDatagridSettingsPanel-columnPanels > * {
475
+ transition: .3s transform ease-out;
476
+ transform: translate3d(0px, 0px, 0px);
477
+ }
478
+ .vuuDatagridSettingsPanel-columnPanels[data-align=right] > * {
479
+ transform: translate3d(-235px, 0px, 0px);
480
+ }
481
+ .vuuDatagridSettingsPanel-columnToolbar {
482
+ --saltButton-width: 60px;
483
+ }
484
+ .vuuDatagridSettingsPanel-columnToolbar > .Responsive-inner {
485
+ align-items: center;
486
+ }
487
+ .vuuDatagridSettingsPanel-buttonBar {
488
+ align-items: center;
489
+ border-top: solid 1px var(--salt-separable-primary-borderColor);
490
+ display: flex;
491
+ flex: 0 0 40px;
492
+ gap: var(--salt-size-unit);
493
+ justify-content: flex-end;
494
+ padding: 0 var(--salt-size-unit);
495
+ }
496
+
497
+ /* src/datasource-stats/DatasourceStats.css */
498
+ .vuuDatasourceStats {
499
+ display: flex;
500
+ gap: var(--salt-size-unit);
501
+ }
502
+ /*# sourceMappingURL=index.css.map */
package/index.css.map ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css", "../../../packages/vuu-table-extras/src/cell-renderers/background-cell/FlashingBackground.css", "../../../packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-picker/ColumnListItem.css", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-picker/ColumnPicker.css", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-type-panel/ColumnTypePanel.css", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-settings-panel/ColumnSettingsPanel.css", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/settings-panel/GridSettingsPanel.css", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/calculated-column-panel/CalculatedColumnPanel.css", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/settings-panel/DatagridSettingsPanel.css", "../../../packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css"],
4
+ "sourcesContent": [".vuuTable td:has(> .vuuBackgroundCell){\n padding: 0;\n text-align: right;\n} \n\n.vuuBackgroundCell {\n padding-right: var(--salt-size-unit);\n position: relative;\n z-index: -1;\n}\n\n.vuuBackgroundCell-flasher {\n color: transparent;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: -1;\n}\n\n.vuuBackgroundCell-flasher {\n text-align: left;\n}\n.vuuBackgroundCell-flasher + .num {\n padding-left: 8px;\n}\n\n.right .vuuBackgroundCell-flasher {\n text-align: right;\n}\n.right .vuuBackgroundCell-flasher + .num {\n padding-right: 8px;\n}\n\n.up1 > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactbgup1;\n}\n\n.up2 > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactbgup2;\n}\n\n.down1 > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactbgdown1;\n}\n\n.down2 > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactbgdown2;\n}\n\n.up1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactarrowup1;\n}\n\n.up2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactarrowup2;\n}\n\n.down1.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactarrowdown1;\n}\n\n.down2.vuuBackgroundCell-arrowOnly > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactarrowdown2;\n}\n\n.up1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactbgarrowup1;\n}\n\n.up2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactbgarrowup2;\n}\n\n.down1.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactbgarrowdown1;\n}\n\n.down2.vuuBackgroundCell-arrowBackground > .vuuBackgroundCell-flasher {\n animation-duration: 30s;\n animation-name: reactbgarrowdown2;\n}\n", "@keyframes reactbgup1 {\n from {\n background-color: var(--salt-differential-positive-background);\n }\n to {\n background-color: transparent;\n }\n }\n \n @keyframes reactbgup2 {\n from {\n background-color: var(--salt-differential-positive-background);\n }\n to {\n background-color: transparent;\n }\n }\n \n @keyframes reactbgdown1 {\n from {\n background-color: var(--salt-differential-negative-background);\n }\n to {\n background-color: transparent;\n }\n }\n \n @keyframes reactbgdown2 {\n from {\n background-color: var(--salt-differential-negative-background);\n }\n to {\n background-color: transparent;\n }\n }\n \n @keyframes reactarrowup1 {\n from {\n color: var(--salt-differential-positive-foreground);\n }\n to {\n color: transparent;\n }\n }\n \n @keyframes reactarrowup2 {\n from {\n color: var(--salt-differential-positive-foreground);\n }\n to {\n color: transparent;\n }\n }\n \n @keyframes reactarrowdown1 {\n from {\n color: var(--salt-differential-negative-foreground);\n }\n to {\n color: transparent;\n }\n }\n \n @keyframes reactarrowdown2 {\n from {\n color: var(--salt-differential-negative-foreground);\n }\n to {\n color: transparent;\n }\n }\n \n @keyframes reactbgarrowup1 {\n 0% {\n color: var(--salt-differential-positive-foreground);\n background-color: var(--salt-differential-positive-background);\n }\n 20% {\n color: var(--salt-differential-positive-foreground);\n background-color: transparent;\n }\n 100% {\n color: transparent;\n background-color: transparent;\n }\n }\n \n @keyframes reactbgarrowup2 {\n 0% {\n color: var(--salt-differential-positive-foreground);\n background-color: var(--salt-differential-positive-background);\n }\n 20% {\n color: var(--salt-differential-positive-foreground);\n background-color: transparent;\n }\n 100% {\n color: transparent;\n background-color: transparent;\n }\n }\n \n @keyframes reactbgarrowdown1 {\n 0% {\n color: var(--salt-differential-negative-foreground);\n background-color: var(--salt-differential-negative-background);\n }\n 20% {\n color: var(--salt-differential-negative-foreground);\n background-color: transparent;\n }\n 100% {\n color: transparent;\n background-color: transparent;\n }\n }\n \n @keyframes reactbgarrowdown2 {\n 0% {\n color: var(--salt-differential-negative-foreground);\n background-color: var(--salt-differential-negative-background);\n }\n 20% {\n color: var(--salt-differential-negative-foreground);\n background-color: transparent;\n }\n 100% {\n color: transparent;\n background-color: transparent;\n }\n }\n ", "\n.vuuColumnExpressionInput {\n --vuuFilterEditor-background: var(--salt-container-primary-background);\n --vuuFilterEditor-color: var(--salt-text-primary-foreground);\n --vuuFilterEditor-fontFamily: var(--salt-typography-fontFamily);\n --vuuFilterEditor-fontSize: var(--salt-text-fontSize);\n --vuuFilterEditor-cursorColor: var(--salt-text-secondary-foreground);\n --vuuFilterEditor-selectionBackground: var(--salt-text-background-selected);\n --vuuFilterEditor-tooltipBackground: var(--salt-container-primary-background);\n --vuuFilterEditor-tooltipBorder: var(--tooltip-status-borderColor) var(--salt-container-borderWidth) var(--salt-container-borderStyle); \n --vuuFilterEditor-tooltipElevation: var(--salt-overlayable-shadow-popout);\n --vuuFilterEditor-suggestion-selectedBackground: var(--salt-selectable-background-selected);\n --vuuFilterEditor-suggestion-selectedColor: var(--salt-text-primary-foreground);\n --vuuFilterEditor-suggestion-detailColor: var(--salt-text-secondary-foreground-disabled);\n --vuuFilterEditor-suggestion-height: 24px;\n --vuuFilterEditor-variableColor: blue;\n\n align-items: center;\n box-sizing: border-box;\n height: 30px;\n}\n\n.vuuColumnExpressionInput-FilterButton,\n.vuuColumnExpressionInput-ClearButton {\n --vuu-icon-size: 12px;\n --saltButton-width: 28px;\n}\n\n.expression-type-container {\n margin: 0 3px 0 auto;\n color: var(--salt-text-secondary-foreground)\n}\n\n.expression-kind {\n display: inline-block;\n width: 50px;\n}\n\n.expression-type {\n display: inline-block;\n text-align: right;\n width: 50px;\n}\n\n.vuuSuggestion {\n display: flex;\n align-items: center;\n}\n\n\n.vuuFunctionDoc .function-heading {\n display: flex;\n gap: 3px;\n}\n\n.vuuFunctionDoc .function-name {\n font-style: italic;\n}\n\n.vuuFunctionDoc .param-list {\n font-style: italic;\n color: blue;\n white-space: pre;\n}\n\n.vuuFunctionDoc .function-type {\n margin-left: auto;\n}\n\n.vuuFunctionDoc .example-container {\n background-color: var(--salt-container-secondary-background);\n margin: 6px 0;\n padding: 3px;\n}\n\n.vuuFunctionDoc .example-expression {\n font-family: var(--salt-typography-fontFamily-code);\n margin-left: 8px;\n margin-top: 6px;\n}\n\n.vuuFunctionDoc .example-result {\n margin-left: 8px;\n margin-top: 6px;\n}", ".vuuColumnListItem {\n --svg-eye-hidden: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"none\" d=\"M0 0h24v24H0z\"/><path d=\"M4.52 5.934L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414-3.31-3.31A10.949 10.949 0 0 1 12 21c-5.392 0-9.878-3.88-10.819-9a10.982 10.982 0 0 1 3.34-6.066zm10.237 10.238l-1.464-1.464a3 3 0 0 1-4.001-4.001L7.828 9.243a5 5 0 0 0 6.929 6.929zM7.974 3.76C9.221 3.27 10.58 3 12 3c5.392 0 9.878 3.88 10.819 9a10.947 10.947 0 0 1-2.012 4.592l-3.86-3.86a5 5 0 0 0-5.68-5.68L7.974 3.761z\"/></svg>');\n align-items: center;\n padding: 0 !important;\n}\n\n.vuuColumnListItem-calculated {\n --vuu-icon-size: 12px;\n --column-icon-svg: var(--svg-function);\n --calculated-background: var(--salt-text-secondary-foreground);\n}\n.vuuColumnListItem-hidden {\n --vuu-icon-size: 14px;\n --hidden-background: var(--salt-text-secondary-foreground);\n --hidden-icon-svg: var(--svg-eye-hidden);\n}\n\n.vuuColumnListItem-label {\n flex: 1 1 auto;\n}\n.vuuColumnListItem-iconType {\n background-color: var(--calculated-background, transparent);\n display: inline-block;\n height: 100%;\n mask: var(--column-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n -webkit-mask: var(--column-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n -webkit-mask-repeat: no-repeat;\n width: 20px;\n }\n\n.vuuColumnListItem-iconHidden {\n background-color: var(--hidden-background, transparent);\n display: inline-block;\n height: 100%;\n mask: var(--hidden-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n -webkit-mask: var(--hidden-icon-svg) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n -webkit-mask-repeat: no-repeat;\n width: 20px;\n}", ".vuuColumnPicker {\n\n --vuu-icon-color: var(--salt-text-primary-foreground);\n --vuu-icon-left: 0px;\n --vuu-icon-size: 12px;\n\n display: flex;\n flex-shrink: 0;\n\n gap: calc(var(--salt-size-unit) * 2);\n width: var(--vuuColumnPicker-width, 100%);\n}\n\n.vuuColumnPicker-listColumn {\n display: flex;\n flex: 1;\n flex-direction: column;\n}\n\n.vuuColumnPicker-listContainer {\n border: solid 1px var(--salt-container-primary-borderColor);\n margin-right: var(--salt-size-unit)\n}\n\n.vuuColumnPicker-defineColumn {\n align-items: center;\n border-top: solid 1px var(--salt-container-primary-borderColor);\n display: flex;\n flex: 0 0 calc(100% - var(--salt-size-unit));\n gap: var(--salt-size-unit);\n transition: .2s height;\n margin-top: 12px;\n height: 48px;\n}\n\n[data-align='right'] .vuuColumnPicker-defineColumn {\n border-top: none;\n height: 0;\n}\n\n.vuuColumnPicker-addCalculatedColumn {\n margin-left: auto;\n margin-right: var(--salt-size-unit);\n width: 28px;\n}\n\n", ".vuuColumnTypePanel {\n --settings-panel-marginTop: 0px;\n}\n\n.vuuColumnTypePanel-renderer {\n --saltButton-background: var(--salt-container-secondary-background);\n --saltButton-background-hover: var(--salt-actionable-secondary-background-hover);\n}\n", ".vuuColumnSettingsPanel {\n --saltFormField-margin: 3px 0;\n --saltFormField-label-width: 80px;\n --saltPanel-padding: var(--salt-size-unit);\n align-items: flex-start;\n border-left: solid 1px var(--salt-container-primary-borderColor);\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n min-width: 220px;\n padding-left: calc(var(--salt-size-unit) * 2);\n width: var(--vuuColumnSettings-width, auto);\n\n}\n\n.vuuColumnSettingsPanel-columnTabs {\n --saltFormField-margin: 0;\n}\n\n.vuuColumnSettingsPanel-columnTabs .saltFormField {\n margin-left: 0 !important;\n}\n\n.vuuColumnSettingsPanel .saltPanel {\n --saltFormField-margin: 3px 0;\n margin-top: var(--settings-panel-marginTop, var(--salt-size-unit));\n\n align-items: stretch;\n display: flex;\n flex-direction: column;\n gap: var(--salt-size-unit);\n\n}\n\n.vuuColumnPanelSwitch {\n white-space: nowrap;\n width: 100%;\n}\n\n.vuuColumnSettingsPanel .saltSwitch {\n margin-left: auto;;\n}\n", ".vuuGridSettingsPanel {\n --saltFormField-label-width: 150px;\n}", ".vuuCalculatedColumnPanel {\n display: flex;\n flex-direction: column;\n gap: var(--salt-size-unit);\n}", ".vuuDialog-gridConfig {\n \n}\n\n \n\n .vuuDatagridSettingsPanel {\n --svg-table-settings: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><rect height=\"3\" width=\"5\" x=\"1\" y=\"10\" /><rect height=\"3\" width=\"5\" x=\"1\" y=\"6\" /><rect height=\"3\" width=\"10\" x=\"7\" y=\"10\" /><rect height=\"3\" width=\"10\" x=\"7\" y=\"6\" /><path d=\"M6,17H1.5a.5.5,0,0,1-.5-.5V14H6Z\" /><path d=\"M16.5,17H7V14H17v2.5A.5.5,0,0,1,16.5,17Z\" /><path d=\"M16.5,1H1.5a.5.5,0,0,0-.5.5V5H17V1.5A.5.5,0,0,0,16.5,1Z\" /></svg>');\n --svg-column-chooser: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M16,1H10V17h6a1,1,0,0,0,1-1V2A1,1,0,0,0,16,1Z\" /><path d=\"M8,1H2A1,1,0,0,0,1,2V16a1,1,0,0,0,1,1H8Z\" /></svg>');\n --svg-column-settings: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\"><path d=\"M5,17H1.5a.5.5,0,0,1-.5-.5V1.5A.5.5,0,0,1,1.5,1H5Z\" /><path d=\"M8.71,15.4685a1.8065,1.8065,0,0,1-1.11-1.665v-.607a1.806,1.806,0,0,1,1.11-1.665,1.807,1.807,0,0,1,.3875-1.974l.459-.4595a1.792,1.792,0,0,1,1.276-.5285c.057,0,.1115.0115.167.0165V1H7V17H8.773A1.81349,1.81349,0,0,1,8.71,15.4685Z\" /><path d=\"M13.1965,7.6h.607A1.8065,1.8065,0,0,1,15.468,8.7095,1.77249,1.77249,0,0,1,17,8.7815V1.5a.5.5,0,0,0-.5-.5H13V7.63A1.70987,1.70987,0,0,1,13.1965,7.6Z\" /><path d=\"M17.5965,12.893H16.534a3.0709,3.0709,0,0,0-.45-1.0895l.7565-.7565a.3035.3035,0,0,0,0-.429l-.46-.46a.3035.3035,0,0,0-.429,0l-.7555.757a3.07263,3.07263,0,0,0-1.089-.45V9.4035A.3035.3035,0,0,0,13.8035,9.1h-.607a.3035.3035,0,0,0-.3035.3035V10.466a3.07263,3.07263,0,0,0-1.089.45l-.7565-.7565a.3035.3035,0,0,0-.429,0l-.46.46a.3035.3035,0,0,0,0,.429l.7565.7565a3.0709,3.0709,0,0,0-.45,1.0895H9.4035A.3035.3035,0,0,0,9.1,13.198v.607a.3035.3035,0,0,0,.3035.3035H10.466a3.0709,3.0709,0,0,0,.45,1.0895l-.7565.7565a.3035.3035,0,0,0,0,.429l.46.46a.3035.3035,0,0,0,.429,0l.7565-.7565a3.07263,3.07263,0,0,0,1.089.45v1.0625a.3035.3035,0,0,0,.3035.3035h.607a.3035.3035,0,0,0,.3035-.3035V16.534a3.07263,3.07263,0,0,0,1.089-.45l.7565.7565a.3035.3035,0,0,0,.429,0l.46-.46a.3035.3035,0,0,0,0-.429l-.7575-.7555a3.0709,3.0709,0,0,0,.45-1.0895h1.0625a.3035.3035,0,0,0,.3035-.3035v-.6065a.3035.3035,0,0,0-.3035-.3035ZM13.5,15.25a1.75,1.75,0,1,1,1.75-1.75A1.75,1.75,0,0,1,13.5,15.25Z\" /></svg>');\n\n\n \n\n --saltToolbar-background : transparent;\n --vuuView-borderStyle: solid;\n --vuuColumnPicker-width: 100%;\n --vuuColumnSettings-width: 50%;\n background-color: var(--salt-container-primary-background);\n display: flex;\n flex-direction: column;\n height: 442px;\n width: 520px;\n}\n\n[data-icon='column-chooser']{\n --vuu-icon-svg: var(--svg-column-chooser);\n}\n[data-icon='column-settings']{\n --vuu-icon-svg: var(--svg-column-settings);\n}\n[data-icon='table-settings']{\n --vuu-icon-svg: var(--svg-table-settings);\n}\n[data-icon='define-column']{\n --vuu-icon-svg: var(--svg-function);\n}\n\n.vuuDatagridSettingsPanel-header {\nflex: 0 0 50px;\n}\n\n.vuuDatagridSettingsPanel-stack {\n flex: 1;\n gap: 24px;\n overflow: hidden;\n\n}\n\n.vuuDatagridSettingsPanel-stack > .saltToolbar {\n --saltToolbar-background: var(--salt-container-secondary-background);\n --vuu-icon-color: var(--salt-text-secondary-foreground);\n --vuu-icon-size: 18px;\n --vuu-icon-height: 36px;\n --vuu-icon-width: 36px;\n border-bottom: none;\n}\n\n.vuuDatagridSettingsPanel-stack > .saltToolbar .saltTabstrip {\n --tabs-activationIndicator-inset: 0px auto 0px 1px;\n}\n\n.vuuDatagridSettingsPanel-stack > .saltToolbar .saltTab[aria-selected='true'],\n.vuuDatagridSettingsPanel-stack > .saltToolbar .saltTab:hover{\n --vuu-icon-color: var(--salt-text-primary-foreground);\n \n}\n\n.vuuDatagridSettingsPanel-stack > .saltToolbar {\n --saltToolbar-background: var(--salt-container-secondary-background);\n}\n\n.vuuDatagridSettingsPanel-columnPanels {\n display: flex;\n flex-flow: nowrap;\n gap: calc(var(--salt-size-unit) * 1);\n margin: var(--salt-size-unit) 0;\n overflow: hidden;\n position: relative;\n /* margin: calc(var(--salt-size-unit) * 3); */\n}\n\n.vuuDatagridSettingsPanel-columnPanels > * {\n transition: .3s transform ease-out;\n transform: translate3d(0px, 0px, 0px);\n}\n\n.vuuDatagridSettingsPanel-columnPanels[data-align='right'] > * {\n transform: translate3d(-235px, 0px, 0px);\n}\n\n\n.vuuDatagridSettingsPanel-columnToolbar {\n --saltButton-width: 60px;\n}\n\n.vuuDatagridSettingsPanel-columnToolbar > .Responsive-inner {\n align-items: center;\n}\n\n.vuuDatagridSettingsPanel-buttonBar {\n align-items: center;\n border-top: solid 1px var(--salt-separable-primary-borderColor);\n display: flex;\n flex: 0 0 40px;\n gap: var(--salt-size-unit);\n justify-content: flex-end; \n padding: 0 var(--salt-size-unit);\n}\n ", ".vuuDatasourceStats {\n display: flex;\n gap: var(--salt-size-unit);\n}"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@vuu-ui/vuu-table-extras",
3
+ "version": "0.6.14-debug",
4
+ "author": "heswell",
5
+ "license": "Apache-2.0",
6
+ "devDependencies": {
7
+ "@vuu-ui/vuu-filter-types": "0.6.14-debug",
8
+ "@vuu-ui/vuu-protocol-types": "0.6.14-debug"
9
+ },
10
+ "peerDependencies": {
11
+ "@vuu-ui/vuu-codemirror": "0.6.14-debug",
12
+ "@vuu-ui/vuu-data": "0.6.14-debug",
13
+ "@vuu-ui/vuu-layout": "0.6.14-debug",
14
+ "@vuu-ui/vuu-popups": "0.6.14-debug",
15
+ "@vuu-ui/vuu-utils": "0.6.14-debug",
16
+ "@heswell/salt-lab": "1.0.0-alpha.2",
17
+ "@salt-ds/core": "1.2.0",
18
+ "classnames": "^2.2.6",
19
+ "react": "^17.0.2",
20
+ "react-dom": "^17.0.2"
21
+ },
22
+ "type": "module",
23
+ "files": [
24
+ "cjs",
25
+ "esm",
26
+ "index.css",
27
+ "index.css.map",
28
+ "/types"
29
+ ],
30
+ "module": "esm/index.js",
31
+ "main": "cjs/index.js",
32
+ "types": "types/index.d.ts"
33
+ }
@@ -0,0 +1,2 @@
1
+ import "./BackgroundCell.css";
2
+ import "./FlashingBackground.css";
@@ -0,0 +1 @@
1
+ export * from "./BackgroundCell";
@@ -0,0 +1,3 @@
1
+ import { KeyedColumnDescriptor } from "@vuu-ui/vuu-datagrid-types";
2
+ import { valueChangeDirection } from "@vuu-ui/vuu-utils";
3
+ export declare function useDirection(key: string, value: unknown, column: KeyedColumnDescriptor): valueChangeDirection;
@@ -0,0 +1 @@
1
+ export * from "./background-cell";
@@ -0,0 +1,9 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { ExpressionSuggestionConsumer } from "./useColumnExpressionEditor";
3
+ import "./ColumnExpressionInput.css";
4
+ import { ColumnDefinitionExpression } from "./column-language-parser";
5
+ export interface ColumnExpressionInputProps extends ExpressionSuggestionConsumer, Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
6
+ onChange?: (source: string, expression: ColumnDefinitionExpression | undefined) => void;
7
+ onSubmitExpression?: (source: string, expression: ColumnDefinitionExpression | undefined) => void;
8
+ }
9
+ export declare const ColumnExpressionInput: ({ onChange, onSubmitExpression, suggestionProvider, }: ColumnExpressionInputProps) => JSX.Element;
@@ -0,0 +1,15 @@
1
+ export type ColumnFunctionDescriptor = {
2
+ accepts: "string" | "number" | "any" | Array<"string" | "number">;
3
+ description: string;
4
+ example: {
5
+ expression: string;
6
+ result: string;
7
+ };
8
+ name: string;
9
+ params: {
10
+ count?: number;
11
+ description: string;
12
+ };
13
+ type: "string" | "number" | "boolean" | "variable";
14
+ };
15
+ export declare const columnFunctionDescriptors: ColumnFunctionDescriptor[];
@@ -0,0 +1,2 @@
1
+ import { LanguageSupport } from "@vuu-ui/vuu-codemirror";
2
+ export declare const columnExpressionLanguageSupport: () => LanguageSupport;