@economic/taco 1.41.0 → 2.0.0-alpha.5
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Icon/components/HeightTall.d.ts +3 -0
- package/dist/components/Icon/components/index.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Menu/Menu.d.ts +2 -0
- package/dist/components/Menu/components/Item.d.ts +6 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Menu/components/SubMenu.d.ts +8 -0
- package/dist/components/Navigation2/components/Link.d.ts +1 -1
- package/dist/components/Popover/Popover.d.ts +3 -0
- package/dist/components/Provider/Localization.d.ts +148 -0
- package/dist/components/SearchInput/SearchInput.d.ts +2 -0
- package/dist/components/SearchInput2/SearchInput2.d.ts +23 -0
- package/dist/components/Select2/components/Option.d.ts +1 -1
- package/dist/components/Select2/components/Search.d.ts +1 -1
- package/dist/components/Table2/hooks/useTable.d.ts +1 -1
- package/dist/components/Table3/Table3.d.ts +12 -0
- package/dist/components/Table3/components/columns/cell/Cell.d.ts +6 -0
- package/dist/components/Table3/components/columns/cell/DisplayCell.d.ts +22 -0
- package/dist/components/Table3/components/columns/cell/EditingCell.d.ts +7 -0
- package/dist/components/Table3/components/columns/cell/Indicator.d.ts +17 -0
- package/dist/components/Table3/components/columns/footer/Footer.d.ts +14 -0
- package/dist/components/Table3/components/columns/footer/Summary.d.ts +7 -0
- package/dist/components/Table3/components/columns/header/Goto.d.ts +6 -0
- package/dist/components/Table3/components/columns/header/Header.d.ts +27 -0
- package/dist/components/Table3/components/columns/header/Menu.d.ts +16 -0
- package/dist/components/Table3/components/columns/header/Resizer.d.ts +7 -0
- package/dist/components/Table3/components/columns/header/SortIndicator.d.ts +12 -0
- package/dist/components/Table3/components/columns/internal/Actions.d.ts +4 -0
- package/dist/components/Table3/components/columns/internal/Drag.d.ts +4 -0
- package/dist/components/Table3/components/columns/internal/EditingActions.d.ts +8 -0
- package/dist/components/Table3/components/columns/internal/Expansion.d.ts +4 -0
- package/dist/components/Table3/components/columns/internal/Selection.d.ts +4 -0
- package/dist/components/Table3/components/columns/styles.d.ts +4 -0
- package/dist/components/Table3/components/rows/ExpandedRow.d.ts +8 -0
- package/dist/components/Table3/components/rows/Row.d.ts +21 -0
- package/dist/components/Table3/components/rows/RowContext.d.ts +9 -0
- package/dist/components/Table3/components/rows/SkeletonRow.d.ts +10 -0
- package/dist/components/Table3/components/rows/styles.d.ts +6 -0
- package/dist/components/Table3/components/toolbar/ColumnSettings.d.ts +6 -0
- package/dist/components/Table3/components/toolbar/EditButton.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/Filters.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/Comparator.d.ts +11 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +13 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +8 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterValue.d.ts +10 -0
- package/dist/components/Table3/components/toolbar/Filter/filters/components/Placeholder.d.ts +11 -0
- package/dist/components/Table3/components/toolbar/FontSize.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/PrintButton/PrintButton.d.ts +8 -0
- package/dist/components/Table3/components/toolbar/PrintButton/PrintIFrame.d.ts +8 -0
- package/dist/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.d.ts +1 -0
- package/dist/components/Table3/components/toolbar/RowHeight.d.ts +7 -0
- package/dist/components/Table3/components/toolbar/Search.d.ts +8 -0
- package/dist/components/Table3/components/toolbar/Toolbar.d.ts +12 -0
- package/dist/components/Table3/hooks/features/useColumnFreezing.d.ts +12 -0
- package/dist/components/Table3/hooks/features/useColumnOrdering.d.ts +6 -0
- package/dist/components/Table3/hooks/features/useCurrentRow.d.ts +9 -0
- package/dist/components/Table3/hooks/features/useEditing.d.ts +31 -0
- package/dist/components/Table3/hooks/features/useFontSize.d.ts +7 -0
- package/dist/components/Table3/hooks/features/usePauseHoverState.d.ts +6 -0
- package/dist/components/Table3/hooks/features/usePrinting.d.ts +5 -0
- package/dist/components/Table3/hooks/features/useRowClick.d.ts +7 -0
- package/dist/components/Table3/hooks/features/useRowDrag.d.ts +6 -0
- package/dist/components/Table3/hooks/features/useRowDrop.d.ts +5 -0
- package/dist/components/Table3/hooks/features/useRowGoto.d.ts +5 -0
- package/dist/components/Table3/hooks/features/useRowHeight.d.ts +7 -0
- package/dist/components/Table3/hooks/features/useRowSelection.d.ts +6 -0
- package/dist/components/Table3/hooks/features/useSearch.d.ts +16 -0
- package/dist/components/Table3/hooks/listeners/useCurrentRowListener.d.ts +2 -0
- package/dist/components/Table3/hooks/listeners/useEditingStateListener.d.ts +2 -0
- package/dist/components/Table3/hooks/listeners/useFilteringStateListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useRowSelectionListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useSearchStateListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useServerLoadingListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useSettingsStateListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useShortcutsListener.d.ts +3 -0
- package/dist/components/Table3/hooks/listeners/useSortingStateListener.d.ts +3 -0
- package/dist/components/Table3/hooks/useConvertChildrenToColumns.d.ts +9 -0
- package/dist/components/Table3/hooks/useCssGrid.d.ts +5 -0
- package/dist/components/Table3/hooks/useCssVars.d.ts +6 -0
- package/dist/components/Table3/hooks/useTable.d.ts +63 -0
- package/dist/components/Table3/hooks/useTableData.d.ts +23 -0
- package/dist/components/Table3/hooks/useTablePreset.d.ts +2 -0
- package/dist/components/Table3/hooks/useTableRefInstanceSetup.d.ts +4 -0
- package/dist/components/Table3/strategies/index.d.ts +4 -0
- package/dist/components/Table3/strategies/virtualised.d.ts +4 -0
- package/dist/components/Table3/types.d.ts +310 -0
- package/dist/components/Table3/util/columns.d.ts +7 -0
- package/dist/components/Table3/util/editing.d.ts +4 -0
- package/dist/components/Table3/util/filtering.d.ts +3 -0
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/esm/index.css +130 -2
- package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +2 -2
- package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +2 -1
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js +4 -1
- package/dist/esm/packages/taco/src/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js +19 -0
- package/dist/esm/packages/taco/src/components/Icon/components/FontSize.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js → HeightExtraTall.js} +4 -4
- package/dist/esm/packages/taco/src/components/Icon/components/{DensitySpacious.js.map → HeightExtraTall.js.map} +1 -1
- package/dist/esm/packages/taco/src/components/Icon/components/{DensityNormal.js → HeightMedium.js} +4 -4
- package/dist/esm/packages/taco/src/components/Icon/components/HeightMedium.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/{DensityCompact.js → HeightShort.js} +4 -4
- package/dist/esm/packages/taco/src/components/Icon/components/HeightShort.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/{DensityComfortable.js → HeightTall.js} +4 -4
- package/dist/esm/packages/taco/src/components/Icon/components/HeightTall.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Icon/components/index.js +10 -8
- package/dist/esm/packages/taco/src/components/Icon/components/index.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/Menu.js +2 -0
- package/dist/esm/packages/taco/src/components/Menu/Menu.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Item.js +20 -2
- package/dist/esm/packages/taco/src/components/Menu/components/Item.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js +22 -0
- package/dist/esm/packages/taco/src/components/Menu/components/SubMenu.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Popover/Popover.js +11 -3
- package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +145 -0
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +196 -0
- package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Switch/Switch.js +3 -1
- package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +13 -1
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/Table3.js +145 -0
- package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Cell.js +27 -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/DisplayCell.js +131 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +286 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js +74 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/Indicator.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js +50 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Footer.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +30 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Goto.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js +134 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Header.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js +156 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Menu.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js +42 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/Resizer.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js +38 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js +108 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js +86 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Drag.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js +124 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/EditingActions.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js +103 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Expansion.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +121 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +17 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/ExpandedRow.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js +255 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/Row.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js +13 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/RowContext.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js +43 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/SkeletonRow.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js +9 -0
- package/dist/esm/packages/taco/src/components/Table3/components/rows/styles.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +105 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js +45 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/EditButton.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +148 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +107 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +28 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +60 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js +89 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterValue.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js +45 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js +25 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/FontSize.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +99 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +224 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js +88 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/hooks/useParentStylesheets.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js +26 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/RowHeight.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js +137 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Search.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js +85 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Toolbar.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js +87 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnFreezing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js +45 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useColumnOrdering.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js +52 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useCurrentRow.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js +197 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useEditing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js +13 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useFontSize.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js +19 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePauseHoverState.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js +9 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/usePrinting.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js +25 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowClick.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js +13 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrag.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js +9 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowDrop.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js +9 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowGoto.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowHeight.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js +29 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useRowSelection.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js +27 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSearch.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js +14 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useCurrentRowListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js +24 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useEditingStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js +19 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useFilteringStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js +19 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useRowSelectionListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js +51 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js +16 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +26 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js +49 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js +17 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js +116 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useConvertChildrenToColumns.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js +56 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssGrid.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js +61 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useCssVars.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +154 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js +128 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableData.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js +98 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTablePreset.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js +19 -0
- package/dist/esm/packages/taco/src/components/Table3/hooks/useTableRefInstanceSetup.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/index.js +8 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/index.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js +113 -0
- package/dist/esm/packages/taco/src/components/Table3/strategies/virtualised.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/types.js +18 -0
- package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/util/columns.js +39 -0
- package/dist/esm/packages/taco/src/components/Table3/util/columns.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js +41 -0
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table3/util/filtering.js +102 -0
- package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -0
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +10 -5
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useLazyEffect.js +16 -0
- package/dist/esm/packages/taco/src/hooks/useLazyEffect.js.map +1 -0
- package/dist/esm/packages/taco/src/index.js +5 -1
- package/dist/esm/packages/taco/src/index.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Button.js +6 -17
- package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +6 -6
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/input.js +14 -1
- package/dist/esm/packages/taco/src/utils/input.js.map +1 -1
- package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
- package/dist/hooks/useLazyEffect.d.ts +2 -0
- package/dist/index.css +130 -2
- package/dist/index.d.ts +3 -0
- package/dist/taco.cjs.development.js +5171 -240
- 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/input.d.ts +1 -0
- package/package.json +2 -2
- package/types.json +2322 -25
- package/dist/esm/packages/taco/src/components/Icon/components/DensityComfortable.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DensityCompact.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Icon/components/DensityNormal.js.map +0 -1
- /package/dist/components/Icon/components/{DensityComfortable.d.ts → FontSize.d.ts} +0 -0
- /package/dist/components/Icon/components/{DensityCompact.d.ts → HeightExtraTall.d.ts} +0 -0
- /package/dist/components/Icon/components/{DensityNormal.d.ts → HeightMedium.d.ts} +0 -0
- /package/dist/components/Icon/components/{DensitySpacious.d.ts → HeightShort.d.ts} +0 -0
@@ -0,0 +1,145 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { useMergedRef } from '../../hooks/useMergedRef.js';
|
4
|
+
import { FocusScope } from '@react-aria/focus';
|
5
|
+
import { flexRender } from '@tanstack/react-table';
|
6
|
+
import { useCssGrid } from './hooks/useCssGrid.js';
|
7
|
+
import { useColumnFreezingStyle } from './hooks/features/useColumnFreezing.js';
|
8
|
+
import { useTable } from './hooks/useTable.js';
|
9
|
+
import { useTableRenderStrategy } from './strategies/index.js';
|
10
|
+
import { Toolbar } from './components/toolbar/Toolbar.js';
|
11
|
+
import { useTableRefInstanceSetup } from './hooks/useTableRefInstanceSetup.js';
|
12
|
+
import { Summary } from './components/columns/footer/Summary.js';
|
13
|
+
import { useCssVars } from './hooks/useCssVars.js';
|
14
|
+
export { useTableData } from './hooks/useTableData.js';
|
15
|
+
|
16
|
+
function Column(_) {
|
17
|
+
return null;
|
18
|
+
}
|
19
|
+
const Table = /*#__PURE__*/React__default.forwardRef(function Table3(props, ref) {
|
20
|
+
const {
|
21
|
+
emptyState: EmptyState,
|
22
|
+
toolbarLeft,
|
23
|
+
toolbarRight
|
24
|
+
} = props;
|
25
|
+
const internalRef = useMergedRef(ref);
|
26
|
+
const {
|
27
|
+
table,
|
28
|
+
length
|
29
|
+
} = useTable(props);
|
30
|
+
useTableRefInstanceSetup(table, internalRef);
|
31
|
+
const {
|
32
|
+
renderBody,
|
33
|
+
scrollToIndex
|
34
|
+
} = useTableRenderStrategy(props, table, internalRef);
|
35
|
+
const tableMeta = table.options.meta;
|
36
|
+
const state = table.getState();
|
37
|
+
const handleKeyDown = event => {
|
38
|
+
tableMeta.hoverState.handleKeyDown(event);
|
39
|
+
tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex);
|
40
|
+
tableMeta.rowClick.handleKeyDown(event, table);
|
41
|
+
tableMeta.rowSelection.handleKeyDown(event, table);
|
42
|
+
tableMeta.editing.handleKeyDown(event, internalRef);
|
43
|
+
};
|
44
|
+
const handleBlur = event => {
|
45
|
+
tableMeta.editing.handleBlur(event);
|
46
|
+
};
|
47
|
+
const handleScroll = function (event) {
|
48
|
+
try {
|
49
|
+
tableMeta.columnFreezing.handleScroll(event);
|
50
|
+
return Promise.resolve();
|
51
|
+
} catch (e) {
|
52
|
+
return Promise.reject(e);
|
53
|
+
}
|
54
|
+
};
|
55
|
+
const className = cn('border-grey-300 relative grid h-full w-full flex-grow overflow-auto rounded border bg-white scroll-mt-[41px]', 'focus:yt-focus focus-within:yt-focus', '[&[data-resizing="true"]]:select-none', {
|
56
|
+
'text-xs': tableMeta.fontSize.size === 'small',
|
57
|
+
'text-sm': tableMeta.fontSize.size === 'medium',
|
58
|
+
'text-base': tableMeta.fontSize.size === 'large'
|
59
|
+
});
|
60
|
+
const {
|
61
|
+
style: cssGridStyle
|
62
|
+
} = useCssGrid(table);
|
63
|
+
const {
|
64
|
+
style: cssVars
|
65
|
+
} = useCssVars(tableMeta.rowHeight.height, tableMeta.fontSize.size);
|
66
|
+
const style = {
|
67
|
+
...cssVars,
|
68
|
+
...cssGridStyle,
|
69
|
+
// create a new stacking context so our internal z-indexes don't effect external components
|
70
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context
|
71
|
+
opacity: 0.999
|
72
|
+
};
|
73
|
+
const columnFreezingStyle = useColumnFreezingStyle(props.id, table);
|
74
|
+
const isServerLoadingAndNotReady = tableMeta.isUsingServer && props.length === undefined;
|
75
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, columnFreezingStyle ? /*#__PURE__*/React__default.createElement("style", {
|
76
|
+
"data-taco": "table3-column-freezing-styles"
|
77
|
+
}, columnFreezingStyle) : null, /*#__PURE__*/React__default.createElement(Toolbar, {
|
78
|
+
table: table,
|
79
|
+
tableProps: props,
|
80
|
+
total: length,
|
81
|
+
left: toolbarLeft,
|
82
|
+
right: toolbarRight,
|
83
|
+
scrollToIndex: scrollToIndex
|
84
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
85
|
+
className: className,
|
86
|
+
id: props.id,
|
87
|
+
"data-font-size": tableMeta.fontSize.size,
|
88
|
+
"data-editing": tableMeta.editing.isEditing,
|
89
|
+
"data-horizontally-scrolled": tableMeta.columnFreezing.horizontallyScrolled,
|
90
|
+
"data-pause-hover": tableMeta === null || tableMeta === void 0 ? void 0 : tableMeta.hoverState.isPaused,
|
91
|
+
"data-resizing": !!state.columnSizingInfo.isResizingColumn,
|
92
|
+
"data-taco": "table3",
|
93
|
+
onBlur: handleBlur,
|
94
|
+
onKeyDown: handleKeyDown,
|
95
|
+
onScroll: handleScroll,
|
96
|
+
ref: internalRef,
|
97
|
+
role: "table",
|
98
|
+
style: style,
|
99
|
+
tabIndex: 0
|
100
|
+
}, isServerLoadingAndNotReady ? null : /*#__PURE__*/React__default.createElement("div", {
|
101
|
+
className: "group/header contents",
|
102
|
+
role: "rowgroup"
|
103
|
+
}, table.getHeaderGroups().map(headerGroup => /*#__PURE__*/React__default.createElement("div", {
|
104
|
+
className: "contents",
|
105
|
+
key: headerGroup.id,
|
106
|
+
role: "row"
|
107
|
+
}, headerGroup.headers.map(header => /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
108
|
+
key: header.id
|
109
|
+
}, flexRender(header.column.columnDef.header, {
|
110
|
+
...header.getContext(),
|
111
|
+
scrollToIndex
|
112
|
+
})))))), table.getRowModel().rows.length ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FocusScope, null, /*#__PURE__*/React__default.createElement("div", {
|
113
|
+
className: "group/body contents",
|
114
|
+
role: "rowgroup"
|
115
|
+
}, renderBody(), /*#__PURE__*/React__default.createElement("span", {
|
116
|
+
className: "col-span-full h-16 print:hidden"
|
117
|
+
}))), /*#__PURE__*/React__default.createElement("div", {
|
118
|
+
className: "group/footer contents",
|
119
|
+
role: "rowgroup"
|
120
|
+
}, table.getFooterGroups().map(footerGroup => /*#__PURE__*/React__default.createElement("div", {
|
121
|
+
className: "contents",
|
122
|
+
key: footerGroup.id,
|
123
|
+
role: "row"
|
124
|
+
}, footerGroup.headers.map(footer => /*#__PURE__*/React__default.createElement(React__default.Fragment, {
|
125
|
+
key: footer.id
|
126
|
+
}, flexRender(footer.column.columnDef.footer, footer.getContext()))))), length ? /*#__PURE__*/React__default.createElement(Summary, {
|
127
|
+
length: length,
|
128
|
+
table: table
|
129
|
+
}) : null)) : /*#__PURE__*/React__default.createElement("div", {
|
130
|
+
className: "col-span-full min-h-[theme(spacing.8)]"
|
131
|
+
}, EmptyState ? /*#__PURE__*/React__default.createElement(EmptyState, null) : null)));
|
132
|
+
});
|
133
|
+
const Table3 = /*#__PURE__*/React__default.forwardRef(function Table3(props, ref) {
|
134
|
+
// we force a remount (using key) when the child columns change because there are too many places to add children as an effect
|
135
|
+
// this is cheaper from a complexity perspective, and probably performance wise as well
|
136
|
+
const key = React__default.useMemo(() => String('tableKey_' + String(props.children)), [props.children]);
|
137
|
+
return /*#__PURE__*/React__default.createElement(Table, Object.assign({}, props, {
|
138
|
+
key: key,
|
139
|
+
ref: ref
|
140
|
+
}));
|
141
|
+
});
|
142
|
+
Table3.Column = Column;
|
143
|
+
|
144
|
+
export { Table3 };
|
145
|
+
//# sourceMappingURL=Table3.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Table3.js","sources":["../../../../../../../src/components/Table3/Table3.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { flexRender, TableMeta } from '@tanstack/react-table';\nimport { FocusScope } from '@react-aria/focus';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useCssGrid } from './hooks/useCssGrid';\nimport { useTable } from './hooks/useTable';\nimport { useTableRenderStrategy } from './strategies';\nimport { Table3ColumnProps, Table3Props, Table3Ref } from './types';\nimport { Toolbar } from './components/toolbar/Toolbar';\nimport { useColumnFreezingStyle } from './hooks/features/useColumnFreezing';\nimport { useTableRefInstanceSetup } from './hooks/useTableRefInstanceSetup';\nimport { Summary } from './components/columns/footer/Summary';\nimport { useCssVars } from './hooks/useCssVars';\nimport './style.css';\n\nfunction Column(_: Table3ColumnProps) {\n return null;\n}\n\nconst Table = React.forwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n const { emptyState: EmptyState, toolbarLeft, toolbarRight } = props;\n const internalRef = useMergedRef<Table3Ref>(ref);\n\n const { table, length } = useTable<TType>(props);\n useTableRefInstanceSetup(table, internalRef);\n\n const { renderBody, scrollToIndex } = useTableRenderStrategy<TType>(props, table, internalRef);\n const tableMeta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n tableMeta.hoverState.handleKeyDown(event);\n tableMeta.currentRow.handleKeyDown(event, table.getRowModel().rows.length, scrollToIndex);\n tableMeta.rowClick.handleKeyDown(event, table);\n tableMeta.rowSelection.handleKeyDown(event, table);\n tableMeta.editing.handleKeyDown(event, internalRef);\n };\n\n const handleBlur = (event: React.FocusEvent) => {\n tableMeta.editing.handleBlur(event);\n };\n\n const handleScroll = async (event: React.MouseEvent<HTMLDivElement>) => {\n tableMeta.columnFreezing.handleScroll(event);\n };\n\n const className = cn(\n 'border-grey-300 relative grid h-full w-full flex-grow overflow-auto rounded border bg-white scroll-mt-[41px]',\n 'focus:yt-focus focus-within:yt-focus',\n '[&[data-resizing=\"true\"]]:select-none',\n {\n 'text-xs': tableMeta.fontSize.size === 'small',\n 'text-sm': tableMeta.fontSize.size === 'medium',\n 'text-base': tableMeta.fontSize.size === 'large',\n }\n );\n\n const { style: cssGridStyle } = useCssGrid<TType>(table);\n const { style: cssVars } = useCssVars(tableMeta.rowHeight.height, tableMeta.fontSize.size);\n\n const style = {\n ...cssVars,\n ...cssGridStyle,\n // create a new stacking context so our internal z-indexes don't effect external components\n // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n opacity: 0.999,\n };\n\n const columnFreezingStyle = useColumnFreezingStyle(props.id, table);\n const isServerLoadingAndNotReady = tableMeta.isUsingServer && props.length === undefined;\n\n return (\n <>\n {columnFreezingStyle ? <style data-taco=\"table3-column-freezing-styles\">{columnFreezingStyle}</style> : null}\n <Toolbar\n table={table}\n tableProps={props}\n total={length}\n left={toolbarLeft}\n right={toolbarRight}\n scrollToIndex={scrollToIndex}\n />\n <div\n className={className}\n id={props.id}\n data-font-size={tableMeta.fontSize.size}\n data-editing={tableMeta.editing.isEditing}\n data-horizontally-scrolled={tableMeta.columnFreezing.horizontallyScrolled}\n data-pause-hover={tableMeta?.hoverState.isPaused}\n data-resizing={!!state.columnSizingInfo.isResizingColumn}\n data-taco=\"table3\"\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onScroll={handleScroll}\n ref={internalRef}\n role=\"table\"\n style={style}\n tabIndex={0}>\n {isServerLoadingAndNotReady ? null : (\n <div className=\"group/header contents\" role=\"rowgroup\">\n {table.getHeaderGroups().map(headerGroup => (\n <div className=\"contents\" key={headerGroup.id} role=\"row\">\n {headerGroup.headers.map(header => (\n <React.Fragment key={header.id}>\n {flexRender(header.column.columnDef.header, { ...header.getContext(), scrollToIndex })}\n </React.Fragment>\n ))}\n </div>\n ))}\n </div>\n )}\n {table.getRowModel().rows.length ? (\n <>\n <FocusScope>\n <div className=\"group/body contents\" role=\"rowgroup\">\n {renderBody()}\n <span className=\"col-span-full h-16 print:hidden\" />\n </div>\n </FocusScope>\n <div className=\"group/footer contents\" role=\"rowgroup\">\n {table.getFooterGroups().map(footerGroup => (\n <div className=\"contents\" key={footerGroup.id} role=\"row\">\n {footerGroup.headers.map(footer => (\n <React.Fragment key={footer.id}>\n {flexRender(footer.column.columnDef.footer, footer.getContext())}\n </React.Fragment>\n ))}\n </div>\n ))}\n {length ? <Summary length={length} table={table} /> : null}\n </div>\n </>\n ) : (\n <div className=\"col-span-full min-h-[theme(spacing.8)]\">{EmptyState ? <EmptyState /> : null}</div>\n )}\n </div>\n </>\n );\n}) as Table3WithStatics;\n\ntype Table3WithStatics<TType = unknown> = React.ForwardRefExoticComponent<Table3Props<TType>> & {\n Column: (props: Table3ColumnProps) => null;\n} & (<TType>(props: Table3Props<TType> & { ref?: React.Ref<Table3Ref> }) => JSX.Element);\n\nexport const Table3 = React.forwardRef(function Table3<TType = unknown>(props: Table3Props<TType>, ref: React.Ref<Table3Ref>) {\n // we force a remount (using key) when the child columns change because there are too many places to add children as an effect\n // this is cheaper from a complexity perspective, and probably performance wise as well\n const key = React.useMemo(() => String('tableKey_' + String(props.children)), [props.children]);\n return <Table {...props} key={key} ref={ref} />;\n}) as Table3WithStatics;\n\nTable3.Column = Column;\n\n// hooks\nexport { useTableData } from './hooks/useTableData';\n\n// types\nexport type { useTable3DataFetcher, useTable3DataOptions, useTableDataValues } from './hooks/useTableData';\n\nexport type {\n Table3Ref,\n Table3Props,\n Table3Preset,\n Table3Settings,\n Table3SettingsAdapter,\n Table3RowHeight,\n Table3FilterComparator,\n Table3FilterHandler,\n Table3SearchHandler,\n Table3LoadPageHandler,\n Table3LoadAllHandler,\n Table3RowGotoHandler,\n Table3SortHandler,\n Table3Shortcuts,\n Table3ShortcutHandlerFn,\n Table3ShortcutHandlerObject,\n Table3FontSize,\n Table3SortDirection,\n Table3SortFn,\n Table3RowActionRenderer,\n Table3RowSelectionHandler,\n Table3RowExpansionRenderer,\n Table3RowDropHandler,\n Table3RowDragHandler,\n Table3RowClickHandler,\n Table3ColumnProps,\n Table3ColumnAlignment,\n Table3ColumnDataType,\n Table3ColumnHeaderMenu,\n Table3ColumnClassNameHandler,\n Table3ColumnFooterRenderer,\n Table3ColumnRenderer,\n Table3ColumnControlRenderer,\n Table3ColumnControlProps,\n} from './types';\n"],"names":["Column","_","Table","React","forwardRef","Table3","props","ref","emptyState","EmptyState","toolbarLeft","toolbarRight","internalRef","useMergedRef","table","length","useTable","useTableRefInstanceSetup","renderBody","scrollToIndex","useTableRenderStrategy","tableMeta","options","meta","state","getState","handleKeyDown","event","hoverState","currentRow","getRowModel","rows","rowClick","rowSelection","editing","handleBlur","handleScroll","columnFreezing","className","cn","fontSize","size","style","cssGridStyle","useCssGrid","cssVars","useCssVars","rowHeight","height","opacity","columnFreezingStyle","useColumnFreezingStyle","id","isServerLoadingAndNotReady","isUsingServer","undefined","Toolbar","tableProps","total","left","right","isEditing","horizontallyScrolled","isPaused","columnSizingInfo","isResizingColumn","onBlur","onKeyDown","onScroll","role","tabIndex","getHeaderGroups","map","headerGroup","key","headers","header","Fragment","flexRender","column","columnDef","getContext","FocusScope","getFooterGroups","footerGroup","footer","Summary","useMemo","String","children"],"mappings":"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"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { useRowContext } from '../../rows/RowContext.js';
|
3
|
+
import { DisplayCell } from './DisplayCell.js';
|
4
|
+
import { EditingCell } from './EditingCell.js';
|
5
|
+
|
6
|
+
function Cell(props) {
|
7
|
+
var _rows$tableMeta$curre;
|
8
|
+
const {
|
9
|
+
column,
|
10
|
+
row,
|
11
|
+
table
|
12
|
+
} = props;
|
13
|
+
const {
|
14
|
+
isHovered: isHoveredRow
|
15
|
+
} = useRowContext();
|
16
|
+
const rows = table.getRowModel().rows;
|
17
|
+
const tableMeta = table.options.meta;
|
18
|
+
const columnMeta = column.columnDef.meta;
|
19
|
+
const isCurrentRow = ((_rows$tableMeta$curre = rows[tableMeta.currentRow.currentRowIndex]) === null || _rows$tableMeta$curre === void 0 ? void 0 : _rows$tableMeta$curre.id) === row.id;
|
20
|
+
if (tableMeta.editing.isEditing && columnMeta.control && (isCurrentRow || isHoveredRow && !tableMeta.hoverState.isPaused)) {
|
21
|
+
return /*#__PURE__*/React__default.createElement(EditingCell, Object.assign({}, props));
|
22
|
+
}
|
23
|
+
return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props));
|
24
|
+
}
|
25
|
+
|
26
|
+
export { Cell };
|
27
|
+
//# sourceMappingURL=Cell.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Cell.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/cell/Cell.tsx"],"sourcesContent":["import React from 'react';\nimport { CellContext, ColumnMeta, TableMeta } from '@tanstack/react-table';\nimport { DisplayCell } from './DisplayCell';\nimport { EditingCell } from './EditingCell';\nimport { useRowContext } from '../../rows/RowContext';\n\nexport type CellProps<TType = unknown> = CellContext<TType, unknown> & {\n children?: string | JSX.Element;\n};\n\nexport function Cell<TType = unknown>(props: CellProps<TType>) {\n const { column, row, table } = props;\n const { isHovered: isHoveredRow } = useRowContext();\n const rows = table.getRowModel().rows;\n const tableMeta = table.options.meta as TableMeta<unknown>;\n const columnMeta = column.columnDef.meta as ColumnMeta<TType, unknown>;\n\n const isCurrentRow = rows[tableMeta.currentRow.currentRowIndex]?.id === row.id;\n\n if (tableMeta.editing.isEditing && columnMeta.control && (isCurrentRow || (isHoveredRow && !tableMeta.hoverState.isPaused))) {\n return <EditingCell {...props} />;\n }\n\n return <DisplayCell {...props} />;\n}\n"],"names":["Cell","props","column","row","table","isHovered","isHoveredRow","useRowContext","rows","getRowModel","tableMeta","options","meta","columnMeta","columnDef","isCurrentRow","currentRow","currentRowIndex","id","editing","isEditing","control","hoverState","isPaused","React","EditingCell","DisplayCell"],"mappings":";;;;;SAUgBA,IAAI,CAAkBC,KAAuB;;EACzD,MAAM;IAAEC,MAAM;IAAEC,GAAG;IAAEC;GAAO,GAAGH,KAAK;EACpC,MAAM;IAAEI,SAAS,EAAEC;GAAc,GAAGC,aAAa,EAAE;EACnD,MAAMC,IAAI,GAAGJ,KAAK,CAACK,WAAW,EAAE,CAACD,IAAI;EACrC,MAAME,SAAS,GAAGN,KAAK,CAACO,OAAO,CAACC,IAA0B;EAC1D,MAAMC,UAAU,GAAGX,MAAM,CAACY,SAAS,CAACF,IAAkC;EAEtE,MAAMG,YAAY,GAAG,0BAAAP,IAAI,CAACE,SAAS,CAACM,UAAU,CAACC,eAAe,CAAC,0DAA1C,sBAA4CC,EAAE,MAAKf,GAAG,CAACe,EAAE;EAE9E,IAAIR,SAAS,CAACS,OAAO,CAACC,SAAS,IAAIP,UAAU,CAACQ,OAAO,KAAKN,YAAY,IAAKT,YAAY,IAAI,CAACI,SAAS,CAACY,UAAU,CAACC,QAAS,CAAC,EAAE;IACzH,oBAAOC,6BAACC,WAAW,oBAAKxB,KAAK,EAAI;;EAGrC,oBAAOuB,6BAACE,WAAW,oBAAKzB,KAAK,EAAI;AACrC;;;;"}
|
@@ -0,0 +1,131 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { isCellHighlighted, scrollColumnIntoView } from '../../../util/columns.js';
|
4
|
+
import { RowContext } from '../../rows/RowContext.js';
|
5
|
+
|
6
|
+
function DisplayCell(props) {
|
7
|
+
const {
|
8
|
+
cell,
|
9
|
+
className,
|
10
|
+
column,
|
11
|
+
getValue,
|
12
|
+
index,
|
13
|
+
row,
|
14
|
+
table,
|
15
|
+
tableRef
|
16
|
+
} = props;
|
17
|
+
const columnMeta = React__default.useMemo(() => column.columnDef.meta, []);
|
18
|
+
const tableMeta = table.options.meta;
|
19
|
+
const {
|
20
|
+
rowIndex
|
21
|
+
} = React__default.useContext(RowContext);
|
22
|
+
const value = getValue();
|
23
|
+
// cells are heavily memoized because performance in our table is critical
|
24
|
+
// be careful and selective about props that you pass to the cell
|
25
|
+
const memoedProps = React__default.useMemo(() => {
|
26
|
+
var _ref, _ref2, _props$children, _columnMeta$renderer;
|
27
|
+
return {
|
28
|
+
align: columnMeta.align,
|
29
|
+
children: (_ref = (_ref2 = (_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : (_columnMeta$renderer = columnMeta.renderer) === null || _columnMeta$renderer === void 0 ? void 0 : _columnMeta$renderer.call(columnMeta, value, row.original)) !== null && _ref2 !== void 0 ? _ref2 : value) !== null && _ref !== void 0 ? _ref : null,
|
30
|
+
className: cn(className,
|
31
|
+
// we alias to any because className conflicts with the Table2 definition,
|
32
|
+
// when Table2 is gone, remove this as any
|
33
|
+
typeof columnMeta.className === 'function' ? columnMeta.className(row.original) : columnMeta.className),
|
34
|
+
data: row.original,
|
35
|
+
debug: table.options.debugAll,
|
36
|
+
enableTruncate: columnMeta.enableTruncate,
|
37
|
+
frozenColumnIndex: tableMeta.columnFreezing.frozenColumnIndex,
|
38
|
+
id: cell.id,
|
39
|
+
index,
|
40
|
+
tableRef
|
41
|
+
};
|
42
|
+
}, [row.original, props.children, value]);
|
43
|
+
const memoedHighlight = React__default.useMemo(() => {
|
44
|
+
var _tableMeta$search$que;
|
45
|
+
if (!tableMeta.search.isHighlightingEnabled) {
|
46
|
+
return false;
|
47
|
+
}
|
48
|
+
if ((_tableMeta$search$que = tableMeta.search.query) !== null && _tableMeta$search$que !== void 0 && _tableMeta$search$que.length && columnMeta.enableSearch) {
|
49
|
+
return isCellHighlighted(tableMeta.search.query, value, memoedProps.children);
|
50
|
+
}
|
51
|
+
return false;
|
52
|
+
}, [memoedProps.children, tableMeta.search.isHighlightingEnabled, tableMeta.search.query]);
|
53
|
+
const memoedHighlightCurrent = React__default.useMemo(() => {
|
54
|
+
if (!tableMeta.search.isHighlightingEnabled || !memoedHighlight || tableMeta.search.currentHighlightColumnIndex === undefined) {
|
55
|
+
return false;
|
56
|
+
}
|
57
|
+
const [currentRowIndex, currentColumnIndex] = tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex];
|
58
|
+
if (currentRowIndex === rowIndex && currentColumnIndex === index) {
|
59
|
+
return true;
|
60
|
+
}
|
61
|
+
return false;
|
62
|
+
}, [memoedHighlight, tableMeta.search.highlightedColumnIndexes.length, tableMeta.search.currentHighlightColumnIndex]);
|
63
|
+
return /*#__PURE__*/React__default.createElement(MemoedDisplayCell, Object.assign({}, memoedProps, {
|
64
|
+
highlighted: memoedHighlight,
|
65
|
+
highlightedAsCurrent: memoedHighlightCurrent
|
66
|
+
}));
|
67
|
+
}
|
68
|
+
const MemoedDisplayCell = /*#__PURE__*/React__default.memo(function MemoedDisplayCell(props) {
|
69
|
+
const {
|
70
|
+
align = 'left',
|
71
|
+
children,
|
72
|
+
className: customClassName,
|
73
|
+
debug,
|
74
|
+
enableTruncate,
|
75
|
+
frozenColumnIndex,
|
76
|
+
highlighted,
|
77
|
+
highlightedAsCurrent = false,
|
78
|
+
id,
|
79
|
+
index,
|
80
|
+
tableRef
|
81
|
+
} = props;
|
82
|
+
const layoutClassName = cn('py-[var(--table3-row-padding)]', customClassName);
|
83
|
+
const className = highlighted ? undefined : layoutClassName;
|
84
|
+
const content = enableTruncate || typeof children === 'string' ? /*#__PURE__*/React__default.createElement("span", {
|
85
|
+
className: "truncate"
|
86
|
+
}, children) : children;
|
87
|
+
if (debug) {
|
88
|
+
console.log('cell render', id);
|
89
|
+
}
|
90
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
91
|
+
className: className,
|
92
|
+
"data-align": align,
|
93
|
+
"data-column-index": index,
|
94
|
+
"data-highlighted": highlighted,
|
95
|
+
role: "cell"
|
96
|
+
}, highlighted ? /*#__PURE__*/React__default.createElement(Highlight, {
|
97
|
+
className: layoutClassName,
|
98
|
+
current: highlightedAsCurrent,
|
99
|
+
frozenColumnIndex: frozenColumnIndex,
|
100
|
+
index: index,
|
101
|
+
tableRef: tableRef
|
102
|
+
}, content) : content);
|
103
|
+
});
|
104
|
+
const Highlight = props => {
|
105
|
+
const {
|
106
|
+
current,
|
107
|
+
frozenColumnIndex,
|
108
|
+
index,
|
109
|
+
tableRef,
|
110
|
+
...attributes
|
111
|
+
} = props;
|
112
|
+
const ref = React__default.useRef(null);
|
113
|
+
const className = cn('h-full flex px-4 [justify-content:inherit] [text-align:inherit]', props.className, {
|
114
|
+
// normal row
|
115
|
+
'bg-blue-200/25': !current,
|
116
|
+
// current row
|
117
|
+
'bg-blue-200/75': current
|
118
|
+
});
|
119
|
+
React__default.useEffect(() => {
|
120
|
+
if (ref.current && current) {
|
121
|
+
scrollColumnIntoView(index, frozenColumnIndex, ref.current, tableRef.current);
|
122
|
+
}
|
123
|
+
}, [current]);
|
124
|
+
return /*#__PURE__*/React__default.createElement("div", Object.assign({}, attributes, {
|
125
|
+
className: className,
|
126
|
+
ref: ref
|
127
|
+
}));
|
128
|
+
};
|
129
|
+
|
130
|
+
export { DisplayCell };
|
131
|
+
//# sourceMappingURL=DisplayCell.js.map
|
package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/DisplayCell.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DisplayCell.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/cell/DisplayCell.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { ColumnMeta, CellContext, TableMeta } from '@tanstack/react-table';\nimport { Table3ColumnAlignment } from '../../../types';\nimport { RowContext } from '../../rows/RowContext';\nimport { isCellHighlighted, scrollColumnIntoView } from '../../../util/columns';\n\nexport type DisplayCellProps<TType = unknown> = CellContext<TType, unknown> & {\n children?: string | JSX.Element;\n className?: string;\n};\n\nexport function DisplayCell<TType = unknown>(props: DisplayCellProps<TType>) {\n const { cell, className, column, getValue, index, row, table, tableRef } = props;\n const columnMeta = React.useMemo(() => column.columnDef.meta as ColumnMeta<TType, unknown>, []);\n const tableMeta = table.options.meta as TableMeta<TType>;\n const { rowIndex } = React.useContext(RowContext);\n\n const value = getValue();\n\n // cells are heavily memoized because performance in our table is critical\n // be careful and selective about props that you pass to the cell\n const memoedProps = React.useMemo(() => {\n return {\n align: columnMeta.align,\n children: (props.children ?? columnMeta.renderer?.(value, row.original) ?? value ?? null) as\n | JSX.Element\n | string\n | null,\n className: cn(\n className,\n // we alias to any because className conflicts with the Table2 definition,\n // when Table2 is gone, remove this as any\n typeof columnMeta.className === 'function' ? (columnMeta.className as any)(row.original) : columnMeta.className\n ),\n data: row.original,\n debug: table.options.debugAll,\n enableTruncate: columnMeta.enableTruncate,\n frozenColumnIndex: tableMeta.columnFreezing.frozenColumnIndex,\n id: cell.id,\n index,\n tableRef,\n };\n }, [row.original, props.children, value]);\n\n const memoedHighlight = React.useMemo(() => {\n if (!tableMeta.search.isHighlightingEnabled) {\n return false;\n }\n\n if (tableMeta.search.query?.length && columnMeta.enableSearch) {\n return isCellHighlighted(tableMeta.search.query, value, memoedProps.children);\n }\n\n return false;\n }, [memoedProps.children, tableMeta.search.isHighlightingEnabled, tableMeta.search.query]);\n\n const memoedHighlightCurrent = React.useMemo(() => {\n if (\n !tableMeta.search.isHighlightingEnabled ||\n !memoedHighlight ||\n tableMeta.search.currentHighlightColumnIndex === undefined\n ) {\n return false;\n }\n\n const [currentRowIndex, currentColumnIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex];\n\n if (currentRowIndex === rowIndex && currentColumnIndex === index) {\n return true;\n }\n\n return false;\n }, [memoedHighlight, tableMeta.search.highlightedColumnIndexes.length, tableMeta.search.currentHighlightColumnIndex]);\n\n return (\n <MemoedDisplayCell<TType> {...memoedProps} highlighted={memoedHighlight} highlightedAsCurrent={memoedHighlightCurrent} />\n );\n}\n\n// Memoization\nexport type MemoedDisplayCellProps<TType = unknown> = {\n align?: Table3ColumnAlignment;\n children: JSX.Element | string | null;\n className?: string;\n data: TType;\n debug?: boolean;\n enableTruncate?: boolean;\n frozenColumnIndex?: number;\n highlighted: boolean;\n highlightedAsCurrent: boolean;\n id: string;\n index: number;\n tableRef: React.RefObject<HTMLDivElement>;\n};\n\nconst MemoedDisplayCell = React.memo(function MemoedDisplayCell<TType = unknown>(props: MemoedDisplayCellProps<TType>) {\n const {\n align = 'left',\n children,\n className: customClassName,\n debug,\n enableTruncate,\n frozenColumnIndex,\n highlighted,\n highlightedAsCurrent = false,\n id,\n index,\n tableRef,\n } = props;\n\n const layoutClassName = cn('py-[var(--table3-row-padding)]', customClassName);\n\n const className = highlighted ? undefined : layoutClassName;\n const content = enableTruncate || typeof children === 'string' ? <span className=\"truncate\">{children}</span> : children;\n\n if (debug) {\n console.log('cell render', id);\n }\n\n return (\n <div className={className} data-align={align} data-column-index={index} data-highlighted={highlighted} role=\"cell\">\n {highlighted ? (\n <Highlight\n className={layoutClassName}\n current={highlightedAsCurrent}\n frozenColumnIndex={frozenColumnIndex}\n index={index}\n tableRef={tableRef}>\n {content}\n </Highlight>\n ) : (\n content\n )}\n </div>\n );\n}) as <TType = unknown>(props: MemoedDisplayCellProps<TType>) => JSX.Element;\n\nconst Highlight = props => {\n const { current, frozenColumnIndex, index, tableRef, ...attributes } = props;\n const ref = React.useRef<HTMLDivElement | null>(null);\n const className = cn('h-full flex px-4 [justify-content:inherit] [text-align:inherit]', props.className, {\n // normal row\n 'bg-blue-200/25': !current,\n // current row\n 'bg-blue-200/75': current,\n });\n\n React.useEffect(() => {\n if (ref.current && current) {\n scrollColumnIntoView(index, frozenColumnIndex, ref.current, tableRef.current);\n }\n }, [current]);\n\n return <div {...attributes} className={className} ref={ref} />;\n};\n"],"names":["DisplayCell","props","cell","className","column","getValue","index","row","table","tableRef","columnMeta","React","useMemo","columnDef","meta","tableMeta","options","rowIndex","useContext","RowContext","value","memoedProps","align","children","renderer","original","cn","data","debug","debugAll","enableTruncate","frozenColumnIndex","columnFreezing","id","memoedHighlight","search","isHighlightingEnabled","query","length","enableSearch","isCellHighlighted","memoedHighlightCurrent","currentHighlightColumnIndex","undefined","currentRowIndex","currentColumnIndex","highlightedColumnIndexes","MemoedDisplayCell","highlighted","highlightedAsCurrent","memo","customClassName","layoutClassName","content","console","log","role","Highlight","current","attributes","ref","useRef","useEffect","scrollColumnIntoView"],"mappings":"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"}
|
@@ -0,0 +1,286 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { Input } from '../../../../Input/Input.js';
|
4
|
+
import { deselectInputValue } from '../../../../../utils/input.js';
|
5
|
+
import { Datepicker } from '../../../../Datepicker/Datepicker.js';
|
6
|
+
import { Switch } from '../../../../Switch/Switch.js';
|
7
|
+
import { getCurrentRowCellElement } from '../../../util/columns.js';
|
8
|
+
import { getInputAppearanceClassnames, getCellAlignmentClasses } from '../styles.js';
|
9
|
+
import { globalFilterFn, columnFilterFn } from '../../../util/filtering.js';
|
10
|
+
import _ from 'lodash-es';
|
11
|
+
import { EDITING_ACTIONS_WIDTH } from '../internal/EditingActions.js';
|
12
|
+
import { Indicator, IndicatorReason } from './Indicator.js';
|
13
|
+
import { hasChanged, willRowMoveAfterSorting } from '../../../util/editing.js';
|
14
|
+
|
15
|
+
function EditingCell(props) {
|
16
|
+
return /*#__PURE__*/React__default.createElement(MemoedEditingCell, Object.assign({}, props));
|
17
|
+
}
|
18
|
+
const MemoedEditingCell = /*#__PURE__*/React__default.memo(function MemoedEditingCell(props) {
|
19
|
+
var _tableMeta$editing$ge, _tableMeta$editing$ro, _rows$tableMeta$curre;
|
20
|
+
const {
|
21
|
+
cell,
|
22
|
+
column,
|
23
|
+
index,
|
24
|
+
getValue,
|
25
|
+
table,
|
26
|
+
tableRef,
|
27
|
+
row
|
28
|
+
} = props;
|
29
|
+
const tableMeta = table.options.meta;
|
30
|
+
const columnMeta = column.columnDef.meta;
|
31
|
+
const cellRef = React__default.useRef(null);
|
32
|
+
const controlRef = React__default.useRef(null);
|
33
|
+
const handleChange = value => tableMeta.editing.setCellValue(cell, value);
|
34
|
+
const value = (_tableMeta$editing$ge = tableMeta.editing.getCellValue(cell)) !== null && _tableMeta$editing$ge !== void 0 ? _tableMeta$editing$ge : getValue();
|
35
|
+
const handleFocus = event => {
|
36
|
+
var _event$target;
|
37
|
+
// Check if cell is hidden behind pinned columns or edititng actions, and scroll to it.
|
38
|
+
const frozenColumnIndex = tableMeta.columnFreezing.frozenColumnIndex;
|
39
|
+
const tableElement = tableRef.current;
|
40
|
+
if (tableElement && frozenColumnIndex !== undefined && index > frozenColumnIndex) {
|
41
|
+
var _cellRef$current;
|
42
|
+
const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, tableElement);
|
43
|
+
const cellRect = (_cellRef$current = cellRef.current) === null || _cellRef$current === void 0 ? void 0 : _cellRef$current.getBoundingClientRect();
|
44
|
+
const lastFrozenRect = lastFrozenColumnElement === null || lastFrozenColumnElement === void 0 ? void 0 : lastFrozenColumnElement.getBoundingClientRect();
|
45
|
+
const tableRect = tableElement.getBoundingClientRect();
|
46
|
+
// Check for pinned columns overlap
|
47
|
+
if (cellRect && lastFrozenRect && cellRect.left < lastFrozenRect.left + lastFrozenRect.width) {
|
48
|
+
const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;
|
49
|
+
tableElement.scrollTo(cellRect.left - pinnedColumnsWidth, tableElement.scrollTop);
|
50
|
+
// Check for editing actions overlap
|
51
|
+
} else if (cellRect && tableRect && cellRect.right > tableRect.right - EDITING_ACTIONS_WIDTH) {
|
52
|
+
const spaceBetweenCellAndEditingActions = 10;
|
53
|
+
tableElement.scrollTo(
|
54
|
+
// Need to take into account if table has been already scrolled.
|
55
|
+
tableElement.scrollLeft + EDITING_ACTIONS_WIDTH + spaceBetweenCellAndEditingActions, tableElement.scrollTop);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
if ((_event$target = event.target) !== null && _event$target !== void 0 && _event$target.select) {
|
59
|
+
requestAnimationFrame(() => {
|
60
|
+
event.target.select();
|
61
|
+
});
|
62
|
+
}
|
63
|
+
};
|
64
|
+
const handleBlur = () => {
|
65
|
+
tableMeta.editing.setDetailModeEditing(false);
|
66
|
+
};
|
67
|
+
// row move indicator
|
68
|
+
const moveReason = (_tableMeta$editing$ro = tableMeta.editing.rowMoveReason[cell.column.id]) !== null && _tableMeta$editing$ro !== void 0 ? _tableMeta$editing$ro : null;
|
69
|
+
const rows = table.getRowModel().rows;
|
70
|
+
const isCurrentRow = ((_rows$tableMeta$curre = rows[tableMeta.currentRow.currentRowIndex]) === null || _rows$tableMeta$curre === void 0 ? void 0 : _rows$tableMeta$curre.id) === row.id;
|
71
|
+
const mountNode = React__default.useMemo(() => {
|
72
|
+
if (moveReason) {
|
73
|
+
var _cellRef$current2, _cellRef$current2$par;
|
74
|
+
return (_cellRef$current2 = cellRef.current) === null || _cellRef$current2 === void 0 ? void 0 : (_cellRef$current2$par = _cellRef$current2.parentElement) === null || _cellRef$current2$par === void 0 ? void 0 : _cellRef$current2$par.firstChild;
|
75
|
+
}
|
76
|
+
return null;
|
77
|
+
}, [moveReason, cellRef]);
|
78
|
+
const removeMoveReason = () => {
|
79
|
+
tableMeta.editing.removeRowMoveReason(cell.column.id);
|
80
|
+
};
|
81
|
+
React__default.useEffect(() => {
|
82
|
+
// To avoid reseting move reason on another row hover,
|
83
|
+
// we need to check for changes only if value got changed in the current row.
|
84
|
+
if (!isCurrentRow) {
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
if (hasChanged(getValue(), value)) {
|
88
|
+
const moveReason = getRowMoveReason(table, row.index, row.original, cell, value);
|
89
|
+
tableMeta.editing.setRowMoveReason({
|
90
|
+
[cell.column.id]: moveReason
|
91
|
+
});
|
92
|
+
} else {
|
93
|
+
removeMoveReason();
|
94
|
+
}
|
95
|
+
return removeMoveReason;
|
96
|
+
}, [value]);
|
97
|
+
const className = cn('!px-2 py-[var(--table3-row-padding)]',
|
98
|
+
// component overrides - grayscale for editing hover
|
99
|
+
'[[role="row"][data-current="false"]:hover_&>*]:!grayscale [[role="row"][data-current="false"]:hover_&_.bg-white]:!bg-grey-100',
|
100
|
+
// we alias to any because className conflicts with the Table2 definition,
|
101
|
+
// when Table2 is gone, remove this as any
|
102
|
+
typeof columnMeta.className === 'function' ? columnMeta.className(row.original) : columnMeta.className);
|
103
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, moveReason !== null && mountNode && /*#__PURE__*/React__default.createElement(Indicator, {
|
104
|
+
reason: moveReason,
|
105
|
+
columnName: String(cell.column.columnDef.header),
|
106
|
+
mountNode: mountNode,
|
107
|
+
validationErrors: []
|
108
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
109
|
+
className: className,
|
110
|
+
"data-column-index": index,
|
111
|
+
role: "cell",
|
112
|
+
ref: cellRef
|
113
|
+
}, /*#__PURE__*/React__default.createElement(Control, {
|
114
|
+
align: columnMeta.align,
|
115
|
+
column: cell.column,
|
116
|
+
data: cell.row.original,
|
117
|
+
initialValue: getValue(),
|
118
|
+
onBlur: handleBlur,
|
119
|
+
onFocus: handleFocus,
|
120
|
+
onChange: handleChange,
|
121
|
+
ref: controlRef,
|
122
|
+
table: table,
|
123
|
+
tableRef: tableRef,
|
124
|
+
value: value,
|
125
|
+
cell: cell
|
126
|
+
})));
|
127
|
+
});
|
128
|
+
const Control = /*#__PURE__*/React__default.forwardRef(function Control(props, ref) {
|
129
|
+
var _column$columnDef$met, _ref$current;
|
130
|
+
const {
|
131
|
+
align,
|
132
|
+
column,
|
133
|
+
data,
|
134
|
+
initialValue,
|
135
|
+
onChange: handleChange,
|
136
|
+
table,
|
137
|
+
tableRef,
|
138
|
+
value,
|
139
|
+
cell,
|
140
|
+
...attributes
|
141
|
+
} = props;
|
142
|
+
const tableMeta = table.options.meta;
|
143
|
+
const controlRenderer = (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.control;
|
144
|
+
const isCellInDetailMode = tableMeta.editing.detailModeEditing && (ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.contains(document.activeElement));
|
145
|
+
const handleKeyDown = event => {
|
146
|
+
const target = event.target;
|
147
|
+
if (target.readOnly) {
|
148
|
+
return;
|
149
|
+
}
|
150
|
+
// prevent row arrow shortcuts triggering when in detail mode
|
151
|
+
if (tableMeta.editing.detailModeEditing && (event.key === 'ArrowUp' || event.key === 'ArrowDown')) {
|
152
|
+
event.preventDefault();
|
153
|
+
event.stopPropagation();
|
154
|
+
}
|
155
|
+
if (event.key === 'Escape') {
|
156
|
+
event.preventDefault();
|
157
|
+
// Revert to initial value if escape was pressed in detail mode.
|
158
|
+
if (tableMeta.editing.detailModeEditing) {
|
159
|
+
tableMeta.editing.setDetailModeEditing(false);
|
160
|
+
if (value !== initialValue) {
|
161
|
+
// Before reseting to initial value, we need to check if edited row with cell initial value is the same as original row,
|
162
|
+
// and in this case we need to completely remove row from editing state to avoid saving the same data as original.
|
163
|
+
const changedRow = tableMeta.editing.changes ? tableMeta.editing.changes[cell.row.id] : {};
|
164
|
+
const rowEdtitingDataWithInitialValue = {
|
165
|
+
...changedRow,
|
166
|
+
[cell.column.id]: initialValue
|
167
|
+
};
|
168
|
+
if (_.isEqual(cell.row.original, rowEdtitingDataWithInitialValue)) {
|
169
|
+
tableMeta.editing.resetChange(cell.row.id);
|
170
|
+
} else {
|
171
|
+
handleChange(initialValue);
|
172
|
+
}
|
173
|
+
}
|
174
|
+
} else {
|
175
|
+
var _tableRef$current;
|
176
|
+
tableMeta.editing.toggleEditing(false);
|
177
|
+
(_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.focus();
|
178
|
+
}
|
179
|
+
return;
|
180
|
+
}
|
181
|
+
// Should enable/disable editing mode if Enter was clicked
|
182
|
+
if (event.key === 'Enter') {
|
183
|
+
event.preventDefault();
|
184
|
+
if (!tableMeta.editing.detailModeEditing) {
|
185
|
+
deselectInputValue(target);
|
186
|
+
} else {
|
187
|
+
var _target$select;
|
188
|
+
target === null || target === void 0 ? void 0 : (_target$select = target.select) === null || _target$select === void 0 ? void 0 : _target$select.call(target);
|
189
|
+
}
|
190
|
+
// Ketydown "Enter" should toggle edititng mode
|
191
|
+
tableMeta.editing.setDetailModeEditing(!tableMeta.editing.detailModeEditing);
|
192
|
+
return;
|
193
|
+
}
|
194
|
+
};
|
195
|
+
const handleDatepickerChange = event => {
|
196
|
+
// When datepicker looses focus, it triggers change event, even if date wasn't changed,
|
197
|
+
// so adding additional check here to prevent adding change to the edititng state.
|
198
|
+
const originalDate = cell.row.original[cell.column.id];
|
199
|
+
const changedDate = event.detail;
|
200
|
+
if (hasChanged(originalDate, changedDate)) {
|
201
|
+
handleChange(changedDate);
|
202
|
+
}
|
203
|
+
};
|
204
|
+
if (typeof controlRenderer === 'function') {
|
205
|
+
return controlRenderer({
|
206
|
+
...attributes,
|
207
|
+
ref,
|
208
|
+
setValue: nextValue => {
|
209
|
+
if (nextValue !== value) {
|
210
|
+
handleChange(nextValue);
|
211
|
+
}
|
212
|
+
},
|
213
|
+
value
|
214
|
+
}, data);
|
215
|
+
} else if (controlRenderer === 'datepicker') {
|
216
|
+
const handleDatepickerKeyDown = event => {
|
217
|
+
handleKeyDown(event);
|
218
|
+
if (/^[a-z0-9]$/i.test(event.key)) {
|
219
|
+
tableMeta.editing.setDetailModeEditing(true);
|
220
|
+
return;
|
221
|
+
}
|
222
|
+
};
|
223
|
+
return /*#__PURE__*/React__default.createElement(Datepicker, Object.assign({}, attributes, {
|
224
|
+
className: cn({
|
225
|
+
'[&_input]:!yt-focus-dark': isCellInDetailMode
|
226
|
+
}),
|
227
|
+
onChange: handleDatepickerChange,
|
228
|
+
onKeyDown: handleDatepickerKeyDown,
|
229
|
+
ref: ref,
|
230
|
+
value: value
|
231
|
+
}));
|
232
|
+
} else if (controlRenderer === 'switch') {
|
233
|
+
return /*#__PURE__*/React__default.createElement(Switch, Object.assign({}, attributes, {
|
234
|
+
className: "mx-2 mt-1.5",
|
235
|
+
checked: Boolean(value),
|
236
|
+
onChange: handleChange,
|
237
|
+
ref: ref
|
238
|
+
}));
|
239
|
+
}
|
240
|
+
const isNumber = typeof value === 'number';
|
241
|
+
const handleInputKeyDown = event => {
|
242
|
+
handleKeyDown(event);
|
243
|
+
// Switching to editing mode, when key pressed any alphabetical character or number
|
244
|
+
if (/^[a-z0-9]$/i.test(event.key)) {
|
245
|
+
tableMeta.editing.setDetailModeEditing(true);
|
246
|
+
return;
|
247
|
+
}
|
248
|
+
};
|
249
|
+
return /*#__PURE__*/React__default.createElement(Input, Object.assign({}, attributes, {
|
250
|
+
className: cn(getInputAppearanceClassnames(), getCellAlignmentClasses(align), {
|
251
|
+
'!yt-focus-dark': isCellInDetailMode
|
252
|
+
}),
|
253
|
+
onChange: event => {
|
254
|
+
handleChange(event.target.value);
|
255
|
+
},
|
256
|
+
onKeyDown: handleInputKeyDown,
|
257
|
+
ref: ref,
|
258
|
+
type: isNumber ? 'number' : undefined,
|
259
|
+
value: isNumber ? value : String(value !== null && value !== void 0 ? value : '')
|
260
|
+
}));
|
261
|
+
});
|
262
|
+
function getRowMoveReason(table, rowIndex, rowValues, cell, newValue) {
|
263
|
+
var _table$getState$sorti;
|
264
|
+
let rowMoveReason = null;
|
265
|
+
const {
|
266
|
+
globalFilter
|
267
|
+
} = table.getState();
|
268
|
+
const isFilteredByGlobalFilter = Object.values({
|
269
|
+
...rowValues,
|
270
|
+
[cell.id]: newValue
|
271
|
+
}).some(cellValue =>
|
272
|
+
// Global filter can be undefined when there is no text being searched so we pass an empty string to
|
273
|
+
// globalFilterFn as query in that case.
|
274
|
+
globalFilterFn(String(cellValue), globalFilter ? String(globalFilter) : ''));
|
275
|
+
if (!isFilteredByGlobalFilter) {
|
276
|
+
rowMoveReason = IndicatorReason.SEARCH;
|
277
|
+
} else if (cell.column.getIsFiltered() && !columnFilterFn(newValue, cell.column.getFilterValue())) {
|
278
|
+
rowMoveReason = IndicatorReason.FILTER;
|
279
|
+
} else if (!rowMoveReason && cell.column.getIsSorted() && willRowMoveAfterSorting(newValue, cell, rowIndex, table.getRowModel().rows, !!((_table$getState$sorti = table.getState().sorting.find(s => s.id === cell.column.id)) !== null && _table$getState$sorti !== void 0 && _table$getState$sorti.desc))) {
|
280
|
+
rowMoveReason = IndicatorReason.SORTING;
|
281
|
+
}
|
282
|
+
return rowMoveReason;
|
283
|
+
}
|
284
|
+
|
285
|
+
export { EditingCell };
|
286
|
+
//# sourceMappingURL=EditingCell.js.map
|