material-react-table 1.14.0 → 2.0.0-alpha.0
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 -0
- package/dist/cjs/index.js +1629 -1323
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +7 -11
- package/dist/cjs/types/body/MRT_TableBody.d.ts +4 -5
- package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +5 -5
- package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +5 -6
- package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +5 -5
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +6 -6
- package/dist/cjs/types/body/index.d.ts +6 -0
- package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +7 -0
- package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -2
- package/dist/cjs/types/buttons/index.d.ts +12 -0
- package/dist/cjs/types/column.utils.d.ts +39 -51
- package/dist/cjs/types/filterFns.d.ts +14 -14
- package/dist/cjs/types/footer/MRT_TableFooter.d.ts +3 -3
- package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +4 -4
- package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +4 -4
- package/dist/cjs/types/footer/index.d.ts +3 -0
- package/dist/cjs/types/head/MRT_TableHead.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +4 -4
- package/dist/cjs/types/head/index.d.ts +9 -0
- package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +9 -0
- package/dist/cjs/types/hooks/useMRT_Effects.d.ts +2 -0
- package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +2 -0
- package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +2 -0
- package/dist/cjs/types/index.d.ts +14 -25
- package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +2 -3
- package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +4 -4
- package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +4 -4
- package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +4 -4
- package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +4 -4
- package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +2 -2
- package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +4 -4
- package/dist/cjs/types/inputs/index.d.ts +7 -0
- package/dist/cjs/types/locales/ar.d.ts +2 -0
- package/dist/cjs/types/locales/bg.d.ts +2 -0
- package/dist/cjs/types/locales/et.d.ts +2 -0
- package/dist/cjs/types/locales/ko.d.ts +2 -0
- package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
- package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +2 -2
- package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +4 -4
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +2 -2
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -2
- package/dist/cjs/types/menus/index.d.ts +5 -0
- package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +7 -0
- package/dist/cjs/types/modals/index.d.ts +1 -0
- package/dist/cjs/types/sortingFns.d.ts +2 -418
- package/dist/cjs/types/table/MRT_Table.d.ts +3 -3
- package/dist/cjs/types/table/MRT_TableContainer.d.ts +3 -3
- package/dist/cjs/types/table/MRT_TablePaper.d.ts +3 -3
- package/dist/cjs/types/table/index.d.ts +4 -0
- package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +2 -2
- package/dist/cjs/types/toolbar/index.d.ts +7 -0
- package/dist/cjs/types/types.d.ts +116 -85
- package/dist/cjs/types/useMaterialReactTable.d.ts +2 -0
- package/dist/esm/material-react-table.esm.js +1559 -1317
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +7 -11
- package/dist/esm/types/body/MRT_TableBody.d.ts +4 -5
- package/dist/esm/types/body/MRT_TableBodyCell.d.ts +5 -5
- package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +5 -6
- package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +5 -5
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +6 -6
- package/dist/esm/types/body/index.d.ts +6 -0
- package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_CopyButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +7 -0
- package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -2
- package/dist/esm/types/buttons/index.d.ts +12 -0
- package/dist/esm/types/column.utils.d.ts +39 -51
- package/dist/esm/types/filterFns.d.ts +14 -14
- package/dist/esm/types/footer/MRT_TableFooter.d.ts +3 -3
- package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +4 -4
- package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +4 -4
- package/dist/esm/types/footer/index.d.ts +3 -0
- package/dist/esm/types/head/MRT_TableHead.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCell.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadRow.d.ts +4 -4
- package/dist/esm/types/head/index.d.ts +9 -0
- package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +9 -0
- package/dist/esm/types/hooks/useMRT_Effects.d.ts +2 -0
- package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +2 -0
- package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +2 -0
- package/dist/esm/types/index.d.ts +14 -25
- package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +2 -3
- package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +4 -4
- package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +4 -4
- package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +4 -4
- package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +4 -4
- package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +2 -2
- package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +4 -4
- package/dist/esm/types/inputs/index.d.ts +7 -0
- package/dist/esm/types/locales/ar.d.ts +2 -0
- package/dist/esm/types/locales/bg.d.ts +2 -0
- package/dist/esm/types/locales/et.d.ts +2 -0
- package/dist/esm/types/locales/ko.d.ts +2 -0
- package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
- package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +2 -2
- package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +4 -4
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +2 -2
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -2
- package/dist/esm/types/menus/index.d.ts +5 -0
- package/dist/esm/types/modals/MRT_EditRowModal.d.ts +7 -0
- package/dist/esm/types/modals/index.d.ts +1 -0
- package/dist/esm/types/sortingFns.d.ts +2 -418
- package/dist/esm/types/table/MRT_Table.d.ts +3 -3
- package/dist/esm/types/table/MRT_TableContainer.d.ts +3 -3
- package/dist/esm/types/table/MRT_TablePaper.d.ts +3 -3
- package/dist/esm/types/table/index.d.ts +4 -0
- package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +2 -2
- package/dist/esm/types/toolbar/index.d.ts +7 -0
- package/dist/esm/types/types.d.ts +116 -85
- package/dist/esm/types/useMaterialReactTable.d.ts +2 -0
- package/dist/index.d.ts +606 -156
- package/locales/ar.d.ts +2 -0
- package/locales/ar.esm.d.ts +2 -0
- package/locales/ar.esm.js +93 -0
- package/locales/ar.esm.js.map +1 -0
- package/locales/ar.js +97 -0
- package/locales/ar.js.map +1 -0
- package/locales/bg.d.ts +2 -0
- package/locales/bg.esm.d.ts +2 -0
- package/locales/bg.esm.js +93 -0
- package/locales/bg.esm.js.map +1 -0
- package/locales/bg.js +97 -0
- package/locales/bg.js.map +1 -0
- package/locales/cs.esm.js +1 -2
- package/locales/cs.esm.js.map +1 -1
- package/locales/cs.js +1 -2
- package/locales/cs.js.map +1 -1
- package/locales/da.esm.js +0 -1
- package/locales/da.esm.js.map +1 -1
- package/locales/da.js +0 -1
- package/locales/da.js.map +1 -1
- package/locales/de.esm.js +0 -1
- package/locales/de.esm.js.map +1 -1
- package/locales/de.js +0 -1
- package/locales/de.js.map +1 -1
- package/locales/en.esm.js +0 -1
- package/locales/en.esm.js.map +1 -1
- package/locales/en.js +0 -1
- package/locales/en.js.map +1 -1
- package/locales/es.esm.js +0 -1
- package/locales/es.esm.js.map +1 -1
- package/locales/es.js +0 -1
- package/locales/es.js.map +1 -1
- package/locales/et.d.ts +2 -0
- package/locales/et.esm.d.ts +2 -0
- package/locales/et.esm.js +93 -0
- package/locales/et.esm.js.map +1 -0
- package/locales/et.js +97 -0
- package/locales/et.js.map +1 -0
- package/locales/fa.esm.js +0 -1
- package/locales/fa.esm.js.map +1 -1
- package/locales/fa.js +0 -1
- package/locales/fa.js.map +1 -1
- package/locales/fi.esm.js +0 -1
- package/locales/fi.esm.js.map +1 -1
- package/locales/fi.js +0 -1
- package/locales/fi.js.map +1 -1
- package/locales/fr.esm.js +0 -1
- package/locales/fr.esm.js.map +1 -1
- package/locales/fr.js +0 -1
- package/locales/fr.js.map +1 -1
- package/locales/hu.esm.js +0 -1
- package/locales/hu.esm.js.map +1 -1
- package/locales/hu.js +0 -1
- package/locales/hu.js.map +1 -1
- package/locales/id.esm.js +0 -1
- package/locales/id.esm.js.map +1 -1
- package/locales/id.js +0 -1
- package/locales/id.js.map +1 -1
- package/locales/it.esm.js +0 -1
- package/locales/it.esm.js.map +1 -1
- package/locales/it.js +0 -1
- package/locales/it.js.map +1 -1
- package/locales/ja.esm.js +0 -1
- package/locales/ja.esm.js.map +1 -1
- package/locales/ja.js +0 -1
- package/locales/ja.js.map +1 -1
- package/locales/ko.d.ts +2 -0
- package/locales/ko.esm.d.ts +2 -0
- package/locales/ko.esm.js +93 -0
- package/locales/ko.esm.js.map +1 -0
- package/locales/ko.js +97 -0
- package/locales/ko.js.map +1 -0
- package/locales/nl.esm.js +0 -1
- package/locales/nl.esm.js.map +1 -1
- package/locales/nl.js +0 -1
- package/locales/nl.js.map +1 -1
- package/locales/no.esm.js +0 -1
- package/locales/no.esm.js.map +1 -1
- package/locales/no.js +0 -1
- package/locales/no.js.map +1 -1
- package/locales/pl.esm.js +0 -1
- package/locales/pl.esm.js.map +1 -1
- package/locales/pl.js +0 -1
- package/locales/pl.js.map +1 -1
- package/locales/pt-BR.esm.js +0 -1
- package/locales/pt-BR.esm.js.map +1 -1
- package/locales/pt-BR.js +0 -1
- package/locales/pt-BR.js.map +1 -1
- package/locales/pt.esm.js +0 -1
- package/locales/pt.esm.js.map +1 -1
- package/locales/pt.js +0 -1
- package/locales/pt.js.map +1 -1
- package/locales/ro.esm.js +0 -1
- package/locales/ro.esm.js.map +1 -1
- package/locales/ro.js +0 -1
- package/locales/ro.js.map +1 -1
- package/locales/ru.esm.js +0 -1
- package/locales/ru.esm.js.map +1 -1
- package/locales/ru.js +0 -1
- package/locales/ru.js.map +1 -1
- package/locales/sk.esm.js +0 -1
- package/locales/sk.esm.js.map +1 -1
- package/locales/sk.js +0 -1
- package/locales/sk.js.map +1 -1
- package/locales/sr-Cyrl-RS.esm.js +0 -1
- package/locales/sr-Cyrl-RS.esm.js.map +1 -1
- package/locales/sr-Cyrl-RS.js +0 -1
- package/locales/sr-Cyrl-RS.js.map +1 -1
- package/locales/sr-Latn-RS.esm.js +0 -1
- package/locales/sr-Latn-RS.esm.js.map +1 -1
- package/locales/sr-Latn-RS.js +0 -1
- package/locales/sr-Latn-RS.js.map +1 -1
- package/locales/sv.esm.js +0 -1
- package/locales/sv.esm.js.map +1 -1
- package/locales/sv.js +0 -1
- package/locales/sv.js.map +1 -1
- package/locales/tr.esm.js +0 -1
- package/locales/tr.esm.js.map +1 -1
- package/locales/tr.js +0 -1
- package/locales/tr.js.map +1 -1
- package/locales/uk.esm.js +0 -1
- package/locales/uk.esm.js.map +1 -1
- package/locales/uk.js +0 -1
- package/locales/uk.js.map +1 -1
- package/locales/vi.esm.js +0 -1
- package/locales/vi.esm.js.map +1 -1
- package/locales/vi.js +0 -1
- package/locales/vi.js.map +1 -1
- package/locales/zh-Hans.esm.js +7 -8
- package/locales/zh-Hans.esm.js.map +1 -1
- package/locales/zh-Hans.js +7 -8
- package/locales/zh-Hans.js.map +1 -1
- package/locales/zh-Hant.esm.js +1 -2
- package/locales/zh-Hant.esm.js.map +1 -1
- package/locales/zh-Hant.js +1 -2
- package/locales/zh-Hant.js.map +1 -1
- package/package.json +44 -42
- package/src/MaterialReactTable.tsx +31 -168
- package/src/body/MRT_TableBody.tsx +10 -23
- package/src/body/MRT_TableBodyCell.tsx +36 -39
- package/src/body/MRT_TableBodyCellValue.tsx +7 -4
- package/src/body/MRT_TableBodyRow.tsx +7 -7
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +13 -10
- package/src/body/MRT_TableDetailPanel.tsx +11 -11
- package/src/body/index.ts +6 -0
- package/src/buttons/MRT_ColumnPinningButtons.tsx +2 -4
- package/src/buttons/MRT_CopyButton.tsx +9 -9
- package/src/buttons/MRT_EditActionButtons.tsx +56 -25
- package/src/buttons/MRT_ExpandAllButton.tsx +5 -3
- package/src/buttons/MRT_ExpandButton.tsx +2 -2
- package/src/buttons/MRT_GrabHandleButton.tsx +2 -2
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +2 -5
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +2 -3
- package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -5
- package/src/buttons/{MRT_FullScreenToggleButton.tsx → MRT_ToggleFullScreenButton.tsx} +13 -6
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +3 -5
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +16 -8
- package/src/buttons/index.ts +12 -0
- package/src/column.utils.ts +96 -45
- package/src/filterFns.ts +14 -14
- package/src/footer/MRT_TableFooter.tsx +4 -4
- package/src/footer/MRT_TableFooterCell.tsx +7 -4
- package/src/footer/MRT_TableFooterRow.tsx +6 -6
- package/src/footer/index.ts +3 -0
- package/src/head/MRT_TableHead.tsx +4 -4
- package/src/head/MRT_TableHeadCell.tsx +7 -4
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +14 -12
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +9 -4
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +9 -4
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +13 -13
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +9 -4
- package/src/head/MRT_TableHeadCellSortLabel.tsx +8 -6
- package/src/head/MRT_TableHeadRow.tsx +6 -6
- package/src/head/index.ts +9 -0
- package/src/hooks/useMRT_DisplayColumns.tsx +142 -0
- package/src/hooks/useMRT_Effects.ts +77 -0
- package/src/hooks/useMRT_TableInstance.ts +291 -0
- package/src/hooks/useMRT_TableOptions.ts +169 -0
- package/src/index.ts +16 -0
- package/src/inputs/MRT_EditCellTextField.tsx +39 -25
- package/src/inputs/MRT_FilterCheckbox.tsx +14 -11
- package/src/inputs/MRT_FilterRangeFields.tsx +7 -4
- package/src/inputs/MRT_FilterRangeSlider.tsx +18 -19
- package/src/inputs/MRT_FilterTextField.tsx +15 -15
- package/src/inputs/MRT_GlobalFilterTextField.tsx +2 -4
- package/src/inputs/MRT_SelectCheckbox.tsx +8 -4
- package/src/inputs/index.ts +7 -0
- package/src/locales/ar.ts +94 -0
- package/src/locales/bg.ts +93 -0
- package/src/{_locales → locales}/cs.ts +1 -2
- package/src/{_locales → locales}/da.ts +0 -1
- package/src/{_locales → locales}/de.ts +0 -1
- package/src/{_locales → locales}/en.ts +1 -1
- package/src/{_locales → locales}/es.ts +0 -1
- package/src/locales/et.ts +94 -0
- package/src/{_locales → locales}/fa.ts +0 -1
- package/src/{_locales → locales}/fi.ts +0 -1
- package/src/{_locales → locales}/fr.ts +0 -1
- package/src/{_locales → locales}/hu.ts +0 -1
- package/src/{_locales → locales}/id.ts +0 -1
- package/src/{_locales → locales}/it.ts +0 -1
- package/src/{_locales → locales}/ja.ts +0 -1
- package/src/locales/ko.ts +93 -0
- package/src/{_locales → locales}/nl.ts +0 -1
- package/src/{_locales → locales}/no.ts +1 -1
- package/src/{_locales → locales}/pl.ts +0 -1
- package/src/{_locales → locales}/pt-BR.ts +0 -1
- package/src/{_locales → locales}/pt.ts +0 -1
- package/src/{_locales → locales}/ro.ts +0 -1
- package/src/{_locales → locales}/ru.ts +0 -1
- package/src/{_locales → locales}/sk.ts +0 -1
- package/src/{_locales → locales}/sr-Cyrl-RS.ts +0 -1
- package/src/{_locales → locales}/sr-Latn-RS.ts +0 -1
- package/src/{_locales → locales}/sv.ts +0 -1
- package/src/{_locales → locales}/tr.ts +0 -1
- package/src/{_locales → locales}/uk.ts +0 -1
- package/src/{_locales → locales}/vi.ts +0 -1
- package/src/{_locales → locales}/zh-Hans.ts +7 -8
- package/src/{_locales → locales}/zh-Hant.ts +1 -2
- package/src/menus/MRT_ColumnActionMenu.tsx +8 -8
- package/src/menus/MRT_FilterOptionMenu.tsx +4 -3
- package/src/menus/MRT_RowActionMenu.tsx +5 -5
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +4 -6
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +4 -4
- package/src/menus/index.ts +5 -0
- package/src/modals/MRT_EditRowModal.tsx +115 -0
- package/src/modals/index.ts +1 -0
- package/src/sortingFns.ts +2 -2
- package/src/table/MRT_Table.tsx +40 -33
- package/src/table/MRT_TableContainer.tsx +23 -5
- package/src/table/MRT_TablePaper.tsx +13 -4
- package/src/table/index.ts +4 -0
- package/src/toolbar/MRT_BottomToolbar.tsx +2 -2
- package/src/toolbar/MRT_LinearProgressBar.tsx +2 -2
- package/src/toolbar/MRT_TablePagination.tsx +2 -2
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -2
- package/src/toolbar/MRT_ToolbarDropZone.tsx +2 -2
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +6 -8
- package/src/toolbar/MRT_TopToolbar.tsx +2 -2
- package/src/toolbar/index.ts +7 -0
- package/src/types.ts +765 -751
- package/src/useMaterialReactTable.ts +11 -0
- package/dist/cjs/types/body/MRT_EditRowModal.d.ts +0 -8
- package/dist/cjs/types/buttons/MRT_FullScreenToggleButton.d.ts +0 -7
- package/dist/cjs/types/table/MRT_TableRoot.d.ts +0 -1
- package/dist/esm/types/body/MRT_EditRowModal.d.ts +0 -8
- package/dist/esm/types/buttons/MRT_FullScreenToggleButton.d.ts +0 -7
- package/dist/esm/types/table/MRT_TableRoot.d.ts +0 -1
- package/src/body/MRT_EditRowModal.tsx +0 -57
- package/src/index.tsx +0 -50
- package/src/table/MRT_TableRoot.tsx +0 -421
- /package/dist/cjs/types/{_locales → locales}/cs.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/da.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/de.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/en.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/es.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/fa.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/fi.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/fr.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/hu.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/id.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/it.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/ja.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/nl.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/no.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/pl.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/pt-BR.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/pt.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/ro.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/ru.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/sk.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/sr-Cyrl-RS.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/sr-Latn-RS.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/sv.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/tr.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/uk.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/vi.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/zh-Hans.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/zh-Hant.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/cs.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/da.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/de.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/en.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/es.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/fa.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/fi.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/fr.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/hu.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/id.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/it.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/ja.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/nl.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/no.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/pl.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/pt-BR.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/pt.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/ro.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/ru.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/sk.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/sr-Cyrl-RS.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/sr-Latn-RS.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/sv.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/tr.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/uk.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/vi.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/zh-Hans.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/zh-Hant.d.ts +0 -0
@@ -0,0 +1,169 @@
|
|
1
|
+
import { useMemo } from 'react';
|
2
|
+
import { MRT_AggregationFns } from '../aggregationFns';
|
3
|
+
import { MRT_FilterFns } from '../filterFns';
|
4
|
+
import { MRT_SortingFns } from '../sortingFns';
|
5
|
+
import { MRT_DefaultColumn, MRT_DefaultDisplayColumn } from '../column.utils';
|
6
|
+
import { MRT_Localization_EN } from '../locales/en';
|
7
|
+
import { MRT_Default_Icons } from '../icons';
|
8
|
+
import { type MRT_DefinedTableOptions, type MRT_TableOptions } from '../types';
|
9
|
+
|
10
|
+
export const useMRT_TableOptions: <TData extends Record<string, any>>(
|
11
|
+
tableOptions: MRT_TableOptions<TData>,
|
12
|
+
) => MRT_DefinedTableOptions<TData> = <TData extends Record<string, any>>({
|
13
|
+
aggregationFns,
|
14
|
+
autoResetExpanded = false,
|
15
|
+
columnFilterDisplayMode = 'subheader',
|
16
|
+
columnResizeMode = 'onChange',
|
17
|
+
createDisplayMode = 'modal',
|
18
|
+
defaultColumn,
|
19
|
+
defaultDisplayColumn,
|
20
|
+
editDisplayMode = 'modal',
|
21
|
+
enableBottomToolbar = true,
|
22
|
+
enableColumnActions = true,
|
23
|
+
enableColumnFilters = true,
|
24
|
+
enableColumnOrdering = false,
|
25
|
+
enableColumnResizing = false,
|
26
|
+
enableDensityToggle = true,
|
27
|
+
enableExpandAll = true,
|
28
|
+
enableExpanding,
|
29
|
+
enableFilterMatchHighlighting = true,
|
30
|
+
enableFilters = true,
|
31
|
+
enableFullScreenToggle = true,
|
32
|
+
enableGlobalFilter = true,
|
33
|
+
enableGlobalFilterRankedResults = true,
|
34
|
+
enableGrouping = false,
|
35
|
+
enableHiding = true,
|
36
|
+
enableMultiRowSelection = true,
|
37
|
+
enableMultiSort = true,
|
38
|
+
enablePagination = true,
|
39
|
+
enableColumnPinning = false,
|
40
|
+
enableRowSelection = false,
|
41
|
+
enableSelectAll = true,
|
42
|
+
enableSorting = true,
|
43
|
+
enableStickyHeader = false,
|
44
|
+
enableTableFooter = true,
|
45
|
+
enableTableHead = true,
|
46
|
+
enableToolbarInternalActions = true,
|
47
|
+
enableTopToolbar = true,
|
48
|
+
filterFns,
|
49
|
+
icons,
|
50
|
+
layoutMode = 'semantic',
|
51
|
+
localization,
|
52
|
+
manualFiltering,
|
53
|
+
manualGrouping,
|
54
|
+
manualPagination,
|
55
|
+
manualSorting,
|
56
|
+
paginationDisplayMode = 'default',
|
57
|
+
positionActionsColumn = 'first',
|
58
|
+
positionExpandColumn = 'first',
|
59
|
+
positionGlobalFilter = 'right',
|
60
|
+
positionPagination = 'bottom',
|
61
|
+
positionToolbarAlertBanner = 'top',
|
62
|
+
positionToolbarDropZone = 'top',
|
63
|
+
rowNumberMode = 'static',
|
64
|
+
selectAllMode = 'page',
|
65
|
+
sortingFns,
|
66
|
+
...rest
|
67
|
+
}: MRT_TableOptions<TData>) => {
|
68
|
+
const _icons = useMemo(() => ({ ...MRT_Default_Icons, ...icons }), [icons]);
|
69
|
+
const _localization = useMemo(
|
70
|
+
() => ({
|
71
|
+
...MRT_Localization_EN,
|
72
|
+
...localization,
|
73
|
+
}),
|
74
|
+
[localization],
|
75
|
+
);
|
76
|
+
const _aggregationFns = useMemo(
|
77
|
+
() => ({ ...MRT_AggregationFns, ...aggregationFns }),
|
78
|
+
[],
|
79
|
+
);
|
80
|
+
const _filterFns = useMemo(() => ({ ...MRT_FilterFns, ...filterFns }), []);
|
81
|
+
const _sortingFns = useMemo(() => ({ ...MRT_SortingFns, ...sortingFns }), []);
|
82
|
+
const _defaultColumn = useMemo(
|
83
|
+
() => ({ ...MRT_DefaultColumn, ...defaultColumn }),
|
84
|
+
[defaultColumn],
|
85
|
+
);
|
86
|
+
const _defaultDisplayColumn = useMemo(
|
87
|
+
() => ({
|
88
|
+
...MRT_DefaultDisplayColumn,
|
89
|
+
...defaultDisplayColumn,
|
90
|
+
}),
|
91
|
+
[defaultDisplayColumn],
|
92
|
+
);
|
93
|
+
|
94
|
+
if (rest.enableRowVirtualization || rest.enableColumnVirtualization) {
|
95
|
+
layoutMode = 'grid';
|
96
|
+
}
|
97
|
+
|
98
|
+
if (rest.enableRowVirtualization) {
|
99
|
+
enableStickyHeader = true;
|
100
|
+
}
|
101
|
+
|
102
|
+
if (enablePagination === false && manualPagination === undefined) {
|
103
|
+
manualPagination = true;
|
104
|
+
}
|
105
|
+
|
106
|
+
if (!rest.data?.length) {
|
107
|
+
manualFiltering = true;
|
108
|
+
manualGrouping = true;
|
109
|
+
manualPagination = true;
|
110
|
+
manualSorting = true;
|
111
|
+
}
|
112
|
+
|
113
|
+
return {
|
114
|
+
aggregationFns: _aggregationFns,
|
115
|
+
autoResetExpanded,
|
116
|
+
columnFilterDisplayMode,
|
117
|
+
columnResizeMode,
|
118
|
+
createDisplayMode,
|
119
|
+
defaultColumn: _defaultColumn,
|
120
|
+
defaultDisplayColumn: _defaultDisplayColumn,
|
121
|
+
editDisplayMode,
|
122
|
+
enableBottomToolbar,
|
123
|
+
enableColumnActions,
|
124
|
+
enableColumnFilters,
|
125
|
+
enableColumnOrdering,
|
126
|
+
enableColumnResizing,
|
127
|
+
enableDensityToggle,
|
128
|
+
enableExpandAll,
|
129
|
+
enableExpanding,
|
130
|
+
enableFilterMatchHighlighting,
|
131
|
+
enableFilters,
|
132
|
+
enableFullScreenToggle,
|
133
|
+
enableGlobalFilter,
|
134
|
+
enableGlobalFilterRankedResults,
|
135
|
+
enableGrouping,
|
136
|
+
enableHiding,
|
137
|
+
enableMultiRowSelection,
|
138
|
+
enableMultiSort,
|
139
|
+
enablePagination,
|
140
|
+
enableColumnPinning,
|
141
|
+
enableRowSelection,
|
142
|
+
enableSelectAll,
|
143
|
+
enableSorting,
|
144
|
+
enableStickyHeader,
|
145
|
+
enableTableFooter,
|
146
|
+
enableTableHead,
|
147
|
+
enableToolbarInternalActions,
|
148
|
+
enableTopToolbar,
|
149
|
+
filterFns: _filterFns,
|
150
|
+
icons: _icons,
|
151
|
+
layoutMode,
|
152
|
+
localization: _localization,
|
153
|
+
manualFiltering,
|
154
|
+
manualGrouping,
|
155
|
+
manualPagination,
|
156
|
+
manualSorting,
|
157
|
+
paginationDisplayMode,
|
158
|
+
positionActionsColumn,
|
159
|
+
positionExpandColumn,
|
160
|
+
positionGlobalFilter,
|
161
|
+
positionPagination,
|
162
|
+
positionToolbarAlertBanner,
|
163
|
+
positionToolbarDropZone,
|
164
|
+
rowNumberMode,
|
165
|
+
selectAllMode,
|
166
|
+
sortingFns: _sortingFns,
|
167
|
+
...rest,
|
168
|
+
};
|
169
|
+
};
|
package/src/index.ts
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
export * from './MaterialReactTable';
|
2
|
+
export * from './aggregationFns';
|
3
|
+
export * from './body';
|
4
|
+
export * from './buttons';
|
5
|
+
export * from './column.utils';
|
6
|
+
export * from './filterFns';
|
7
|
+
export * from './footer';
|
8
|
+
export * from './head';
|
9
|
+
export * from './inputs';
|
10
|
+
export * from './menus';
|
11
|
+
export * from './modals';
|
12
|
+
export * from './sortingFns';
|
13
|
+
export * from './table';
|
14
|
+
export * from './toolbar';
|
15
|
+
export * from './types';
|
16
|
+
export * from './useMaterialReactTable';
|
@@ -9,58 +9,60 @@ import MenuItem from '@mui/material/MenuItem';
|
|
9
9
|
import { type TextFieldProps } from '@mui/material/TextField';
|
10
10
|
import { type MRT_Cell, type MRT_TableInstance } from '../types';
|
11
11
|
|
12
|
-
interface Props<TData extends Record<string, any
|
12
|
+
interface Props<TData extends Record<string, any>> {
|
13
13
|
cell: MRT_Cell<TData>;
|
14
14
|
table: MRT_TableInstance<TData>;
|
15
|
-
showLabel?: boolean;
|
16
15
|
}
|
17
16
|
|
18
|
-
export const MRT_EditCellTextField = <TData extends Record<string, any
|
17
|
+
export const MRT_EditCellTextField = <TData extends Record<string, any>>({
|
19
18
|
cell,
|
20
|
-
showLabel,
|
21
19
|
table,
|
22
20
|
}: Props<TData>) => {
|
23
21
|
const {
|
24
22
|
getState,
|
25
|
-
options: {
|
23
|
+
options: { createDisplayMode, editDisplayMode, muiEditTextFieldProps },
|
26
24
|
refs: { editInputRefs },
|
27
25
|
setEditingCell,
|
28
26
|
setEditingRow,
|
27
|
+
setCreatingRow,
|
29
28
|
} = table;
|
30
29
|
const { column, row } = cell;
|
31
30
|
const { columnDef } = column;
|
32
|
-
const { editingRow } = getState();
|
31
|
+
const { creatingRow, editingRow } = getState();
|
32
|
+
|
33
|
+
const isCreating = creatingRow?.id === row.id;
|
34
|
+
const isEditing = editingRow?.id === row.id;
|
35
|
+
const isSelectEdit = columnDef.editVariant === 'select';
|
33
36
|
|
34
37
|
const [value, setValue] = useState(() => cell.getValue<string>());
|
35
38
|
|
36
39
|
const mTableBodyCellEditTextFieldProps =
|
37
|
-
|
38
|
-
?
|
39
|
-
:
|
40
|
+
muiEditTextFieldProps instanceof Function
|
41
|
+
? muiEditTextFieldProps({ cell, column, row, table })
|
42
|
+
: muiEditTextFieldProps;
|
40
43
|
|
41
44
|
const mcTableBodyCellEditTextFieldProps =
|
42
|
-
columnDef.
|
43
|
-
? columnDef.
|
45
|
+
columnDef.muiEditTextFieldProps instanceof Function
|
46
|
+
? columnDef.muiEditTextFieldProps({
|
44
47
|
cell,
|
45
48
|
column,
|
46
49
|
row,
|
47
50
|
table,
|
48
51
|
})
|
49
|
-
: columnDef.
|
52
|
+
: columnDef.muiEditTextFieldProps;
|
50
53
|
|
51
54
|
const textFieldProps: TextFieldProps = {
|
52
55
|
...mTableBodyCellEditTextFieldProps,
|
53
56
|
...mcTableBodyCellEditTextFieldProps,
|
54
57
|
};
|
55
58
|
|
56
|
-
const
|
57
|
-
|
58
|
-
|
59
|
-
if (
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
});
|
59
|
+
const saveInputValueToRowCache = (newValue: string) => {
|
60
|
+
//@ts-ignore
|
61
|
+
row._valuesCache[column.id] = newValue;
|
62
|
+
if (isCreating) {
|
63
|
+
setCreatingRow({ ...row });
|
64
|
+
} else if (isEditing) {
|
65
|
+
setEditingRow({ ...row });
|
64
66
|
}
|
65
67
|
};
|
66
68
|
|
@@ -68,19 +70,19 @@ export const MRT_EditCellTextField = <TData extends Record<string, any> = {}>({
|
|
68
70
|
textFieldProps.onChange?.(event);
|
69
71
|
setValue(event.target.value);
|
70
72
|
if (textFieldProps?.select) {
|
71
|
-
|
73
|
+
saveInputValueToRowCache(event.target.value);
|
72
74
|
}
|
73
75
|
};
|
74
76
|
|
75
77
|
const handleBlur = (event: FocusEvent<HTMLInputElement>) => {
|
76
78
|
textFieldProps.onBlur?.(event);
|
77
|
-
|
79
|
+
saveInputValueToRowCache(value);
|
78
80
|
setEditingCell(null);
|
79
81
|
};
|
80
82
|
|
81
83
|
const handleEnterKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {
|
82
84
|
textFieldProps.onKeyDown?.(event);
|
83
|
-
if (event.key === 'Enter') {
|
85
|
+
if (event.key === 'Enter' && !event.shiftKey) {
|
84
86
|
editInputRefs.current[column.id]?.blur();
|
85
87
|
}
|
86
88
|
};
|
@@ -105,10 +107,22 @@ export const MRT_EditCellTextField = <TData extends Record<string, any> = {}>({
|
|
105
107
|
}
|
106
108
|
}
|
107
109
|
}}
|
108
|
-
label={
|
110
|
+
label={
|
111
|
+
['modal', 'custom'].includes(
|
112
|
+
(isCreating ? createDisplayMode : editDisplayMode) as string,
|
113
|
+
)
|
114
|
+
? column.columnDef.header
|
115
|
+
: undefined
|
116
|
+
}
|
109
117
|
margin="none"
|
110
118
|
name={column.id}
|
111
|
-
placeholder={
|
119
|
+
placeholder={
|
120
|
+
!['modal', 'custom'].includes(
|
121
|
+
(isCreating ? createDisplayMode : editDisplayMode) as string,
|
122
|
+
)
|
123
|
+
? columnDef.header
|
124
|
+
: undefined
|
125
|
+
}
|
112
126
|
select={isSelectEdit}
|
113
127
|
value={value}
|
114
128
|
variant="standard"
|
@@ -4,34 +4,37 @@ import Tooltip from '@mui/material/Tooltip';
|
|
4
4
|
import { type CheckboxProps } from '@mui/material/Checkbox';
|
5
5
|
import { type MRT_Column, type MRT_TableInstance } from '../types';
|
6
6
|
|
7
|
-
interface Props {
|
8
|
-
column: MRT_Column
|
9
|
-
table: MRT_TableInstance
|
7
|
+
interface Props<TData extends Record<string, any>> {
|
8
|
+
column: MRT_Column<TData>;
|
9
|
+
table: MRT_TableInstance<TData>;
|
10
10
|
}
|
11
11
|
|
12
|
-
export const MRT_FilterCheckbox =
|
12
|
+
export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
|
13
|
+
column,
|
14
|
+
table,
|
15
|
+
}: Props<TData>) => {
|
13
16
|
const {
|
14
17
|
getState,
|
15
|
-
options: { localization,
|
18
|
+
options: { localization, muiFilterCheckboxProps },
|
16
19
|
} = table;
|
17
20
|
const { density } = getState();
|
18
21
|
const { columnDef } = column;
|
19
22
|
|
20
23
|
const mTableHeadCellFilterCheckboxProps =
|
21
|
-
|
22
|
-
?
|
24
|
+
muiFilterCheckboxProps instanceof Function
|
25
|
+
? muiFilterCheckboxProps({
|
23
26
|
column,
|
24
27
|
table,
|
25
28
|
})
|
26
|
-
:
|
29
|
+
: muiFilterCheckboxProps;
|
27
30
|
|
28
31
|
const mcTableHeadCellFilterCheckboxProps =
|
29
|
-
columnDef.
|
30
|
-
? columnDef.
|
32
|
+
columnDef.muiFilterCheckboxProps instanceof Function
|
33
|
+
? columnDef.muiFilterCheckboxProps({
|
31
34
|
column,
|
32
35
|
table,
|
33
36
|
})
|
34
|
-
: columnDef.
|
37
|
+
: columnDef.muiFilterCheckboxProps;
|
35
38
|
|
36
39
|
const checkboxProps = {
|
37
40
|
...mTableHeadCellFilterCheckboxProps,
|
@@ -2,12 +2,15 @@ import Box from '@mui/material/Box';
|
|
2
2
|
import { MRT_FilterTextField } from './MRT_FilterTextField';
|
3
3
|
import { type MRT_Header, type MRT_TableInstance } from '../types';
|
4
4
|
|
5
|
-
interface Props {
|
6
|
-
header: MRT_Header
|
7
|
-
table: MRT_TableInstance
|
5
|
+
interface Props<TData extends Record<string, any>> {
|
6
|
+
header: MRT_Header<TData>;
|
7
|
+
table: MRT_TableInstance<TData>;
|
8
8
|
}
|
9
9
|
|
10
|
-
export const MRT_FilterRangeFields =
|
10
|
+
export const MRT_FilterRangeFields = <TData extends Record<string, any>>({
|
11
|
+
header,
|
12
|
+
table,
|
13
|
+
}: Props<TData>) => {
|
11
14
|
return (
|
12
15
|
<Box sx={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '1rem' }}>
|
13
16
|
<MRT_FilterTextField header={header} rangeFilterIndex={0} table={table} />
|
@@ -4,18 +4,17 @@ import FormHelperText from '@mui/material/FormHelperText';
|
|
4
4
|
import { type MRT_TableInstance, type MRT_Header } from '../types';
|
5
5
|
import { useEffect, useRef, useState } from 'react';
|
6
6
|
|
7
|
-
interface Props {
|
8
|
-
header: MRT_Header
|
9
|
-
table: MRT_TableInstance
|
7
|
+
interface Props<TData extends Record<string, any>> {
|
8
|
+
header: MRT_Header<TData>;
|
9
|
+
table: MRT_TableInstance<TData>;
|
10
10
|
}
|
11
11
|
|
12
|
-
export const MRT_FilterRangeSlider =
|
12
|
+
export const MRT_FilterRangeSlider = <TData extends Record<string, any>>({
|
13
|
+
header,
|
14
|
+
table,
|
15
|
+
}: Props<TData>) => {
|
13
16
|
const {
|
14
|
-
options: {
|
15
|
-
localization,
|
16
|
-
muiTableHeadCellFilterSliderProps,
|
17
|
-
enableColumnFilterModes,
|
18
|
-
},
|
17
|
+
options: { localization, muiFilterSliderProps, enableColumnFilterModes },
|
19
18
|
refs: { filterInputRefs },
|
20
19
|
} = table;
|
21
20
|
const { column } = header;
|
@@ -26,25 +25,25 @@ export const MRT_FilterRangeSlider = ({ header, table }: Props) => {
|
|
26
25
|
const showChangeModeButton =
|
27
26
|
enableColumnFilterModes && columnDef.enableColumnFilterModes !== false;
|
28
27
|
|
29
|
-
const
|
30
|
-
|
31
|
-
?
|
28
|
+
const mFilterSliderProps =
|
29
|
+
muiFilterSliderProps instanceof Function
|
30
|
+
? muiFilterSliderProps({
|
32
31
|
column,
|
33
32
|
table,
|
34
33
|
})
|
35
|
-
:
|
34
|
+
: muiFilterSliderProps;
|
36
35
|
|
37
|
-
const
|
38
|
-
columnDef.
|
39
|
-
? columnDef.
|
36
|
+
const mcFilterSliderProps =
|
37
|
+
columnDef.muiFilterSliderProps instanceof Function
|
38
|
+
? columnDef.muiFilterSliderProps({
|
40
39
|
column,
|
41
40
|
table,
|
42
41
|
})
|
43
|
-
: columnDef.
|
42
|
+
: columnDef.muiFilterSliderProps;
|
44
43
|
|
45
44
|
const sliderProps = {
|
46
|
-
...
|
47
|
-
...
|
45
|
+
...mFilterSliderProps,
|
46
|
+
...mcFilterSliderProps,
|
48
47
|
} as SliderProps;
|
49
48
|
|
50
49
|
let [min, max] =
|
@@ -20,17 +20,17 @@ import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
|
|
20
20
|
import { type TextFieldProps } from '@mui/material/TextField';
|
21
21
|
import { type MRT_Header, type MRT_TableInstance } from '../types';
|
22
22
|
|
23
|
-
interface Props {
|
24
|
-
header: MRT_Header
|
23
|
+
interface Props<TData extends Record<string, any>> {
|
24
|
+
header: MRT_Header<TData>;
|
25
25
|
rangeFilterIndex?: number;
|
26
|
-
table: MRT_TableInstance
|
26
|
+
table: MRT_TableInstance<TData>;
|
27
27
|
}
|
28
28
|
|
29
|
-
export const MRT_FilterTextField = ({
|
29
|
+
export const MRT_FilterTextField = <TData extends Record<string, any>>({
|
30
30
|
header,
|
31
31
|
rangeFilterIndex,
|
32
32
|
table,
|
33
|
-
}: Props) => {
|
33
|
+
}: Props<TData>) => {
|
34
34
|
const {
|
35
35
|
options: {
|
36
36
|
enableColumnFilterModes,
|
@@ -38,7 +38,7 @@ export const MRT_FilterTextField = ({
|
|
38
38
|
icons: { FilterListIcon, CloseIcon },
|
39
39
|
localization,
|
40
40
|
manualFiltering,
|
41
|
-
|
41
|
+
muiFilterTextFieldProps,
|
42
42
|
},
|
43
43
|
refs: { filterInputRefs },
|
44
44
|
setColumnFilterFns,
|
@@ -47,22 +47,22 @@ export const MRT_FilterTextField = ({
|
|
47
47
|
const { columnDef } = column;
|
48
48
|
|
49
49
|
const mTableHeadCellFilterTextFieldProps =
|
50
|
-
|
51
|
-
?
|
50
|
+
muiFilterTextFieldProps instanceof Function
|
51
|
+
? muiFilterTextFieldProps({
|
52
52
|
column,
|
53
53
|
table,
|
54
54
|
rangeFilterIndex,
|
55
55
|
})
|
56
|
-
:
|
56
|
+
: muiFilterTextFieldProps;
|
57
57
|
|
58
58
|
const mcTableHeadCellFilterTextFieldProps =
|
59
|
-
columnDef.
|
60
|
-
? columnDef.
|
59
|
+
columnDef.muiFilterTextFieldProps instanceof Function
|
60
|
+
? columnDef.muiFilterTextFieldProps({
|
61
61
|
column,
|
62
62
|
table,
|
63
63
|
rangeFilterIndex,
|
64
64
|
})
|
65
|
-
: columnDef.
|
65
|
+
: columnDef.muiFilterTextFieldProps;
|
66
66
|
|
67
67
|
const textFieldProps = {
|
68
68
|
...mTableHeadCellFilterTextFieldProps,
|
@@ -109,9 +109,9 @@ export const MRT_FilterTextField = ({
|
|
109
109
|
() =>
|
110
110
|
columnDef.filterSelectOptions ??
|
111
111
|
((isSelectFilter || isMultiSelectFilter) && facetedUniqueValues
|
112
|
-
? Array.from(facetedUniqueValues.keys())
|
113
|
-
|
114
|
-
|
112
|
+
? Array.from(facetedUniqueValues.keys())
|
113
|
+
.filter((value) => value !== null && value !== undefined)
|
114
|
+
.sort((a, b) => a.localeCompare(b))
|
115
115
|
: undefined),
|
116
116
|
[
|
117
117
|
columnDef.filterSelectOptions,
|
@@ -15,13 +15,11 @@ import { debounce } from '@mui/material/utils';
|
|
15
15
|
import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
|
16
16
|
import { type MRT_TableInstance } from '../types';
|
17
17
|
|
18
|
-
interface Props<TData extends Record<string, any
|
18
|
+
interface Props<TData extends Record<string, any>> {
|
19
19
|
table: MRT_TableInstance<TData>;
|
20
20
|
}
|
21
21
|
|
22
|
-
export const MRT_GlobalFilterTextField = <
|
23
|
-
TData extends Record<string, any> = {},
|
24
|
-
>({
|
22
|
+
export const MRT_GlobalFilterTextField = <TData extends Record<string, any>>({
|
25
23
|
table,
|
26
24
|
}: Props<TData>) => {
|
27
25
|
const {
|
@@ -5,13 +5,17 @@ import Radio from '@mui/material/Radio';
|
|
5
5
|
import { type Theme } from '@mui/material/styles';
|
6
6
|
import { type MRT_Row, type MRT_TableInstance } from '../types';
|
7
7
|
|
8
|
-
interface Props {
|
9
|
-
row?: MRT_Row
|
8
|
+
interface Props<TData extends Record<string, any>> {
|
9
|
+
row?: MRT_Row<TData>;
|
10
10
|
selectAll?: boolean;
|
11
|
-
table: MRT_TableInstance
|
11
|
+
table: MRT_TableInstance<TData>;
|
12
12
|
}
|
13
13
|
|
14
|
-
export const MRT_SelectCheckbox =
|
14
|
+
export const MRT_SelectCheckbox = <TData extends Record<string, any>>({
|
15
|
+
row,
|
16
|
+
selectAll,
|
17
|
+
table,
|
18
|
+
}: Props<TData>) => {
|
15
19
|
const {
|
16
20
|
getState,
|
17
21
|
options: {
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export * from './MRT_EditCellTextField';
|
2
|
+
export * from './MRT_FilterCheckbox';
|
3
|
+
export * from './MRT_FilterRangeFields';
|
4
|
+
export * from './MRT_FilterRangeSlider';
|
5
|
+
export * from './MRT_FilterTextField';
|
6
|
+
export * from './MRT_GlobalFilterTextField';
|
7
|
+
export * from './MRT_SelectCheckbox';
|
@@ -0,0 +1,94 @@
|
|
1
|
+
import { type MRT_Localization } from '..';
|
2
|
+
|
3
|
+
export const MRT_Localization_AR: MRT_Localization = {
|
4
|
+
actions: 'إجراءات',
|
5
|
+
and: 'و',
|
6
|
+
cancel: 'إلغاء',
|
7
|
+
changeFilterMode: 'تغيير وضع المرشح',
|
8
|
+
changeSearchMode: 'تغيير وضع البحث',
|
9
|
+
clearFilter: 'إعادة تعين المرشح',
|
10
|
+
clearSearch: 'إعادة تعيين البحث',
|
11
|
+
clearSort: 'إعادة تعيين الفرز',
|
12
|
+
clickToCopy: 'انقر للنسخ',
|
13
|
+
collapse: 'إخفاء',
|
14
|
+
collapseAll: 'إخفاء الكل',
|
15
|
+
columnActions: 'إجراءات العمود',
|
16
|
+
copiedToClipboard: 'نسخ إلى الحافظة',
|
17
|
+
|
18
|
+
dropToGroupBy: 'أفلت للمجموعة حسب {column}',
|
19
|
+
edit: 'تعديل',
|
20
|
+
expand: 'إظهار',
|
21
|
+
expandAll: 'إظهار الكل',
|
22
|
+
filterArrIncludes: 'يشمل',
|
23
|
+
filterArrIncludesAll: 'يشمل الجميع',
|
24
|
+
filterArrIncludesSome: 'يشمل',
|
25
|
+
filterBetween: 'بين',
|
26
|
+
filterBetweenInclusive: 'بين الشمول',
|
27
|
+
filterByColumn: 'مصنف بواسطة {column}',
|
28
|
+
filterContains: 'يتضمن',
|
29
|
+
filterEmpty: 'فارغ',
|
30
|
+
filterEndsWith: 'ينتهي بـ',
|
31
|
+
filterEquals: 'يساوي',
|
32
|
+
filterEqualsString: 'يساوي',
|
33
|
+
filterFuzzy: 'غامض',
|
34
|
+
filterGreaterThan: 'أكثر من',
|
35
|
+
filterGreaterThanOrEqualTo: 'أكبر من أو يساوي',
|
36
|
+
filterInNumberRange: 'بين',
|
37
|
+
filterIncludesString: 'يتضمن',
|
38
|
+
filterIncludesStringSensitive: 'يتضمن',
|
39
|
+
filterLessThan: 'أقل من',
|
40
|
+
filterLessThanOrEqualTo: 'أقل من أو يساوي',
|
41
|
+
filterMode: 'وضع التصفية: {filterType}',
|
42
|
+
filterNotEmpty: 'ليس فارغًا',
|
43
|
+
filterNotEquals: 'لا يساوي',
|
44
|
+
filterStartsWith: ' يبدا ب',
|
45
|
+
filterWeakEquals: 'يساوي',
|
46
|
+
filteringByColumn: 'التصفية حسب {column} - {filterType} {filterValue}',
|
47
|
+
goToFirstPage: 'الصفحة الأولى',
|
48
|
+
goToLastPage: 'الصفحة الأخيرة',
|
49
|
+
goToNextPage: 'الصفحة التالية',
|
50
|
+
goToPreviousPage: 'الصفحة السابقة',
|
51
|
+
grab: 'أمسك',
|
52
|
+
groupByColumn: 'مجموعة من {column}',
|
53
|
+
groupedBy: 'مجمعة حسب ',
|
54
|
+
hideAll: 'إخفاء الكل',
|
55
|
+
hideColumn: 'إخفاء {column} العمود',
|
56
|
+
max: 'الأعلى',
|
57
|
+
min: 'الأقل',
|
58
|
+
move: 'حرك',
|
59
|
+
noRecordsToDisplay: 'لا سجلات لعرضها',
|
60
|
+
noResultsFound: 'لم يتم العثور على نتائج',
|
61
|
+
of: 'ل',
|
62
|
+
or: 'أو',
|
63
|
+
pinToLeft: 'تثبيت جهة اليسار',
|
64
|
+
pinToRight: 'تثبيت على اليمين',
|
65
|
+
resetColumnSize: 'Reset column size',
|
66
|
+
resetOrder: 'إعادة تعيين',
|
67
|
+
rowActions: 'إجراءات الصف',
|
68
|
+
rowNumber: '#',
|
69
|
+
rowNumbers: 'أرقام الصفوف',
|
70
|
+
rowsPerPage: 'عدد الصفوف في الصفحة',
|
71
|
+
save: 'حفظ',
|
72
|
+
search: 'بحث',
|
73
|
+
selectedCountOfRowCountRowsSelected:
|
74
|
+
'{selectedCount} ل {rowCount} row(s) المحدد',
|
75
|
+
select: 'اخيار',
|
76
|
+
showAll: 'عرض الكل',
|
77
|
+
showAllColumns: 'إظهار كافة الأعمدة',
|
78
|
+
showHideColumns: 'إظهار / إخفاء الأعمدة',
|
79
|
+
showHideFilters: 'إظهار / إخفاء المرشحات',
|
80
|
+
showHideSearch: 'إظهار / إخفاء البحث',
|
81
|
+
sortByColumnAsc: 'فرز {column} تصاعدي',
|
82
|
+
sortByColumnDesc: 'فرز {column} تنازلي',
|
83
|
+
sortedByColumnAsc: 'مرتبة حسب {column} تصاعدي',
|
84
|
+
sortedByColumnDesc: 'مرتبة حسب {column} تنازلي',
|
85
|
+
thenBy: ', ثم بواسطة ',
|
86
|
+
toggleDensity: 'تبديل الكثافة',
|
87
|
+
toggleFullScreen: 'ملء الشاشة',
|
88
|
+
toggleSelectAll: 'تبديل حدد الكل',
|
89
|
+
toggleSelectRow: 'تبديل تحديد الصف',
|
90
|
+
toggleVisibility: 'تبديل الرؤية',
|
91
|
+
ungroupByColumn: 'فك التجميع حسب {column}',
|
92
|
+
unpin: 'عدم التثبيت',
|
93
|
+
unpinAll: 'عدم تثبيت الكل',
|
94
|
+
};
|