@economic/taco 1.40.3 → 2.0.0-alpha.173
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/IconButton/IconButton.d.ts +3 -3
- 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 +55 -20
- package/dist/components/RadioGroup/util.d.ts +1 -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/Table3/Table3.d.ts +11 -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/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/{Table2/components/ColumnSettingsButton.d.ts → Table3/components/toolbar/ColumnSettings.d.ts} +1 -1
- 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 +311 -0
- package/dist/components/Table3/util/columns.d.ts +7 -0
- package/dist/components/{Table2/components/column/utils.d.ts → Table3/util/editing.d.ts} +2 -1
- package/dist/components/Table3/util/filtering.d.ts +3 -0
- package/dist/components/Tabs/Tabs.d.ts +2 -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/Alert/Alert.js +1 -0
- package/dist/esm/packages/taco/src/components/Alert/Alert.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +3 -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/IconButton/IconButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Input/Input.js +1 -1
- package/dist/esm/packages/taco/src/components/Input/Input.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 +56 -21
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js +2 -7
- package/dist/esm/packages/taco/src/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/packages/taco/src/components/RadioGroup/util.js +14 -0
- package/dist/esm/packages/taco/src/components/RadioGroup/util.js.map +1 -0
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +4 -0
- 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 +3 -1
- 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/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 +128 -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 +283 -0
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -0
- package/dist/esm/packages/taco/src/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.js +14 -13
- 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 +223 -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/{Table2/hooks/useTableShortcuts.js → Table3/hooks/listeners/useShortcutsListener.js} +9 -6
- 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/{Table2/components/column/utils.js → Table3/util/editing.js} +7 -5
- package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -0
- package/dist/esm/packages/taco/src/components/{Table2/utilities/filterFn.js → Table3/util/filtering.js} +19 -17
- package/dist/esm/packages/taco/src/components/Table3/util/filtering.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Tabs/Tabs.js +9 -1
- package/dist/esm/packages/taco/src/components/Tabs/Tabs.js.map +1 -1
- 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 +6 -3
- 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/dom.js +1 -2
- package/dist/esm/packages/taco/src/utils/dom.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 -1
- package/dist/taco.cjs.development.js +4654 -3365
- 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 +8 -10
- package/tailwind.config.js +0 -1
- package/types.json +1874 -1408
- package/dist/components/Table2/Table2.d.ts +0 -130
- package/dist/components/Table2/components/BatchActionsMenu.d.ts +0 -10
- package/dist/components/Table2/components/EditModeButton.d.ts +0 -8
- package/dist/components/Table2/components/RowDensityButton.d.ts +0 -7
- package/dist/components/Table2/components/Search.d.ts +0 -3
- package/dist/components/Table2/components/ShortcutsGuideButton.d.ts +0 -7
- package/dist/components/Table2/components/column/Base.d.ts +0 -14
- package/dist/components/Table2/components/column/Cell.d.ts +0 -15
- package/dist/components/Table2/components/column/Footer.d.ts +0 -9
- package/dist/components/Table2/components/column/Header.d.ts +0 -11
- package/dist/components/Table2/components/column/ValidationError.d.ts +0 -5
- package/dist/components/Table2/components/filters/FiltersButton.d.ts +0 -7
- package/dist/components/Table2/components/filters/components/Column.d.ts +0 -11
- package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +0 -10
- package/dist/components/Table2/components/filters/components/Comparator.d.ts +0 -11
- package/dist/components/Table2/components/filters/components/EmptyFilter.d.ts +0 -13
- package/dist/components/Table2/components/filters/components/InferredControl.d.ts +0 -10
- package/dist/components/Table2/components/row/Context.d.ts +0 -24
- package/dist/components/Table2/components/row/ExpandedRow.d.ts +0 -6
- package/dist/components/Table2/components/row/Row.d.ts +0 -2
- package/dist/components/Table2/hooks/listeners/useActiveCellStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useActiveRowStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useColumnOffsetStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useFilterStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useRowSelectionListener.d.ts +0 -3
- package/dist/components/Table2/hooks/listeners/useSettingsStateListener.d.ts +0 -3
- package/dist/components/Table2/hooks/useActiveCell.d.ts +0 -26
- package/dist/components/Table2/hooks/useActiveRow.d.ts +0 -10
- package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +0 -37
- package/dist/components/Table2/hooks/useEditMode.d.ts +0 -28
- package/dist/components/Table2/hooks/useGridTemplate.d.ts +0 -2
- package/dist/components/Table2/hooks/useTable.d.ts +0 -46
- package/dist/components/Table2/hooks/useTableShortcuts.d.ts +0 -2
- package/dist/components/Table2/hooks/useVirtualiser.d.ts +0 -23
- package/dist/components/Table2/types.d.ts +0 -148
- package/dist/components/Table2/utilities/cell.d.ts +0 -14
- package/dist/components/Table2/utilities/columns.d.ts +0 -16
- package/dist/components/Table2/utilities/filterFn.d.ts +0 -3
- 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/esm/packages/taco/src/components/Table2/Table2.js +0 -422
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js +0 -83
- package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +0 -116
- package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +0 -81
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +0 -35
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js +0 -62
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +0 -32
- package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +0 -600
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +0 -32
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +0 -243
- package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js +0 -30
- package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +0 -155
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js +0 -31
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +0 -129
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js +0 -68
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js +0 -63
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js +0 -99
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +0 -58
- package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js +0 -36
- package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +0 -43
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js +0 -19
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js +0 -28
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js +0 -12
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useFilterStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js +0 -18
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js +0 -25
- package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js +0 -33
- package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +0 -122
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js +0 -112
- package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +0 -34
- package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +0 -222
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js +0 -48
- package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/types.js +0 -18
- package/dist/esm/packages/taco/src/components/Table2/types.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +0 -41
- package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +0 -387
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +0 -1
- package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +0 -32
- package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +0 -1
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +0 -20
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.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/components/{Table2/components/column → Table3/components/columns/cell}/Indicator.d.ts +0 -0
@@ -0,0 +1,134 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { Tooltip } from '../../../../Tooltip/Tooltip.js';
|
4
|
+
import { isFrozenColumn, isInternalColumn } from '../../../util/columns.js';
|
5
|
+
import { isGotoAvailable, isMenuAvailable, Menu } from './Menu.js';
|
6
|
+
import { Resizer } from './Resizer.js';
|
7
|
+
import { getSortAttributes, SortIndicator } from './SortIndicator.js';
|
8
|
+
|
9
|
+
function Header(props) {
|
10
|
+
const {
|
11
|
+
children,
|
12
|
+
column,
|
13
|
+
header,
|
14
|
+
scrollToIndex,
|
15
|
+
table
|
16
|
+
} = props;
|
17
|
+
const tableMeta = table.options.meta;
|
18
|
+
const columnMeta = React__default.useMemo(() => column.columnDef.meta, []);
|
19
|
+
const canSort = column.getCanSort();
|
20
|
+
// passing header or column results in re-renders on scroll, so anything from those objects as memoed props
|
21
|
+
const handleResize = React__default.useMemo(() => header.getResizeHandler(), []);
|
22
|
+
const handleSort = React__default.useMemo(() => header.column.getToggleSortingHandler(), []);
|
23
|
+
const handleHide = React__default.useMemo(() => header.column.getToggleVisibilityHandler(), []);
|
24
|
+
const hasGoto = isGotoAvailable(table, header);
|
25
|
+
const sorting = table.getState().sorting;
|
26
|
+
const filters = table.getState().columnFilters;
|
27
|
+
const search = table.getState().globalFilter;
|
28
|
+
const handleGoto = React__default.useMemo(() => {
|
29
|
+
if (hasGoto) {
|
30
|
+
return query => tableMeta.rowGoto.handleGoto(header.id, query, sorting, filters, search);
|
31
|
+
}
|
32
|
+
return undefined;
|
33
|
+
}, [hasGoto, JSON.stringify(sorting), JSON.stringify(filters), search]);
|
34
|
+
const memoedProps = {
|
35
|
+
align: columnMeta.align,
|
36
|
+
canFreeze: tableMeta.columnFreezing.isEnabled,
|
37
|
+
canHide: column.getCanHide(),
|
38
|
+
canResize: column.getCanResize(),
|
39
|
+
canSort,
|
40
|
+
children: children !== null && children !== void 0 ? children : columnMeta.header,
|
41
|
+
hasMenu: isMenuAvailable(table, header),
|
42
|
+
id: header.id,
|
43
|
+
index: header.index,
|
44
|
+
isFrozen: isFrozenColumn(header.index, table),
|
45
|
+
isResizing: column.getIsResizing(),
|
46
|
+
length: table.getRowModel().rows.length,
|
47
|
+
meta: columnMeta,
|
48
|
+
onGoto: handleGoto,
|
49
|
+
onHide: handleHide,
|
50
|
+
onResize: handleResize,
|
51
|
+
onSort: handleSort,
|
52
|
+
scrollToIndex,
|
53
|
+
sortDirection: column.getIsSorted(),
|
54
|
+
table
|
55
|
+
};
|
56
|
+
return /*#__PURE__*/React__default.createElement(MemoedHeader, Object.assign({}, memoedProps));
|
57
|
+
}
|
58
|
+
const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(props) {
|
59
|
+
var _meta$tooltip;
|
60
|
+
const {
|
61
|
+
align,
|
62
|
+
children,
|
63
|
+
canFreeze,
|
64
|
+
canHide,
|
65
|
+
canResize,
|
66
|
+
canSort,
|
67
|
+
hasMenu,
|
68
|
+
id,
|
69
|
+
index,
|
70
|
+
isFrozen,
|
71
|
+
isResizing,
|
72
|
+
length,
|
73
|
+
meta,
|
74
|
+
onGoto: handleGoto,
|
75
|
+
onHide: handleHide,
|
76
|
+
onResize: handleResize,
|
77
|
+
onSort: handleSort,
|
78
|
+
scrollToIndex,
|
79
|
+
sortDirection,
|
80
|
+
table
|
81
|
+
} = props;
|
82
|
+
const className = cn('sticky top-0 border-b-2 font-bold h-10 box-content items-center group/column relative', '[[role="table"][data-resizing="true"]_&]:pointer-events-none', {
|
83
|
+
'cursor-pointer select-none': canSort,
|
84
|
+
'hover:bg-grey-100': canSort || canResize || hasMenu,
|
85
|
+
'!pointer-events-all !bg-grey-100': isResizing,
|
86
|
+
// z-indexes
|
87
|
+
'z-10 hover:z-20': !isFrozen && !isResizing,
|
88
|
+
'z-20': !isFrozen && isResizing,
|
89
|
+
'!z-30': isFrozen,
|
90
|
+
'!z-40': isFrozen && isResizing
|
91
|
+
}, meta.headerClassName);
|
92
|
+
const [internalRef, setInternalRef] = React__default.useState(null);
|
93
|
+
React__default.useLayoutEffect(() => {
|
94
|
+
if (internalRef && length) {
|
95
|
+
table.setColumnSizing(sizes => ({
|
96
|
+
...sizes,
|
97
|
+
[id]: internalRef.getBoundingClientRect().width
|
98
|
+
}));
|
99
|
+
}
|
100
|
+
}, [internalRef, length]);
|
101
|
+
if (table.options.debugAll) {
|
102
|
+
console.log('header render', id);
|
103
|
+
}
|
104
|
+
return /*#__PURE__*/React__default.createElement("div", Object.assign({}, canSort ? getSortAttributes(handleSort, sortDirection) : undefined, {
|
105
|
+
className: className,
|
106
|
+
"data-align": align,
|
107
|
+
"data-column-index": index,
|
108
|
+
role: "columnheader",
|
109
|
+
ref: setInternalRef
|
110
|
+
}), isInternalColumn(id) ? children : /*#__PURE__*/React__default.createElement(Tooltip, {
|
111
|
+
title: String((_meta$tooltip = meta === null || meta === void 0 ? void 0 : meta.tooltip) !== null && _meta$tooltip !== void 0 ? _meta$tooltip : children),
|
112
|
+
placement: "top"
|
113
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
114
|
+
className: "truncate"
|
115
|
+
}, children)), canSort ? /*#__PURE__*/React__default.createElement(SortIndicator, {
|
116
|
+
direction: sortDirection
|
117
|
+
}) : null, hasMenu ? /*#__PURE__*/React__default.createElement(Menu, {
|
118
|
+
canFreeze: canFreeze,
|
119
|
+
canHide: canHide,
|
120
|
+
className: "ml-auto hidden group-hover/column:flex aria-expanded:!flex",
|
121
|
+
index: index,
|
122
|
+
menu: meta.menu,
|
123
|
+
onGoto: handleGoto,
|
124
|
+
onHide: handleHide,
|
125
|
+
scrollToIndex: scrollToIndex,
|
126
|
+
table: table
|
127
|
+
}) : null, canResize ? /*#__PURE__*/React__default.createElement(Resizer, {
|
128
|
+
isResizing: isResizing,
|
129
|
+
onResize: handleResize
|
130
|
+
}) : null);
|
131
|
+
});
|
132
|
+
|
133
|
+
export { Header };
|
134
|
+
//# sourceMappingURL=Header.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Header.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/header/Header.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { ColumnMeta, HeaderContext, TableMeta } from '@tanstack/react-table';\nimport { Menu, isMenuAvailable, isGotoAvailable } from './Menu';\nimport { Resizer } from './Resizer';\nimport { ColumnAlignment, SortDirection, TableStrategy } from '../../../types';\nimport { getSortAttributes, SortIndicator } from './SortIndicator';\nimport { isFrozenColumn, isInternalColumn } from '../../../util/columns';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\n\nexport type HeaderProps<TType = unknown> = HeaderContext<TType, unknown> & {\n children?: string | JSX.Element;\n};\n\nexport function Header<TType = unknown>(props: HeaderProps<TType>) {\n const { children, column, header, scrollToIndex, table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n const columnMeta = React.useMemo(() => column.columnDef.meta, []) as ColumnMeta<TType, unknown>;\n const canSort = column.getCanSort();\n\n // passing header or column results in re-renders on scroll, so anything from those objects as memoed props\n const handleResize = React.useMemo(() => header.getResizeHandler(), []);\n const handleSort = React.useMemo(() => header.column.getToggleSortingHandler(), []);\n const handleHide = React.useMemo(() => header.column.getToggleVisibilityHandler(), []);\n const hasGoto = isGotoAvailable(table, header);\n\n const sorting = table.getState().sorting;\n const filters = table.getState().columnFilters;\n const search = table.getState().globalFilter;\n\n const handleGoto = React.useMemo(() => {\n if (hasGoto) {\n return ((query: string) => tableMeta.rowGoto.handleGoto(header.id, query, sorting, filters, search)) as (\n query: string\n ) => Promise<number>;\n }\n\n return undefined;\n }, [hasGoto, JSON.stringify(sorting), JSON.stringify(filters), search]);\n\n const memoedProps = {\n align: columnMeta.align,\n canFreeze: tableMeta.columnFreezing.isEnabled,\n canHide: column.getCanHide(),\n canResize: column.getCanResize(),\n canSort,\n children: children ?? columnMeta.header,\n hasMenu: isMenuAvailable<TType>(table, header),\n id: header.id,\n index: header.index,\n isFrozen: isFrozenColumn(header.index, table),\n isResizing: column.getIsResizing(),\n length: table.getRowModel().rows.length,\n meta: columnMeta,\n onGoto: handleGoto,\n onHide: handleHide,\n onResize: handleResize,\n onSort: handleSort as (event: unknown) => void,\n scrollToIndex,\n sortDirection: column.getIsSorted(),\n table,\n };\n\n return <MemoedHeader<TType> {...memoedProps} />;\n}\n\n// Memoization\nexport type MemoedHeaderProps<TType = unknown> = Omit<HeaderProps<TType>, 'column' | 'header'> & {\n align?: ColumnAlignment;\n canFreeze: boolean;\n canHide: boolean;\n canResize: boolean;\n canSort: boolean;\n hasMenu: boolean;\n id: string;\n index: number;\n isFrozen: boolean;\n isResizing: boolean;\n length: number;\n meta: ColumnMeta<TType, unknown>;\n onGoto?: (query: string) => Promise<number>;\n onHide: (event: unknown) => void;\n onResize: (event: unknown) => void;\n onSort: (event: unknown) => void;\n scrollToIndex: TableStrategy['scrollToIndex'];\n sortDirection: false | SortDirection;\n};\n\nconst MemoedHeader = React.memo(function MemoedHeader<TType = unknown>(props: MemoedHeaderProps<TType>) {\n const {\n align,\n children,\n canFreeze,\n canHide,\n canResize,\n canSort,\n hasMenu,\n id,\n index,\n isFrozen,\n isResizing,\n length,\n meta,\n onGoto: handleGoto,\n onHide: handleHide,\n onResize: handleResize,\n onSort: handleSort,\n scrollToIndex,\n sortDirection,\n table,\n } = props;\n\n const className = cn(\n 'sticky top-0 border-b-2 font-bold h-10 box-content items-center group/column relative',\n '[[role=\"table\"][data-resizing=\"true\"]_&]:pointer-events-none',\n {\n 'cursor-pointer select-none': canSort,\n 'hover:bg-grey-100': canSort || canResize || hasMenu,\n '!pointer-events-all !bg-grey-100': isResizing,\n // z-indexes\n 'z-10 hover:z-20': !isFrozen && !isResizing,\n 'z-20': !isFrozen && isResizing,\n '!z-30': isFrozen,\n '!z-40': isFrozen && isResizing,\n },\n meta.headerClassName\n );\n\n const [internalRef, setInternalRef] = React.useState<HTMLDivElement | null>(null);\n\n React.useLayoutEffect(() => {\n if (internalRef && length) {\n table.setColumnSizing(sizes => ({\n ...sizes,\n [id]: internalRef.getBoundingClientRect().width,\n }));\n }\n }, [internalRef, length]);\n\n if (table.options.debugAll) {\n console.log('header render', id);\n }\n\n return (\n <div\n {...(canSort ? getSortAttributes(handleSort, sortDirection) : undefined)}\n className={className}\n data-align={align}\n data-column-index={index}\n role=\"columnheader\"\n ref={setInternalRef}>\n {isInternalColumn(id) ? (\n children\n ) : (\n <Tooltip title={String(meta?.tooltip ?? children)} placement=\"top\">\n <span className=\"truncate\">{children}</span>\n </Tooltip>\n )}\n {canSort ? <SortIndicator direction={sortDirection} /> : null}\n {hasMenu ? (\n <Menu\n canFreeze={canFreeze}\n canHide={canHide}\n className=\"ml-auto hidden group-hover/column:flex aria-expanded:!flex\"\n index={index}\n menu={meta.menu}\n onGoto={handleGoto}\n onHide={handleHide}\n scrollToIndex={scrollToIndex}\n table={table}\n />\n ) : null}\n {canResize ? <Resizer isResizing={isResizing} onResize={handleResize} /> : null}\n </div>\n );\n}) as <TType = unknown>(props: MemoedHeaderProps<TType>) => JSX.Element;\n"],"names":["Header","props","children","column","header","scrollToIndex","table","tableMeta","options","meta","columnMeta","React","useMemo","columnDef","canSort","getCanSort","handleResize","getResizeHandler","handleSort","getToggleSortingHandler","handleHide","getToggleVisibilityHandler","hasGoto","isGotoAvailable","sorting","getState","filters","columnFilters","search","globalFilter","handleGoto","query","rowGoto","id","undefined","JSON","stringify","memoedProps","align","canFreeze","columnFreezing","isEnabled","canHide","getCanHide","canResize","getCanResize","hasMenu","isMenuAvailable","index","isFrozen","isFrozenColumn","isResizing","getIsResizing","length","getRowModel","rows","onGoto","onHide","onResize","onSort","sortDirection","getIsSorted","MemoedHeader","memo","className","cn","headerClassName","internalRef","setInternalRef","useState","useLayoutEffect","setColumnSizing","sizes","getBoundingClientRect","width","debugAll","console","log","getSortAttributes","role","ref","isInternalColumn","Tooltip","title","String","tooltip","placement","SortIndicator","direction","Menu","menu","Resizer"],"mappings":"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"}
|
@@ -0,0 +1,156 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { IconButton } from '../../../../IconButton/IconButton.js';
|
4
|
+
import { useLocalization } from '../../../../Provider/Localization.js';
|
5
|
+
import { Menu as Menu$1 } from '../../../../Menu/Menu.js';
|
6
|
+
import { _finallyRethrows, _catch } from '../../../../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
|
7
|
+
import { isInternalColumn } from '../../../util/columns.js';
|
8
|
+
import { GotoPopover } from './Goto.js';
|
9
|
+
|
10
|
+
function isGotoAvailable(table, header) {
|
11
|
+
if (isInternalColumn(header.id)) {
|
12
|
+
return false;
|
13
|
+
}
|
14
|
+
const tableMeta = table.options.meta;
|
15
|
+
return !!(tableMeta.rowGoto.isEnabled && header.column.getCanSort() && header.column.getIsSorted());
|
16
|
+
}
|
17
|
+
function isMenuAvailable(table, header) {
|
18
|
+
var _header$column$column;
|
19
|
+
if (isInternalColumn(header.id)) {
|
20
|
+
return false;
|
21
|
+
}
|
22
|
+
const tableMeta = table.options.meta;
|
23
|
+
return !!((_header$column$column = header.column.columnDef.meta) !== null && _header$column$column !== void 0 && _header$column$column.menu) || !!tableMeta.columnFreezing.isEnabled || !!table.options.enableHiding && !!header.column.getCanHide() || isGotoAvailable(table, header);
|
24
|
+
}
|
25
|
+
function getInitialFrozenIndex(table) {
|
26
|
+
const tableMeta = table.options.meta;
|
27
|
+
let index = 0;
|
28
|
+
if (tableMeta.rowDrag.isEnabled) {
|
29
|
+
index++;
|
30
|
+
}
|
31
|
+
if (table.options.enableRowSelection) {
|
32
|
+
index++;
|
33
|
+
}
|
34
|
+
if (table.options.enableExpanding) {
|
35
|
+
index++;
|
36
|
+
}
|
37
|
+
return index;
|
38
|
+
}
|
39
|
+
function Menu(props) {
|
40
|
+
const {
|
41
|
+
canFreeze,
|
42
|
+
canHide,
|
43
|
+
index,
|
44
|
+
menu,
|
45
|
+
onGoto: handleGoto,
|
46
|
+
onHide: handleHide,
|
47
|
+
scrollToIndex,
|
48
|
+
table
|
49
|
+
} = props;
|
50
|
+
const tableMeta = table.options.meta;
|
51
|
+
const {
|
52
|
+
texts
|
53
|
+
} = useLocalization();
|
54
|
+
const [popover, setPopover] = React__default.useState(undefined);
|
55
|
+
let popoverElement;
|
56
|
+
if (popover) {
|
57
|
+
const handleClosePopover = () => setPopover(undefined);
|
58
|
+
switch (popover) {
|
59
|
+
case 'goto':
|
60
|
+
{
|
61
|
+
if (handleGoto) {
|
62
|
+
const goto = function (query) {
|
63
|
+
try {
|
64
|
+
const _temp = _finallyRethrows(function () {
|
65
|
+
return _catch(function () {
|
66
|
+
return Promise.resolve(handleGoto(query)).then(function (index) {
|
67
|
+
tableMeta.currentRow.setCurrentRowIndex(index);
|
68
|
+
scrollToIndex(index + 2, {
|
69
|
+
align: 'center'
|
70
|
+
});
|
71
|
+
});
|
72
|
+
}, function () {});
|
73
|
+
}, function (_wasThrown, _result) {
|
74
|
+
handleClosePopover();
|
75
|
+
if (_wasThrown) throw _result;
|
76
|
+
return _result;
|
77
|
+
});
|
78
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
79
|
+
} catch (e) {
|
80
|
+
return Promise.reject(e);
|
81
|
+
}
|
82
|
+
};
|
83
|
+
popoverElement = props => /*#__PURE__*/React__default.createElement(GotoPopover, Object.assign({}, props, {
|
84
|
+
open: true,
|
85
|
+
onChange: handleClosePopover,
|
86
|
+
onGoto: goto
|
87
|
+
}));
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
const className = cn('-my-0.5 -mr-1 -ml-0.5 !h-6 !min-h-[theme(spacing.6)] !w-6 !min-w-[theme(spacing.6)] flex-shrink-0 justify-end', {
|
93
|
+
'!flex': !!popoverElement
|
94
|
+
}, props.className);
|
95
|
+
const memoedMenuItems = React__default.useMemo(() => {
|
96
|
+
const menuItems = [];
|
97
|
+
if (handleGoto) {
|
98
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
99
|
+
icon: "move",
|
100
|
+
onClick: () => setPopover('goto')
|
101
|
+
}, texts.table3.columns.menu.gotoRow, "..."));
|
102
|
+
}
|
103
|
+
if (canHide) {
|
104
|
+
// we do this in the next tick, otherwise the menu closes and react throws a "state update on unmounted component" error
|
105
|
+
const handleClick = event => setTimeout(() => handleHide(event), 1);
|
106
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
107
|
+
icon: "unreconciled",
|
108
|
+
onClick: handleClick
|
109
|
+
}, texts.table3.columns.menu.hideColumn));
|
110
|
+
}
|
111
|
+
if (canFreeze) {
|
112
|
+
const handleClick = () => {
|
113
|
+
tableMeta.columnFreezing.setFrozenColumnIndex(index);
|
114
|
+
};
|
115
|
+
const frozenIndex = index - getInitialFrozenIndex(table);
|
116
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
117
|
+
icon: "column-freeze",
|
118
|
+
onClick: handleClick
|
119
|
+
}, frozenIndex === 0 ? texts.table3.columns.menu.freezeFirstColumn : texts.table3.columns.menu.freezeUptoColumn.replace('[TOTAL]', String(frozenIndex + 1))));
|
120
|
+
if (tableMeta.columnFreezing.frozenColumnIndex !== undefined) {
|
121
|
+
const handleClick = () => {
|
122
|
+
tableMeta.columnFreezing.setFrozenColumnIndex(undefined);
|
123
|
+
};
|
124
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Item, {
|
125
|
+
icon: "column-unfreeze",
|
126
|
+
onClick: handleClick
|
127
|
+
}, texts.table3.columns.menu.unfreezeColumns));
|
128
|
+
}
|
129
|
+
}
|
130
|
+
if (menu) {
|
131
|
+
const customMenu = menu({
|
132
|
+
trigger: undefined
|
133
|
+
});
|
134
|
+
const customItems = React__default.Children.toArray(customMenu.props.children.props.children);
|
135
|
+
if (customItems.length) {
|
136
|
+
if (menuItems.length) {
|
137
|
+
menuItems.push( /*#__PURE__*/React__default.createElement(Menu$1.Separator, null));
|
138
|
+
}
|
139
|
+
menuItems.push(...customItems);
|
140
|
+
}
|
141
|
+
}
|
142
|
+
return menuItems.map((item, key) => /*#__PURE__*/React__default.cloneElement(item, {
|
143
|
+
key
|
144
|
+
}));
|
145
|
+
}, [menu, index, canFreeze, canHide, tableMeta.columnFreezing.frozenColumnIndex]);
|
146
|
+
return /*#__PURE__*/React__default.createElement(IconButton, {
|
147
|
+
className: className,
|
148
|
+
icon: "more",
|
149
|
+
menu: popoverElement ? undefined : menuProps => /*#__PURE__*/React__default.createElement(Menu$1, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu$1.Content, null, memoedMenuItems)),
|
150
|
+
popover: popoverElement,
|
151
|
+
onClickCapture: event => event.preventDefault()
|
152
|
+
});
|
153
|
+
}
|
154
|
+
|
155
|
+
export { Menu, isGotoAvailable, isMenuAvailable };
|
156
|
+
//# sourceMappingURL=Menu.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/header/Menu.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Header as RTHeader, Table as RTable, TableMeta } from '@tanstack/react-table';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { Menu as MenuPrimitive } from '../../../../Menu/Menu';\nimport { isInternalColumn } from '../../../util/columns';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Table3ColumnHeaderMenu, TableStrategy } from '../../../types';\nimport { GotoPopover } from './Goto';\n\nexport function isGotoAvailable<TType = unknown>(table: RTable<TType>, header: RTHeader<TType, unknown>) {\n if (isInternalColumn(header.id)) {\n return false;\n }\n\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return !!(tableMeta.rowGoto.isEnabled && header.column.getCanSort() && header.column.getIsSorted());\n}\n\nexport function isMenuAvailable<TType = unknown>(table: RTable<TType>, header: RTHeader<TType, unknown>): boolean {\n if (isInternalColumn(header.id)) {\n return false;\n }\n\n const tableMeta = table.options.meta as TableMeta<TType>;\n\n return (\n !!header.column.columnDef.meta?.menu ||\n !!tableMeta.columnFreezing.isEnabled ||\n (!!table.options.enableHiding && !!header.column.getCanHide()) ||\n isGotoAvailable(table, header)\n );\n}\n\nfunction getInitialFrozenIndex<TType = unknown>(table: RTable<TType>) {\n const tableMeta = table.options.meta as TableMeta<TType>;\n let index = 0;\n\n if (tableMeta.rowDrag.isEnabled) {\n index++;\n }\n\n if (table.options.enableRowSelection) {\n index++;\n }\n\n if (table.options.enableExpanding) {\n index++;\n }\n\n return index;\n}\n\nexport type MenuProps<TType = unknown> = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n canFreeze: boolean;\n canHide: boolean;\n index: number;\n menu?: Table3ColumnHeaderMenu;\n onGoto?: (query: string) => Promise<number>;\n onHide: (event: unknown) => void;\n scrollToIndex: TableStrategy['scrollToIndex'];\n table: RTable<TType>;\n};\n\nexport function Menu<TType = unknown>(props: MenuProps<TType>) {\n const { canFreeze, canHide, index, menu, onGoto: handleGoto, onHide: handleHide, scrollToIndex, table } = props;\n const tableMeta = table.options.meta as TableMeta<TType>;\n const { texts } = useLocalization();\n const [popover, setPopover] = React.useState<string | undefined>(undefined);\n\n let popoverElement;\n\n if (popover) {\n const handleClosePopover = () => setPopover(undefined);\n\n switch (popover) {\n case 'goto': {\n if (handleGoto) {\n const goto = async (query: string) => {\n try {\n const index = await handleGoto(query);\n tableMeta.currentRow.setCurrentRowIndex(index);\n scrollToIndex(index + 2, { align: 'center' });\n } catch {\n //\n } finally {\n handleClosePopover();\n }\n };\n popoverElement = props => <GotoPopover {...props} open onChange={handleClosePopover} onGoto={goto} />;\n }\n }\n }\n }\n\n const className = cn(\n '-my-0.5 -mr-1 -ml-0.5 !h-6 !min-h-[theme(spacing.6)] !w-6 !min-w-[theme(spacing.6)] flex-shrink-0 justify-end',\n {\n '!flex': !!popoverElement,\n },\n props.className\n );\n\n const memoedMenuItems = React.useMemo(() => {\n const menuItems: JSX.Element[] = [];\n\n if (handleGoto) {\n menuItems.push(\n <MenuPrimitive.Item icon=\"move\" onClick={() => setPopover('goto')}>\n {texts.table3.columns.menu.gotoRow}...\n </MenuPrimitive.Item>\n );\n }\n\n if (canHide) {\n // we do this in the next tick, otherwise the menu closes and react throws a \"state update on unmounted component\" error\n const handleClick = event => setTimeout(() => handleHide(event), 1);\n\n menuItems.push(\n <MenuPrimitive.Item icon=\"unreconciled\" onClick={handleClick}>\n {texts.table3.columns.menu.hideColumn}\n </MenuPrimitive.Item>\n );\n }\n\n if (canFreeze) {\n const handleClick = () => {\n tableMeta.columnFreezing.setFrozenColumnIndex(index);\n };\n\n const frozenIndex = index - getInitialFrozenIndex(table);\n\n menuItems.push(\n <MenuPrimitive.Item icon=\"column-freeze\" onClick={handleClick}>\n {frozenIndex === 0\n ? texts.table3.columns.menu.freezeFirstColumn\n : texts.table3.columns.menu.freezeUptoColumn.replace('[TOTAL]', String(frozenIndex + 1))}\n </MenuPrimitive.Item>\n );\n\n if (tableMeta.columnFreezing.frozenColumnIndex !== undefined) {\n const handleClick = () => {\n tableMeta.columnFreezing.setFrozenColumnIndex(undefined);\n };\n\n menuItems.push(\n <MenuPrimitive.Item icon=\"column-unfreeze\" onClick={handleClick}>\n {texts.table3.columns.menu.unfreezeColumns}\n </MenuPrimitive.Item>\n );\n }\n }\n\n if (menu) {\n const customMenu = menu({ trigger: undefined });\n const customItems = React.Children.toArray(customMenu.props.children.props.children) as JSX.Element[];\n\n if (customItems.length) {\n if (menuItems.length) {\n menuItems.push(<MenuPrimitive.Separator />);\n }\n\n menuItems.push(...customItems);\n }\n }\n\n return menuItems.map((item, key) => React.cloneElement(item, { key }));\n }, [menu, index, canFreeze, canHide, tableMeta.columnFreezing.frozenColumnIndex]);\n\n return (\n <IconButton\n className={className}\n icon=\"more\"\n menu={\n popoverElement\n ? undefined\n : menuProps => (\n <MenuPrimitive {...menuProps}>\n <MenuPrimitive.Content>{memoedMenuItems}</MenuPrimitive.Content>\n </MenuPrimitive>\n )\n }\n popover={popoverElement}\n onClickCapture={event => event.preventDefault()}\n />\n );\n}\n"],"names":["isGotoAvailable","table","header","isInternalColumn","id","tableMeta","options","meta","rowGoto","isEnabled","column","getCanSort","getIsSorted","isMenuAvailable","columnDef","menu","columnFreezing","enableHiding","getCanHide","getInitialFrozenIndex","index","rowDrag","enableRowSelection","enableExpanding","Menu","props","canFreeze","canHide","onGoto","handleGoto","onHide","handleHide","scrollToIndex","texts","useLocalization","popover","setPopover","React","useState","undefined","popoverElement","handleClosePopover","goto","query","currentRow","setCurrentRowIndex","align","GotoPopover","open","onChange","className","cn","memoedMenuItems","useMemo","menuItems","push","MenuPrimitive","Item","icon","onClick","table3","columns","gotoRow","handleClick","event","setTimeout","hideColumn","setFrozenColumnIndex","frozenIndex","freezeFirstColumn","freezeUptoColumn","replace","String","frozenColumnIndex","unfreezeColumns","customMenu","trigger","customItems","Children","toArray","children","length","Separator","map","item","key","cloneElement","IconButton","menuProps","Content","onClickCapture","preventDefault"],"mappings":"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"}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { Tooltip } from '../../../../Tooltip/Tooltip.js';
|
4
|
+
import { useLocalization } from '../../../../Provider/Localization.js';
|
5
|
+
|
6
|
+
function Resizer(props) {
|
7
|
+
const {
|
8
|
+
isResizing,
|
9
|
+
onResize: handleResize
|
10
|
+
} = props;
|
11
|
+
const {
|
12
|
+
texts
|
13
|
+
} = useLocalization();
|
14
|
+
// this prevents sort handlers being activated
|
15
|
+
const handleClick = event => {
|
16
|
+
event.stopPropagation();
|
17
|
+
event.preventDefault();
|
18
|
+
};
|
19
|
+
const handle = /*#__PURE__*/React__default.createElement("div", {
|
20
|
+
className: cn('invisible absolute right-0 top-0 -mr-2 flex h-full w-4 cursor-col-resize touch-none select-none justify-center rounded py-0.5 group-hover/column:visible', '[[role="columnheader"]:last-child>&]:!mr-0 [[role="columnheader"]:last-child>&]:w-2', {
|
21
|
+
'!visible': isResizing
|
22
|
+
}),
|
23
|
+
onClick: handleClick,
|
24
|
+
onMouseDown: handleResize,
|
25
|
+
onTouchStart: handleResize
|
26
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
27
|
+
className: cn('h-full w-1 rounded', {
|
28
|
+
'!bg-blue-500': isResizing,
|
29
|
+
'bg-grey-500 hover:bg-grey-700': !isResizing
|
30
|
+
})
|
31
|
+
}));
|
32
|
+
if (isResizing) {
|
33
|
+
return handle;
|
34
|
+
}
|
35
|
+
return /*#__PURE__*/React__default.createElement(Tooltip, {
|
36
|
+
placement: "top",
|
37
|
+
title: texts.table3.columns.resize.tooltip
|
38
|
+
}, handle);
|
39
|
+
}
|
40
|
+
|
41
|
+
export { Resizer };
|
42
|
+
//# sourceMappingURL=Resizer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Resizer.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/header/Resizer.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Tooltip } from '../../../../Tooltip/Tooltip';\nimport { useLocalization } from '../../../../Provider/Localization';\n\ntype ResizerProps = {\n isResizing: boolean;\n onResize: (event: unknown) => void;\n};\n\nexport function Resizer(props: ResizerProps) {\n const { isResizing, onResize: handleResize } = props;\n const { texts } = useLocalization();\n\n // this prevents sort handlers being activated\n const handleClick = event => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const handle = (\n <div\n className={cn(\n 'invisible absolute right-0 top-0 -mr-2 flex h-full w-4 cursor-col-resize touch-none select-none justify-center rounded py-0.5 group-hover/column:visible',\n '[[role=\"columnheader\"]:last-child>&]:!mr-0 [[role=\"columnheader\"]:last-child>&]:w-2',\n {\n '!visible': isResizing,\n }\n )}\n onClick={handleClick}\n onMouseDown={handleResize}\n onTouchStart={handleResize}>\n <div\n className={cn('h-full w-1 rounded', {\n '!bg-blue-500': isResizing,\n 'bg-grey-500 hover:bg-grey-700': !isResizing,\n })}\n />\n </div>\n );\n\n if (isResizing) {\n return handle;\n }\n\n return (\n <Tooltip placement=\"top\" title={texts.table3.columns.resize.tooltip}>\n {handle}\n </Tooltip>\n );\n}\n"],"names":["Resizer","props","isResizing","onResize","handleResize","texts","useLocalization","handleClick","event","stopPropagation","preventDefault","handle","React","className","cn","onClick","onMouseDown","onTouchStart","Tooltip","placement","title","table3","columns","resize","tooltip"],"mappings":";;;;;SAUgBA,OAAO,CAACC,KAAmB;EACvC,MAAM;IAAEC,UAAU;IAAEC,QAAQ,EAAEC;GAAc,GAAGH,KAAK;EACpD,MAAM;IAAEI;GAAO,GAAGC,eAAe,EAAE;;EAGnC,MAAMC,WAAW,GAAGC,KAAK;IACrBA,KAAK,CAACC,eAAe,EAAE;IACvBD,KAAK,CAACE,cAAc,EAAE;GACzB;EAED,MAAMC,MAAM,gBACRC;IACIC,SAAS,EAAEC,EAAE,CACT,0JAA0J,EAC1J,qFAAqF,EACrF;MACI,UAAU,EAAEZ;KACf,CACJ;IACDa,OAAO,EAAER,WAAW;IACpBS,WAAW,EAAEZ,YAAY;IACzBa,YAAY,EAAEb;kBACdQ;IACIC,SAAS,EAAEC,EAAE,CAAC,oBAAoB,EAAE;MAChC,cAAc,EAAEZ,UAAU;MAC1B,+BAA+B,EAAE,CAACA;KACrC;IACH,CAET;EAED,IAAIA,UAAU,EAAE;IACZ,OAAOS,MAAM;;EAGjB,oBACIC,6BAACM,OAAO;IAACC,SAAS,EAAC,KAAK;IAACC,KAAK,EAAEf,KAAK,CAACgB,MAAM,CAACC,OAAO,CAACC,MAAM,CAACC;KACvDb,MAAM,CACD;AAElB;;;;"}
|
package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import { Icon } from '../../../../Icon/Icon.js';
|
3
|
+
|
4
|
+
const indicators = {
|
5
|
+
asc: /*#__PURE__*/React__default.createElement(Icon, {
|
6
|
+
name: "chevron-up-solid",
|
7
|
+
className: "pointer-events-none -my-0.5"
|
8
|
+
}),
|
9
|
+
desc: /*#__PURE__*/React__default.createElement(Icon, {
|
10
|
+
name: "chevron-down-solid",
|
11
|
+
className: "pointer-events-none -my-0.5"
|
12
|
+
})
|
13
|
+
};
|
14
|
+
function SortIndicator(props) {
|
15
|
+
var _indicators$props$dir;
|
16
|
+
return (_indicators$props$dir = indicators[props.direction]) !== null && _indicators$props$dir !== void 0 ? _indicators$props$dir : null;
|
17
|
+
}
|
18
|
+
const ariaSort = {
|
19
|
+
asc: 'ascending',
|
20
|
+
desc: 'descending'
|
21
|
+
};
|
22
|
+
function getSortAttributes(toggleSorting, sortDirection) {
|
23
|
+
var _ariaSort$sortDirecti;
|
24
|
+
const handleClick = event => {
|
25
|
+
if (event.isDefaultPrevented() || !event.currentTarget.contains(event.target)) {
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
event.preventDefault();
|
29
|
+
toggleSorting(event);
|
30
|
+
};
|
31
|
+
return {
|
32
|
+
'aria-sort': (_ariaSort$sortDirecti = ariaSort[sortDirection]) !== null && _ariaSort$sortDirecti !== void 0 ? _ariaSort$sortDirecti : 'none',
|
33
|
+
onClick: handleClick
|
34
|
+
};
|
35
|
+
}
|
36
|
+
|
37
|
+
export { SortIndicator, getSortAttributes };
|
38
|
+
//# sourceMappingURL=SortIndicator.js.map
|
package/dist/esm/packages/taco/src/components/Table3/components/columns/header/SortIndicator.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SortIndicator.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/header/SortIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon } from '../../../../Icon/Icon';\nimport { SortDirection } from '../../../types';\n\ntype SortIndicatorProps = {\n direction: false | SortDirection;\n};\n\nconst indicators = {\n asc: <Icon name=\"chevron-up-solid\" className=\"pointer-events-none -my-0.5\" />,\n desc: <Icon name=\"chevron-down-solid\" className=\"pointer-events-none -my-0.5\" />,\n};\n\nexport function SortIndicator(props: SortIndicatorProps) {\n return indicators[props.direction as string] ?? null;\n}\n\nconst ariaSort = {\n asc: 'ascending',\n desc: 'descending',\n};\n\nexport const getAriaSort = direction => ariaSort[direction] ?? 'none';\n\nexport function getSortAttributes(toggleSorting: (event: unknown) => void, sortDirection: false | SortDirection) {\n const handleClick = (event: React.MouseEvent) => {\n if (event.isDefaultPrevented() || !event.currentTarget.contains(event.target as any)) {\n return;\n }\n\n event.preventDefault();\n toggleSorting(event);\n };\n\n return {\n 'aria-sort': ariaSort[sortDirection as any] ?? 'none',\n onClick: handleClick,\n };\n}\n"],"names":["indicators","asc","React","Icon","name","className","desc","SortIndicator","props","direction","ariaSort","getSortAttributes","toggleSorting","sortDirection","handleClick","event","isDefaultPrevented","currentTarget","contains","target","preventDefault","onClick"],"mappings":";;;AAQA,MAAMA,UAAU,GAAG;EACfC,GAAG,eAAEC,6BAACC,IAAI;IAACC,IAAI,EAAC,kBAAkB;IAACC,SAAS,EAAC;IAAgC;EAC7EC,IAAI,eAAEJ,6BAACC,IAAI;IAACC,IAAI,EAAC,oBAAoB;IAACC,SAAS,EAAC;;CACnD;SAEeE,aAAa,CAACC,KAAyB;;EACnD,gCAAOR,UAAU,CAACQ,KAAK,CAACC,SAAmB,CAAC,yEAAI,IAAI;AACxD;AAEA,MAAMC,QAAQ,GAAG;EACbT,GAAG,EAAE,WAAW;EAChBK,IAAI,EAAE;CACT;SAIeK,iBAAiB,CAACC,aAAuC,EAAEC,aAAoC;;EAC3G,MAAMC,WAAW,GAAIC,KAAuB;IACxC,IAAIA,KAAK,CAACC,kBAAkB,EAAE,IAAI,CAACD,KAAK,CAACE,aAAa,CAACC,QAAQ,CAACH,KAAK,CAACI,MAAa,CAAC,EAAE;MAClF;;IAGJJ,KAAK,CAACK,cAAc,EAAE;IACtBR,aAAa,CAACG,KAAK,CAAC;GACvB;EAED,OAAO;IACH,WAAW,2BAAEL,QAAQ,CAACG,aAAoB,CAAC,yEAAI,MAAM;IACrDQ,OAAO,EAAEP;GACZ;AACL;;;;"}
|
@@ -0,0 +1,108 @@
|
|
1
|
+
import React__default from 'react';
|
2
|
+
import cn from 'classnames';
|
3
|
+
import { IconButton } from '../../../../IconButton/IconButton.js';
|
4
|
+
import { useLocalization } from '../../../../Provider/Localization.js';
|
5
|
+
import { Shortcut } from '../../../../Shortcut/Shortcut.js';
|
6
|
+
import { Menu } from '../../../../Menu/Menu.js';
|
7
|
+
import { Header } from '../header/Header.js';
|
8
|
+
import { RowContext } from '../../rows/RowContext.js';
|
9
|
+
import { DisplayCell } from '../cell/DisplayCell.js';
|
10
|
+
import { Footer } from '../footer/Footer.js';
|
11
|
+
|
12
|
+
const COLUMN_ID = '__actions';
|
13
|
+
const ACTIONS_ON_ROW_LENGTH = 4;
|
14
|
+
const MemoedCell = /*#__PURE__*/React__default.memo(function MemoedCell(props) {
|
15
|
+
const {
|
16
|
+
actions,
|
17
|
+
actionsLength,
|
18
|
+
isCurrentRow,
|
19
|
+
isEditing,
|
20
|
+
isResizingColumn,
|
21
|
+
isHoverStatePaused,
|
22
|
+
row
|
23
|
+
} = props;
|
24
|
+
const {
|
25
|
+
isHovered
|
26
|
+
} = React__default.useContext(RowContext);
|
27
|
+
const {
|
28
|
+
texts
|
29
|
+
} = useLocalization();
|
30
|
+
let content;
|
31
|
+
// We don't want to show actions in edit mode, since we have editing actions,
|
32
|
+
// which is shown in edit mode instead.
|
33
|
+
if (!isEditing && (isCurrentRow || isHovered && !isHoverStatePaused && !isResizingColumn)) {
|
34
|
+
const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);
|
35
|
+
const actionsOnRow = visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);
|
36
|
+
const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);
|
37
|
+
content = /*#__PURE__*/React__default.createElement("span", {
|
38
|
+
className: "-mb-2 -mt-2 flex justify-end text-right"
|
39
|
+
}, actionsOnRow.map((button, index) => {
|
40
|
+
var _ref, _button$props$tooltip;
|
41
|
+
const tooltip = String((_ref = (_button$props$tooltip = button.props.tooltip) !== null && _button$props$tooltip !== void 0 ? _button$props$tooltip : button.props['aria-label']) !== null && _ref !== void 0 ? _ref : '');
|
42
|
+
return /*#__PURE__*/React__default.cloneElement(button, {
|
43
|
+
appearance: 'discrete',
|
44
|
+
key: index,
|
45
|
+
tabIndex: isCurrentRow ? 0 : -1,
|
46
|
+
tooltip: button.props.shortcut ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
|
47
|
+
className: "ml-2",
|
48
|
+
keys: button.props.shortcut
|
49
|
+
})) : tooltip
|
50
|
+
});
|
51
|
+
}), actionsInMenu.length ? /*#__PURE__*/React__default.createElement(IconButton, {
|
52
|
+
appearance: "discrete",
|
53
|
+
"aria-label": texts.table3.columns.actions.tooltip,
|
54
|
+
icon: "more",
|
55
|
+
tabIndex: isCurrentRow ? 0 : -1,
|
56
|
+
menu: menuProps => /*#__PURE__*/React__default.createElement(Menu, Object.assign({}, menuProps), /*#__PURE__*/React__default.createElement(Menu.Content, null, actionsInMenu.map((action, i) => /*#__PURE__*/React__default.createElement(Menu.Item, Object.assign({
|
57
|
+
key: i
|
58
|
+
}, action.props, {
|
59
|
+
shortcut: action.props.shortcut
|
60
|
+
}), action.props['aria-label']))))
|
61
|
+
}) : null);
|
62
|
+
}
|
63
|
+
return /*#__PURE__*/React__default.createElement(DisplayCell, Object.assign({}, props), content);
|
64
|
+
});
|
65
|
+
function Cell(props) {
|
66
|
+
const {
|
67
|
+
actionsForRow,
|
68
|
+
actionsForRowLength,
|
69
|
+
...context
|
70
|
+
} = props;
|
71
|
+
const {
|
72
|
+
rowIndex
|
73
|
+
} = React__default.useContext(RowContext);
|
74
|
+
const tableMeta = context.table.options.meta;
|
75
|
+
return /*#__PURE__*/React__default.createElement(MemoedCell, Object.assign({}, context, {
|
76
|
+
actions: actionsForRow,
|
77
|
+
actionsLength: actionsForRowLength,
|
78
|
+
isCurrentRow: tableMeta.currentRow.currentRowIndex === rowIndex,
|
79
|
+
isEditing: tableMeta.editing.isEditing,
|
80
|
+
isResizingColumn: !!context.table.getState().columnSizingInfo.isResizingColumn,
|
81
|
+
isHoverStatePaused: !!tableMeta.hoverState.isPaused
|
82
|
+
}));
|
83
|
+
}
|
84
|
+
function createRowActionsColumn(actionsForRow, actionsForRowLength = ACTIONS_ON_ROW_LENGTH) {
|
85
|
+
return {
|
86
|
+
id: COLUMN_ID,
|
87
|
+
header: Header,
|
88
|
+
cell: context => /*#__PURE__*/React__default.createElement(Cell, Object.assign({}, context, {
|
89
|
+
actionsForRow: actionsForRow,
|
90
|
+
actionsForRowLength: actionsForRowLength
|
91
|
+
})),
|
92
|
+
footer: Footer,
|
93
|
+
meta: {
|
94
|
+
align: 'right',
|
95
|
+
className: cn('items-center print:opacity-0 [[role="table"][data-editing="false"]_&]:group-[[data-current="true"]]/row:sticky [[role="table"][data-pause-hover="false"][data-editing="false"]_&]:group-hover/row:sticky right-0 !pl-0 !pr-1', '[[role="table"][data-editing="false"]_&]:group-[[data-current="true"]]/row:shadow-[-6px_0px_6px] [[role="table"][data-pause-hover="false"][data-editing="false"]_&]:group-hover/row:shadow-[-6px_0px_6px]', 'group-[[data-current="true"][data-selected="false"]]/row:text-grey-200', 'group-[[data-selected="true"]]/row:text-blue-100', 'group-[[data-selected="false"]:hover]/row:text-grey-100'),
|
96
|
+
enableOrdering: false,
|
97
|
+
enableSearch: false,
|
98
|
+
enableTruncate: false,
|
99
|
+
header: '',
|
100
|
+
headerClassName: 'items-center !p-0'
|
101
|
+
},
|
102
|
+
// options
|
103
|
+
enableResizing: false
|
104
|
+
};
|
105
|
+
}
|
106
|
+
|
107
|
+
export { COLUMN_ID, createRowActionsColumn };
|
108
|
+
//# sourceMappingURL=Actions.js.map
|
package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Actions.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../../../../../../../../src/components/Table3/components/columns/internal/Actions.tsx"],"sourcesContent":["import React from 'react';\nimport { CellContext, DisplayColumnDef, TableMeta } from '@tanstack/react-table';\nimport cn from 'classnames';\nimport { Header as ColumnHeader } from '../header/Header';\nimport { DisplayCell } from '../cell/DisplayCell';\nimport { Table3RowActionRenderer } from '../../../types';\nimport { RowContext } from '../../rows/RowContext';\nimport { IconButton } from '../../../../IconButton/IconButton';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Menu } from '../../../../Menu/Menu';\nimport { Shortcut } from '../../../../Shortcut/Shortcut';\nimport { Footer } from '../footer/Footer';\n\nexport const COLUMN_ID = '__actions';\n\ntype MemoedCellProps<TType = unknown> = CellContext<TType, unknown> & {\n actions: Table3RowActionRenderer<TType>[];\n actionsLength: number;\n isCurrentRow: boolean;\n isEditing: boolean;\n isResizingColumn: boolean;\n isHoverStatePaused: boolean;\n};\n\nconst ACTIONS_ON_ROW_LENGTH = 4;\n\nconst MemoedCell = React.memo(function MemoedCell<TType = unknown>(props: MemoedCellProps<TType>) {\n const { actions, actionsLength, isCurrentRow, isEditing, isResizingColumn, isHoverStatePaused, row } = props;\n const { isHovered } = React.useContext(RowContext);\n const { texts } = useLocalization();\n\n let content;\n\n // We don't want to show actions in edit mode, since we have editing actions,\n // which is shown in edit mode instead.\n if (!isEditing && (isCurrentRow || (isHovered && !isHoverStatePaused && !isResizingColumn))) {\n const visibleActions = actions.map(action => action(row.original)).filter(action => !!action);\n\n const actionsOnRow =\n visibleActions.length === actionsLength ? visibleActions : visibleActions.slice(0, actionsLength - 1);\n const actionsInMenu = visibleActions.slice(visibleActions.length === actionsLength ? actionsLength : actionsLength - 1);\n\n content = (\n <span className=\"-mb-2 -mt-2 flex justify-end text-right\">\n {actionsOnRow.map((button, index) => {\n const tooltip = String(button.props.tooltip ?? button.props['aria-label'] ?? '');\n\n return React.cloneElement(button, {\n appearance: 'discrete',\n key: index,\n tabIndex: isCurrentRow ? 0 : -1,\n tooltip: button.props.shortcut ? (\n <>\n {tooltip}\n <Shortcut className=\"ml-2\" keys={button.props.shortcut} />\n </>\n ) : (\n tooltip\n ),\n });\n })}\n {actionsInMenu.length ? (\n <IconButton\n appearance=\"discrete\"\n aria-label={texts.table3.columns.actions.tooltip}\n icon=\"more\"\n tabIndex={isCurrentRow ? 0 : -1}\n menu={menuProps => (\n <Menu {...menuProps}>\n <Menu.Content>\n {actionsInMenu.map((action, i) => (\n <Menu.Item key={i} {...action.props} shortcut={action.props.shortcut}>\n {action.props['aria-label']}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu>\n )}\n />\n ) : null}\n </span>\n );\n }\n\n return <DisplayCell {...props}>{content}</DisplayCell>;\n}) as <TType = unknown>(props: MemoedCellProps<TType>) => JSX.Element;\n\ntype CellProps<TType = unknown> = CellContext<TType, unknown> & {\n actionsForRow: Table3RowActionRenderer<TType>[];\n actionsForRowLength: number;\n};\n\nfunction Cell<TType = unknown>(props: CellProps<TType>) {\n const { actionsForRow, actionsForRowLength, ...context } = props;\n const { rowIndex } = React.useContext(RowContext);\n const tableMeta = context.table.options.meta as TableMeta<TType>;\n\n return (\n <MemoedCell\n {...context}\n actions={actionsForRow}\n actionsLength={actionsForRowLength}\n isCurrentRow={tableMeta.currentRow.currentRowIndex === rowIndex}\n isEditing={tableMeta.editing.isEditing}\n isResizingColumn={!!context.table.getState().columnSizingInfo.isResizingColumn}\n isHoverStatePaused={!!tableMeta.hoverState.isPaused}\n />\n );\n}\n\nexport function createRowActionsColumn<TType = unknown>(\n actionsForRow: Table3RowActionRenderer<TType>[],\n actionsForRowLength = ACTIONS_ON_ROW_LENGTH\n): DisplayColumnDef<TType, unknown> {\n return {\n id: COLUMN_ID,\n header: ColumnHeader,\n cell: (context: CellContext<TType, unknown>) => (\n <Cell {...context} actionsForRow={actionsForRow} actionsForRowLength={actionsForRowLength} />\n ),\n footer: Footer,\n meta: {\n align: 'right',\n className: cn(\n 'items-center print:opacity-0 [[role=\"table\"][data-editing=\"false\"]_&]:group-[[data-current=\"true\"]]/row:sticky [[role=\"table\"][data-pause-hover=\"false\"][data-editing=\"false\"]_&]:group-hover/row:sticky right-0 !pl-0 !pr-1',\n '[[role=\"table\"][data-editing=\"false\"]_&]:group-[[data-current=\"true\"]]/row:shadow-[-6px_0px_6px] [[role=\"table\"][data-pause-hover=\"false\"][data-editing=\"false\"]_&]:group-hover/row:shadow-[-6px_0px_6px]',\n 'group-[[data-current=\"true\"][data-selected=\"false\"]]/row:text-grey-200',\n 'group-[[data-selected=\"true\"]]/row:text-blue-100',\n 'group-[[data-selected=\"false\"]:hover]/row:text-grey-100'\n ),\n enableOrdering: false,\n enableSearch: false,\n enableTruncate: false,\n header: '',\n headerClassName: 'items-center !p-0',\n },\n // options\n enableResizing: false,\n };\n}\n"],"names":["COLUMN_ID","ACTIONS_ON_ROW_LENGTH","MemoedCell","React","memo","props","actions","actionsLength","isCurrentRow","isEditing","isResizingColumn","isHoverStatePaused","row","isHovered","useContext","RowContext","texts","useLocalization","content","visibleActions","map","action","original","filter","actionsOnRow","length","slice","actionsInMenu","className","button","index","tooltip","String","cloneElement","appearance","key","tabIndex","shortcut","Shortcut","keys","IconButton","table3","columns","icon","menu","menuProps","Menu","Content","i","Item","DisplayCell","Cell","actionsForRow","actionsForRowLength","context","rowIndex","tableMeta","table","options","meta","currentRow","currentRowIndex","editing","getState","columnSizingInfo","hoverState","isPaused","createRowActionsColumn","id","header","ColumnHeader","cell","footer","Footer","align","cn","enableOrdering","enableSearch","enableTruncate","headerClassName","enableResizing"],"mappings":"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"}
|