@vuu-ui/vuu-table-extras 2.1.19-beta.1 → 2.1.19-beta.3
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/node_modules/csv-parse/dist/esm/sync.js +3978 -0
- package/cjs/node_modules/csv-parse/dist/esm/sync.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +85 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +71 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +138 -0
- package/cjs/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +25 -0
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +31 -0
- package/cjs/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +81 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +67 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +20 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +40 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +103 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +21 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +62 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +69 -0
- package/cjs/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +39 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +307 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +28 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +465 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +61 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +21 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +39 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js +16 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js +63 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/theme.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +358 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +131 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +213 -0
- package/cjs/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +98 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +111 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +102 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +48 -0
- package/cjs/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +107 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +459 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js +68 -0
- package/cjs/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js +177 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +252 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +34 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +55 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +35 -0
- package/cjs/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +45 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +161 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +203 -0
- package/cjs/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +95 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js +8 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +64 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +199 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +100 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +86 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +306 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js +73 -0
- package/cjs/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +76 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +61 -0
- package/cjs/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +106 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +55 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +10 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +68 -0
- package/cjs/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/index.js +102 -0
- package/cjs/packages/vuu-table-extras/src/index.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +90 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +44 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +49 -0
- package/cjs/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js +34 -0
- package/cjs/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js +61 -0
- package/cjs/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +6 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +116 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +1 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +60 -0
- package/cjs/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +1 -0
- package/esm/node_modules/csv-parse/dist/esm/sync.js +3974 -0
- package/esm/node_modules/csv-parse/dist/esm/sync.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js +83 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/CalculatedColumnPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js +69 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/useCalculatedColumnPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js +136 -0
- package/esm/packages/vuu-table-extras/src/calculated-column/useEditCalculatedColumn.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js +23 -0
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/CaseValidator.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js +29 -0
- package/esm/packages/vuu-table-extras/src/cell-edit-validators/PatternValidator.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js +79 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js +65 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundCellConfigurationEditor.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/BackgroundKeyframes.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js +18 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/background-cell/useDirection.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js +38 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/button-cell/IconButtonCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js +101 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/dropdown-cell/DropdownCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js +19 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/lookup-cell/LookupCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js +60 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/pct-progress-cell/PctProgressCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js +67 -0
- package/esm/packages/vuu-table-extras/src/cell-renderers/progress-cell/ProgressCell.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js +37 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/ColumnExpressionInput.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js +305 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-function-descriptors.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js +26 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionLanguage.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js +463 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/ColumnExpressionTreeWalker.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js +56 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/column-expression-parse-utils.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js +19 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/column-language-parser/generated/column-parser.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js +37 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/functionDocInfo.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js +14 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/highlighting.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js +61 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/theme.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js +356 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnAutoComplete.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js +129 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionEditor.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js +211 -0
- package/esm/packages/vuu-table-extras/src/column-expression-input/useColumnExpressionSuggestionProvider.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js +96 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/BaseNumericFormattingSettings.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js +109 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js +100 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js +46 -0
- package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js +105 -0
- package/esm/packages/vuu-table-extras/src/column-menu/ColumnMenu.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js +451 -0
- package/esm/packages/vuu-table-extras/src/column-menu/column-menu-utils.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js +66 -0
- package/esm/packages/vuu-table-extras/src/column-menu/useColumnActions.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js +170 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnModel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js +249 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPicker.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js +32 -0
- package/esm/packages/vuu-table-extras/src/column-picker/ColumnPickerAction.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js +53 -0
- package/esm/packages/vuu-table-extras/src/column-picker/useColumnPicker.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js +33 -0
- package/esm/packages/vuu-table-extras/src/column-picker/useTableColumnPicker.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js +43 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnNameLabel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js +159 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/ColumnSettingsPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js +201 -0
- package/esm/packages/vuu-table-extras/src/column-settings-panel/useColumnSettings.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js +93 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/CsvUpload.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js +5 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-constants.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js +57 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-errors.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js +196 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-parse.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js +97 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-schema-validation.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js +76 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/parse/csv-upload-utils.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js +304 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUpload.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js +71 -0
- package/esm/packages/vuu-table-extras/src/csv-upload/useCsvUploadSessionPreview.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js +74 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/DatasourceStats.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js +59 -0
- package/esm/packages/vuu-table-extras/src/datasource-stats/useDatasourceStats.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js +104 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FreezeControl.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js +53 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/FrozenBanner.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js +8 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/freezeControlBadge.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js +66 -0
- package/esm/packages/vuu-table-extras/src/freeze-control/useFreezeControl.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/index.js +43 -0
- package/esm/packages/vuu-table-extras/src/index.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js +88 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableConfigPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js +42 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/TabbedTableSettingsAction.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js +47 -0
- package/esm/packages/vuu-table-extras/src/tabbed-table-config-panel/useTabbedTableConfigPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js +31 -0
- package/esm/packages/vuu-table-extras/src/table-footer/TableFooter.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js +56 -0
- package/esm/packages/vuu-table-extras/src/table-provider/TableProvider.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js +4 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.css.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js +112 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/TableSettingsPanel.js.map +1 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js +58 -0
- package/esm/packages/vuu-table-extras/src/table-settings-panel/useTableSettings.js.map +1 -0
- package/package.json +16 -14
- 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 +24 -1
- package/types/column-expression-input/column-language-parser/test.d.mts +1 -1
- package/types/freeze-control/useFreezeControl.d.ts +1 -1
package/esm/packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { getTypeFormattingFromColumn, defaultPatternsByType, dateTimeLabelByType, supportedDateTimePatterns, isDatePattern, isTimePattern, fallbackDateTimePattern } from '@vuu-ui/vuu-utils';
|
|
3
|
+
import { FormField, FormFieldLabel, ToggleButtonGroup, ToggleButton, Dropdown, Option } from '@salt-ds/core';
|
|
4
|
+
import { useMemo, useState, useCallback } from 'react';
|
|
5
|
+
|
|
6
|
+
const toggleValues = ["date", "time", "both"];
|
|
7
|
+
function getToggleValue(pattern) {
|
|
8
|
+
return !pattern.time ? "date" : !pattern.date ? "time" : "both";
|
|
9
|
+
}
|
|
10
|
+
const getSelectedPattern = (pattern) => {
|
|
11
|
+
if (isDatePattern(pattern)) {
|
|
12
|
+
return [pattern];
|
|
13
|
+
} else if (isTimePattern(pattern)) {
|
|
14
|
+
return [pattern];
|
|
15
|
+
} else {
|
|
16
|
+
return void 0;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const DateTimeFormattingSettings = ({
|
|
20
|
+
column,
|
|
21
|
+
onChangeFormatting: onChange
|
|
22
|
+
}) => {
|
|
23
|
+
const formatting = getTypeFormattingFromColumn(column);
|
|
24
|
+
const { pattern = fallbackDateTimePattern } = formatting;
|
|
25
|
+
const toggleValue = useMemo(() => getToggleValue(pattern), [pattern]);
|
|
26
|
+
const [fallbackState, setFallbackState] = useState(
|
|
27
|
+
{
|
|
28
|
+
time: pattern.time ?? defaultPatternsByType.time,
|
|
29
|
+
date: pattern.date ?? defaultPatternsByType.date
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
const onPatternChange = useCallback(
|
|
33
|
+
(pattern2) => onChange({ ...formatting, pattern: pattern2 }),
|
|
34
|
+
[onChange, formatting]
|
|
35
|
+
);
|
|
36
|
+
const onDropdownChange = useCallback(
|
|
37
|
+
(dateTime) => (_, [selectedPattern]) => {
|
|
38
|
+
const updatedPattern = {
|
|
39
|
+
...pattern ?? {},
|
|
40
|
+
[dateTime]: selectedPattern
|
|
41
|
+
};
|
|
42
|
+
setFallbackState((s) => ({
|
|
43
|
+
time: updatedPattern.time ?? s.time,
|
|
44
|
+
date: updatedPattern.date ?? s.date
|
|
45
|
+
}));
|
|
46
|
+
onPatternChange(updatedPattern);
|
|
47
|
+
},
|
|
48
|
+
[onPatternChange, pattern]
|
|
49
|
+
);
|
|
50
|
+
const onToggleChange = useCallback(
|
|
51
|
+
(evnt) => {
|
|
52
|
+
const value = evnt.currentTarget.value;
|
|
53
|
+
switch (value) {
|
|
54
|
+
case "time":
|
|
55
|
+
return onPatternChange({
|
|
56
|
+
[value]: pattern[value] ?? fallbackState[value]
|
|
57
|
+
});
|
|
58
|
+
case "date":
|
|
59
|
+
return onPatternChange({
|
|
60
|
+
[value]: pattern[value] ?? fallbackState[value]
|
|
61
|
+
});
|
|
62
|
+
case "both":
|
|
63
|
+
return onPatternChange({
|
|
64
|
+
time: pattern.time ?? fallbackState.time,
|
|
65
|
+
date: pattern.date ?? fallbackState.date
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
[onPatternChange, pattern, fallbackState]
|
|
70
|
+
);
|
|
71
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
72
|
+
/* @__PURE__ */ jsxs(FormField, { labelPlacement: "top", children: [
|
|
73
|
+
/* @__PURE__ */ jsx(FormFieldLabel, { children: "Display" }),
|
|
74
|
+
/* @__PURE__ */ jsx(
|
|
75
|
+
ToggleButtonGroup,
|
|
76
|
+
{
|
|
77
|
+
className: "vuuToggleButtonGroup",
|
|
78
|
+
onChange: onToggleChange,
|
|
79
|
+
value: toggleValue,
|
|
80
|
+
"data-variant": "primary",
|
|
81
|
+
children: toggleValues.map((v) => /* @__PURE__ */ jsx(ToggleButton, { value: v, children: v.toUpperCase() }, v))
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
] }),
|
|
85
|
+
["date", "time"].filter((v) => !!pattern[v]).map((v) => /* @__PURE__ */ jsxs(FormField, { labelPlacement: "top", children: [
|
|
86
|
+
/* @__PURE__ */ jsx(FormFieldLabel, { children: `${dateTimeLabelByType[v]} pattern` }),
|
|
87
|
+
/* @__PURE__ */ jsx(
|
|
88
|
+
Dropdown,
|
|
89
|
+
{
|
|
90
|
+
onSelectionChange: onDropdownChange(v),
|
|
91
|
+
selected: getSelectedPattern(pattern[v]),
|
|
92
|
+
children: supportedDateTimePatterns[v].map((pattern2, i) => /* @__PURE__ */ jsx(Option, { value: pattern2, children: pattern2 }, i))
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
] }, v))
|
|
96
|
+
] });
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export { DateTimeFormattingSettings };
|
|
100
|
+
//# sourceMappingURL=DateTimeFormattingSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeFormattingSettings.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-formatting-settings/DateTimeFormattingSettings.tsx"],"sourcesContent":["import { FormattingSettingsProps } from \"@vuu-ui/vuu-table-types\";\nimport {\n DatePattern,\n DateTimePattern,\n TimePattern,\n dateTimeLabelByType,\n defaultPatternsByType,\n fallbackDateTimePattern,\n getTypeFormattingFromColumn,\n isDatePattern,\n isTimePattern,\n supportedDateTimePatterns,\n} from \"@vuu-ui/vuu-utils\";\nimport {\n Dropdown,\n FormField,\n FormFieldLabel,\n Option,\n ToggleButton,\n ToggleButtonGroup,\n} from \"@salt-ds/core\";\nimport React, { SyntheticEvent, useCallback, useMemo, useState } from \"react\";\n\nconst toggleValues = [\"date\", \"time\", \"both\"] as const;\ntype ToggleValue = (typeof toggleValues)[number];\n\nfunction getToggleValue(pattern: DateTimePattern): ToggleValue {\n return !pattern.time ? \"date\" : !pattern.date ? \"time\" : \"both\";\n}\n\ntype DateTime = keyof DateTimePattern;\n\nconst getSelectedPattern = (\n pattern?: DatePattern | TimePattern,\n): DatePattern[] | TimePattern[] | undefined => {\n if (isDatePattern(pattern)) {\n return [pattern] as DatePattern[];\n } else if (isTimePattern(pattern)) {\n return [pattern] as TimePattern[];\n } else {\n return undefined;\n }\n};\n\nexport const DateTimeFormattingSettings: React.FC<FormattingSettingsProps> = ({\n column,\n onChangeFormatting: onChange,\n}) => {\n const formatting = getTypeFormattingFromColumn(column);\n const { pattern = fallbackDateTimePattern } = formatting;\n const toggleValue = useMemo(() => getToggleValue(pattern), [pattern]);\n\n const [fallbackState, setFallbackState] = useState<Required<DateTimePattern>>(\n {\n time: pattern.time ?? defaultPatternsByType.time,\n date: pattern.date ?? defaultPatternsByType.date,\n },\n );\n\n const onPatternChange = useCallback(\n (pattern: DateTimePattern) => onChange({ ...formatting, pattern }),\n [onChange, formatting],\n );\n\n const onDropdownChange = useCallback<\n <T extends DateTime>(\n dateTime: T,\n ) => (\n e: SyntheticEvent,\n newSelected: Array<Required<DateTimePattern>[T]>,\n ) => void\n >(\n (dateTime) =>\n (_, [selectedPattern]) => {\n const updatedPattern = {\n ...(pattern ?? {}),\n [dateTime]: selectedPattern,\n };\n setFallbackState((s) => ({\n time: updatedPattern.time ?? s.time,\n date: updatedPattern.date ?? s.date,\n }));\n onPatternChange(updatedPattern);\n },\n [onPatternChange, pattern],\n );\n\n const onToggleChange = useCallback(\n (evnt: SyntheticEvent<HTMLButtonElement, Event>) => {\n const value = evnt.currentTarget.value as ToggleValue;\n switch (value) {\n case \"time\":\n return onPatternChange({\n [value]: pattern[value] ?? fallbackState[value],\n });\n case \"date\":\n return onPatternChange({\n [value]: pattern[value] ?? fallbackState[value],\n });\n case \"both\":\n return onPatternChange({\n time: pattern.time ?? fallbackState.time,\n date: pattern.date ?? fallbackState.date,\n });\n }\n },\n [onPatternChange, pattern, fallbackState],\n );\n\n return (\n <>\n <FormField labelPlacement=\"top\">\n <FormFieldLabel>{\"Display\"}</FormFieldLabel>\n <ToggleButtonGroup\n className=\"vuuToggleButtonGroup\"\n onChange={onToggleChange}\n value={toggleValue}\n data-variant=\"primary\"\n >\n {toggleValues.map((v) => (\n <ToggleButton key={v} value={v}>\n {v.toUpperCase()}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n </FormField>\n\n {([\"date\", \"time\"] as const)\n .filter((v) => !!pattern[v])\n .map((v) => (\n <FormField labelPlacement=\"top\" key={v}>\n <FormFieldLabel>{`${dateTimeLabelByType[v]} pattern`}</FormFieldLabel>\n <Dropdown<Required<DateTimePattern>[typeof v]>\n onSelectionChange={onDropdownChange(v)}\n selected={getSelectedPattern(pattern[v])}\n >\n {supportedDateTimePatterns[v].map((pattern, i) => (\n <Option key={i} value={pattern}>\n {pattern}\n </Option>\n ))}\n </Dropdown>\n </FormField>\n ))}\n </>\n );\n};\n"],"names":["pattern"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var longTypeFormattingSettingsCss = ".vuuLongColumnFormattingSettings {\n display: flex;\n flex-direction: column;\n gap: var(--salt-spacing-200);\n padding-top: 6px;\n}\n";
|
|
2
|
+
|
|
3
|
+
export { longTypeFormattingSettingsCss as default };
|
|
4
|
+
//# sourceMappingURL=LongTypeFormattingSettings.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LongTypeFormattingSettings.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/esm/packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { FormField, FormFieldLabel, ToggleButtonGroup, ToggleButton } from '@salt-ds/core';
|
|
3
|
+
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
4
|
+
import { useWindow } from '@salt-ds/window';
|
|
5
|
+
import { useCallback } from 'react';
|
|
6
|
+
import { BaseNumericFormattingSettings } from './BaseNumericFormattingSettings.js';
|
|
7
|
+
import longTypeFormattingSettingsCss from './LongTypeFormattingSettings.css.js';
|
|
8
|
+
import { isTypeDescriptor } from '@vuu-ui/vuu-utils';
|
|
9
|
+
|
|
10
|
+
const classBase = "vuuLongColumnFormattingSettings";
|
|
11
|
+
const LongTypeFormattingSettings = (props) => {
|
|
12
|
+
const targetWindow = useWindow();
|
|
13
|
+
useComponentCssInjection({
|
|
14
|
+
testId: "vuu-long-formatting-settings",
|
|
15
|
+
css: longTypeFormattingSettingsCss,
|
|
16
|
+
window: targetWindow
|
|
17
|
+
});
|
|
18
|
+
const { column, onChangeColumnType: onChangeType } = props;
|
|
19
|
+
const type = isTypeDescriptor(column.type) ? column.type.name : column.type;
|
|
20
|
+
const handleToggleChange = useCallback(
|
|
21
|
+
(event) => {
|
|
22
|
+
const value = event.currentTarget.value;
|
|
23
|
+
onChangeType(value);
|
|
24
|
+
},
|
|
25
|
+
[onChangeType]
|
|
26
|
+
);
|
|
27
|
+
return /* @__PURE__ */ jsxs("div", { className: classBase, children: [
|
|
28
|
+
/* @__PURE__ */ jsxs(FormField, { children: [
|
|
29
|
+
/* @__PURE__ */ jsx(FormFieldLabel, { children: "Type inferred as" }),
|
|
30
|
+
/* @__PURE__ */ jsx(
|
|
31
|
+
ToggleButtonGroup,
|
|
32
|
+
{
|
|
33
|
+
className: "vuuToggleButtonGroup",
|
|
34
|
+
onChange: handleToggleChange,
|
|
35
|
+
value: type ?? "number",
|
|
36
|
+
children: toggleValues.map((v) => /* @__PURE__ */ jsx(ToggleButton, { value: v, children: v.toUpperCase() }, v))
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
] }),
|
|
40
|
+
/* @__PURE__ */ jsx(BaseNumericFormattingSettings, { ...props })
|
|
41
|
+
] });
|
|
42
|
+
};
|
|
43
|
+
const toggleValues = ["number", "date/time"];
|
|
44
|
+
|
|
45
|
+
export { LongTypeFormattingSettings };
|
|
46
|
+
//# sourceMappingURL=LongTypeFormattingSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LongTypeFormattingSettings.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-formatting-settings/LongTypeFormattingSettings.tsx"],"sourcesContent":["import {\n FormField,\n FormFieldLabel,\n ToggleButton,\n ToggleButtonGroup,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { FormattingSettingsProps } from \"@vuu-ui/vuu-table-types\";\nimport React, { useCallback } from \"react\";\nimport { BaseNumericFormattingSettings } from \"./BaseNumericFormattingSettings\";\n\nimport longTypeFormattingSettingsCss from \"./LongTypeFormattingSettings.css\";\nimport { isTypeDescriptor } from \"@vuu-ui/vuu-utils\";\n\nconst classBase = \"vuuLongColumnFormattingSettings\";\n\nexport const LongTypeFormattingSettings = (props: FormattingSettingsProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-long-formatting-settings\",\n css: longTypeFormattingSettingsCss,\n window: targetWindow,\n });\n\n const { column, onChangeColumnType: onChangeType } = props;\n const type = isTypeDescriptor(column.type) ? column.type.name : column.type;\n\n const handleToggleChange = useCallback(\n (event: React.SyntheticEvent<HTMLButtonElement, Event>) => {\n const value = event.currentTarget.value as ToggleValue;\n onChangeType(value);\n },\n [onChangeType],\n );\n\n return (\n <div className={classBase}>\n <FormField>\n <FormFieldLabel>{\"Type inferred as\"}</FormFieldLabel>\n <ToggleButtonGroup\n className=\"vuuToggleButtonGroup\"\n onChange={handleToggleChange}\n value={type ?? \"number\"}\n >\n {toggleValues.map((v) => (\n <ToggleButton key={v} value={v}>\n {v.toUpperCase()}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n </FormField>\n <BaseNumericFormattingSettings {...props} />\n </div>\n );\n};\n\nconst toggleValues = [\"number\", \"date/time\"] as const;\ntype ToggleValue = (typeof toggleValues)[number];\n"],"names":[],"mappings":";;;;;;;;;AAeA,MAAM,SAAY,GAAA,iCAAA;AAEL,MAAA,0BAAA,GAA6B,CAAC,KAAmC,KAAA;AAC5E,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,8BAAA;AAAA,IACR,GAAK,EAAA,6BAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,MAAA,EAAQ,kBAAoB,EAAA,YAAA,EAAiB,GAAA,KAAA;AACrD,EAAM,MAAA,IAAA,GAAO,iBAAiB,MAAO,CAAA,IAAI,IAAI,MAAO,CAAA,IAAA,CAAK,OAAO,MAAO,CAAA,IAAA;AAEvE,EAAA,MAAM,kBAAqB,GAAA,WAAA;AAAA,IACzB,CAAC,KAA0D,KAAA;AACzD,MAAM,MAAA,KAAA,GAAQ,MAAM,aAAc,CAAA,KAAA;AAClC,MAAA,YAAA,CAAa,KAAK,CAAA;AAAA,KACpB;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EACE,uBAAA,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,SACd,EAAA,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,SACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,kBAAgB,QAAmB,EAAA,kBAAA,EAAA,CAAA;AAAA,sBACpC,GAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,SAAU,EAAA,sBAAA;AAAA,UACV,QAAU,EAAA,kBAAA;AAAA,UACV,OAAO,IAAQ,IAAA,QAAA;AAAA,UAEd,QAAa,EAAA,YAAA,CAAA,GAAA,CAAI,CAAC,CAAA,qBAChB,GAAA,CAAA,YAAA,EAAA,EAAqB,KAAO,EAAA,CAAA,EAC1B,QAAE,EAAA,CAAA,CAAA,WAAA,EADc,EAAA,EAAA,CAEnB,CACD;AAAA;AAAA;AACH,KACF,EAAA,CAAA;AAAA,oBACA,GAAA,CAAC,6BAA+B,EAAA,EAAA,GAAG,KAAO,EAAA;AAAA,GAC5C,EAAA,CAAA;AAEJ;AAEA,MAAM,YAAA,GAAe,CAAC,QAAA,EAAU,WAAW,CAAA;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var columnMenuCss = ".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.vuuColumnMenu {\n --menu-button-size: calc(var(--salt-size-base) - var(--salt-spacing-100));\n --saltButton-borderRadius: 3px;\n --saltButton-padding: var(--salt-spacing-50);\n --saltButton-minWidth: var(--menu-button-size);\n --saltButton-height: var(--vuuColumnMenu-height,var(--menu-button-size));\n --saltButton-width: var(--vuuColumnMenu-width, var(--menu-button-size));\n\n --vuu-icon-height: var(--menu-button-size);\n --vuu-icon-left: 0px;\n --vuu-icon-top: 0px;\n --vuu-icon-width: var(--menu-button-size);\n\n border: none;\n flex: 0 0 var(--menu-button-size);\n margin: var(--vuuTable-columnMenu-margin, 0);\n padding: 0;\n}\n";
|
|
2
|
+
|
|
3
|
+
export { columnMenuCss as default };
|
|
4
|
+
//# sourceMappingURL=ColumnMenu.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnMenu.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Menu, MenuTrigger, MenuPanel } from '@salt-ds/core';
|
|
3
|
+
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
4
|
+
import { useWindow } from '@salt-ds/window';
|
|
5
|
+
import { IconButton } from '@vuu-ui/vuu-ui-controls';
|
|
6
|
+
import cx from 'clsx';
|
|
7
|
+
import { useCallback } from 'react';
|
|
8
|
+
import { useTableContext } from '../table-provider/TableProvider.js';
|
|
9
|
+
import { getColumnMenuActionType, buildSortMenu, buildGroupMenu, buildAggregationMenuItems, buildVisibilityMenuItems, buildPinMenuItems } from './column-menu-utils.js';
|
|
10
|
+
import columnMenuCss from './ColumnMenu.css.js';
|
|
11
|
+
|
|
12
|
+
const classBase = "vuuColumnMenu";
|
|
13
|
+
const defaultColumnMenuPermissions = {
|
|
14
|
+
allowSort: true,
|
|
15
|
+
allowGroup: true,
|
|
16
|
+
allowAggregation: true,
|
|
17
|
+
allowHide: true,
|
|
18
|
+
allowRemove: true,
|
|
19
|
+
allowPin: true
|
|
20
|
+
};
|
|
21
|
+
const ColumnMenu = ({
|
|
22
|
+
className,
|
|
23
|
+
column,
|
|
24
|
+
menuActionHandler: menuActionHandlerProp,
|
|
25
|
+
menuPermissions: {
|
|
26
|
+
allowSort,
|
|
27
|
+
allowGroup,
|
|
28
|
+
allowAggregation,
|
|
29
|
+
allowHide,
|
|
30
|
+
allowRemove,
|
|
31
|
+
allowPin
|
|
32
|
+
} = defaultColumnMenuPermissions
|
|
33
|
+
}) => {
|
|
34
|
+
const targetWindow = useWindow();
|
|
35
|
+
useComponentCssInjection({
|
|
36
|
+
testId: "vuu-column-menu",
|
|
37
|
+
css: columnMenuCss,
|
|
38
|
+
window: targetWindow
|
|
39
|
+
});
|
|
40
|
+
const { dataSource, menuActionHandler } = useTableContext(true);
|
|
41
|
+
const menuActionClickHandler = useCallback(
|
|
42
|
+
(evt) => {
|
|
43
|
+
const columnMenuActionType = getColumnMenuActionType(evt.target);
|
|
44
|
+
if (menuActionHandlerProp?.(columnMenuActionType, column) !== true) {
|
|
45
|
+
return menuActionHandler(columnMenuActionType, column);
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
[column, menuActionHandler, menuActionHandlerProp]
|
|
49
|
+
);
|
|
50
|
+
const sortMenu = buildSortMenu(
|
|
51
|
+
column,
|
|
52
|
+
dataSource,
|
|
53
|
+
menuActionClickHandler,
|
|
54
|
+
allowSort
|
|
55
|
+
);
|
|
56
|
+
const groupMenu = buildGroupMenu(
|
|
57
|
+
column,
|
|
58
|
+
dataSource,
|
|
59
|
+
menuActionClickHandler,
|
|
60
|
+
allowGroup
|
|
61
|
+
);
|
|
62
|
+
const aggregationMenu = buildAggregationMenuItems(
|
|
63
|
+
column,
|
|
64
|
+
dataSource,
|
|
65
|
+
menuActionClickHandler,
|
|
66
|
+
allowAggregation
|
|
67
|
+
);
|
|
68
|
+
const visibilityMenuItems = buildVisibilityMenuItems(
|
|
69
|
+
column,
|
|
70
|
+
menuActionClickHandler,
|
|
71
|
+
allowHide,
|
|
72
|
+
allowRemove
|
|
73
|
+
);
|
|
74
|
+
const pinMenu = buildPinMenuItems(column, menuActionClickHandler, allowPin);
|
|
75
|
+
const handleClick = useCallback(
|
|
76
|
+
(evt) => {
|
|
77
|
+
evt.stopPropagation();
|
|
78
|
+
},
|
|
79
|
+
[]
|
|
80
|
+
);
|
|
81
|
+
return /* @__PURE__ */ jsxs(Menu, { children: [
|
|
82
|
+
/* @__PURE__ */ jsx(MenuTrigger, { children: /* @__PURE__ */ jsx(
|
|
83
|
+
IconButton,
|
|
84
|
+
{
|
|
85
|
+
appearance: "transparent",
|
|
86
|
+
className: cx(classBase, className),
|
|
87
|
+
"data-embedded": true,
|
|
88
|
+
icon: "more-vert",
|
|
89
|
+
sentiment: "neutral",
|
|
90
|
+
"aria-label": "Open Column Menu",
|
|
91
|
+
onClick: handleClick
|
|
92
|
+
}
|
|
93
|
+
) }),
|
|
94
|
+
/* @__PURE__ */ jsxs(MenuPanel, { children: [
|
|
95
|
+
sortMenu,
|
|
96
|
+
groupMenu,
|
|
97
|
+
aggregationMenu,
|
|
98
|
+
visibilityMenuItems,
|
|
99
|
+
pinMenu
|
|
100
|
+
] })
|
|
101
|
+
] });
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export { ColumnMenu };
|
|
105
|
+
//# sourceMappingURL=ColumnMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnMenu.js","sources":["../../../../../../../packages/vuu-table-extras/src/column-menu/ColumnMenu.tsx"],"sourcesContent":["import { Menu, MenuPanel, MenuTrigger } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { MenuActionHandler } from \"@vuu-ui/vuu-context-menu\";\nimport {\n ColumnDescriptor,\n ColumnMenuPermissions,\n} from \"@vuu-ui/vuu-table-types\";\nimport { IconButton } from \"@vuu-ui/vuu-ui-controls\";\nimport cx from \"clsx\";\nimport { HTMLAttributes, MouseEventHandler, useCallback } from \"react\";\nimport { useTableContext } from \"../table-provider/TableProvider\";\nimport {\n buildAggregationMenuItems,\n buildGroupMenu,\n buildPinMenuItems,\n buildSortMenu,\n buildVisibilityMenuItems,\n ColumnMenuActionType,\n getColumnMenuActionType,\n type MenuItemClickHandler,\n} from \"./column-menu-utils\";\n\nimport columnMenuCss from \"./ColumnMenu.css\";\n\nconst classBase = \"vuuColumnMenu\";\n\nconst defaultColumnMenuPermissions: Readonly<ColumnMenuPermissions> = {\n allowSort: true,\n allowGroup: true,\n allowAggregation: true,\n allowHide: true,\n allowRemove: true,\n allowPin: true,\n};\n\nexport interface ColumnMenuProps extends HTMLAttributes<HTMLSpanElement> {\n column: ColumnDescriptor;\n menuActionHandler?: MenuActionHandler<ColumnMenuActionType, ColumnDescriptor>;\n menuPermissions?: ColumnMenuPermissions;\n}\n\nexport const ColumnMenu = ({\n className,\n column,\n menuActionHandler: menuActionHandlerProp,\n menuPermissions: {\n allowSort,\n allowGroup,\n allowAggregation,\n allowHide,\n allowRemove,\n allowPin,\n } = defaultColumnMenuPermissions,\n}: ColumnMenuProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-menu\",\n css: columnMenuCss,\n window: targetWindow,\n });\n\n const { dataSource, menuActionHandler } = useTableContext(true);\n\n const menuActionClickHandler = useCallback<MenuItemClickHandler>(\n (evt) => {\n const columnMenuActionType = getColumnMenuActionType(evt.target);\n if (menuActionHandlerProp?.(columnMenuActionType, column) !== true) {\n return menuActionHandler(columnMenuActionType, column);\n }\n },\n [column, menuActionHandler, menuActionHandlerProp],\n );\n\n const sortMenu = buildSortMenu(\n column,\n dataSource,\n menuActionClickHandler,\n allowSort,\n );\n const groupMenu = buildGroupMenu(\n column,\n dataSource,\n menuActionClickHandler,\n allowGroup,\n );\n const aggregationMenu = buildAggregationMenuItems(\n column,\n dataSource,\n menuActionClickHandler,\n allowAggregation,\n );\n const visibilityMenuItems = buildVisibilityMenuItems(\n column,\n menuActionClickHandler,\n allowHide,\n allowRemove,\n );\n const pinMenu = buildPinMenuItems(column, menuActionClickHandler, allowPin);\n\n const handleClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (evt) => {\n // Prevent sort from triggering if the click were to bubble.\n evt.stopPropagation();\n },\n [],\n );\n\n return (\n <Menu>\n <MenuTrigger>\n <IconButton\n appearance=\"transparent\"\n className={cx(classBase, className)}\n data-embedded\n icon=\"more-vert\"\n sentiment=\"neutral\"\n aria-label=\"Open Column Menu\"\n onClick={handleClick}\n />\n </MenuTrigger>\n <MenuPanel>\n {sortMenu}\n {groupMenu}\n {aggregationMenu}\n {visibilityMenuItems}\n {pinMenu}\n </MenuPanel>\n </Menu>\n );\n};\n"],"names":[],"mappings":"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"}
|