material-react-table 2.12.0 → 2.13.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.ts +16 -17
- package/dist/index.esm.js +28 -40
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +28 -40
- package/dist/index.js.map +1 -1
- package/locales/am/index.d.ts +3 -0
- package/locales/am/index.esm.d.ts +3 -0
- package/locales/am/index.esm.js +93 -0
- package/locales/am/index.js +97 -0
- package/locales/am/package.json +6 -0
- package/locales/el/index.d.ts +3 -0
- package/locales/el/index.esm.d.ts +3 -0
- package/locales/el/index.esm.js +95 -0
- package/locales/el/index.js +99 -0
- package/locales/el/package.json +6 -0
- package/locales/hr/index.d.ts +3 -0
- package/locales/hr/index.esm.d.ts +3 -0
- package/locales/hr/index.esm.js +95 -0
- package/locales/hr/index.js +99 -0
- package/locales/hr/package.json +6 -0
- package/locales/pl/index.esm.js +5 -5
- package/locales/pl/index.js +5 -5
- package/package.json +35 -36
- package/src/components/buttons/MRT_EditActionButtons.tsx +2 -0
- package/src/components/inputs/MRT_FilterTextField.tsx +22 -44
- package/src/components/inputs/MRT_SelectCheckbox.tsx +1 -1
- package/src/components/menus/MRT_ShowHideColumnsMenuItems.tsx +1 -4
- package/src/components/table/MRT_TablePaper.tsx +4 -1
- package/src/components/toolbar/MRT_TablePagination.tsx +10 -12
- package/src/hooks/useMRT_ColumnVirtualizer.ts +6 -8
- package/src/hooks/useMRT_TableOptions.ts +10 -6
- package/src/locales/el.ts +96 -0
- package/src/locales/hr.ts +96 -0
- package/src/locales/pl.ts +5 -5
- package/src/types.ts +12 -13
package/dist/index.js
CHANGED
@@ -54,6 +54,7 @@ var ViewColumnIcon = require('@mui/icons-material/ViewColumn');
|
|
54
54
|
var VisibilityOffIcon = require('@mui/icons-material/VisibilityOff');
|
55
55
|
var reactVirtual = require('@tanstack/react-virtual');
|
56
56
|
var Paper = require('@mui/material/Paper');
|
57
|
+
var material = require('@mui/material');
|
57
58
|
var TableContainer = require('@mui/material/TableContainer');
|
58
59
|
var Table = require('@mui/material/Table');
|
59
60
|
var TableBody = require('@mui/material/TableBody');
|
@@ -747,7 +748,7 @@ const MRT_EditActionButtons = (_a) => {
|
|
747
748
|
}
|
748
749
|
};
|
749
750
|
return (jsxRuntime.jsx(Box__default["default"], { onClick: (e) => e.stopPropagation(), sx: (theme) => (Object.assign({ display: 'flex', gap: '0.75rem' }, parseFromValuesOrFunc(rest === null || rest === void 0 ? void 0 : rest.sx, theme))), children: variant === 'icon' ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Tooltip__default["default"], { title: localization.cancel, children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.cancel, onClick: handleCancel, children: jsxRuntime.jsx(CancelIcon, {}) }) }), ((isCreating && onCreatingRowSave) ||
|
750
|
-
(isEditing && onEditingRowSave)) && (jsxRuntime.jsx(Tooltip__default["default"], { title: localization.save, children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.save, color: "info", onClick: handleSubmitRow, children: isSaving ? jsxRuntime.jsx(CircularProgress__default["default"], { size: 18 }) : jsxRuntime.jsx(SaveIcon, {}) }) }))] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Button__default["default"], { onClick: handleCancel, sx: { minWidth: '100px' }, children: localization.cancel }), jsxRuntime.jsxs(Button__default["default"], { onClick: handleSubmitRow, sx: { minWidth: '100px' }, variant: "contained", children: [isSaving && jsxRuntime.jsx(CircularProgress__default["default"], { color: "inherit", size: 18 }), localization.save] })] })) }));
|
751
|
+
(isEditing && onEditingRowSave)) && (jsxRuntime.jsx(Tooltip__default["default"], { title: localization.save, children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.save, color: "info", disabled: isSaving, onClick: handleSubmitRow, children: isSaving ? jsxRuntime.jsx(CircularProgress__default["default"], { size: 18 }) : jsxRuntime.jsx(SaveIcon, {}) }) }))] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Button__default["default"], { onClick: handleCancel, sx: { minWidth: '100px' }, children: localization.cancel }), jsxRuntime.jsxs(Button__default["default"], { disabled: isSaving, onClick: handleSubmitRow, sx: { minWidth: '100px' }, variant: "contained", children: [isSaving && jsxRuntime.jsx(CircularProgress__default["default"], { color: "inherit", size: 18 }), localization.save] })] })) }));
|
751
752
|
};
|
752
753
|
|
753
754
|
const parseCSSVarId = (id) => id.replace(/[^a-zA-Z0-9]/g, '_');
|
@@ -1416,11 +1417,12 @@ const useMRT_TableOptions = (_a) => {
|
|
1416
1417
|
? reactTable.getFacetedMinMaxValues()
|
1417
1418
|
: undefined, getFacetedRowModel: enableFacetedValues ? reactTable.getFacetedRowModel() : undefined, getFacetedUniqueValues: enableFacetedValues
|
1418
1419
|
? reactTable.getFacetedUniqueValues()
|
1419
|
-
: undefined, getFilteredRowModel: enableColumnFilters || enableGlobalFilter || enableFilters
|
1420
|
+
: undefined, getFilteredRowModel: (enableColumnFilters || enableGlobalFilter || enableFilters) &&
|
1421
|
+
!manualFiltering
|
1420
1422
|
? reactTable.getFilteredRowModel()
|
1421
|
-
: undefined, getGroupedRowModel: enableGrouping ? reactTable.getGroupedRowModel() : undefined, getPaginationRowModel: enablePagination
|
1423
|
+
: undefined, getGroupedRowModel: enableGrouping && !manualGrouping ? reactTable.getGroupedRowModel() : undefined, getPaginationRowModel: enablePagination && !manualPagination
|
1422
1424
|
? reactTable.getPaginationRowModel()
|
1423
|
-
: undefined, getSortedRowModel: enableSorting ? reactTable.getSortedRowModel() : undefined, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows, icons,
|
1425
|
+
: undefined, getSortedRowModel: enableSorting && !manualSorting ? reactTable.getSortedRowModel() : undefined, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows, icons,
|
1424
1426
|
layoutMode,
|
1425
1427
|
localization,
|
1426
1428
|
manualFiltering,
|
@@ -1735,22 +1737,23 @@ const extraIndexRangeExtractor = (range, draggingIndex) => {
|
|
1735
1737
|
|
1736
1738
|
const useMRT_ColumnVirtualizer = (table) => {
|
1737
1739
|
var _a, _b, _c, _d;
|
1738
|
-
const {
|
1739
|
-
const { columnPinning, draggingColumn } = getState();
|
1740
|
+
const { getState, options: { columnVirtualizerInstanceRef, columnVirtualizerOptions, enableColumnPinning, enableColumnVirtualization, }, refs: { tableContainerRef }, } = table;
|
1741
|
+
const { columnPinning, columnVisibility, draggingColumn } = getState();
|
1740
1742
|
if (!enableColumnVirtualization)
|
1741
1743
|
return undefined;
|
1742
1744
|
const columnVirtualizerProps = parseFromValuesOrFunc(columnVirtualizerOptions, {
|
1743
1745
|
table,
|
1744
1746
|
});
|
1745
|
-
const visibleColumns = getVisibleLeafColumns();
|
1747
|
+
const visibleColumns = table.getVisibleLeafColumns();
|
1746
1748
|
const [leftPinnedIndexes, rightPinnedIndexes] = react.useMemo(() => enableColumnPinning
|
1747
1749
|
? [
|
1748
|
-
|
1749
|
-
|
1750
|
+
table.getLeftVisibleLeafColumns().map((c) => c.getPinnedIndex()),
|
1751
|
+
table
|
1752
|
+
.getRightVisibleLeafColumns()
|
1750
1753
|
.map((column) => visibleColumns.length - column.getPinnedIndex() - 1)
|
1751
1754
|
.sort((a, b) => a - b),
|
1752
1755
|
]
|
1753
|
-
: [[], []], [columnPinning, enableColumnPinning]);
|
1756
|
+
: [[], []], [columnPinning, columnVisibility, enableColumnPinning]);
|
1754
1757
|
const numPinnedLeft = leftPinnedIndexes.length;
|
1755
1758
|
const numPinnedRight = rightPinnedIndexes.length;
|
1756
1759
|
const draggingColumnIndex = react.useMemo(() => (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id)
|
@@ -2893,26 +2896,12 @@ const MRT_FilterTextField = (_a) => {
|
|
2893
2896
|
const { column } = header;
|
2894
2897
|
const { columnDef } = column;
|
2895
2898
|
const { filterVariant } = columnDef;
|
2896
|
-
const
|
2897
|
-
|
2898
|
-
|
2899
|
-
})),
|
2900
|
-
const
|
2901
|
-
|
2902
|
-
table,
|
2903
|
-
}));
|
2904
|
-
const datePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterDatePickerProps, { column, table })), parseFromValuesOrFunc(columnDef.muiFilterDatePickerProps, {
|
2905
|
-
column,
|
2906
|
-
table,
|
2907
|
-
}));
|
2908
|
-
const dateTimePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterDateTimePickerProps, { column, table })), parseFromValuesOrFunc(columnDef.muiFilterDateTimePickerProps, {
|
2909
|
-
column,
|
2910
|
-
table,
|
2911
|
-
}));
|
2912
|
-
const timePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterTimePickerProps, { column, table })), parseFromValuesOrFunc(columnDef.muiFilterTimePickerProps, {
|
2913
|
-
column,
|
2914
|
-
table,
|
2915
|
-
}));
|
2899
|
+
const args = { column, rangeFilterIndex, table };
|
2900
|
+
const textFieldProps = Object.assign(Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterTextFieldProps, args)), parseFromValuesOrFunc(columnDef.muiFilterTextFieldProps, args)), rest);
|
2901
|
+
const autocompleteProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterAutocompleteProps, args)), parseFromValuesOrFunc(columnDef.muiFilterAutocompleteProps, args));
|
2902
|
+
const datePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterDatePickerProps, args)), parseFromValuesOrFunc(columnDef.muiFilterDatePickerProps, args));
|
2903
|
+
const dateTimePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterDateTimePickerProps, args)), parseFromValuesOrFunc(columnDef.muiFilterDateTimePickerProps, args));
|
2904
|
+
const timePickerProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiFilterTimePickerProps, args)), parseFromValuesOrFunc(columnDef.muiFilterTimePickerProps, args));
|
2916
2905
|
const { allowedColumnFilterOptions, currentFilterOption, facetedUniqueValues, isAutocompleteFilter, isDateFilter, isMultiSelectFilter, isRangeFilter, isSelectFilter, isTextboxFilter, } = getColumnFilterInfo({ header, table });
|
2917
2906
|
const dropdownOptions = useDropdownOptions({ header, table });
|
2918
2907
|
const filterChipLabel = ['empty', 'notEmpty'].includes(currentFilterOption)
|
@@ -3795,13 +3784,13 @@ const MRT_TablePagination = (_a) => {
|
|
3795
3784
|
var { position = 'bottom', table } = _a, rest = __rest(_a, ["position", "table"]);
|
3796
3785
|
const theme = styles.useTheme();
|
3797
3786
|
const isMobile = useMediaQuery__default["default"]('(max-width: 720px)');
|
3798
|
-
const {
|
3787
|
+
const { getState, options: { enableToolbarInternalActions, icons: { ChevronLeftIcon, ChevronRightIcon, FirstPageIcon, LastPageIcon }, localization, muiPaginationProps, paginationDisplayMode, }, } = table;
|
3799
3788
|
const { pagination: { pageIndex = 0, pageSize = 10 }, showGlobalFilter, } = getState();
|
3800
3789
|
const paginationProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiPaginationProps, {
|
3801
3790
|
table,
|
3802
3791
|
})), rest);
|
3803
|
-
const totalRowCount =
|
3804
|
-
const numberOfPages =
|
3792
|
+
const totalRowCount = table.getRowCount();
|
3793
|
+
const numberOfPages = table.getPageCount();
|
3805
3794
|
const showFirstLastPageButtons = numberOfPages > 2;
|
3806
3795
|
const firstRowIndex = pageIndex * pageSize;
|
3807
3796
|
const lastRowIndex = Math.min(pageIndex * pageSize + pageSize, totalRowCount);
|
@@ -3831,17 +3820,17 @@ const MRT_TablePagination = (_a) => {
|
|
3831
3820
|
}, children: [showRowsPerPage && (jsxRuntime.jsxs(Box__default["default"], { sx: { alignItems: 'center', display: 'flex', gap: '8px' }, children: [jsxRuntime.jsx(InputLabel__default["default"], { htmlFor: "mrt-rows-per-page", sx: { mb: 0 }, children: localization.rowsPerPage }), jsxRuntime.jsx(Select__default["default"], Object.assign({ MenuProps: { disableScrollLock: true }, disableUnderline: true, disabled: disabled, inputProps: {
|
3832
3821
|
'aria-label': localization.rowsPerPage,
|
3833
3822
|
id: 'mrt-rows-per-page',
|
3834
|
-
}, label: localization.rowsPerPage, onChange: (event) => setPageSize(+event.target.value), sx: { mb: 0 }, value: pageSize, variant: "standard" }, SelectProps, { children: rowsPerPageOptions.map((option) => {
|
3823
|
+
}, label: localization.rowsPerPage, onChange: (event) => table.setPageSize(+event.target.value), sx: { mb: 0 }, value: pageSize, variant: "standard" }, SelectProps, { children: rowsPerPageOptions.map((option) => {
|
3835
3824
|
var _a;
|
3836
3825
|
const value = typeof option !== 'number' ? option.value : option;
|
3837
3826
|
const label = typeof option !== 'number' ? option.label : `${option}`;
|
3838
3827
|
return ((_a = SelectProps === null || SelectProps === void 0 ? void 0 : SelectProps.children) !== null && _a !== void 0 ? _a : ((SelectProps === null || SelectProps === void 0 ? void 0 : SelectProps.native) ? (jsxRuntime.jsx("option", { value: value, children: label }, value)) : (jsxRuntime.jsx(MenuItem__default["default"], { sx: { m: 0 }, value: value, children: label }, value))));
|
3839
|
-
}) }))] })), paginationDisplayMode === 'pages' ? (jsxRuntime.jsx(Pagination__default["default"], Object.assign({ count: numberOfPages, disabled: disabled, onChange: (_e, newPageIndex) => setPageIndex(newPageIndex - 1), page: pageIndex + 1, renderItem: (item) => (jsxRuntime.jsx(PaginationItem__default["default"], Object.assign({ slots: {
|
3828
|
+
}) }))] })), paginationDisplayMode === 'pages' ? (jsxRuntime.jsx(Pagination__default["default"], Object.assign({ count: numberOfPages, disabled: disabled, onChange: (_e, newPageIndex) => table.setPageIndex(newPageIndex - 1), page: pageIndex + 1, renderItem: (item) => (jsxRuntime.jsx(PaginationItem__default["default"], Object.assign({ slots: {
|
3840
3829
|
first: FirstPageIcon,
|
3841
3830
|
last: LastPageIcon,
|
3842
3831
|
next: ChevronRightIcon,
|
3843
3832
|
previous: ChevronLeftIcon,
|
3844
|
-
} }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, restPaginationProps))) : paginationDisplayMode === 'default' ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography__default["default"], { align: "center", component: "span", sx: { m: '0 4px', minWidth: '8ch' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxRuntime.jsxs(Box__default["default"], { gap: "xs", children: [showFirstButton && (jsxRuntime.jsx(Tooltip__default["default"], Object.assign({}, tooltipProps, { title: localization.goToFirstPage, children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToFirstPage, disabled: disableBack, onClick: () =>
|
3833
|
+
} }, item))), showFirstButton: showFirstButton, showLastButton: showLastButton }, restPaginationProps))) : paginationDisplayMode === 'default' ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography__default["default"], { align: "center", component: "span", sx: { m: '0 4px', minWidth: '8ch' }, variant: "body2", children: `${lastRowIndex === 0 ? 0 : (firstRowIndex + 1).toLocaleString()}-${lastRowIndex.toLocaleString()} ${localization.of} ${totalRowCount.toLocaleString()}` }), jsxRuntime.jsxs(Box__default["default"], { gap: "xs", children: [showFirstButton && (jsxRuntime.jsx(Tooltip__default["default"], Object.assign({}, tooltipProps, { title: localization.goToFirstPage, children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToFirstPage, disabled: disableBack, onClick: () => table.firstPage(), size: "small", children: jsxRuntime.jsx(FirstPageIcon, Object.assign({}, flipIconStyles(theme))) }) }) }))), jsxRuntime.jsx(Tooltip__default["default"], Object.assign({}, tooltipProps, { title: localization.goToPreviousPage, children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToPreviousPage, disabled: disableBack, onClick: () => table.previousPage(), size: "small", children: jsxRuntime.jsx(ChevronLeftIcon, Object.assign({}, flipIconStyles(theme))) }) }) })), jsxRuntime.jsx(Tooltip__default["default"], Object.assign({}, tooltipProps, { title: localization.goToNextPage, children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToNextPage, disabled: disableNext, onClick: () => table.nextPage(), size: "small", children: jsxRuntime.jsx(ChevronRightIcon, Object.assign({}, flipIconStyles(theme))) }) }) })), showLastButton && (jsxRuntime.jsx(Tooltip__default["default"], Object.assign({}, tooltipProps, { title: localization.goToLastPage, children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.goToLastPage, disabled: disableNext, onClick: () => table.lastPage(), size: "small", children: jsxRuntime.jsx(LastPageIcon, Object.assign({}, flipIconStyles(theme))) }) }) })))] })] })) : null] }));
|
3845
3834
|
};
|
3846
3835
|
|
3847
3836
|
const MRT_ToolbarDropZone = (_a) => {
|
@@ -3919,9 +3908,7 @@ const MRT_ShowHideColumnsMenuItems = (_a) => {
|
|
3919
3908
|
const { columnOrder } = getState();
|
3920
3909
|
const { columnDef } = column;
|
3921
3910
|
const { columnDefType } = columnDef;
|
3922
|
-
const switchChecked =
|
3923
|
-
(columnDefType === 'group' &&
|
3924
|
-
column.getLeafColumns().some((col) => col.getIsVisible()));
|
3911
|
+
const switchChecked = column.getIsVisible();
|
3925
3912
|
const handleToggleColumnHidden = (column) => {
|
3926
3913
|
var _a, _b;
|
3927
3914
|
if (columnDefType === 'group') {
|
@@ -4200,6 +4187,7 @@ const MRT_TablePaper = (_a) => {
|
|
4200
4187
|
const { getState, options: { enableBottomToolbar, enableTopToolbar, mrtTheme: { baseBackgroundColor }, muiTablePaperProps, renderBottomToolbar, renderTopToolbar, }, refs: { tablePaperRef }, } = table;
|
4201
4188
|
const { isFullScreen } = getState();
|
4202
4189
|
const paperProps = Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTablePaperProps, { table })), rest);
|
4190
|
+
const theme = material.useTheme();
|
4203
4191
|
return (jsxRuntime.jsxs(Paper__default["default"], Object.assign({ elevation: 2 }, paperProps, { ref: (ref) => {
|
4204
4192
|
tablePaperRef.current = ref;
|
4205
4193
|
if (paperProps === null || paperProps === void 0 ? void 0 : paperProps.ref) {
|
@@ -4219,7 +4207,7 @@ const MRT_TablePaper = (_a) => {
|
|
4219
4207
|
right: 0,
|
4220
4208
|
top: 0,
|
4221
4209
|
width: '100dvw',
|
4222
|
-
zIndex:
|
4210
|
+
zIndex: theme.zIndex.modal,
|
4223
4211
|
}
|
4224
4212
|
: {})), paperProps === null || paperProps === void 0 ? void 0 : paperProps.style), sx: (theme) => (Object.assign({ backgroundColor: baseBackgroundColor, backgroundImage: 'unset', overflow: 'hidden', transition: 'all 100ms ease-in-out' }, parseFromValuesOrFunc(paperProps === null || paperProps === void 0 ? void 0 : paperProps.sx, theme))), children: [enableTopToolbar &&
|
4225
4213
|
((_b = parseFromValuesOrFunc(renderTopToolbar, { table })) !== null && _b !== void 0 ? _b : (jsxRuntime.jsx(MRT_TopToolbar, { table: table }))), jsxRuntime.jsx(MRT_TableContainer, { table: table }), enableBottomToolbar &&
|