material-react-table 2.0.0-beta.1 → 2.0.0-beta.11
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/dist/index.d.ts +279 -261
- package/dist/{esm/material-react-table.esm.js → index.esm.js} +943 -921
- package/dist/index.esm.js.map +1 -0
- package/dist/{cjs/index.js → index.js} +948 -926
- package/dist/index.js.map +1 -0
- package/dist/types/MaterialReactTable.d.ts +7 -0
- package/dist/types/body/MRT_TableBody.d.ts +13 -0
- package/dist/types/body/MRT_TableBodyCell.d.ts +15 -0
- package/dist/types/body/MRT_TableBodyCellValue.d.ts +8 -0
- package/dist/types/body/MRT_TableBodyRow.d.ts +18 -0
- package/dist/types/body/MRT_TableBodyRowGrabHandle.d.ts +10 -0
- package/dist/types/body/MRT_TableBodyRowPinButton.d.ts +8 -0
- package/dist/types/body/MRT_TableDetailPanel.d.ts +13 -0
- package/dist/types/buttons/MRT_ColumnPinningButtons.d.ts +8 -0
- package/dist/types/buttons/MRT_CopyButton.d.ts +8 -0
- package/dist/types/buttons/MRT_EditActionButtons.d.ts +9 -0
- package/dist/types/buttons/MRT_ExpandAllButton.d.ts +7 -0
- package/dist/types/buttons/MRT_ExpandButton.d.ts +8 -0
- package/dist/{cjs/types → types}/buttons/MRT_GrabHandleButton.d.ts +3 -3
- package/dist/types/buttons/MRT_RowPinButton.d.ts +10 -0
- package/dist/types/buttons/MRT_ShowHideColumnsButton.d.ts +7 -0
- package/dist/types/buttons/MRT_ToggleDensePaddingButton.d.ts +7 -0
- package/dist/types/buttons/MRT_ToggleFiltersButton.d.ts +7 -0
- package/dist/types/buttons/MRT_ToggleFullScreenButton.d.ts +7 -0
- package/dist/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +7 -0
- package/dist/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +9 -0
- package/dist/types/column.utils.d.ts +119 -0
- package/dist/types/filterFns.d.ts +69 -0
- package/dist/types/footer/MRT_TableFooter.d.ts +11 -0
- package/dist/types/footer/MRT_TableFooterCell.d.ts +8 -0
- package/dist/types/footer/MRT_TableFooterRow.d.ts +12 -0
- package/dist/types/head/MRT_TableHead.d.ts +11 -0
- package/dist/types/head/MRT_TableHeadCell.d.ts +8 -0
- package/dist/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +8 -0
- package/dist/types/head/MRT_TableHeadCellFilterContainer.d.ts +8 -0
- package/dist/types/head/MRT_TableHeadCellFilterLabel.d.ts +8 -0
- package/dist/{cjs/types → types}/head/MRT_TableHeadCellGrabHandle.d.ts +4 -3
- package/dist/types/head/MRT_TableHeadCellResizeHandle.d.ts +8 -0
- package/dist/types/head/MRT_TableHeadCellSortLabel.d.ts +8 -0
- package/dist/types/head/MRT_TableHeadRow.d.ts +12 -0
- package/dist/types/hooks/useMRT_DisplayColumns.d.ts +9 -0
- package/dist/types/hooks/useMRT_Effects.d.ts +2 -0
- package/dist/types/hooks/useMRT_TableInstance.d.ts +2 -0
- package/dist/types/hooks/useMRT_TableOptions.d.ts +22 -0
- package/dist/{cjs/types → types}/index.d.ts +1 -0
- package/dist/types/inputs/MRT_EditCellTextField.d.ts +8 -0
- package/dist/types/inputs/MRT_FilterCheckbox.d.ts +8 -0
- package/dist/types/inputs/MRT_FilterRangeFields.d.ts +8 -0
- package/dist/types/inputs/MRT_FilterRangeSlider.d.ts +8 -0
- package/dist/types/inputs/MRT_FilterTextField.d.ts +9 -0
- package/dist/types/inputs/MRT_GlobalFilterTextField.d.ts +7 -0
- package/dist/types/inputs/MRT_SelectCheckbox.d.ts +9 -0
- package/dist/types/locales/az.d.ts +2 -0
- package/dist/{cjs/types → types}/locales/no.d.ts +1 -1
- package/dist/{esm/types → types}/menus/MRT_ColumnActionMenu.d.ts +4 -3
- package/dist/{esm/types → types}/menus/MRT_FilterOptionMenu.d.ts +4 -3
- package/dist/types/menus/MRT_RowActionMenu.d.ts +12 -0
- package/dist/types/menus/MRT_ShowHideColumnsMenu.d.ts +10 -0
- package/dist/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +12 -0
- package/dist/types/modals/MRT_EditRowModal.d.ts +8 -0
- package/dist/{esm/types → types}/sortingFns.d.ts +3 -3
- package/dist/types/style.utils.d.ts +32 -0
- package/dist/types/table/MRT_Table.d.ts +7 -0
- package/dist/types/table/MRT_TableContainer.d.ts +7 -0
- package/dist/types/table/MRT_TableLoadingOverlay.d.ts +7 -0
- package/dist/types/table/MRT_TablePaper.d.ts +7 -0
- package/dist/{cjs/types → types}/table/index.d.ts +1 -0
- package/dist/types/toolbar/MRT_BottomToolbar.d.ts +7 -0
- package/dist/types/toolbar/MRT_LinearProgressBar.d.ts +8 -0
- package/dist/types/toolbar/MRT_TablePagination.d.ts +11 -0
- package/dist/types/toolbar/MRT_ToolbarAlertBanner.d.ts +8 -0
- package/dist/types/toolbar/MRT_ToolbarDropZone.d.ts +7 -0
- package/dist/types/toolbar/MRT_ToolbarInternalButtons.d.ts +7 -0
- package/dist/types/toolbar/MRT_TopToolbar.d.ts +6 -0
- package/dist/{cjs/types → types}/types.d.ts +69 -50
- package/dist/types/useMaterialReactTable.d.ts +2 -0
- package/locales/ar.d.ts +1 -0
- package/locales/ar.js +0 -1
- package/locales/{ar.esm.js → ar.mjs} +0 -1
- package/locales/az.d.ts +3 -0
- package/locales/az.js +97 -0
- package/locales/az.mjs +93 -0
- package/locales/bg.d.ts +1 -0
- package/locales/bg.js +0 -1
- package/locales/{bg.esm.js → bg.mjs} +0 -1
- package/locales/cs.d.ts +1 -0
- package/locales/cs.js +0 -1
- package/locales/{cs.esm.js → cs.mjs} +0 -1
- package/locales/da.d.ts +1 -0
- package/locales/da.js +0 -1
- package/locales/{da.esm.js → da.mjs} +0 -1
- package/locales/de.d.ts +1 -0
- package/locales/de.js +0 -1
- package/locales/{de.esm.js → de.mjs} +0 -1
- package/locales/en.d.ts +1 -0
- package/locales/en.js +0 -1
- package/locales/{en.esm.js → en.mjs} +0 -1
- package/locales/es.d.ts +1 -0
- package/locales/es.js +0 -1
- package/locales/{es.esm.js → es.mjs} +0 -1
- package/locales/et.d.ts +1 -0
- package/locales/et.js +0 -1
- package/locales/{et.esm.js → et.mjs} +0 -1
- package/locales/fa.d.ts +1 -0
- package/locales/fa.js +0 -1
- package/locales/{fa.esm.js → fa.mjs} +0 -1
- package/locales/fi.d.ts +1 -0
- package/locales/fi.js +0 -1
- package/locales/{fi.esm.js → fi.mjs} +0 -1
- package/locales/fr.d.ts +1 -0
- package/locales/fr.js +0 -1
- package/locales/{fr.esm.js → fr.mjs} +0 -1
- package/locales/hu.d.ts +1 -0
- package/locales/hu.js +0 -1
- package/locales/{hu.esm.js → hu.mjs} +0 -1
- package/locales/hy.d.ts +1 -0
- package/locales/hy.js +0 -1
- package/locales/{hy.esm.js → hy.mjs} +0 -1
- package/locales/id.d.ts +1 -0
- package/locales/id.js +0 -1
- package/locales/{id.esm.js → id.mjs} +0 -1
- package/locales/it.d.ts +1 -0
- package/locales/it.js +0 -1
- package/locales/{it.esm.js → it.mjs} +0 -1
- package/locales/ja.d.ts +1 -0
- package/locales/ja.js +0 -1
- package/locales/{ja.esm.js → ja.mjs} +0 -1
- package/locales/ko.d.ts +1 -0
- package/locales/ko.js +0 -1
- package/locales/{ko.esm.js → ko.mjs} +0 -1
- package/locales/nl.d.ts +1 -0
- package/locales/nl.js +0 -1
- package/locales/{nl.esm.js → nl.mjs} +0 -1
- package/locales/no.d.ts +2 -1
- package/locales/no.js +0 -1
- package/locales/{no.esm.js → no.mjs} +0 -1
- package/locales/np.d.ts +1 -0
- package/locales/np.js +0 -1
- package/locales/{np.esm.js → np.mjs} +0 -1
- package/locales/pl.d.ts +1 -0
- package/locales/pl.js +0 -1
- package/locales/{pl.esm.js → pl.mjs} +0 -1
- package/locales/pt-BR.d.ts +1 -0
- package/locales/pt-BR.js +0 -1
- package/locales/{pt-BR.esm.js → pt-BR.mjs} +0 -1
- package/locales/pt.d.ts +1 -0
- package/locales/pt.js +0 -1
- package/locales/{pt.esm.js → pt.mjs} +0 -1
- package/locales/ro.d.ts +1 -0
- package/locales/ro.js +0 -1
- package/locales/{ro.esm.js → ro.mjs} +0 -1
- package/locales/ru.d.ts +1 -0
- package/locales/ru.js +0 -1
- package/locales/{ru.esm.js → ru.mjs} +0 -1
- package/locales/sk.d.ts +1 -0
- package/locales/sk.js +0 -1
- 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 -1
- 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 -1
- 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 -1
- package/locales/{sv.esm.js → sv.mjs} +0 -1
- package/locales/tr.d.ts +1 -0
- package/locales/tr.js +0 -1
- package/locales/{tr.esm.js → tr.mjs} +0 -1
- package/locales/uk.d.ts +1 -0
- package/locales/uk.js +0 -1
- package/locales/{uk.esm.js → uk.mjs} +0 -1
- package/locales/vi.d.ts +1 -0
- package/locales/vi.js +0 -1
- package/locales/{vi.esm.js → vi.mjs} +0 -1
- package/locales/zh-Hans.d.ts +1 -0
- package/locales/zh-Hans.js +17 -18
- 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 -1
- package/locales/{zh-Hant.esm.js → zh-Hant.mjs} +0 -1
- package/package.json +215 -31
- package/src/MaterialReactTable.tsx +5 -4
- package/src/body/MRT_TableBody.tsx +14 -8
- package/src/body/MRT_TableBodyCell.tsx +77 -70
- package/src/body/MRT_TableBodyCellValue.tsx +13 -9
- package/src/body/MRT_TableBodyRow.tsx +26 -15
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +16 -7
- package/src/body/MRT_TableBodyRowPinButton.tsx +18 -7
- package/src/body/MRT_TableDetailPanel.tsx +19 -11
- 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 +102 -91
- 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 +14 -9
- 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 +18 -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 +20 -10
- 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/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/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_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/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/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_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/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/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/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/modals/MRT_EditRowModal.d.ts +0 -7
- 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/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/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_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/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/dist/{cjs/types → types}/aggregationFns.d.ts +0 -0
- /package/dist/{cjs/types → types}/body/index.d.ts +0 -0
- /package/dist/{cjs/types → types}/buttons/index.d.ts +0 -0
- /package/dist/{cjs/types → types}/footer/index.d.ts +0 -0
- /package/dist/{cjs/types → types}/head/index.d.ts +0 -0
- /package/dist/{cjs/types → types}/icons.d.ts +0 -0
- /package/dist/{cjs/types → types}/inputs/index.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/ar.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/bg.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/cs.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/da.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/de.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/en.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/es.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/et.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/fa.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/fi.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/fr.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/hu.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/hy.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/id.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/it.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/ja.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/ko.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/nl.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/np.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/pl.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/pt-BR.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/pt.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/ro.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/ru.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/sk.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/sr-Cyrl-RS.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/sr-Latn-RS.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/sv.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/tr.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/uk.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/vi.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/zh-Hans.d.ts +0 -0
- /package/dist/{cjs/types → types}/locales/zh-Hant.d.ts +0 -0
- /package/dist/{cjs/types → types}/menus/index.d.ts +0 -0
- /package/dist/{cjs/types → types}/modals/index.d.ts +0 -0
- /package/dist/{cjs/types → types}/toolbar/index.d.ts +0 -0
@@ -1,19 +1,25 @@
|
|
1
1
|
import { type MouseEvent, useState } from 'react';
|
2
2
|
import { type RowPinningPosition } from '@tanstack/react-table';
|
3
|
-
import IconButton from '@mui/material/IconButton';
|
3
|
+
import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
4
4
|
import Tooltip from '@mui/material/Tooltip';
|
5
|
-
import {
|
5
|
+
import { parseFromValuesOrFunc } from '../column.utils';
|
6
|
+
import {
|
7
|
+
type MRT_Row,
|
8
|
+
type MRT_RowData,
|
9
|
+
type MRT_TableInstance,
|
10
|
+
} from '../types';
|
6
11
|
|
7
|
-
interface Props<TData extends
|
12
|
+
interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
8
13
|
pinningPosition: RowPinningPosition;
|
9
14
|
row: MRT_Row<TData>;
|
10
15
|
table: MRT_TableInstance<TData>;
|
11
16
|
}
|
12
17
|
|
13
|
-
export const MRT_RowPinButton = <TData extends
|
18
|
+
export const MRT_RowPinButton = <TData extends MRT_RowData>({
|
14
19
|
pinningPosition,
|
15
20
|
row,
|
16
21
|
table,
|
22
|
+
...rest
|
17
23
|
}: Props<TData>) => {
|
18
24
|
const {
|
19
25
|
options: {
|
@@ -35,7 +41,6 @@ export const MRT_RowPinButton = <TData extends Record<string, any>>({
|
|
35
41
|
|
36
42
|
return (
|
37
43
|
<Tooltip
|
38
|
-
arrow
|
39
44
|
enterDelay={1000}
|
40
45
|
enterNextDelay={1000}
|
41
46
|
open={tooltipOpened}
|
@@ -47,10 +52,12 @@ export const MRT_RowPinButton = <TData extends Record<string, any>>({
|
|
47
52
|
onMouseEnter={() => setTooltipOpened(true)}
|
48
53
|
onMouseLeave={() => setTooltipOpened(false)}
|
49
54
|
size="small"
|
50
|
-
|
55
|
+
{...rest}
|
56
|
+
sx={(theme) => ({
|
51
57
|
height: '24px',
|
52
58
|
width: '24px',
|
53
|
-
|
59
|
+
...(parseFromValuesOrFunc(rest?.sx, theme) as any),
|
60
|
+
})}
|
54
61
|
>
|
55
62
|
{isPinned ? (
|
56
63
|
<CloseIcon />
|
@@ -2,13 +2,13 @@ import { type MouseEvent, useState } from 'react';
|
|
2
2
|
import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
4
4
|
import { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';
|
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 IconButtonProps {
|
8
8
|
table: MRT_TableInstance<TData>;
|
9
9
|
}
|
10
10
|
|
11
|
-
export const MRT_ShowHideColumnsButton = <TData extends
|
11
|
+
export const MRT_ShowHideColumnsButton = <TData extends MRT_RowData>({
|
12
12
|
table,
|
13
13
|
...rest
|
14
14
|
}: Props<TData>) => {
|
@@ -27,7 +27,7 @@ export const MRT_ShowHideColumnsButton = <TData extends Record<string, any>>({
|
|
27
27
|
|
28
28
|
return (
|
29
29
|
<>
|
30
|
-
<Tooltip
|
30
|
+
<Tooltip title={rest?.title ?? localization.showHideColumns}>
|
31
31
|
<IconButton
|
32
32
|
aria-label={localization.showHideColumns}
|
33
33
|
onClick={handleClick}
|
@@ -1,14 +1,12 @@
|
|
1
1
|
import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
2
2
|
import Tooltip from '@mui/material/Tooltip';
|
3
|
-
import { type MRT_TableInstance } from '../types';
|
3
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
4
4
|
|
5
|
-
interface Props<TData extends
|
5
|
+
interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
6
6
|
table: MRT_TableInstance<TData>;
|
7
7
|
}
|
8
8
|
|
9
|
-
export const MRT_ToggleDensePaddingButton = <
|
10
|
-
TData extends Record<string, any>,
|
11
|
-
>({
|
9
|
+
export const MRT_ToggleDensePaddingButton = <TData extends MRT_RowData>({
|
12
10
|
table,
|
13
11
|
...rest
|
14
12
|
}: Props<TData>) => {
|
@@ -33,7 +31,7 @@ export const MRT_ToggleDensePaddingButton = <
|
|
33
31
|
};
|
34
32
|
|
35
33
|
return (
|
36
|
-
<Tooltip
|
34
|
+
<Tooltip title={rest?.title ?? localization.toggleDensity}>
|
37
35
|
<IconButton
|
38
36
|
aria-label={localization.toggleDensity}
|
39
37
|
onClick={handleToggleDensePadding}
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
2
2
|
import Tooltip from '@mui/material/Tooltip';
|
3
|
-
import { type MRT_TableInstance } from '../types';
|
3
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
4
4
|
|
5
|
-
interface Props<TData extends
|
5
|
+
interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
6
6
|
table: MRT_TableInstance<TData>;
|
7
7
|
}
|
8
8
|
|
9
|
-
export const MRT_ToggleFiltersButton = <TData extends
|
9
|
+
export const MRT_ToggleFiltersButton = <TData extends MRT_RowData>({
|
10
10
|
table,
|
11
11
|
...rest
|
12
12
|
}: Props<TData>) => {
|
@@ -25,7 +25,7 @@ export const MRT_ToggleFiltersButton = <TData extends Record<string, any>>({
|
|
25
25
|
};
|
26
26
|
|
27
27
|
return (
|
28
|
-
<Tooltip
|
28
|
+
<Tooltip title={rest?.title ?? localization.showHideFilters}>
|
29
29
|
<IconButton
|
30
30
|
aria-label={localization.showHideFilters}
|
31
31
|
onClick={handleToggleShowFilters}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { useState } from 'react';
|
2
2
|
import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
4
|
-
import { type MRT_TableInstance } from '../types';
|
4
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
5
5
|
|
6
|
-
interface Props<TData extends
|
6
|
+
interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
7
7
|
table: MRT_TableInstance<TData>;
|
8
8
|
}
|
9
9
|
|
10
|
-
export const MRT_ToggleFullScreenButton = <TData extends
|
10
|
+
export const MRT_ToggleFullScreenButton = <TData extends MRT_RowData>({
|
11
11
|
table,
|
12
12
|
...rest
|
13
13
|
}: Props<TData>) => {
|
@@ -30,7 +30,6 @@ export const MRT_ToggleFullScreenButton = <TData extends Record<string, any>>({
|
|
30
30
|
|
31
31
|
return (
|
32
32
|
<Tooltip
|
33
|
-
arrow
|
34
33
|
open={tooltipOpened}
|
35
34
|
title={rest?.title ?? localization.toggleFullScreen}
|
36
35
|
>
|
@@ -1,14 +1,12 @@
|
|
1
1
|
import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
2
2
|
import Tooltip from '@mui/material/Tooltip';
|
3
|
-
import { type MRT_TableInstance } from '../types';
|
3
|
+
import { type MRT_RowData, type MRT_TableInstance } from '../types';
|
4
4
|
|
5
|
-
interface Props<TData extends
|
5
|
+
interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
6
6
|
table: MRT_TableInstance<TData>;
|
7
7
|
}
|
8
8
|
|
9
|
-
export const MRT_ToggleGlobalFilterButton = <
|
10
|
-
TData extends Record<string, any>,
|
11
|
-
>({
|
9
|
+
export const MRT_ToggleGlobalFilterButton = <TData extends MRT_RowData>({
|
12
10
|
table,
|
13
11
|
...rest
|
14
12
|
}: Props<TData>) => {
|
@@ -30,7 +28,7 @@ export const MRT_ToggleGlobalFilterButton = <
|
|
30
28
|
};
|
31
29
|
|
32
30
|
return (
|
33
|
-
<Tooltip
|
31
|
+
<Tooltip title={rest?.title ?? localization.showHideSearch}>
|
34
32
|
<IconButton
|
35
33
|
aria-label={rest?.title ?? localization.showHideSearch}
|
36
34
|
disabled={!!globalFilter}
|
@@ -1,10 +1,15 @@
|
|
1
1
|
import { type MouseEvent, useState } from 'react';
|
2
|
-
import IconButton from '@mui/material/IconButton';
|
2
|
+
import IconButton, { type IconButtonProps } from '@mui/material/IconButton';
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
4
4
|
import { MRT_EditActionButtons } from './MRT_EditActionButtons';
|
5
5
|
import { parseFromValuesOrFunc } from '../column.utils';
|
6
6
|
import { MRT_RowActionMenu } from '../menus/MRT_RowActionMenu';
|
7
|
-
import {
|
7
|
+
import {
|
8
|
+
type MRT_Cell,
|
9
|
+
type MRT_Row,
|
10
|
+
type MRT_RowData,
|
11
|
+
type MRT_TableInstance,
|
12
|
+
} from '../types';
|
8
13
|
|
9
14
|
const commonIconButtonStyles = {
|
10
15
|
'&:hover': {
|
@@ -17,18 +22,17 @@ const commonIconButtonStyles = {
|
|
17
22
|
width: '2rem',
|
18
23
|
};
|
19
24
|
|
20
|
-
interface Props<TData extends
|
25
|
+
interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
21
26
|
cell: MRT_Cell<TData>;
|
22
27
|
row: MRT_Row<TData>;
|
23
28
|
table: MRT_TableInstance<TData>;
|
24
29
|
}
|
25
30
|
|
26
|
-
export const MRT_ToggleRowActionMenuButton = <
|
27
|
-
TData extends Record<string, any>,
|
28
|
-
>({
|
31
|
+
export const MRT_ToggleRowActionMenuButton = <TData extends MRT_RowData>({
|
29
32
|
cell,
|
30
33
|
row,
|
31
34
|
table,
|
35
|
+
...rest
|
32
36
|
}: Props<TData>) => {
|
33
37
|
const {
|
34
38
|
getState,
|
@@ -74,12 +78,14 @@ export const MRT_ToggleRowActionMenuButton = <
|
|
74
78
|
) : showEditActionButtons ? (
|
75
79
|
<MRT_EditActionButtons row={row} table={table} />
|
76
80
|
) : !renderRowActionMenuItems &&
|
77
|
-
parseFromValuesOrFunc(enableEditing, row)
|
78
|
-
|
81
|
+
parseFromValuesOrFunc(enableEditing, row) &&
|
82
|
+
['modal', 'row'].includes(editDisplayMode!) ? (
|
83
|
+
<Tooltip placement="right" title={localization.edit}>
|
79
84
|
<IconButton
|
80
85
|
aria-label={localization.edit}
|
81
86
|
onClick={handleStartEditMode}
|
82
87
|
sx={commonIconButtonStyles}
|
88
|
+
{...rest}
|
83
89
|
>
|
84
90
|
<EditIcon />
|
85
91
|
</IconButton>
|
@@ -87,7 +93,6 @@ export const MRT_ToggleRowActionMenuButton = <
|
|
87
93
|
) : renderRowActionMenuItems ? (
|
88
94
|
<>
|
89
95
|
<Tooltip
|
90
|
-
arrow
|
91
96
|
enterDelay={1000}
|
92
97
|
enterNextDelay={1000}
|
93
98
|
title={localization.rowActions}
|
@@ -97,6 +102,7 @@ export const MRT_ToggleRowActionMenuButton = <
|
|
97
102
|
onClick={handleOpenRowActionMenu}
|
98
103
|
size="small"
|
99
104
|
sx={commonIconButtonStyles}
|
105
|
+
{...rest}
|
100
106
|
>
|
101
107
|
<MoreHorizIcon />
|
102
108
|
</IconButton>
|
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
|
+
}
|