@cutting/material-react-table 5.0.0-beta.2 → 5.0.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/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AlertProps, BoxProps, ButtonProps, CheckboxProps, CircularProgressProps, CollapseProps, DialogProps, DividerProps, IconButtonProps, LinearProgressProps, MenuItemProps, MenuProps, PaginationProps, PaperProps, SelectProps, SliderProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TableProps, TableRowProps, TableSortLabelProps, TextFieldProps } from "@mui/material";
2
- import { ChangeEvent, Dispatch, DragEventHandler, JSX as JSX$1, MouseEvent, ReactNode, RefObject, SetStateAction } from "react";
2
+ import { ChangeEvent, Dispatch, DragEventHandler, JSX, MouseEvent, ReactNode, RefObject, SetStateAction } from "react";
3
3
  import { AccessorFn, AggregationFnDef, Cell, CellData, Column, ColumnDef, ColumnFiltersState, ColumnOrderState, ColumnPinningState, ColumnSizingState, ColumnVisibilityState, DeepKeys, DeepValue, ExpandedState, FilterFn, FilterMeta, GroupingState, Header, HeaderGroup, OnChangeFn, PaginationState, ReactTable, Renderable, Row, RowData, RowPinningPosition, RowSelectionState, SortFn, SortingState, StockFeatures, TableFeature, TableFeatures, TableOptions, TableState, TableState_ColumnResizing, Updater } from "@tanstack/react-table";
4
4
  import { VirtualItem, Virtualizer, VirtualizerOptions } from "@tanstack/react-virtual";
5
5
  import { Theme } from "@mui/material/styles";
@@ -109,15 +109,18 @@ export declare const MRT_FilterFns: {
109
109
  <TData extends MRT_RowData>(row: Row<any, TData>, id: string, filterValue: number | string): boolean;
110
110
  autoRemove(val: any): boolean;
111
111
  };
112
+ weakEquals: import("@tanstack/table-core").CreatedFilterFn<any, any>;
112
113
  };
113
114
  //#endregion
114
115
  //#region src/fns/sortingFns.d.ts
115
116
  export declare const MRT_SortingFns: {
116
117
  alphanumeric: import("@tanstack/table-core").CreatedSortFn<any, any>;
118
+ alphanumericCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
117
119
  basic: import("@tanstack/table-core").CreatedSortFn<any, any>;
118
120
  datetime: import("@tanstack/table-core").CreatedSortFn<any, any>;
119
121
  fuzzy: <TData extends MRT_RowData>(rowA: Row<any, TData>, rowB: Row<any, TData>, columnId: string) => number;
120
122
  text: import("@tanstack/table-core").CreatedSortFn<any, any>;
123
+ textCaseSensitive: import("@tanstack/table-core").CreatedSortFn<any, any>;
121
124
  };
122
125
  export declare const rankGlobalFuzzy: <TData extends MRT_RowData>(rowA: MRT_Row<TData>, rowB: MRT_Row<TData>) => number;
123
126
  //#endregion
