@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
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { _finallyRethrows } from '../../../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
|
3
|
+
import { useLazyEffect } from '../../../../hooks/useLazyEffect.js';
|
4
|
+
|
5
|
+
// we use a listener, and not the internal "controlled" change handlers because we don't actually want consumers
|
6
|
+
// to control the state outside the table. this listener is really here to let the consumer make a server request
|
7
|
+
// and provide the server with the search state, so that it can search server side
|
8
|
+
function useSearchStateListener(table, onSearch) {
|
9
|
+
const tableMeta = table.options.meta;
|
10
|
+
const rows = table.getRowModel().rows;
|
11
|
+
const loadingRef = React__default.useRef(false);
|
12
|
+
const lastUsedExcludeRef = React__default.useRef(tableMeta.search.excludeUnmatchedResults);
|
13
|
+
const handleSearch = function (query, excludeUnmatchedResults) {
|
14
|
+
try {
|
15
|
+
const _temp4 = function () {
|
16
|
+
if (tableMeta.search.isEnabled && !loadingRef.current) {
|
17
|
+
function _temp3() {
|
18
|
+
if (excludeUnmatchedResults && table.options.enableRowSelection) {
|
19
|
+
table.resetRowSelection();
|
20
|
+
}
|
21
|
+
}
|
22
|
+
const _temp2 = function () {
|
23
|
+
if (typeof onSearch === 'function' && (excludeUnmatchedResults || lastUsedExcludeRef.current)) {
|
24
|
+
const _temp = _finallyRethrows(function () {
|
25
|
+
loadingRef.current = true;
|
26
|
+
// if we are transitioning from true to false on exclude, then we need to "reset" by searching with no value
|
27
|
+
return Promise.resolve(onSearch(!excludeUnmatchedResults && lastUsedExcludeRef.current ? undefined : query)).then(function () {});
|
28
|
+
}, function (_wasThrown, _result) {
|
29
|
+
loadingRef.current = false;
|
30
|
+
lastUsedExcludeRef.current = excludeUnmatchedResults;
|
31
|
+
if (_wasThrown) throw _result;
|
32
|
+
return _result;
|
33
|
+
});
|
34
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
35
|
+
}
|
36
|
+
}();
|
37
|
+
return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
|
38
|
+
}
|
39
|
+
}();
|
40
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
41
|
+
} catch (e) {
|
42
|
+
return Promise.reject(e);
|
43
|
+
}
|
44
|
+
};
|
45
|
+
useLazyEffect(() => {
|
46
|
+
handleSearch(tableMeta.search.query, tableMeta.search.excludeUnmatchedResults);
|
47
|
+
}, [tableMeta.search.isEnabled, tableMeta.search.query, tableMeta.search.excludeUnmatchedResults, rows.length]);
|
48
|
+
}
|
49
|
+
|
50
|
+
export { useSearchStateListener };
|
51
|
+
//# sourceMappingURL=useSearchStateListener.js.map
|
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSearchStateListener.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useSearchStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useSearchStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Table3SearchHandler } from '../../types';\nimport { useLazyEffect } from '../../../../hooks/useLazyEffect';\n\n// we use a listener, and not the internal \"controlled\" change handlers because we don't actually want consumers\n// to control the state outside the table. this listener is really here to let the consumer make a server request\n// and provide the server with the search state, so that it can search server side\nexport function useSearchStateListener<TType = unknown>(table: RTable<TType>, onSearch?: Table3SearchHandler) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n const loadingRef = React.useRef(false);\n const lastUsedExcludeRef = React.useRef(tableMeta.search.excludeUnmatchedResults);\n\n const handleSearch = async (query: string | undefined, excludeUnmatchedResults: boolean) => {\n if (tableMeta.search.isEnabled && !loadingRef.current) {\n if (typeof onSearch === 'function' && (excludeUnmatchedResults || lastUsedExcludeRef.current)) {\n try {\n loadingRef.current = true;\n // if we are transitioning from true to false on exclude, then we need to \"reset\" by searching with no value\n await onSearch(!excludeUnmatchedResults && lastUsedExcludeRef.current ? undefined : query);\n } finally {\n loadingRef.current = false;\n lastUsedExcludeRef.current = excludeUnmatchedResults;\n }\n }\n\n if (excludeUnmatchedResults && table.options.enableRowSelection) {\n table.resetRowSelection();\n }\n }\n };\n\n useLazyEffect(() => {\n handleSearch(tableMeta.search.query, tableMeta.search.excludeUnmatchedResults);\n }, [tableMeta.search.isEnabled, tableMeta.search.query, tableMeta.search.excludeUnmatchedResults, rows.length]);\n}\n"],"names":["useSearchStateListener","table","onSearch","tableMeta","options","meta","rows","getRowModel","loadingRef","React","useRef","lastUsedExcludeRef","search","excludeUnmatchedResults","handleSearch","query","isEnabled","current","enableRowSelection","resetRowSelection","undefined","useLazyEffect","length"],"mappings":";;;;AAKA;AACA;AACA;SACgBA,sBAAsB,CAAkBC,KAAoB,EAAEC,QAA8B;EACxG,MAAMC,SAAS,GAAGF,KAAK,CAACG,OAAO,CAACC,IAAwB;EACxD,MAAMC,IAAI,GAAGL,KAAK,CAACM,WAAW,EAAE,CAACD,IAAI;EACrC,MAAME,UAAU,GAAGC,cAAK,CAACC,MAAM,CAAC,KAAK,CAAC;EACtC,MAAMC,kBAAkB,GAAGF,cAAK,CAACC,MAAM,CAACP,SAAS,CAACS,MAAM,CAACC,uBAAuB,CAAC;EAEjF,MAAMC,YAAY,aAAUC,KAAyB,EAAEF,uBAAgC;IAAA;;YAC/EV,SAAS,CAACS,MAAM,CAACI,SAAS,IAAI,CAACR,UAAU,CAACS,OAAO;UAAA;YAAA,IAY7CJ,uBAAuB,IAAIZ,KAAK,CAACG,OAAO,CAACc,kBAAkB;cAC3DjB,KAAK,CAACkB,iBAAiB,EAAE;;;UAAC;YAAA,IAZ1B,OAAOjB,QAAQ,KAAK,UAAU,KAAKW,uBAAuB,IAAIF,kBAAkB,CAACM,OAAO,CAAC;cAAA,2CACrF;gBACAT,UAAU,CAACS,OAAO,GAAG,IAAI;;gBACzB,uBACMf,QAAQ,CAAC,CAACW,uBAAuB,IAAIF,kBAAkB,CAACM,OAAO,GAAGG,SAAS,GAAGL,KAAK,CAAC;eAC7F;gBACGP,UAAU,CAACS,OAAO,GAAG,KAAK;gBAC1BN,kBAAkB,CAACM,OAAO,GAAGJ,uBAAuB;gBAAC;gBAAA;;cAAA;;;UAAA;;;MAAA;KAQpE;MAAA;;;EAEDQ,aAAa,CAAC;IACVP,YAAY,CAACX,SAAS,CAACS,MAAM,CAACG,KAAK,EAAEZ,SAAS,CAACS,MAAM,CAACC,uBAAuB,CAAC;GACjF,EAAE,CAACV,SAAS,CAACS,MAAM,CAACI,SAAS,EAAEb,SAAS,CAACS,MAAM,CAACG,KAAK,EAAEZ,SAAS,CAACS,MAAM,CAACC,uBAAuB,EAAEP,IAAI,CAACgB,MAAM,CAAC,CAAC;AACnH;;;;"}
|
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
|
3
|
+
function useServerLoadingListener(table, loadPage) {
|
4
|
+
const sorting = table.getState().sorting;
|
5
|
+
const columnFilters = table.getState().columnFilters;
|
6
|
+
const search = table.getState().globalFilter;
|
7
|
+
// trigger load of the first page on mount
|
8
|
+
React__default.useEffect(() => {
|
9
|
+
if (loadPage) {
|
10
|
+
loadPage(0, sorting, columnFilters, search);
|
11
|
+
}
|
12
|
+
}, []);
|
13
|
+
}
|
14
|
+
|
15
|
+
export { useServerLoadingListener };
|
16
|
+
//# sourceMappingURL=useServerLoadingListener.js.map
|
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useServerLoadingListener.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useServerLoadingListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useServerLoadingListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable } from '@tanstack/react-table';\nimport { Table3LoadPageHandler } from '../../types';\n\nexport function useServerLoadingListener<TType = unknown>(table: RTable<TType>, loadPage?: Table3LoadPageHandler) {\n const sorting = table.getState().sorting;\n const columnFilters = table.getState().columnFilters;\n const search = table.getState().globalFilter;\n\n // trigger load of the first page on mount\n React.useEffect(() => {\n if (loadPage) {\n loadPage(0, sorting, columnFilters, search);\n }\n }, []);\n}\n"],"names":["useServerLoadingListener","table","loadPage","sorting","getState","columnFilters","search","globalFilter","React","useEffect"],"mappings":";;SAIgBA,wBAAwB,CAAkBC,KAAoB,EAAEC,QAAgC;EAC5G,MAAMC,OAAO,GAAGF,KAAK,CAACG,QAAQ,EAAE,CAACD,OAAO;EACxC,MAAME,aAAa,GAAGJ,KAAK,CAACG,QAAQ,EAAE,CAACC,aAAa;EACpD,MAAMC,MAAM,GAAGL,KAAK,CAACG,QAAQ,EAAE,CAACG,YAAY;;EAG5CC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIP,QAAQ,EAAE;MACVA,QAAQ,CAAC,CAAC,EAAEC,OAAO,EAAEE,aAAa,EAAEC,MAAM,CAAC;;GAElD,EAAE,EAAE,CAAC;AACV;;;;"}
|
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
|
3
|
+
function useSettingsStateListener(table, onChangeSettings) {
|
4
|
+
const meta = table.options.meta;
|
5
|
+
const state = table.getState();
|
6
|
+
React__default.useEffect(() => {
|
7
|
+
let handler;
|
8
|
+
if (typeof onChangeSettings === 'function') {
|
9
|
+
handler = setTimeout(() => onChangeSettings({
|
10
|
+
columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,
|
11
|
+
columnOrder: state.columnOrder,
|
12
|
+
columnPinning: state.columnPinning,
|
13
|
+
columnSizing: state.columnSizing,
|
14
|
+
columnVisibility: state.columnVisibility,
|
15
|
+
excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,
|
16
|
+
fontSize: meta.fontSize.size,
|
17
|
+
rowHeight: meta.rowHeight.height,
|
18
|
+
sorting: state.sorting
|
19
|
+
}), 250);
|
20
|
+
}
|
21
|
+
return () => clearTimeout(handler);
|
22
|
+
}, [onChangeSettings, state.columnFilters, state.columnOrder, state.columnPinning, state.columnSizing, state.columnVisibility, meta.columnFreezing.frozenColumnIndex, meta.search.excludeUnmatchedResults, meta.fontSize.size, meta.rowHeight.height, state.sorting]);
|
23
|
+
}
|
24
|
+
|
25
|
+
export { useSettingsStateListener };
|
26
|
+
//# sourceMappingURL=useSettingsStateListener.js.map
|
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useSettingsStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useSettingsStateListener.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { Table3SettingsAdapter } from '../../types';\n\nexport function useSettingsStateListener<TType = unknown>(\n table: RTable<TType>,\n onChangeSettings: Table3SettingsAdapter | undefined\n) {\n const meta = table.options.meta as TableMeta<TType>;\n const state = table.getState();\n\n React.useEffect(() => {\n let handler;\n\n if (typeof onChangeSettings === 'function') {\n handler = setTimeout(\n () =>\n onChangeSettings({\n columnFreezingIndex: meta.columnFreezing.frozenColumnIndex,\n columnOrder: state.columnOrder,\n columnPinning: state.columnPinning,\n columnSizing: state.columnSizing,\n columnVisibility: state.columnVisibility,\n excludeUnmatchedRecordsInSearch: meta.search.excludeUnmatchedResults,\n fontSize: meta.fontSize.size,\n rowHeight: meta.rowHeight.height,\n sorting: state.sorting,\n }),\n 250\n );\n }\n\n return () => clearTimeout(handler);\n }, [\n onChangeSettings,\n state.columnFilters,\n state.columnOrder,\n state.columnPinning,\n state.columnSizing,\n state.columnVisibility,\n meta.columnFreezing.frozenColumnIndex,\n meta.search.excludeUnmatchedResults,\n meta.fontSize.size,\n meta.rowHeight.height,\n state.sorting,\n ]);\n}\n"],"names":["useSettingsStateListener","table","onChangeSettings","meta","options","state","getState","React","useEffect","handler","setTimeout","columnFreezingIndex","columnFreezing","frozenColumnIndex","columnOrder","columnPinning","columnSizing","columnVisibility","excludeUnmatchedRecordsInSearch","search","excludeUnmatchedResults","fontSize","size","rowHeight","height","sorting","clearTimeout","columnFilters"],"mappings":";;SAIgBA,wBAAwB,CACpCC,KAAoB,EACpBC,gBAAmD;EAEnD,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACD,IAAwB;EACnD,MAAME,KAAK,GAAGJ,KAAK,CAACK,QAAQ,EAAE;EAE9BC,cAAK,CAACC,SAAS,CAAC;IACZ,IAAIC,OAAO;IAEX,IAAI,OAAOP,gBAAgB,KAAK,UAAU,EAAE;MACxCO,OAAO,GAAGC,UAAU,CAChB,MACIR,gBAAgB,CAAC;QACbS,mBAAmB,EAAER,IAAI,CAACS,cAAc,CAACC,iBAAiB;QAC1DC,WAAW,EAAET,KAAK,CAACS,WAAW;QAC9BC,aAAa,EAAEV,KAAK,CAACU,aAAa;QAClCC,YAAY,EAAEX,KAAK,CAACW,YAAY;QAChCC,gBAAgB,EAAEZ,KAAK,CAACY,gBAAgB;QACxCC,+BAA+B,EAAEf,IAAI,CAACgB,MAAM,CAACC,uBAAuB;QACpEC,QAAQ,EAAElB,IAAI,CAACkB,QAAQ,CAACC,IAAI;QAC5BC,SAAS,EAAEpB,IAAI,CAACoB,SAAS,CAACC,MAAM;QAChCC,OAAO,EAAEpB,KAAK,CAACoB;OAClB,CAAC,EACN,GAAG,CACN;;IAGL,OAAO,MAAMC,YAAY,CAACjB,OAAO,CAAC;GACrC,EAAE,CACCP,gBAAgB,EAChBG,KAAK,CAACsB,aAAa,EACnBtB,KAAK,CAACS,WAAW,EACjBT,KAAK,CAACU,aAAa,EACnBV,KAAK,CAACW,YAAY,EAClBX,KAAK,CAACY,gBAAgB,EACtBd,IAAI,CAACS,cAAc,CAACC,iBAAiB,EACrCV,IAAI,CAACgB,MAAM,CAACC,uBAAuB,EACnCjB,IAAI,CAACkB,QAAQ,CAACC,IAAI,EAClBnB,IAAI,CAACoB,SAAS,CAACC,MAAM,EACrBnB,KAAK,CAACoB,OAAO,CAChB,CAAC;AACN;;;;"}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { createShortcutKeyDownHandler } from '../../../../utils/keyboard.js';
|
3
|
+
|
4
|
+
function useShortcutsListener(table, shortcuts) {
|
5
|
+
const meta = table.options.meta;
|
6
|
+
const rows = table.getRowModel().rows;
|
7
|
+
React__default.useEffect(() => {
|
8
|
+
const shortcutKeys = Object.keys(shortcuts !== null && shortcuts !== void 0 ? shortcuts : {});
|
9
|
+
const globalHandlers = [];
|
10
|
+
// convert the shortcut into the correct format to register it
|
11
|
+
if (shortcuts && shortcutKeys.length) {
|
12
|
+
const currentRow = rows[meta.currentRow.currentRowIndex];
|
13
|
+
shortcutKeys.forEach(key => {
|
14
|
+
const handler = shortcuts[key];
|
15
|
+
let keyDownHandler;
|
16
|
+
let keyDownHandlerOptions;
|
17
|
+
if (typeof handler === 'function') {
|
18
|
+
keyDownHandler = handler;
|
19
|
+
keyDownHandlerOptions = {
|
20
|
+
key
|
21
|
+
};
|
22
|
+
} else {
|
23
|
+
const handlerObject = handler;
|
24
|
+
keyDownHandler = handlerObject.handler;
|
25
|
+
keyDownHandlerOptions = {
|
26
|
+
key,
|
27
|
+
meta: handlerObject.meta,
|
28
|
+
shift: handlerObject.shift
|
29
|
+
};
|
30
|
+
}
|
31
|
+
globalHandlers.push(createShortcutKeyDownHandler(keyDownHandlerOptions, event => {
|
32
|
+
event.preventDefault();
|
33
|
+
keyDownHandler(currentRow === null || currentRow === void 0 ? void 0 : currentRow.original);
|
34
|
+
}));
|
35
|
+
});
|
36
|
+
}
|
37
|
+
globalHandlers.forEach(handler => {
|
38
|
+
document.addEventListener('keydown', handler);
|
39
|
+
});
|
40
|
+
return () => {
|
41
|
+
globalHandlers.forEach(handler => {
|
42
|
+
document.removeEventListener('keydown', handler);
|
43
|
+
});
|
44
|
+
};
|
45
|
+
}, [shortcuts, meta.currentRow.currentRowIndex, rows.length]);
|
46
|
+
}
|
47
|
+
|
48
|
+
export { useShortcutsListener };
|
49
|
+
//# sourceMappingURL=useShortcutsListener.js.map
|
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useShortcutsListener.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useShortcutsListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useShortcutsListener.ts"],"sourcesContent":["import React from 'react';\nimport { TableMeta, Table as RTable } from '@tanstack/react-table';\nimport { KeyDownHandlerOptions, createShortcutKeyDownHandler } from '../../../../utils/keyboard';\nimport { Table3ShortcutHandlerObject, Table3Shortcuts } from '../../types';\n\nexport function useShortcutsListener<TType = unknown>(table: RTable<TType>, shortcuts: Table3Shortcuts<TType> | undefined) {\n const meta = table.options.meta as TableMeta<TType>;\n const rows = table.getRowModel().rows;\n\n React.useEffect(() => {\n const shortcutKeys = Object.keys(shortcuts ?? {});\n const globalHandlers: Array<(event: KeyboardEvent) => void> = [];\n\n // convert the shortcut into the correct format to register it\n if (shortcuts && shortcutKeys.length) {\n const currentRow = rows[meta.currentRow.currentRowIndex];\n\n shortcutKeys.forEach(key => {\n const handler = shortcuts[key];\n\n let keyDownHandler;\n let keyDownHandlerOptions: KeyDownHandlerOptions;\n\n if (typeof handler === 'function') {\n keyDownHandler = handler;\n keyDownHandlerOptions = {\n key,\n };\n } else {\n const handlerObject = handler as Table3ShortcutHandlerObject<TType>;\n keyDownHandler = handlerObject.handler;\n keyDownHandlerOptions = {\n key,\n meta: handlerObject.meta,\n shift: handlerObject.shift,\n };\n }\n\n globalHandlers.push(\n createShortcutKeyDownHandler(keyDownHandlerOptions, event => {\n event.preventDefault();\n keyDownHandler(currentRow?.original);\n })\n );\n });\n }\n\n globalHandlers.forEach(handler => {\n document.addEventListener('keydown', handler);\n });\n\n return () => {\n globalHandlers.forEach(handler => {\n document.removeEventListener('keydown', handler);\n });\n };\n }, [shortcuts, meta.currentRow.currentRowIndex, rows.length]);\n}\n"],"names":["useShortcutsListener","table","shortcuts","meta","options","rows","getRowModel","React","useEffect","shortcutKeys","Object","keys","globalHandlers","length","currentRow","currentRowIndex","forEach","key","handler","keyDownHandler","keyDownHandlerOptions","handlerObject","shift","push","createShortcutKeyDownHandler","event","preventDefault","original","document","addEventListener","removeEventListener"],"mappings":";;;SAKgBA,oBAAoB,CAAkBC,KAAoB,EAAEC,SAA6C;EACrH,MAAMC,IAAI,GAAGF,KAAK,CAACG,OAAO,CAACD,IAAwB;EACnD,MAAME,IAAI,GAAGJ,KAAK,CAACK,WAAW,EAAE,CAACD,IAAI;EAErCE,cAAK,CAACC,SAAS,CAAC;IACZ,MAAMC,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACT,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE,CAAC;IACjD,MAAMU,cAAc,GAA0C,EAAE;;IAGhE,IAAIV,SAAS,IAAIO,YAAY,CAACI,MAAM,EAAE;MAClC,MAAMC,UAAU,GAAGT,IAAI,CAACF,IAAI,CAACW,UAAU,CAACC,eAAe,CAAC;MAExDN,YAAY,CAACO,OAAO,CAACC,GAAG;QACpB,MAAMC,OAAO,GAAGhB,SAAS,CAACe,GAAG,CAAC;QAE9B,IAAIE,cAAc;QAClB,IAAIC,qBAA4C;QAEhD,IAAI,OAAOF,OAAO,KAAK,UAAU,EAAE;UAC/BC,cAAc,GAAGD,OAAO;UACxBE,qBAAqB,GAAG;YACpBH;WACH;SACJ,MAAM;UACH,MAAMI,aAAa,GAAGH,OAA6C;UACnEC,cAAc,GAAGE,aAAa,CAACH,OAAO;UACtCE,qBAAqB,GAAG;YACpBH,GAAG;YACHd,IAAI,EAAEkB,aAAa,CAAClB,IAAI;YACxBmB,KAAK,EAAED,aAAa,CAACC;WACxB;;QAGLV,cAAc,CAACW,IAAI,CACfC,4BAA4B,CAACJ,qBAAqB,EAAEK,KAAK;UACrDA,KAAK,CAACC,cAAc,EAAE;UACtBP,cAAc,CAACL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,QAAQ,CAAC;SACvC,CAAC,CACL;OACJ,CAAC;;IAGNf,cAAc,CAACI,OAAO,CAACE,OAAO;MAC1BU,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEX,OAAO,CAAC;KAChD,CAAC;IAEF,OAAO;MACHN,cAAc,CAACI,OAAO,CAACE,OAAO;QAC1BU,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEZ,OAAO,CAAC;OACnD,CAAC;KACL;GACJ,EAAE,CAAChB,SAAS,EAAEC,IAAI,CAACW,UAAU,CAACC,eAAe,EAAEV,IAAI,CAACQ,MAAM,CAAC,CAAC;AACjE;;;;"}
|
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
import { useLazyEffect } from '../../../../hooks/useLazyEffect.js';
|
2
|
+
|
3
|
+
// we use a listener, and not the internal "controlled" change handlers because we don't actually want consumers
|
4
|
+
// to control the state outside the table. this listener is really here to let the consumer make a server request
|
5
|
+
// and provide the server with the sorting state, so that it can sort server side
|
6
|
+
function useSortingStateListener(table, onSort) {
|
7
|
+
const sorting = table.getState().sorting;
|
8
|
+
useLazyEffect(() => {
|
9
|
+
table.resetRowSelection();
|
10
|
+
if (table.options.enableSorting && typeof onSort === 'function') {
|
11
|
+
onSort(sorting);
|
12
|
+
}
|
13
|
+
}, [table.options.enableSorting, sorting]);
|
14
|
+
}
|
15
|
+
|
16
|
+
export { useSortingStateListener };
|
17
|
+
//# sourceMappingURL=useSortingStateListener.js.map
|
package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSortingStateListener.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useSortingStateListener.js","sources":["../../../../../../../../../src/components/Table3/hooks/listeners/useSortingStateListener.ts"],"sourcesContent":["import { Table as RTable } from '@tanstack/react-table';\nimport { Table3SortHandler } from '../../types';\nimport { useLazyEffect } from '../../../../hooks/useLazyEffect';\n\n// we use a listener, and not the internal \"controlled\" change handlers because we don't actually want consumers\n// to control the state outside the table. this listener is really here to let the consumer make a server request\n// and provide the server with the sorting state, so that it can sort server side\nexport function useSortingStateListener<TType = unknown>(table: RTable<TType>, onSort?: Table3SortHandler) {\n const sorting = table.getState().sorting;\n\n useLazyEffect(() => {\n table.resetRowSelection();\n\n if (table.options.enableSorting && typeof onSort === 'function') {\n onSort(sorting);\n }\n }, [table.options.enableSorting, sorting]);\n}\n"],"names":["useSortingStateListener","table","onSort","sorting","getState","useLazyEffect","resetRowSelection","options","enableSorting"],"mappings":";;AAIA;AACA;AACA;SACgBA,uBAAuB,CAAkBC,KAAoB,EAAEC,MAA0B;EACrG,MAAMC,OAAO,GAAGF,KAAK,CAACG,QAAQ,EAAE,CAACD,OAAO;EAExCE,aAAa,CAAC;IACVJ,KAAK,CAACK,iBAAiB,EAAE;IAEzB,IAAIL,KAAK,CAACM,OAAO,CAACC,aAAa,IAAI,OAAON,MAAM,KAAK,UAAU,EAAE;MAC7DA,MAAM,CAACC,OAAO,CAAC;;GAEtB,EAAE,CAACF,KAAK,CAACM,OAAO,CAACC,aAAa,EAAEL,OAAO,CAAC,CAAC;AAC9C;;;;"}
|
@@ -0,0 +1,116 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { createColumnHelper } from '@tanstack/react-table';
|
3
|
+
import { MIN_COLUMN_SIZE } from '../components/columns/styles.js';
|
4
|
+
import { Header } from '../components/columns/header/Header.js';
|
5
|
+
import { Footer } from '../components/columns/footer/Footer.js';
|
6
|
+
import { createRowActionsColumn } from '../components/columns/internal/Actions.js';
|
7
|
+
import { createRowEditingActionsColumn } from '../components/columns/internal/EditingActions.js';
|
8
|
+
import { Cell } from '../components/columns/cell/Cell.js';
|
9
|
+
import { createRowSelectionColumn } from '../components/columns/internal/Selection.js';
|
10
|
+
import { createRowExpansionColumn } from '../components/columns/internal/Expansion.js';
|
11
|
+
import { createRowDragColumn } from '../components/columns/internal/Drag.js';
|
12
|
+
|
13
|
+
function getSortingFn(dataType, customFnOrBuiltIn) {
|
14
|
+
if (typeof customFnOrBuiltIn === 'function') {
|
15
|
+
return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);
|
16
|
+
}
|
17
|
+
// if a built in is being used, just return that
|
18
|
+
if (customFnOrBuiltIn) {
|
19
|
+
return customFnOrBuiltIn;
|
20
|
+
}
|
21
|
+
// some times we alias based on the type
|
22
|
+
if (dataType && dataType !== 'boolean') {
|
23
|
+
return dataType;
|
24
|
+
}
|
25
|
+
// otherwise fall back to auto
|
26
|
+
return 'auto';
|
27
|
+
}
|
28
|
+
function useConvertChildrenToColumns(props, options, editing) {
|
29
|
+
var _props$actionsForRow;
|
30
|
+
const columnHelper = createColumnHelper();
|
31
|
+
const columns = [];
|
32
|
+
const defaultColumnSizing = {};
|
33
|
+
const defaultColumnVisibility = {};
|
34
|
+
const defaultSorting = [];
|
35
|
+
React__default.Children.toArray(props.children).filter(child => !!child) // remove falsey children
|
36
|
+
.forEach(child => {
|
37
|
+
if ( /*#__PURE__*/React__default.isValidElement(child) && child.props.accessor) {
|
38
|
+
var _child$props$enableRe, _child$props$enableFi, _child$props$enableSo, _child$props$enableHi, _child$props$enableOr, _child$props$enableSe, _child$props$enableTr;
|
39
|
+
if (child.props.defaultWidth) {
|
40
|
+
defaultColumnSizing[child.props.accessor] = child.props.defaultWidth === 'grow' ? '1fr' : child.props.defaultWidth;
|
41
|
+
}
|
42
|
+
if (child.props.defaultHidden && options.enableColumnHiding) {
|
43
|
+
defaultColumnVisibility[child.props.accessor] = false;
|
44
|
+
}
|
45
|
+
if (child.props.sort !== undefined) {
|
46
|
+
defaultSorting.push({
|
47
|
+
id: child.props.accessor,
|
48
|
+
desc: child.props.sort === 'desc'
|
49
|
+
});
|
50
|
+
}
|
51
|
+
columns.push({
|
52
|
+
accessorKey: child.props.accessor,
|
53
|
+
id: child.props.accessor,
|
54
|
+
header: Header,
|
55
|
+
cell: Cell,
|
56
|
+
footer: Footer,
|
57
|
+
// sizing
|
58
|
+
minSize: MIN_COLUMN_SIZE,
|
59
|
+
enableResizing: (_child$props$enableRe = child.props.enableResizing) !== null && _child$props$enableRe !== void 0 ? _child$props$enableRe : true,
|
60
|
+
// filtering
|
61
|
+
enableColumnFilter: (_child$props$enableFi = child.props.enableFiltering) !== null && _child$props$enableFi !== void 0 ? _child$props$enableFi : true,
|
62
|
+
filterFn: options.enableFiltering ? 'tacoFilter' : undefined,
|
63
|
+
// sorting
|
64
|
+
enableSorting: (_child$props$enableSo = child.props.enableSorting) !== null && _child$props$enableSo !== void 0 ? _child$props$enableSo : true,
|
65
|
+
sortingFn: getSortingFn(child.props.dataType, child.props.sortFn),
|
66
|
+
sortDescFirst: false,
|
67
|
+
sortUndefined: 1,
|
68
|
+
// visibility
|
69
|
+
enableHiding: (_child$props$enableHi = child.props.enableHiding) !== null && _child$props$enableHi !== void 0 ? _child$props$enableHi : true,
|
70
|
+
// custom options
|
71
|
+
meta: {
|
72
|
+
align: child.props.align,
|
73
|
+
className: child.props.className,
|
74
|
+
control: child.props.control,
|
75
|
+
dataType: child.props.dataType,
|
76
|
+
enableOrdering: (_child$props$enableOr = child.props.enableOrdering) !== null && _child$props$enableOr !== void 0 ? _child$props$enableOr : true,
|
77
|
+
// react-table global filtering only samples from row 0 in a dataset for filtering and this
|
78
|
+
// leads to some columns being disabled if, e.g., a column in row 0 has an undefined value
|
79
|
+
// so we do not use the native enableGlobalFilter property and instead use our own enableSearch
|
80
|
+
enableSearch: (_child$props$enableSe = child.props.enableSearch) !== null && _child$props$enableSe !== void 0 ? _child$props$enableSe : true,
|
81
|
+
enableTruncate: (_child$props$enableTr = child.props.enableTruncate) !== null && _child$props$enableTr !== void 0 ? _child$props$enableTr : false,
|
82
|
+
footer: child.props.footer,
|
83
|
+
header: child.props.header,
|
84
|
+
headerClassName: child.props.headerClassName,
|
85
|
+
menu: child.props.menu,
|
86
|
+
renderer: child.props.renderer,
|
87
|
+
tooltip: child.props.tooltip
|
88
|
+
}
|
89
|
+
});
|
90
|
+
}
|
91
|
+
});
|
92
|
+
if (options.enableRowExpansion && props.expandedRowRenderer) {
|
93
|
+
columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));
|
94
|
+
}
|
95
|
+
if (options.enableRowSelection) {
|
96
|
+
columns.unshift(columnHelper.display(createRowSelectionColumn(options.enableRowDrag ? props.onRowDrag : undefined)));
|
97
|
+
}
|
98
|
+
if (options.enableRowDrag && props.onRowDrag) {
|
99
|
+
columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));
|
100
|
+
}
|
101
|
+
if ((_props$actionsForRow = props.actionsForRow) !== null && _props$actionsForRow !== void 0 && _props$actionsForRow.length) {
|
102
|
+
columns.push(columnHelper.display(createRowActionsColumn(props.actionsForRow, props.actionsForRowLength)));
|
103
|
+
}
|
104
|
+
if (editing.isEnabled && editing.isEditing) {
|
105
|
+
columns.push(columnHelper.display(createRowEditingActionsColumn()));
|
106
|
+
}
|
107
|
+
return {
|
108
|
+
columns,
|
109
|
+
defaultColumnSizing,
|
110
|
+
defaultColumnVisibility,
|
111
|
+
defaultSorting
|
112
|
+
};
|
113
|
+
}
|
114
|
+
|
115
|
+
export { useConvertChildrenToColumns };
|
116
|
+
//# sourceMappingURL=useConvertChildrenToColumns.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useConvertChildrenToColumns.js","sources":["../../../../../../../../src/components/Table3/hooks/useConvertChildrenToColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { ColumnDef, ColumnSizingState, createColumnHelper, ColumnSort, VisibilityState } from '@tanstack/react-table';\nimport { Table3ColumnProps, Table3Props, Table3Options, Table3ColumnDataType, Table3SortFn } from '../types';\nimport { Header } from '../components/columns/header/Header';\nimport { Footer } from '../components/columns/footer/Footer';\nimport { Cell } from '../components/columns/cell/Cell';\nimport { createRowSelectionColumn } from '../components/columns/internal/Selection';\nimport { MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { createRowActionsColumn } from '../components/columns/internal/Actions';\nimport { createRowExpansionColumn } from '../components/columns/internal/Expansion';\nimport { createRowDragColumn } from '../components/columns/internal/Drag';\nimport { createRowEditingActionsColumn } from '../components/columns/internal/EditingActions';\nimport { useEditing } from './features/useEditing';\n\nfunction getSortingFn<TType = unknown>(dataType?: Table3ColumnDataType, customFnOrBuiltIn?: Table3SortFn<TType>) {\n if (typeof customFnOrBuiltIn === 'function') {\n return (rowA, rowB, columnId) => customFnOrBuiltIn(rowA.original, rowB.original, columnId);\n }\n\n // if a built in is being used, just return that\n if (customFnOrBuiltIn) {\n return customFnOrBuiltIn;\n }\n\n // some times we alias based on the type\n if (dataType && dataType !== 'boolean') {\n return dataType;\n }\n\n // otherwise fall back to auto\n return 'auto';\n}\n\nexport function useConvertChildrenToColumns<TType = unknown>(\n props: Table3Props<TType>,\n options: Table3Options,\n editing: ReturnType<typeof useEditing>\n) {\n const columnHelper = createColumnHelper<TType>();\n\n const columns: ColumnDef<TType>[] = [];\n const defaultColumnSizing: ColumnSizingState = {};\n const defaultColumnVisibility: VisibilityState = {};\n const defaultSorting: ColumnSort[] = [];\n\n (React.Children.toArray(props.children) as React.ReactElement<Table3ColumnProps<TType>>[])\n .filter(child => !!child) // remove falsey children\n .forEach(child => {\n if (React.isValidElement<Table3ColumnProps<TType>>(child) && child.props.accessor) {\n if (child.props.defaultWidth) {\n defaultColumnSizing[child.props.accessor] =\n child.props.defaultWidth === 'grow' ? '1fr' : (child.props.defaultWidth as any);\n }\n\n if (child.props.defaultHidden && options.enableColumnHiding) {\n defaultColumnVisibility[child.props.accessor] = false;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id: child.props.accessor,\n desc: child.props.sort === 'desc',\n });\n }\n\n columns.push({\n accessorKey: child.props.accessor,\n id: child.props.accessor,\n header: Header,\n cell: Cell,\n footer: Footer,\n // sizing\n minSize: MIN_COLUMN_SIZE,\n enableResizing: child.props.enableResizing ?? true,\n // filtering\n enableColumnFilter: child.props.enableFiltering ?? true,\n filterFn: options.enableFiltering ? ('tacoFilter' as any) : undefined,\n // sorting\n enableSorting: child.props.enableSorting ?? true,\n sortingFn: getSortingFn<TType>(child.props.dataType, child.props.sortFn),\n sortDescFirst: false,\n sortUndefined: 1,\n // visibility\n enableHiding: child.props.enableHiding ?? true,\n // custom options\n meta: {\n align: child.props.align,\n className: child.props.className,\n control: child.props.control,\n dataType: child.props.dataType,\n enableOrdering: child.props.enableOrdering ?? true,\n // react-table global filtering only samples from row 0 in a dataset for filtering and this\n // leads to some columns being disabled if, e.g., a column in row 0 has an undefined value\n // so we do not use the native enableGlobalFilter property and instead use our own enableSearch\n enableSearch: child.props.enableSearch ?? true,\n enableTruncate: child.props.enableTruncate ?? false,\n footer: child.props.footer,\n header: child.props.header,\n headerClassName: child.props.headerClassName,\n menu: child.props.menu,\n renderer: child.props.renderer,\n tooltip: child.props.tooltip,\n },\n });\n }\n });\n\n if (options.enableRowExpansion && props.expandedRowRenderer) {\n columns.unshift(columnHelper.display(createRowExpansionColumn(props.expandedRowRenderer)));\n }\n\n if (options.enableRowSelection) {\n columns.unshift(\n columnHelper.display(createRowSelectionColumn<TType>(options.enableRowDrag ? props.onRowDrag : undefined))\n );\n }\n\n if (options.enableRowDrag && props.onRowDrag) {\n columns.unshift(columnHelper.display(createRowDragColumn(props.onRowDrag)));\n }\n\n if (props.actionsForRow?.length) {\n columns.push(columnHelper.display(createRowActionsColumn<TType>(props.actionsForRow, props.actionsForRowLength)));\n }\n\n if (editing.isEnabled && editing.isEditing) {\n columns.push(columnHelper.display(createRowEditingActionsColumn<TType>()));\n }\n\n return { columns, defaultColumnSizing, defaultColumnVisibility, defaultSorting };\n}\n"],"names":["getSortingFn","dataType","customFnOrBuiltIn","rowA","rowB","columnId","original","useConvertChildrenToColumns","props","options","editing","columnHelper","createColumnHelper","columns","defaultColumnSizing","defaultColumnVisibility","defaultSorting","React","Children","toArray","children","filter","child","forEach","isValidElement","accessor","defaultWidth","defaultHidden","enableColumnHiding","sort","undefined","push","id","desc","accessorKey","header","Header","cell","Cell","footer","Footer","minSize","MIN_COLUMN_SIZE","enableResizing","enableColumnFilter","enableFiltering","filterFn","enableSorting","sortingFn","sortFn","sortDescFirst","sortUndefined","enableHiding","meta","align","className","control","enableOrdering","enableSearch","enableTruncate","headerClassName","menu","renderer","tooltip","enableRowExpansion","expandedRowRenderer","unshift","display","createRowExpansionColumn","enableRowSelection","createRowSelectionColumn","enableRowDrag","onRowDrag","createRowDragColumn","actionsForRow","length","createRowActionsColumn","actionsForRowLength","isEnabled","isEditing","createRowEditingActionsColumn"],"mappings":"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"}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { isInternalColumn } from '../util/columns.js';
|
3
|
+
import { MIN_COLUMN_SIZE } from '../components/columns/styles.js';
|
4
|
+
import { COLUMN_ID } from '../components/columns/internal/Actions.js';
|
5
|
+
|
6
|
+
const useCssGrid = table => {
|
7
|
+
const allVisibleColumns = table.getVisibleLeafColumns();
|
8
|
+
const columnSizing = table.getState().columnSizing;
|
9
|
+
const length = table.getRowModel().rows.length;
|
10
|
+
const gridTemplateColumns = React__default.useMemo(() => {
|
11
|
+
return allVisibleColumns.reduce((accum, column, index) => {
|
12
|
+
let size;
|
13
|
+
const isLastColumn = index === allVisibleColumns.length - 1;
|
14
|
+
// column has a getSize function, but it always returns a default value (150), and we want the
|
15
|
+
// first render to use auto layout - so we get the size directly from table state where it is undefined
|
16
|
+
const width = columnSizing[column.id];
|
17
|
+
if (isInternalColumn(column.id)) {
|
18
|
+
if (column.id === COLUMN_ID) {
|
19
|
+
// it's important to set a min width so that when the the column width is maintained
|
20
|
+
// when the current row is scrolled out of the virtualisation view
|
21
|
+
size = `minmax(${column.getSize()}px, auto)`;
|
22
|
+
} else {
|
23
|
+
size = `${column.getSize()}px`;
|
24
|
+
}
|
25
|
+
} else if (width !== undefined) {
|
26
|
+
if (width === '1fr') {
|
27
|
+
size = 'minmax(max-content, 1fr)';
|
28
|
+
} else if (isLastColumn) {
|
29
|
+
size = `minmax(${width}px, auto)`;
|
30
|
+
} else if (width < MIN_COLUMN_SIZE) {
|
31
|
+
// the react-table getResizeHandler function does not respect the minSize property on columns, it is possible
|
32
|
+
// to go below the minSize - so we have to prevent it entirely on the grid layout
|
33
|
+
size = `${MIN_COLUMN_SIZE}px`;
|
34
|
+
} else {
|
35
|
+
size = `${width}px`;
|
36
|
+
}
|
37
|
+
} else {
|
38
|
+
size = 'minmax(max-content, auto)';
|
39
|
+
}
|
40
|
+
return `${accum} ${size}`.trim();
|
41
|
+
}, '');
|
42
|
+
}, [allVisibleColumns, columnSizing]);
|
43
|
+
const gridTemplateRows = React__default.useMemo(() => {
|
44
|
+
return `min-content repeat(${length}, min-content) 1fr min-content`;
|
45
|
+
}, [length]);
|
46
|
+
const style = {
|
47
|
+
gridTemplateColumns,
|
48
|
+
gridTemplateRows
|
49
|
+
};
|
50
|
+
return {
|
51
|
+
style
|
52
|
+
};
|
53
|
+
};
|
54
|
+
|
55
|
+
export { useCssGrid };
|
56
|
+
//# sourceMappingURL=useCssGrid.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useCssGrid.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssGrid.ts"],"sourcesContent":["import React from 'react';\nimport { Table as RTable } from '@tanstack/react-table';\nimport { isInternalColumn } from '../util/columns';\nimport { MIN_COLUMN_SIZE } from '../components/columns/styles';\nimport { COLUMN_ID as ACTIONS_COLUMN_ID } from '../components/columns/internal/Actions';\n\nexport const useCssGrid = <TType = unknown>(table: RTable<TType>) => {\n const allVisibleColumns = table.getVisibleLeafColumns();\n const columnSizing = table.getState().columnSizing;\n const length = table.getRowModel().rows.length;\n\n const gridTemplateColumns = React.useMemo(() => {\n return allVisibleColumns.reduce((accum, column, index) => {\n let size;\n const isLastColumn = index === allVisibleColumns.length - 1;\n // column has a getSize function, but it always returns a default value (150), and we want the\n // first render to use auto layout - so we get the size directly from table state where it is undefined\n const width = columnSizing[column.id] as number | '1fr';\n\n if (isInternalColumn(column.id)) {\n if (column.id === ACTIONS_COLUMN_ID) {\n // it's important to set a min width so that when the the column width is maintained\n // when the current row is scrolled out of the virtualisation view\n size = `minmax(${column.getSize()}px, auto)`;\n } else {\n size = `${column.getSize()}px`;\n }\n } else if (width !== undefined) {\n if (width === '1fr') {\n size = 'minmax(max-content, 1fr)';\n } else if (isLastColumn) {\n size = `minmax(${width}px, auto)`;\n } else if (width < MIN_COLUMN_SIZE) {\n // the react-table getResizeHandler function does not respect the minSize property on columns, it is possible\n // to go below the minSize - so we have to prevent it entirely on the grid layout\n size = `${MIN_COLUMN_SIZE}px`;\n } else {\n size = `${width}px`;\n }\n } else {\n size = 'minmax(max-content, auto)';\n }\n\n return `${accum} ${size}`.trim();\n }, '');\n }, [allVisibleColumns, columnSizing]);\n\n const gridTemplateRows = React.useMemo(() => {\n return `min-content repeat(${length}, min-content) 1fr min-content`;\n }, [length]);\n\n const style: React.CSSProperties = {\n gridTemplateColumns,\n gridTemplateRows,\n };\n\n return { style };\n};\n"],"names":["useCssGrid","table","allVisibleColumns","getVisibleLeafColumns","columnSizing","getState","length","getRowModel","rows","gridTemplateColumns","React","useMemo","reduce","accum","column","index","size","isLastColumn","width","id","isInternalColumn","ACTIONS_COLUMN_ID","getSize","undefined","MIN_COLUMN_SIZE","trim","gridTemplateRows","style"],"mappings":";;;;;MAMaA,UAAU,GAAqBC,KAAoB;EAC5D,MAAMC,iBAAiB,GAAGD,KAAK,CAACE,qBAAqB,EAAE;EACvD,MAAMC,YAAY,GAAGH,KAAK,CAACI,QAAQ,EAAE,CAACD,YAAY;EAClD,MAAME,MAAM,GAAGL,KAAK,CAACM,WAAW,EAAE,CAACC,IAAI,CAACF,MAAM;EAE9C,MAAMG,mBAAmB,GAAGC,cAAK,CAACC,OAAO,CAAC;IACtC,OAAOT,iBAAiB,CAACU,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,EAAEC,KAAK;MACjD,IAAIC,IAAI;MACR,MAAMC,YAAY,GAAGF,KAAK,KAAKb,iBAAiB,CAACI,MAAM,GAAG,CAAC;;;MAG3D,MAAMY,KAAK,GAAGd,YAAY,CAACU,MAAM,CAACK,EAAE,CAAmB;MAEvD,IAAIC,gBAAgB,CAACN,MAAM,CAACK,EAAE,CAAC,EAAE;QAC7B,IAAIL,MAAM,CAACK,EAAE,KAAKE,SAAiB,EAAE;;;UAGjCL,IAAI,aAAaF,MAAM,CAACQ,OAAO,aAAa;SAC/C,MAAM;UACHN,IAAI,MAAMF,MAAM,CAACQ,OAAO,MAAM;;OAErC,MAAM,IAAIJ,KAAK,KAAKK,SAAS,EAAE;QAC5B,IAAIL,KAAK,KAAK,KAAK,EAAE;UACjBF,IAAI,GAAG,0BAA0B;SACpC,MAAM,IAAIC,YAAY,EAAE;UACrBD,IAAI,aAAaE,gBAAgB;SACpC,MAAM,IAAIA,KAAK,GAAGM,eAAe,EAAE;;;UAGhCR,IAAI,MAAMQ,mBAAmB;SAChC,MAAM;UACHR,IAAI,MAAME,SAAS;;OAE1B,MAAM;QACHF,IAAI,GAAG,2BAA2B;;MAGtC,UAAUH,SAASG,MAAM,CAACS,IAAI,EAAE;KACnC,EAAE,EAAE,CAAC;GACT,EAAE,CAACvB,iBAAiB,EAAEE,YAAY,CAAC,CAAC;EAErC,MAAMsB,gBAAgB,GAAGhB,cAAK,CAACC,OAAO,CAAC;IACnC,6BAA6BL,sCAAsC;GACtE,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMqB,KAAK,GAAwB;IAC/BlB,mBAAmB;IACnBiB;GACH;EAED,OAAO;IAAEC;GAAO;AACpB;;;;"}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
// we cannot just use a fixed height because our rows need to grow in height (images, edit mode validation etc)
|
2
|
+
const getRowHeightSizing = (height, fontSize) => {
|
3
|
+
// TODO: can we get the rem values from tailwind
|
4
|
+
switch (height) {
|
5
|
+
case 'short':
|
6
|
+
{
|
7
|
+
switch (fontSize) {
|
8
|
+
case 'small':
|
9
|
+
return '8px';
|
10
|
+
default:
|
11
|
+
return '6px';
|
12
|
+
// py-1.5
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
case 'tall':
|
17
|
+
{
|
18
|
+
switch (fontSize) {
|
19
|
+
case 'small':
|
20
|
+
return '16px';
|
21
|
+
case 'large':
|
22
|
+
return '12px';
|
23
|
+
default:
|
24
|
+
return '14px';
|
25
|
+
}
|
26
|
+
}
|
27
|
+
case 'extra-tall':
|
28
|
+
{
|
29
|
+
switch (fontSize) {
|
30
|
+
case 'small':
|
31
|
+
return '22px';
|
32
|
+
case 'large':
|
33
|
+
return '18px';
|
34
|
+
default:
|
35
|
+
return '20px';
|
36
|
+
}
|
37
|
+
}
|
38
|
+
default:
|
39
|
+
{
|
40
|
+
switch (fontSize) {
|
41
|
+
case 'small':
|
42
|
+
return '12px';
|
43
|
+
case 'large':
|
44
|
+
return '8px';
|
45
|
+
default:
|
46
|
+
return '10px';
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
};
|
51
|
+
const useCssVars = (height, fontSize) => {
|
52
|
+
const style = {
|
53
|
+
'--table3-row-padding': getRowHeightSizing(height, fontSize)
|
54
|
+
};
|
55
|
+
return {
|
56
|
+
style
|
57
|
+
};
|
58
|
+
};
|
59
|
+
|
60
|
+
export { useCssVars };
|
61
|
+
//# sourceMappingURL=useCssVars.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useCssVars.js","sources":["../../../../../../../../src/components/Table3/hooks/useCssVars.ts"],"sourcesContent":["import { Table3FontSize, Table3RowHeight } from '../types';\n\n// we cannot just use a fixed height because our rows need to grow in height (images, edit mode validation etc)\nconst getRowHeightSizing = (height: Table3RowHeight, fontSize: Table3FontSize) => {\n // TODO: can we get the rem values from tailwind\n switch (height) {\n case 'short': {\n switch (fontSize) {\n case 'small':\n return '8px';\n\n default:\n return '6px'; // py-1.5\n }\n }\n\n case 'tall': {\n switch (fontSize) {\n case 'small':\n return '16px';\n\n case 'large':\n return '12px';\n\n default:\n return '14px';\n }\n }\n\n case 'extra-tall': {\n switch (fontSize) {\n case 'small':\n return '22px';\n\n case 'large':\n return '18px';\n\n default:\n return '20px';\n }\n }\n\n default: {\n switch (fontSize) {\n case 'small':\n return '12px';\n\n case 'large':\n return '8px';\n\n default:\n return '10px';\n }\n }\n }\n};\n\nexport const useCssVars = (height: Table3RowHeight, fontSize: Table3FontSize) => {\n const style = {\n '--table3-row-padding': getRowHeightSizing(height, fontSize),\n };\n\n return { style };\n};\n"],"names":["getRowHeightSizing","height","fontSize","useCssVars","style"],"mappings":"AAEA;AACA,MAAMA,kBAAkB,GAAG,CAACC,MAAuB,EAAEC,QAAwB;;EAEzE,QAAQD,MAAM;IACV,KAAK,OAAO;MAAE;QACV,QAAQC,QAAQ;UACZ,KAAK,OAAO;YACR,OAAO,KAAK;UAEhB;YACI,OAAO,KAAK;;;;;IAIxB,KAAK,MAAM;MAAE;QACT,QAAQA,QAAQ;UACZ,KAAK,OAAO;YACR,OAAO,MAAM;UAEjB,KAAK,OAAO;YACR,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB,KAAK,YAAY;MAAE;QACf,QAAQA,QAAQ;UACZ,KAAK,OAAO;YACR,OAAO,MAAM;UAEjB,KAAK,OAAO;YACR,OAAO,MAAM;UAEjB;YACI,OAAO,MAAM;;;IAIzB;MAAS;QACL,QAAQA,QAAQ;UACZ,KAAK,OAAO;YACR,OAAO,MAAM;UAEjB,KAAK,OAAO;YACR,OAAO,KAAK;UAEhB;YACI,OAAO,MAAM;;;;AAIjC,CAAC;MAEYC,UAAU,GAAG,CAACF,MAAuB,EAAEC,QAAwB;EACxE,MAAME,KAAK,GAAG;IACV,sBAAsB,EAAEJ,kBAAkB,CAACC,MAAM,EAAEC,QAAQ;GAC9D;EAED,OAAO;IAAEE;GAAO;AACpB;;;;"}
|