///
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as react from 'react';
import { HTMLProps, MutableRefObject, Dispatch, SetStateAction, ReactNode, RefObject, DragEventHandler, MouseEvent } from 'react';
import { PaginationProps, ActionIconProps, UnstyledButtonProps, MultiSelectProps, TextInputProps, AutocompleteProps, RangeSliderProps, SelectProps, BoxProps, ModalProps, CheckboxProps, HighlightProps, LoadingOverlayProps, ProgressProps, PaperProps, RadioProps, SwitchProps, SkeletonProps, TableProps, BadgeProps, AlertProps, MantineTheme } from '@mantine/core';
import { DateInputProps } from '@mantine/dates';
import * as _tanstack_react_table from '@tanstack/react-table';
import { Row, Table, TableState, ColumnDef, DeepKeys, Column, Header, HeaderGroup, Cell, AggregationFn, SortingFn, FilterFn, TableOptions, OnChangeFn, ColumnOrderState, GroupingState, Renderable } from '@tanstack/react-table';
export { ColumnFiltersState as MRT_ColumnFiltersState, ColumnOrderState as MRT_ColumnOrderState, ColumnPinningState as MRT_ColumnPinningState, ColumnSizingInfoState as MRT_ColumnSizingInfoState, ColumnSizingState as MRT_ColumnSizingState, ExpandedState as MRT_ExpandedState, GroupingState as MRT_GroupingState, PaginationState as MRT_PaginationState, RowSelectionState as MRT_RowSelectionState, SortingState as MRT_SortingState, Updater as MRT_Updater, VisibilityState as MRT_VisibilityState } from '@tanstack/react-table';
import { Virtualizer, VirtualizerOptions, VirtualItem } from '@tanstack/react-virtual';
export { VirtualItem as MRT_VirtualItem, Virtualizer as MRT_Virtualizer, VirtualizerOptions as MRT_VirtualizerOptions } from '@tanstack/react-virtual';
import * as _tanstack_match_sorter_utils from '@tanstack/match-sorter-utils';
import { RankingInfo } from '@tanstack/match-sorter-utils';
import * as _tabler_icons_react from '@tabler/icons-react';
declare const MRT_AggregationFns: {
sum: _tanstack_react_table.AggregationFn;
min: _tanstack_react_table.AggregationFn;
max: _tanstack_react_table.AggregationFn;
extent: _tanstack_react_table.AggregationFn;
mean: _tanstack_react_table.AggregationFn;
median: _tanstack_react_table.AggregationFn;
unique: _tanstack_react_table.AggregationFn;
uniqueCount: _tanstack_react_table.AggregationFn;
count: _tanstack_react_table.AggregationFn;
};
declare const MRT_FilterFns: {
between: {
= {}>(row: Row, id: string, filterValues: [string | number, string | number]): boolean;
autoRemove(val: any): boolean;
};
betweenInclusive: {
= {}>(row: Row, id: string, filterValues: [string | number, string | number]): boolean;
autoRemove(val: any): boolean;
};
contains: {
= {}>(row: Row, id: string, filterValue: string | number): boolean;
autoRemove(val: any): boolean;
};
empty: {
= {}>(row: Row, id: string, _filterValue: string | number): boolean;
autoRemove(val: any): boolean;
};
endsWith: {
= {}>(row: Row, id: string, filterValue: string | number): boolean;
autoRemove(val: any): boolean;
};
equals: {
= {}>(row: Row, id: string, filterValue: string | number | null): boolean;
autoRemove(val: any): boolean;
};
fuzzy: {
= {}>(row: Row, columnId: string, filterValue: string | number, addMeta: (item: RankingInfo) => void): boolean;
autoRemove(val: any): boolean;
};
greaterThan: {
= {}>(row: Row, id: string, filterValue: string | number | null): boolean;
autoRemove(val: any): boolean;
};
greaterThanOrEqualTo: {
= {}>(row: Row, id: string, filterValue: string | number): boolean;
autoRemove(val: any): boolean;
};
lessThan: {
= {}>(row: Row, id: string, filterValue: string | number | null): boolean;
autoRemove(val: any): boolean;
};
lessThanOrEqualTo: {
= {}>(row: Row, id: string, filterValue: string | number): boolean;
autoRemove(val: any): boolean;
};
notEmpty: {
= {}>(row: Row, id: string, _filterValue: string | number): boolean;
autoRemove(val: any): boolean;
};
notEquals: {
= {}>(row: Row, id: string, filterValue: string | number): boolean;
autoRemove(val: any): boolean;
};
startsWith: {
= {}>(row: Row, id: string, filterValue: string | number): boolean;
autoRemove(val: any): boolean;
};
includesString: _tanstack_react_table.FilterFn;
includesStringSensitive: _tanstack_react_table.FilterFn;
equalsString: _tanstack_react_table.FilterFn;
arrIncludes: _tanstack_react_table.FilterFn;
arrIncludesAll: _tanstack_react_table.FilterFn;
arrIncludesSome: _tanstack_react_table.FilterFn;
weakEquals: _tanstack_react_table.FilterFn;
inNumberRange: _tanstack_react_table.FilterFn;
};
declare const MRT_SortingFns: {
fuzzy: = {}>(rowA: Row, rowB: Row, columnId: string) => number;
alphanumeric: _tanstack_react_table.SortingFn;
alphanumericCaseSensitive: _tanstack_react_table.SortingFn;
text: _tanstack_react_table.SortingFn;
textCaseSensitive: _tanstack_react_table.SortingFn;
datetime: _tanstack_react_table.SortingFn;
basic: _tanstack_react_table.SortingFn;
};
declare const rankGlobalFuzzy: = {}>(rowA: MRT_Row, rowB: MRT_Row) => number;
declare const MRT_Default_Icons: {
readonly IconArrowAutofitContent: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconArrowsSort: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconBaselineDensityLarge: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconBaselineDensityMedium: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconBaselineDensitySmall: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconBoxMultiple: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconChevronDown: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconChevronLeft: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconChevronLeftPipe: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconChevronRight: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconChevronRightPipe: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconChevronsDown: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconCircleX: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconClearAll: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconColumns: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconDeviceFloppy: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconDots: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconDotsVertical: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconEdit: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconEyeOff: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconFilter: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconFilterCog: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconFilterOff: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconGripHorizontal: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconMaximize: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconMinimize: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconPinned: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconPinnedOff: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconSearch: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconSearchOff: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconSortAscending: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconSortDescending: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
readonly IconX: (props: _tabler_icons_react.TablerIconsProps) => JSX.Element;
};
type MRT_Icons = Record;
type LiteralUnion = T | (U & Record);
type Prettify = {
[K in keyof T]: T[K];
} & unknown;
type Xor = Prettify | Prettify;
type HTMLPropsRef = Omit, 'color' | 'size' | 'type' | 'ref' | 'data' | 'label'> & {
ref?: MutableRefObject | null;
};
type MantineShade = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
type ColumnAlignment = {
align?: 'left' | 'center' | 'right';
};
type MRT_PaginationProps = Partial & {
rowsPerPageOptions?: string[];
showRowsPerPage?: boolean;
};
type MRT_DensityState = 'xs' | 'md' | 'xl';
type MRT_ColumnFilterFnsState = Record;
interface MRT_Localization {
actions: string;
and: string;
cancel: string;
changeFilterMode: string;
changeSearchMode: string;
clearFilter: string;
clearSearch: string;
clearSort: string;
clickToCopy: string;
collapse: string;
collapseAll: string;
columnActions: string;
copiedToClipboard: string;
create?: string;
dropToGroupBy: string;
edit: string;
expand: string;
expandAll: string;
filterArrIncludes: string;
filterArrIncludesAll: string;
filterArrIncludesSome: string;
filterBetween: string;
filterBetweenInclusive: string;
filterByColumn: string;
filterContains: string;
filterEmpty: string;
filterEndsWith: string;
filterEquals: string;
filterEqualsString: string;
filterFuzzy: string;
filterGreaterThan: string;
filterGreaterThanOrEqualTo: string;
filterInNumberRange: string;
filterIncludesString: string;
filterIncludesStringSensitive: string;
filterLessThan: string;
filterLessThanOrEqualTo: string;
filterMode: string;
filterNotEmpty: string;
filterNotEquals: string;
filterStartsWith: string;
filterWeakEquals: string;
filteringByColumn: string;
goToFirstPage: string;
goToLastPage: string;
goToNextPage: string;
goToPreviousPage: string;
grab: string;
groupByColumn: string;
groupedBy: string;
hideAll: string;
hideColumn: string;
max: string;
min: string;
move: string;
noRecordsToDisplay: string;
noResultsFound: string;
of: string;
or: string;
pinToLeft: string;
pinToRight: string;
resetColumnSize: string;
resetOrder: string;
rowActions: string;
rowNumber: string;
rowNumbers: string;
rowsPerPage: string;
save: string;
search: string;
select: string;
selectedCountOfRowCountRowsSelected: string;
showAll: string;
showAllColumns: string;
showHideColumns: string;
showHideFilters: string;
showHideSearch: string;
sortByColumnAsc: string;
sortByColumnDesc: string;
sortedByColumnAsc: string;
sortedByColumnDesc: string;
thenBy: string;
toggleDensity: string;
toggleFullScreen: string;
toggleSelectAll: string;
toggleSelectRow: string;
toggleVisibility: string;
ungroupByColumn: string;
unpin: string;
unpinAll: string;
}
interface MRT_RowModel = {}> {
flatRows: MRT_Row[];
rows: MRT_Row[];
rowsById: {
[key: string]: MRT_Row;
};
}
type MRT_TableInstance = {}> = Omit, 'getAllColumns' | 'getAllFlatColumns' | 'getAllLeafColumns' | 'getCenterLeafColumns' | 'getColumn' | 'getExpandedRowModel' | 'getFlatHeaders' | 'getHeaderGroups' | 'getLeftLeafColumns' | 'getPaginationRowModel' | 'getPreFilteredRowModel' | 'getPrePaginationRowModel' | 'getRightLeafColumns' | 'getRowModel' | 'getSelectedRowModel' | 'getState' | 'options'> & {
getAllColumns: () => MRT_Column[];
getAllFlatColumns: () => MRT_Column[];
getAllLeafColumns: () => MRT_Column[];
getCenterLeafColumns: () => MRT_Column[];
getColumn: (columnId: string) => MRT_Column;
getExpandedRowModel: () => MRT_RowModel;
getFlatHeaders: () => MRT_Header[];
getHeaderGroups: () => MRT_HeaderGroup[];
getLeftLeafColumns: () => MRT_Column[];
getPaginationRowModel: () => MRT_RowModel;
getPreFilteredRowModel: () => MRT_RowModel;
getPrePaginationRowModel: () => MRT_RowModel;
getRightLeafColumns: () => MRT_Column[];
getRowModel: () => MRT_RowModel;
getSelectedRowModel: () => MRT_RowModel;
getState: () => MRT_TableState;
options: MRT_DefinedTableOptions;
refs: {
bottomToolbarRef: MutableRefObject;
editInputRefs: MutableRefObject>;
filterInputRefs: MutableRefObject>;
searchInputRef: MutableRefObject;
tableContainerRef: MutableRefObject;
tableHeadCellRefs: MutableRefObject>;
tablePaperRef: MutableRefObject;
topToolbarRef: MutableRefObject;
};
setCreatingRow: Dispatch | null | true>>;
setColumnFilterFns: Dispatch>;
setDensity: Dispatch>;
setDraggingColumn: Dispatch | null>>;
setDraggingRow: Dispatch | null>>;
setEditingCell: Dispatch | null>>;
setEditingRow: Dispatch | null>>;
setGlobalFilterFn: Dispatch>;
setHoveredColumn: Dispatch | {
id: string;
} | null>>;
setHoveredRow: Dispatch | {
id: string;
} | null>>;
setIsFullScreen: Dispatch>;
setShowAlertBanner: Dispatch>;
setShowColumnFilters: Dispatch>;
setShowGlobalFilter: Dispatch>;
setShowToolbarDropZone: Dispatch>;
};
type MRT_DefinedTableOptions = {}> = MRT_TableOptions & {
localization: MRT_Localization;
icons: MRT_Icons;
};
type MRT_TableState = {}> = Prettify | null;
density: MRT_DensityState;
draggingColumn: MRT_Column | null;
draggingRow: MRT_Row | null;
editingCell: MRT_Cell | null;
editingRow: MRT_Row | null;
globalFilterFn: MRT_FilterOption;
hoveredColumn: MRT_Column | {
id: string;
} | null;
hoveredRow: MRT_Row | {
id: string;
} | null;
isFullScreen: boolean;
isLoading: boolean;
isSaving: boolean;
showAlertBanner: boolean;
showColumnFilters: boolean;
showGlobalFilter: boolean;
showLoadingOverlay: boolean;
showProgressBars: boolean;
showSkeletons: boolean;
showToolbarDropZone: boolean;
}>;
type MRT_ColumnDef = {}> = Omit, 'accessorKey' | 'aggregatedCell' | 'aggregationFn' | 'cell' | 'columns' | 'filterFn' | 'footer' | 'header' | 'id' | 'sortingFn'> & {
AggregatedCell?: (props: {
cell: MRT_Cell;
column: MRT_Column;
row: MRT_Row;
table: MRT_TableInstance;
}) => ReactNode;
Cell?: (props: {
cell: MRT_Cell;
renderedCellValue: number | string | ReactNode;
column: MRT_Column;
row: MRT_Row;
rowRef?: RefObject;
table: MRT_TableInstance;
}) => ReactNode;
Edit?: (props: {
cell: MRT_Cell;
column: MRT_Column;
row: MRT_Row;
table: MRT_TableInstance;
}) => ReactNode;
Filter?: (props: {
column: MRT_Column;
header: MRT_Header;
rangeFilterIndex?: number;
table: MRT_TableInstance;
}) => ReactNode;
Footer?: ReactNode | ((props: {
column: MRT_Column;
footer: MRT_Header;
table: MRT_TableInstance;
}) => ReactNode);
GroupedCell?: (props: {
cell: MRT_Cell;
column: MRT_Column;
row: MRT_Row;
table: MRT_TableInstance;
}) => ReactNode;
Header?: ReactNode | ((props: {
column: MRT_Column;
header: MRT_Header;
table: MRT_TableInstance;
}) => ReactNode);
PlaceholderCell?: (props: {
cell: MRT_Cell;
column: MRT_Column;
row: MRT_Row;
table: MRT_TableInstance;
}) => ReactNode;
/**
* Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
* Specify a function here to point to the correct property in the data object.
*
* @example accessorFn: (row) => row.username
*/
accessorFn?: (originalRow: TData) => any;
/**
* Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
* Specify which key in the row this column should use to access the correct data.
* Also supports Deep Key Dot Notation.
*
* @example accessorKey: 'username' //simple
* @example accessorKey: 'name.firstName' //deep key dot notation
*/
accessorKey?: (string & {}) | DeepKeys;
aggregationFn?: MRT_AggregationFn | Array>;
/**
* Specify what type of column this is. Either `data`, `display`, or `group`. Defaults to `data`.
* Leave this blank if you are just creating a normal data column.
*
* @default 'data'
*
* @example columnDefType: 'display'
*/
columnDefType?: 'data' | 'display' | 'group';
columnFilterModeOptions?: Array> | null;
columns?: MRT_ColumnDef[];
editVariant?: 'text' | 'select';
enableClickToCopy?: boolean;
enableColumnActions?: boolean;
enableColumnDragging?: boolean;
enableColumnFilterModes?: boolean;
enableColumnOrdering?: boolean;
enableEditing?: boolean | ((row: MRT_Row) => boolean);
enableFilterMatchHighlighting?: boolean;
filterFn?: MRT_FilterFn;
filterVariant?: 'autocomplete' | 'checkbox' | 'date' | 'date-range' | 'multi-select' | 'range' | 'range-slider' | 'select' | 'text';
/**
* footer must be a string. If you want custom JSX to render the footer, you can also specify a `Footer` option. (Capital F)
*/
footer?: string;
/**
* header must be a string. If you want custom JSX to render the header, you can also specify a `Header` option. (Capital H)
*/
header: string;
/**
* Either an `accessorKey` or a combination of an `accessorFn` and `id` are required for a data column definition.
*
* If you have also specified an `accessorFn`, MRT still needs to have a valid `id` to be able to identify the column uniquely.
*
* `id` defaults to the `accessorKey` or `header` if not specified.
*
* @default gets set to the same value as `accessorKey` by default
*/
id?: LiteralUnion;
mantineColumnActionsButtonProps?: (HTMLPropsRef & Partial) | ((props: {
table: MRT_TableInstance;
column: MRT_Column;
}) => HTMLPropsRef & Partial);
mantineColumnDragHandleProps?: (HTMLPropsRef & Partial) | ((props: {
table: MRT_TableInstance;
column: MRT_Column;
}) => HTMLPropsRef & Partial);
mantineCopyButtonProps?: (HTMLPropsRef & Partial) | ((props: {
cell: MRT_Cell;
column: MRT_Column;
row: MRT_Row;
table: MRT_TableInstance;
}) => HTMLPropsRef & Partial);
mantineEditSelectProps?: (HTMLPropsRef & Partial) | ((props: {
cell: MRT_Cell;
column: MRT_Column;
row: MRT_Row;
table: MRT_TableInstance;
}) => HTMLPropsRef & Partial);
mantineEditTextInputProps?: (HTMLPropsRef & Partial) | ((props: {
cell: MRT_Cell;
column: MRT_Column;
row: MRT_Row;
table: MRT_TableInstance;
}) => HTMLPropsRef & Partial);
mantineFilterAutocompleteProps?: (HTMLPropsRef & Partial) | ((props: {
column: MRT_Column;
table: MRT_TableInstance;
rangeFilterIndex?: number;
}) => HTMLPropsRef & Partial);
mantineFilterCheckboxProps?: (HTMLPropsRef & Partial) | ((props: {
column: MRT_Column;
table: MRT_TableInstance;
}) => HTMLPropsRef & Partial);
mantineFilterDateInputProps?: (HTMLPropsRef & Partial) | ((props: {
column: MRT_Column;
rangeFilterIndex?: number;
table: MRT_TableInstance;
}) => HTMLPropsRef & Partial);
mantineFilterMultiSelectProps?: (HTMLPropsRef & Partial) | ((props: {
table: MRT_TableInstance;
column: MRT_Column;
rangeFilterIndex?: number;
}) => HTMLPropsRef & Partial);
mantineFilterRangeSliderProps?: (HTMLPropsRef & Partial) | ((props: {
table: MRT_TableInstance;
column: MRT_Column;
rangeFilterIndex?: number;
}) => HTMLPropsRef & Partial);
mantineFilterSelectProps?: (HTMLPropsRef & Partial) | ((props: {
table: MRT_TableInstance;
column: MRT_Column;
rangeFilterIndex?: number;
}) => HTMLPropsRef & Partial);
mantineFilterTextInputProps?: (HTMLPropsRef & Partial) | ((props: {
table: MRT_TableInstance;
column: MRT_Column;
rangeFilterIndex?: number;
}) => HTMLPropsRef & Partial);
mantineTableBodyCellProps?: (HTMLPropsRef & BoxProps & ColumnAlignment) | ((props: {
cell: MRT_Cell;
column: MRT_Column;
row: MRT_Row;
table: MRT_TableInstance;
}) => HTMLPropsRef & BoxProps & ColumnAlignment);
mantineTableFooterCellProps?: (HTMLPropsRef & BoxProps & ColumnAlignment) | ((props: {
table: MRT_TableInstance;
column: MRT_Column;
}) => HTMLPropsRef & BoxProps & ColumnAlignment);
mantineTableHeadCellProps?: (HTMLPropsRef & BoxProps & ColumnAlignment) | ((props: {
table: MRT_TableInstance;
column: MRT_Column