@@ -1727,15 +1730,40 @@ export declare function defaultDisplayColumnProps<TData extends MRT_RowData>({ h
1727
1730
  readonly header: string;
1728
1731
  readonly meta?: import("@tanstack/table-core").ColumnMeta<MRT_TableFeatures, TData, unknown> | undefined;
1729
1732
  readonly getGroupingValue?: ((originalRow: TData, index: number, row: import("@tanstack/table-core").Row<MRT_TableFeatures, TData>) => any) | undefined;
1730
- readonly enableCellSelection?: boolean;
1731
- readonly enableCellSpanning?: boolean;
1732
- readonly enableGrouping?: boolean;
1733
- readonly enableHiding?: boolean;
1734
- readonly enableGlobalFilter?: boolean;
1735
- readonly enableMultiSort?: boolean;
1736
- readonly enableSorting?: boolean;
1737
- readonly sortDescFirst?: boolean;
1733
+ readonly _filterFn?: MRT_FilterOption;
1734
+ readonly AggregatedCell?: ((props: {
1735
+ cell: MRT_Cell<TData, unknown>;
1736
+ column: MRT_Column<TData, unknown>;
1737
+ row: MRT_Row<TData>;
1738
+ staticColumnIndex?: number;
1739
+ staticRowIndex?: number;
1740
+ table: MRT_TableInstance<TData>;
1741
+ }) => import("react").ReactNode) | undefined;
1742
+ readonly Cell?: ((props: {
1743
+ cell: MRT_Cell<TData, unknown>;
1744
+ column: MRT_Column<TData, unknown>;
1745
+ renderedCellValue: import("react").ReactNode;
1746
+ row: MRT_Row<TData>;
1747
+ rowRef?: import("react").RefObject<HTMLTableRowElement | null>;
1748
+ staticColumnIndex?: number;
1749
+ staticRowIndex?: number;
1750
+ table: MRT_TableInstance<TData>;
1751
+ }) => import("react").ReactNode) | undefined;
1752
+ readonly columnDefType?: "data" | "display" | "group";
1738
1753
  readonly columnFilterModeOptions?: Array<LiteralUnion<MRT_FilterOption & string>> | null;
1754
+ readonly Edit?: ((props: {
1755
+ cell: MRT_Cell<TData, unknown>;
1756
+ column: MRT_Column<TData, unknown>;
1757
+ row: MRT_Row<TData>;
1758
+ table: MRT_TableInstance<TData>;
1759
+ }) => import("react").ReactNode) | undefined;
1760
+ readonly editSelectOptions?: DropdownOption[] | ((props: {
1761
+ cell: MRT_Cell<TData, unknown>;
1762
+ column: MRT_Column<TData, unknown>;
1763
+ row: MRT_Row<TData>;
1764
+ table: MRT_TableInstance<TData>;
1765
+ }) => DropdownOption[]) | undefined;
1766
+ readonly editVariant?: "select" | "text";
1739
1767
  readonly enableClickToCopy?: boolean | "context-menu" | ((cell: MRT_Cell<TData, unknown>) => "context-menu" | boolean) | undefined;
1740
1768
  readonly enableColumnActions?: boolean;
1741
1769
  readonly enableColumnDragging?: boolean;
@@ -1743,6 +1771,33 @@ export declare function defaultDisplayColumnProps<TData extends MRT_RowData>({ h
1743
1771
  readonly enableColumnOrdering?: boolean;
1744
1772
  readonly enableEditing?: boolean | ((row: MRT_Row<TData>) => boolean) | undefined;
1745
1773
  readonly enableFilterMatchHighlighting?: boolean;
1774
+ readonly Filter?: ((props: {
1775
+ column: MRT_Column<TData, unknown>;
1776
+ header: MRT_Header<TData>;
1777
+ rangeFilterIndex?: number;
1778
+ table: MRT_TableInstance<TData>;
1779
+ }) => import("react").ReactNode) | undefined;
1780
+ readonly filterSelectOptions?: DropdownOption[];
1781
+ readonly filterVariant?: "autocomplete" | "checkbox" | "date" | "date-range" | "datetime" | "datetime-range" | "multi-select" | "range" | "range-slider" | "select" | "text" | "time" | "time-range";
1782
+ readonly Footer?: import("react").ReactNode | ((props: {
1783
+ column: MRT_Column<TData, unknown>;
1784
+ footer: MRT_Header<TData>;
1785
+ table: MRT_TableInstance<TData>;
1786
+ }) => import("react").ReactNode);
1787
+ readonly GroupedCell?: ((props: {
1788
+ cell: MRT_Cell<TData, unknown>;
1789
+ column: MRT_Column<TData, unknown>;
1790
+ row: MRT_Row<TData>;
1791
+ staticColumnIndex?: number;
1792
+ staticRowIndex?: number;
1793
+ table: MRT_TableInstance<TData>;
1794
+ }) => import("react").ReactNode) | undefined;
1795
+ readonly grow?: boolean | number;
1796
+ readonly Header?: import("react").ReactNode | ((props: {
1797
+ column: MRT_Column<TData, unknown>;
1798
+ header: MRT_Header<TData>;
1799
+ table: MRT_TableInstance<TData>;
1800
+ }) => import("react").ReactNode);
1746
1801
  readonly muiColumnActionsButtonProps?: import("@mui/material").IconButtonProps | ((props: {
1747
1802
  column: MRT_Column<TData, unknown>;
1748
1803
  table: MRT_TableInstance<TData>;
@@ -1763,7 +1818,7 @@ export declare function defaultDisplayColumnProps<TData extends MRT_RowData>({ h
1763
1818
  row: MRT_Row<TData>;
1764
1819
  table: MRT_TableInstance<TData>;
1765
1820
  }) => import("@mui/material").TextFieldProps) | undefined;
1766
- readonly muiFilterAutocompleteProps?: import("@mui/material").AutocompleteProps<any, any, any, any, "div"> | ((props: {
1821
+ readonly muiFilterAutocompleteProps?: import("@mui/material").AutocompleteProps<any, any, any, any, "div", undefined> | ((props: {
1767
1822
  column: MRT_Column<TData, unknown>;
1768
1823
  table: MRT_TableInstance<TData>;
1769
1824
  }) => import("@mui/material").AutocompleteProps<any, any, any, any>) | undefined;
@@ -1809,6 +1864,12 @@ export declare function defaultDisplayColumnProps<TData extends MRT_RowData>({ h
1809
1864
  column: MRT_Column<TData, unknown>;
1810
1865
  table: MRT_TableInstance<TData>;
1811
1866
  }) => import("@mui/material").TableCellProps) | undefined;
1867
+ readonly PlaceholderCell?: ((props: {
1868
+ cell: MRT_Cell<TData, unknown>;
1869
+ column: MRT_Column<TData, unknown>;
1870
+ row: MRT_Row<TData>;
1871
+ table: MRT_TableInstance<TData>;
1872
+ }) => import("react").ReactNode) | undefined;
1812
1873
  readonly renderCellActionMenuItems?: ((props: {
1813
1874
  cell: MRT_Cell<TData, unknown>;
1814
1875
  closeMenu: () => void;
@@ -1831,86 +1892,28 @@ export declare function defaultDisplayColumnProps<TData extends MRT_RowData>({ h
1831
1892
  onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
1832
1893
  table: MRT_TableInstance<TData>;
1833
1894
  }) => import("react").ReactNode[]) | undefined;
1834
- readonly _filterFn?: MRT_FilterOption;
1835
- readonly AggregatedCell?: ((props: {
1836
- cell: MRT_Cell<TData, unknown>;
1837
- column: MRT_Column<TData, unknown>;
1838
- row: MRT_Row<TData>;
1839
- staticColumnIndex?: number;
1840
- staticRowIndex?: number;
1841
- table: MRT_TableInstance<TData>;
1842
- }) => import("react").ReactNode) | undefined;
1843
- readonly Cell?: ((props: {
1844
- cell: MRT_Cell<TData, unknown>;
1845
- column: MRT_Column<TData, unknown>;
1846
- renderedCellValue: import("react").ReactNode;
1847
- row: MRT_Row<TData>;
1848
- rowRef?: import("react").RefObject<HTMLTableRowElement | null>;
1849
- staticColumnIndex?: number;
1850
- staticRowIndex?: number;
1851
- table: MRT_TableInstance<TData>;
1852
- }) => import("react").ReactNode) | undefined;
1853
- readonly columnDefType?: "data" | "display" | "group";
1854
- readonly Edit?: ((props: {
1855
- cell: MRT_Cell<TData, unknown>;
1856
- column: MRT_Column<TData, unknown>;
1857
- row: MRT_Row<TData>;
1858
- table: MRT_TableInstance<TData>;
1859
- }) => import("react").ReactNode) | undefined;
1860
- readonly editSelectOptions?: DropdownOption[] | ((props: {
1861
- cell: MRT_Cell<TData, unknown>;
1862
- column: MRT_Column<TData, unknown>;
1863
- row: MRT_Row<TData>;
1864
- table: MRT_TableInstance<TData>;
1865
- }) => DropdownOption[]) | undefined;
1866
- readonly editVariant?: "select" | "text";
1867
- readonly Filter?: ((props: {
1868
- column: MRT_Column<TData, unknown>;
1869
- header: MRT_Header<TData>;
1870
- rangeFilterIndex?: number;
1871
- table: MRT_TableInstance<TData>;
1872
- }) => import("react").ReactNode) | undefined;
1873
- readonly filterSelectOptions?: DropdownOption[];
1874
- readonly filterVariant?: "autocomplete" | "checkbox" | "date" | "date-range" | "datetime" | "datetime-range" | "multi-select" | "range" | "range-slider" | "select" | "text" | "time" | "time-range";
1875
- readonly Footer?: import("react").ReactNode | ((props: {
1876
- column: MRT_Column<TData, unknown>;
1877
- footer: MRT_Header<TData>;
1878
- table: MRT_TableInstance<TData>;
1879
- }) => import("react").ReactNode);
1880
- readonly GroupedCell?: ((props: {
1881
- cell: MRT_Cell<TData, unknown>;
1882
- column: MRT_Column<TData, unknown>;
1883
- row: MRT_Row<TData>;
1884
- staticColumnIndex?: number;
1885
- staticRowIndex?: number;
1886
- table: MRT_TableInstance<TData>;
1887
- }) => import("react").ReactNode) | undefined;
1888
- readonly grow?: boolean | number;
1889
- readonly Header?: import("react").ReactNode | ((props: {
1890
- column: MRT_Column<TData, unknown>;
1891
- header: MRT_Header<TData>;
1892
- table: MRT_TableInstance<TData>;
1893
- }) => import("react").ReactNode);
1894
- readonly PlaceholderCell?: ((props: {
1895
- cell: MRT_Cell<TData, unknown>;
1896
- column: MRT_Column<TData, unknown>;
1897
- row: MRT_Row<TData>;
1898
- table: MRT_TableInstance<TData>;
1899
- }) => import("react").ReactNode) | undefined;
1900
1895
  readonly visibleInShowHideMenu?: boolean;
1896
+ readonly enableCellSelection?: boolean;
1897
+ readonly enableCellSpanning?: boolean;
1901
1898
  readonly spanColumns?: number | ((context: import("@tanstack/table-core").ColSpanContext<MRT_TableFeatures, TData, unknown>) => number) | undefined;
1902
1899
  readonly spanRows?: boolean | ((context: import("@tanstack/table-core").RowSpanContext<MRT_TableFeatures, TData, unknown>) => boolean) | undefined;
1903
1900
  readonly enableColumnFilter?: boolean;
1904
1901
  readonly filterFn?: import("@tanstack/table-core").FilterFnOption<MRT_TableFeatures, TData> | undefined;
1902
+ readonly enableGrouping?: boolean;
1905
1903
  readonly enablePinning?: boolean;
1906
1904
  readonly enableResizing?: boolean;
1907
1905
  readonly maxSize?: number;
1908
1906
  readonly minSize?: number;
1907
+ readonly enableHiding?: boolean;
1908
+ readonly enableGlobalFilter?: boolean;
1909
1909
  readonly aggregatedCell?: import("@tanstack/table-core").ColumnDefTemplate<import("@tanstack/table-core").CellContext<MRT_TableFeatures, TData, unknown>> | undefined;
1910
1910
  readonly aggregationFn?: import("@tanstack/table-core").AggregationFnOption<MRT_TableFeatures, TData, unknown> | undefined;
1911
1911
  readonly maxAggregationDepth?: number;
1912
1912
  readonly getAggregationValue?: ((context: import("@tanstack/table-core").AggregationValueContext<MRT_TableFeatures, TData, unknown>) => import("@tanstack/table-core").AggregationValueResult | undefined) | undefined;
1913
1913
  readonly getUniqueValues?: import("@tanstack/table-core").AccessorFn<TData, readonly unknown[]> | undefined;
1914
+ readonly enableMultiSort?: boolean;
1915
+ readonly enableSorting?: boolean;
1916
+ readonly sortDescFirst?: boolean;
1914
1917
  readonly invertSorting?: boolean;
1915
1918
  readonly sortFn?: import("@tanstack/table-core").SortFnOption<MRT_TableFeatures, TData> | undefined;
1916
1919
  readonly sortUndefined?: false | -1 | 1 | "first" | "last";
@@ -1944,7 +1947,7 @@ export declare const getMRT_SelectAllHandler: <TData extends MRT_RowData>({ tabl
1944
1947
  }) => (event: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLButtonElement>, value?: boolean, forceAll?: boolean) => void;
1945
1948
  //#endregion
1946
1949
  //#region src/utils/tanstack.helpers.d.ts
1947
- export declare const flexRender: (Comp: Renderable<any>, props: any) => JSX$1.Element | ReactNode;
1950
+ export declare const flexRender: (Comp: Renderable<any>, props: any) => JSX.Element | ReactNode;
1948
1951
  export declare function createMRTColumnHelper<TData extends MRT_RowData>(): MRT_ColumnHelper<TData>;
1949
1952
  export declare const createRow: <TData extends MRT_RowData>(table: MRT_TableInstance<TData>, originalRow?: TData, rowIndex?: number, depth?: number, subRows?: MRT_Row<TData>[], parentId?: string) => MRT_Row<TData>;
1950
1953
  //#endregion
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Alert, AlertTitle, Autocomplete, Badge, Box, Button, Checkbox, Chip, CircularProgress, Collapse, Dialog, DialogActions, DialogContent, DialogTitle, Divider, Fade, FormControlLabel, FormHelperText, Grow, IconButton, InputAdornment, InputLabel, LinearProgress, ListItemIcon, Menu, MenuItem, Pagination, PaginationItem, Paper, Popover, Radio, Select, Skeleton, Slider, Stack, Switch, Table, TableBody, TableCell, TableContainer, TableFooter, TableHead, TableRow, TableSortLabel, TextField, Tooltip, Typography, useMediaQuery } from "@mui/material";
2
2
  import { Fragment, memo, useCallback, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
3
3
  import { compareItems, rankItem, rankings } from "@tanstack/match-sorter-utils";
4
- import { aggregationFns, cellSelectionFeature, cellSpanningFeature, columnFacetingFeature, columnFilteringFeature, columnGroupingFeature, columnOrderingFeature, columnPinningFeature, columnResizingFeature, columnSizingFeature, columnVisibilityFeature, constructRow, createExpandedRowModel, createFacetedMinMaxValues, createFacetedRowModel, createFacetedUniqueValues, createFilteredRowModel, createGroupedRowModel, createPaginatedRowModel, createSortedRowModel, filterFn_arrIncludes, filterFn_arrIncludesAll, filterFn_arrIncludesSome, filterFn_equalsString, filterFn_equalsStringSensitive, filterFn_inNumberRange, filterFn_includesString, filterFn_includesStringSensitive, flexRender as flexRender$1, globalFilteringFeature, rowAggregationFeature, rowExpandingFeature, rowPaginationFeature, rowPinningFeature, rowSelectionFeature, rowSortingFeature, sortFn_alphanumeric, sortFn_basic, sortFn_datetime, sortFn_text, tableFeatures, useTable } from "@tanstack/react-table";
4
+ import { aggregationFns, cellSelectionFeature, cellSpanningFeature, columnFacetingFeature, columnFilteringFeature, columnGroupingFeature, columnOrderingFeature, columnPinningFeature, columnResizingFeature, columnSizingFeature, columnVisibilityFeature, constructRow, createExpandedRowModel, createFacetedMinMaxValues, createFacetedRowModel, createFacetedUniqueValues, createFilteredRowModel, createGroupedRowModel, createPaginatedRowModel, createSortedRowModel, filterFn_arrIncludes, filterFn_arrIncludesAll, filterFn_arrIncludesSome, filterFn_equalsString, filterFn_equalsStringSensitive, filterFn_inNumberRange, filterFn_includesString, filterFn_includesStringSensitive, filterFn_weakEquals, flexRender as flexRender$1, globalFilteringFeature, rowAggregationFeature, rowExpandingFeature, rowPaginationFeature, rowPinningFeature, rowSelectionFeature, rowSortingFeature, sortFn_alphanumeric, sortFn_alphanumericCaseSensitive, sortFn_basic, sortFn_datetime, sortFn_text, sortFn_textCaseSensitive, tableFeatures, useTable } from "@tanstack/react-table";
5
5
  import { defaultRangeExtractor, useVirtualizer } from "@tanstack/react-virtual";
6
6
  import { alpha, darken, lighten, useTheme } from "@mui/material/styles";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -18,10 +18,12 @@ const fuzzy$1 = (rowA, rowB, columnId) => {
18
18
  };
19
19
  const MRT_SortingFns = {
20
20
  alphanumeric: sortFn_alphanumeric,
21
+ alphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,
21
22
  basic: sortFn_basic,
22
23
  datetime: sortFn_datetime,
23
24
  fuzzy: fuzzy$1,
24
- text: sortFn_text
25
+ text: sortFn_text,
26
+ textCaseSensitive: sortFn_textCaseSensitive
25
27
  };
26
28
  const rankGlobalFuzzy = (rowA, rowB) => Math.max(...Object.values(rowB.columnFiltersMeta).map((v) => v.rank)) - Math.max(...Object.values(rowA.columnFiltersMeta).map((v) => v.rank));
27
29
  //#endregion
@@ -3978,7 +3980,8 @@ const MRT_FilterFns = {
3978
3980
  lessThanOrEqualTo,
3979
3981
  notEmpty,
3980
3982
  notEquals,
3981
- startsWith
3983
+ startsWith,
3984
+ weakEquals: filterFn_weakEquals
3982
3985
  };
3983
3986
  const MRT_DefaultTableFeatures = tableFeatures({
3984
3987
  aggregationFns: MRT_AggregationFns,