@economic/taco 2.25.1 → 2.26.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Provider/Localization.d.ts +47 -55
- package/dist/components/Report/Report.d.ts +5 -19
- package/dist/components/Report/useReport.d.ts +3 -7
- package/dist/components/Select2/hooks/useChildren.d.ts +2 -1
- package/dist/components/Table/Table.d.ts +2 -2
- package/dist/components/Table3/Table3.d.ts +14 -14
- package/dist/components/Table3/components/Columns/Cell/Cell.d.ts +3 -0
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.d.ts +9 -0
- package/dist/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.d.ts +10 -0
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.d.ts +3 -0
- package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.d.ts +3 -0
- package/dist/components/Table3/components/Columns/Cell/util.d.ts +3 -0
- package/dist/components/Table3/components/Columns/Internal/EditingActionsMenu.d.ts +10 -0
- package/dist/components/Table3/components/Editing/Alert.d.ts +12 -0
- package/dist/components/Table3/components/Row/Editing/SaveStatus.d.ts +8 -0
- package/dist/components/Table3/components/Row/Row.d.ts +3 -0
- package/dist/components/Table3/components/Toolbar/Editing/Editing.d.ts +8 -0
- package/dist/components/Table3/features/useTableEditing.d.ts +46 -0
- package/dist/components/Table3/listeners/useTableEditingListener.d.ts +2 -0
- package/dist/components/Table3/types.d.ts +28 -351
- package/dist/components/Table3/useTable3.d.ts +11 -0
- package/dist/components/Table3/util/editing.d.ts +2 -10
- package/dist/esm/index.css +216 -515
- package/dist/esm/packages/taco/src/components/Field/Field.js +1 -0
- package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js +5 -6
- package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +48 -59
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Report/Report.js +8 -51
- package/dist/esm/packages/taco/src/components/Report/Report.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Report/useReport.js +8 -45
- package/dist/esm/packages/taco/src/components/Report/useReport.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js +1 -1
- package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js +10 -10
- package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +30 -218
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Cell.js +39 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Cell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js +85 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.js +71 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +216 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingDisplayCell.js +14 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingDisplayCell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js +45 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/util.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js +62 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +134 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js +54 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js +41 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js +49 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +349 -0
- package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +49 -0
- package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/useTable3.js +36 -0
- package/dist/esm/packages/taco/src/components/Table3/useTable3.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js +46 -38
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
- package/dist/esm/packages/taco/src/index.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Sortable/components/Container.js +2 -0
- package/dist/esm/packages/taco/src/primitives/Sortable/components/Container.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js +52 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Body/Body.js +21 -12
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/Body.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/EmptyStateBody.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Body/util.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/components/Cell → primitives/Table/Core/components/Columns/Cell/BuiltIns}/DisplayCell.js +6 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/components/Cell → primitives/Table/Core/components/Columns/Cell/BuiltIns}/GroupedCell.js +8 -6
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/components → primitives/Table/Core/components/Columns}/Cell/Cell.js +6 -5
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/Cell.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/components → primitives/Table/Core/components/Columns}/Cell/util.js +5 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/components → primitives/Table/Core/components/Columns}/Internal/Actions.js +28 -17
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Drag.js +73 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Drag.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/components → primitives/Table/Core/components/Columns}/Internal/Expansion.js +18 -6
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/components → primitives/Table/Core/components/Columns}/Internal/Selection.js +23 -10
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Footer/Summary.js +7 -7
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Summary.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Header/Header.js +12 -7
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/Header.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Table3/components/columns/header → primitives/Table/Core/components/Header/components}/Goto.js +5 -5
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Goto.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Header/components/Menu.js +15 -16
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Menu.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Header/components/Resizer.js +3 -3
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/Resizer.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Header/components/SortIndicator.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/components/SortIndicator.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Header/util.js +4 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Header/util.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/components/Row → primitives/Table/Core/components/Row/BuiltIns}/DisplayRow.js +30 -12
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Row/Row.js +13 -7
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/Row.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Row/RowContext.js +0 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/RowContext.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/Toolbar.js +54 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/Toolbar.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/Filters.js +9 -9
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/ManageFiltersPopover.js +9 -9
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/components/Filter.js +4 -4
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/components/FilterColumn.js +7 -7
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/components/FilterComparator.js +17 -17
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/components/FilterValue.js +7 -7
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/util.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Print/Print.js +11 -11
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js +88 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Search/Search.js +26 -7
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Settings/HideOrOrderPopover.js +27 -13
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Settings/Settings.js +17 -17
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/styles/util.js → primitives/Table/Core/features/useStylesheet.js} +18 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useStylesheet.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/styles/useColumnPinningStylesheet.js → primitives/Table/Core/features/useStylesheetColumnFreezing.js} +12 -12
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useStylesheetColumnFreezing.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/styles/useCssGridStylesheet.js → primitives/Table/Core/features/useStylesheetCssGrid.js} +9 -9
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useStylesheetCssGrid.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/util → primitives/Table/Core/features}/useTableGlobalShortcuts.js +3 -5
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRef.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report/util → primitives/Table/Core/features}/useTableRenderer.js +5 -3
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -0
- package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/listeners/useTableRowActiveListener.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/listeners/useTableRowActiveListener.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js +50 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/useTable.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/Core/util/rows.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js +5 -15
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowDrag.js +14 -0
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowDrag.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowDrop.js +9 -0
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowDrop.js.map +1 -0
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js +1 -3
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +13 -9
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js +58 -24
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js +1 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +5 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/dom.js +19 -3
- package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/input.js +1 -14
- package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
- package/dist/index.css +216 -515
- package/dist/index.d.ts +1 -0
- package/dist/primitives/Table/Core/Table.d.ts +19 -0
- package/dist/{components/Report → primitives/Table/Core}/components/Body/Body.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Body/EmptyStateBody.d.ts +2 -2
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.d.ts +3 -0
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.d.ts +3 -0
- package/dist/{components/Report/components → primitives/Table/Core/components/Columns}/Cell/Cell.d.ts +4 -2
- package/dist/{components/Report/components → primitives/Table/Core/components/Columns}/Cell/util.d.ts +2 -1
- package/dist/{components/Report/components → primitives/Table/Core/components/Columns}/Internal/Actions.d.ts +4 -4
- package/dist/primitives/Table/Core/components/Columns/Internal/Drag.d.ts +2 -0
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.d.ts +2 -0
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.d.ts +2 -0
- package/dist/{components/Report → primitives/Table/Core}/components/Header/Header.d.ts +7 -2
- package/dist/{components/Table3/components/columns/header → primitives/Table/Core/components/Header/components}/Goto.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Header/components/Menu.d.ts +2 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Header/components/Resizer.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Header/components/SortIndicator.d.ts +1 -1
- package/dist/primitives/Table/Core/components/Header/util.d.ts +4 -0
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.d.ts +4 -0
- package/dist/primitives/Table/Core/components/Row/Row.d.ts +6 -0
- package/dist/{components/Report → primitives/Table/Core}/components/Row/RowContext.d.ts +0 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.d.ts +7 -0
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/components/Filter.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/components/FilterColumn.d.ts +2 -2
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/components/FilterComparator.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/components/FilterValue.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/util.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Print/Print.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Print/PrintDialog.d.ts +2 -2
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Search/Search.d.ts +3 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Settings/HideOrOrderPopover.d.ts +1 -1
- package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Settings/Settings.d.ts +2 -2
- package/dist/primitives/Table/Core/features/useStylesheetColumnFreezing.d.ts +2 -0
- package/dist/{components/Report/styles/useCssGridStylesheet.d.ts → primitives/Table/Core/features/useStylesheetCssGrid.d.ts} +2 -2
- package/dist/{components/Report/util → primitives/Table/Core/features}/useTableGlobalShortcuts.d.ts +1 -1
- package/dist/{components/Report/util → primitives/Table/Core/features}/useTableRenderer.d.ts +3 -2
- package/dist/primitives/Table/Core/types.d.ts +21 -0
- package/dist/primitives/Table/Core/useTable.d.ts +27 -0
- package/dist/primitives/Table/types.d.ts +168 -3
- package/dist/primitives/Table/useTableManager/features/useTableRowActive.d.ts +4 -2
- package/dist/primitives/Table/useTableManager/features/useTableRowDrag.d.ts +8 -0
- package/dist/primitives/Table/useTableManager/features/useTableRowDrop.d.ts +5 -0
- package/dist/primitives/Table/useTableManager/types.d.ts +1 -0
- package/dist/primitives/Table/useTableManager/useTableManager.d.ts +9 -3
- package/dist/primitives/Table/useTableManager/util/settings.d.ts +1 -1
- package/dist/taco.cjs.development.js +7134 -11743
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/dist/utils/dom.d.ts +2 -1
- package/package.json +3 -5
- package/dist/components/Report/components/Cell/DisplayCell.d.ts +0 -8
- package/dist/components/Report/components/Cell/GroupedCell.d.ts +0 -8
- package/dist/components/Report/components/Header/components/Goto.d.ts +0 -6
- package/dist/components/Report/components/Header/util.d.ts +0 -4
- package/dist/components/Report/components/Internal/Expansion.d.ts +0 -4
- package/dist/components/Report/components/Internal/Selection.d.ts +0 -4
- package/dist/components/Report/components/Row/DisplayRow.d.ts +0 -9
- package/dist/components/Report/components/Row/Row.d.ts +0 -9
- package/dist/components/Report/components/Toolbar/Toolbar.d.ts +0 -15
- package/dist/components/Report/styles/useColumnPinningStylesheet.d.ts +0 -2
- package/dist/components/Report/styles/util.d.ts +0 -3
- package/dist/components/Report/types.d.ts +0 -20
- package/dist/components/Table3/components/alert/ErrorAlert.d.ts +0 -10
- package/dist/components/Table3/components/columns/cell/Cell.d.ts +0 -6
- package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +0 -25
- package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +0 -14
- package/dist/components/Table3/components/columns/cell/EditingControl.d.ts +0 -21
- package/dist/components/Table3/components/columns/cell/Highlight.d.ts +0 -2
- package/dist/components/Table3/components/columns/cell/Indicator.d.ts +0 -22
- package/dist/components/Table3/components/columns/cell/controls/TextareaControl.d.ts +0 -2
- package/dist/components/Table3/components/columns/footer/Footer.d.ts +0 -14
- package/dist/components/Table3/components/columns/footer/Summary.d.ts +0 -8
- package/dist/components/Table3/components/columns/header/Group.d.ts +0 -15
- package/dist/components/Table3/components/columns/header/Header.d.ts +0 -37
- package/dist/components/Table3/components/columns/header/Menu.d.ts +0 -20
- package/dist/components/Table3/components/columns/header/Resizer.d.ts +0 -7
- package/dist/components/Table3/components/columns/header/SortIndicator.d.ts +0 -12
- package/dist/components/Table3/components/columns/internal/Actions.d.ts +0 -3
- package/dist/components/Table3/components/columns/internal/Drag.d.ts +0 -4
- package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +0 -8
- package/dist/components/Table3/components/columns/internal/Expansion.d.ts +0 -4
- package/dist/components/Table3/components/columns/internal/Selection.d.ts +0 -3
- package/dist/components/Table3/components/columns/styles.d.ts +0 -5
- package/dist/components/Table3/components/rows/ExpandedRow.d.ts +0 -8
- package/dist/components/Table3/components/rows/Row.d.ts +0 -26
- package/dist/components/Table3/components/rows/RowContext.d.ts +0 -10
- package/dist/components/Table3/components/rows/SkeletonRow.d.ts +0 -10
- package/dist/components/Table3/components/rows/styles.d.ts +0 -6
- package/dist/components/Table3/components/toolbar/ColumnSettings.d.ts +0 -7
- package/dist/components/Table3/components/toolbar/EditButton.d.ts +0 -7
- package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +0 -7
- package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +0 -12
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +0 -12
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.d.ts +0 -7
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterValue.d.ts +0 -10
- package/dist/components/Table3/components/toolbar/FontSize.d.ts +0 -7
- package/dist/components/Table3/components/toolbar/PrintButton/PrintButton.d.ts +0 -8
- package/dist/components/Table3/components/toolbar/PrintButton/PrintIFrame.d.ts +0 -8
- package/dist/components/Table3/components/toolbar/PrintButton/WarningDialog.d.ts +0 -9
- package/dist/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.d.ts +0 -1
- package/dist/components/Table3/components/toolbar/RowHeight.d.ts +0 -7
- package/dist/components/Table3/components/toolbar/Search.d.ts +0 -8
- package/dist/components/Table3/components/toolbar/Settings.d.ts +0 -8
- package/dist/components/Table3/components/toolbar/Toolbar.d.ts +0 -13
- package/dist/components/Table3/hooks/features/useColumnFreezing.d.ts +0 -13
- package/dist/components/Table3/hooks/features/useEditing.d.ts +0 -31
- package/dist/components/Table3/hooks/features/useHeaderOffsetStyle.d.ts +0 -3
- package/dist/components/Table3/hooks/features/usePauseShortcuts.d.ts +0 -5
- package/dist/components/Table3/hooks/features/usePrinting.d.ts +0 -7
- package/dist/components/Table3/hooks/features/useRowActions.d.ts +0 -5
- package/dist/components/Table3/hooks/features/useRowDrag.d.ts +0 -6
- package/dist/components/Table3/hooks/features/useRowDrop.d.ts +0 -5
- package/dist/components/Table3/hooks/features/useSearch.d.ts +0 -16
- package/dist/components/Table3/hooks/features/useSettings.d.ts +0 -3
- package/dist/components/Table3/hooks/features/useValidation.d.ts +0 -13
- package/dist/components/Table3/hooks/listeners/useEditingStateListener.d.ts +0 -2
- package/dist/components/Table3/hooks/listeners/useSettingsStateListener.d.ts +0 -3
- package/dist/components/Table3/hooks/useConvertChildrenToColumns.d.ts +0 -9
- package/dist/components/Table3/hooks/useCssGrid.d.ts +0 -6
- package/dist/components/Table3/hooks/useCssVars.d.ts +0 -8
- package/dist/components/Table3/hooks/useTable.d.ts +0 -74
- package/dist/components/Table3/hooks/useTableDataLoader.d.ts +0 -22
- package/dist/components/Table3/hooks/useTablePreset.d.ts +0 -2
- package/dist/components/Table3/hooks/useTableRefInstanceSetup.d.ts +0 -4
- package/dist/components/Table3/strategies/index.d.ts +0 -4
- package/dist/components/Table3/strategies/virtualised.d.ts +0 -4
- package/dist/components/Table3/util/columns.d.ts +0 -8
- package/dist/components/Table3/util/filtering.d.ts +0 -3
- package/dist/components/Table3/util/scrolling.d.ts +0 -2
- package/dist/esm/packages/taco/src/components/Report/components/Body/Body.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Body/EmptyStateBody.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Body/util.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Cell/Cell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Cell/DisplayCell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Cell/GroupedCell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Cell/util.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Footer/Footer.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Footer/Summary.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Header/Header.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Header/components/Goto.js +0 -28
- package/dist/esm/packages/taco/src/components/Report/components/Header/components/Goto.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Header/components/Menu.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Header/components/Resizer.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Header/components/SortIndicator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Header/util.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Internal/Actions.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Internal/Expansion.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Internal/Selection.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Row/DisplayRow.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Row/Row.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Row/RowContext.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Row/SkeletonRow.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/Toolbar.js +0 -63
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/Toolbar.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/Filters.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/Filter.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/FilterColumn.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/FilterComparator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/FilterValue.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/util.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Print/Print.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Print/PrintDialog.js +0 -88
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Print/PrintDialog.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Search/Search.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Settings/Settings.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/listeners/useTableRowActiveListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/styles/useColumnPinningStylesheet.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/styles/useCssGridStylesheet.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/styles/useStylesheet.js +0 -20
- package/dist/esm/packages/taco/src/components/Report/styles/useStylesheet.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/styles/util.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/util/rows.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/util/useTableGlobalShortcuts.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Report/util/useTableRenderer.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js +0 -154
- package/dist/esm/packages/taco/src/components/Table3/components/alert/ErrorAlert.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +0 -84
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js +0 -84
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +0 -212
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js +0 -194
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingControl.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Highlight.js +0 -41
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Highlight.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js +0 -88
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js +0 -144
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/controls/TextareaControl.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +0 -50
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +0 -41
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js +0 -74
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Group.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +0 -186
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +0 -206
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js +0 -42
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js +0 -38
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +0 -129
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +0 -86
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +0 -174
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +0 -104
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +0 -187
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +0 -19
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js +0 -27
- package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +0 -327
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +0 -14
- package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +0 -43
- package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js +0 -9
- package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +0 -109
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js +0 -29
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +0 -164
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +0 -102
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +0 -50
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +0 -111
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +0 -118
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +0 -26
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +0 -211
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +0 -224
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/WarningDialog.js +0 -60
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/WarningDialog.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js +0 -97
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +0 -33
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +0 -238
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js +0 -65
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Settings.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +0 -64
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +0 -95
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +0 -299
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useHeaderOffsetStyle.js +0 -24
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useHeaderOffsetStyle.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseShortcuts.js +0 -12
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseShortcuts.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +0 -14
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowActions.js +0 -10
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowActions.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js +0 -13
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js +0 -9
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +0 -29
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js +0 -23
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useValidation.js +0 -178
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useValidation.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +0 -28
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +0 -24
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +0 -143
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +0 -66
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +0 -74
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +0 -234
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableDataLoader.js +0 -130
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableDataLoader.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js +0 -122
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js +0 -19
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/strategies/index.js +0 -8
- package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +0 -117
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/types.js +0 -20
- package/dist/esm/packages/taco/src/components/Table3/types.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/util/columns.js +0 -60
- package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/util/filtering.js +0 -120
- package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table3/util/scrolling.js +0 -53
- package/dist/esm/packages/taco/src/components/Table3/util/scrolling.js.map +0 -1
- package/dist/esm/packages/taco/src/hooks/useDebouncedEffect.js +0 -15
- package/dist/esm/packages/taco/src/hooks/useDebouncedEffect.js.map +0 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRef.js.map +0 -1
- package/types.json +0 -588211
- /package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Body/EmptyStateBody.js +0 -0
- /package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Body/util.js +0 -0
- /package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Footer/Footer.js +0 -0
- /package/dist/esm/packages/taco/src/{components/Report/components/Row → primitives/Table/Core/components/Row/BuiltIns}/SkeletonRow.js +0 -0
- /package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/util.js +0 -0
- /package/dist/esm/packages/taco/src/primitives/Table/{useTableManager → Core}/features/useTableRef.js +0 -0
- /package/dist/esm/packages/taco/src/{components/Report → primitives/Table/Core}/util/rows.js +0 -0
- /package/dist/{components/Report → primitives/Table/Core}/components/Body/util.d.ts +0 -0
- /package/dist/{components/Report → primitives/Table/Core}/components/Footer/Footer.d.ts +0 -0
- /package/dist/{components/Report → primitives/Table/Core}/components/Footer/Summary.d.ts +0 -0
- /package/dist/{components/Report/components/Row → primitives/Table/Core/components/Row/BuiltIns}/SkeletonRow.d.ts +0 -0
- /package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/Filters.d.ts +0 -0
- /package/dist/{components/Report → primitives/Table/Core}/components/Toolbar/components/Filters/ManageFiltersPopover.d.ts +0 -0
- /package/dist/{components/Report/styles → primitives/Table/Core/features}/useStylesheet.d.ts +0 -0
- /package/dist/primitives/Table/{useTableManager → Core}/features/useTableRef.d.ts +0 -0
- /package/dist/{components/Report → primitives/Table/Core}/listeners/useTableRowActiveListener.d.ts +0 -0
- /package/dist/{components/Report → primitives/Table/Core}/util/rows.d.ts +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SaveStatus.js","sources":["../../../../../../../../../../src/components/Table3/components/Row/Editing/SaveStatus.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport clsx from 'clsx';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Icon } from '../../../../Icon/Icon';\nimport { Spinner } from '../../../../Spinner/Spinner';\n\nconst COMPLETE_INDICATOR_DELAY = 3000;\n\ntype SaveStatusProps<TType = unknown> = {\n rowId: string;\n table: ReactTable<TType>;\n};\n\nexport function SaveStatus<TType = unknown>(props: SaveStatusProps<TType>) {\n const { rowId, table } = props;\n const { texts } = useLocalization();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const status = tableMeta.editing.getRowSaveStatus(rowId);\n\n React.useEffect(() => {\n let timeout;\n\n if (status === 'complete') {\n timeout = setTimeout(() => {\n tableMeta.editing.setRowSaveStatus(rowId, undefined);\n }, COMPLETE_INDICATOR_DELAY);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, [status]);\n\n const className = clsx(\n 'col-span-full sticky ml-auto right-0 top-0 -mb-[100%] z-10 h-8 bg-[inherit] flex items-center px-1.5 shadow-[-6px_0px_6px_var(--table-row-actions-shadow)]',\n {\n 'mt-0.5': tableMeta.rowHeight.height === 'short',\n 'mt-1': tableMeta.rowHeight.height === 'medium',\n 'mt-1.5': tableMeta.rowHeight.height === 'tall',\n 'mt-2': tableMeta.rowHeight.height === 'extra-tall',\n }\n );\n\n return (\n <td className=\"!contents\">\n <span className={className}>\n {status === 'pending' ? (\n <Tooltip title={texts.table3.editing.saving.progress}>\n <Spinner delay={0} className=\"!text-grey-700 mr-1 !h-5 !w-5\" />\n </Tooltip>\n ) : (\n <Tooltip title={texts.table3.editing.saving.complete}>\n <Icon name=\"tick\" className=\"!text-grey-700 mr-1 !h-5 !w-5\" />\n </Tooltip>\n )}\n </span>\n </td>\n );\n}\n"],"names":["COMPLETE_INDICATOR_DELAY","SaveStatus","props","rowId","table","texts","useLocalization","tableMeta","options","meta","status","editing","getRowSaveStatus","React","useEffect","timeout","setTimeout","setRowSaveStatus","undefined","clearTimeout","className","clsx","rowHeight","height","Tooltip","title","table3","saving","progress","Spinner","delay","complete","Icon","name"],"mappings":";;;;;;;AAQA,MAAMA,wBAAwB,GAAG,IAAI;SAOrBC,UAAUA,CAAkBC,KAA6B;EACrE,MAAM;IAAEC,KAAK;IAAEC;GAAO,GAAGF,KAAK;EAC9B,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,SAAS,GAAGH,KAAK,CAACI,OAAO,CAACC,IAA6B;EAC7D,MAAMC,MAAM,GAAGH,SAAS,CAACI,OAAO,CAACC,gBAAgB,CAACT,KAAK,CAAC;EAExDU,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIC,OAAO;IAEX,IAAIL,MAAM,KAAK,UAAU,EAAE;MACvBK,OAAO,GAAGC,UAAU,CAAC;QACjBT,SAAS,CAACI,OAAO,CAACM,gBAAgB,CAACd,KAAK,EAAEe,SAAS,CAAC;OACvD,EAAElB,wBAAwB,CAAC;;IAGhC,OAAO;MACHmB,YAAY,CAACJ,OAAO,CAAC;KACxB;GACJ,EAAE,CAACL,MAAM,CAAC,CAAC;EAEZ,MAAMU,SAAS,GAAGC,EAAI,CAClB,4JAA4J,EAC5J;IACI,QAAQ,EAAEd,SAAS,CAACe,SAAS,CAACC,MAAM,KAAK,OAAO;IAChD,MAAM,EAAEhB,SAAS,CAACe,SAAS,CAACC,MAAM,KAAK,QAAQ;IAC/C,QAAQ,EAAEhB,SAAS,CAACe,SAAS,CAACC,MAAM,KAAK,MAAM;IAC/C,MAAM,EAAEhB,SAAS,CAACe,SAAS,CAACC,MAAM,KAAK;GAC1C,CACJ;EAED,oBACIV;IAAIO,SAAS,EAAC;kBACVP;IAAMO,SAAS,EAAEA;KACZV,MAAM,KAAK,SAAS,kBACjBG,6BAACW,OAAO;IAACC,KAAK,EAAEpB,KAAK,CAACqB,MAAM,CAACf,OAAO,CAACgB,MAAM,CAACC;kBACxCf,6BAACgB,OAAO;IAACC,KAAK,EAAE,CAAC;IAAEV,SAAS,EAAC;IAAkC,CACzD,mBAEVP,6BAACW,OAAO;IAACC,KAAK,EAAEpB,KAAK,CAACqB,MAAM,CAACf,OAAO,CAACgB,MAAM,CAACI;kBACxClB,6BAACmB,IAAI;IAACC,IAAI,EAAC,MAAM;IAACb,SAAS,EAAC;IAAkC,CACxD,CACb,CACE,CACN;AAEb;;;;"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { DisplayRow } from '../../../../primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js';
|
3
|
+
import { useAugmentedFocusManager } from '../../../../primitives/Table/Core/components/Body/util.js';
|
4
|
+
import { SaveStatus } from './Editing/SaveStatus.js';
|
5
|
+
|
6
|
+
function Row(props) {
|
7
|
+
const {
|
8
|
+
row,
|
9
|
+
index,
|
10
|
+
table
|
11
|
+
} = props;
|
12
|
+
const focusManager = useAugmentedFocusManager();
|
13
|
+
const tableMeta = table.options.meta;
|
14
|
+
const isActiveRow = tableMeta.rowActive.rowActiveIndex === index;
|
15
|
+
React__default.useEffect(() => {
|
16
|
+
if (tableMeta.editing.isEditing && isActiveRow && tableMeta.editing.lastFocusedCellIndex === undefined) {
|
17
|
+
focusManager.focusFirst();
|
18
|
+
}
|
19
|
+
}, [tableMeta.editing.isEditing, tableMeta.rowActive.rowActiveIndex, tableMeta.editing.lastFocusedCellIndex]);
|
20
|
+
const handleFocus = React__default.useCallback(event => {
|
21
|
+
if (tableMeta.editing.isEditing && isActiveRow) {
|
22
|
+
var _event$target$closest, _event$target$closest2;
|
23
|
+
const cellIndex = Number((_event$target$closest = (_event$target$closest2 = event.target.closest('td')) === null || _event$target$closest2 === void 0 ? void 0 : _event$target$closest2.getAttribute('data-cell-index')) !== null && _event$target$closest !== void 0 ? _event$target$closest : undefined);
|
24
|
+
if (!isNaN(cellIndex) && tableMeta.editing.lastFocusedCellIndex !== cellIndex) {
|
25
|
+
tableMeta.editing.setLastFocusedCellIndex(Number(cellIndex));
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}, [tableMeta.editing.isEditing, isActiveRow]);
|
29
|
+
const attributes = {
|
30
|
+
'data-row-editing-invalid': tableMeta.editing.hasRowErrors(row.id) ? !tableMeta.editing.hasRowErrorsSeen(row.id) ? 'unseen' : true : undefined,
|
31
|
+
'data-row-editing-status': tableMeta.editing.getRowSaveStatus(row.id),
|
32
|
+
onFocus: handleFocus
|
33
|
+
};
|
34
|
+
return /*#__PURE__*/React__default.createElement(DisplayRow, Object.assign({}, props, attributes), tableMeta.editing.getRowSaveStatus(row.id) ? /*#__PURE__*/React__default.createElement(SaveStatus, {
|
35
|
+
rowId: row.id,
|
36
|
+
table: table
|
37
|
+
}) : null);
|
38
|
+
}
|
39
|
+
|
40
|
+
export { Row };
|
41
|
+
//# sourceMappingURL=Row.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Row.js","sources":["../../../../../../../../../src/components/Table3/components/Row/Row.tsx"],"sourcesContent":["import React from 'react';\nimport { TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { DisplayRow, DisplayRowProps } from '../../../../primitives/Table/Core/components/Row/BuiltIns/DisplayRow';\nimport { SaveStatus } from './Editing/SaveStatus';\nimport { useAugmentedFocusManager } from '../../../../primitives/Table/Core/components/Body/util';\n\nexport function Row<TType = unknown>(props: DisplayRowProps<TType>) {\n const { row, index, table } = props;\n const focusManager = useAugmentedFocusManager();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === index;\n\n React.useEffect(() => {\n if (tableMeta.editing.isEditing && isActiveRow && tableMeta.editing.lastFocusedCellIndex === undefined) {\n focusManager.focusFirst();\n }\n }, [tableMeta.editing.isEditing, tableMeta.rowActive.rowActiveIndex, tableMeta.editing.lastFocusedCellIndex]);\n\n const handleFocus = React.useCallback(\n (event: React.FocusEvent<HTMLTableRowElement>) => {\n if (tableMeta.editing.isEditing && isActiveRow) {\n const cellIndex = Number(event.target.closest('td')?.getAttribute('data-cell-index') ?? undefined);\n\n if (!isNaN(cellIndex) && tableMeta.editing.lastFocusedCellIndex !== cellIndex) {\n tableMeta.editing.setLastFocusedCellIndex(Number(cellIndex));\n }\n }\n },\n [tableMeta.editing.isEditing, isActiveRow]\n );\n\n const attributes = {\n 'data-row-editing-invalid': tableMeta.editing.hasRowErrors(row.id)\n ? !tableMeta.editing.hasRowErrorsSeen(row.id)\n ? 'unseen'\n : true\n : undefined,\n 'data-row-editing-status': tableMeta.editing.getRowSaveStatus(row.id),\n onFocus: handleFocus,\n };\n\n return (\n <DisplayRow<TType> {...props} {...attributes}>\n {tableMeta.editing.getRowSaveStatus(row.id) ? <SaveStatus rowId={row.id} table={table} /> : null}\n </DisplayRow>\n );\n}\n"],"names":["Row","props","row","index","table","focusManager","useAugmentedFocusManager","tableMeta","options","meta","isActiveRow","rowActive","rowActiveIndex","React","useEffect","editing","isEditing","lastFocusedCellIndex","undefined","focusFirst","handleFocus","useCallback","event","_event$target$closest","_event$target$closest2","cellIndex","Number","target","closest","getAttribute","isNaN","setLastFocusedCellIndex","attributes","hasRowErrors","id","hasRowErrorsSeen","getRowSaveStatus","onFocus","DisplayRow","SaveStatus","rowId"],"mappings":";;;;;SAMgBA,GAAGA,CAAkBC,KAA6B;EAC9D,MAAM;IAAEC,GAAG;IAAEC,KAAK;IAAEC;GAAO,GAAGH,KAAK;EACnC,MAAMI,YAAY,GAAGC,wBAAwB,EAAE;EAC/C,MAAMC,SAAS,GAAGH,KAAK,CAACI,OAAO,CAACC,IAA6B;EAC7D,MAAMC,WAAW,GAAGH,SAAS,CAACI,SAAS,CAACC,cAAc,KAAKT,KAAK;EAEhEU,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIP,SAAS,CAACQ,OAAO,CAACC,SAAS,IAAIN,WAAW,IAAIH,SAAS,CAACQ,OAAO,CAACE,oBAAoB,KAAKC,SAAS,EAAE;MACpGb,YAAY,CAACc,UAAU,EAAE;;GAEhC,EAAE,CAACZ,SAAS,CAACQ,OAAO,CAACC,SAAS,EAAET,SAAS,CAACI,SAAS,CAACC,cAAc,EAAEL,SAAS,CAACQ,OAAO,CAACE,oBAAoB,CAAC,CAAC;EAE7G,MAAMG,WAAW,GAAGP,cAAK,CAACQ,WAAW,CAChCC,KAA4C;IACzC,IAAIf,SAAS,CAACQ,OAAO,CAACC,SAAS,IAAIN,WAAW,EAAE;MAAA,IAAAa,qBAAA,EAAAC,sBAAA;MAC5C,MAAMC,SAAS,GAAGC,MAAM,EAAAH,qBAAA,IAAAC,sBAAA,GAACF,KAAK,CAACK,MAAM,CAACC,OAAO,CAAC,IAAI,CAAC,cAAAJ,sBAAA,uBAA1BA,sBAAA,CAA4BK,YAAY,CAAC,iBAAiB,CAAC,cAAAN,qBAAA,cAAAA,qBAAA,GAAIL,SAAS,CAAC;MAElG,IAAI,CAACY,KAAK,CAACL,SAAS,CAAC,IAAIlB,SAAS,CAACQ,OAAO,CAACE,oBAAoB,KAAKQ,SAAS,EAAE;QAC3ElB,SAAS,CAACQ,OAAO,CAACgB,uBAAuB,CAACL,MAAM,CAACD,SAAS,CAAC,CAAC;;;GAGvE,EACD,CAAClB,SAAS,CAACQ,OAAO,CAACC,SAAS,EAAEN,WAAW,CAAC,CAC7C;EAED,MAAMsB,UAAU,GAAG;IACf,0BAA0B,EAAEzB,SAAS,CAACQ,OAAO,CAACkB,YAAY,CAAC/B,GAAG,CAACgC,EAAE,CAAC,GAC5D,CAAC3B,SAAS,CAACQ,OAAO,CAACoB,gBAAgB,CAACjC,GAAG,CAACgC,EAAE,CAAC,GACvC,QAAQ,GACR,IAAI,GACRhB,SAAS;IACf,yBAAyB,EAAEX,SAAS,CAACQ,OAAO,CAACqB,gBAAgB,CAAClC,GAAG,CAACgC,EAAE,CAAC;IACrEG,OAAO,EAAEjB;GACZ;EAED,oBACIP,6BAACyB,UAAU,oBAAYrC,KAAK,EAAM+B,UAAU,GACvCzB,SAAS,CAACQ,OAAO,CAACqB,gBAAgB,CAAClC,GAAG,CAACgC,EAAE,CAAC,gBAAGrB,6BAAC0B,UAAU;IAACC,KAAK,EAAEtC,GAAG,CAACgC,EAAE;IAAE9B,KAAK,EAAEA;IAAS,GAAG,IAAI,CACvF;AAErB;;;;"}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { useGlobalKeyDown } from '../../../../../hooks/useGlobalKeyDown.js';
|
3
|
+
import { Tooltip } from '../../../../Tooltip/Tooltip.js';
|
4
|
+
import { useLocalization } from '../../../../Provider/Localization.js';
|
5
|
+
import { Shortcut } from '../../../../Shortcut/Shortcut.js';
|
6
|
+
import { ModeSwitch } from '../../../../ModeSwitch/ModeSwitch.js';
|
7
|
+
|
8
|
+
function Editing(props) {
|
9
|
+
const {
|
10
|
+
scrollToIndex,
|
11
|
+
table
|
12
|
+
} = props;
|
13
|
+
const {
|
14
|
+
texts
|
15
|
+
} = useLocalization();
|
16
|
+
const ref = React__default.useRef(null);
|
17
|
+
const tableMeta = table.options.meta;
|
18
|
+
const shortcut = {
|
19
|
+
key: 'e',
|
20
|
+
meta: true,
|
21
|
+
shift: false
|
22
|
+
};
|
23
|
+
const tooltip = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.table3.editing.buttons.edit.tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
|
24
|
+
className: "ml-2",
|
25
|
+
keys: shortcut
|
26
|
+
}));
|
27
|
+
useGlobalKeyDown(shortcut, event => {
|
28
|
+
var _ref$current;
|
29
|
+
event.preventDefault();
|
30
|
+
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.click();
|
31
|
+
});
|
32
|
+
const handleChange = enabled => {
|
33
|
+
tableMeta.editing.toggleEditing(enabled);
|
34
|
+
requestAnimationFrame(() => {
|
35
|
+
var _tableMeta$rowActive$;
|
36
|
+
return scrollToIndex((_tableMeta$rowActive$ = tableMeta.rowActive.rowActiveIndex) !== null && _tableMeta$rowActive$ !== void 0 ? _tableMeta$rowActive$ : 0);
|
37
|
+
});
|
38
|
+
};
|
39
|
+
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
40
|
+
title: tooltip
|
41
|
+
}, /*#__PURE__*/React__default.createElement(ModeSwitch, {
|
42
|
+
checked: tableMeta.editing.isEditing,
|
43
|
+
onChange: handleChange,
|
44
|
+
ref: ref
|
45
|
+
}));
|
46
|
+
}
|
47
|
+
|
48
|
+
export { Editing };
|
49
|
+
//# sourceMappingURL=Editing.js.map
|
package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Editing.js","sources":["../../../../../../../../../../src/components/Table3/components/Toolbar/Editing/Editing.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\nimport { ModeSwitch } from '../../../../ModeSwitch/ModeSwitch';\nimport { useGlobalKeyDown } from '../../../../../hooks/useGlobalKeyDown';\nimport { Shortcut } from '../../../../Shortcut/Shortcut';\n\ntype EditingProps<TType = unknown> = React.HTMLAttributes<HTMLButtonElement> & {\n scrollToIndex: any;\n table: ReactTable<TType>;\n};\n\nexport function Editing<TType = unknown>(props: EditingProps<TType>) {\n const { scrollToIndex, table } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLButtonElement>(null);\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const shortcut = { key: 'e', meta: true, shift: false };\n const tooltip = (\n <>\n {texts.table3.editing.buttons.edit.tooltip}\n <Shortcut className=\"ml-2\" keys={shortcut} />\n </>\n );\n\n useGlobalKeyDown(shortcut, (event: KeyboardEvent) => {\n event.preventDefault();\n ref.current?.click();\n });\n\n const handleChange = (enabled: boolean) => {\n tableMeta.editing.toggleEditing(enabled);\n requestAnimationFrame(() => scrollToIndex(tableMeta.rowActive.rowActiveIndex ?? 0));\n };\n\n return (\n <Tooltip title={tooltip}>\n <ModeSwitch checked={tableMeta.editing.isEditing} onChange={handleChange} ref={ref} />\n </Tooltip>\n );\n}\n"],"names":["Editing","props","scrollToIndex","table","texts","useLocalization","ref","React","useRef","tableMeta","options","meta","shortcut","key","shift","tooltip","table3","editing","buttons","edit","Shortcut","className","keys","useGlobalKeyDown","event","preventDefault","_ref$current","current","click","handleChange","enabled","toggleEditing","requestAnimationFrame","_tableMeta$rowActive$","rowActive","rowActiveIndex","Tooltip","title","ModeSwitch","checked","isEditing","onChange"],"mappings":";;;;;;;SAagBA,OAAOA,CAAkBC,KAA0B;EAC/D,MAAM;IAAEC,aAAa;IAAEC;GAAO,GAAGF,KAAK;EACtC,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EACnC,MAAMC,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAoB,IAAI,CAAC;EACjD,MAAMC,SAAS,GAAGN,KAAK,CAACO,OAAO,CAACC,IAA6B;EAE7D,MAAMC,QAAQ,GAAG;IAAEC,GAAG,EAAE,GAAG;IAAEF,IAAI,EAAE,IAAI;IAAEG,KAAK,EAAE;GAAO;EACvD,MAAMC,OAAO,gBACTR,4DACKH,KAAK,CAACY,MAAM,CAACC,OAAO,CAACC,OAAO,CAACC,IAAI,CAACJ,OAAO,eAC1CR,6BAACa,QAAQ;IAACC,SAAS,EAAC,MAAM;IAACC,IAAI,EAAEV;IAAY,CAEpD;EAEDW,gBAAgB,CAACX,QAAQ,EAAGY,KAAoB;;IAC5CA,KAAK,CAACC,cAAc,EAAE;IACtB,CAAAC,YAAA,GAAApB,GAAG,CAACqB,OAAO,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,KAAK,EAAE;GACvB,CAAC;EAEF,MAAMC,YAAY,GAAIC,OAAgB;IAClCrB,SAAS,CAACQ,OAAO,CAACc,aAAa,CAACD,OAAO,CAAC;IACxCE,qBAAqB,CAAC;MAAA,IAAAC,qBAAA;MAAA,OAAM/B,aAAa,EAAA+B,qBAAA,GAACxB,SAAS,CAACyB,SAAS,CAACC,cAAc,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;MAAC;GACtF;EAED,oBACI1B,6BAAC6B,OAAO;IAACC,KAAK,EAAEtB;kBACZR,6BAAC+B,UAAU;IAACC,OAAO,EAAE9B,SAAS,CAACQ,OAAO,CAACuB,SAAS;IAAEC,QAAQ,EAAEZ,YAAY;IAAEvB,GAAG,EAAEA;IAAO,CAChF;AAElB;;;;"}
|
@@ -0,0 +1,349 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { isElementInsideOrTriggeredFromContainer } from '../../../utils/dom.js';
|
3
|
+
import { useGlobalKeyDown } from '../../../hooks/useGlobalKeyDown.js';
|
4
|
+
import { _catch } from '../../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
|
5
|
+
import { willRowMove } from '../util/editing.js';
|
6
|
+
|
7
|
+
function useTableEditing(isEnabled = false, handleSave, validator) {
|
8
|
+
// used to switch the table into editing mode
|
9
|
+
const [isEditing, toggleEditing] = React__default.useState(false);
|
10
|
+
// used to switch the editing between "detailed" mode
|
11
|
+
const [isDetailedMode, toggleDetailedMode] = React__default.useState(false);
|
12
|
+
// store the last focused cell, so that up/down arrow key navigation remains in the same column
|
13
|
+
const [lastFocusedCellIndex, setLastFocusedCellIndex] = useLastFocusedCellIndex();
|
14
|
+
// store pending changes for each row
|
15
|
+
// changes are saved as soon as the active row changes, so in most cases this will only contain the active row's changes
|
16
|
+
// but not always - if validation or server requests fail when saving, those rows remain until the failure is resolved
|
17
|
+
const pendingChangesFns = usePendingChanges(isEnabled, handleSave, validator);
|
18
|
+
// if focus leaves the table in any way, trigger a save
|
19
|
+
const handleBlur = React__default.useCallback(event => {
|
20
|
+
if (event.relatedTarget !== event.currentTarget && !isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {
|
21
|
+
pendingChangesFns.saveChanges();
|
22
|
+
}
|
23
|
+
}, [pendingChangesFns.saveChanges]);
|
24
|
+
// TODO: using useGlobalKeyDown prevents trigger when focused on inputs, but it's more "proper"
|
25
|
+
useGlobalKeyDown(isEnabled && isEditing ? {
|
26
|
+
key: 's',
|
27
|
+
meta: true,
|
28
|
+
shift: false
|
29
|
+
} : undefined, event => {
|
30
|
+
event.preventDefault();
|
31
|
+
pendingChangesFns.saveChanges();
|
32
|
+
});
|
33
|
+
return {
|
34
|
+
isEnabled,
|
35
|
+
isEditing,
|
36
|
+
isDetailedMode,
|
37
|
+
toggleDetailedMode: isEnabled ? toggleDetailedMode : () => undefined,
|
38
|
+
toggleEditing: isEnabled ? toggleEditing : () => undefined,
|
39
|
+
lastFocusedCellIndex,
|
40
|
+
setLastFocusedCellIndex,
|
41
|
+
...pendingChangesFns,
|
42
|
+
handleBlur: isEnabled && isEditing ? handleBlur : () => undefined
|
43
|
+
};
|
44
|
+
}
|
45
|
+
function usePendingChanges(isEnabled, handleSave, validator) {
|
46
|
+
const saveChanges = function (rowId = undefined) {
|
47
|
+
try {
|
48
|
+
if (!handleSave) {
|
49
|
+
console.warn('Tried to save, but Table has no onSave handler');
|
50
|
+
return Promise.resolve();
|
51
|
+
}
|
52
|
+
// we save back to pendingChanges, so make a copy of it's state when save was triggered
|
53
|
+
const changesToSave = rowId ? {
|
54
|
+
[rowId]: pendingChanges[rowId]
|
55
|
+
} : {
|
56
|
+
...pendingChanges
|
57
|
+
};
|
58
|
+
const changes = Object.keys(changesToSave);
|
59
|
+
if (changes.length) {
|
60
|
+
changes.map(function (rowId) {
|
61
|
+
try {
|
62
|
+
let _exit = false;
|
63
|
+
const pendingChange = changesToSave[rowId];
|
64
|
+
const changeSet = getChangesetFromChanges(pendingChange);
|
65
|
+
return Promise.resolve(_catch(function () {
|
66
|
+
function _temp3(_result) {
|
67
|
+
return _exit ? _result : Promise.resolve(handleSave(changeSet)).then(function () {
|
68
|
+
// cleanup changes, we don't need them after saving
|
69
|
+
resetChanges(rowId);
|
70
|
+
setRowSaveStatus(rowId, 'complete');
|
71
|
+
});
|
72
|
+
}
|
73
|
+
// set saving = true
|
74
|
+
setRowSaveStatus(rowId, 'pending');
|
75
|
+
// re-run validation, maybe a cell is already invalid but has never been blurred
|
76
|
+
const _temp2 = function () {
|
77
|
+
if (validator) {
|
78
|
+
return Promise.resolve(validator(changeSet)).then(function (errors) {
|
79
|
+
if (errors && Object.keys(errors).length) {
|
80
|
+
throw errors;
|
81
|
+
}
|
82
|
+
});
|
83
|
+
}
|
84
|
+
}();
|
85
|
+
return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2); // send new data to the server
|
86
|
+
}, function (error) {
|
87
|
+
// the onSave handler should throw errors when something fails, e.g. validation, network errors etc
|
88
|
+
// this code handles those errors and maps them either to row errors or cell specific errors
|
89
|
+
let rowError;
|
90
|
+
let cellErrors;
|
91
|
+
if (typeof error === 'string') {
|
92
|
+
rowError = error;
|
93
|
+
} else if (error instanceof Error) {
|
94
|
+
var _error$response;
|
95
|
+
rowError = error.message;
|
96
|
+
// most of our apis return error objects within this shape
|
97
|
+
if (typeof ((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) === 'object') {
|
98
|
+
var _error$response2;
|
99
|
+
cellErrors = (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data;
|
100
|
+
}
|
101
|
+
} else if (typeof error === 'object') {
|
102
|
+
cellErrors = error;
|
103
|
+
}
|
104
|
+
if (rowError || cellErrors) {
|
105
|
+
setPendingChanges(currentChanges => {
|
106
|
+
var _nextChanges$rowId$_m, _nextChanges$rowId$_m2;
|
107
|
+
const nextChanges = {
|
108
|
+
...currentChanges
|
109
|
+
};
|
110
|
+
nextChanges[rowId]._meta.errors = {
|
111
|
+
row: rowError,
|
112
|
+
cells: cellErrors,
|
113
|
+
hasShownErrorAlert: (_nextChanges$rowId$_m = (_nextChanges$rowId$_m2 = nextChanges[rowId]._meta.errors) === null || _nextChanges$rowId$_m2 === void 0 ? void 0 : _nextChanges$rowId$_m2.hasShownErrorAlert) !== null && _nextChanges$rowId$_m !== void 0 ? _nextChanges$rowId$_m : false
|
114
|
+
};
|
115
|
+
return nextChanges;
|
116
|
+
});
|
117
|
+
}
|
118
|
+
setRowSaveStatus(rowId, undefined);
|
119
|
+
}));
|
120
|
+
} catch (e) {
|
121
|
+
return Promise.reject(e);
|
122
|
+
}
|
123
|
+
});
|
124
|
+
}
|
125
|
+
return Promise.resolve();
|
126
|
+
} catch (e) {
|
127
|
+
return Promise.reject(e);
|
128
|
+
}
|
129
|
+
};
|
130
|
+
const validateCell = function (cell) {
|
131
|
+
try {
|
132
|
+
if (!validator || !isEnabled) {
|
133
|
+
return Promise.resolve();
|
134
|
+
}
|
135
|
+
const changeSet = getChangesetFromChanges(pendingChanges[cell.row.id]);
|
136
|
+
// only validate if the cell being blurred actually has any changes
|
137
|
+
const _temp = function () {
|
138
|
+
if (cell.column.id in changeSet) {
|
139
|
+
return Promise.resolve(validator(changeSet)).then(function (errors) {
|
140
|
+
setPendingChanges(currentChanges => {
|
141
|
+
const nextChanges = {
|
142
|
+
...currentChanges
|
143
|
+
};
|
144
|
+
nextChanges[cell.row.id]._meta = {
|
145
|
+
...nextChanges[cell.row.id]._meta,
|
146
|
+
errors: {
|
147
|
+
...nextChanges[cell.row.id]._meta.errors,
|
148
|
+
cells: errors,
|
149
|
+
hasShownErrorAlert: Object.keys(errors).length && !nextChanges[cell.row.id]._meta.errors.hasShownErrorAlert ? false : nextChanges[cell.row.id]._meta.errors.hasShownErrorAlert
|
150
|
+
}
|
151
|
+
};
|
152
|
+
return nextChanges;
|
153
|
+
});
|
154
|
+
});
|
155
|
+
}
|
156
|
+
}();
|
157
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
158
|
+
} catch (e) {
|
159
|
+
return Promise.reject(e);
|
160
|
+
}
|
161
|
+
};
|
162
|
+
const [pendingChanges, setPendingChanges] = React__default.useState({});
|
163
|
+
// we maintain save status as separate state because 'complete' needs to briefly show after pendingChanges are deleted
|
164
|
+
const [saveStates, setSaveState] = React__default.useState({});
|
165
|
+
function getCellValue(cell) {
|
166
|
+
var _pendingChanges$cell$;
|
167
|
+
return (_pendingChanges$cell$ = pendingChanges[cell.row.id]) === null || _pendingChanges$cell$ === void 0 ? void 0 : _pendingChanges$cell$[cell.column.id];
|
168
|
+
}
|
169
|
+
function getCellError(cell) {
|
170
|
+
var _pendingChanges$cell$2, _pendingChanges$cell$3, _pendingChanges$cell$4;
|
171
|
+
return (_pendingChanges$cell$2 = pendingChanges[cell.row.id]) === null || _pendingChanges$cell$2 === void 0 ? void 0 : (_pendingChanges$cell$3 = _pendingChanges$cell$2._meta.errors) === null || _pendingChanges$cell$3 === void 0 ? void 0 : (_pendingChanges$cell$4 = _pendingChanges$cell$3.cells) === null || _pendingChanges$cell$4 === void 0 ? void 0 : _pendingChanges$cell$4[cell.column.id];
|
172
|
+
}
|
173
|
+
const setCellValue = React__default.useCallback(function (cell, change, rowIndex) {
|
174
|
+
setPendingChanges(currentChanges => {
|
175
|
+
var _currentChanges$cell$, _currentChanges$cell$2, _currentChanges$cell$3;
|
176
|
+
const nextChanges = {
|
177
|
+
...currentChanges
|
178
|
+
};
|
179
|
+
const rowChanges = {
|
180
|
+
...currentChanges[cell.row.id],
|
181
|
+
_meta: {
|
182
|
+
...((_currentChanges$cell$ = currentChanges[cell.row.id]) === null || _currentChanges$cell$ === void 0 ? void 0 : _currentChanges$cell$._meta),
|
183
|
+
original: cell.row.original,
|
184
|
+
moveReason: {
|
185
|
+
...((_currentChanges$cell$2 = currentChanges[cell.row.id]) === null || _currentChanges$cell$2 === void 0 ? void 0 : _currentChanges$cell$2._meta.moveReason)
|
186
|
+
},
|
187
|
+
errors: {
|
188
|
+
...((_currentChanges$cell$3 = currentChanges[cell.row.id]) === null || _currentChanges$cell$3 === void 0 ? void 0 : _currentChanges$cell$3._meta.errors)
|
189
|
+
}
|
190
|
+
}
|
191
|
+
};
|
192
|
+
// update if the change is different to the original (saved) value,
|
193
|
+
// otherwise remove any change - no point saving the same value
|
194
|
+
if (change !== cell.row.original[cell.column.id]) {
|
195
|
+
rowChanges[cell.column.id] = change;
|
196
|
+
// determine if the row will move position based on this change, and save why it will move
|
197
|
+
const reason = willRowMove(cell, change, rowIndex);
|
198
|
+
if (reason) {
|
199
|
+
rowChanges._meta.moveReason[cell.column.id] = reason;
|
200
|
+
} else {
|
201
|
+
delete rowChanges._meta.moveReason[cell.column.id];
|
202
|
+
}
|
203
|
+
} else {
|
204
|
+
delete rowChanges[cell.column.id];
|
205
|
+
}
|
206
|
+
// set the changes for the row...
|
207
|
+
// or delete if there are no changes left, so that we don't store changes with unchanged data
|
208
|
+
if (Object.keys(rowChanges).filter(k => k !== '_meta').length) {
|
209
|
+
nextChanges[cell.row.id] = rowChanges;
|
210
|
+
} else {
|
211
|
+
delete nextChanges[cell.row.id];
|
212
|
+
}
|
213
|
+
return nextChanges;
|
214
|
+
});
|
215
|
+
}, []);
|
216
|
+
function hasRowErrors(rowId) {
|
217
|
+
var _pendingChanges$rowId, _pendingChanges$rowId2, _pendingChanges$rowId3, _pendingChanges$rowId4, _pendingChanges$rowId5;
|
218
|
+
if (!isEnabled) {
|
219
|
+
return false;
|
220
|
+
}
|
221
|
+
return !!((_pendingChanges$rowId = pendingChanges[rowId]) !== null && _pendingChanges$rowId !== void 0 && (_pendingChanges$rowId2 = _pendingChanges$rowId._meta.errors) !== null && _pendingChanges$rowId2 !== void 0 && _pendingChanges$rowId2.row) || !!Object.keys((_pendingChanges$rowId3 = (_pendingChanges$rowId4 = pendingChanges[rowId]) === null || _pendingChanges$rowId4 === void 0 ? void 0 : (_pendingChanges$rowId5 = _pendingChanges$rowId4._meta.errors) === null || _pendingChanges$rowId5 === void 0 ? void 0 : _pendingChanges$rowId5.cells) !== null && _pendingChanges$rowId3 !== void 0 ? _pendingChanges$rowId3 : {}).length;
|
222
|
+
}
|
223
|
+
function hasRowErrorsSeen(rowId) {
|
224
|
+
var _pendingChanges$rowId6;
|
225
|
+
if (!isEnabled) {
|
226
|
+
return false;
|
227
|
+
}
|
228
|
+
return hasRowErrors(rowId) && !!((_pendingChanges$rowId6 = pendingChanges[rowId]._meta.errors) !== null && _pendingChanges$rowId6 !== void 0 && _pendingChanges$rowId6.hasShownErrorAlert);
|
229
|
+
}
|
230
|
+
function setRowErrorsSeen(rowId) {
|
231
|
+
var _pendingChanges$rowId7;
|
232
|
+
if (((_pendingChanges$rowId7 = pendingChanges[rowId]._meta.errors) === null || _pendingChanges$rowId7 === void 0 ? void 0 : _pendingChanges$rowId7.hasShownErrorAlert) === false) {
|
233
|
+
setPendingChanges(currentChanges => {
|
234
|
+
const nextChanges = {
|
235
|
+
...currentChanges
|
236
|
+
};
|
237
|
+
nextChanges[rowId]._meta.errors = {
|
238
|
+
...nextChanges[rowId]._meta.errors,
|
239
|
+
hasShownErrorAlert: true
|
240
|
+
};
|
241
|
+
return nextChanges;
|
242
|
+
});
|
243
|
+
}
|
244
|
+
}
|
245
|
+
function getRowSaveStatus(rowId) {
|
246
|
+
if (!isEnabled) {
|
247
|
+
return false;
|
248
|
+
}
|
249
|
+
return saveStates[rowId];
|
250
|
+
}
|
251
|
+
function setRowSaveStatus(rowId, status) {
|
252
|
+
setSaveState(currentStates => {
|
253
|
+
const nextStates = {
|
254
|
+
...currentStates
|
255
|
+
};
|
256
|
+
if (status) {
|
257
|
+
nextStates[rowId] = status;
|
258
|
+
} else {
|
259
|
+
delete nextStates[rowId];
|
260
|
+
}
|
261
|
+
return nextStates;
|
262
|
+
});
|
263
|
+
}
|
264
|
+
function getRowMoveReason(rowId) {
|
265
|
+
var _pendingChanges$rowId8;
|
266
|
+
return (_pendingChanges$rowId8 = pendingChanges[rowId]) !== null && _pendingChanges$rowId8 !== void 0 && _pendingChanges$rowId8._meta.moveReason ? Object.values(pendingChanges[rowId]._meta.moveReason)[0] : undefined;
|
267
|
+
}
|
268
|
+
function hasChanges(rowId) {
|
269
|
+
if (!isEnabled) {
|
270
|
+
return false;
|
271
|
+
}
|
272
|
+
return rowId ? !!pendingChanges[rowId] : !!Object.keys(pendingChanges).length;
|
273
|
+
}
|
274
|
+
function hasErrors(table, tableRef) {
|
275
|
+
var _tableRef$current;
|
276
|
+
if (!isEnabled) {
|
277
|
+
return false;
|
278
|
+
}
|
279
|
+
const tableMeta = table.options.meta;
|
280
|
+
const focusIsInsideTable = (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.contains(document.activeElement);
|
281
|
+
let activeRow;
|
282
|
+
if (tableMeta.rowActive.rowActiveIndex !== undefined) {
|
283
|
+
activeRow = table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex];
|
284
|
+
}
|
285
|
+
return Object.keys(getErrors().filter(error => {
|
286
|
+
var _activeRow;
|
287
|
+
if ((_activeRow = activeRow) !== null && _activeRow !== void 0 && _activeRow.id && focusIsInsideTable) {
|
288
|
+
var _activeRow2;
|
289
|
+
return error.rowId === ((_activeRow2 = activeRow) === null || _activeRow2 === void 0 ? void 0 : _activeRow2.id) ? error.pendingChange._meta.errors.hasShownErrorAlert : true;
|
290
|
+
}
|
291
|
+
return true;
|
292
|
+
})).length;
|
293
|
+
}
|
294
|
+
function getErrors() {
|
295
|
+
return Object.keys(pendingChanges).filter(hasRowErrors).map(rowId => ({
|
296
|
+
rowId,
|
297
|
+
pendingChange: pendingChanges[rowId]
|
298
|
+
}));
|
299
|
+
}
|
300
|
+
function resetChanges(rowId) {
|
301
|
+
setPendingChanges(currentChanges => {
|
302
|
+
const nextChanges = {
|
303
|
+
...currentChanges
|
304
|
+
};
|
305
|
+
delete nextChanges[rowId];
|
306
|
+
return nextChanges;
|
307
|
+
});
|
308
|
+
}
|
309
|
+
return {
|
310
|
+
getCellValue,
|
311
|
+
getCellError,
|
312
|
+
setCellValue,
|
313
|
+
validateCell,
|
314
|
+
hasChanges,
|
315
|
+
hasErrors,
|
316
|
+
getErrors,
|
317
|
+
saveChanges,
|
318
|
+
resetChanges,
|
319
|
+
hasRowErrors,
|
320
|
+
hasRowErrorsSeen,
|
321
|
+
setRowErrorsSeen,
|
322
|
+
getRowSaveStatus,
|
323
|
+
setRowSaveStatus,
|
324
|
+
getRowMoveReason
|
325
|
+
};
|
326
|
+
}
|
327
|
+
function useLastFocusedCellIndex() {
|
328
|
+
// store the last focused cell, so that up/down arrow key navigation remains in the same column
|
329
|
+
const lastFocusedCellIndexRef = React__default.useRef(undefined);
|
330
|
+
const setLastFocusedCellIndex = React__default.useCallback(index => {
|
331
|
+
lastFocusedCellIndexRef.current = index;
|
332
|
+
}, []);
|
333
|
+
return [lastFocusedCellIndexRef.current, setLastFocusedCellIndex];
|
334
|
+
}
|
335
|
+
function getChangesetFromChanges(changes) {
|
336
|
+
// extract the original data from the row changes
|
337
|
+
const {
|
338
|
+
_meta,
|
339
|
+
...changeset
|
340
|
+
} = changes !== null && changes !== void 0 ? changes : {};
|
341
|
+
// and mix them in with the changes, ready to send to the server
|
342
|
+
return {
|
343
|
+
...(_meta === null || _meta === void 0 ? void 0 : _meta.original),
|
344
|
+
...changeset
|
345
|
+
};
|
346
|
+
}
|
347
|
+
|
348
|
+
export { useTableEditing };
|
349
|
+
//# sourceMappingURL=useTableEditing.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useTableEditing.js","sources":["../../../../../../../../src/components/Table3/features/useTableEditing.ts"],"sourcesContent":["import React from 'react';\nimport { Cell as ReactTableCell, Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { TableEditingSaveHandler, TableEditingValidatorFn } from '../types';\nimport { isElementInsideOrTriggeredFromContainer } from '../../../utils/dom';\nimport { useGlobalKeyDown } from '../../../hooks/useGlobalKeyDown';\nimport { willRowMove } from '../util/editing';\nimport { TableRef } from '../../../primitives/Table/types';\n\nexport function useTableEditing<TType = unknown>(\n isEnabled = false,\n handleSave: TableEditingSaveHandler<TType> | undefined,\n validator: TableEditingValidatorFn<TType> | undefined\n) {\n // used to switch the table into editing mode\n const [isEditing, toggleEditing] = React.useState(false);\n\n // used to switch the editing between \"detailed\" mode\n const [isDetailedMode, toggleDetailedMode] = React.useState(false);\n\n // store the last focused cell, so that up/down arrow key navigation remains in the same column\n const [lastFocusedCellIndex, setLastFocusedCellIndex] = useLastFocusedCellIndex();\n\n // store pending changes for each row\n // changes are saved as soon as the active row changes, so in most cases this will only contain the active row's changes\n // but not always - if validation or server requests fail when saving, those rows remain until the failure is resolved\n const pendingChangesFns = usePendingChanges<TType>(isEnabled, handleSave, validator);\n\n // if focus leaves the table in any way, trigger a save\n const handleBlur = React.useCallback(\n (event: React.FocusEvent<HTMLTableElement>) => {\n if (\n event.relatedTarget !== event.currentTarget &&\n !isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)\n ) {\n pendingChangesFns.saveChanges();\n }\n },\n [pendingChangesFns.saveChanges]\n );\n\n // TODO: using useGlobalKeyDown prevents trigger when focused on inputs, but it's more \"proper\"\n useGlobalKeyDown(isEnabled && isEditing ? { key: 's', meta: true, shift: false } : undefined, event => {\n event.preventDefault();\n pendingChangesFns.saveChanges();\n });\n\n return {\n isEnabled,\n isEditing,\n isDetailedMode,\n toggleDetailedMode: isEnabled ? toggleDetailedMode : () => undefined,\n toggleEditing: isEnabled ? toggleEditing : () => undefined,\n lastFocusedCellIndex,\n setLastFocusedCellIndex,\n ...pendingChangesFns,\n handleBlur: isEnabled && isEditing ? handleBlur : () => undefined,\n };\n}\n\ntype SaveState = 'pending' | 'complete';\ntype PendingChange<TType = unknown> = Partial<TType> & {\n _meta: {\n original: TType;\n moveReason: Record<string, 'search' | 'sorting' | 'filter'>;\n errors: {\n row: string;\n cells: Record<string, string>;\n hasShownErrorAlert: boolean;\n };\n status?: SaveState;\n };\n};\n\nfunction usePendingChanges<TType = unknown>(\n isEnabled: boolean,\n handleSave: TableEditingSaveHandler<TType> | undefined,\n validator: TableEditingValidatorFn<TType> | undefined\n) {\n const [pendingChanges, setPendingChanges] = React.useState<Record<string, PendingChange<TType>>>({});\n // we maintain save status as separate state because 'complete' needs to briefly show after pendingChanges are deleted\n const [saveStates, setSaveState] = React.useState<Record<string, SaveState>>({});\n\n function getCellValue<T extends TType>(cell: ReactTableCell<T, unknown>): unknown | undefined {\n return pendingChanges[cell.row.id]?.[cell.column.id];\n }\n\n function getCellError<T extends TType>(cell: ReactTableCell<T, unknown>): string | undefined {\n return pendingChanges[cell.row.id]?._meta.errors?.cells?.[cell.column.id];\n }\n\n const setCellValue = React.useCallback(function <T extends TType>(\n cell: ReactTableCell<T, unknown>,\n change: unknown,\n rowIndex: number\n ) {\n setPendingChanges(currentChanges => {\n const nextChanges = { ...currentChanges };\n const rowChanges = {\n ...currentChanges[cell.row.id],\n _meta: {\n ...currentChanges[cell.row.id]?._meta,\n original: cell.row.original,\n moveReason: {\n ...currentChanges[cell.row.id]?._meta.moveReason,\n },\n errors: {\n ...currentChanges[cell.row.id]?._meta.errors,\n },\n },\n } as PendingChange<T>;\n\n // update if the change is different to the original (saved) value,\n // otherwise remove any change - no point saving the same value\n if (change !== cell.row.original[cell.column.id]) {\n rowChanges[cell.column.id] = change;\n\n // determine if the row will move position based on this change, and save why it will move\n const reason = willRowMove(cell, change, rowIndex);\n\n if (reason) {\n rowChanges._meta.moveReason[cell.column.id] = reason;\n } else {\n delete rowChanges._meta.moveReason[cell.column.id];\n }\n } else {\n delete rowChanges[cell.column.id];\n }\n\n // set the changes for the row...\n // or delete if there are no changes left, so that we don't store changes with unchanged data\n if (Object.keys(rowChanges).filter(k => k !== '_meta').length) {\n nextChanges[cell.row.id] = rowChanges;\n } else {\n delete nextChanges[cell.row.id];\n }\n\n return nextChanges;\n });\n },\n []);\n\n async function validateCell<T extends TType>(cell: ReactTableCell<T, unknown>) {\n if (!validator || !isEnabled) {\n return;\n }\n\n const changeSet = getChangesetFromChanges(pendingChanges[cell.row.id]);\n\n // only validate if the cell being blurred actually has any changes\n if (cell.column.id in changeSet) {\n const errors = ((await validator(changeSet)) ?? {}) as Record<string, string>;\n\n setPendingChanges(currentChanges => {\n const nextChanges = { ...currentChanges };\n nextChanges[cell.row.id]._meta = {\n ...nextChanges[cell.row.id]._meta,\n errors: {\n ...nextChanges[cell.row.id]._meta.errors,\n cells: errors,\n hasShownErrorAlert:\n Object.keys(errors).length && !nextChanges[cell.row.id]._meta.errors.hasShownErrorAlert\n ? false\n : nextChanges[cell.row.id]._meta.errors.hasShownErrorAlert,\n },\n };\n return nextChanges;\n });\n }\n }\n\n function hasRowErrors(rowId: string) {\n if (!isEnabled) {\n return false;\n }\n\n return (\n !!pendingChanges[rowId]?._meta.errors?.row || !!Object.keys(pendingChanges[rowId]?._meta.errors?.cells ?? {}).length\n );\n }\n\n function hasRowErrorsSeen(rowId: string) {\n if (!isEnabled) {\n return false;\n }\n\n return hasRowErrors(rowId) && !!pendingChanges[rowId]._meta.errors?.hasShownErrorAlert;\n }\n\n function setRowErrorsSeen(rowId: string) {\n if (pendingChanges[rowId]._meta.errors?.hasShownErrorAlert === false) {\n setPendingChanges(currentChanges => {\n const nextChanges = { ...currentChanges };\n nextChanges[rowId]._meta.errors = {\n ...nextChanges[rowId]._meta.errors,\n hasShownErrorAlert: true,\n };\n return nextChanges;\n });\n }\n }\n\n function getRowSaveStatus(rowId: string) {\n if (!isEnabled) {\n return false;\n }\n\n return saveStates[rowId];\n }\n\n function setRowSaveStatus(rowId: string, status: 'pending' | 'complete' | undefined) {\n setSaveState(currentStates => {\n const nextStates = { ...currentStates };\n\n if (status) {\n nextStates[rowId] = status;\n } else {\n delete nextStates[rowId];\n }\n\n return nextStates;\n });\n }\n\n function getRowMoveReason(rowId: string) {\n return pendingChanges[rowId]?._meta.moveReason ? Object.values(pendingChanges[rowId]._meta.moveReason)[0] : undefined;\n }\n\n function hasChanges(rowId?: string) {\n if (!isEnabled) {\n return false;\n }\n\n return rowId ? !!pendingChanges[rowId] : !!Object.keys(pendingChanges).length;\n }\n\n function hasErrors<T extends TType>(table: ReactTable<T>, tableRef: React.RefObject<TableRef>) {\n if (!isEnabled) {\n return false;\n }\n\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const focusIsInsideTable = tableRef.current?.contains(document.activeElement);\n\n let activeRow;\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n activeRow = table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex];\n }\n\n return Object.keys(\n getErrors().filter(error => {\n if (activeRow?.id && focusIsInsideTable) {\n return error.rowId === activeRow?.id ? error.pendingChange._meta.errors.hasShownErrorAlert : true;\n }\n\n return true;\n })\n ).length;\n }\n\n function getErrors<T extends TType>() {\n return Object.keys(pendingChanges)\n .filter(hasRowErrors)\n .map(rowId => ({ rowId, pendingChange: pendingChanges[rowId] as PendingChange<T> }));\n }\n\n function resetChanges(rowId: string) {\n setPendingChanges(currentChanges => {\n const nextChanges = { ...currentChanges };\n delete nextChanges[rowId];\n return nextChanges;\n });\n }\n\n async function saveChanges(rowId: string | undefined = undefined) {\n if (!handleSave) {\n console.warn('Tried to save, but Table has no onSave handler');\n return;\n }\n\n // we save back to pendingChanges, so make a copy of it's state when save was triggered\n const changesToSave = rowId ? { [rowId]: pendingChanges[rowId] } : { ...pendingChanges };\n const changes = Object.keys(changesToSave);\n\n if (changes.length) {\n changes.map(async rowId => {\n const pendingChange = changesToSave[rowId];\n\n const changeSet = getChangesetFromChanges(pendingChange);\n\n try {\n // set saving = true\n setRowSaveStatus(rowId, 'pending');\n\n // re-run validation, maybe a cell is already invalid but has never been blurred\n if (validator) {\n const errors = await validator(changeSet);\n\n if (errors && Object.keys(errors).length) {\n throw errors;\n }\n }\n\n // send new data to the server\n await handleSave(changeSet);\n\n // cleanup changes, we don't need them after saving\n resetChanges(rowId);\n setRowSaveStatus(rowId, 'complete');\n } catch (error) {\n // the onSave handler should throw errors when something fails, e.g. validation, network errors etc\n // this code handles those errors and maps them either to row errors or cell specific errors\n let rowError;\n let cellErrors;\n\n if (typeof error === 'string') {\n rowError = error;\n } else if (error instanceof Error) {\n rowError = error.message;\n\n // most of our apis return error objects within this shape\n if (typeof (error as any).response?.data === 'object') {\n cellErrors = (error as any).response?.data;\n }\n } else if (typeof error === 'object') {\n cellErrors = error;\n }\n\n if (rowError || cellErrors) {\n setPendingChanges(currentChanges => {\n const nextChanges = { ...currentChanges };\n nextChanges[rowId]._meta.errors = {\n row: rowError,\n cells: cellErrors,\n hasShownErrorAlert: nextChanges[rowId]._meta.errors?.hasShownErrorAlert ?? false,\n };\n return nextChanges;\n });\n }\n\n setRowSaveStatus(rowId, undefined);\n }\n });\n }\n }\n\n return {\n getCellValue,\n getCellError,\n setCellValue,\n validateCell,\n hasChanges,\n hasErrors,\n getErrors,\n saveChanges,\n resetChanges,\n hasRowErrors,\n hasRowErrorsSeen,\n setRowErrorsSeen,\n getRowSaveStatus,\n setRowSaveStatus,\n getRowMoveReason,\n };\n}\n\nfunction useLastFocusedCellIndex(): [number | undefined, (index: number | undefined) => void] {\n // store the last focused cell, so that up/down arrow key navigation remains in the same column\n const lastFocusedCellIndexRef = React.useRef<number | undefined>(undefined);\n const setLastFocusedCellIndex = React.useCallback((index: number | undefined) => {\n lastFocusedCellIndexRef.current = index;\n }, []);\n\n return [lastFocusedCellIndexRef.current, setLastFocusedCellIndex];\n}\n\nfunction getChangesetFromChanges<TType = unknown>(changes: PendingChange<TType>): TType {\n // extract the original data from the row changes\n const { _meta, ...changeset } = changes ?? {};\n // and mix them in with the changes, ready to send to the server\n return { ..._meta?.original, ...changeset };\n}\n"],"names":["useTableEditing","isEnabled","handleSave","validator","isEditing","toggleEditing","React","useState","isDetailedMode","toggleDetailedMode","lastFocusedCellIndex","setLastFocusedCellIndex","useLastFocusedCellIndex","pendingChangesFns","usePendingChanges","handleBlur","useCallback","event","relatedTarget","currentTarget","isElementInsideOrTriggeredFromContainer","saveChanges","useGlobalKeyDown","key","meta","shift","undefined","preventDefault","rowId","console","warn","Promise","resolve","changesToSave","pendingChanges","changes","Object","keys","length","map","pendingChange","changeSet","getChangesetFromChanges","_catch","_temp3","_result","_exit","then","resetChanges","setRowSaveStatus","_temp2","errors","error","rowError","cellErrors","Error","_error$response","message","response","data","_error$response2","setPendingChanges","currentChanges","nextChanges","_meta","row","cells","hasShownErrorAlert","_nextChanges$rowId$_m","_nextChanges$rowId$_m2","e","reject","validateCell","cell","id","_temp","column","saveStates","setSaveState","getCellValue","_pendingChanges$cell$","getCellError","_pendingChanges$cell$2","_pendingChanges$cell$3","_pendingChanges$cell$4","setCellValue","change","rowIndex","rowChanges","_currentChanges$cell$","original","moveReason","_currentChanges$cell$2","_currentChanges$cell$3","reason","willRowMove","filter","k","hasRowErrors","_pendingChanges$rowId","_pendingChanges$rowId2","_pendingChanges$rowId3","_pendingChanges$rowId4","_pendingChanges$rowId5","hasRowErrorsSeen","_pendingChanges$rowId6","setRowErrorsSeen","_pendingChanges$rowId7","getRowSaveStatus","status","currentStates","nextStates","getRowMoveReason","_pendingChanges$rowId8","values","hasChanges","hasErrors","table","tableRef","tableMeta","options","focusIsInsideTable","_tableRef$current","current","contains","document","activeElement","activeRow","rowActive","rowActiveIndex","getRowModel","rows","getErrors","_activeRow","_activeRow2","lastFocusedCellIndexRef","useRef","index","changeset"],"mappings":"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"}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { useLazyEffect } from '../../../hooks/useLazyEffect.js';
|
3
|
+
|
4
|
+
function useTableEditingListener(table) {
|
5
|
+
const tableMeta = table.options.meta;
|
6
|
+
const saveChanges = () => {
|
7
|
+
requestAnimationFrame(() => {
|
8
|
+
tableMeta.editing.saveChanges();
|
9
|
+
});
|
10
|
+
};
|
11
|
+
// save when the row changes
|
12
|
+
useLazyEffect(() => {
|
13
|
+
if (tableMeta.editing.isEditing) {
|
14
|
+
saveChanges();
|
15
|
+
}
|
16
|
+
}, [tableMeta.rowActive.rowActiveIndex]);
|
17
|
+
useLazyEffect(() => {
|
18
|
+
if (tableMeta.editing.isEditing) {
|
19
|
+
if (tableMeta.rowActive.rowActiveIndex === undefined) {
|
20
|
+
tableMeta.rowActive.setRowActiveIndex(0);
|
21
|
+
}
|
22
|
+
} else {
|
23
|
+
// save
|
24
|
+
saveChanges();
|
25
|
+
// reset detailed mode
|
26
|
+
tableMeta.editing.toggleDetailedMode(false);
|
27
|
+
// reset the last index back to the first focusable element, when editing gets turned off
|
28
|
+
tableMeta.editing.setLastFocusedCellIndex(undefined);
|
29
|
+
}
|
30
|
+
}, [tableMeta.editing.isEditing]);
|
31
|
+
// show a warning if the user navigates away without triggering save, such as using the browser back/forward button
|
32
|
+
const hasChanges = tableMeta.editing.hasChanges();
|
33
|
+
React__default.useEffect(() => {
|
34
|
+
function showUnsavedChangesWarning(event) {
|
35
|
+
if (tableMeta.editing.isEditing && hasChanges) {
|
36
|
+
event.returnValue = true;
|
37
|
+
return true;
|
38
|
+
}
|
39
|
+
return false;
|
40
|
+
}
|
41
|
+
window.addEventListener('beforeunload', showUnsavedChangesWarning);
|
42
|
+
return () => {
|
43
|
+
window.removeEventListener('beforeunload', showUnsavedChangesWarning);
|
44
|
+
};
|
45
|
+
}, [tableMeta.editing.isEditing, hasChanges]);
|
46
|
+
}
|
47
|
+
|
48
|
+
export { useTableEditingListener };
|
49
|
+
//# sourceMappingURL=useTableEditingListener.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useTableEditingListener.js","sources":["../../../../../../../../src/components/Table3/listeners/useTableEditingListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLazyEffect } from '../../../hooks/useLazyEffect';\n\nexport function useTableEditingListener<TType = unknown>(table: ReactTable<TType>) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const saveChanges = () => {\n requestAnimationFrame(() => {\n tableMeta.editing.saveChanges();\n });\n };\n\n // save when the row changes\n useLazyEffect(() => {\n if (tableMeta.editing.isEditing) {\n saveChanges();\n }\n }, [tableMeta.rowActive.rowActiveIndex]);\n\n useLazyEffect(() => {\n if (tableMeta.editing.isEditing) {\n if (tableMeta.rowActive.rowActiveIndex === undefined) {\n tableMeta.rowActive.setRowActiveIndex(0);\n }\n } else {\n // save\n saveChanges();\n // reset detailed mode\n tableMeta.editing.toggleDetailedMode(false);\n // reset the last index back to the first focusable element, when editing gets turned off\n tableMeta.editing.setLastFocusedCellIndex(undefined);\n }\n }, [tableMeta.editing.isEditing]);\n\n // show a warning if the user navigates away without triggering save, such as using the browser back/forward button\n const hasChanges = tableMeta.editing.hasChanges();\n\n React.useEffect(() => {\n function showUnsavedChangesWarning(event: BeforeUnloadEvent) {\n if (tableMeta.editing.isEditing && hasChanges) {\n event.returnValue = true;\n return true;\n }\n\n return false;\n }\n\n window.addEventListener('beforeunload', showUnsavedChangesWarning);\n\n return () => {\n window.removeEventListener('beforeunload', showUnsavedChangesWarning);\n };\n }, [tableMeta.editing.isEditing, hasChanges]);\n}\n"],"names":["useTableEditingListener","table","tableMeta","options","meta","saveChanges","requestAnimationFrame","editing","useLazyEffect","isEditing","rowActive","rowActiveIndex","undefined","setRowActiveIndex","toggleDetailedMode","setLastFocusedCellIndex","hasChanges","React","useEffect","showUnsavedChangesWarning","event","returnValue","window","addEventListener","removeEventListener"],"mappings":";;;SAIgBA,uBAAuBA,CAAkBC,KAAwB;EAC7E,MAAMC,SAAS,GAAGD,KAAK,CAACE,OAAO,CAACC,IAA6B;EAE7D,MAAMC,WAAW,GAAGA;IAChBC,qBAAqB,CAAC;MAClBJ,SAAS,CAACK,OAAO,CAACF,WAAW,EAAE;KAClC,CAAC;GACL;;EAGDG,aAAa,CAAC;IACV,IAAIN,SAAS,CAACK,OAAO,CAACE,SAAS,EAAE;MAC7BJ,WAAW,EAAE;;GAEpB,EAAE,CAACH,SAAS,CAACQ,SAAS,CAACC,cAAc,CAAC,CAAC;EAExCH,aAAa,CAAC;IACV,IAAIN,SAAS,CAACK,OAAO,CAACE,SAAS,EAAE;MAC7B,IAAIP,SAAS,CAACQ,SAAS,CAACC,cAAc,KAAKC,SAAS,EAAE;QAClDV,SAAS,CAACQ,SAAS,CAACG,iBAAiB,CAAC,CAAC,CAAC;;KAE/C,MAAM;;MAEHR,WAAW,EAAE;;MAEbH,SAAS,CAACK,OAAO,CAACO,kBAAkB,CAAC,KAAK,CAAC;;MAE3CZ,SAAS,CAACK,OAAO,CAACQ,uBAAuB,CAACH,SAAS,CAAC;;GAE3D,EAAE,CAACV,SAAS,CAACK,OAAO,CAACE,SAAS,CAAC,CAAC;;EAGjC,MAAMO,UAAU,GAAGd,SAAS,CAACK,OAAO,CAACS,UAAU,EAAE;EAEjDC,cAAK,CAACC,SAAS,CAAC;IACZ,SAASC,yBAAyBA,CAACC,KAAwB;MACvD,IAAIlB,SAAS,CAACK,OAAO,CAACE,SAAS,IAAIO,UAAU,EAAE;QAC3CI,KAAK,CAACC,WAAW,GAAG,IAAI;QACxB,OAAO,IAAI;;MAGf,OAAO,KAAK;;IAGhBC,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEJ,yBAAyB,CAAC;IAElE,OAAO;MACHG,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEL,yBAAyB,CAAC;KACxE;GACJ,EAAE,CAACjB,SAAS,CAACK,OAAO,CAACE,SAAS,EAAEO,UAAU,CAAC,CAAC;AACjD;;;;"}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { useTable } from '../../primitives/Table/Core/useTable.js';
|
3
|
+
import { useTableEditingListener } from './listeners/useTableEditingListener.js';
|
4
|
+
import { useTableEditing } from './features/useTableEditing.js';
|
5
|
+
import { Cell } from './components/Columns/Cell/Cell.js';
|
6
|
+
import { EditingActionMenu } from './components/Columns/Internal/EditingActionsMenu.js';
|
7
|
+
import { Row } from './components/Row/Row.js';
|
8
|
+
|
9
|
+
const RENDERERS = {
|
10
|
+
row: Row,
|
11
|
+
cell: Cell
|
12
|
+
};
|
13
|
+
function useTable3(props, ref) {
|
14
|
+
const editing = useTableEditing(props.enableEditing, props.onSave, props.validator);
|
15
|
+
const extendedProps = {
|
16
|
+
...props,
|
17
|
+
enableRowActions: editing.isEditing ? true : props.enableRowActions,
|
18
|
+
rowActions: editing.isEditing ? [(_, rowId) => ( /*#__PURE__*/React__default.createElement(EditingActionMenu, {
|
19
|
+
hasChanges: editing.hasChanges(rowId),
|
20
|
+
hasErrors: editing.hasRowErrors(rowId),
|
21
|
+
onClear: () => editing.resetChanges(rowId),
|
22
|
+
onSave: () => editing.saveChanges(rowId),
|
23
|
+
onExit: () => editing.toggleEditing(false)
|
24
|
+
}))] : props.rowActions
|
25
|
+
};
|
26
|
+
const meta = {
|
27
|
+
editing
|
28
|
+
};
|
29
|
+
const table = useTable(extendedProps, ref, RENDERERS, meta);
|
30
|
+
// listeners
|
31
|
+
useTableEditingListener(table.instance);
|
32
|
+
return table;
|
33
|
+
}
|
34
|
+
|
35
|
+
export { useTable3 };
|
36
|
+
//# sourceMappingURL=useTable3.js.map
|