@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
package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js
ADDED
@@ -0,0 +1,216 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { isElementInsideOrTriggeredFromContainer } from '../../../../../utils/dom.js';
|
3
|
+
import { Input } from '../../../../Input/Input.js';
|
4
|
+
import { isDate } from 'date-fns';
|
5
|
+
import { isWeakEqual } from '../../../../../utils/date.js';
|
6
|
+
import { Datepicker } from '../../../../Datepicker/Datepicker.js';
|
7
|
+
import { Field } from '../../../../Field/Field.js';
|
8
|
+
import { RowContext } from '../../../../../primitives/Table/Core/components/Row/RowContext.js';
|
9
|
+
import { getCellAttributes } from '../../../../../primitives/Table/Core/components/Columns/Cell/util.js';
|
10
|
+
import { Switch } from '../../../../Switch/Switch.js';
|
11
|
+
import { RowMoveIndicator } from './Editing/RowMoveIndicator.js';
|
12
|
+
import { TextareaWithAutosizing } from './Editing/TextareaWithAutosizing.js';
|
13
|
+
import { useEditingCellAutofocus } from './util.js';
|
14
|
+
|
15
|
+
function EditingControlCell(props) {
|
16
|
+
var _columnMeta$control;
|
17
|
+
const {
|
18
|
+
cell,
|
19
|
+
cellRef,
|
20
|
+
isHighlighted,
|
21
|
+
index
|
22
|
+
} = props;
|
23
|
+
const {
|
24
|
+
rowIndex
|
25
|
+
} = React__default.useContext(RowContext);
|
26
|
+
const tableMeta = cell.getContext().table.options.meta;
|
27
|
+
const columnMeta = cell.column.columnDef.meta;
|
28
|
+
const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;
|
29
|
+
const handleFocus = useEditingCellAutofocus(props);
|
30
|
+
const handleBlur = () => {
|
31
|
+
tableMeta.editing.toggleDetailedMode(false);
|
32
|
+
tableMeta.editing.validateCell(cell);
|
33
|
+
};
|
34
|
+
// ensure that blur runs when the cell gets unmounted (when vertically arrow key navigating)
|
35
|
+
React__default.useEffect(() => {
|
36
|
+
const ref = cellRef.current;
|
37
|
+
return () => {
|
38
|
+
if (document.activeElement === ref || isElementInsideOrTriggeredFromContainer(document.activeElement, ref)) {
|
39
|
+
handleBlur();
|
40
|
+
}
|
41
|
+
};
|
42
|
+
}, []);
|
43
|
+
const error = tableMeta.editing.getCellError(cell);
|
44
|
+
const controlProps = {
|
45
|
+
dataType: columnMeta.dataType,
|
46
|
+
fontSize: tableMeta.fontSize.size,
|
47
|
+
id: cell.column.id,
|
48
|
+
invalid: !!error,
|
49
|
+
isDetailedMode: tableMeta.editing.isDetailedMode,
|
50
|
+
isTruncated: !!columnMeta.enableTruncate,
|
51
|
+
onBlur: handleBlur,
|
52
|
+
onChange: value => tableMeta.editing.setCellValue(cell, value, rowIndex),
|
53
|
+
row: cell.row.original,
|
54
|
+
tabIndex: isActiveRow ? 0 : -1,
|
55
|
+
toggleEditing: tableMeta.editing.toggleEditing,
|
56
|
+
toggleDetailedMode: tableMeta.editing.toggleDetailedMode,
|
57
|
+
type: (_columnMeta$control = columnMeta.control) !== null && _columnMeta$control !== void 0 ? _columnMeta$control : 'input',
|
58
|
+
value: cell.getValue()
|
59
|
+
};
|
60
|
+
const cellAttributes = {
|
61
|
+
...getCellAttributes(cell, index, isHighlighted),
|
62
|
+
'data-cell-editing-invalid': error ? true : undefined,
|
63
|
+
onFocus: handleFocus,
|
64
|
+
ref: cellRef,
|
65
|
+
tabIndex: -1
|
66
|
+
};
|
67
|
+
return /*#__PURE__*/React__default.createElement("td", Object.assign({}, cellAttributes), /*#__PURE__*/React__default.createElement(Field, {
|
68
|
+
invalid: !!error,
|
69
|
+
message: error
|
70
|
+
}, /*#__PURE__*/React__default.createElement(MemoedEditingCell, Object.assign({}, controlProps))), /*#__PURE__*/React__default.createElement(RowMoveIndicator, {
|
71
|
+
cell: cell,
|
72
|
+
cellRef: cellRef,
|
73
|
+
isActiveRow: isActiveRow
|
74
|
+
}));
|
75
|
+
}
|
76
|
+
const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditingCell(props) {
|
77
|
+
const {
|
78
|
+
dataType,
|
79
|
+
fontSize,
|
80
|
+
id,
|
81
|
+
invalid,
|
82
|
+
isDetailedMode,
|
83
|
+
isTruncated,
|
84
|
+
onBlur,
|
85
|
+
onChange,
|
86
|
+
row,
|
87
|
+
tabIndex = -1,
|
88
|
+
toggleEditing,
|
89
|
+
toggleDetailedMode,
|
90
|
+
type = 'input',
|
91
|
+
value
|
92
|
+
} = props;
|
93
|
+
const controlRef = React__default.useRef(null);
|
94
|
+
const currentValue = row[id];
|
95
|
+
const commonProps = {
|
96
|
+
onBlur,
|
97
|
+
ref: controlRef,
|
98
|
+
tabIndex
|
99
|
+
};
|
100
|
+
if (typeof type === 'function') {
|
101
|
+
const controlFnProps = {
|
102
|
+
...commonProps,
|
103
|
+
invalid,
|
104
|
+
setValue: onChange,
|
105
|
+
value
|
106
|
+
};
|
107
|
+
return type(controlFnProps, row);
|
108
|
+
}
|
109
|
+
if (type === 'switch') {
|
110
|
+
return /*#__PURE__*/React__default.createElement(Switch, Object.assign({}, commonProps, {
|
111
|
+
checked: Boolean(value),
|
112
|
+
onChange: onChange,
|
113
|
+
ref: controlRef
|
114
|
+
}));
|
115
|
+
}
|
116
|
+
const handleInputKeyDown = event => {
|
117
|
+
const target = event.target;
|
118
|
+
if (target.readOnly) {
|
119
|
+
return;
|
120
|
+
}
|
121
|
+
// prevent active row navigation while in detailed mode
|
122
|
+
if (isDetailedMode && (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'ArrowLeft' || event.key === 'ArrowRight')) {
|
123
|
+
event.stopPropagation();
|
124
|
+
}
|
125
|
+
// enter or exit detail mode when pressing enter
|
126
|
+
if (event.key === 'Enter') {
|
127
|
+
// textareas support shift and enter, don't prevent default in that case
|
128
|
+
if (event.shiftKey && isDetailedMode) {
|
129
|
+
return;
|
130
|
+
}
|
131
|
+
event.preventDefault();
|
132
|
+
if (isDetailedMode) {
|
133
|
+
var _target$select;
|
134
|
+
(_target$select = target.select) === null || _target$select === void 0 ? void 0 : _target$select.call(target);
|
135
|
+
} else {
|
136
|
+
var _target$setSelectionR, _target$value, _target$value2;
|
137
|
+
(_target$setSelectionR = target.setSelectionRange) === null || _target$setSelectionR === void 0 ? void 0 : _target$setSelectionR.call(target, (_target$value = target.value) === null || _target$value === void 0 ? void 0 : _target$value.length, (_target$value2 = target.value) === null || _target$value2 === void 0 ? void 0 : _target$value2.length);
|
138
|
+
}
|
139
|
+
toggleDetailedMode(editing => !editing);
|
140
|
+
return;
|
141
|
+
}
|
142
|
+
// reset the value, or exit edit mode when pressing escape
|
143
|
+
if (event.key === 'Escape') {
|
144
|
+
event.preventDefault();
|
145
|
+
if (isDetailedMode) {
|
146
|
+
toggleDetailedMode(false);
|
147
|
+
if (value !== currentValue) {
|
148
|
+
props.onChange(currentValue);
|
149
|
+
}
|
150
|
+
// have to let onChange run before selecting, otherwise the value changes
|
151
|
+
requestAnimationFrame(() => {
|
152
|
+
var _target$select2;
|
153
|
+
return (_target$select2 = target.select) === null || _target$select2 === void 0 ? void 0 : _target$select2.call(target);
|
154
|
+
});
|
155
|
+
} else {
|
156
|
+
toggleEditing(false);
|
157
|
+
}
|
158
|
+
return;
|
159
|
+
}
|
160
|
+
// toggle into detailed mode when actually inputting something
|
161
|
+
if (/^[a-z0-9]$/i.test(event.key) || event.key === 'Backspace') {
|
162
|
+
toggleDetailedMode(true);
|
163
|
+
}
|
164
|
+
};
|
165
|
+
const handleFocus = event => {
|
166
|
+
if (!isDetailedMode) {
|
167
|
+
event.target.select();
|
168
|
+
}
|
169
|
+
};
|
170
|
+
if (type === 'datepicker') {
|
171
|
+
const handleChange = event => {
|
172
|
+
const newDate = event.detail;
|
173
|
+
if (isDate(value) && isDate(newDate) && !isWeakEqual(value, newDate)) {
|
174
|
+
props.onChange(event.detail);
|
175
|
+
}
|
176
|
+
};
|
177
|
+
return /*#__PURE__*/React__default.createElement(Datepicker, Object.assign({}, commonProps, {
|
178
|
+
invalid: invalid,
|
179
|
+
onChange: handleChange,
|
180
|
+
onFocus: handleFocus,
|
181
|
+
onKeyDown: handleInputKeyDown,
|
182
|
+
ref: controlRef,
|
183
|
+
value: value
|
184
|
+
}));
|
185
|
+
}
|
186
|
+
if (type === 'textarea') {
|
187
|
+
const handleChange = event => {
|
188
|
+
onChange(event.target.value);
|
189
|
+
};
|
190
|
+
return /*#__PURE__*/React__default.createElement(TextareaWithAutosizing, Object.assign({}, commonProps, {
|
191
|
+
fontSize: fontSize,
|
192
|
+
invalid: invalid,
|
193
|
+
isTruncated: isTruncated,
|
194
|
+
onChange: handleChange,
|
195
|
+
onFocus: handleFocus,
|
196
|
+
onKeyDown: handleInputKeyDown,
|
197
|
+
ref: controlRef,
|
198
|
+
value: String(value !== null && value !== void 0 ? value : '')
|
199
|
+
}));
|
200
|
+
}
|
201
|
+
const handleChange = event => {
|
202
|
+
onChange(dataType === 'number' && event.target.value ? Number.parseInt(event.target.value) : event.target.value);
|
203
|
+
};
|
204
|
+
return /*#__PURE__*/React__default.createElement(Input, Object.assign({}, commonProps, {
|
205
|
+
invalid: invalid,
|
206
|
+
onChange: handleChange,
|
207
|
+
onFocus: handleFocus,
|
208
|
+
onKeyDown: handleInputKeyDown,
|
209
|
+
ref: controlRef,
|
210
|
+
type: dataType === 'number' ? 'number' : undefined,
|
211
|
+
value: dataType === 'number' ? value : String(value !== null && value !== void 0 ? value : '')
|
212
|
+
}));
|
213
|
+
});
|
214
|
+
|
215
|
+
export { EditingControlCell };
|
216
|
+
//# sourceMappingURL=EditingControlCell.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EditingControlCell.js","sources":["../../../../../../../../../../src/components/Table3/components/Columns/Cell/EditingControlCell.tsx"],"sourcesContent":["import React from 'react';\nimport { TableMeta as ReactTableMeta, ColumnMeta as ReactTableColumnMeta } from '@tanstack/react-table';\nimport { isDate } from 'date-fns';\nimport { Datepicker } from '../../../../Datepicker/Datepicker';\nimport { Switch } from '../../../../Switch/Switch';\nimport { Input } from '../../../../Input/Input';\nimport { TableColumnDataType, TableColumnRendererControl, TableFontSize } from '../../../../../primitives/Table/types';\nimport { isWeakEqual as isWeakEqualDate } from '../../../../../utils/date';\nimport { RowMoveIndicator } from './Editing/RowMoveIndicator';\nimport { TextareaWithAutosizing } from './Editing/TextareaWithAutosizing';\nimport { Field } from '../../../../Field/Field';\nimport { isElementInsideOrTriggeredFromContainer } from '../../../../../utils/dom';\nimport { TableCellRendererProps } from '../../../../../primitives/Table/Core/types';\nimport { RowContext } from '../../../../../primitives/Table/Core/components/Row/RowContext';\nimport { getCellAttributes } from '../../../../../primitives/Table/Core/components/Columns/Cell/util';\nimport { useEditingCellAutofocus } from './util';\n\nexport function EditingControlCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const { cell, cellRef, isHighlighted, index } = props;\n const { rowIndex } = React.useContext(RowContext);\n const tableMeta = cell.getContext().table.options.meta as ReactTableMeta<TType>;\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n\n const handleFocus = useEditingCellAutofocus<TType>(props);\n\n const handleBlur = () => {\n tableMeta.editing.toggleDetailedMode(false);\n tableMeta.editing.validateCell(cell);\n };\n\n // ensure that blur runs when the cell gets unmounted (when vertically arrow key navigating)\n React.useEffect(() => {\n const ref = cellRef.current;\n\n return () => {\n if (document.activeElement === ref || isElementInsideOrTriggeredFromContainer(document.activeElement, ref)) {\n handleBlur();\n }\n };\n }, []);\n\n const error = tableMeta.editing.getCellError<TType>(cell);\n\n const controlProps = {\n dataType: columnMeta.dataType,\n fontSize: tableMeta.fontSize.size,\n id: cell.column.id,\n invalid: !!error,\n isDetailedMode: tableMeta.editing.isDetailedMode,\n isTruncated: !!columnMeta.enableTruncate,\n onBlur: handleBlur,\n onChange: (value: unknown) => tableMeta.editing.setCellValue(cell, value, rowIndex),\n row: cell.row.original,\n tabIndex: isActiveRow ? 0 : -1,\n toggleEditing: tableMeta.editing.toggleEditing,\n toggleDetailedMode: tableMeta.editing.toggleDetailedMode,\n type: columnMeta.control ?? 'input',\n value: cell.getValue(),\n };\n\n const cellAttributes = {\n ...getCellAttributes(cell, index, isHighlighted),\n 'data-cell-editing-invalid': error ? true : undefined,\n onFocus: handleFocus,\n ref: cellRef,\n tabIndex: -1,\n };\n\n return (\n <td {...cellAttributes}>\n <Field invalid={!!error} message={error}>\n <MemoedEditingCell<TType> {...controlProps} />\n </Field>\n {\n // we show row move indicator here within the cell rather than the row because it is\n // an editing only feature, and we don't want to leak editing into the shared row component\n }\n <RowMoveIndicator cell={cell} cellRef={cellRef} isActiveRow={isActiveRow} />\n </td>\n );\n}\n\ntype MemoedEditingCellProps<TType = unknown, TValue = unknown> = {\n dataType?: TableColumnDataType;\n fontSize: TableFontSize;\n id: string;\n invalid: boolean;\n isDetailedMode: boolean;\n isTruncated: boolean;\n onBlur: () => void;\n onChange: (value: TValue) => void;\n row: TType;\n tabIndex?: number;\n toggleEditing: (editing: React.SetStateAction<boolean>) => void;\n toggleDetailedMode: (detailed: React.SetStateAction<boolean>) => void;\n type: TableColumnRendererControl<TType>;\n value: TValue;\n};\n\nconst MemoedEditingCell = React.memo(function MemoedEditingCell<TType = unknown>(props: MemoedEditingCellProps<TType>) {\n const {\n dataType,\n fontSize,\n id,\n invalid,\n isDetailedMode,\n isTruncated,\n onBlur,\n onChange,\n row,\n tabIndex = -1,\n toggleEditing,\n toggleDetailedMode,\n type = 'input',\n value,\n } = props;\n const controlRef = React.useRef<HTMLElement>(null);\n const currentValue = row[id];\n const commonProps = {\n onBlur,\n ref: controlRef,\n tabIndex,\n };\n\n if (typeof type === 'function') {\n const controlFnProps = {\n ...commonProps,\n invalid,\n setValue: onChange,\n value,\n };\n return type(controlFnProps, row);\n }\n\n if (type === 'switch') {\n return (\n <Switch\n {...commonProps}\n checked={Boolean(value)}\n onChange={onChange}\n ref={controlRef as React.RefObject<HTMLButtonElement>}\n />\n );\n }\n\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n\n if (target.readOnly) {\n return;\n }\n\n // prevent active row navigation while in detailed mode\n if (\n isDetailedMode &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown' || event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n ) {\n event.stopPropagation();\n }\n\n // enter or exit detail mode when pressing enter\n if (event.key === 'Enter') {\n // textareas support shift and enter, don't prevent default in that case\n if (event.shiftKey && isDetailedMode) {\n return;\n }\n\n event.preventDefault();\n\n if (isDetailedMode) {\n target.select?.();\n } else {\n target.setSelectionRange?.(target.value?.length, target.value?.length);\n }\n\n toggleDetailedMode(editing => !editing);\n return;\n }\n\n // reset the value, or exit edit mode when pressing escape\n if (event.key === 'Escape') {\n event.preventDefault();\n\n if (isDetailedMode) {\n toggleDetailedMode(false);\n\n if (value !== currentValue) {\n props.onChange(currentValue);\n }\n\n // have to let onChange run before selecting, otherwise the value changes\n requestAnimationFrame(() => target.select?.());\n } else {\n toggleEditing(false);\n }\n\n return;\n }\n\n // toggle into detailed mode when actually inputting something\n if (/^[a-z0-9]$/i.test(event.key) || event.key === 'Backspace') {\n toggleDetailedMode(true);\n }\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (!isDetailedMode) {\n event.target.select();\n }\n };\n\n if (type === 'datepicker') {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newDate = (event as any).detail;\n\n if (isDate(value) && isDate(newDate) && !isWeakEqualDate(value as Date, newDate as Date)) {\n props.onChange((event as any).detail);\n }\n };\n\n return (\n <Datepicker\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n value={value as Date}\n />\n );\n }\n\n if (type === 'textarea') {\n const handleChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n onChange(event.target.value);\n };\n\n return (\n <TextareaWithAutosizing\n {...commonProps}\n fontSize={fontSize}\n invalid={invalid}\n isTruncated={isTruncated}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n ref={controlRef as React.RefObject<HTMLTextAreaElement>}\n value={String(value ?? '')}\n />\n );\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange(dataType === 'number' && event.target.value ? Number.parseInt(event.target.value) : event.target.value);\n };\n\n return (\n <Input\n {...commonProps}\n invalid={invalid}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeyDown}\n ref={controlRef as React.RefObject<HTMLInputElement>}\n type={dataType === 'number' ? 'number' : undefined}\n value={dataType === 'number' ? (value as number) : String(value ?? '')}\n />\n );\n}) as <TType = unknown>(props: MemoedEditingCellProps<TType>) => JSX.Element;\n"],"names":["EditingControlCell","props","cell","cellRef","isHighlighted","index","rowIndex","React","useContext","RowContext","tableMeta","getContext","table","options","meta","columnMeta","column","columnDef","isActiveRow","rowActive","rowActiveIndex","handleFocus","useEditingCellAutofocus","handleBlur","editing","toggleDetailedMode","validateCell","useEffect","ref","current","document","activeElement","isElementInsideOrTriggeredFromContainer","error","getCellError","controlProps","dataType","fontSize","size","id","invalid","isDetailedMode","isTruncated","enableTruncate","onBlur","onChange","value","setCellValue","row","original","tabIndex","toggleEditing","type","_columnMeta$control","control","getValue","cellAttributes","getCellAttributes","undefined","onFocus","Field","message","MemoedEditingCell","RowMoveIndicator","memo","controlRef","useRef","currentValue","commonProps","controlFnProps","setValue","Switch","checked","Boolean","handleInputKeyDown","event","target","readOnly","key","stopPropagation","shiftKey","preventDefault","_target$select","select","call","_target$setSelectionR","_target$value","_target$value2","setSelectionRange","length","requestAnimationFrame","_target$select2","test","handleChange","newDate","detail","isDate","isWeakEqualDate","Datepicker","onKeyDown","TextareaWithAutosizing","String","Number","parseInt","Input"],"mappings":"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"}
|
package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingDisplayCell.js
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { DisplayCell } from '../../../../../primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js';
|
3
|
+
import { useEditingCellAutofocus } from './util.js';
|
4
|
+
|
5
|
+
const EditingDisplayCell = /*#__PURE__*/React__default.memo(function EditingDisplayCell(props) {
|
6
|
+
const handleFocus = useEditingCellAutofocus(props);
|
7
|
+
return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props, {
|
8
|
+
onFocus: handleFocus,
|
9
|
+
tabIndex: -1
|
10
|
+
}));
|
11
|
+
});
|
12
|
+
|
13
|
+
export { EditingDisplayCell };
|
14
|
+
//# sourceMappingURL=EditingDisplayCell.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EditingDisplayCell.js","sources":["../../../../../../../../../../src/components/Table3/components/Columns/Cell/EditingDisplayCell.tsx"],"sourcesContent":["import React from 'react';\nimport { DisplayCell } from '../../../../../primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell';\nimport { TableCellRendererProps } from '../../../../../primitives/Table/Core/types';\nimport { useEditingCellAutofocus } from './util';\n\nexport const EditingDisplayCell = React.memo(function EditingDisplayCell<TType = unknown>(props: TableCellRendererProps<TType>) {\n const handleFocus = useEditingCellAutofocus<TType>(props);\n return <DisplayCell<TType> {...props} onFocus={handleFocus} tabIndex={-1} />;\n}) as <TType = unknown>(props: TableCellRendererProps<TType>) => JSX.Element;\n"],"names":["EditingDisplayCell","React","memo","props","handleFocus","useEditingCellAutofocus","DisplayCell","onFocus","tabIndex"],"mappings":";;;;MAKaA,kBAAkB,gBAAGC,cAAK,CAACC,IAAI,CAAC,SAASF,kBAAkBA,CAAkBG,KAAoC;EAC1H,MAAMC,WAAW,GAAGC,uBAAuB,CAAQF,KAAK,CAAC;EACzD,oBAAOF,6BAACK,WAAW,oBAAYH,KAAK;IAAEI,OAAO,EAAEH,WAAW;IAAEI,QAAQ,EAAE,CAAC;KAAK;AAChF,CAAC;;;;"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { RowContext } from '../../../../../primitives/Table/Core/components/Row/RowContext.js';
|
3
|
+
import { useAugmentedFocusManager } from '../../../../../primitives/Table/Core/components/Body/util.js';
|
4
|
+
|
5
|
+
function useEditingCellAutofocus(props) {
|
6
|
+
const focusManager = useAugmentedFocusManager();
|
7
|
+
const {
|
8
|
+
rowIndex
|
9
|
+
} = React__default.useContext(RowContext);
|
10
|
+
const table = props.cell.getContext().table;
|
11
|
+
const tableMeta = table.options.meta;
|
12
|
+
const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;
|
13
|
+
const autoFocus = props.index === tableMeta.editing.lastFocusedCellIndex && isActiveRow;
|
14
|
+
// focus the cell so that we trigger it's handle focus
|
15
|
+
React__default.useEffect(() => {
|
16
|
+
if (props.cellRef.current) {
|
17
|
+
var _props$cellRef$curren, _document$activeEleme;
|
18
|
+
const isFocusedElementInCurrentRow = (_props$cellRef$curren = props.cellRef.current.closest('tr')) === null || _props$cellRef$curren === void 0 ? void 0 : _props$cellRef$curren.contains(document.activeElement);
|
19
|
+
const isFocusedElementSearch = ((_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.getAttribute('name')) === 'table-search';
|
20
|
+
if (autoFocus && !isFocusedElementInCurrentRow && !isFocusedElementSearch) {
|
21
|
+
var _props$cellRef$curren2;
|
22
|
+
(_props$cellRef$curren2 = props.cellRef.current) === null || _props$cellRef$curren2 === void 0 ? void 0 : _props$cellRef$curren2.focus();
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}, [autoFocus]);
|
26
|
+
// when the cell receives focus we actually want to focus the control inside it...
|
27
|
+
const handleFocus = event => {
|
28
|
+
var _props$cellRef$curren3;
|
29
|
+
const tableElement = (_props$cellRef$curren3 = props.cellRef.current) === null || _props$cellRef$curren3 === void 0 ? void 0 : _props$cellRef$curren3.closest('table');
|
30
|
+
if (tableElement && table.getIsSomeColumnsPinned() && !props.cell.column.getIsPinned()) {
|
31
|
+
const columnFreezingOffset = table.getLeftTotalSize();
|
32
|
+
const leftOffsetFromScrollContainer = event.currentTarget.getBoundingClientRect().left - tableElement.getBoundingClientRect().left;
|
33
|
+
if (leftOffsetFromScrollContainer < columnFreezingOffset) {
|
34
|
+
tableElement.scrollTo(props.cell.column.getStart() - columnFreezingOffset, tableElement.scrollTop);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
if (event.target === event.currentTarget) {
|
38
|
+
focusManager.focusNext();
|
39
|
+
}
|
40
|
+
};
|
41
|
+
return handleFocus;
|
42
|
+
}
|
43
|
+
|
44
|
+
export { useEditingCellAutofocus };
|
45
|
+
//# sourceMappingURL=util.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../../../../../../../src/components/Table3/components/Columns/Cell/util.ts"],"sourcesContent":["import React from 'react';\nimport { TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useAugmentedFocusManager } from '../../../../../primitives/Table/Core/components/Body/util';\nimport { TableCellRendererProps } from '../../../../../primitives/Table/Core/types';\nimport { RowContext } from '../../../../../primitives/Table/Core/components/Row/RowContext';\n\nexport function useEditingCellAutofocus<TType = unknown>(props: TableCellRendererProps<TType>) {\n const focusManager = useAugmentedFocusManager();\n const { rowIndex } = React.useContext(RowContext);\n const table = props.cell.getContext().table;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n\n const autoFocus = props.index === tableMeta.editing.lastFocusedCellIndex && isActiveRow;\n\n // focus the cell so that we trigger it's handle focus\n React.useEffect(() => {\n if (props.cellRef.current) {\n const isFocusedElementInCurrentRow = props.cellRef.current.closest('tr')?.contains(document.activeElement);\n const isFocusedElementSearch = document.activeElement?.getAttribute('name') === 'table-search';\n\n if (autoFocus && !isFocusedElementInCurrentRow && !isFocusedElementSearch) {\n props.cellRef.current?.focus();\n }\n }\n }, [autoFocus]);\n\n // when the cell receives focus we actually want to focus the control inside it...\n const handleFocus = (event: React.FocusEvent<HTMLTableCellElement>) => {\n const tableElement = props.cellRef.current?.closest('table');\n\n if (tableElement && table.getIsSomeColumnsPinned() && !props.cell.column.getIsPinned()) {\n const columnFreezingOffset = table.getLeftTotalSize();\n const leftOffsetFromScrollContainer =\n event.currentTarget.getBoundingClientRect().left - tableElement.getBoundingClientRect().left;\n\n if (leftOffsetFromScrollContainer < columnFreezingOffset) {\n tableElement.scrollTo(props.cell.column.getStart() - columnFreezingOffset, tableElement.scrollTop);\n }\n }\n\n if (event.target === event.currentTarget) {\n focusManager.focusNext();\n }\n };\n\n return handleFocus;\n}\n"],"names":["useEditingCellAutofocus","props","focusManager","useAugmentedFocusManager","rowIndex","React","useContext","RowContext","table","cell","getContext","tableMeta","options","meta","isActiveRow","rowActive","rowActiveIndex","autoFocus","index","editing","lastFocusedCellIndex","useEffect","cellRef","current","_props$cellRef$curren","_document$activeEleme","isFocusedElementInCurrentRow","closest","contains","document","activeElement","isFocusedElementSearch","getAttribute","_props$cellRef$curren2","focus","handleFocus","event","tableElement","_props$cellRef$curren3","getIsSomeColumnsPinned","column","getIsPinned","columnFreezingOffset","getLeftTotalSize","leftOffsetFromScrollContainer","currentTarget","getBoundingClientRect","left","scrollTo","getStart","scrollTop","target","focusNext"],"mappings":";;;;SAMgBA,uBAAuBA,CAAkBC,KAAoC;EACzF,MAAMC,YAAY,GAAGC,wBAAwB,EAAE;EAC/C,MAAM;IAAEC;GAAU,GAAGC,cAAK,CAACC,UAAU,CAACC,UAAU,CAAC;EACjD,MAAMC,KAAK,GAAGP,KAAK,CAACQ,IAAI,CAACC,UAAU,EAAE,CAACF,KAAK;EAC3C,MAAMG,SAAS,GAAGH,KAAK,CAACI,OAAO,CAACC,IAA6B;EAC7D,MAAMC,WAAW,GAAGH,SAAS,CAACI,SAAS,CAACC,cAAc,KAAKZ,QAAQ;EAEnE,MAAMa,SAAS,GAAGhB,KAAK,CAACiB,KAAK,KAAKP,SAAS,CAACQ,OAAO,CAACC,oBAAoB,IAAIN,WAAW;;EAGvFT,cAAK,CAACgB,SAAS,CAAC;IACZ,IAAIpB,KAAK,CAACqB,OAAO,CAACC,OAAO,EAAE;MAAA,IAAAC,qBAAA,EAAAC,qBAAA;MACvB,MAAMC,4BAA4B,IAAAF,qBAAA,GAAGvB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACI,OAAO,CAAC,IAAI,CAAC,cAAAH,qBAAA,uBAAnCA,qBAAA,CAAqCI,QAAQ,CAACC,QAAQ,CAACC,aAAa,CAAC;MAC1G,MAAMC,sBAAsB,GAAG,EAAAN,qBAAA,GAAAI,QAAQ,CAACC,aAAa,cAAAL,qBAAA,uBAAtBA,qBAAA,CAAwBO,YAAY,CAAC,MAAM,CAAC,MAAK,cAAc;MAE9F,IAAIf,SAAS,IAAI,CAACS,4BAA4B,IAAI,CAACK,sBAAsB,EAAE;QAAA,IAAAE,sBAAA;QACvE,CAAAA,sBAAA,GAAAhC,KAAK,CAACqB,OAAO,CAACC,OAAO,cAAAU,sBAAA,uBAArBA,sBAAA,CAAuBC,KAAK,EAAE;;;GAGzC,EAAE,CAACjB,SAAS,CAAC,CAAC;;EAGf,MAAMkB,WAAW,GAAIC,KAA6C;;IAC9D,MAAMC,YAAY,IAAAC,sBAAA,GAAGrC,KAAK,CAACqB,OAAO,CAACC,OAAO,cAAAe,sBAAA,uBAArBA,sBAAA,CAAuBX,OAAO,CAAC,OAAO,CAAC;IAE5D,IAAIU,YAAY,IAAI7B,KAAK,CAAC+B,sBAAsB,EAAE,IAAI,CAACtC,KAAK,CAACQ,IAAI,CAAC+B,MAAM,CAACC,WAAW,EAAE,EAAE;MACpF,MAAMC,oBAAoB,GAAGlC,KAAK,CAACmC,gBAAgB,EAAE;MACrD,MAAMC,6BAA6B,GAC/BR,KAAK,CAACS,aAAa,CAACC,qBAAqB,EAAE,CAACC,IAAI,GAAGV,YAAY,CAACS,qBAAqB,EAAE,CAACC,IAAI;MAEhG,IAAIH,6BAA6B,GAAGF,oBAAoB,EAAE;QACtDL,YAAY,CAACW,QAAQ,CAAC/C,KAAK,CAACQ,IAAI,CAAC+B,MAAM,CAACS,QAAQ,EAAE,GAAGP,oBAAoB,EAAEL,YAAY,CAACa,SAAS,CAAC;;;IAI1G,IAAId,KAAK,CAACe,MAAM,KAAKf,KAAK,CAACS,aAAa,EAAE;MACtC3C,YAAY,CAACkD,SAAS,EAAE;;GAE/B;EAED,OAAOjB,WAAW;AACtB;;;;"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { IconButton } from '../../../../IconButton/IconButton.js';
|
3
|
+
import { useLocalization } from '../../../../Provider/Localization.js';
|
4
|
+
import { Button } from '../../../../Button/Button.js';
|
5
|
+
import { Dialog } from '../../../../Dialog/Dialog.js';
|
6
|
+
import { Group } from '../../../../Group/Group.js';
|
7
|
+
import { Menu } from '../../../../Menu/Menu.js';
|
8
|
+
|
9
|
+
function EditingActionMenu(props) {
|
10
|
+
const {
|
11
|
+
hasChanges,
|
12
|
+
hasErrors,
|
13
|
+
onClear: handleClear,
|
14
|
+
onExit: handleExit,
|
15
|
+
onSave: handleSave
|
16
|
+
} = props;
|
17
|
+
const {
|
18
|
+
texts
|
19
|
+
} = useLocalization();
|
20
|
+
return /*#__PURE__*/React__default.createElement(IconButton, {
|
21
|
+
appearance: "transparent",
|
22
|
+
"aria-label": texts.table3.editing.actions.tooltip,
|
23
|
+
className: "group-[[data-row-editing-status]]/row:hidden",
|
24
|
+
icon: "more",
|
25
|
+
menu: menuProps => ( /*#__PURE__*/React__default.createElement(Menu, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu.Content, null, /*#__PURE__*/React__default.createElement(Menu.Item, {
|
26
|
+
icon: "tick",
|
27
|
+
disabled: !hasChanges || hasErrors,
|
28
|
+
onClick: handleSave
|
29
|
+
}, texts.table3.editing.actions.save), /*#__PURE__*/React__default.createElement(Menu.Item, {
|
30
|
+
icon: "close",
|
31
|
+
disabled: !hasChanges,
|
32
|
+
dialog: props => /*#__PURE__*/React__default.createElement(ConfirmClearChangesDialog, Object.assign({}, props, {
|
33
|
+
onClear: handleClear
|
34
|
+
}))
|
35
|
+
}, texts.table3.editing.actions.clear), /*#__PURE__*/React__default.createElement(Menu.Item, {
|
36
|
+
icon: "undo",
|
37
|
+
onClick: handleExit
|
38
|
+
}, texts.table3.editing.actions.exit))))
|
39
|
+
});
|
40
|
+
}
|
41
|
+
function ConfirmClearChangesDialog(props) {
|
42
|
+
const {
|
43
|
+
onClear: handleClear,
|
44
|
+
...dialogProps
|
45
|
+
} = props;
|
46
|
+
const {
|
47
|
+
texts
|
48
|
+
} = useLocalization();
|
49
|
+
return /*#__PURE__*/React__default.createElement(Dialog, Object.assign({}, dialogProps), /*#__PURE__*/React__default.createElement(Dialog.Content, {
|
50
|
+
"aria-label": texts.table3.editing.clearChangesConfirmationDialog.title
|
51
|
+
}, /*#__PURE__*/React__default.createElement(Dialog.Title, null, texts.table3.editing.clearChangesConfirmationDialog.title), /*#__PURE__*/React__default.createElement("p", null, texts.table3.editing.clearChangesConfirmationDialog.description), /*#__PURE__*/React__default.createElement(Dialog.Footer, null, /*#__PURE__*/React__default.createElement(Group, null, /*#__PURE__*/React__default.createElement(Dialog.Close, null, /*#__PURE__*/React__default.createElement(Button, {
|
52
|
+
tabIndex: 0
|
53
|
+
}, texts.table3.editing.clearChangesConfirmationDialog.cancel)), /*#__PURE__*/React__default.createElement(Dialog.Close, null, /*#__PURE__*/React__default.createElement(Button, {
|
54
|
+
tabIndex: 0,
|
55
|
+
appearance: "primary",
|
56
|
+
autoFocus: true,
|
57
|
+
onClick: handleClear
|
58
|
+
}, texts.table3.editing.clearChangesConfirmationDialog.confirm))))));
|
59
|
+
}
|
60
|
+
|
61
|
+
export { EditingActionMenu };
|
62
|
+
//# sourceMappingURL=EditingActionsMenu.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EditingActionsMenu.js","sources":["../../../../../../../../../../src/components/Table3/components/Columns/Internal/EditingActionsMenu.tsx"],"sourcesContent":["import React from 'react';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { Menu } from '../../../../Menu/Menu';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Dialog, DialogProps } from '../../../../Dialog/Dialog';\nimport { Group } from '../../../../Group/Group';\nimport { Button } from '../../../../Button/Button';\n\ntype EditingActionMenuProps = {\n hasChanges: boolean;\n hasErrors: boolean;\n onClear: () => void;\n onExit: () => void;\n onSave: () => Promise<void>;\n};\n\nexport function EditingActionMenu(props: EditingActionMenuProps) {\n const { hasChanges, hasErrors, onClear: handleClear, onExit: handleExit, onSave: handleSave } = props;\n const { texts } = useLocalization();\n\n return (\n <IconButton\n appearance=\"transparent\"\n aria-label={texts.table3.editing.actions.tooltip}\n className=\"group-[[data-row-editing-status]]/row:hidden\"\n icon=\"more\"\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n <Menu.Item icon=\"tick\" disabled={!hasChanges || hasErrors} onClick={handleSave}>\n {texts.table3.editing.actions.save}\n </Menu.Item>\n <Menu.Item\n icon=\"close\"\n disabled={!hasChanges}\n dialog={props => <ConfirmClearChangesDialog {...props} onClear={handleClear} />}>\n {texts.table3.editing.actions.clear}\n </Menu.Item>\n <Menu.Item icon=\"undo\" onClick={handleExit}>\n {texts.table3.editing.actions.exit}\n </Menu.Item>\n </Menu.Content>\n </Menu>\n )}\n />\n );\n}\n\ntype ConfirmClearChangesDialogProps = Partial<DialogProps> & {\n onClear: () => void;\n};\n\nfunction ConfirmClearChangesDialog(props: ConfirmClearChangesDialogProps) {\n const { onClear: handleClear, ...dialogProps } = props;\n const { texts } = useLocalization();\n\n return (\n <Dialog {...dialogProps}>\n <Dialog.Content aria-label={texts.table3.editing.clearChangesConfirmationDialog.title}>\n <Dialog.Title>{texts.table3.editing.clearChangesConfirmationDialog.title}</Dialog.Title>\n\n <p>{texts.table3.editing.clearChangesConfirmationDialog.description}</p>\n\n <Dialog.Footer>\n <Group>\n <Dialog.Close>\n <Button tabIndex={0}>{texts.table3.editing.clearChangesConfirmationDialog.cancel}</Button>\n </Dialog.Close>\n <Dialog.Close>\n <Button tabIndex={0} appearance=\"primary\" autoFocus onClick={handleClear}>\n {texts.table3.editing.clearChangesConfirmationDialog.confirm}\n </Button>\n </Dialog.Close>\n </Group>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog>\n );\n}\n"],"names":["EditingActionMenu","props","hasChanges","hasErrors","onClear","handleClear","onExit","handleExit","onSave","handleSave","texts","useLocalization","React","IconButton","appearance","table3","editing","actions","tooltip","className","icon","menu","menuProps","Menu","Content","Item","disabled","onClick","save","dialog","ConfirmClearChangesDialog","clear","exit","dialogProps","Dialog","clearChangesConfirmationDialog","title","Title","description","Footer","Group","Close","Button","tabIndex","cancel","autoFocus","confirm"],"mappings":";;;;;;;;SAgBgBA,iBAAiBA,CAACC,KAA6B;EAC3D,MAAM;IAAEC,UAAU;IAAEC,SAAS;IAAEC,OAAO,EAAEC,WAAW;IAAEC,MAAM,EAAEC,UAAU;IAAEC,MAAM,EAAEC;GAAY,GAAGR,KAAK;EACrG,MAAM;IAAES;GAAO,GAAGC,eAAe,EAAE;EAEnC,oBACIC,6BAACC,UAAU;IACPC,UAAU,EAAC,aAAa;kBACZJ,KAAK,CAACK,MAAM,CAACC,OAAO,CAACC,OAAO,CAACC,OAAO;IAChDC,SAAS,EAAC,8CAA8C;IACxDC,IAAI,EAAC,MAAM;IACXC,IAAI,EAAEC,SAAS,mBACXV,6BAACW,IAAI,oBAAKD,SAAS,gBACfV,6BAACW,IAAI,CAACC,OAAO,qBACTZ,6BAACW,IAAI,CAACE,IAAI;MAACL,IAAI,EAAC,MAAM;MAACM,QAAQ,EAAE,CAACxB,UAAU,IAAIC,SAAS;MAAEwB,OAAO,EAAElB;OAC/DC,KAAK,CAACK,MAAM,CAACC,OAAO,CAACC,OAAO,CAACW,IAAI,CAC1B,eACZhB,6BAACW,IAAI,CAACE,IAAI;MACNL,IAAI,EAAC,OAAO;MACZM,QAAQ,EAAE,CAACxB,UAAU;MACrB2B,MAAM,EAAE5B,KAAK,iBAAIW,6BAACkB,yBAAyB,oBAAK7B,KAAK;QAAEG,OAAO,EAAEC;;OAC/DK,KAAK,CAACK,MAAM,CAACC,OAAO,CAACC,OAAO,CAACc,KAAK,CAC3B,eACZnB,6BAACW,IAAI,CAACE,IAAI;MAACL,IAAI,EAAC,MAAM;MAACO,OAAO,EAAEpB;OAC3BG,KAAK,CAACK,MAAM,CAACC,OAAO,CAACC,OAAO,CAACe,IAAI,CAC1B,CACD,CACZ;IAEb;AAEV;AAMA,SAASF,yBAAyBA,CAAC7B,KAAqC;EACpE,MAAM;IAAEG,OAAO,EAAEC,WAAW;IAAE,GAAG4B;GAAa,GAAGhC,KAAK;EACtD,MAAM;IAAES;GAAO,GAAGC,eAAe,EAAE;EAEnC,oBACIC,6BAACsB,MAAM,oBAAKD,WAAW,gBACnBrB,6BAACsB,MAAM,CAACV,OAAO;kBAAad,KAAK,CAACK,MAAM,CAACC,OAAO,CAACmB,8BAA8B,CAACC;kBAC5ExB,6BAACsB,MAAM,CAACG,KAAK,QAAE3B,KAAK,CAACK,MAAM,CAACC,OAAO,CAACmB,8BAA8B,CAACC,KAAK,CAAgB,eAExFxB,wCAAIF,KAAK,CAACK,MAAM,CAACC,OAAO,CAACmB,8BAA8B,CAACG,WAAW,CAAK,eAExE1B,6BAACsB,MAAM,CAACK,MAAM,qBACV3B,6BAAC4B,KAAK,qBACF5B,6BAACsB,MAAM,CAACO,KAAK,qBACT7B,6BAAC8B,MAAM;IAACC,QAAQ,EAAE;KAAIjC,KAAK,CAACK,MAAM,CAACC,OAAO,CAACmB,8BAA8B,CAACS,MAAM,CAAU,CAC/E,eACfhC,6BAACsB,MAAM,CAACO,KAAK,qBACT7B,6BAAC8B,MAAM;IAACC,QAAQ,EAAE,CAAC;IAAE7B,UAAU,EAAC,SAAS;IAAC+B,SAAS;IAAClB,OAAO,EAAEtB;KACxDK,KAAK,CAACK,MAAM,CAACC,OAAO,CAACmB,8BAA8B,CAACW,OAAO,CACvD,CACE,CACX,CACI,CACH,CACZ;AAEjB;;;;"}
|
@@ -0,0 +1,134 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { Alert as Alert$1 } from '../../../Alert/Alert.js';
|
3
|
+
import { Tooltip } from '../../../Tooltip/Tooltip.js';
|
4
|
+
import { useLocalization } from '../../../Provider/Localization.js';
|
5
|
+
import { Button } from '../../../Button/Button.js';
|
6
|
+
import { Dialog } from '../../../Dialog/Dialog.js';
|
7
|
+
import { Group } from '../../../Group/Group.js';
|
8
|
+
|
9
|
+
function Alert(props) {
|
10
|
+
const {
|
11
|
+
scrollToIndex,
|
12
|
+
table,
|
13
|
+
tableRef,
|
14
|
+
...attributes
|
15
|
+
} = props;
|
16
|
+
const {
|
17
|
+
texts
|
18
|
+
} = useLocalization();
|
19
|
+
const validationTexts = texts.table3.editing.validation;
|
20
|
+
const tableMeta = table.options.meta;
|
21
|
+
const [showFilterResetDialog, setShowFilterResetDialog] = React__default.useState(false);
|
22
|
+
const pendingChangesWithErrors = tableMeta.editing.getErrors();
|
23
|
+
// mark errors being rendered as seen
|
24
|
+
React__default.useEffect(() => {
|
25
|
+
pendingChangesWithErrors.forEach(error => {
|
26
|
+
tableMeta.editing.setRowErrorsSeen(error.rowId);
|
27
|
+
});
|
28
|
+
}, [pendingChangesWithErrors]);
|
29
|
+
function scrollToRow(rowIndex) {
|
30
|
+
tableMeta.rowActive.setRowActiveIndex(rowIndex);
|
31
|
+
scrollToIndex(rowIndex, {
|
32
|
+
align: 'center'
|
33
|
+
});
|
34
|
+
requestAnimationFrame(() => {
|
35
|
+
var _tableRef$current;
|
36
|
+
const cell = (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.querySelector('tbody > tr[data-row-active="true"] > td[data-cell-editing-invalid="true"]');
|
37
|
+
if (cell) {
|
38
|
+
var _cell$focus;
|
39
|
+
(_cell$focus = cell.focus) === null || _cell$focus === void 0 ? void 0 : _cell$focus.call(cell);
|
40
|
+
}
|
41
|
+
});
|
42
|
+
}
|
43
|
+
// generate the "N unsaved entries" title
|
44
|
+
const title = (pendingChangesWithErrors.length === 1 ? validationTexts.alert.titleOne : validationTexts.alert.titlePlural).replace('[COUNT]', String(pendingChangesWithErrors.length));
|
45
|
+
// generate links to each invalid row, to go into the error message
|
46
|
+
const links = [];
|
47
|
+
const rowIdentityColumn = tableMeta.rowIdentityColumnId ? table.getColumn(tableMeta.rowIdentityColumnId) : undefined;
|
48
|
+
pendingChangesWithErrors.forEach((error, index) => {
|
49
|
+
// if appropriate, concatenate the item with the text "and"
|
50
|
+
if (pendingChangesWithErrors.length > 1 && index === pendingChangesWithErrors.length - 1) {
|
51
|
+
links.push(validationTexts.alert.messageAnd);
|
52
|
+
}
|
53
|
+
const handleClick = () => {
|
54
|
+
const rowIndex = table.getRowModel().rows.findIndex(row => row.id === error.rowId);
|
55
|
+
if (rowIndex > -1) {
|
56
|
+
scrollToRow(rowIndex);
|
57
|
+
} else {
|
58
|
+
setShowFilterResetDialog(error.rowId);
|
59
|
+
}
|
60
|
+
};
|
61
|
+
let tooltip;
|
62
|
+
if (error.pendingChange._meta.errors.row) {
|
63
|
+
tooltip = error.pendingChange._meta.errors.row;
|
64
|
+
} else {
|
65
|
+
var _table$getAllColumns$, _table$getAllColumns$2;
|
66
|
+
const firstCellErrorColumnId = Object.keys(error.pendingChange._meta.errors.cells)[0];
|
67
|
+
const columnName = (_table$getAllColumns$ = table.getAllColumns().find(column => column.id === firstCellErrorColumnId)) === null || _table$getAllColumns$ === void 0 ? void 0 : (_table$getAllColumns$2 = _table$getAllColumns$.columnDef.meta) === null || _table$getAllColumns$2 === void 0 ? void 0 : _table$getAllColumns$2.header;
|
68
|
+
tooltip = `${columnName}: ${error.pendingChange._meta.errors.cells[firstCellErrorColumnId]}`;
|
69
|
+
}
|
70
|
+
links.push( /*#__PURE__*/React__default.createElement(Tooltip, {
|
71
|
+
key: error.rowId,
|
72
|
+
title: tooltip
|
73
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
74
|
+
className: "text-blue",
|
75
|
+
onClick: handleClick,
|
76
|
+
role: "button"
|
77
|
+
}, rowIdentityColumn ? error.pendingChange._meta.original[rowIdentityColumn.id] : error.rowId)));
|
78
|
+
// if appropriate, concatenate the item with the text ","
|
79
|
+
if (pendingChangesWithErrors.length > 2 && index < pendingChangesWithErrors.length - 2) {
|
80
|
+
links.push(', ');
|
81
|
+
}
|
82
|
+
});
|
83
|
+
// generate the "Row N is incomplete and hasn't been saved" error message
|
84
|
+
const message = (links.length === 1 ? validationTexts.alert.messageOne : validationTexts.alert.messagePlural).split(/(\[\w+\])/).map(part => {
|
85
|
+
if (part === '[COLUMN]') {
|
86
|
+
var _rowIdentityColumn$co, _rowIdentityColumn$co2;
|
87
|
+
return (_rowIdentityColumn$co = rowIdentityColumn === null || rowIdentityColumn === void 0 ? void 0 : (_rowIdentityColumn$co2 = rowIdentityColumn.columnDef.meta) === null || _rowIdentityColumn$co2 === void 0 ? void 0 : _rowIdentityColumn$co2.header) !== null && _rowIdentityColumn$co !== void 0 ? _rowIdentityColumn$co : validationTexts.alert.messageRow;
|
88
|
+
}
|
89
|
+
if (part === '[ROW]') {
|
90
|
+
return links;
|
91
|
+
}
|
92
|
+
return part;
|
93
|
+
});
|
94
|
+
const handleResetFilters = () => {
|
95
|
+
table.resetGlobalFilter();
|
96
|
+
table.resetColumnFilters();
|
97
|
+
requestAnimationFrame(() => {
|
98
|
+
const rowIndex = table.getRowModel().rows.findIndex(row => row.id === showFilterResetDialog);
|
99
|
+
if (rowIndex > -1) {
|
100
|
+
scrollToRow(rowIndex);
|
101
|
+
}
|
102
|
+
setShowFilterResetDialog(false);
|
103
|
+
});
|
104
|
+
};
|
105
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Alert$1, Object.assign({}, attributes, {
|
106
|
+
state: "error"
|
107
|
+
}), /*#__PURE__*/React__default.createElement("span", {
|
108
|
+
className: "font-bold"
|
109
|
+
}, title), message), /*#__PURE__*/React__default.createElement(FilterResetDialog, {
|
110
|
+
open: showFilterResetDialog !== false,
|
111
|
+
onChange: () => setShowFilterResetDialog(false),
|
112
|
+
onSubmit: handleResetFilters
|
113
|
+
}));
|
114
|
+
}
|
115
|
+
function FilterResetDialog(props) {
|
116
|
+
const {
|
117
|
+
onSubmit: handleSubmit,
|
118
|
+
...dialogProps
|
119
|
+
} = props;
|
120
|
+
const {
|
121
|
+
texts
|
122
|
+
} = useLocalization();
|
123
|
+
return /*#__PURE__*/React__default.createElement(Dialog, Object.assign({}, dialogProps, {
|
124
|
+
size: "xs"
|
125
|
+
}), /*#__PURE__*/React__default.createElement(Dialog.Content, {
|
126
|
+
"aria-label": "Create a new account"
|
127
|
+
}, /*#__PURE__*/React__default.createElement(Dialog.Title, null, texts.table3.editing.validation.resetFiltersDialog.title), /*#__PURE__*/React__default.createElement("p", null, texts.table3.editing.validation.resetFiltersDialog.description), /*#__PURE__*/React__default.createElement(Dialog.Footer, null, /*#__PURE__*/React__default.createElement(Group, null, /*#__PURE__*/React__default.createElement(Dialog.Close, null, /*#__PURE__*/React__default.createElement(Button, null, texts.table3.editing.validation.resetFiltersDialog.cancel)), /*#__PURE__*/React__default.createElement(Button, {
|
128
|
+
appearance: "primary",
|
129
|
+
onClick: handleSubmit
|
130
|
+
}, texts.table3.editing.validation.resetFiltersDialog.confirm)))));
|
131
|
+
}
|
132
|
+
|
133
|
+
export { Alert };
|
134
|
+
//# sourceMappingURL=Alert.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../../../../../../../../../src/components/Table3/components/Editing/Alert.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { ScrollToOptions as ReactVirtualScrollToOptions } from '@tanstack/react-virtual';\nimport { Alert as BaseAlert, AlertProps as BaseAlertProps } from '../../../Alert/Alert';\nimport { TableRef } from '../../../../primitives/Table/types';\nimport { Tooltip } from '../../../Tooltip/Tooltip';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Dialog, DialogProps } from '../../../Dialog/Dialog';\nimport { Group } from '../../../Group/Group';\nimport { Button } from '../../../Button/Button';\n\ntype AlertProps<TType = unknown> = Omit<BaseAlertProps, 'children'> & {\n scrollToIndex: (index: number, options: ReactVirtualScrollToOptions) => void;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Alert<TType = unknown>(props: AlertProps<TType>) {\n const { scrollToIndex, table, tableRef, ...attributes } = props;\n const { texts } = useLocalization();\n const validationTexts = texts.table3.editing.validation;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const [showFilterResetDialog, setShowFilterResetDialog] = React.useState<string | false>(false);\n\n const pendingChangesWithErrors = tableMeta.editing.getErrors<TType>();\n\n // mark errors being rendered as seen\n React.useEffect(() => {\n pendingChangesWithErrors.forEach(error => {\n tableMeta.editing.setRowErrorsSeen(error.rowId);\n });\n }, [pendingChangesWithErrors]);\n\n function scrollToRow(rowIndex: number) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n scrollToIndex(rowIndex, { align: 'center' });\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n 'tbody > tr[data-row-active=\"true\"] > td[data-cell-editing-invalid=\"true\"]'\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n\n // generate the \"N unsaved entries\" title\n const title = (\n pendingChangesWithErrors.length === 1 ? validationTexts.alert.titleOne : validationTexts.alert.titlePlural\n ).replace('[COUNT]', String(pendingChangesWithErrors.length));\n\n // generate links to each invalid row, to go into the error message\n const links: React.ReactNode[] = [];\n const rowIdentityColumn = tableMeta.rowIdentityColumnId ? table.getColumn(tableMeta.rowIdentityColumnId) : undefined;\n\n pendingChangesWithErrors.forEach((error, index) => {\n // if appropriate, concatenate the item with the text \"and\"\n if (pendingChangesWithErrors.length > 1 && index === pendingChangesWithErrors.length - 1) {\n links.push(validationTexts.alert.messageAnd);\n }\n\n const handleClick = () => {\n const rowIndex = table.getRowModel().rows.findIndex(row => row.id === error.rowId);\n\n if (rowIndex > -1) {\n scrollToRow(rowIndex);\n } else {\n setShowFilterResetDialog(error.rowId);\n }\n };\n\n let tooltip;\n\n if (error.pendingChange._meta.errors.row) {\n tooltip = error.pendingChange._meta.errors.row;\n } else {\n const firstCellErrorColumnId = Object.keys(error.pendingChange._meta.errors.cells)[0];\n const columnName = table.getAllColumns().find(column => column.id === firstCellErrorColumnId)?.columnDef.meta?.header;\n tooltip = `${columnName}: ${error.pendingChange._meta.errors.cells[firstCellErrorColumnId]}`;\n }\n\n links.push(\n <Tooltip key={error.rowId} title={tooltip}>\n <span className=\"text-blue\" onClick={handleClick} role=\"button\">\n {rowIdentityColumn ? error.pendingChange._meta.original[rowIdentityColumn.id] : error.rowId}\n </span>\n </Tooltip>\n );\n\n // if appropriate, concatenate the item with the text \",\"\n if (pendingChangesWithErrors.length > 2 && index < pendingChangesWithErrors.length - 2) {\n links.push(', ');\n }\n });\n\n // generate the \"Row N is incomplete and hasn't been saved\" error message\n const message = (links.length === 1 ? validationTexts.alert.messageOne : validationTexts.alert.messagePlural)\n .split(/(\\[\\w+\\])/)\n .map(part => {\n if (part === '[COLUMN]') {\n return rowIdentityColumn?.columnDef.meta?.header ?? validationTexts.alert.messageRow;\n }\n\n if (part === '[ROW]') {\n return links;\n }\n\n return part;\n });\n\n const handleResetFilters = () => {\n table.resetGlobalFilter();\n table.resetColumnFilters();\n\n requestAnimationFrame(() => {\n const rowIndex = table.getRowModel().rows.findIndex(row => row.id === showFilterResetDialog);\n\n if (rowIndex > -1) {\n scrollToRow(rowIndex);\n }\n\n setShowFilterResetDialog(false);\n });\n };\n\n return (\n <>\n <BaseAlert {...attributes} state=\"error\">\n <span className=\"font-bold\">{title}</span>\n {message}\n </BaseAlert>\n <FilterResetDialog\n open={showFilterResetDialog !== false}\n onChange={() => setShowFilterResetDialog(false)}\n onSubmit={handleResetFilters}\n />\n </>\n );\n}\n\ntype FilterResetDialogProps = Omit<DialogProps, 'children'> & {\n onSubmit: () => void;\n};\n\nfunction FilterResetDialog(props: FilterResetDialogProps) {\n const { onSubmit: handleSubmit, ...dialogProps } = props;\n const { texts } = useLocalization();\n\n return (\n <Dialog {...dialogProps} size=\"xs\">\n <Dialog.Content aria-label=\"Create a new account\">\n <Dialog.Title>{texts.table3.editing.validation.resetFiltersDialog.title}</Dialog.Title>\n\n <p>{texts.table3.editing.validation.resetFiltersDialog.description}</p>\n\n <Dialog.Footer>\n <Group>\n <Dialog.Close>\n <Button>{texts.table3.editing.validation.resetFiltersDialog.cancel}</Button>\n </Dialog.Close>\n <Button appearance=\"primary\" onClick={handleSubmit}>\n {texts.table3.editing.validation.resetFiltersDialog.confirm}\n </Button>\n </Group>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog>\n );\n}\n"],"names":["Alert","props","scrollToIndex","table","tableRef","attributes","texts","useLocalization","validationTexts","table3","editing","validation","tableMeta","options","meta","showFilterResetDialog","setShowFilterResetDialog","React","useState","pendingChangesWithErrors","getErrors","useEffect","forEach","error","setRowErrorsSeen","rowId","scrollToRow","rowIndex","rowActive","setRowActiveIndex","align","requestAnimationFrame","cell","_tableRef$current","current","querySelector","_cell$focus","focus","call","title","length","alert","titleOne","titlePlural","replace","String","links","rowIdentityColumn","rowIdentityColumnId","getColumn","undefined","index","push","messageAnd","handleClick","getRowModel","rows","findIndex","row","id","tooltip","pendingChange","_meta","errors","_table$getAllColumns$","_table$getAllColumns$2","firstCellErrorColumnId","Object","keys","cells","columnName","getAllColumns","find","column","columnDef","header","Tooltip","key","className","onClick","role","original","message","messageOne","messagePlural","split","map","part","_rowIdentityColumn$co","_rowIdentityColumn$co2","messageRow","handleResetFilters","resetGlobalFilter","resetColumnFilters","BaseAlert","state","FilterResetDialog","open","onChange","onSubmit","handleSubmit","dialogProps","Dialog","size","Content","Title","resetFiltersDialog","description","Footer","Group","Close","Button","cancel","appearance","confirm"],"mappings":"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"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'clsx';
|
3
|
+
import { Icon } from '../../../../Icon/Icon.js';
|
4
|
+
import { Tooltip } from '../../../../Tooltip/Tooltip.js';
|
5
|
+
import { useLocalization } from '../../../../Provider/Localization.js';
|
6
|
+
import { Spinner } from '../../../../Spinner/Spinner.js';
|
7
|
+
|
8
|
+
const COMPLETE_INDICATOR_DELAY = 3000;
|
9
|
+
function SaveStatus(props) {
|
10
|
+
const {
|
11
|
+
rowId,
|
12
|
+
table
|
13
|
+
} = props;
|
14
|
+
const {
|
15
|
+
texts
|
16
|
+
} = useLocalization();
|
17
|
+
const tableMeta = table.options.meta;
|
18
|
+
const status = tableMeta.editing.getRowSaveStatus(rowId);
|
19
|
+
React__default.useEffect(() => {
|
20
|
+
let timeout;
|
21
|
+
if (status === 'complete') {
|
22
|
+
timeout = setTimeout(() => {
|
23
|
+
tableMeta.editing.setRowSaveStatus(rowId, undefined);
|
24
|
+
}, COMPLETE_INDICATOR_DELAY);
|
25
|
+
}
|
26
|
+
return () => {
|
27
|
+
clearTimeout(timeout);
|
28
|
+
};
|
29
|
+
}, [status]);
|
30
|
+
const className = cn('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)]', {
|
31
|
+
'mt-0.5': tableMeta.rowHeight.height === 'short',
|
32
|
+
'mt-1': tableMeta.rowHeight.height === 'medium',
|
33
|
+
'mt-1.5': tableMeta.rowHeight.height === 'tall',
|
34
|
+
'mt-2': tableMeta.rowHeight.height === 'extra-tall'
|
35
|
+
});
|
36
|
+
return /*#__PURE__*/React__default.createElement("td", {
|
37
|
+
className: "!contents"
|
38
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
39
|
+
className: className
|
40
|
+
}, status === 'pending' ? ( /*#__PURE__*/React__default.createElement(Tooltip, {
|
41
|
+
title: texts.table3.editing.saving.progress
|
42
|
+
}, /*#__PURE__*/React__default.createElement(Spinner, {
|
43
|
+
delay: 0,
|
44
|
+
className: "!text-grey-700 mr-1 !h-5 !w-5"
|
45
|
+
}))) : ( /*#__PURE__*/React__default.createElement(Tooltip, {
|
46
|
+
title: texts.table3.editing.saving.complete
|
47
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
48
|
+
name: "tick",
|
49
|
+
className: "!text-grey-700 mr-1 !h-5 !w-5"
|
50
|
+
})))));
|
51
|
+
}
|
52
|
+
|
53
|
+
export { SaveStatus };
|
54
|
+
//# sourceMappingURL=SaveStatus.js.map
|