@vuu-ui/vuu-table-extras 2.1.18 → 2.1.19-beta.1
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/package.json +14 -16
- package/types/cell-renderers/background-cell/BackgroundCell.d.ts +1 -1
- package/types/cell-renderers/dropdown-cell/DropdownCell.d.ts +1 -1
- package/types/cell-renderers/lookup-cell/LookupCell.d.ts +1 -1
- package/types/column-expression-input/column-language-parser/generated/column-parser.d.ts +1 -1
- package/types/column-expression-input/column-language-parser/generated/column-parser.terms.d.ts +1 -24
- package/types/column-expression-input/column-language-parser/test.d.mts +1 -1
- package/types/freeze-control/useFreezeControl.d.ts +1 -1
- package/cjs/node_modules/csv-parse/dist/esm/sync.js +0 -3978
- package/cjs/node_modules/csv-parse/dist/esm/sync.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +0 -85
- package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +0 -71
- package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +0 -138
- package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +0 -25
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +0 -31
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +0 -81
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +0 -67
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +0 -20
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +0 -40
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +0 -103
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +0 -21
- package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +0 -62
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +0 -69
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +0 -39
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +0 -307
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +0 -28
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +0 -465
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +0 -61
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +0 -21
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +0 -39
- package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js +0 -16
- package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js +0 -63
- package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +0 -358
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +0 -131
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +0 -213
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +0 -98
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +0 -111
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +0 -102
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +0 -48
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +0 -107
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +0 -459
- package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js +0 -68
- package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js +0 -177
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +0 -252
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +0 -34
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +0 -55
- package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +0 -35
- package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +0 -45
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +0 -161
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +0 -203
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +0 -95
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js +0 -8
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +0 -64
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +0 -199
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +0 -100
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +0 -86
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +0 -306
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js +0 -73
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +0 -76
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +0 -61
- package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +0 -106
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +0 -55
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +0 -10
- package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +0 -68
- package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/index.js +0 -102
- package/cjs/packages/vuu-table-extras/src/index.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +0 -90
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +0 -44
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +0 -49
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js +0 -34
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js +0 -61
- package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +0 -6
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +0 -116
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +0 -1
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +0 -60
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +0 -1
- package/esm/node_modules/csv-parse/dist/esm/sync.js +0 -3974
- package/esm/node_modules/csv-parse/dist/esm/sync.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +0 -83
- package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +0 -69
- package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +0 -136
- package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +0 -23
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +0 -29
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +0 -79
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +0 -65
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +0 -18
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +0 -38
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +0 -101
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +0 -19
- package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +0 -60
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +0 -67
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +0 -37
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +0 -305
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +0 -26
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +0 -463
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +0 -56
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +0 -19
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +0 -37
- package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js +0 -14
- package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js +0 -61
- package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +0 -356
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +0 -129
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +0 -211
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +0 -96
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +0 -109
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +0 -100
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +0 -46
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +0 -105
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +0 -451
- package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js +0 -66
- package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js +0 -170
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +0 -249
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +0 -32
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +0 -53
- package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +0 -33
- package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +0 -43
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +0 -159
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +0 -201
- package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +0 -93
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js +0 -5
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +0 -57
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +0 -196
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +0 -97
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +0 -76
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +0 -304
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js +0 -71
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +0 -74
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +0 -59
- package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +0 -104
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +0 -53
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +0 -8
- package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +0 -66
- package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/index.js +0 -43
- package/esm/packages/vuu-table-extras/src/index.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +0 -88
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +0 -42
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +0 -47
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js +0 -31
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js +0 -56
- package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +0 -4
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +0 -112
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +0 -1
- package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +0 -58
- package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +0 -1
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, reorderColumnItems } from '@vuu-ui/vuu-utils';
|
|
2
|
-
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __typeError = (msg) => {
|
|
5
|
-
throw TypeError(msg);
|
|
6
|
-
};
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
|
|
9
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
10
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
11
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
12
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
13
|
-
var _searchPattern, _selectedColumns;
|
|
14
|
-
const ColumnChangeSource = {
|
|
15
|
-
ColumnPicker: "column-picker",
|
|
16
|
-
ColumnSettings: "column-settings",
|
|
17
|
-
Table: "table"
|
|
18
|
-
};
|
|
19
|
-
const SelectedColumnChangeType = {
|
|
20
|
-
CalculatedColumnAdded: "calculated-column-added",
|
|
21
|
-
ColumnAdded: "column-added",
|
|
22
|
-
ColumnRemoved: "column-removed",
|
|
23
|
-
ColumnUpdated: "column-updated",
|
|
24
|
-
ColumnsReordered: "columns-reordered"
|
|
25
|
-
};
|
|
26
|
-
const isColumnAdded = (change) => change?.type === SelectedColumnChangeType.ColumnAdded;
|
|
27
|
-
const isColumnRemoved = (change) => change?.type === SelectedColumnChangeType.ColumnRemoved;
|
|
28
|
-
const isColumnsReordered = (change) => change?.type === SelectedColumnChangeType.ColumnsReordered;
|
|
29
|
-
const byColumnName = ({ name: n1, label: l1 = n1 }, { name: n2, label: l2 = n2 }) => l1 > l2 ? 1 : l2 > l1 ? -1 : 0;
|
|
30
|
-
const filterColumns = (columns, pattern) => {
|
|
31
|
-
if (pattern) {
|
|
32
|
-
const lowerCasePattern = pattern.toLowerCase();
|
|
33
|
-
return columns.filter(
|
|
34
|
-
({ name, label = name }) => label.toLowerCase().indexOf(lowerCasePattern) !== -1
|
|
35
|
-
);
|
|
36
|
-
} else {
|
|
37
|
-
return columns;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
class ColumnModel extends EventEmitter {
|
|
41
|
-
constructor(allColumns, selectedColumns) {
|
|
42
|
-
super();
|
|
43
|
-
this.allColumns = allColumns;
|
|
44
|
-
__privateAdd(this, _searchPattern, "");
|
|
45
|
-
__privateAdd(this, _selectedColumns);
|
|
46
|
-
__publicField(this, "notifyListeners", (columns, source, changeType) => {
|
|
47
|
-
this.emit("change", columns, source, changeType);
|
|
48
|
-
this.emit("render", {});
|
|
49
|
-
});
|
|
50
|
-
__privateSet(this, _selectedColumns, selectedColumns);
|
|
51
|
-
}
|
|
52
|
-
get availableColumns() {
|
|
53
|
-
return filterColumns(this.allColumns, __privateGet(this, _searchPattern)).filter(
|
|
54
|
-
({ name }) => __privateGet(this, _selectedColumns).findIndex((c) => c.name === name) === -1
|
|
55
|
-
).toSorted(byColumnName);
|
|
56
|
-
}
|
|
57
|
-
set searchPattern(pattern) {
|
|
58
|
-
const searchPattern = pattern;
|
|
59
|
-
if (searchPattern !== __privateGet(this, _searchPattern)) {
|
|
60
|
-
__privateSet(this, _searchPattern, searchPattern);
|
|
61
|
-
this.emit("render", {});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
get searchPattern() {
|
|
65
|
-
return __privateGet(this, _searchPattern) ?? "";
|
|
66
|
-
}
|
|
67
|
-
get selectedColumns() {
|
|
68
|
-
return filterColumns(__privateGet(this, _selectedColumns), __privateGet(this, _searchPattern));
|
|
69
|
-
}
|
|
70
|
-
setSelectedColumns(selectedColumns, source, changeDescriptor) {
|
|
71
|
-
__privateSet(this, _selectedColumns, selectedColumns);
|
|
72
|
-
this.notifyListeners(selectedColumns, source, changeDescriptor);
|
|
73
|
-
}
|
|
74
|
-
getColumn(name) {
|
|
75
|
-
const col = __privateGet(this, _selectedColumns).find((col2) => col2.name === name);
|
|
76
|
-
if (col) {
|
|
77
|
-
return col;
|
|
78
|
-
}
|
|
79
|
-
throw Error(`[ColumnModel] columns does not contain column ${name}`);
|
|
80
|
-
}
|
|
81
|
-
addItemToSelectedColumns(name, source) {
|
|
82
|
-
const column = this.allColumns.find((col) => col.name === name);
|
|
83
|
-
if (column) {
|
|
84
|
-
__privateSet(this, _selectedColumns, __privateGet(this, _selectedColumns).concat(column));
|
|
85
|
-
this.notifyListeners(__privateGet(this, _selectedColumns), source, {
|
|
86
|
-
type: SelectedColumnChangeType.ColumnAdded,
|
|
87
|
-
column
|
|
88
|
-
});
|
|
89
|
-
} else {
|
|
90
|
-
throw Error(
|
|
91
|
-
`[ColumnModel] addItemToSelectedColumns, column '${name}' not found`
|
|
92
|
-
);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
removeItemFromSelectedColumns(name, source) {
|
|
96
|
-
const column = __privateGet(this, _selectedColumns).find((col) => col.name === name);
|
|
97
|
-
if (column) {
|
|
98
|
-
const index = __privateGet(this, _selectedColumns).indexOf(column);
|
|
99
|
-
__privateSet(this, _selectedColumns, __privateGet(this, _selectedColumns).toSpliced(index, 1));
|
|
100
|
-
this.notifyListeners(__privateGet(this, _selectedColumns), source, {
|
|
101
|
-
type: SelectedColumnChangeType.ColumnRemoved,
|
|
102
|
-
column
|
|
103
|
-
});
|
|
104
|
-
} else {
|
|
105
|
-
throw Error(
|
|
106
|
-
`[ColumnModel] removeItemFromSelectedColumns, column '${name}' not found`
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
reorderSelectedColumns(orderedColumnNames, source) {
|
|
111
|
-
this.setSelectedColumns(
|
|
112
|
-
reorderColumnItems(__privateGet(this, _selectedColumns), orderedColumnNames),
|
|
113
|
-
source,
|
|
114
|
-
{ type: SelectedColumnChangeType.ColumnsReordered }
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
updateColumn(column, newColumn = column) {
|
|
118
|
-
const allIndex = this.allColumns.findIndex(
|
|
119
|
-
(col) => col.name === column.name
|
|
120
|
-
);
|
|
121
|
-
const selectedIndex = __privateGet(this, _selectedColumns).findIndex(
|
|
122
|
-
(col) => col.name === column.name
|
|
123
|
-
);
|
|
124
|
-
if (selectedIndex !== -1) {
|
|
125
|
-
if (allIndex === -1) {
|
|
126
|
-
throw Error(
|
|
127
|
-
`[ColumnModel] updateColumn, selected column not in allColumns collection`
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
__privateSet(this, _selectedColumns, __privateGet(this, _selectedColumns).toSpliced(
|
|
131
|
-
selectedIndex,
|
|
132
|
-
1,
|
|
133
|
-
newColumn
|
|
134
|
-
));
|
|
135
|
-
this.allColumns = this.allColumns.toSpliced(allIndex, 1, newColumn);
|
|
136
|
-
this.notifyListeners(__privateGet(this, _selectedColumns), "column-settings", {
|
|
137
|
-
type: SelectedColumnChangeType.ColumnUpdated,
|
|
138
|
-
column
|
|
139
|
-
});
|
|
140
|
-
} else {
|
|
141
|
-
throw Error(
|
|
142
|
-
`[ColumnModel] updateColumn, column ${column.name} not found`
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Used when adding a calculated column
|
|
148
|
-
*
|
|
149
|
-
* @param column
|
|
150
|
-
*
|
|
151
|
-
* @param addToSelectedColumns
|
|
152
|
-
*/
|
|
153
|
-
addColumn(column, addToSelectedColumns = false) {
|
|
154
|
-
console.log(`[ColumnModel] add column ${JSON.stringify(column)}`);
|
|
155
|
-
if (addToSelectedColumns) {
|
|
156
|
-
console.log(`add it to selected coliumns`);
|
|
157
|
-
}
|
|
158
|
-
this.allColumns = this.allColumns.concat(column);
|
|
159
|
-
__privateSet(this, _selectedColumns, __privateGet(this, _selectedColumns).concat(column));
|
|
160
|
-
this.notifyListeners(__privateGet(this, _selectedColumns), "column-picker", {
|
|
161
|
-
type: SelectedColumnChangeType.CalculatedColumnAdded,
|
|
162
|
-
column
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
_searchPattern = new WeakMap();
|
|
167
|
-
_selectedColumns = new WeakMap();
|
|
168
|
-
|
|
169
|
-
export { ColumnChangeSource, ColumnModel, SelectedColumnChangeType, isColumnAdded, isColumnRemoved, isColumnsReordered };
|
|
170
|
-
//# sourceMappingURL=ColumnModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnModel.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-picker/ColumnModel.ts"],"sourcesContent":["import { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { EventEmitter, reorderColumnItems, ValueOf } from \"@vuu-ui/vuu-utils\";\n\nexport const ColumnChangeSource = {\n ColumnPicker: \"column-picker\",\n ColumnSettings: \"column-settings\",\n Table: \"table\",\n} as const;\nexport type ColumnChangeSource = ValueOf<typeof ColumnChangeSource>;\n\nexport const SelectedColumnChangeType = {\n CalculatedColumnAdded: \"calculated-column-added\",\n ColumnAdded: \"column-added\",\n ColumnRemoved: \"column-removed\",\n ColumnUpdated: \"column-updated\",\n ColumnsReordered: \"columns-reordered\",\n} as const;\nexport type SelectedColumnChangeType = ValueOf<typeof SelectedColumnChangeType>;\n\nexport interface SelectedColumnChangeColumnAdded {\n type: Extract<SelectedColumnChangeType, \"column-added\">;\n column: ColumnDescriptor;\n}\nexport interface SelectedColumnChangeCalculatedColumnAdded {\n type: Extract<SelectedColumnChangeType, \"calculated-column-added\">;\n column: ColumnDescriptor;\n}\nexport interface SelectedColumnChangeColumnUpdated {\n type: Extract<SelectedColumnChangeType, \"column-updated\">;\n column: ColumnDescriptor;\n}\n\nexport interface SelectedColumnChangeColumnRemoved {\n type: Extract<SelectedColumnChangeType, \"column-removed\">;\n column: ColumnDescriptor;\n}\n\nexport interface SelectedColumnChangeColumnsReordered {\n type: Extract<SelectedColumnChangeType, \"columns-reordered\">;\n}\n\nexport type SelectedColumnChangeDescriptor =\n | SelectedColumnChangeCalculatedColumnAdded\n | SelectedColumnChangeColumnAdded\n | SelectedColumnChangeColumnRemoved\n | SelectedColumnChangeColumnUpdated\n | SelectedColumnChangeColumnsReordered;\n\nexport const isColumnAdded = (\n change?: SelectedColumnChangeDescriptor,\n): change is SelectedColumnChangeColumnAdded =>\n change?.type === SelectedColumnChangeType.ColumnAdded;\nexport const isColumnRemoved = (\n change?: SelectedColumnChangeDescriptor,\n): change is SelectedColumnChangeColumnRemoved =>\n change?.type === SelectedColumnChangeType.ColumnRemoved;\nexport const isColumnUpdated = (\n change?: SelectedColumnChangeDescriptor,\n): change is SelectedColumnChangeColumnUpdated =>\n change?.type === SelectedColumnChangeType.ColumnUpdated;\nexport const isColumnsReordered = (\n change?: SelectedColumnChangeDescriptor,\n): change is SelectedColumnChangeColumnsReordered =>\n change?.type === SelectedColumnChangeType.ColumnsReordered;\n\nexport type ColumnsChangeHandler = (\n columns: readonly ColumnDescriptor[],\n changeSource: ColumnChangeSource,\n changeDescriptor?: SelectedColumnChangeDescriptor,\n) => void;\nexport type ColumnEvents = {\n change: ColumnsChangeHandler;\n render: (o: object) => void;\n};\n\nconst byColumnName = (\n { name: n1, label: l1 = n1 }: ColumnDescriptor,\n { name: n2, label: l2 = n2 }: ColumnDescriptor,\n) => (l1 > l2 ? 1 : l2 > l1 ? -1 : 0);\n\nconst filterColumns = (\n columns: readonly ColumnDescriptor[],\n pattern: string,\n) => {\n if (pattern) {\n const lowerCasePattern = pattern.toLowerCase();\n return columns.filter(\n ({ name, label = name }) =>\n label.toLowerCase().indexOf(lowerCasePattern) !== -1,\n );\n } else {\n return columns;\n }\n};\n\nexport class ColumnModel extends EventEmitter<ColumnEvents> {\n #searchPattern = \"\";\n #selectedColumns: readonly ColumnDescriptor[];\n constructor(\n /**\n * All available columns, including selected columns.\n */\n public allColumns: readonly ColumnDescriptor[],\n /**\n * Columns already selected and rendered in Table.\n */\n selectedColumns: readonly ColumnDescriptor[],\n ) {\n super();\n this.#selectedColumns = selectedColumns;\n }\n\n get availableColumns(): ColumnDescriptor[] {\n return filterColumns(this.allColumns, this.#searchPattern)\n .filter(\n ({ name }) =>\n this.#selectedColumns.findIndex((c) => c.name === name) === -1,\n )\n .toSorted(byColumnName);\n }\n\n set searchPattern(pattern: string) {\n const searchPattern = pattern;\n if (searchPattern !== this.#searchPattern) {\n this.#searchPattern = searchPattern;\n this.emit(\"render\", {});\n }\n }\n\n get searchPattern() {\n return this.#searchPattern ?? \"\";\n }\n\n get selectedColumns() {\n return filterColumns(this.#selectedColumns, this.#searchPattern);\n }\n setSelectedColumns(\n selectedColumns: ColumnDescriptor[],\n source: ColumnChangeSource,\n changeDescriptor?: SelectedColumnChangeDescriptor,\n ) {\n this.#selectedColumns = selectedColumns;\n this.notifyListeners(selectedColumns, source, changeDescriptor);\n }\n\n getColumn(name: string) {\n const col = this.#selectedColumns.find((col) => col.name === name);\n if (col) {\n return col;\n }\n throw Error(`[ColumnModel] columns does not contain column ${name}`);\n }\n\n addItemToSelectedColumns(name: string, source: ColumnChangeSource) {\n const column = this.allColumns.find((col) => col.name === name);\n if (column) {\n this.#selectedColumns = this.#selectedColumns.concat(column);\n this.notifyListeners(this.#selectedColumns, source, {\n type: SelectedColumnChangeType.ColumnAdded,\n column,\n });\n } else {\n throw Error(\n `[ColumnModel] addItemToSelectedColumns, column '${name}' not found`,\n );\n }\n }\n removeItemFromSelectedColumns(name: string, source: ColumnChangeSource) {\n const column = this.#selectedColumns.find((col) => col.name === name);\n if (column) {\n const index = this.#selectedColumns.indexOf(column);\n this.#selectedColumns = this.#selectedColumns.toSpliced(index, 1);\n this.notifyListeners(this.#selectedColumns, source, {\n type: SelectedColumnChangeType.ColumnRemoved,\n column,\n });\n } else {\n throw Error(\n `[ColumnModel] removeItemFromSelectedColumns, column '${name}' not found`,\n );\n }\n }\n\n reorderSelectedColumns(\n orderedColumnNames: string[],\n source: ColumnChangeSource,\n ) {\n this.setSelectedColumns(\n reorderColumnItems(this.#selectedColumns, orderedColumnNames),\n source,\n { type: SelectedColumnChangeType.ColumnsReordered },\n );\n }\n\n updateColumn(\n currentColumn: ColumnDescriptor,\n newColumn: ColumnDescriptor,\n ): void;\n updateColumn(column: ColumnDescriptor): void;\n updateColumn(column: ColumnDescriptor, newColumn: ColumnDescriptor = column) {\n const allIndex = this.allColumns.findIndex(\n (col) => col.name === column.name,\n );\n const selectedIndex = this.#selectedColumns.findIndex(\n (col) => col.name === column.name,\n );\n\n if (selectedIndex !== -1) {\n if (allIndex === -1) {\n throw Error(\n `[ColumnModel] updateColumn, selected column not in allColumns collection`,\n );\n }\n\n this.#selectedColumns = this.#selectedColumns.toSpliced(\n selectedIndex,\n 1,\n newColumn,\n );\n this.allColumns = this.allColumns.toSpliced(allIndex, 1, newColumn);\n\n this.notifyListeners(this.#selectedColumns, \"column-settings\", {\n type: SelectedColumnChangeType.ColumnUpdated,\n column,\n });\n } else {\n throw Error(\n `[ColumnModel] updateColumn, column ${column.name} not found`,\n );\n }\n }\n\n /**\n * Used when adding a calculated column\n *\n * @param column\n *\n * @param addToSelectedColumns\n */\n addColumn(column: ColumnDescriptor, addToSelectedColumns = false) {\n console.log(`[ColumnModel] add column ${JSON.stringify(column)}`);\n if (addToSelectedColumns) {\n console.log(`add it to selected coliumns`);\n }\n\n this.allColumns = this.allColumns.concat(column);\n this.#selectedColumns = this.#selectedColumns.concat(column);\n\n this.notifyListeners(this.#selectedColumns, \"column-picker\", {\n type: SelectedColumnChangeType.CalculatedColumnAdded,\n column,\n });\n }\n\n private notifyListeners: ColumnsChangeHandler = (\n columns,\n source,\n changeType,\n ) => {\n this.emit(\"change\", columns, source, changeType);\n this.emit(\"render\", {});\n };\n}\n"],"names":["col"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var columnPickerCss = ".vuuColumnPicker {\n\n --label-margin-left: 0px;\n\n --columnpicker-background: var(--vuuColumnPicker-background, var(--salt-container-primary-background));\n background: var(--columnpicker-background);\n container-type: inline-size;\n display: flex; \n flex-direction: column;\n gap: var(--salt-spacing-300);\n height: var(--vuuColumnPicker-height, 100%);\n overflow: hidden;\n padding: var(--salt-spacing-300) 0;\n\n &.vuuColumnPicker-withCalculated {\n --label-margin-left: 8px;\n }\n\n .saltListBox {\n background-color: inherit;\n }\n\n .saltOption {\n align-items: center;\n background-color: inherit;\n border-bottom: var(--vuuColumnListItem-border, solid) 1px\n var(--salt-separable-tertiary-borderColor);\n gap: var(--salt-spacing-200);\n height: calc(var(--salt-size-base) + var(--salt-spacing-200));\n .vuuIcon {\n --vuu-icon-color: var(--salt-content-secondary-foreground);\n }\n\n .vuuCalculatedColumnIcon {\n --vuu-icon-color: var(--salt-content-secondary-foreground);\n left: 32px;\n position: absolute;\n top: 8px;\n }\n\n .vuuHighlight {\n color: var(--vuu-color-blue-40);\n text-decoration: underline;\n }\n\n .vuuColumnPicker-text {\n margin-left: var(--label-margin-left);\n }\n\n }\n\n .vuuColumnPickerListItem-action {\n margin-left: auto;\n visibility: hidden;\n }\n\n .saltOption:hover {\n .vuuColumnPickerListItem-action {\n visibility: visible;\n }\n }\n\n .vuuColumnPicker-search {\n --saltInput-paddingLeft: var(--salt-spacing-300);\n padding: var(--salt-spacing-200) var(--salt-spacing-300) 0 var(--salt-spacing-300);\n }\n\n .vuuColumnPicker-scrollContainer {\n\n flex: 1 1 0px;\n overflow: auto;\n\n\n .vuuColumnPicker-sectionHeader {\n align-items: center;\n background: var(--columnpicker-background);\n display: flex;\n height: 32px;\n padding: 0 var(--salt-spacing-300);\n position: sticky;\n top:0;\n z-index: 1;\n }\n\n .vuuColumnPicker-availableHeader {\n top: 32px;\n }\n\n\n .vuuColumnPicker-availableList {\n .saltOption {\n padding-left: var(--salt-spacing-300);\n }\n }\n\n }\n\n}";
|
|
2
|
-
|
|
3
|
-
export { columnPickerCss as default };
|
|
4
|
-
//# sourceMappingURL=ColumnPicker.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnPicker.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
3
|
-
import { useWindow } from '@salt-ds/window';
|
|
4
|
-
import { isCalculatedColumn, DragDropProvider, getColumnLabel, useSortable } from '@vuu-ui/vuu-utils';
|
|
5
|
-
import cx from 'clsx';
|
|
6
|
-
import { forwardRef, useCallback, useRef, useMemo } from 'react';
|
|
7
|
-
import { Input, ListBox, Button, Option } from '@salt-ds/core';
|
|
8
|
-
import { applyHighlighting } from '@vuu-ui/vuu-table';
|
|
9
|
-
import { IconButton, Icon } from '@vuu-ui/vuu-ui-controls';
|
|
10
|
-
import { ColumnChangeSource } from './ColumnModel.js';
|
|
11
|
-
import { useColumnPicker } from './useColumnPicker.js';
|
|
12
|
-
import columnPickerCss from './ColumnPicker.css.js';
|
|
13
|
-
|
|
14
|
-
const classBase = "vuuColumnPicker";
|
|
15
|
-
const classBaseListItem = "vuuColumnPickerListItem";
|
|
16
|
-
const searchIcon = /* @__PURE__ */ jsx("span", { "data-icon": "search" });
|
|
17
|
-
const NO_SELECTION = [];
|
|
18
|
-
const useSorting = (id, index) => {
|
|
19
|
-
const { handleRef: sortableHandleRef, ref: sortableRef } = useSortable({
|
|
20
|
-
id,
|
|
21
|
-
index
|
|
22
|
-
});
|
|
23
|
-
const [handleRef, ref] = useMemo(() => {
|
|
24
|
-
return [sortableHandleRef, sortableRef];
|
|
25
|
-
}, [sortableHandleRef, sortableRef]);
|
|
26
|
-
return {
|
|
27
|
-
handleRef,
|
|
28
|
-
ref
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
const SelectedColumnListItem = ({
|
|
32
|
-
className: classNameProp,
|
|
33
|
-
index,
|
|
34
|
-
column,
|
|
35
|
-
onRemove,
|
|
36
|
-
searchPattern = "",
|
|
37
|
-
...optionProps
|
|
38
|
-
}) => {
|
|
39
|
-
const { handleRef, ref } = useSorting(column.name, index);
|
|
40
|
-
const value = getColumnLabel(column);
|
|
41
|
-
const valueWithHighlighting = applyHighlighting(value, searchPattern);
|
|
42
|
-
const handleRemoveButtonClick = useCallback(
|
|
43
|
-
(e) => {
|
|
44
|
-
e.stopPropagation();
|
|
45
|
-
onRemove?.(e);
|
|
46
|
-
},
|
|
47
|
-
[onRemove]
|
|
48
|
-
);
|
|
49
|
-
return /* @__PURE__ */ jsxs(
|
|
50
|
-
Option,
|
|
51
|
-
{
|
|
52
|
-
...optionProps,
|
|
53
|
-
className: cx(classNameProp, classBaseListItem),
|
|
54
|
-
"data-name": column.name,
|
|
55
|
-
ref,
|
|
56
|
-
children: [
|
|
57
|
-
/* @__PURE__ */ jsx(
|
|
58
|
-
IconButton,
|
|
59
|
-
{
|
|
60
|
-
"data-embedded": true,
|
|
61
|
-
appearance: "transparent",
|
|
62
|
-
icon: "draggable",
|
|
63
|
-
ref: handleRef,
|
|
64
|
-
size: 16
|
|
65
|
-
}
|
|
66
|
-
),
|
|
67
|
-
isCalculatedColumn(column.name) ? /* @__PURE__ */ jsx(Icon, { className: "vuuCalculatedColumnIcon", name: "function" }) : null,
|
|
68
|
-
/* @__PURE__ */ jsx("span", { className: `${classBase}-text`, children: valueWithHighlighting }),
|
|
69
|
-
/* @__PURE__ */ jsx(
|
|
70
|
-
IconButton,
|
|
71
|
-
{
|
|
72
|
-
className: `${classBaseListItem}-action`,
|
|
73
|
-
"data-embedded": true,
|
|
74
|
-
appearance: "transparent",
|
|
75
|
-
icon: "cross",
|
|
76
|
-
onClick: handleRemoveButtonClick,
|
|
77
|
-
size: 16
|
|
78
|
-
}
|
|
79
|
-
)
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
);
|
|
83
|
-
};
|
|
84
|
-
const AvailableColumnListItem = ({
|
|
85
|
-
className: classNameProp,
|
|
86
|
-
index,
|
|
87
|
-
column: item,
|
|
88
|
-
onAdd,
|
|
89
|
-
searchPattern = "",
|
|
90
|
-
...optionProps
|
|
91
|
-
}) => {
|
|
92
|
-
const value = getColumnLabel(item);
|
|
93
|
-
const valueWithHighlighting = applyHighlighting(value, searchPattern);
|
|
94
|
-
return /* @__PURE__ */ jsxs(
|
|
95
|
-
Option,
|
|
96
|
-
{
|
|
97
|
-
...optionProps,
|
|
98
|
-
className: cx(classNameProp, classBaseListItem),
|
|
99
|
-
"data-name": item.name,
|
|
100
|
-
children: [
|
|
101
|
-
/* @__PURE__ */ jsx("span", { className: `${classBase}-text`, children: valueWithHighlighting }),
|
|
102
|
-
/* @__PURE__ */ jsx(
|
|
103
|
-
IconButton,
|
|
104
|
-
{
|
|
105
|
-
className: `${classBaseListItem}-action`,
|
|
106
|
-
"data-embedded": true,
|
|
107
|
-
appearance: "transparent",
|
|
108
|
-
icon: "plus",
|
|
109
|
-
onClick: onAdd,
|
|
110
|
-
size: 16
|
|
111
|
-
}
|
|
112
|
-
)
|
|
113
|
-
]
|
|
114
|
-
}
|
|
115
|
-
);
|
|
116
|
-
};
|
|
117
|
-
const ColumnPicker = forwardRef(function ColumnPicker2({
|
|
118
|
-
allowCreateCalculatedColumn,
|
|
119
|
-
columnModel,
|
|
120
|
-
className,
|
|
121
|
-
onClickCreateCalculatedColumn,
|
|
122
|
-
onSelectionChange,
|
|
123
|
-
selected = NO_SELECTION,
|
|
124
|
-
...htmlAttributes
|
|
125
|
-
}, forwardedRef) {
|
|
126
|
-
const targetWindow = useWindow();
|
|
127
|
-
useComponentCssInjection({
|
|
128
|
-
testId: "vuu-column-picker",
|
|
129
|
-
css: columnPickerCss,
|
|
130
|
-
window: targetWindow
|
|
131
|
-
});
|
|
132
|
-
const searchCallbackRef = useCallback((el) => {
|
|
133
|
-
setTimeout(() => {
|
|
134
|
-
el?.querySelector("input")?.focus();
|
|
135
|
-
}, 100);
|
|
136
|
-
}, []);
|
|
137
|
-
const {
|
|
138
|
-
availableColumns,
|
|
139
|
-
onAddItemToSelectedList,
|
|
140
|
-
onChangeSearchInput,
|
|
141
|
-
onRemoveItemFromSelectedList,
|
|
142
|
-
searchText,
|
|
143
|
-
selectedColumns
|
|
144
|
-
} = useColumnPicker({
|
|
145
|
-
columnModel
|
|
146
|
-
});
|
|
147
|
-
const listRef = useRef(null);
|
|
148
|
-
const getOptionName = (option) => {
|
|
149
|
-
if (option) {
|
|
150
|
-
const { name } = option.dataset;
|
|
151
|
-
if (name) {
|
|
152
|
-
return name;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
throw Error("[ColumnPicker] list option has no data-name");
|
|
156
|
-
};
|
|
157
|
-
const handleDragEnd = useCallback(() => {
|
|
158
|
-
setTimeout(() => {
|
|
159
|
-
const listItems = listRef.current?.querySelectorAll(".saltOption");
|
|
160
|
-
if (listItems) {
|
|
161
|
-
const orderedColumnNames = Array.from(listItems).map(getOptionName);
|
|
162
|
-
columnModel.reorderSelectedColumns(
|
|
163
|
-
orderedColumnNames,
|
|
164
|
-
ColumnChangeSource.ColumnPicker
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
}, 300);
|
|
168
|
-
}, [columnModel]);
|
|
169
|
-
const oneOrMoreColumnsIsCalculated = selectedColumns.some(
|
|
170
|
-
(column) => isCalculatedColumn(column.name)
|
|
171
|
-
);
|
|
172
|
-
return /* @__PURE__ */ jsxs(
|
|
173
|
-
"div",
|
|
174
|
-
{
|
|
175
|
-
...htmlAttributes,
|
|
176
|
-
className: cx(classBase, className, {
|
|
177
|
-
[`${classBase}-withCalculated`]: oneOrMoreColumnsIsCalculated
|
|
178
|
-
}),
|
|
179
|
-
ref: forwardedRef,
|
|
180
|
-
children: [
|
|
181
|
-
/* @__PURE__ */ jsx("form", { className: `${classBase}-search`, role: "search", children: /* @__PURE__ */ jsx(
|
|
182
|
-
Input,
|
|
183
|
-
{
|
|
184
|
-
startAdornment: searchIcon,
|
|
185
|
-
placeholder: "Find column",
|
|
186
|
-
ref: searchCallbackRef,
|
|
187
|
-
value: searchText,
|
|
188
|
-
onChange: onChangeSearchInput
|
|
189
|
-
}
|
|
190
|
-
) }),
|
|
191
|
-
/* @__PURE__ */ jsxs("div", { className: `${classBase}-scrollContainer vuuScrollable`, children: [
|
|
192
|
-
/* @__PURE__ */ jsx("div", { className: `${classBase}-sectionHeader`, children: "Columns in view" }),
|
|
193
|
-
/* @__PURE__ */ jsx(DragDropProvider, { onDragEnd: handleDragEnd, children: /* @__PURE__ */ jsx(
|
|
194
|
-
ListBox,
|
|
195
|
-
{
|
|
196
|
-
className: `${classBase}-selectedList`,
|
|
197
|
-
onSelectionChange,
|
|
198
|
-
ref: listRef,
|
|
199
|
-
selected,
|
|
200
|
-
children: selectedColumns.map((column, index) => /* @__PURE__ */ jsx(
|
|
201
|
-
SelectedColumnListItem,
|
|
202
|
-
{
|
|
203
|
-
column,
|
|
204
|
-
index,
|
|
205
|
-
onRemove: onRemoveItemFromSelectedList,
|
|
206
|
-
searchPattern: searchText.toLowerCase(),
|
|
207
|
-
value: column
|
|
208
|
-
},
|
|
209
|
-
column.name
|
|
210
|
-
))
|
|
211
|
-
}
|
|
212
|
-
) }),
|
|
213
|
-
/* @__PURE__ */ jsx(
|
|
214
|
-
"div",
|
|
215
|
-
{
|
|
216
|
-
className: cx(
|
|
217
|
-
`${classBase}-sectionHeader`,
|
|
218
|
-
`${classBase}-availableHeader`
|
|
219
|
-
),
|
|
220
|
-
children: "Available columns"
|
|
221
|
-
}
|
|
222
|
-
),
|
|
223
|
-
/* @__PURE__ */ jsx(
|
|
224
|
-
ListBox,
|
|
225
|
-
{
|
|
226
|
-
className: `${classBase}-availableList`,
|
|
227
|
-
selected: NO_SELECTION,
|
|
228
|
-
children: availableColumns.map((column, index) => /* @__PURE__ */ jsx(
|
|
229
|
-
AvailableColumnListItem,
|
|
230
|
-
{
|
|
231
|
-
column,
|
|
232
|
-
index,
|
|
233
|
-
onAdd: onAddItemToSelectedList,
|
|
234
|
-
searchPattern: searchText.toLowerCase(),
|
|
235
|
-
value: column
|
|
236
|
-
},
|
|
237
|
-
column.name
|
|
238
|
-
))
|
|
239
|
-
}
|
|
240
|
-
)
|
|
241
|
-
] }),
|
|
242
|
-
allowCreateCalculatedColumn ? /* @__PURE__ */ jsx("div", { className: `${classBase}-column-buttons`, children: /* @__PURE__ */ jsx(Button, { onClick: onClickCreateCalculatedColumn, children: "Create calculated column" }) }) : null
|
|
243
|
-
]
|
|
244
|
-
}
|
|
245
|
-
);
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
export { ColumnPicker, classBaseListItem };
|
|
249
|
-
//# sourceMappingURL=ColumnPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnPicker.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-picker/ColumnPicker.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport {\n DragDropProvider,\n getColumnLabel,\n isCalculatedColumn,\n useSortable,\n} from \"@vuu-ui/vuu-utils\";\nimport cx from \"clsx\";\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n MouseEventHandler,\n RefCallback,\n useCallback,\n useMemo,\n useRef,\n} from \"react\";\n\nimport {\n Button,\n Input,\n ListBox,\n ListBoxProps,\n Option,\n OptionProps,\n} from \"@salt-ds/core\";\nimport { applyHighlighting } from \"@vuu-ui/vuu-table\";\nimport { Icon, IconButton } from \"@vuu-ui/vuu-ui-controls\";\nimport { ColumnChangeSource } from \"./ColumnModel\";\nimport { ColumnPickerHookProps, useColumnPicker } from \"./useColumnPicker\";\n\nimport columnPickerCss from \"./ColumnPicker.css\";\n\nconst classBase = \"vuuColumnPicker\";\nexport const classBaseListItem = \"vuuColumnPickerListItem\";\n\nexport interface ColumnPickerProps\n extends ColumnPickerHookProps,\n Pick<ListBoxProps<ColumnDescriptor>, \"selected\" | \"onSelectionChange\">,\n HTMLAttributes<HTMLDivElement> {\n allowCreateCalculatedColumn?: boolean;\n onClickCreateCalculatedColumn?: MouseEventHandler<HTMLButtonElement>;\n}\n\nconst searchIcon = <span data-icon=\"search\" />;\nconst NO_SELECTION: ColumnDescriptor[] = [] as const;\n\nconst useSorting = (id: string, index: number) => {\n const { handleRef: sortableHandleRef, ref: sortableRef } = useSortable({\n id,\n index,\n });\n\n const [handleRef, ref] = useMemo(() => {\n return [sortableHandleRef, sortableRef];\n }, [sortableHandleRef, sortableRef]);\n\n return {\n handleRef,\n ref,\n };\n};\n\nconst SelectedColumnListItem = ({\n className: classNameProp,\n index,\n column,\n onRemove,\n searchPattern = \"\",\n ...optionProps\n}: OptionProps & {\n index: number;\n column: ColumnDescriptor;\n onRemove: MouseEventHandler<HTMLButtonElement>;\n searchPattern?: Lowercase<string>;\n}) => {\n const { handleRef, ref } = useSorting(column.name, index);\n const value = getColumnLabel(column as ColumnDescriptor);\n const valueWithHighlighting = applyHighlighting(value, searchPattern);\n\n const handleRemoveButtonClick = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => {\n e.stopPropagation();\n onRemove?.(e);\n },\n [onRemove],\n );\n\n return (\n <Option\n {...optionProps}\n className={cx(classNameProp, classBaseListItem)}\n data-name={column.name}\n ref={ref}\n >\n <IconButton\n data-embedded\n appearance=\"transparent\"\n icon=\"draggable\"\n ref={handleRef}\n size={16}\n />\n {isCalculatedColumn(column.name) ? (\n <Icon className=\"vuuCalculatedColumnIcon\" name=\"function\" />\n ) : null}\n <span className={`${classBase}-text`}>{valueWithHighlighting}</span>\n <IconButton\n className={`${classBaseListItem}-action`}\n data-embedded\n appearance=\"transparent\"\n icon=\"cross\"\n onClick={handleRemoveButtonClick}\n size={16}\n />\n </Option>\n );\n};\n\nconst AvailableColumnListItem = ({\n className: classNameProp,\n index,\n column: item,\n onAdd,\n searchPattern = \"\",\n ...optionProps\n}: OptionProps & {\n index: number;\n column: ColumnDescriptor;\n onAdd: MouseEventHandler<HTMLButtonElement>;\n searchPattern?: Lowercase<string>;\n}) => {\n const value = getColumnLabel(item as ColumnDescriptor);\n const valueWithHighlighting = applyHighlighting(value, searchPattern);\n\n return (\n <Option\n {...optionProps}\n className={cx(classNameProp, classBaseListItem)}\n data-name={item.name}\n >\n <span className={`${classBase}-text`}>{valueWithHighlighting}</span>\n <IconButton\n className={`${classBaseListItem}-action`}\n data-embedded\n appearance=\"transparent\"\n icon=\"plus\"\n onClick={onAdd}\n size={16}\n />\n </Option>\n );\n};\n\nexport const ColumnPicker = forwardRef(function ColumnPicker(\n {\n allowCreateCalculatedColumn,\n columnModel,\n className,\n onClickCreateCalculatedColumn,\n onSelectionChange,\n selected = NO_SELECTION,\n ...htmlAttributes\n }: ColumnPickerProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-picker\",\n css: columnPickerCss,\n window: targetWindow,\n });\n\n const searchCallbackRef = useCallback<RefCallback<HTMLElement>>((el) => {\n setTimeout(() => {\n el?.querySelector(\"input\")?.focus();\n }, 100);\n }, []);\n\n const {\n availableColumns,\n onAddItemToSelectedList,\n onChangeSearchInput,\n onRemoveItemFromSelectedList,\n searchText,\n selectedColumns,\n } = useColumnPicker({\n columnModel: columnModel,\n });\n const listRef = useRef<HTMLDivElement>(null);\n\n const getOptionName = (option?: HTMLElement) => {\n if (option) {\n const { name } = option.dataset;\n if (name) {\n return name;\n }\n }\n throw Error(\"[ColumnPicker] list option has no data-name\");\n };\n\n const handleDragEnd = useCallback(() => {\n setTimeout(() => {\n const listItems =\n listRef.current?.querySelectorAll<HTMLDivElement>(\".saltOption\");\n if (listItems) {\n const orderedColumnNames = Array.from(listItems).map(getOptionName);\n columnModel.reorderSelectedColumns(\n orderedColumnNames,\n ColumnChangeSource.ColumnPicker,\n );\n }\n }, 300);\n }, [columnModel]);\n\n const oneOrMoreColumnsIsCalculated = selectedColumns.some((column) =>\n isCalculatedColumn(column.name),\n );\n return (\n <div\n {...htmlAttributes}\n className={cx(classBase, className, {\n [`${classBase}-withCalculated`]: oneOrMoreColumnsIsCalculated,\n })}\n ref={forwardedRef}\n >\n <form className={`${classBase}-search`} role=\"search\">\n <Input\n startAdornment={searchIcon}\n placeholder=\"Find column\"\n ref={searchCallbackRef}\n value={searchText}\n onChange={onChangeSearchInput}\n />\n </form>\n\n <div className={`${classBase}-scrollContainer vuuScrollable`}>\n <div className={`${classBase}-sectionHeader`}>Columns in view</div>\n <DragDropProvider onDragEnd={handleDragEnd}>\n <ListBox\n className={`${classBase}-selectedList`}\n onSelectionChange={onSelectionChange}\n ref={listRef}\n selected={selected}\n >\n {selectedColumns.map((column, index) => (\n <SelectedColumnListItem\n column={column}\n index={index}\n key={column.name}\n onRemove={onRemoveItemFromSelectedList}\n searchPattern={searchText.toLowerCase() as Lowercase<string>}\n value={column}\n />\n ))}\n </ListBox>\n </DragDropProvider>\n\n <div\n className={cx(\n `${classBase}-sectionHeader`,\n `${classBase}-availableHeader`,\n )}\n >\n Available columns\n </div>\n <ListBox\n className={`${classBase}-availableList`}\n selected={NO_SELECTION}\n >\n {availableColumns.map((column, index) => (\n <AvailableColumnListItem\n column={column}\n index={index}\n key={column.name}\n onAdd={onAddItemToSelectedList}\n searchPattern={searchText.toLowerCase() as Lowercase<string>}\n value={column}\n />\n ))}\n </ListBox>\n </div>\n {allowCreateCalculatedColumn ? (\n <div className={`${classBase}-column-buttons`}>\n <Button onClick={onClickCreateCalculatedColumn}>\n Create calculated column\n </Button>\n </div>\n ) : null}\n </div>\n );\n});\n"],"names":["ColumnPicker"],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { IconButton } from '@vuu-ui/vuu-ui-controls';
|
|
3
|
-
import { useCallback } from 'react';
|
|
4
|
-
import { useTableColumnPicker } from './useTableColumnPicker.js';
|
|
5
|
-
|
|
6
|
-
const ColumnPickerAction = ({
|
|
7
|
-
appearance = "transparent",
|
|
8
|
-
columnModel,
|
|
9
|
-
icon = "settings",
|
|
10
|
-
sentiment = "neutral",
|
|
11
|
-
...IconButtonProps2
|
|
12
|
-
}) => {
|
|
13
|
-
const { showColumnPicker } = useTableColumnPicker({ columnModel });
|
|
14
|
-
const handleClick = useCallback(() => {
|
|
15
|
-
showColumnPicker();
|
|
16
|
-
}, [showColumnPicker]);
|
|
17
|
-
return /* @__PURE__ */ jsx(
|
|
18
|
-
IconButton,
|
|
19
|
-
{
|
|
20
|
-
...IconButtonProps2,
|
|
21
|
-
appearance,
|
|
22
|
-
"data-action": "table-settings",
|
|
23
|
-
icon,
|
|
24
|
-
onClick: handleClick,
|
|
25
|
-
sentiment,
|
|
26
|
-
size: 20
|
|
27
|
-
}
|
|
28
|
-
);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export { ColumnPickerAction };
|
|
32
|
-
//# sourceMappingURL=ColumnPickerAction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnPickerAction.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-picker/ColumnPickerAction.tsx"],"sourcesContent":["import { IconButton, IconButtonProps } from \"@vuu-ui/vuu-ui-controls\";\nimport { ColumnPickerHookProps } from \"./useColumnPicker\";\nimport { useCallback } from \"react\";\nimport { useTableColumnPicker } from \"./useTableColumnPicker\";\n\nexport interface ColumnPickerActionProps\n extends Partial<IconButtonProps>,\n ColumnPickerHookProps {}\n\nexport const ColumnPickerAction = ({\n appearance = \"transparent\",\n columnModel,\n icon = \"settings\",\n sentiment = \"neutral\",\n ...IconButtonProps\n}: ColumnPickerActionProps) => {\n const { showColumnPicker } = useTableColumnPicker({ columnModel });\n\n const handleClick = useCallback(() => {\n showColumnPicker();\n }, [showColumnPicker]);\n\n return (\n <IconButton\n {...IconButtonProps}\n appearance={appearance}\n data-action=\"table-settings\"\n icon={icon}\n onClick={handleClick}\n sentiment={sentiment}\n size={20}\n />\n );\n};\n"],"names":["IconButtonProps"],"mappings":";;;;;AASO,MAAM,qBAAqB,CAAC;AAAA,EACjC,UAAa,GAAA,aAAA;AAAA,EACb,WAAA;AAAA,EACA,IAAO,GAAA,UAAA;AAAA,EACP,SAAY,GAAA,SAAA;AAAA,EACZ,GAAGA;AACL,CAA+B,KAAA;AAC7B,EAAA,MAAM,EAAE,gBAAiB,EAAA,GAAI,oBAAqB,CAAA,EAAE,aAAa,CAAA;AAEjE,EAAM,MAAA,WAAA,GAAc,YAAY,MAAM;AACpC,IAAiB,gBAAA,EAAA;AAAA,GACnB,EAAG,CAAC,gBAAgB,CAAC,CAAA;AAErB,EACE,uBAAA,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACE,GAAGA,gBAAAA;AAAA,MACJ,UAAA;AAAA,MACA,aAAY,EAAA,gBAAA;AAAA,MACZ,IAAA;AAAA,MACA,OAAS,EAAA,WAAA;AAAA,MACT,SAAA;AAAA,MACA,IAAM,EAAA;AAAA;AAAA,GACR;AAEJ;;;;"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { queryClosest } from '@vuu-ui/vuu-utils';
|
|
2
|
-
import { useState, useEffect, useCallback } from 'react';
|
|
3
|
-
import { ColumnChangeSource } from './ColumnModel.js';
|
|
4
|
-
|
|
5
|
-
const SOURCE = ColumnChangeSource.ColumnPicker;
|
|
6
|
-
const columnName = (target) => {
|
|
7
|
-
const listItem = queryClosest(target, ".saltOption", true);
|
|
8
|
-
const { name } = listItem.dataset;
|
|
9
|
-
if (name) {
|
|
10
|
-
return name;
|
|
11
|
-
} else {
|
|
12
|
-
throw Error(
|
|
13
|
-
"[useColumnPicker] column name could not be identified, data-name attribute not found"
|
|
14
|
-
);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
const useColumnPicker = ({
|
|
18
|
-
columnModel: model
|
|
19
|
-
}) => {
|
|
20
|
-
const [, forceRender] = useState({});
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
model.on("render", forceRender);
|
|
23
|
-
return () => {
|
|
24
|
-
model.removeListener("render", forceRender);
|
|
25
|
-
};
|
|
26
|
-
}, [model]);
|
|
27
|
-
const handleChangeSearchInput = useCallback(
|
|
28
|
-
(evt) => {
|
|
29
|
-
const { value } = evt.target;
|
|
30
|
-
model.searchPattern = value;
|
|
31
|
-
},
|
|
32
|
-
[model]
|
|
33
|
-
);
|
|
34
|
-
const handleAddItemToSelectedList = useCallback(
|
|
35
|
-
(e) => model.addItemToSelectedColumns(columnName(e.target), SOURCE),
|
|
36
|
-
[model]
|
|
37
|
-
);
|
|
38
|
-
const handleRemoveItemFromSelectedList = useCallback(
|
|
39
|
-
(e) => model.removeItemFromSelectedColumns(columnName(e.target), SOURCE),
|
|
40
|
-
[model]
|
|
41
|
-
);
|
|
42
|
-
return {
|
|
43
|
-
availableColumns: model.availableColumns,
|
|
44
|
-
onAddItemToSelectedList: handleAddItemToSelectedList,
|
|
45
|
-
onRemoveItemFromSelectedList: handleRemoveItemFromSelectedList,
|
|
46
|
-
onChangeSearchInput: handleChangeSearchInput,
|
|
47
|
-
searchText: model.searchPattern,
|
|
48
|
-
selectedColumns: model.selectedColumns
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export { useColumnPicker };
|
|
53
|
-
//# sourceMappingURL=useColumnPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useColumnPicker.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-picker/useColumnPicker.tsx"],"sourcesContent":["import { ColumnDescriptor, TableSelectionModel } from \"@vuu-ui/vuu-table-types\";\nimport { queryClosest } from \"@vuu-ui/vuu-utils\";\nimport {\n FormEventHandler,\n MouseEventHandler,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport {\n ColumnChangeSource,\n ColumnModel,\n SelectedColumnChangeType,\n} from \"./ColumnModel\";\n\nexport type ColumnSelectionModel = Extract<\n TableSelectionModel,\n \"none\" | \"single\"\n>;\n\nconst SOURCE = ColumnChangeSource.ColumnPicker;\n\nconst columnName = (target: EventTarget) => {\n const listItem = queryClosest(target, \".saltOption\", true);\n const { name } = listItem.dataset;\n if (name) {\n return name;\n } else {\n throw Error(\n \"[useColumnPicker] column name could not be identified, data-name attribute not found\",\n );\n }\n};\nexport type SelectedColumnsChangeHandler = (\n columns: ColumnDescriptor[],\n changeType: SelectedColumnChangeType,\n) => void;\n\nexport interface ColumnPickerHookProps {\n columnModel: ColumnModel;\n}\n\nexport const useColumnPicker = ({\n columnModel: model,\n}: ColumnPickerHookProps) => {\n const [, forceRender] = useState({});\n useEffect(() => {\n model.on(\"render\", forceRender);\n return () => {\n model.removeListener(\"render\", forceRender);\n };\n }, [model]);\n\n const handleChangeSearchInput = useCallback<FormEventHandler>(\n (evt) => {\n const { value } = evt.target as HTMLInputElement;\n model.searchPattern = value;\n },\n [model],\n );\n\n const handleAddItemToSelectedList = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => model.addItemToSelectedColumns(columnName(e.target), SOURCE),\n [model],\n );\n\n const handleRemoveItemFromSelectedList = useCallback<\n MouseEventHandler<HTMLButtonElement>\n >(\n (e) => model.removeItemFromSelectedColumns(columnName(e.target), SOURCE),\n [model],\n );\n\n return {\n availableColumns: model.availableColumns,\n onAddItemToSelectedList: handleAddItemToSelectedList,\n onRemoveItemFromSelectedList: handleRemoveItemFromSelectedList,\n onChangeSearchInput: handleChangeSearchInput,\n searchText: model.searchPattern,\n selectedColumns: model.selectedColumns,\n };\n};\n"],"names":[],"mappings":";;;;AAoBA,MAAM,SAAS,kBAAmB,CAAA,YAAA;AAElC,MAAM,UAAA,GAAa,CAAC,MAAwB,KAAA;AAC1C,EAAA,MAAM,QAAW,GAAA,YAAA,CAAa,MAAQ,EAAA,aAAA,EAAe,IAAI,CAAA;AACzD,EAAM,MAAA,EAAE,IAAK,EAAA,GAAI,QAAS,CAAA,OAAA;AAC1B,EAAA,IAAI,IAAM,EAAA;AACR,IAAO,OAAA,IAAA;AAAA,GACF,MAAA;AACL,IAAM,MAAA,KAAA;AAAA,MACJ;AAAA,KACF;AAAA;AAEJ,CAAA;AAUO,MAAM,kBAAkB,CAAC;AAAA,EAC9B,WAAa,EAAA;AACf,CAA6B,KAAA;AAC3B,EAAA,MAAM,GAAG,WAAW,CAAI,GAAA,QAAA,CAAS,EAAE,CAAA;AACnC,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,KAAA,CAAA,EAAA,CAAG,UAAU,WAAW,CAAA;AAC9B,IAAA,OAAO,MAAM;AACX,MAAM,KAAA,CAAA,cAAA,CAAe,UAAU,WAAW,CAAA;AAAA,KAC5C;AAAA,GACF,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,MAAM,uBAA0B,GAAA,WAAA;AAAA,IAC9B,CAAC,GAAQ,KAAA;AACP,MAAM,MAAA,EAAE,KAAM,EAAA,GAAI,GAAI,CAAA,MAAA;AACtB,MAAA,KAAA,CAAM,aAAgB,GAAA,KAAA;AAAA,KACxB;AAAA,IACA,CAAC,KAAK;AAAA,GACR;AAEA,EAAA,MAAM,2BAA8B,GAAA,WAAA;AAAA,IAGlC,CAAC,MAAM,KAAM,CAAA,wBAAA,CAAyB,WAAW,CAAE,CAAA,MAAM,GAAG,MAAM,CAAA;AAAA,IAClE,CAAC,KAAK;AAAA,GACR;AAEA,EAAA,MAAM,gCAAmC,GAAA,WAAA;AAAA,IAGvC,CAAC,MAAM,KAAM,CAAA,6BAAA,CAA8B,WAAW,CAAE,CAAA,MAAM,GAAG,MAAM,CAAA;AAAA,IACvE,CAAC,KAAK;AAAA,GACR;AAEA,EAAO,OAAA;AAAA,IACL,kBAAkB,KAAM,CAAA,gBAAA;AAAA,IACxB,uBAAyB,EAAA,2BAAA;AAAA,IACzB,4BAA8B,EAAA,gCAAA;AAAA,IAC9B,mBAAqB,EAAA,uBAAA;AAAA,IACrB,YAAY,KAAM,CAAA,aAAA;AAAA,IAClB,iBAAiB,KAAM,CAAA;AAAA,GACzB;AACF;;;;"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useContextPanel, useHideContextPanel } from '@vuu-ui/vuu-ui-controls';
|
|
3
|
-
import { useRef, useCallback, useEffect } from 'react';
|
|
4
|
-
import { ColumnPicker } from './ColumnPicker.js';
|
|
5
|
-
|
|
6
|
-
const useTableColumnPicker = ({
|
|
7
|
-
columnModel
|
|
8
|
-
}) => {
|
|
9
|
-
const showContextPanel = useContextPanel();
|
|
10
|
-
const hideContextPanel = useHideContextPanel();
|
|
11
|
-
const contextPanelShowing = useRef(false);
|
|
12
|
-
const showColumnPicker = useCallback(
|
|
13
|
-
(title = "Column Picker") => {
|
|
14
|
-
contextPanelShowing.current = true;
|
|
15
|
-
showContextPanel(/* @__PURE__ */ jsx(ColumnPicker, { columnModel }), title);
|
|
16
|
-
},
|
|
17
|
-
[columnModel, showContextPanel]
|
|
18
|
-
);
|
|
19
|
-
useEffect(
|
|
20
|
-
() => () => {
|
|
21
|
-
if (contextPanelShowing.current) {
|
|
22
|
-
hideContextPanel?.();
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
[hideContextPanel]
|
|
26
|
-
);
|
|
27
|
-
return {
|
|
28
|
-
showColumnPicker
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export { useTableColumnPicker };
|
|
33
|
-
//# sourceMappingURL=useTableColumnPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTableColumnPicker.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-picker/useTableColumnPicker.tsx"],"sourcesContent":["import { useContextPanel, useHideContextPanel } from \"@vuu-ui/vuu-ui-controls\";\nimport { useCallback, useEffect, useRef } from \"react\";\nimport { ColumnPicker } from \"./ColumnPicker\";\nimport { ColumnModel } from \"./ColumnModel\";\n\nexport interface TableColumnPickerHookProps {\n columnModel: ColumnModel;\n}\n\nexport const useTableColumnPicker = ({\n columnModel,\n}: TableColumnPickerHookProps) => {\n const showContextPanel = useContextPanel();\n const hideContextPanel = useHideContextPanel();\n const contextPanelShowing = useRef(false);\n\n const showColumnPicker = useCallback(\n (title = \"Column Picker\") => {\n contextPanelShowing.current = true;\n showContextPanel(<ColumnPicker columnModel={columnModel} />, title);\n },\n [columnModel, showContextPanel],\n );\n\n // TODO what's this for ?\n useEffect(\n () => () => {\n if (contextPanelShowing.current) {\n // It might already be closed, but this won't do any harm\n hideContextPanel?.();\n }\n },\n [hideContextPanel],\n );\n\n return {\n showColumnPicker,\n };\n};\n"],"names":[],"mappings":";;;;;AASO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AACF,CAAkC,KAAA;AAChC,EAAA,MAAM,mBAAmB,eAAgB,EAAA;AACzC,EAAA,MAAM,mBAAmB,mBAAoB,EAAA;AAC7C,EAAM,MAAA,mBAAA,GAAsB,OAAO,KAAK,CAAA;AAExC,EAAA,MAAM,gBAAmB,GAAA,WAAA;AAAA,IACvB,CAAC,QAAQ,eAAoB,KAAA;AAC3B,MAAA,mBAAA,CAAoB,OAAU,GAAA,IAAA;AAC9B,MAAA,gBAAA,iBAAkB,GAAA,CAAA,YAAA,EAAA,EAAa,WAA0B,EAAA,CAAA,EAAI,KAAK,CAAA;AAAA,KACpE;AAAA,IACA,CAAC,aAAa,gBAAgB;AAAA,GAChC;AAGA,EAAA,SAAA;AAAA,IACE,MAAM,MAAM;AACV,MAAA,IAAI,oBAAoB,OAAS,EAAA;AAE/B,QAAmB,gBAAA,IAAA;AAAA;AACrB,KACF;AAAA,IACA,CAAC,gBAAgB;AAAA,GACnB;AAEA,EAAO,OAAA;AAAA,IACL;AAAA,GACF;AACF;;;;"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var columnNameLabelCss = ".vuuColumnNameLabel-calculated {\n cursor: pointer;\n display: flex;\n gap: 2px;\n}\n\n.vuuColumnNameLabel-edit {\n margin-left: auto;\n}\n\n.vuuColumnNameLabel-placeholder {\n color: var(--vuu-color-gray-35);\n}";
|
|
2
|
-
|
|
3
|
-
export { columnNameLabelCss as default };
|
|
4
|
-
//# sourceMappingURL=ColumnNameLabel.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnNameLabel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|