material-react-table 2.0.0-beta.0 → 2.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.d.ts +281 -263
- package/dist/{esm/material-react-table.esm.js → index.esm.js} +1018 -968
- package/dist/index.esm.js.map +1 -0
- package/dist/{cjs/index.js → index.js} +1098 -1135
- package/dist/index.js.map +1 -0
- package/locales/ar.d.ts +1 -0
- package/locales/ar.js +0 -3
- package/locales/{ar.esm.js → ar.mjs} +0 -1
- package/locales/az.d.ts +3 -0
- package/locales/az.js +95 -0
- package/locales/az.mjs +93 -0
- package/locales/bg.d.ts +1 -0
- package/locales/bg.js +0 -3
- package/locales/{bg.esm.js → bg.mjs} +0 -1
- package/locales/cs.d.ts +1 -0
- package/locales/cs.js +0 -3
- package/locales/{cs.esm.js → cs.mjs} +0 -1
- package/locales/da.d.ts +1 -0
- package/locales/da.js +0 -3
- package/locales/{da.esm.js → da.mjs} +0 -1
- package/locales/de.d.ts +1 -0
- package/locales/de.js +0 -3
- package/locales/{de.esm.js → de.mjs} +0 -1
- package/locales/en.d.ts +1 -0
- package/locales/en.js +0 -3
- package/locales/{en.esm.js → en.mjs} +0 -1
- package/locales/es.d.ts +1 -0
- package/locales/es.js +0 -3
- package/locales/{es.esm.js → es.mjs} +0 -1
- package/locales/et.d.ts +1 -0
- package/locales/et.js +0 -3
- package/locales/{et.esm.js → et.mjs} +0 -1
- package/locales/fa.d.ts +1 -0
- package/locales/fa.js +0 -3
- package/locales/{fa.esm.js → fa.mjs} +0 -1
- package/locales/fi.d.ts +1 -0
- package/locales/fi.js +0 -3
- package/locales/{fi.esm.js → fi.mjs} +0 -1
- package/locales/fr.d.ts +1 -0
- package/locales/fr.js +0 -3
- package/locales/{fr.esm.js → fr.mjs} +0 -1
- package/locales/hu.d.ts +1 -0
- package/locales/hu.js +0 -3
- package/locales/{hu.esm.js → hu.mjs} +0 -1
- package/locales/hy.d.ts +1 -0
- package/locales/hy.js +0 -3
- package/locales/{hy.esm.js → hy.mjs} +0 -1
- package/locales/id.d.ts +1 -0
- package/locales/id.js +0 -3
- package/locales/{id.esm.js → id.mjs} +0 -1
- package/locales/it.d.ts +1 -0
- package/locales/it.js +0 -3
- package/locales/{it.esm.js → it.mjs} +0 -1
- package/locales/ja.d.ts +1 -0
- package/locales/ja.js +0 -3
- package/locales/{ja.esm.js → ja.mjs} +0 -1
- package/locales/ko.d.ts +1 -0
- package/locales/ko.js +0 -3
- package/locales/{ko.esm.js → ko.mjs} +0 -1
- package/locales/nl.d.ts +1 -0
- package/locales/nl.js +0 -3
- package/locales/{nl.esm.js → nl.mjs} +0 -1
- package/locales/no.d.ts +2 -1
- package/locales/no.js +0 -3
- package/locales/{no.esm.js → no.mjs} +0 -1
- package/locales/np.d.ts +1 -0
- package/locales/np.js +0 -3
- package/locales/{np.esm.js → np.mjs} +0 -1
- package/locales/pl.d.ts +1 -0
- package/locales/pl.js +0 -3
- package/locales/{pl.esm.js → pl.mjs} +0 -1
- package/locales/pt-BR.d.ts +1 -0
- package/locales/pt-BR.js +0 -3
- package/locales/{pt-BR.esm.js → pt-BR.mjs} +0 -1
- package/locales/pt.d.ts +1 -0
- package/locales/pt.js +0 -3
- package/locales/{pt.esm.js → pt.mjs} +0 -1
- package/locales/ro.d.ts +1 -0
- package/locales/ro.js +0 -3
- package/locales/{ro.esm.js → ro.mjs} +0 -1
- package/locales/ru.d.ts +1 -0
- package/locales/ru.js +0 -3
- package/locales/{ru.esm.js → ru.mjs} +0 -1
- package/locales/sk.d.ts +1 -0
- package/locales/sk.js +0 -3
- package/locales/{sk.esm.js → sk.mjs} +0 -1
- package/locales/sr-Cyrl-RS.d.ts +1 -0
- package/locales/sr-Cyrl-RS.js +0 -3
- package/locales/{sr-Cyrl-RS.esm.js → sr-Cyrl-RS.mjs} +0 -1
- package/locales/sr-Latn-RS.d.ts +1 -0
- package/locales/sr-Latn-RS.js +0 -3
- package/locales/{sr-Latn-RS.esm.js → sr-Latn-RS.mjs} +0 -1
- package/locales/sv.d.ts +1 -0
- package/locales/sv.js +0 -3
- package/locales/{sv.esm.js → sv.mjs} +0 -1
- package/locales/tr.d.ts +1 -0
- package/locales/tr.js +0 -3
- package/locales/{tr.esm.js → tr.mjs} +0 -1
- package/locales/uk.d.ts +1 -0
- package/locales/uk.js +0 -3
- package/locales/{uk.esm.js → uk.mjs} +0 -1
- package/locales/vi.d.ts +1 -0
- package/locales/vi.js +0 -3
- package/locales/{vi.esm.js → vi.mjs} +0 -1
- package/locales/zh-Hans.d.ts +1 -0
- package/locales/zh-Hans.js +17 -20
- package/locales/{zh-Hans.esm.js → zh-Hans.mjs} +17 -18
- package/locales/zh-Hant.d.ts +1 -0
- package/locales/zh-Hant.js +0 -3
- package/locales/{zh-Hant.esm.js → zh-Hant.mjs} +0 -1
- package/package.json +215 -32
- package/src/MaterialReactTable.tsx +5 -4
- package/src/body/MRT_TableBody.tsx +19 -8
- package/src/body/MRT_TableBodyCell.tsx +95 -74
- package/src/body/MRT_TableBodyCellValue.tsx +13 -9
- package/src/body/MRT_TableBodyRow.tsx +27 -16
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +16 -7
- package/src/body/MRT_TableBodyRowPinButton.tsx +18 -7
- package/src/body/MRT_TableDetailPanel.tsx +20 -13
- package/src/buttons/MRT_ColumnPinningButtons.tsx +21 -8
- package/src/buttons/MRT_CopyButton.tsx +12 -11
- package/src/buttons/MRT_EditActionButtons.tsx +17 -7
- package/src/buttons/MRT_ExpandAllButton.tsx +13 -11
- package/src/buttons/MRT_ExpandButton.tsx +10 -8
- package/src/buttons/MRT_GrabHandleButton.tsx +10 -8
- package/src/buttons/MRT_RowPinButton.tsx +14 -7
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -4
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -6
- package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -4
- package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -4
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -6
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +15 -9
- package/src/column.utils.ts +46 -141
- package/src/filterFns.ts +15 -14
- package/src/footer/MRT_TableFooter.tsx +11 -7
- package/src/footer/MRT_TableFooterCell.tsx +21 -16
- package/src/footer/MRT_TableFooterRow.tsx +14 -9
- package/src/head/MRT_TableHead.tsx +10 -6
- package/src/head/MRT_TableHeadCell.tsx +122 -103
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +13 -12
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +10 -6
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +15 -9
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +10 -3
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +21 -11
- package/src/head/MRT_TableHeadCellSortLabel.tsx +38 -18
- package/src/head/MRT_TableHeadRow.tsx +15 -9
- package/src/hooks/useMRT_DisplayColumns.tsx +14 -10
- package/src/hooks/useMRT_Effects.ts +6 -2
- package/src/hooks/useMRT_TableInstance.ts +3 -2
- package/src/hooks/useMRT_TableOptions.ts +29 -4
- package/src/index.ts +1 -0
- package/src/inputs/MRT_EditCellTextField.tsx +26 -4
- package/src/inputs/MRT_FilterCheckbox.tsx +10 -5
- package/src/inputs/MRT_FilterRangeFields.tsx +19 -5
- package/src/inputs/MRT_FilterRangeSlider.tsx +10 -4
- package/src/inputs/MRT_FilterTextField.tsx +13 -5
- package/src/inputs/MRT_GlobalFilterTextField.tsx +27 -10
- package/src/inputs/MRT_SelectCheckbox.tsx +14 -7
- package/src/locales/az.ts +94 -0
- package/src/locales/no.ts +1 -1
- package/src/locales/zh-Hans.ts +17 -17
- package/src/menus/MRT_ColumnActionMenu.tsx +10 -4
- package/src/menus/MRT_FilterOptionMenu.tsx +6 -3
- package/src/menus/MRT_RowActionMenu.tsx +10 -4
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +10 -4
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +17 -10
- package/src/modals/MRT_EditRowModal.tsx +17 -11
- package/src/sortingFns.ts +3 -3
- package/src/style.utils.ts +149 -0
- package/src/table/MRT_Table.tsx +28 -34
- package/src/table/MRT_TableContainer.tsx +17 -46
- package/src/table/MRT_TableLoadingOverlay.tsx +54 -0
- package/src/table/MRT_TablePaper.tsx +13 -6
- package/src/table/index.ts +1 -0
- package/src/toolbar/MRT_BottomToolbar.tsx +16 -14
- package/src/toolbar/MRT_LinearProgressBar.tsx +16 -10
- package/src/toolbar/MRT_TablePagination.tsx +25 -12
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -7
- package/src/toolbar/MRT_ToolbarDropZone.tsx +8 -4
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -6
- package/src/toolbar/MRT_TopToolbar.tsx +11 -24
- package/src/types.ts +98 -56
- package/src/useMaterialReactTable.ts +8 -7
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +0 -7
- package/dist/cjs/types/aggregationFns.d.ts +0 -11
- package/dist/cjs/types/body/MRT_TableBody.d.ts +0 -12
- package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +0 -15
- package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +0 -7
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +0 -18
- package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
- package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +0 -12
- package/dist/cjs/types/body/index.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +0 -9
- package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +0 -8
- package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
- package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
- package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +0 -9
- package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
- package/dist/cjs/types/buttons/index.d.ts +0 -13
- package/dist/cjs/types/column.utils.d.ts +0 -148
- package/dist/cjs/types/filterFns.d.ts +0 -68
- package/dist/cjs/types/footer/MRT_TableFooter.d.ts +0 -10
- package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +0 -7
- package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +0 -11
- package/dist/cjs/types/footer/index.d.ts +0 -3
- package/dist/cjs/types/head/MRT_TableHead.d.ts +0 -10
- package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
- package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
- package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +0 -11
- package/dist/cjs/types/head/index.d.ts +0 -9
- package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
- package/dist/cjs/types/hooks/useMRT_Effects.d.ts +0 -2
- package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +0 -2
- package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +0 -2
- package/dist/cjs/types/icons.d.ts +0 -36
- package/dist/cjs/types/index.d.ts +0 -16
- package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +0 -7
- package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
- package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
- package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
- package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +0 -8
- package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
- package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
- package/dist/cjs/types/inputs/index.d.ts +0 -7
- package/dist/cjs/types/locales/ar.d.ts +0 -2
- package/dist/cjs/types/locales/bg.d.ts +0 -2
- package/dist/cjs/types/locales/cs.d.ts +0 -2
- package/dist/cjs/types/locales/da.d.ts +0 -2
- package/dist/cjs/types/locales/de.d.ts +0 -2
- package/dist/cjs/types/locales/en.d.ts +0 -2
- package/dist/cjs/types/locales/es.d.ts +0 -2
- package/dist/cjs/types/locales/et.d.ts +0 -2
- package/dist/cjs/types/locales/fa.d.ts +0 -2
- package/dist/cjs/types/locales/fi.d.ts +0 -2
- package/dist/cjs/types/locales/fr.d.ts +0 -2
- package/dist/cjs/types/locales/hu.d.ts +0 -2
- package/dist/cjs/types/locales/hy.d.ts +0 -2
- package/dist/cjs/types/locales/id.d.ts +0 -2
- package/dist/cjs/types/locales/it.d.ts +0 -2
- package/dist/cjs/types/locales/ja.d.ts +0 -2
- package/dist/cjs/types/locales/ko.d.ts +0 -2
- package/dist/cjs/types/locales/nl.d.ts +0 -2
- package/dist/cjs/types/locales/no.d.ts +0 -2
- package/dist/cjs/types/locales/np.d.ts +0 -2
- package/dist/cjs/types/locales/pl.d.ts +0 -2
- package/dist/cjs/types/locales/pt-BR.d.ts +0 -2
- package/dist/cjs/types/locales/pt.d.ts +0 -2
- package/dist/cjs/types/locales/ro.d.ts +0 -2
- package/dist/cjs/types/locales/ru.d.ts +0 -2
- package/dist/cjs/types/locales/sk.d.ts +0 -2
- package/dist/cjs/types/locales/sr-Cyrl-RS.d.ts +0 -2
- package/dist/cjs/types/locales/sr-Latn-RS.d.ts +0 -2
- package/dist/cjs/types/locales/sv.d.ts +0 -2
- package/dist/cjs/types/locales/tr.d.ts +0 -2
- package/dist/cjs/types/locales/uk.d.ts +0 -2
- package/dist/cjs/types/locales/vi.d.ts +0 -2
- package/dist/cjs/types/locales/zh-Hans.d.ts +0 -2
- package/dist/cjs/types/locales/zh-Hant.d.ts +0 -2
- package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
- package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
- package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +0 -11
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
- package/dist/cjs/types/menus/index.d.ts +0 -5
- package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +0 -7
- package/dist/cjs/types/modals/index.d.ts +0 -1
- package/dist/cjs/types/sortingFns.d.ts +0 -12
- package/dist/cjs/types/table/MRT_Table.d.ts +0 -6
- package/dist/cjs/types/table/MRT_TableContainer.d.ts +0 -6
- package/dist/cjs/types/table/MRT_TablePaper.d.ts +0 -6
- package/dist/cjs/types/table/index.d.ts +0 -4
- package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
- package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
- package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +0 -7
- package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
- package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
- package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
- package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +0 -21
- package/dist/cjs/types/toolbar/index.d.ts +0 -7
- package/dist/cjs/types/types.d.ts +0 -818
- package/dist/cjs/types/useMaterialReactTable.d.ts +0 -2
- package/dist/esm/material-react-table.esm.js.map +0 -1
- package/dist/esm/types/MaterialReactTable.d.ts +0 -7
- package/dist/esm/types/aggregationFns.d.ts +0 -11
- package/dist/esm/types/body/MRT_TableBody.d.ts +0 -12
- package/dist/esm/types/body/MRT_TableBodyCell.d.ts +0 -15
- package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +0 -7
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +0 -18
- package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
- package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +0 -12
- package/dist/esm/types/body/index.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_CopyButton.d.ts +0 -9
- package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +0 -8
- package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
- package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
- package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +0 -9
- package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
- package/dist/esm/types/buttons/index.d.ts +0 -13
- package/dist/esm/types/column.utils.d.ts +0 -148
- package/dist/esm/types/filterFns.d.ts +0 -68
- package/dist/esm/types/footer/MRT_TableFooter.d.ts +0 -10
- package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +0 -7
- package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +0 -11
- package/dist/esm/types/footer/index.d.ts +0 -3
- package/dist/esm/types/head/MRT_TableHead.d.ts +0 -10
- package/dist/esm/types/head/MRT_TableHeadCell.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
- package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
- package/dist/esm/types/head/MRT_TableHeadRow.d.ts +0 -11
- package/dist/esm/types/head/index.d.ts +0 -9
- package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
- package/dist/esm/types/hooks/useMRT_Effects.d.ts +0 -2
- package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +0 -2
- package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +0 -2
- package/dist/esm/types/icons.d.ts +0 -36
- package/dist/esm/types/index.d.ts +0 -16
- package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +0 -7
- package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
- package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
- package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
- package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +0 -8
- package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
- package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
- package/dist/esm/types/inputs/index.d.ts +0 -7
- package/dist/esm/types/locales/ar.d.ts +0 -2
- package/dist/esm/types/locales/bg.d.ts +0 -2
- package/dist/esm/types/locales/cs.d.ts +0 -2
- package/dist/esm/types/locales/da.d.ts +0 -2
- package/dist/esm/types/locales/de.d.ts +0 -2
- package/dist/esm/types/locales/en.d.ts +0 -2
- package/dist/esm/types/locales/es.d.ts +0 -2
- package/dist/esm/types/locales/et.d.ts +0 -2
- package/dist/esm/types/locales/fa.d.ts +0 -2
- package/dist/esm/types/locales/fi.d.ts +0 -2
- package/dist/esm/types/locales/fr.d.ts +0 -2
- package/dist/esm/types/locales/hu.d.ts +0 -2
- package/dist/esm/types/locales/hy.d.ts +0 -2
- package/dist/esm/types/locales/id.d.ts +0 -2
- package/dist/esm/types/locales/it.d.ts +0 -2
- package/dist/esm/types/locales/ja.d.ts +0 -2
- package/dist/esm/types/locales/ko.d.ts +0 -2
- package/dist/esm/types/locales/nl.d.ts +0 -2
- package/dist/esm/types/locales/no.d.ts +0 -2
- package/dist/esm/types/locales/np.d.ts +0 -2
- package/dist/esm/types/locales/pl.d.ts +0 -2
- package/dist/esm/types/locales/pt-BR.d.ts +0 -2
- package/dist/esm/types/locales/pt.d.ts +0 -2
- package/dist/esm/types/locales/ro.d.ts +0 -2
- package/dist/esm/types/locales/ru.d.ts +0 -2
- package/dist/esm/types/locales/sk.d.ts +0 -2
- package/dist/esm/types/locales/sr-Cyrl-RS.d.ts +0 -2
- package/dist/esm/types/locales/sr-Latn-RS.d.ts +0 -2
- package/dist/esm/types/locales/sv.d.ts +0 -2
- package/dist/esm/types/locales/tr.d.ts +0 -2
- package/dist/esm/types/locales/uk.d.ts +0 -2
- package/dist/esm/types/locales/vi.d.ts +0 -2
- package/dist/esm/types/locales/zh-Hans.d.ts +0 -2
- package/dist/esm/types/locales/zh-Hant.d.ts +0 -2
- package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
- package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
- package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +0 -11
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
- package/dist/esm/types/menus/index.d.ts +0 -5
- package/dist/esm/types/modals/MRT_EditRowModal.d.ts +0 -7
- package/dist/esm/types/modals/index.d.ts +0 -1
- package/dist/esm/types/sortingFns.d.ts +0 -12
- package/dist/esm/types/table/MRT_Table.d.ts +0 -6
- package/dist/esm/types/table/MRT_TableContainer.d.ts +0 -6
- package/dist/esm/types/table/MRT_TablePaper.d.ts +0 -6
- package/dist/esm/types/table/index.d.ts +0 -4
- package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
- package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
- package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +0 -7
- package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
- package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
- package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
- package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +0 -21
- package/dist/esm/types/toolbar/index.d.ts +0 -7
- package/dist/esm/types/types.d.ts +0 -818
- package/dist/esm/types/useMaterialReactTable.d.ts +0 -2
- package/locales/ar.esm.d.ts +0 -2
- package/locales/ar.esm.js.map +0 -1
- package/locales/ar.js.map +0 -1
- package/locales/bg.esm.d.ts +0 -2
- package/locales/bg.esm.js.map +0 -1
- package/locales/bg.js.map +0 -1
- package/locales/cs.esm.d.ts +0 -2
- package/locales/cs.esm.js.map +0 -1
- package/locales/cs.js.map +0 -1
- package/locales/da.esm.d.ts +0 -2
- package/locales/da.esm.js.map +0 -1
- package/locales/da.js.map +0 -1
- package/locales/de.esm.d.ts +0 -2
- package/locales/de.esm.js.map +0 -1
- package/locales/de.js.map +0 -1
- package/locales/en.esm.d.ts +0 -2
- package/locales/en.esm.js.map +0 -1
- package/locales/en.js.map +0 -1
- package/locales/es.esm.d.ts +0 -2
- package/locales/es.esm.js.map +0 -1
- package/locales/es.js.map +0 -1
- package/locales/et.esm.d.ts +0 -2
- package/locales/et.esm.js.map +0 -1
- package/locales/et.js.map +0 -1
- package/locales/fa.esm.d.ts +0 -2
- package/locales/fa.esm.js.map +0 -1
- package/locales/fa.js.map +0 -1
- package/locales/fi.esm.d.ts +0 -2
- package/locales/fi.esm.js.map +0 -1
- package/locales/fi.js.map +0 -1
- package/locales/fr.esm.d.ts +0 -2
- package/locales/fr.esm.js.map +0 -1
- package/locales/fr.js.map +0 -1
- package/locales/hu.esm.d.ts +0 -2
- package/locales/hu.esm.js.map +0 -1
- package/locales/hu.js.map +0 -1
- package/locales/hy.esm.d.ts +0 -2
- package/locales/hy.esm.js.map +0 -1
- package/locales/hy.js.map +0 -1
- package/locales/id.esm.d.ts +0 -2
- package/locales/id.esm.js.map +0 -1
- package/locales/id.js.map +0 -1
- package/locales/it.esm.d.ts +0 -2
- package/locales/it.esm.js.map +0 -1
- package/locales/it.js.map +0 -1
- package/locales/ja.esm.d.ts +0 -2
- package/locales/ja.esm.js.map +0 -1
- package/locales/ja.js.map +0 -1
- package/locales/ko.esm.d.ts +0 -2
- package/locales/ko.esm.js.map +0 -1
- package/locales/ko.js.map +0 -1
- package/locales/nl.esm.d.ts +0 -2
- package/locales/nl.esm.js.map +0 -1
- package/locales/nl.js.map +0 -1
- package/locales/no.esm.d.ts +0 -2
- package/locales/no.esm.js.map +0 -1
- package/locales/no.js.map +0 -1
- package/locales/np.esm.d.ts +0 -2
- package/locales/np.esm.js.map +0 -1
- package/locales/np.js.map +0 -1
- package/locales/pl.esm.d.ts +0 -2
- package/locales/pl.esm.js.map +0 -1
- package/locales/pl.js.map +0 -1
- package/locales/pt-BR.esm.d.ts +0 -2
- package/locales/pt-BR.esm.js.map +0 -1
- package/locales/pt-BR.js.map +0 -1
- package/locales/pt.esm.d.ts +0 -2
- package/locales/pt.esm.js.map +0 -1
- package/locales/pt.js.map +0 -1
- package/locales/ro.esm.d.ts +0 -2
- package/locales/ro.esm.js.map +0 -1
- package/locales/ro.js.map +0 -1
- package/locales/ru.esm.d.ts +0 -2
- package/locales/ru.esm.js.map +0 -1
- package/locales/ru.js.map +0 -1
- package/locales/sk.esm.d.ts +0 -2
- package/locales/sk.esm.js.map +0 -1
- package/locales/sk.js.map +0 -1
- package/locales/sr-Cyrl-RS.esm.d.ts +0 -2
- package/locales/sr-Cyrl-RS.esm.js.map +0 -1
- package/locales/sr-Cyrl-RS.js.map +0 -1
- package/locales/sr-Latn-RS.esm.d.ts +0 -2
- package/locales/sr-Latn-RS.esm.js.map +0 -1
- package/locales/sr-Latn-RS.js.map +0 -1
- package/locales/sv.esm.d.ts +0 -2
- package/locales/sv.esm.js.map +0 -1
- package/locales/sv.js.map +0 -1
- package/locales/tr.esm.d.ts +0 -2
- package/locales/tr.esm.js.map +0 -1
- package/locales/tr.js.map +0 -1
- package/locales/uk.esm.d.ts +0 -2
- package/locales/uk.esm.js.map +0 -1
- package/locales/uk.js.map +0 -1
- package/locales/vi.esm.d.ts +0 -2
- package/locales/vi.esm.js.map +0 -1
- package/locales/vi.js.map +0 -1
- package/locales/zh-Hans.esm.d.ts +0 -2
- package/locales/zh-Hans.esm.js.map +0 -1
- package/locales/zh-Hans.js.map +0 -1
- package/locales/zh-Hant.esm.d.ts +0 -2
- package/locales/zh-Hant.esm.js.map +0 -1
- package/locales/zh-Hant.js.map +0 -1
package/src/column.utils.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { type
|
1
|
+
import { type ReactNode } from 'react';
|
2
2
|
import {
|
3
3
|
createRow as _createRow,
|
4
4
|
flexRender as _flexRender,
|
@@ -6,32 +6,32 @@ import {
|
|
6
6
|
type Row,
|
7
7
|
} from '@tanstack/react-table';
|
8
8
|
import { type Range, defaultRangeExtractor } from '@tanstack/react-virtual';
|
9
|
-
import { type TableCellProps } from '@mui/material/TableCell';
|
10
|
-
import { alpha, lighten } from '@mui/material/styles';
|
11
|
-
import { type Theme } from '@mui/material/styles';
|
12
9
|
import { type MRT_AggregationFns } from './aggregationFns';
|
13
10
|
import { type MRT_FilterFns } from './filterFns';
|
14
11
|
import { type MRT_SortingFns } from './sortingFns';
|
15
12
|
import {
|
16
13
|
type MRT_Column,
|
17
14
|
type MRT_ColumnDef,
|
15
|
+
type MRT_ColumnHelper,
|
18
16
|
type MRT_ColumnOrderState,
|
19
17
|
type MRT_DefinedColumnDef,
|
18
|
+
type MRT_DisplayColumnDef,
|
20
19
|
type MRT_DisplayColumnIds,
|
21
20
|
type MRT_FilterOption,
|
21
|
+
type MRT_GroupColumnDef,
|
22
22
|
type MRT_GroupingState,
|
23
|
-
type MRT_Header,
|
24
23
|
type MRT_Row,
|
24
|
+
type MRT_RowData,
|
25
25
|
type MRT_TableInstance,
|
26
26
|
type MRT_TableOptions,
|
27
27
|
} from './types';
|
28
28
|
|
29
|
-
export const getColumnId = <TData extends
|
29
|
+
export const getColumnId = <TData extends MRT_RowData>(
|
30
30
|
columnDef: MRT_ColumnDef<TData>,
|
31
31
|
): string =>
|
32
32
|
columnDef.id ?? columnDef.accessorKey?.toString?.() ?? columnDef.header;
|
33
33
|
|
34
|
-
export const getAllLeafColumnDefs = <TData extends
|
34
|
+
export const getAllLeafColumnDefs = <TData extends MRT_RowData>(
|
35
35
|
columns: MRT_ColumnDef<TData>[],
|
36
36
|
): MRT_ColumnDef<TData>[] => {
|
37
37
|
const allLeafColumnDefs: MRT_ColumnDef<TData>[] = [];
|
@@ -48,7 +48,7 @@ export const getAllLeafColumnDefs = <TData extends Record<string, any>>(
|
|
48
48
|
return allLeafColumnDefs;
|
49
49
|
};
|
50
50
|
|
51
|
-
export const prepareColumns = <TData extends
|
51
|
+
export const prepareColumns = <TData extends MRT_RowData>({
|
52
52
|
aggregationFns,
|
53
53
|
columnDefs,
|
54
54
|
columnFilterFns,
|
@@ -122,7 +122,7 @@ export const prepareColumns = <TData extends Record<string, any>>({
|
|
122
122
|
return columnDef;
|
123
123
|
}) as MRT_DefinedColumnDef<TData>[];
|
124
124
|
|
125
|
-
export const reorderColumn = <TData extends
|
125
|
+
export const reorderColumn = <TData extends MRT_RowData>(
|
126
126
|
draggedColumn: MRT_Column<TData>,
|
127
127
|
targetColumn: MRT_Column<TData>,
|
128
128
|
columnOrder: MRT_ColumnOrderState,
|
@@ -139,7 +139,7 @@ export const reorderColumn = <TData extends Record<string, any>>(
|
|
139
139
|
return newColumnOrder;
|
140
140
|
};
|
141
141
|
|
142
|
-
export const showExpandColumn = <TData extends
|
142
|
+
export const showExpandColumn = <TData extends MRT_RowData>(
|
143
143
|
props: MRT_TableOptions<TData>,
|
144
144
|
grouping?: MRT_GroupingState,
|
145
145
|
) =>
|
@@ -149,7 +149,7 @@ export const showExpandColumn = <TData extends Record<string, any>>(
|
|
149
149
|
props.renderDetailPanel
|
150
150
|
);
|
151
151
|
|
152
|
-
export const getLeadingDisplayColumnIds = <TData extends
|
152
|
+
export const getLeadingDisplayColumnIds = <TData extends MRT_RowData>(
|
153
153
|
props: MRT_TableOptions<TData>,
|
154
154
|
) =>
|
155
155
|
[
|
@@ -167,10 +167,9 @@ export const getLeadingDisplayColumnIds = <TData extends Record<string, any>>(
|
|
167
167
|
'mrt-row-expand',
|
168
168
|
props.enableRowSelection && 'mrt-row-select',
|
169
169
|
props.enableRowNumbers && 'mrt-row-numbers',
|
170
|
-
props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
|
171
170
|
].filter(Boolean) as MRT_DisplayColumnIds[];
|
172
171
|
|
173
|
-
export const getTrailingDisplayColumnIds = <TData extends
|
172
|
+
export const getTrailingDisplayColumnIds = <TData extends MRT_RowData>(
|
174
173
|
props: MRT_TableOptions<TData>,
|
175
174
|
) =>
|
176
175
|
[
|
@@ -182,9 +181,10 @@ export const getTrailingDisplayColumnIds = <TData extends Record<string, any>>(
|
|
182
181
|
props.positionExpandColumn === 'last' &&
|
183
182
|
showExpandColumn(props) &&
|
184
183
|
'mrt-row-expand',
|
184
|
+
props.layoutMode === 'grid-no-grow' && 'mrt-row-spacer',
|
185
185
|
].filter(Boolean) as MRT_DisplayColumnIds[];
|
186
186
|
|
187
|
-
export const getDefaultColumnOrderIds = <TData extends
|
187
|
+
export const getDefaultColumnOrderIds = <TData extends MRT_RowData>(
|
188
188
|
props: MRT_TableOptions<TData>,
|
189
189
|
) => {
|
190
190
|
const leadingDisplayCols: string[] = getLeadingDisplayColumnIds(props);
|
@@ -199,7 +199,7 @@ export const getDefaultColumnOrderIds = <TData extends Record<string, any>>(
|
|
199
199
|
return [...leadingDisplayCols, ...allLeafColumnDefs, ...trailingDisplayCols];
|
200
200
|
};
|
201
201
|
|
202
|
-
export const getDefaultColumnFilterFn = <TData extends
|
202
|
+
export const getDefaultColumnFilterFn = <TData extends MRT_RowData>(
|
203
203
|
columnDef: MRT_ColumnDef<TData>,
|
204
204
|
): MRT_FilterOption => {
|
205
205
|
if (columnDef.filterVariant === 'multi-select') return 'arrIncludesSome';
|
@@ -212,7 +212,7 @@ export const getDefaultColumnFilterFn = <TData extends Record<string, any>>(
|
|
212
212
|
return 'fuzzy';
|
213
213
|
};
|
214
214
|
|
215
|
-
export const getIsFirstColumn = <TData extends
|
215
|
+
export const getIsFirstColumn = <TData extends MRT_RowData>(
|
216
216
|
column: MRT_Column<TData>,
|
217
217
|
table: MRT_TableInstance<TData>,
|
218
218
|
) => {
|
@@ -222,7 +222,7 @@ export const getIsFirstColumn = <TData extends Record<string, any>>(
|
|
222
222
|
: table.getVisibleLeafColumns()[0].id === column.id;
|
223
223
|
};
|
224
224
|
|
225
|
-
export const getIsLastColumn = <TData extends
|
225
|
+
export const getIsLastColumn = <TData extends MRT_RowData>(
|
226
226
|
column: MRT_Column<TData>,
|
227
227
|
table: MRT_TableInstance<TData>,
|
228
228
|
) => {
|
@@ -233,7 +233,7 @@ export const getIsLastColumn = <TData extends Record<string, any>>(
|
|
233
233
|
: columns[columns.length - 1].id === column.id;
|
234
234
|
};
|
235
235
|
|
236
|
-
export const getIsLastLeftPinnedColumn = <TData extends
|
236
|
+
export const getIsLastLeftPinnedColumn = <TData extends MRT_RowData>(
|
237
237
|
table: MRT_TableInstance<TData>,
|
238
238
|
column: MRT_Column<TData>,
|
239
239
|
) => {
|
@@ -243,13 +243,13 @@ export const getIsLastLeftPinnedColumn = <TData extends Record<string, any>>(
|
|
243
243
|
);
|
244
244
|
};
|
245
245
|
|
246
|
-
export const getIsFirstRightPinnedColumn = <TData extends
|
246
|
+
export const getIsFirstRightPinnedColumn = <TData extends MRT_RowData>(
|
247
247
|
column: MRT_Column<TData>,
|
248
248
|
) => {
|
249
249
|
return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
|
250
250
|
};
|
251
251
|
|
252
|
-
export const getTotalRight = <TData extends
|
252
|
+
export const getTotalRight = <TData extends MRT_RowData>(
|
253
253
|
table: MRT_TableInstance<TData>,
|
254
254
|
column: MRT_Column<TData>,
|
255
255
|
) => {
|
@@ -259,7 +259,7 @@ export const getTotalRight = <TData extends Record<string, any>>(
|
|
259
259
|
.reduce((acc, col) => acc + col.getSize(), 0);
|
260
260
|
};
|
261
261
|
|
262
|
-
export const getCanRankRows = <TData extends
|
262
|
+
export const getCanRankRows = <TData extends MRT_RowData>(
|
263
263
|
table: MRT_TableInstance<TData>,
|
264
264
|
) => {
|
265
265
|
const { getState, options } = table;
|
@@ -284,132 +284,17 @@ export const getCanRankRows = <TData extends Record<string, any>>(
|
|
284
284
|
);
|
285
285
|
};
|
286
286
|
|
287
|
-
export const getCommonCellStyles = <TData extends Record<string, any>>({
|
288
|
-
column,
|
289
|
-
header,
|
290
|
-
table,
|
291
|
-
tableCellProps,
|
292
|
-
theme,
|
293
|
-
}: {
|
294
|
-
column: MRT_Column<TData>;
|
295
|
-
header?: MRT_Header<TData>;
|
296
|
-
table: MRT_TableInstance<TData>;
|
297
|
-
tableCellProps: TableCellProps;
|
298
|
-
theme: Theme;
|
299
|
-
}) => {
|
300
|
-
const {
|
301
|
-
options: { layoutMode },
|
302
|
-
} = table;
|
303
|
-
const widthStyles: CSSProperties = {
|
304
|
-
minWidth: `max(calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId(
|
305
|
-
header?.id ?? column.id,
|
306
|
-
)}-size) * 1px), ${column.columnDef.minSize ?? 30}px)`,
|
307
|
-
width: `calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId(
|
308
|
-
header?.id ?? column.id,
|
309
|
-
)}-size) * 1px)`,
|
310
|
-
};
|
311
|
-
|
312
|
-
if (layoutMode === 'grid') {
|
313
|
-
widthStyles.flex = `var(--${header ? 'header' : 'col'}-${parseCSSVarId(
|
314
|
-
header?.id ?? column.id,
|
315
|
-
)}-size) 0 auto`;
|
316
|
-
} else if (layoutMode === 'grid-no-grow') {
|
317
|
-
widthStyles.flex = '0 0 auto';
|
318
|
-
}
|
319
|
-
|
320
|
-
return {
|
321
|
-
backgroundColor:
|
322
|
-
column.getIsPinned() && column.columnDef.columnDefType !== 'group'
|
323
|
-
? alpha(lighten(theme.palette.background.default, 0.04), 0.97)
|
324
|
-
: 'inherit',
|
325
|
-
backgroundImage: 'inherit',
|
326
|
-
boxShadow: getIsLastLeftPinnedColumn(table, column)
|
327
|
-
? `-4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
|
328
|
-
: getIsFirstRightPinnedColumn(column)
|
329
|
-
? `4px 0 8px -6px ${alpha(theme.palette.common.black, 0.2)} inset`
|
330
|
-
: undefined,
|
331
|
-
display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
|
332
|
-
left:
|
333
|
-
column.getIsPinned() === 'left'
|
334
|
-
? `${column.getStart('left')}px`
|
335
|
-
: undefined,
|
336
|
-
ml:
|
337
|
-
table.options.enableColumnVirtualization &&
|
338
|
-
column.getIsPinned() === 'left' &&
|
339
|
-
column.getPinnedIndex() === 0
|
340
|
-
? `-${
|
341
|
-
column.getSize() *
|
342
|
-
(table.getState().columnPinning.left?.length ?? 1)
|
343
|
-
}px`
|
344
|
-
: undefined,
|
345
|
-
mr:
|
346
|
-
table.options.enableColumnVirtualization &&
|
347
|
-
column.getIsPinned() === 'right' &&
|
348
|
-
column.getPinnedIndex() === table.getVisibleLeafColumns().length - 1
|
349
|
-
? `-${
|
350
|
-
column.getSize() *
|
351
|
-
(table.getState().columnPinning.right?.length ?? 1) *
|
352
|
-
1.2
|
353
|
-
}px`
|
354
|
-
: undefined,
|
355
|
-
opacity:
|
356
|
-
table.getState().draggingColumn?.id === column.id ||
|
357
|
-
table.getState().hoveredColumn?.id === column.id
|
358
|
-
? 0.5
|
359
|
-
: 1,
|
360
|
-
position:
|
361
|
-
column.getIsPinned() && column.columnDef.columnDefType !== 'group'
|
362
|
-
? 'sticky'
|
363
|
-
: undefined,
|
364
|
-
right:
|
365
|
-
column.getIsPinned() === 'right'
|
366
|
-
? `${getTotalRight(table, column)}px`
|
367
|
-
: undefined,
|
368
|
-
transition: table.options.enableColumnVirtualization
|
369
|
-
? 'none'
|
370
|
-
: `padding 150ms ease-in-out`,
|
371
|
-
...widthStyles,
|
372
|
-
// ...(!table.options.enableColumnResizing && widthStyles), //let devs pass in width styles if column resizing is disabled
|
373
|
-
...(parseFromValuesOrFunc(tableCellProps?.sx, theme) as any),
|
374
|
-
// ...(table.options.enableColumnResizing && widthStyles), //don't let devs pass in width styles if column resizing is enabled
|
375
|
-
};
|
376
|
-
};
|
377
|
-
|
378
|
-
export const MRT_DefaultColumn = {
|
379
|
-
filterVariant: 'text',
|
380
|
-
maxSize: 1000,
|
381
|
-
minSize: 40,
|
382
|
-
size: 180,
|
383
|
-
} as const;
|
384
|
-
|
385
|
-
export const MRT_DefaultDisplayColumn = {
|
386
|
-
columnDefType: 'display',
|
387
|
-
enableClickToCopy: false,
|
388
|
-
enableColumnActions: false,
|
389
|
-
enableColumnDragging: false,
|
390
|
-
enableColumnFilter: false,
|
391
|
-
enableColumnOrdering: false,
|
392
|
-
enableEditing: false,
|
393
|
-
enableGlobalFilter: false,
|
394
|
-
enableGrouping: false,
|
395
|
-
enableHiding: false,
|
396
|
-
enableResizing: false,
|
397
|
-
enableSorting: false,
|
398
|
-
} as const;
|
399
|
-
|
400
287
|
export const parseFromValuesOrFunc = <T, U>(
|
401
288
|
fn: ((arg: U) => T) | T | undefined,
|
402
289
|
arg: U,
|
403
290
|
): T | undefined => (fn instanceof Function ? fn(arg) : fn);
|
404
291
|
|
405
|
-
export const parseCSSVarId = (id: string) => id.replace(/[^a-zA-Z0-9]/g, '_');
|
406
|
-
|
407
292
|
export const flexRender = _flexRender as (
|
408
293
|
Comp: Renderable<any>,
|
409
294
|
props: any,
|
410
295
|
) => JSX.Element | ReactNode;
|
411
296
|
|
412
|
-
export const createRow = <TData extends
|
297
|
+
export const createRow = <TData extends MRT_RowData>(
|
413
298
|
table: MRT_TableInstance<TData>,
|
414
299
|
originalRow?: TData,
|
415
300
|
): MRT_Row<TData> =>
|
@@ -431,15 +316,35 @@ export const extraIndexRangeExtractor = (
|
|
431
316
|
range: Range,
|
432
317
|
draggingIndex: number,
|
433
318
|
) => {
|
434
|
-
const
|
319
|
+
const newIndexes = defaultRangeExtractor(range);
|
435
320
|
if (
|
436
321
|
draggingIndex >= 0 &&
|
437
322
|
draggingIndex < Math.max(range.startIndex - range.overscan, 0)
|
438
323
|
) {
|
439
|
-
|
324
|
+
newIndexes.unshift(draggingIndex);
|
440
325
|
}
|
441
326
|
if (draggingIndex >= 0 && draggingIndex > range.endIndex + range.overscan) {
|
442
|
-
|
327
|
+
newIndexes.push(draggingIndex);
|
443
328
|
}
|
444
|
-
return
|
329
|
+
return newIndexes;
|
445
330
|
};
|
331
|
+
|
332
|
+
export function createMRTColumnHelper<
|
333
|
+
TData extends MRT_RowData,
|
334
|
+
>(): MRT_ColumnHelper<TData> {
|
335
|
+
return {
|
336
|
+
accessor: (accessor, column) => {
|
337
|
+
return typeof accessor === 'function'
|
338
|
+
? ({
|
339
|
+
...column,
|
340
|
+
accessorFn: accessor,
|
341
|
+
} as any)
|
342
|
+
: {
|
343
|
+
...column,
|
344
|
+
accessorKey: accessor,
|
345
|
+
};
|
346
|
+
},
|
347
|
+
display: (column) => column as MRT_DisplayColumnDef<TData>,
|
348
|
+
group: (column) => column as MRT_GroupColumnDef<TData>,
|
349
|
+
};
|
350
|
+
}
|
package/src/filterFns.ts
CHANGED
@@ -4,8 +4,9 @@ import {
|
|
4
4
|
rankings,
|
5
5
|
} from '@tanstack/match-sorter-utils';
|
6
6
|
import { type Row, filterFns } from '@tanstack/react-table';
|
7
|
+
import { type MRT_RowData } from './types';
|
7
8
|
|
8
|
-
const fuzzy = <TData extends
|
9
|
+
const fuzzy = <TData extends MRT_RowData>(
|
9
10
|
row: Row<TData>,
|
10
11
|
columnId: string,
|
11
12
|
filterValue: number | string,
|
@@ -20,7 +21,7 @@ const fuzzy = <TData extends Record<string, any>>(
|
|
20
21
|
|
21
22
|
fuzzy.autoRemove = (val: any) => !val;
|
22
23
|
|
23
|
-
const contains = <TData extends
|
24
|
+
const contains = <TData extends MRT_RowData>(
|
24
25
|
row: Row<TData>,
|
25
26
|
id: string,
|
26
27
|
filterValue: number | string,
|
@@ -34,7 +35,7 @@ const contains = <TData extends Record<string, any>>(
|
|
34
35
|
|
35
36
|
contains.autoRemove = (val: any) => !val;
|
36
37
|
|
37
|
-
const startsWith = <TData extends
|
38
|
+
const startsWith = <TData extends MRT_RowData>(
|
38
39
|
row: Row<TData>,
|
39
40
|
id: string,
|
40
41
|
filterValue: number | string,
|
@@ -48,7 +49,7 @@ const startsWith = <TData extends Record<string, any>>(
|
|
48
49
|
|
49
50
|
startsWith.autoRemove = (val: any) => !val;
|
50
51
|
|
51
|
-
const endsWith = <TData extends
|
52
|
+
const endsWith = <TData extends MRT_RowData>(
|
52
53
|
row: Row<TData>,
|
53
54
|
id: string,
|
54
55
|
filterValue: number | string,
|
@@ -62,7 +63,7 @@ const endsWith = <TData extends Record<string, any>>(
|
|
62
63
|
|
63
64
|
endsWith.autoRemove = (val: any) => !val;
|
64
65
|
|
65
|
-
const equals = <TData extends
|
66
|
+
const equals = <TData extends MRT_RowData>(
|
66
67
|
row: Row<TData>,
|
67
68
|
id: string,
|
68
69
|
filterValue: number | string,
|
@@ -72,7 +73,7 @@ const equals = <TData extends Record<string, any>>(
|
|
72
73
|
|
73
74
|
equals.autoRemove = (val: any) => !val;
|
74
75
|
|
75
|
-
const notEquals = <TData extends
|
76
|
+
const notEquals = <TData extends MRT_RowData>(
|
76
77
|
row: Row<TData>,
|
77
78
|
id: string,
|
78
79
|
filterValue: number | string,
|
@@ -82,7 +83,7 @@ const notEquals = <TData extends Record<string, any>>(
|
|
82
83
|
|
83
84
|
notEquals.autoRemove = (val: any) => !val;
|
84
85
|
|
85
|
-
const greaterThan = <TData extends
|
86
|
+
const greaterThan = <TData extends MRT_RowData>(
|
86
87
|
row: Row<TData>,
|
87
88
|
id: string,
|
88
89
|
filterValue: number | string,
|
@@ -94,7 +95,7 @@ const greaterThan = <TData extends Record<string, any>>(
|
|
94
95
|
|
95
96
|
greaterThan.autoRemove = (val: any) => !val;
|
96
97
|
|
97
|
-
const greaterThanOrEqualTo = <TData extends
|
98
|
+
const greaterThanOrEqualTo = <TData extends MRT_RowData>(
|
98
99
|
row: Row<TData>,
|
99
100
|
id: string,
|
100
101
|
filterValue: number | string,
|
@@ -102,7 +103,7 @@ const greaterThanOrEqualTo = <TData extends Record<string, any>>(
|
|
102
103
|
|
103
104
|
greaterThanOrEqualTo.autoRemove = (val: any) => !val;
|
104
105
|
|
105
|
-
const lessThan = <TData extends
|
106
|
+
const lessThan = <TData extends MRT_RowData>(
|
106
107
|
row: Row<TData>,
|
107
108
|
id: string,
|
108
109
|
filterValue: number | string,
|
@@ -114,7 +115,7 @@ const lessThan = <TData extends Record<string, any>>(
|
|
114
115
|
|
115
116
|
lessThan.autoRemove = (val: any) => !val;
|
116
117
|
|
117
|
-
const lessThanOrEqualTo = <TData extends
|
118
|
+
const lessThanOrEqualTo = <TData extends MRT_RowData>(
|
118
119
|
row: Row<TData>,
|
119
120
|
id: string,
|
120
121
|
filterValue: number | string,
|
@@ -122,7 +123,7 @@ const lessThanOrEqualTo = <TData extends Record<string, any>>(
|
|
122
123
|
|
123
124
|
lessThanOrEqualTo.autoRemove = (val: any) => !val;
|
124
125
|
|
125
|
-
const between = <TData extends
|
126
|
+
const between = <TData extends MRT_RowData>(
|
126
127
|
row: Row<TData>,
|
127
128
|
id: string,
|
128
129
|
filterValues: [number | string, number | string],
|
@@ -137,7 +138,7 @@ const between = <TData extends Record<string, any>>(
|
|
137
138
|
|
138
139
|
between.autoRemove = (val: any) => !val;
|
139
140
|
|
140
|
-
const betweenInclusive = <TData extends
|
141
|
+
const betweenInclusive = <TData extends MRT_RowData>(
|
141
142
|
row: Row<TData>,
|
142
143
|
id: string,
|
143
144
|
filterValues: [number | string, number | string],
|
@@ -152,7 +153,7 @@ const betweenInclusive = <TData extends Record<string, any>>(
|
|
152
153
|
|
153
154
|
betweenInclusive.autoRemove = (val: any) => !val;
|
154
155
|
|
155
|
-
const empty = <TData extends
|
156
|
+
const empty = <TData extends MRT_RowData>(
|
156
157
|
row: Row<TData>,
|
157
158
|
id: string,
|
158
159
|
_filterValue: number | string,
|
@@ -160,7 +161,7 @@ const empty = <TData extends Record<string, any>>(
|
|
160
161
|
|
161
162
|
empty.autoRemove = (val: any) => !val;
|
162
163
|
|
163
|
-
const notEmpty = <TData extends
|
164
|
+
const notEmpty = <TData extends MRT_RowData>(
|
164
165
|
row: Row<TData>,
|
165
166
|
id: string,
|
166
167
|
_filterValue: number | string,
|
@@ -1,21 +1,22 @@
|
|
1
1
|
import { type VirtualItem } from '@tanstack/react-virtual';
|
2
|
-
import TableFooter from '@mui/material/TableFooter';
|
2
|
+
import TableFooter, { type TableFooterProps } from '@mui/material/TableFooter';
|
3
3
|
import { MRT_TableFooterRow } from './MRT_TableFooterRow';
|
4
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
5
|
-
import { type MRT_TableInstance } from '../types';
|
5
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
6
6
|
|
7
|
-
interface Props<TData extends
|
7
|
+
interface Props<TData extends MRT_RowData> extends TableFooterProps {
|
8
8
|
table: MRT_TableInstance<TData>;
|
9
9
|
virtualColumns?: VirtualItem[];
|
10
10
|
virtualPaddingLeft?: number;
|
11
11
|
virtualPaddingRight?: number;
|
12
12
|
}
|
13
13
|
|
14
|
-
export const MRT_TableFooter = <TData extends
|
14
|
+
export const MRT_TableFooter = <TData extends MRT_RowData>({
|
15
15
|
table,
|
16
16
|
virtualColumns,
|
17
17
|
virtualPaddingLeft,
|
18
18
|
virtualPaddingRight,
|
19
|
+
...rest
|
19
20
|
}: Props<TData>) => {
|
20
21
|
const {
|
21
22
|
getFooterGroups,
|
@@ -25,9 +26,12 @@ export const MRT_TableFooter = <TData extends Record<string, any>>({
|
|
25
26
|
} = table;
|
26
27
|
const { isFullScreen } = getState();
|
27
28
|
|
28
|
-
const tableFooterProps =
|
29
|
-
|
30
|
-
|
29
|
+
const tableFooterProps = {
|
30
|
+
...parseFromValuesOrFunc(muiTableFooterProps, {
|
31
|
+
table,
|
32
|
+
}),
|
33
|
+
...rest,
|
34
|
+
};
|
31
35
|
|
32
36
|
const stickFooter =
|
33
37
|
(isFullScreen || enableStickyFooter) && enableStickyFooter !== false;
|
@@ -1,15 +1,21 @@
|
|
1
|
-
import TableCell from '@mui/material/TableCell';
|
2
|
-
import {
|
3
|
-
import {
|
1
|
+
import TableCell, { type TableCellProps } from '@mui/material/TableCell';
|
2
|
+
import { parseFromValuesOrFunc } from '../column.utils';
|
3
|
+
import { getCommonMRTCellStyles } from '../style.utils';
|
4
|
+
import {
|
5
|
+
type MRT_Header,
|
6
|
+
type MRT_RowData,
|
7
|
+
type MRT_TableInstance,
|
8
|
+
} from '../types';
|
4
9
|
|
5
|
-
interface Props<TData extends
|
10
|
+
interface Props<TData extends MRT_RowData> extends TableCellProps {
|
6
11
|
footer: MRT_Header<TData>;
|
7
12
|
table: MRT_TableInstance<TData>;
|
8
13
|
}
|
9
14
|
|
10
|
-
export const MRT_TableFooterCell = <TData extends
|
15
|
+
export const MRT_TableFooterCell = <TData extends MRT_RowData>({
|
11
16
|
footer,
|
12
17
|
table,
|
18
|
+
...rest
|
13
19
|
}: Props<TData>) => {
|
14
20
|
const {
|
15
21
|
getState,
|
@@ -20,12 +26,11 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
|
|
20
26
|
const { columnDef } = column;
|
21
27
|
const { columnDefType } = columnDef;
|
22
28
|
|
29
|
+
const args = { column, table };
|
23
30
|
const tableCellProps = {
|
24
|
-
...parseFromValuesOrFunc(muiTableFooterCellProps,
|
25
|
-
...parseFromValuesOrFunc(columnDef.muiTableFooterCellProps,
|
26
|
-
|
27
|
-
table,
|
28
|
-
}),
|
31
|
+
...parseFromValuesOrFunc(muiTableFooterCellProps, args),
|
32
|
+
...parseFromValuesOrFunc(columnDef.muiTableFooterCellProps, args),
|
33
|
+
...rest,
|
29
34
|
};
|
30
35
|
|
31
36
|
return (
|
@@ -35,7 +40,7 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
|
|
35
40
|
variant="head"
|
36
41
|
{...tableCellProps}
|
37
42
|
sx={(theme) => ({
|
38
|
-
display: layoutMode?.startsWith('grid') ? 'grid' :
|
43
|
+
display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
|
39
44
|
fontWeight: 'bold',
|
40
45
|
justifyContent: columnDefType === 'group' ? 'center' : undefined,
|
41
46
|
p:
|
@@ -46,16 +51,17 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
|
|
46
51
|
: '1.5rem',
|
47
52
|
verticalAlign: 'top',
|
48
53
|
zIndex: column.getIsPinned() && columnDefType !== 'group' ? 2 : 1,
|
49
|
-
...
|
54
|
+
...getCommonMRTCellStyles({
|
50
55
|
column,
|
51
56
|
table,
|
52
57
|
tableCellProps,
|
53
58
|
theme,
|
54
59
|
}),
|
60
|
+
...(parseFromValuesOrFunc(tableCellProps?.sx, theme) as any),
|
55
61
|
})}
|
56
62
|
>
|
57
|
-
|
58
|
-
|
63
|
+
{tableCellProps.children ??
|
64
|
+
(footer.isPlaceholder
|
59
65
|
? null
|
60
66
|
: parseFromValuesOrFunc(columnDef.Footer, {
|
61
67
|
column,
|
@@ -63,8 +69,7 @@ export const MRT_TableFooterCell = <TData extends Record<string, any>>({
|
|
63
69
|
table,
|
64
70
|
}) ??
|
65
71
|
columnDef.footer ??
|
66
|
-
null}
|
67
|
-
</>
|
72
|
+
null)}
|
68
73
|
</TableCell>
|
69
74
|
);
|
70
75
|
};
|
@@ -1,15 +1,16 @@
|
|
1
1
|
import { type VirtualItem } from '@tanstack/react-virtual';
|
2
|
-
import TableRow from '@mui/material/TableRow';
|
3
|
-
import { lighten } from '@mui/material/styles';
|
2
|
+
import TableRow, { type TableRowProps } from '@mui/material/TableRow';
|
4
3
|
import { MRT_TableFooterCell } from './MRT_TableFooterCell';
|
5
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
5
|
+
import { getMRTTheme } from '../style.utils';
|
6
6
|
import {
|
7
7
|
type MRT_Header,
|
8
8
|
type MRT_HeaderGroup,
|
9
|
+
type MRT_RowData,
|
9
10
|
type MRT_TableInstance,
|
10
11
|
} from '../types';
|
11
12
|
|
12
|
-
interface Props<TData extends
|
13
|
+
interface Props<TData extends MRT_RowData> extends TableRowProps {
|
13
14
|
footerGroup: MRT_HeaderGroup<TData>;
|
14
15
|
table: MRT_TableInstance<TData>;
|
15
16
|
virtualColumns?: VirtualItem[];
|
@@ -17,12 +18,13 @@ interface Props<TData extends Record<string, any>> {
|
|
17
18
|
virtualPaddingRight?: number;
|
18
19
|
}
|
19
20
|
|
20
|
-
export const MRT_TableFooterRow = <TData extends
|
21
|
+
export const MRT_TableFooterRow = <TData extends MRT_RowData>({
|
21
22
|
footerGroup,
|
22
23
|
table,
|
23
24
|
virtualColumns,
|
24
25
|
virtualPaddingLeft,
|
25
26
|
virtualPaddingRight,
|
27
|
+
...rest
|
26
28
|
}: Props<TData>) => {
|
27
29
|
const {
|
28
30
|
options: { layoutMode, muiTableFooterRowProps },
|
@@ -39,16 +41,19 @@ export const MRT_TableFooterRow = <TData extends Record<string, any>>({
|
|
39
41
|
)
|
40
42
|
return null;
|
41
43
|
|
42
|
-
const tableRowProps =
|
43
|
-
|
44
|
-
|
45
|
-
|
44
|
+
const tableRowProps = {
|
45
|
+
...parseFromValuesOrFunc(muiTableFooterRowProps, {
|
46
|
+
footerGroup,
|
47
|
+
table,
|
48
|
+
}),
|
49
|
+
...rest,
|
50
|
+
};
|
46
51
|
|
47
52
|
return (
|
48
53
|
<TableRow
|
49
54
|
{...tableRowProps}
|
50
55
|
sx={(theme) => ({
|
51
|
-
backgroundColor:
|
56
|
+
backgroundColor: getMRTTheme(table, theme).baseBackgroundColor,
|
52
57
|
display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
|
53
58
|
width: '100%',
|
54
59
|
...(parseFromValuesOrFunc(tableRowProps?.sx, theme) as any),
|