@vuu-ui/vuu-table-extras 0.8.7-debug → 0.8.8-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.
- package/cjs/index.js +1034 -654
- package/cjs/index.js.map +4 -4
- package/esm/index.js +1160 -671
- package/esm/index.js.map +4 -4
- package/index.css +813 -107
- package/index.css.map +3 -3
- package/package.json +13 -13
- package/types/vuu-data/src/array-data-source/array-data-source.d.ts +65 -0
- package/types/vuu-data/src/array-data-source/group-utils.d.ts +10 -0
- package/types/vuu-data/src/array-data-source/sort-utils.d.ts +4 -0
- package/types/vuu-data/src/authenticate.d.ts +1 -0
- package/types/vuu-data/src/connection-manager.d.ts +46 -0
- package/types/vuu-data/src/connectionTypes.d.ts +5 -0
- package/types/vuu-data/src/constants.d.ts +41 -0
- package/types/vuu-data/src/data-source.d.ts +172 -0
- package/types/vuu-data/src/index.d.ts +10 -0
- package/types/vuu-data/src/inlined-worker.d.ts +1 -0
- package/types/vuu-data/src/json-data-source.d.ts +53 -0
- package/types/vuu-data/src/message-utils.d.ts +26 -0
- package/types/vuu-data/src/remote-data-source.d.ts +56 -0
- package/types/vuu-data/src/server-proxy/messages.d.ts +43 -0
- package/types/vuu-data/src/vuuUIMessageTypes.d.ts +202 -0
- package/types/vuu-data/src/websocket-connection.d.ts +25 -0
- package/types/vuu-table-extras/src/column-list/ColumnList.d.ts +12 -0
- package/types/vuu-table-extras/src/column-list/index.d.ts +1 -0
- package/types/{index.d.ts → vuu-table-extras/src/index.d.ts} +1 -0
- package/types/vuu-table-extras/src/table-settings/TableSettingsPanel.d.ts +15 -0
- package/types/vuu-table-extras/src/table-settings/index.d.ts +2 -0
- package/types/vuu-table-extras/src/table-settings/useTableSettings.d.ts +14 -0
- package/types/table-settings/column-picker/ColumnListItem.d.ts +0 -4
- package/types/table-settings/column-picker/ColumnPicker.d.ts +0 -13
- package/types/table-settings/column-picker/index.d.ts +0 -1
- /package/types/{cell-renderers → vuu-table-extras/src/cell-renderers}/background-cell/BackgroundCell.d.ts +0 -0
- /package/types/{cell-renderers → vuu-table-extras/src/cell-renderers}/background-cell/index.d.ts +0 -0
- /package/types/{cell-renderers → vuu-table-extras/src/cell-renderers}/background-cell/useDirection.d.ts +0 -0
- /package/types/{cell-renderers → vuu-table-extras/src/cell-renderers}/index.d.ts +0 -0
- /package/types/{cell-renderers → vuu-table-extras/src/cell-renderers}/progress-cell/ProgressCell.d.ts +0 -0
- /package/types/{cell-renderers → vuu-table-extras/src/cell-renderers}/progress-cell/index.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/ColumnExpressionInput.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/column-function-descriptors.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/column-language-parser/ColumnExpressionLanguage.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/column-language-parser/ColumnExpressionTreeWalker.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/column-language-parser/column-expression-parse-utils.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/column-language-parser/generated/column-parser.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/column-language-parser/generated/column-parser.terms.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/column-language-parser/index.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/column-language-parser/test.d.mts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/functionDocInfo.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/highlighting.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/index.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/theme.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/useColumnAutoComplete.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/useColumnExpressionEditor.d.ts +0 -0
- /package/types/{column-expression-input → vuu-table-extras/src/column-expression-input}/useColumnExpressionSuggestionProvider.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/calculated-column-panel/CalculatedColumnPanel.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/calculated-column-panel/index.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-picker/ColumnListItem.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-picker/ColumnPicker.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-picker/index.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-settings-panel/ColumnSettingsPanel.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-settings-panel/index.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-type-panel/ColumnTypePanel.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-type-panel/NumericColumnPanel.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-type-panel/StringColumnPanel.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/column-type-panel/index.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/index.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/settings-panel/DatagridSettingsPanel.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/settings-panel/GridSettingsPanel.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/settings-panel/index.d.ts +0 -0
- /package/types/{datagrid-configuration-ui → vuu-table-extras/src/datagrid-configuration-ui}/settings-panel/useGridSettings.d.ts +0 -0
- /package/types/{datasource-stats → vuu-table-extras/src/datasource-stats}/DatasourceStats.d.ts +0 -0
- /package/types/{datasource-stats → vuu-table-extras/src/datasource-stats}/index.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/calculated-column-panel/CalculatedColumnPanel.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/calculated-column-panel/index.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/column-settings-panel/ColumnSettingsPanel.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/column-settings-panel/index.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/column-type-panel/ColumnTypePanel.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/column-type-panel/NumericColumnPanel.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/column-type-panel/StringColumnPanel.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/column-type-panel/index.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/index.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/settings-panel/DatagridSettingsPanel.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/settings-panel/GridSettingsPanel.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/settings-panel/index.d.ts +0 -0
- /package/types/{table-settings → vuu-table-extras/src/table-settings-deprecated}/settings-panel/useGridSettings.d.ts +0 -0
package/index.css.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
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/cell-renderers/progress-cell/ProgressCell.css", "../../../packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css", "../../../packages/vuu-table-extras/src/datagrid-configuration-ui/column-
|
|
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 ", ".vuuProgressCell {\n align-items: center;\n display: flex;\n}\n\n.vuuProgressCell-track {\n display: inline-block;\n flex: auto 1 1;\n height: 4px;\n overflow: hidden;\n position: relative;\n}\n\n.vuuProgressCell-bg {\n background-color: var(--salt-measured-background);\n display: inline-block;\n height: 2px;\n left: 0;\n position: absolute;\n top: 1px;\n width: 100%;\n}\n\n\n.vuuProgressCell-bar {\n background-color: var(--salt-measured-fill);\n display: inline-block;\n height: 100%;\n left: 0;\n position: absolute;\n top:0;\n transform: translateX(var(--progress-bar-pct, -100%));\n width: 100%;\n}\n\n.vuuProgressCell-text {\n flex: 35px 0 0;\n text-align: right;\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}", ".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"],
|
|
5
|
-
"mappings": ";AAAA;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;AC5FF;AAAA;AAEM;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;;;AChIN;AACG;AACA;AAAA;AAGH;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;;;ACpCJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAGJ;AAAA;AAEI;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAIJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;;;ACnFJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;
|
|
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/cell-renderers/progress-cell/ProgressCell.css", "../../../packages/vuu-table-extras/src/column-list/ColumnList.css", "../../../packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.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", "../../../packages/vuu-table/src/table/ColumnResizer.css", "../../../packages/vuu-table/src/table/TableCell.css", "../../../packages/vuu-table/src/table/TableGroupCell.css", "../../../packages/vuu-table/src/table/TableRow.css", "../../../packages/vuu-table/src/table/TableGroupHeaderCell.css", "../../../packages/vuu-table/src/table/SortIndicator.css", "../../../packages/vuu-table/src/table/TableHeaderCell.css", "../../../packages/vuu-table/src/table/filter-indicator.css", "../../../packages/vuu-table/src/table/RowBasedTable.css", "../../../packages/vuu-table/src/table/Table.css", "../../../packages/vuu-table/src/table/Table-loading.css", "../../../packages/vuu-table/src/table/cell-renderers/json-cell/JsonCell.css", "../../../packages/vuu-table/src/table-next/ColumnMenu.css", "../../../packages/vuu-table/src/table-next/column-resizing/ColumnResizer.css", "../../../packages/vuu-table/src/table-next/HeaderCell.css", "../../../packages/vuu-table/src/table-next/Row.css", "../../../packages/vuu-table/src/table-next/TableNext.css", "../../../packages/vuu-table-extras/src/table-settings/TableSettingsPanel.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 ", ".vuuProgressCell {\n align-items: center;\n display: flex;\n}\n\n.vuuProgressCell-track {\n display: inline-block;\n flex: auto 1 1;\n height: 4px;\n overflow: hidden;\n position: relative;\n}\n\n.vuuProgressCell-bg {\n background-color: var(--salt-measured-background);\n display: inline-block;\n height: 2px;\n left: 0;\n position: absolute;\n top: 1px;\n width: 100%;\n}\n\n\n.vuuProgressCell-bar {\n background-color: var(--salt-measured-fill);\n display: inline-block;\n height: 100%;\n left: 0;\n position: absolute;\n top:0;\n transform: translateX(var(--progress-bar-pct, -100%));\n width: 100%;\n}\n\n.vuuProgressCell-text {\n flex: 35px 0 0;\n text-align: right;\n}", "\n.vuuColumnList {\n --vuuList-borderStyle: none;\n --vuuListItem-padding: 0;\n\n width: 252px;\n}\n\n.vuuColumnListItem {\n border-bottom: solid 1px var(--salt-separable-tertiary-borderColor);\n padding: 0 6px 0 0;\n}\n\n.vuuColumnList-switch {\n flex: 0 0 32px;\n}\n\n.vuuColumnList-text {\n flex: 1 1 auto;\n}\n\n.vuuColumnList-checkBox {\n flex: 0 0 20px;\n}\n\n.vuuColumnList-header {\n border-top: solid 2px var(--vuu-color-gray-30);\n font-size: 14px;\n font-weight: 600;\n padding-top: 24px;\n\n}\n\n.vuuColumnList-colHeadings {\n border-bottom: solid 2px var(--vuu-color-gray-30);\n color: var(--vuu-color-gray-50);\n display: flex;\n font-size: 10px;\n justify-content: space-between;\n margin-top: 16px;\n padding-bottom: 8px;\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}", ".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}", ".vuuColumnResizer {\n background-color: var(--columnResizer-color);\n cursor: col-resize;\n height: var(--header-height);\n position: relative;\n width: 4px;\n}\n\n.vuuColumnResizer:hover {\n --columnResizer-color: var(--salt-color-blue-500);\n}\n\n.vuuColumnResizer:after {\n content: '';\n position: absolute;\n width: var(--columnResizer-width, 1px);\n top: 0;\n bottom:0;\n right: -1px;\n background-color: var(--columnResizer-color, var(--salt-separable-tertiary-borderColor));\n height: var(--columnResizer-height, calc(100% + 1px));\n}", ".vuuTable {\n --cell-outline-width: 2px;\n user-select: none;\n}\n\n[role=\"cell\"] {\n display: inline-block;\n}\n\n[data-align=\"end\"] {\n margin-left: auto;\n}\n\n[data-align=\"end\"] + [data-align=\"end\"] {\n margin-left: 0;\n}\n\n \n.vuuTable-table [role=\"cell\"] {\n --saltEditableLabel-height: 17px;\n --saltInput-height: 17px;\n --saltInput-minHeight: 17px;\n\n border-right: 1px solid var(--vuuTableCell-border-rightColor);\n border-bottom: 1px solid var(--vuuTableCell-border-bottomColor);\n color: var(--salt-text-primary-foreground);\n cursor: default;\n height: var(--vuuTable-rowHeight);\n line-height: calc(var(--vuuTable-rowHeight) - 1px);\n overflow: hidden;\n padding: 0 5px;\n vertical-align: top;\n}\n\n\n.vuuTable-headerCell:focus,\n.vuuTable [role=\"cell\"]:focus {\n outline: var(--vuuTableCell-outline, dotted var(--salt-color-blue-400) var(--cell-outline-width));\n outline-offset: calc(var(--cell-outline-width) * -1);\n /** This is to achieve a white background to outline dashes */\n box-shadow: inset 0 0 0 var(--cell-outline-width) white;\n border-bottom: none;\n}\n\n.vuuTable-headerCell:focus .vuuTable-headerCell-inner{\n /** This is to achieve a white background to outline dashes */\n padding-bottom: var(--cell-outline-width);\n}\n\n.vuuTable-headerCell:not(.vuuTable-headerCell-resizing):focus .vuuTable-headerCell-inner{\n --columnResizer-color: transparent;\n}\n\n\n.vuuTable [role=\"cell\"]:focus {\n /** This is to achieve a white background to outline dashes */\n border-right: none;\n padding-bottom: 1px;\n}\n\n\n[role=\"cell\"][data-editable=\"true\"] {\n --salt-text-fontSize: 10px;\n --vuu-icon-size: 5px;\n position: relative;\n}\n\n[role=\"cell\"][data-editable=\"true\"]:after {\n top: 0;\n content: \"\";\n background-color: var(--salt-text-secondary-foreground, black);\n left: 0;\n height: var(--vuu-icon-height, var(--vuu-icon-size, 12px));\n -webkit-mask: var(--svg-corner-triangle) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask: var(--svg-corner-triangle) center center/var(--vuu-icon-size) var(--vuu-icon-size);\n mask-repeat: no-repeat;\n -webkit-mask-repeat: no-repeat;\n position: absolute;\n transform: rotate(180deg);\n width: var(--vuu-icon-width, var(--vuu-icon-size, 12px));\n }\n \n [role=\"cell\"]:focus[data-editable],\n [role=\"cell\"]:focus-within[data-editable],\n [role=\"cell\"]:has(.saltEditableLabel-editing) {\n outline: solid var(--salt-color-blue-400) 1px;\n background-color: white;\n outline-offset: -1px;\n}\n\n[role=\"cell\"]:focus[data-editable=\"true\"]:after,\n[role=\"cell\"]:has(.saltEditableLabel):after {\n /* background-color: black; */\n background-color: var(--salt-color-blue-400);\n left: 1px;\n top: 1px;\n}\n\n.vuuAlignRight {\n text-align: right;\n }\n ", ".vuuTableGroupCell {\n --spacer-width: 20px;\n --toggle-icon-transform: var(--row-toggle-icon-transform, none);\n --vuu-icon-width: 18px;\n\n align-items: center;\n display: inline-flex;\n}\n\n.vuuTableGroupCell-spacer {\n height: 100%;\n position: relative;\n width: var(--spacer-width);\n}\n\n.vuuTableGroupCell-spacer:after {\n background: var(--salt-container-primary-borderColor);\n content: '';\n position: absolute;\n top:0;\n bottom: -1px;\n /* left: calc(var(--spacer-width / 2)); */\n left: 9px;\n width: 1px;\n}\n\n.vuuTableGroupCell-toggle {\n transition: transform 0.25s;\n transform: var(--toggle-icon-transform);\n}\n\n\n/* .vuuTableGroupCell-toggle[data-icon='triangle-right']{\n --vuu-icon-svg: var(--svg-plus-box);\n}\n\n.vuuTableRow-expanded .vuuTableGroupCell-toggle[data-icon='triangle-right']{\n --vuu-icon-svg: var(--svg-minus-box);\n} */\n", " .vuuTableRow {\n --row-background: var(--table-background);\n position: absolute;\n top:0;\n }\n\n .vuuTableRow-even {\n --row-background: var(--row-background-even);\n }\n\n /* .vuuTableRow :is(.vuuPinFloating, .vuuPinLeft, .vuuPinRight) {\n background-color: var(--row-background);\n } */\n .vuuTableRow {\n background-color: var(--row-background);\n }\n \n .vuuTableRow-expanded {\n --row-toggle-icon-transform: rotate(90deg);\n }\n \n .vuuTableRow[aria-selected] {\n background-color: var(--vuuTableRow-selected-background, var(--salt-selectable-background-selected));\n --vuuTableCell-border-bottomColor: var(--salt-selectable-borderColor-selected);\n }\n\n /* .vuuTableRow:not([aria-selected]):has(+ [aria-selected]) {\n --vuuTableCell-border-bottomColor: var(--salt-selectable-borderColor-selected);\n } */\n\n .vuuTableRow-preSelected {\n --vuuTableCell-border-bottomColor: var(--salt-selectable-borderColor-selected);\n }", "\n.salt-theme {\n --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>');\n}\n\n.vuuTable-groupHeaderCell {\n --cell-align: 'flex-start';\n text-align: left;\n background: var(--dataTable-background);\n cursor: default;\n height: var(--vuuTableHeaderHeight);\n /* ensure header row sits atop everything else when scrolling down */\n }\n\n\n .vuuTable-groupHeaderCell-inner {\n align-items: center;\n display: flex;\n height: 100%;\n padding-left: 1px;\n }\n\n .vuuTable-groupHeaderCell-label {\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n }\n\n .vuuTable-groupHeaderCell-col {\n align-items: center;\n background-color: inherit;\n display: inline-flex;\n flex: 0 1 auto;\n height: calc(var(--vuuTableHeaderHeight) - 2px);\n justify-content: space-between;\n padding-right: 8px;\n position: relative;\n }\n\n .vuuTable-groupHeaderCell-close {\n --vuu-icon-height: 18px;\n --vuu-icon-width: 18px;\n cursor: pointer;\n left: 3px;\n }\n\n .vuuTable-groupHeaderCell-col:nth-child(odd) {\n background-color: var(--salt-color-gray-50);\n }\n .vuuTable-groupHeaderCell-col:nth-child(even) {\n background-color: var(--salt-color-gray-40);\n }\n\n .vuuTable-groupHeaderCell-col:first-child {\n clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%);\n padding-left: 3px;\n z-index: 1;\n }\n \n .vuuTable-groupHeaderCell-col:not(:first-child) {\n margin-left: -6px;\n padding-left: 12px;\n clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%, 8px 50%);\n }\n \n .vuuTable-groupHeaderCell-resizing {\n --columnResizer-color: var(--salt-color-blue-500);\n --columnResizer-height: var(--table-height);\n --columnResizer-width: 2px;\n }\n .vuuTable-groupHeaderCell-pending {\n --pending-content: '';\n }\n\n .vuuTable-groupHeaderCell-col:has(+ .vuuColumnResizer):after {\n content: var(--pending-content);\n width: 24px;\n height:24px;\n background-image: var(--svg-spinner);\n background-repeat: no-repeat;\n background-size: cover;\n }\n", ".vuuSortIndicator {\n --menu-icon-size: 18px;\n --menu-item-icon-color: black;\n display: flex;\n flex-direction: column;\n position: relative;\n width: 18px;\n}\n\n.vuuSortPosition {\n font-size: 10px;\n line-height: 10px;\n text-align: center;\n}\n\n", "/* We support multi level headings up to a maximum of 4 heading levels */\n.vuuTable-heading:nth-child(2) {\n --heading-top: calc(var(--header-height));\n}\n.vuuTable-heading:nth-child(3) {\n --heading-top: calc(var(--header-height) * 2);\n}\n.vuuTable-heading:nth-child(3) {\n --heading-top: calc(var(--header-height) * 3);\n}\n\n.vuuTable-headingCell {\n background: var(--dataTable-background);\n border-color: var(--salt-separable-tertiary-borderColor);\n border-style: solid solid solid none;\n border-width: 1px;\n color: var(--salt-text-secondary-foreground);\n display: inline-block;\n height: var(--vuuTableHeaderHeight);\n padding: 0 !important;\n}\n\n.vuuTable-heading:has(+ .vuuTable-heading) > .vuuTable-headingCell {\n border-bottom-color: transparent;\n}\n\n[role=\"columnHeader\"] {\n --vuuTableCell-border-bottomColor: var(--salt-separable-tertiary-borderColor);\n --cell-align: 'flex-start';\n display: inline-block;\n text-align: left;\n background: var(--dataTable-background);\n border-right: 1px solid var(--vuuTableCell-border-rightColor);\n border-bottom: 1px solid var(--vuuTableCell-border-bottomColor);\n color: var(--salt-text-secondary-foreground);\n cursor: default;\n height: var(--vuuTableHeaderHeight);\n padding: 0 !important;\n vertical-align: top;\n }\n\n .vuuTable-headerCell-right {\n --cell-align: flex-end;\n }\n \n .vuuTable-headerCell-inner {\n align-items: stretch;\n display: flex;\n height: 100%;\n padding: 0 0 0 3px;\n }\n\n .vuuTable-headerCell-inner:has(.vuuFilterIndicator){\n padding-left: 0;\n }\n\n .vuuTable-headerCell-label {\n align-items: center;\n justify-content: var(--cell-align);\n display: flex;\n flex: 1 1 auto;\n }\n\n .vuuTable-headerCell-resizing {\n --columnResizer-color: var(--salt-color-blue-500);\n --columnResizer-height: var(--table-height);\n --columnResizer-width: 2px;\n }\n\n [role='headerCell'].vuuPinLeft.vuuEndPin:after {\n box-shadow: 2px 0px 5px rgba(0,0,0,0.4);\n content: \"\";\n position: absolute;\n width: 1px;\n background-color: transparent;\n height: var(--table-height);\n top:0;\n right: 0px;\n }\n\n [role='headerCell'].vuuPinRight.vuuEndPin:after {\n box-shadow: -2px 0px 5px rgba(0,0,0,0.3);\n content: \"\";\n position: absolute;\n width: 1px;\n background-color: transparent;\n height: var(--table-height);\n top:0;\n left: 0px;\n }\n\n [role='headerCell']:is(.vuuPinLeft, .vuuPinRight, .vuuPinFloating) {\n top:0;\n z-index: 20;\n }\n \n .saltDraggable-vuuTable-headerCell {\n --dataTable-background: ivory;\n --vuuTableHeaderHeight: 25px;\n }", ".vuuFilterIndicator {\n --menu-icon-size: 12px;\n --menu-item-icon-color: black;\n align-items: center;\n cursor: pointer;\n display: flex;\n flex: 0 0 18px;\n flex-direction: column;\n justify-content: center;\n position: relative;\n}\n\n.vuuFilterIndicator + .vuuTable-headerCell-inner {\n padding-left: 0;\n}\n", ".vuuTable-table {\n --vuuTable-rowHeight: var(--row-height);\n --vuuTableCell-border-bottomColor: transparent;\n --vuuTableCell-border-rightColor: var(--salt-separable-tertiary-borderColor);\n \n border-collapse: separate;\n border-spacing: 0;\n border-left: 1px solid #ccc;\n border: none;\n font-size: var(--vuuTable-font-size, 10px);\n margin: 0;\n min-height: 100%;\n width: var(--content-width);\n}\n \n.vuuTable-headers {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.vuuTable-body {\n height: var(--content-height);\n position: relative;\n}\n\n", "/**\n variables injected by Table component\n --content-height\n --content-width\n --header-height\n --horizontal-scrollbar-height\n --pinned-width-left\n --pinned-width-right\n --row-height\n --table-height\n --table-width\n --total-header-height\n --vertical-scrollbar-width\n --viewport-body-height\n*/\n.vuuTable {\n\n --dataTable-background: var(--salt-container-primary-background, inherit);\n --row-background-even: var(--dataTable-background);\n --row-background-odd: var(--dataTable-background);\n --table-background: var(--dataTable-background, none);\n\n background-color: var(--dataTable-background);\n position: relative;\n}\n\n.vuuTable-zebra {\n --row-background-even: var(--salt-container-secondary-background);\n}\n\n.vuuTable-scrollbarContainer {\n --scroll-content-width: calc(var(--content-width) - var(--pinned-width-left));\n border-bottom: none !important;\n border-top: none !important;\n border-left: solid 1px var(--salt-container-primary-borderColor);\n /* a top border */\n box-shadow: 0px -1px 0px 0px var(--salt-container-primary-borderColor);\n height: var(--viewport-body-height);\n left: var(--pinned-width-left);\n overflow: auto;\n position: absolute;\n top: var(--total-header-height);\n width: calc(var(--table-width) - var(--pinned-width-left) + 1px);\n}\n\n.vuuTable-scrollbarContent {\n height: calc(var(--content-height) + var(--horizontal-scrollbar-height));\n position: absolute;\n width: var(--scroll-content-width, var(--content-width));\n}\n\n.vuuTable-contentContainer {\n --vuuTableHeaderHeight: var(--header-height, 30px);\n\n background-color: var(--salt-container-primary-background);\n\n height: calc(var(--table-height) - var(--horizontal-scrollbar-height));\n position: relative;\n overflow: auto;\n overscroll-behavior: none;\n width: calc(var(--table-width) - var(--vertical-scrollbar-width));\n}\n\n.vuuTable-contentContainer::-webkit-scrollbar {\n display: none;\n}\n\n\n:is(.vuuPinLeft, .vuuPinRight, .vuuPinFloating) {\n background-color: inherit;\n position: sticky;\n z-index: 1;\n}\n\n.vuuTable-settings {\n --saltButton-height: var(--header-height);\n --saltButton-width: 15px;\n position: absolute !important;\n right: 0;\n top: 0;\n}\n\n.vuuTable:has(.vuuTable-headerCell-resizing) * {\n cursor: col-resize;\n}\n\n", ".vuuTable-loading .vuuTable-table {\n --skeleton-height: 20px;\n --skeleton-width: calc(var(--content-width) - 8px);\n --skeleton-left: 4px;\n --skeleton-row-height: 16px;\n --skeleton-size: var(--skeleton-width) var(--skeleton-height);\n --skeleton-row: linear-gradient(\n var(--salt-color-gray-20-fade-background) var(--skeleton-row-height),\n transparent 0\n );\n --skeleton-background-image: var(--skeleton-row);\n \n background-image: var(--skeleton-background-image);\n background-repeat: repeat-y;\n background-size: var(--skeleton-size);\n background-position-x: var(--skeleton-left);\n background-position-y: 27px;\n }\n \n .vuuTable-loading .vuuTable-table {\n --skeleton-height: 20px;\n --skeleton-width: calc(var(--content-width) - 8px);\n --skeleton-left: 4px;\n --skeleton-row-height: 16px;\n --skeleton-size: var(--skeleton-width) var(--skeleton-height);\n --skeleton-row: linear-gradient(\n var(--salt-color-gray-20-fade-background) var(--skeleton-row-height),\n transparent 0\n );\n --skeleton-background-image: var(--skeleton-row);\n \n background-image: var(--skeleton-background-image);\n background-repeat: repeat-y;\n background-size: var(--skeleton-size);\n background-position-x: var(--skeleton-left);\n background-position-y: 27px;\n \n /* animation:linearAnim 2s infinite linear */\n }\n \n .vuuTable-loading .vuuTable-table:after {\n animation: shimmer 2s infinite;\n background: linear-gradient(\n 90deg, \n rgba(255,255,255, 0) 0, \n rgba(255,255,255, .2) 20%, \n rgba(255,255,255, .6) 60%, \n rgba(255,255,255, 0)\n );\n content: '';\n height: var(--table-height);\n left: 0px;\n position: absolute;\n transform: translateX(-100%);\n top: var(--header-height);\n width: var(--content-width);\n }\n \n @keyframes shimmer {\n 100% {\n transform: translateX(100%);\n }\n }", ".vuuJsonCell-group {\n align-items: center;\n display: inline-flex;\n height: calc(var(--vuuTable-rowHeight) - 1px);\n width: 100%;\n}\n\n.vuuJsonCell-toggle {\n --vuu-icon-color: var(--salt-text-primary-foreground);\n --vuu-icon-height: calc(var(--vuuTable-rowHeight) - 1px);\n --vuu-icon-width: 18px;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.vuuJsonCell-name {\n font-weight: var(--salt-typography-fontWeight-semiBold); \n}\n\n.vuuJsonCell-value {\n overflow: hidden;\n text-overflow: ellipsis;\n}", ".vuuMenuItem {\n --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>');\n}\n.vuuTable-columnMenu {\n\n --vuu-icon-color: #606477;\n --vuu-icon-height: 20px;\n --vuu-icon-left: 0px;\n --vuu-icon-size: 16px;\n --vuu-icon-top: 0px;\n --vuu-icon-width: 20px;\n\n border-radius: 4px;\n cursor: pointer;\n display: inline-block;\n margin-top: 2px;\n padding: 2px;\n}\n\n.vuuTable-columnMenu:hover {\n --vuu-icon-color: #15171B;\n background-color: #F37880;\n}\n\n.vuuTable-columnMenu-open:hover,\n.vuuTable-columnMenu-open {\n background-color: #6D18BD;\n --vuu-icon-color: white;\n\n}\n\n[data-icon='cog'] {\n --vuu-icon-svg: var(--vuu-svg-cog);\n --vuu-icon-size: 14px;\n }\n ", ".vuuColumnResizer {\n background-color: var(--columnResizer-color);\n cursor: col-resize;\n height: var(--header-height);\n position: relative;\n width: 4px;\n}\n\n.vuuColumnResizer:hover {\n --columnResizer-color: var(--salt-color-blue-500);\n}\n\n.vuuColumnResizer:after {\n content: '';\n position: absolute;\n width: var(--columnResizer-width, 1px);\n top: 0;\n bottom:0;\n right: -1px;\n background-color: var(--columnResizer-color, var(--salt-separable-tertiary-borderColor));\n height: var(--columnResizer-height, calc(100% + 1px));\n}", ".vuuTableNext-col-header {\n border-bottom: 1px solid #ccc;\n box-sizing: border-box;\n cursor: default;\n display: inline-flex;\n gap: 3px;\n height: var(--header-height);\n vertical-align: top;\n }\n\n .vuuTableNext-col-header .vuuColumnResizer:hover {\n --columnResizer-color: var(--vuu-color-purple-10);\n}\n\n.vuuTableNext-col-header-label {\n line-height: calc(var(--header-height) - 1px);\n}\n\n\n .vuuTableNext-col-header.vuuPinLeft.vuuEndPin .vuuColumnResizer:before {\n --height: calc(var(--columnResizer-height) - 15px);\n --inset-r: calc(var(--pin-width) - 2px);\n --inset-b: calc(var(--height) - 2px);\n --clip-path: polygon(\n 0% 0%, \n 0% 120%, \n 2px 120%, \n 2px 2px, \n var(--inset-r) 2px, \n var(--inset-r) var(--inset-b), \n 2px var(--inset-b), \n 2px 120%, \n 120% 120%, \n 120% 0% \n );\n background-color: transparent;\n border-color: var(--vuu-color-gray-40);\n border-width: 1px;\n border-style: solid solid solid solid;\n /* border-radius: 0 6px 6px 0; */\n border-radius: 4px;\n box-shadow: 2px 1px 4px 0px rgba(0, 0, 0, 0.10);\n /* clip-path: inset(10px 10px 10px 10px); */\n clip-path: var(--clip-path);\n content: '';\n position: absolute;\n width: var(--pin-width);\n top:0;\n bottom:0;\n right: -1px;\n height: var(--height);\n z-index: -5;\n}\n\n.vuuTableNext-col-header.vuuPinRight.vuuEndPin .vuuColumnResizer:before {\n --height: calc(var(--columnResizer-height) - 15px);\n --inset-r: calc(var(--pin-width) - 2px);\n --inset-b: calc(var(--height) - 2px);\n --clip-path: polygon(\n -20% 0%, \n -20% 120%, \n 2px 120%, \n 2px 2px, \n var(--inset-r) 2px, \n var(--inset-r) var(--inset-b), \n 2px var(--inset-b), \n 2px 120%, \n 120% 120%, \n 120% 0% \n );\n background-color: transparent;\n border-color: #A9AAAD;\n border-width: 1px;\n border-style: solid solid solid solid;\n /* border-radius: 0 6px 6px 0; */\n border-radius: 4px;\n box-shadow: -2px 1px 4px 0px rgba(0, 0, 0, 0.10);\n /* clip-path: inset(10px 10px 10px 10px); */\n clip-path: var(--clip-path);\n content: '';\n position: absolute;\n width: var(--pin-width);\n top:0;\n bottom:0;\n right: 0px;\n height: var(--height);\n z-index: -5;\n}\n", ".vuuTableNextRow {\n background: #fff;\n border-bottom: 1px solid var(--salt-separable-tertiary-borderColor);\n box-sizing: border-box;\n height: var(--row-height);\n line-height: calc(var(--row-height) - 1px);\n position: absolute;\n top:0;\n white-space: nowrap;\n }\n \n .vuuTableNextRow-selected,\n .vuuTableNextRow-selectedEnd {\n /* background-color: rgb(133,133,137,.16); */\n background-color: rgb(235,235,236);\n }\n \n .vuuTableNextRow-selectedStart {\n --vuu-selection-decorator-left-radius: 5px 0 0 0;\n --vuu-selection-decorator-right-radius: 0 5px 0 0;\n border-radius: 5px 5px 0 0;\n }\n \n .vuuTableNextRow-selectedEnd {\n --vuu-selection-decorator-left-radius: 0 0 0 5px;\n --vuu-selection-decorator-right-radius: 0 0 5px 0;\n border-radius: 0 0 5px 5px;\n }\n \n .vuuTableNextRow-selectedStart.vuuTableNexRow-selectedEnd {\n --vuu-selection-decorator-left-radius: 5px 0 0 5px;\n --vuu-selection-decorator-right-radius: 0 5px 5px 0;\n border-radius: 5px 5px 5px 5px;\n \n }\n \n .vuuTableNextRow-selectedStart:after {\n content: '';\n position: absolute;\n top:0;\n left: 4px;\n height: 1px;\n background-color: var(--vuu-color-purple-10);\n width: calc(var(--content-width) - 8px);\n z-index: 1;\n }\n \n .vuuTableNextRow-selectedEnd {\n border-bottom-color: var(--vuu-color-purple-10);\n }\n \n .vuuTableNextRow-selectionDecorator {\n background-color: var(--vuu-selection-decorator-bg, inherit);\n display: inline-block;\n position: relative;\n height: var(--row-height);\n width: 4px;\n z-index: 2;\n }\n \n .vuuTableNextRow-selectionDecorator.vuuStickyLeft {\n left:0;\n position: sticky;\n }\n \n .vuuTableNextRow-selectionDecorator.vuuStickyRight {\n right:0;\n position: sticky;\n }\n \n .vuuTableNextRow-selected {\n --vuu-selection-decorator-bg: var(--vuu-color-purple-10);\n \n }\n \n .vuuTableNextRow-selectedStart {\n --vuu-selection-decorator-bg: white;\n }\n \n .vuuTableNextRow-selectedEnd {\n --vuu-selection-decorator-bg: white;\n }\n \n .vuuTableNextRow-selectedStart.vuuTableNextRow-selectedEnd {\n \n }\n \n .vuuTableNextRow-selectedStart .vuuTableNextRow-selectionDecorator:before,\n .vuuTableNextRow-selectedEnd .vuuTableNextRow-selectionDecorator:before {\n content: '';\n inset: 0;\n position: absolute;\n background-color: var(--vuu-color-purple-10);\n }\n \n \n .vuuTableNextRow-selectionDecorator.vuuStickyLeft:before {\n border-radius: var(--vuu-selection-decorator-left-radius, 0);\n }\n \n .vuuTableNextRow-selectionDecorator.vuuStickyRight:before {\n border-radius: var(--vuu-selection-decorator-right-radius, 0);\n }", ".vuuTableNext {\n --vuu-table-next-selection-bookend-width: 4px;\n --columnResizer-height: var(--table-height);\n --columnResizer-color: transparent;\n --table-background: var(--salt-container-primary-background);\n\n height: var(--table-css-height);\n background-color: red;\n position: relative;\n user-select: none;\n width: var(--table-css-width);\n}\n\n.vuuTableNext-scrollbarContainer {\n --scroll-content-width: 1100px;\n border-bottom: none !important;\n border-top: none !important;\n border-left: solid 1px var(--salt-container-primary-borderColor);\n /* a top border */\n box-shadow: 0px -1px 0px 0px var(--salt-container-primary-borderColor);\n height: var(--viewport-body-height);\n left: 0px;\n overflow: auto;\n position: absolute;\n top: var(--total-header-height);\n width: var(--table-width);\n}\n\n.vuuTableNext-scrollbarContent {\n height: calc(var(--content-height) + var(--horizontal-scrollbar-height));\n position: absolute;\n width: var(--content-width);\n}\n\n.vuuTableNext-contentContainer {\n background-color: var(--salt-container-primary-background);\n height: calc(var(--table-height) - var(--horizontal-scrollbar-height));\n position: relative;\n overflow: auto;\n overscroll-behavior: none;\n width: calc(var(--table-width) - var(--vertical-scrollbar-width));\n}\n\n.vuuTableNext-contentContainer::-webkit-scrollbar {\n display: none;\n}\n\n \n.vuuTableNext-table {\n position: absolute;\n top: 0;\n left: 0;\n table-layout: fixed;\n width: var(--content-width);\n margin: 0;\n border: none;\n background-color: #fff;\n border-collapse: separate;\n border-spacing: 0;\n}\n\n.vuuTableNext-body {\n height: var(--content-height)\n}\n\n.vuuTableNextCell {\n display: inline-block;\n padding: 0 8px;\n vertical-align: top;\n}\n\n.vuuPinLeft, .vuuPinRight {\n background-color: inherit;\n position: sticky;\n z-index: 1;\n}\n\n.vuuTableNext-col-headings {\n background-color: white;\n padding: 0 var(--vuu-table-next-selection-bookend-width, 0);\n\n position: sticky;\n top: 0;\n /* ensure header row sits atop everything else when scrolling down */\n z-index: 1;\n}\n\n .vuuTableNext-col-headers {\n background-color: var(--table-background);\n white-space: nowrap;\n }\n\n\n .sizer-cell {\n background-color: green !important;\n border: none !important;\n height: 0px;\n }\n ", ".vuuTableSettingsPanel {\n --vuu-svg-text-strikethrough: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 24\"><path d=\"M28.3333 9.33334C28.8867 9.33334 29.3333 8.88668 29.3333 8.33334C29.3333 7.78001 28.8867 7.33334 28.3333 7.33334H20.26L22.26 9.33334H23.48L23.1133 10.1867L24.5067 11.58L25.4733 9.33334H28.3333ZM27.6267 16.5867L18.7467 7.70668C18.4867 7.44668 18.0667 7.44668 17.8067 7.70668C17.5467 7.96668 17.5467 8.38668 17.8067 8.64668L21.98 12.82L20.88 15.38C20.62 15.9933 21.0667 16.6667 21.7267 16.6667C22.0933 16.6667 22.4267 16.4467 22.5733 16.1067L23.38 14.22L26.68 17.52C26.94 17.78 27.36 17.78 27.62 17.52C27.8867 17.2667 27.8867 16.8467 27.6267 16.5867Z\"/></svg>');\n --vuu-svg-text-Tt: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 24\"><path d=\"M17.6667 7.66666C17.6667 8.21999 18.1133 8.66666 18.6667 8.66666H21V15.6667C21 16.22 21.4467 16.6667 22 16.6667C22.5533 16.6667 23 16.22 23 15.6667V8.66666H25.3333C25.8867 8.66666 26.3333 8.21999 26.3333 7.66666C26.3333 7.11332 25.8867 6.66666 25.3333 6.66666H18.6667C18.1133 6.66666 17.6667 7.11332 17.6667 7.66666ZM29.3333 9.99999H25.3333C24.78 9.99999 24.3333 10.4467 24.3333 11C24.3333 11.5533 24.78 12 25.3333 12H26.3333V15.6667C26.3333 16.22 26.78 16.6667 27.3333 16.6667C27.8867 16.6667 28.3333 16.22 28.3333 15.6667V12H29.3333C29.8867 12 30.3333 11.5533 30.3333 11C30.3333 10.4467 29.8867 9.99999 29.3333 9.99999Z\" /></svg>');\n --vuu-svg-text-T: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 24\"><path d=\"M19.3333 7.66666C19.3333 8.21999 19.78 8.66666 20.3333 8.66666H23V15.6667C23 16.22 23.4467 16.6667 24 16.6667C24.5533 16.6667 25 16.22 25 15.6667V8.66666H27.6667C28.22 8.66666 28.6667 8.21999 28.6667 7.66666C28.6667 7.11332 28.22 6.66666 27.6667 6.66666H20.3333C19.78 6.66666 19.3333 7.11332 19.3333 7.66666Z\"/></svg>');\n\n display: flex;\n flex-direction: column;\n gap: 24px;\n height: 100%;\n padding-top: 24px;\n}\n\n\n.vuuTableSettingsPanel [data-icon=\"text-strikethrough\"]{\n --vuu-icon-svg: var(--vuu-svg-text-strikethrough);\n \n}\n.vuuTableSettingsPanel [data-icon=\"text-Tt\"]{\n --vuu-icon-svg: var(--vuu-svg-text-Tt);\n\n}\n.vuuTableSettingsPanel [data-icon=\"text-T\"]{\n --vuu-icon-svg: var(--vuu-svg-text-T);\n\n}\n\n\n"],
|
|
5
|
+
"mappings": ";AAAA;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;AC5FF;AAAA;AAEM;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;;;AChIN;AACG;AACA;AAAA;AAGH;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;;;ACpCJ;AACI;AACA;AAEA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AAAA;AAIJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACvCJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAGJ;AAAA;AAEI;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAIJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;;;ACnFJ;AACI;AAAA;AAGJ;AACI;AACA;AAAA;;;ACNJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AAEA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;;;ACxCJ;AACI;AAAA;;;ACDJ;AACI;AACA;AACA;AAAA;;;ACHJ;AAAA;AAME;AACE;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACA;AAAA;AAGA;AACI;AACA;AACA;AAAA;AAIJ;AACI;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AAAA;AAEI;AAAA;AAIJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;AAIJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;AC3GJ;AACI;AACA;AAAA;;;ACFJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACpBJ;AACI;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;AAIJ;AACI;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AAAA;AAEI;AACA;AAEA;AACA;AAAA;AAGJ;AAEI;AAAA;AAGJ;AACI;AAAA;AAIJ;AAEI;AACA;AAAA;AAIJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAAA;AAGE;AACA;AACA;AAAA;AAGJ;AAAA;AAGI;AACA;AACA;AAAA;AAGJ;AACI;AAAA;;;ACnGJ;AACI;AACA;AACA;AAEA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;;;AC5BF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAMF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAOF;AACE;AAAA;;;AC9BJ;AACC;AAAA;AAGD;AACE;AACE;AACA;AACA;AACA;AAAA;AAKF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;;;AChFJ;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;;;ACXF;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;AClGJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;;;ACbF;AACI;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;ACRF;AAEE;AACA;AACA;AACA;AAEA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;;;ACnFF;AACI;AACA;AACA;AACA;AACA;AACA;AAIA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAIA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAKF;AACE;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEI;AAAA;AAAA;;;AC5DN;AACI;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACM;AAAA;AAGN;AACI;AACA;AAAA;;;ACrBJ;AACI;AAAA;AAEJ;AAEI;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AACA;AAAA;AAGJ;AAAA;AAEI;AACA;AAAA;AAIJ;AACI;AACA;AAAA;;;ACjCJ;AACI;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACpBJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGJ;AACE;AAAA;AAIA;AACE;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACE;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACtFF;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAAA;AAGE;AAAA;AAGF;AACI;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAIJ;AACI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGJ;AACI;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAIA;AAAA;AAEE;AACA;AACA;AACA;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AAAA;;;ACrGR;AACE;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AAAA;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAEE;AACA;AAEA;AAAA;AAGF;AACE;AACA;AAAA;AAIF;AACE;AACA;AACA;AAAA;;;AChGJ;AACI;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAIJ;AACI;AAAA;AAGJ;AACI;AAAA;AAGJ;AACI;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vuu-ui/vuu-table-extras",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.8-debug",
|
|
4
4
|
"author": "heswell",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"devDependencies": {
|
|
7
|
-
"@vuu-ui/vuu-filter-types": "0.8.
|
|
8
|
-
"@vuu-ui/vuu-protocol-types": "0.8.
|
|
7
|
+
"@vuu-ui/vuu-filter-types": "0.8.8-debug",
|
|
8
|
+
"@vuu-ui/vuu-protocol-types": "0.8.8-debug"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@vuu-ui/vuu-codemirror": "0.8.
|
|
12
|
-
"@vuu-ui/vuu-data": "0.8.
|
|
13
|
-
"@vuu-ui/vuu-data-react": "0.8.
|
|
14
|
-
"@vuu-ui/vuu-datagrid-types": "0.8.
|
|
15
|
-
"@vuu-ui/vuu-layout": "0.8.
|
|
16
|
-
"@vuu-ui/vuu-popups": "0.8.
|
|
17
|
-
"@vuu-ui/vuu-utils": "0.8.
|
|
18
|
-
"@vuu-ui/vuu-ui-controls": "0.8.
|
|
11
|
+
"@vuu-ui/vuu-codemirror": "0.8.8-debug",
|
|
12
|
+
"@vuu-ui/vuu-data": "0.8.8-debug",
|
|
13
|
+
"@vuu-ui/vuu-data-react": "0.8.8-debug",
|
|
14
|
+
"@vuu-ui/vuu-datagrid-types": "0.8.8-debug",
|
|
15
|
+
"@vuu-ui/vuu-layout": "0.8.8-debug",
|
|
16
|
+
"@vuu-ui/vuu-popups": "0.8.8-debug",
|
|
17
|
+
"@vuu-ui/vuu-utils": "0.8.8-debug",
|
|
18
|
+
"@vuu-ui/vuu-ui-controls": "0.8.8-debug",
|
|
19
19
|
"@lezer/lr": "1.3.4",
|
|
20
|
-
"@salt-ds/core": "1.8.0
|
|
21
|
-
"@salt-ds/lab": "1.0.0-alpha.
|
|
20
|
+
"@salt-ds/core": "1.8.0",
|
|
21
|
+
"@salt-ds/lab": "1.0.0-alpha.15"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"classnames": "^2.2.6",
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { DataSourceFilter, DataSourceRow } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
import { ColumnDescriptor, Selection } from "@vuu-ui/vuu-datagrid-types";
|
|
3
|
+
import { ClientToServerEditRpc, ClientToServerMenuRPC, LinkDescriptorWithLabel, VuuAggregation, VuuGroupBy, VuuRange, VuuRowDataItemType, VuuSort } from "@vuu-ui/vuu-protocol-types";
|
|
4
|
+
import { EventEmitter } from "@vuu-ui/vuu-utils";
|
|
5
|
+
import { DataSource, DataSourceConstructorProps, DataSourceEvents, SubscribeCallback, SubscribeProps } from "../data-source";
|
|
6
|
+
import { MenuRpcResponse, VuuUIMessageInRPCEditReject, VuuUIMessageInRPCEditResponse } from "../vuuUIMessageTypes";
|
|
7
|
+
export interface ArrayDataSourceConstructorProps extends Omit<DataSourceConstructorProps, "bufferSize" | "table"> {
|
|
8
|
+
columnDescriptors: ColumnDescriptor[];
|
|
9
|
+
data: VuuRowDataItemType[][];
|
|
10
|
+
rangeChangeRowset?: "delta" | "full";
|
|
11
|
+
}
|
|
12
|
+
export declare class ArrayDataSource extends EventEmitter<DataSourceEvents> implements DataSource {
|
|
13
|
+
#private;
|
|
14
|
+
private columnDescriptors;
|
|
15
|
+
private status;
|
|
16
|
+
private disabled;
|
|
17
|
+
private filteredData;
|
|
18
|
+
private groupedData;
|
|
19
|
+
private sortedData;
|
|
20
|
+
private groupMap;
|
|
21
|
+
private selectedRows;
|
|
22
|
+
private suspended;
|
|
23
|
+
private clientCallback;
|
|
24
|
+
private tableSchema;
|
|
25
|
+
private lastRangeServed;
|
|
26
|
+
private rangeChangeRowset;
|
|
27
|
+
private openTreeNodes;
|
|
28
|
+
viewport: string;
|
|
29
|
+
private keys;
|
|
30
|
+
constructor({ aggregations, columnDescriptors, data, filter, groupBy, rangeChangeRowset, sort, title, viewport, }: ArrayDataSourceConstructorProps);
|
|
31
|
+
subscribe({ viewport, columns, aggregations, range, sort, groupBy, filter, }: SubscribeProps, callback: SubscribeCallback): Promise<void>;
|
|
32
|
+
unsubscribe(): void;
|
|
33
|
+
suspend(): this;
|
|
34
|
+
resume(): this;
|
|
35
|
+
disable(): this;
|
|
36
|
+
enable(): this;
|
|
37
|
+
select(selected: Selection): void;
|
|
38
|
+
openTreeNode(key: string): void;
|
|
39
|
+
closeTreeNode(key: string): void;
|
|
40
|
+
get data(): readonly DataSourceRow[];
|
|
41
|
+
get config(): undefined;
|
|
42
|
+
get selectedRowsCount(): number;
|
|
43
|
+
get size(): number;
|
|
44
|
+
get range(): VuuRange;
|
|
45
|
+
set range(range: VuuRange);
|
|
46
|
+
private setRange;
|
|
47
|
+
sendRowsToClient(forceFullRefresh?: boolean): void;
|
|
48
|
+
get columns(): string[];
|
|
49
|
+
set columns(columns: string[]);
|
|
50
|
+
get aggregations(): VuuAggregation[];
|
|
51
|
+
set aggregations(aggregations: VuuAggregation[]);
|
|
52
|
+
get sort(): VuuSort;
|
|
53
|
+
set sort(sort: VuuSort);
|
|
54
|
+
get filter(): DataSourceFilter;
|
|
55
|
+
set filter(filter: DataSourceFilter);
|
|
56
|
+
get groupBy(): VuuGroupBy;
|
|
57
|
+
set groupBy(groupBy: VuuGroupBy);
|
|
58
|
+
get title(): string | undefined;
|
|
59
|
+
set title(title: string | undefined);
|
|
60
|
+
createLink({ parentVpId, link: { fromColumn, toColumn }, }: LinkDescriptorWithLabel): void;
|
|
61
|
+
removeLink(): void;
|
|
62
|
+
private findRow;
|
|
63
|
+
private updateRow;
|
|
64
|
+
menuRpcCall(rpcRequest: Omit<ClientToServerMenuRPC, "vpId"> | ClientToServerEditRpc): Promise<MenuRpcResponse | VuuUIMessageInRPCEditReject | VuuUIMessageInRPCEditResponse | undefined>;
|
|
65
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DataSourceRow } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
import { VuuGroupBy } from "@vuu-ui/vuu-protocol-types";
|
|
3
|
+
import { ColumnMap } from "@vuu-ui/vuu-utils";
|
|
4
|
+
export type KeyList = number[];
|
|
5
|
+
export type GroupMap = {
|
|
6
|
+
[key: string]: GroupMap | KeyList;
|
|
7
|
+
};
|
|
8
|
+
export declare const collapseGroup: (key: string, groupedRows: readonly DataSourceRow[]) => DataSourceRow[];
|
|
9
|
+
export declare const expandGroup: (keys: string[], sourceRows: readonly DataSourceRow[], groupBy: VuuGroupBy, columnMap: ColumnMap, groupMap: GroupMap) => DataSourceRow[];
|
|
10
|
+
export declare const groupRows: (rows: readonly DataSourceRow[], groupBy: VuuGroupBy, columnMap: ColumnMap) => [DataSourceRow[], GroupMap];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DataSourceRow } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
import { VuuSort } from "@vuu-ui/vuu-protocol-types";
|
|
3
|
+
import { ColumnMap } from "@vuu-ui/vuu-utils";
|
|
4
|
+
export declare const sortRows: (rows: readonly DataSourceRow[], { sortDefs }: VuuSort, columnMap: ColumnMap) => DataSourceRow[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const authenticate: (username: string, password: string, authUrl?: string) => Promise<string | void>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ClientToServerMenuRPC, VuuRpcRequest, VuuTable, VuuTableList } from "@vuu-ui/vuu-protocol-types";
|
|
2
|
+
import { EventEmitter } from "@vuu-ui/vuu-utils";
|
|
3
|
+
import { DataSourceCallbackMessage } from "./data-source";
|
|
4
|
+
import { ConnectionStatusMessage, ServerProxySubscribeMessage, VuuUIMessageOut } from "./vuuUIMessageTypes";
|
|
5
|
+
import { ConnectionQualityMetrics } from "./vuuUIMessageTypes";
|
|
6
|
+
import { WebSocketProtocol } from "./websocket-connection";
|
|
7
|
+
import { TableSchema } from "./message-utils";
|
|
8
|
+
export declare const getServerAPI: () => Promise<ServerAPI>;
|
|
9
|
+
export type PostMessageToClientCallback = (msg: DataSourceCallbackMessage) => void;
|
|
10
|
+
export interface ServerAPI {
|
|
11
|
+
destroy: (viewportId?: string) => void;
|
|
12
|
+
getTableSchema: (table: VuuTable) => Promise<TableSchema>;
|
|
13
|
+
getTableList: () => Promise<VuuTableList>;
|
|
14
|
+
rpcCall: <T = unknown>(msg: VuuRpcRequest | ClientToServerMenuRPC) => Promise<T>;
|
|
15
|
+
send: (message: VuuUIMessageOut) => void;
|
|
16
|
+
subscribe: (message: ServerProxySubscribeMessage, callback: PostMessageToClientCallback) => void;
|
|
17
|
+
unsubscribe: (viewport: string) => void;
|
|
18
|
+
}
|
|
19
|
+
export type ConnectionEvents = {
|
|
20
|
+
"connection-status": (message: ConnectionStatusMessage) => void;
|
|
21
|
+
"connection-metrics": (message: ConnectionQualityMetrics) => void;
|
|
22
|
+
};
|
|
23
|
+
export type ConnectOptions = {
|
|
24
|
+
url: string;
|
|
25
|
+
authToken?: string;
|
|
26
|
+
username?: string;
|
|
27
|
+
protocol?: WebSocketProtocol;
|
|
28
|
+
};
|
|
29
|
+
declare class _ConnectionManager extends EventEmitter<ConnectionEvents> {
|
|
30
|
+
connect({ url, authToken, username, protocol, }: ConnectOptions): Promise<ServerAPI>;
|
|
31
|
+
destroy(): void;
|
|
32
|
+
}
|
|
33
|
+
export declare const ConnectionManager: _ConnectionManager;
|
|
34
|
+
/**
|
|
35
|
+
* Open a connection to the VuuServer. This method opens the websocket connection
|
|
36
|
+
* and logs in. It can be called from whichever client code has access to the auth
|
|
37
|
+
* token (eg. the login page, or just a hardcoded login script in a sample).
|
|
38
|
+
* This will unblock any DataSources which may have already tried to subscribe to data,
|
|
39
|
+
* but lacked access to the auth token.
|
|
40
|
+
*
|
|
41
|
+
* @param serverUrl
|
|
42
|
+
* @param token
|
|
43
|
+
*/
|
|
44
|
+
export declare const connectToServer: ({ url, protocol, authToken, username, }: ConnectOptions) => Promise<void>;
|
|
45
|
+
export declare const makeRpcCall: <T = unknown>(rpcRequest: VuuRpcRequest) => Promise<T>;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare const connectionId: {
|
|
2
|
+
readonly nextValue: number;
|
|
3
|
+
};
|
|
4
|
+
export declare const msgType: {
|
|
5
|
+
connect: string;
|
|
6
|
+
connectionStatus: string;
|
|
7
|
+
getFilterData: string;
|
|
8
|
+
rowData: string;
|
|
9
|
+
rowSet: string;
|
|
10
|
+
select: string;
|
|
11
|
+
selectAll: string;
|
|
12
|
+
selectNone: string;
|
|
13
|
+
selected: string;
|
|
14
|
+
snapshot: string;
|
|
15
|
+
update: string;
|
|
16
|
+
createLink: string;
|
|
17
|
+
disable: string;
|
|
18
|
+
enable: string;
|
|
19
|
+
suspend: string;
|
|
20
|
+
resume: string;
|
|
21
|
+
addSubscription: string;
|
|
22
|
+
closeTreeNode: string;
|
|
23
|
+
columnList: string;
|
|
24
|
+
data: string;
|
|
25
|
+
openTreeNode: string;
|
|
26
|
+
aggregate: string;
|
|
27
|
+
filter: string;
|
|
28
|
+
filterQuery: string;
|
|
29
|
+
filterData: string;
|
|
30
|
+
getSearchData: string;
|
|
31
|
+
groupBy: string;
|
|
32
|
+
modifySubscription: string;
|
|
33
|
+
searchData: string;
|
|
34
|
+
setGroupState: string;
|
|
35
|
+
size: string;
|
|
36
|
+
sort: string;
|
|
37
|
+
subscribed: string;
|
|
38
|
+
tableList: string;
|
|
39
|
+
unsubscribe: string;
|
|
40
|
+
viewRangeChanged: string;
|
|
41
|
+
};
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { DataSourceFilter, DataSourceRow } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
import { ColumnDescriptor, SelectionChangeHandler } from "@vuu-ui/vuu-datagrid-types";
|
|
3
|
+
import { ClientToServerEditRpc, ClientToServerMenuRPC, LinkDescriptorWithLabel, VuuAggregation, VuuColumns, VuuFilter, VuuGroupBy, VuuLinkDescriptor, VuuMenu, VuuRange, VuuSort, VuuTable } from "@vuu-ui/vuu-protocol-types";
|
|
4
|
+
import { EventEmitter } from "@vuu-ui/vuu-utils";
|
|
5
|
+
import { TableSchema } from "./message-utils";
|
|
6
|
+
import { MenuRpcResponse, VuuUIMessageInRPCEditReject, VuuUIMessageInRPCEditResponse } from "./vuuUIMessageTypes";
|
|
7
|
+
export interface MessageWithClientViewportId {
|
|
8
|
+
clientViewportId: string;
|
|
9
|
+
}
|
|
10
|
+
export interface DataSourceAggregateMessage extends MessageWithClientViewportId {
|
|
11
|
+
aggregations: VuuAggregation[];
|
|
12
|
+
type: "aggregate";
|
|
13
|
+
}
|
|
14
|
+
export type DataUpdateMode = "batch" | "update" | "size-only";
|
|
15
|
+
export interface DataSourceDataMessage extends MessageWithClientViewportId {
|
|
16
|
+
mode: DataUpdateMode;
|
|
17
|
+
rows?: DataSourceRow[];
|
|
18
|
+
size?: number;
|
|
19
|
+
type: "viewport-update";
|
|
20
|
+
}
|
|
21
|
+
export interface DataSourceDataSizeMessage extends MessageWithClientViewportId {
|
|
22
|
+
mode: "size-only";
|
|
23
|
+
size: number;
|
|
24
|
+
type: "viewport-update";
|
|
25
|
+
}
|
|
26
|
+
export interface DataSourceDebounceRequest extends MessageWithClientViewportId {
|
|
27
|
+
type: "debounce-begin";
|
|
28
|
+
}
|
|
29
|
+
export declare const isSizeOnly: (message: DataSourceCallbackMessage) => message is DataSourceDataSizeMessage;
|
|
30
|
+
export interface DataSourceDisabledMessage extends MessageWithClientViewportId {
|
|
31
|
+
type: "disabled";
|
|
32
|
+
}
|
|
33
|
+
export interface DataSourceEnabledMessage extends MessageWithClientViewportId {
|
|
34
|
+
type: "enabled";
|
|
35
|
+
}
|
|
36
|
+
export interface DataSourceColumnsMessage extends MessageWithClientViewportId {
|
|
37
|
+
type: "columns";
|
|
38
|
+
columns: VuuColumns;
|
|
39
|
+
}
|
|
40
|
+
export interface DataSourceFilterMessage extends MessageWithClientViewportId {
|
|
41
|
+
type: "filter";
|
|
42
|
+
filter: DataSourceFilter;
|
|
43
|
+
}
|
|
44
|
+
export interface DataSourceGroupByMessage extends MessageWithClientViewportId {
|
|
45
|
+
type: "groupBy";
|
|
46
|
+
groupBy: VuuGroupBy | undefined;
|
|
47
|
+
}
|
|
48
|
+
export interface DataSourceSetConfigMessage extends MessageWithClientViewportId {
|
|
49
|
+
type: "config";
|
|
50
|
+
config: WithFullConfig;
|
|
51
|
+
}
|
|
52
|
+
export interface DataSourceMenusMessage extends MessageWithClientViewportId {
|
|
53
|
+
type: "vuu-menu";
|
|
54
|
+
menu: VuuMenu;
|
|
55
|
+
}
|
|
56
|
+
export interface DataSourceSortMessage extends MessageWithClientViewportId {
|
|
57
|
+
type: "sort";
|
|
58
|
+
sort: VuuSort;
|
|
59
|
+
}
|
|
60
|
+
export type DataSourceConfigMessage = DataSourceAggregateMessage | DataSourceColumnsMessage | DataSourceFilterMessage | DataSourceGroupByMessage | DataSourceSortMessage | DataSourceSetConfigMessage;
|
|
61
|
+
export declare const toDataSourceConfig: (message: DataSourceConfigMessage) => DataSourceConfig;
|
|
62
|
+
type DataConfigPredicate = (config: DataSourceConfig, newConfig: DataSourceConfig) => boolean;
|
|
63
|
+
export declare const filterChanged: DataConfigPredicate;
|
|
64
|
+
export declare const hasGroupBy: (config?: DataSourceConfig) => config is WithGroupBy;
|
|
65
|
+
export declare const configChanged: (config: DataSourceConfig | undefined, newConfig: DataSourceConfig | undefined) => boolean;
|
|
66
|
+
export interface DataSourceSubscribedMessage extends MessageWithClientViewportId, MessageWithClientViewportId {
|
|
67
|
+
aggregations: VuuAggregation[];
|
|
68
|
+
columns: VuuColumns;
|
|
69
|
+
filter: DataSourceFilter;
|
|
70
|
+
groupBy: VuuGroupBy;
|
|
71
|
+
range: VuuRange;
|
|
72
|
+
sort: VuuSort;
|
|
73
|
+
tableSchema: Readonly<TableSchema> | null;
|
|
74
|
+
type: "subscribed";
|
|
75
|
+
}
|
|
76
|
+
export interface DataSourceVisualLinkCreatedMessage extends MessageWithClientViewportId {
|
|
77
|
+
colName: string;
|
|
78
|
+
parentViewportId: string;
|
|
79
|
+
parentColName: string;
|
|
80
|
+
type: "vuu-link-created";
|
|
81
|
+
}
|
|
82
|
+
export interface DataSourceVisualLinkRemovedMessage extends MessageWithClientViewportId {
|
|
83
|
+
type: "vuu-link-removed";
|
|
84
|
+
}
|
|
85
|
+
export interface DataSourceVisualLinksMessage extends MessageWithClientViewportId {
|
|
86
|
+
type: "vuu-links";
|
|
87
|
+
links: VuuLinkDescriptor[];
|
|
88
|
+
}
|
|
89
|
+
export type VuuFeatureMessage = DataSourceMenusMessage | DataSourceVisualLinksMessage;
|
|
90
|
+
export type VuuFeatureInvocationMessage = DataSourceVisualLinkCreatedMessage | DataSourceVisualLinkRemovedMessage;
|
|
91
|
+
export type DataSourceCallbackMessage = DataSourceConfigMessage | DataSourceColumnsMessage | DataSourceDataMessage | DataSourceDebounceRequest | DataSourceDisabledMessage | DataSourceEnabledMessage | DataSourceMenusMessage | DataSourceSubscribedMessage | DataSourceVisualLinkCreatedMessage | DataSourceVisualLinkRemovedMessage | DataSourceVisualLinksMessage;
|
|
92
|
+
export type ConfigChangeColumnsMessage = {
|
|
93
|
+
type: "columns";
|
|
94
|
+
columns?: ColumnDescriptor[];
|
|
95
|
+
};
|
|
96
|
+
export type ConfigChangeMessage = ConfigChangeColumnsMessage | DataSourceAggregateMessage | DataSourceFilterMessage | DataSourceGroupByMessage | DataSourceSortMessage | DataSourceVisualLinkCreatedMessage | DataSourceVisualLinkRemovedMessage;
|
|
97
|
+
export type ConfigChangeHandler = (msg: ConfigChangeMessage) => void;
|
|
98
|
+
export declare const shouldMessageBeRoutedToDataSource: (message: unknown) => message is DataSourceCallbackMessage;
|
|
99
|
+
export declare const isDataSourceConfigMessage: (message: DataSourceCallbackMessage) => message is DataSourceConfigMessage;
|
|
100
|
+
/**
|
|
101
|
+
* Described the configuration values that should typically be
|
|
102
|
+
* persisted across sessions.
|
|
103
|
+
*/
|
|
104
|
+
export interface WithFullConfig {
|
|
105
|
+
readonly aggregations: VuuAggregation[];
|
|
106
|
+
readonly columns: string[];
|
|
107
|
+
readonly filter: DataSourceFilter;
|
|
108
|
+
readonly groupBy: VuuGroupBy;
|
|
109
|
+
readonly sort: VuuSort;
|
|
110
|
+
readonly visualLink?: LinkDescriptorWithLabel;
|
|
111
|
+
}
|
|
112
|
+
export declare const NoFilter: VuuFilter;
|
|
113
|
+
export declare const NoSort: VuuSort;
|
|
114
|
+
export declare const vanillaConfig: WithFullConfig;
|
|
115
|
+
export declare const withConfigDefaults: (config: DataSourceConfig) => WithFullConfig & {
|
|
116
|
+
visualLink?: LinkDescriptorWithLabel;
|
|
117
|
+
};
|
|
118
|
+
export interface DataSourceConfig extends Partial<WithFullConfig> {
|
|
119
|
+
visualLink?: LinkDescriptorWithLabel;
|
|
120
|
+
}
|
|
121
|
+
export interface WithGroupBy extends DataSourceConfig {
|
|
122
|
+
groupBy: VuuGroupBy;
|
|
123
|
+
}
|
|
124
|
+
export interface DataSourceConstructorProps extends DataSourceConfig {
|
|
125
|
+
bufferSize?: number;
|
|
126
|
+
table: VuuTable;
|
|
127
|
+
title?: string;
|
|
128
|
+
viewport?: string;
|
|
129
|
+
}
|
|
130
|
+
export interface SubscribeProps {
|
|
131
|
+
viewport?: string;
|
|
132
|
+
columns?: string[];
|
|
133
|
+
aggregations?: VuuAggregation[];
|
|
134
|
+
range?: VuuRange;
|
|
135
|
+
sort?: VuuSort;
|
|
136
|
+
groupBy?: VuuGroupBy;
|
|
137
|
+
filter?: DataSourceFilter;
|
|
138
|
+
title?: string;
|
|
139
|
+
}
|
|
140
|
+
export type SubscribeCallback = (message: DataSourceCallbackMessage) => void;
|
|
141
|
+
export type OptimizeStrategy = "none" | "throttle" | "debounce";
|
|
142
|
+
export type DataSourceEvents = {
|
|
143
|
+
config: (config: DataSourceConfig | undefined, confirmed?: boolean) => void;
|
|
144
|
+
optimize: (optimize: OptimizeStrategy) => void;
|
|
145
|
+
range: (range: VuuRange) => void;
|
|
146
|
+
resize: (size: number) => void;
|
|
147
|
+
};
|
|
148
|
+
export interface DataSource extends EventEmitter<DataSourceEvents> {
|
|
149
|
+
aggregations: VuuAggregation[];
|
|
150
|
+
closeTreeNode: (key: string, cascade?: boolean) => void;
|
|
151
|
+
columns: string[];
|
|
152
|
+
config: DataSourceConfig | undefined;
|
|
153
|
+
suspend?: () => void;
|
|
154
|
+
resume?: () => void;
|
|
155
|
+
enable?: () => void;
|
|
156
|
+
disable?: () => void;
|
|
157
|
+
filter: DataSourceFilter;
|
|
158
|
+
groupBy: VuuGroupBy;
|
|
159
|
+
menuRpcCall: (rpcRequest: Omit<ClientToServerMenuRPC, "vpId"> | ClientToServerEditRpc) => Promise<MenuRpcResponse | VuuUIMessageInRPCEditReject | VuuUIMessageInRPCEditResponse | undefined>;
|
|
160
|
+
openTreeNode: (key: string) => void;
|
|
161
|
+
range: VuuRange;
|
|
162
|
+
select: SelectionChangeHandler;
|
|
163
|
+
readonly selectedRowsCount: number;
|
|
164
|
+
readonly size: number;
|
|
165
|
+
sort: VuuSort;
|
|
166
|
+
subscribe: (props: SubscribeProps, callback: SubscribeCallback) => Promise<void>;
|
|
167
|
+
title?: string;
|
|
168
|
+
unsubscribe: () => void;
|
|
169
|
+
viewport?: string;
|
|
170
|
+
visualLink?: LinkDescriptorWithLabel;
|
|
171
|
+
}
|
|
172
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./authenticate";
|
|
2
|
+
export * from "./connection-manager";
|
|
3
|
+
export type { ServerAPI } from "./connection-manager";
|
|
4
|
+
export * from "./constants";
|
|
5
|
+
export * from "./data-source";
|
|
6
|
+
export * from "./message-utils";
|
|
7
|
+
export * from "./array-data-source/array-data-source";
|
|
8
|
+
export * from "./json-data-source";
|
|
9
|
+
export * from "./remote-data-source";
|
|
10
|
+
export * from "./vuuUIMessageTypes";
|