material-react-table 0.6.10 → 0.7.0-alpha.3
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 +27 -17
- package/dist/MaterialReactTable.d.ts +306 -109
- package/dist/body/MRT_TableBody.d.ts +3 -0
- package/dist/body/MRT_TableBodyCell.d.ts +2 -11
- package/dist/body/MRT_TableBodyRow.d.ts +3 -1
- package/dist/body/MRT_TableDetailPanel.d.ts +2 -1
- package/dist/buttons/MRT_CopyButton.d.ts +4 -2
- package/dist/buttons/MRT_EditActionButtons.d.ts +2 -1
- package/dist/buttons/MRT_ExpandAllButton.d.ts +2 -0
- package/dist/buttons/MRT_ExpandButton.d.ts +2 -1
- package/dist/buttons/MRT_FullScreenToggleButton.d.ts +2 -0
- package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +2 -0
- package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +3 -2
- package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -0
- package/dist/buttons/MRT_ToggleFiltersButton.d.ts +2 -0
- package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -1
- package/dist/buttons/MRT_ToggleSearchButton.d.ts +2 -0
- package/dist/footer/MRT_TableFooter.d.ts +3 -0
- package/dist/footer/MRT_TableFooterCell.d.ts +3 -2
- package/dist/footer/MRT_TableFooterRow.d.ts +2 -1
- package/dist/head/MRT_TableHead.d.ts +3 -0
- package/dist/head/MRT_TableHeadCell.d.ts +4 -18
- package/dist/head/MRT_TableHeadRow.d.ts +2 -1
- package/dist/icons.d.ts +1 -1
- package/dist/inputs/MRT_EditCellTextField.d.ts +2 -1
- package/dist/inputs/MRT_FilterTextField.d.ts +3 -2
- package/dist/inputs/MRT_SearchTextField.d.ts +2 -0
- package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
- package/dist/localization.d.ts +7 -2
- package/dist/material-react-table.cjs.development.js +2209 -2483
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +2210 -2484
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ColumnActionMenu.d.ts +3 -2
- package/dist/menus/MRT_FilterTypeMenu.d.ts +4 -3
- package/dist/menus/MRT_RowActionMenu.d.ts +3 -2
- package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +2 -0
- package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -1
- package/dist/table/MRT_Table.d.ts +3 -0
- package/dist/table/MRT_TableContainer.d.ts +2 -0
- package/dist/table/MRT_TablePaper.d.ts +7 -0
- package/dist/table/MRT_TableRoot.d.ts +3 -0
- package/dist/toolbar/MRT_LinearProgressBar.d.ts +2 -0
- package/dist/toolbar/MRT_TablePagination.d.ts +2 -0
- package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -0
- package/dist/toolbar/MRT_ToolbarBottom.d.ts +2 -0
- package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -0
- package/dist/toolbar/MRT_ToolbarTop.d.ts +4 -2
- package/dist/utils.d.ts +12 -2
- package/package.json +28 -29
- package/src/MaterialReactTable.tsx +594 -300
- package/src/body/MRT_TableBody.tsx +26 -22
- package/src/body/MRT_TableBodyCell.tsx +75 -60
- package/src/body/MRT_TableBodyRow.tsx +37 -76
- package/src/body/MRT_TableDetailPanel.tsx +21 -17
- package/src/buttons/MRT_CopyButton.tsx +16 -9
- package/src/buttons/MRT_EditActionButtons.tsx +16 -13
- package/src/buttons/MRT_ExpandAllButton.tsx +24 -9
- package/src/buttons/MRT_ExpandButton.tsx +22 -15
- package/src/buttons/MRT_FullScreenToggleButton.tsx +18 -11
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +18 -7
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +22 -11
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +18 -11
- package/src/buttons/MRT_ToggleFiltersButton.tsx +16 -9
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +27 -22
- package/src/buttons/MRT_ToggleSearchButton.tsx +24 -12
- package/src/footer/MRT_TableFooter.tsx +24 -8
- package/src/footer/MRT_TableFooterCell.tsx +34 -26
- package/src/footer/MRT_TableFooterRow.tsx +21 -39
- package/src/head/MRT_TableHead.tsx +24 -8
- package/src/head/MRT_TableHeadCell.tsx +184 -142
- package/src/head/MRT_TableHeadRow.tsx +16 -104
- package/src/icons.ts +3 -3
- package/src/inputs/MRT_EditCellTextField.tsx +23 -24
- package/src/inputs/MRT_FilterTextField.tsx +53 -32
- package/src/inputs/MRT_SearchTextField.tsx +46 -24
- package/src/inputs/MRT_SelectCheckbox.tsx +42 -30
- package/src/localization.ts +13 -2
- package/src/menus/MRT_ColumnActionMenu.tsx +129 -69
- package/src/menus/MRT_FilterTypeMenu.tsx +28 -22
- package/src/menus/MRT_RowActionMenu.tsx +21 -14
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +52 -20
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +27 -17
- package/src/table/MRT_Table.tsx +25 -15
- package/src/table/MRT_TableContainer.tsx +106 -45
- package/src/table/MRT_TablePaper.tsx +65 -0
- package/src/table/MRT_TableRoot.tsx +236 -0
- package/src/toolbar/MRT_LinearProgressBar.tsx +10 -7
- package/src/toolbar/MRT_TablePagination.tsx +33 -19
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +33 -20
- package/src/toolbar/MRT_ToolbarBottom.tsx +32 -21
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +34 -20
- package/src/toolbar/MRT_ToolbarTop.tsx +36 -29
- package/src/utils.ts +37 -8
- package/dist/head/MRT_TableHeadCellActions.d.ts +0 -5
- package/dist/table/MRT_TableSpacerCell.d.ts +0 -6
- package/dist/useMRT.d.ts +0 -28
- package/src/@types/faker.d.ts +0 -4
- package/src/@types/react-table-config.d.ts +0 -53
- package/src/head/MRT_TableHeadCellActions.tsx +0 -29
- package/src/table/MRT_TableSpacerCell.tsx +0 -20
- package/src/useMRT.tsx +0 -226
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-react-table.cjs.development.js","sources":["../src/enums.ts","../src/utils.ts","../src/useMRT.tsx","../src/filtersFNs.ts","../src/menus/MRT_FilterTypeMenu.tsx","../src/inputs/MRT_FilterTextField.tsx","../src/menus/MRT_ShowHideColumnsMenuItems.tsx","../src/menus/MRT_ShowHideColumnsMenu.tsx","../src/menus/MRT_ColumnActionMenu.tsx","../src/buttons/MRT_ToggleColumnActionMenuButton.tsx","../src/head/MRT_TableHeadCell.tsx","../src/inputs/MRT_SelectCheckbox.tsx","../src/buttons/MRT_ExpandAllButton.tsx","../src/table/MRT_TableSpacerCell.tsx","../src/head/MRT_TableHeadCellActions.tsx","../src/head/MRT_TableHeadRow.tsx","../src/head/MRT_TableHead.tsx","../src/inputs/MRT_EditCellTextField.tsx","../src/buttons/MRT_CopyButton.tsx","../src/body/MRT_TableBodyCell.tsx","../src/body/MRT_TableDetailPanel.tsx","../src/buttons/MRT_ExpandButton.tsx","../src/menus/MRT_RowActionMenu.tsx","../node_modules/regenerator-runtime/runtime.js","../src/buttons/MRT_EditActionButtons.tsx","../src/buttons/MRT_ToggleRowActionMenuButton.tsx","../src/body/MRT_TableBodyRow.tsx","../src/body/MRT_TableBody.tsx","../src/footer/MRT_TableFooterCell.tsx","../src/footer/MRT_TableFooterRow.tsx","../src/footer/MRT_TableFooter.tsx","../src/table/MRT_Table.tsx","../src/inputs/MRT_SearchTextField.tsx","../src/buttons/MRT_FullScreenToggleButton.tsx","../src/buttons/MRT_ShowHideColumnsButton.tsx","../src/buttons/MRT_ToggleDensePaddingButton.tsx","../src/buttons/MRT_ToggleFiltersButton.tsx","../src/buttons/MRT_ToggleSearchButton.tsx","../src/toolbar/MRT_ToolbarInternalButtons.tsx","../src/toolbar/MRT_TablePagination.tsx","../src/toolbar/MRT_ToolbarAlertBanner.tsx","../src/toolbar/MRT_LinearProgressBar.tsx","../src/toolbar/MRT_ToolbarTop.tsx","../src/toolbar/MRT_ToolbarBottom.tsx","../src/table/MRT_TableContainer.tsx","../src/localization.ts","../src/icons.ts","../src/MaterialReactTable.tsx"],"sourcesContent":["export enum MRT_FILTER_TYPE {\n BEST_MATCH = 'bestMatch',\n BEST_MATCH_FIRST = 'bestMatchFirst',\n CONTAINS = 'contains',\n EMPTY = 'empty',\n ENDS_WITH = 'endsWith',\n EQUALS = 'equals',\n GREATER_THAN = 'greaterThan',\n LESS_THAN = 'lessThan',\n NOT_EMPTY = 'notEmpty',\n NOT_EQUALS = 'notEquals',\n STARTS_WITH = 'startsWith',\n}\n","import { MRT_ColumnInstance, MRT_ColumnInterface } from '.';\n\nexport const findLowestLevelCols = (\n columns: MRT_ColumnInterface[] | MRT_ColumnInstance[],\n) => {\n let lowestLevelColumns: MRT_ColumnInterface[] | MRT_ColumnInstance[] =\n columns;\n let currentCols: MRT_ColumnInterface[] | MRT_ColumnInstance[] | undefined =\n columns;\n while (!!currentCols?.length && currentCols.some((col) => col.columns)) {\n const nextCols: MRT_ColumnInterface[] = currentCols\n .filter((col) => !!col.columns)\n .map((col) => col.columns)\n .flat() as MRT_ColumnInterface[];\n if (nextCols.every((col) => !col?.columns)) {\n lowestLevelColumns = [...lowestLevelColumns, ...nextCols];\n }\n currentCols = nextCols;\n }\n return lowestLevelColumns.filter((col) => !col.columns);\n};\n","import React, {\n Context,\n Dispatch,\n PropsWithChildren,\n SetStateAction,\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport {\n PluginHook,\n useExpanded,\n useFilters,\n useFlexLayout,\n useGlobalFilter,\n useGroupBy,\n usePagination,\n useResizeColumns,\n useRowSelect,\n useSortBy,\n useTable,\n} from 'react-table';\nimport type {\n MRT_ColumnInterface,\n MRT_FilterType,\n MRT_Row,\n MRT_TableInstance,\n} from '.';\nimport { MRT_FILTER_TYPE } from './enums';\nimport { MRT_Icons } from './icons';\nimport { MRT_Localization } from './localization';\nimport { MaterialReactTableProps } from './MaterialReactTable';\nimport { findLowestLevelCols } from './utils';\n\nexport type UseMRT<D extends {} = {}> = MaterialReactTableProps<D> & {\n anyRowsCanExpand: boolean;\n anyRowsExpanded: boolean;\n icons: MRT_Icons;\n idPrefix: string;\n filterTypes: { [key in MRT_FILTER_TYPE]: any };\n localization: MRT_Localization;\n setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row<D> | null>>;\n setCurrentFilterTypes: Dispatch<\n SetStateAction<{\n [key: string]: MRT_FilterType;\n }>\n >;\n setCurrentGlobalFilterType: Dispatch<SetStateAction<MRT_FILTER_TYPE>>;\n setDensePadding: Dispatch<SetStateAction<boolean>>;\n setFullScreen: Dispatch<SetStateAction<boolean>>;\n setShowFilters: Dispatch<SetStateAction<boolean>>;\n setShowSearch: Dispatch<SetStateAction<boolean>>;\n tableInstance: MRT_TableInstance<D>;\n};\n\nconst MaterialReactTableContext = (<D extends {} = {}>() =>\n createContext<UseMRT<D>>({} as UseMRT<D>) as Context<UseMRT<D>>)();\n\nexport const MaterialReactTableProvider = <D extends {} = {}>(\n props: PropsWithChildren<MaterialReactTableProps<D>>,\n) => {\n const hooks: PluginHook<D>[] = [\n useFilters,\n useGlobalFilter,\n useGroupBy,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect,\n ];\n\n if (props.enableColumnResizing)\n hooks.unshift(useResizeColumns, useFlexLayout);\n\n const [currentEditingRow, setCurrentEditingRow] = useState<MRT_Row<D> | null>(\n null,\n );\n const [densePadding, setDensePadding] = useState(\n props.initialState?.densePadding ?? false,\n );\n const [fullScreen, setFullScreen] = useState(\n props.initialState?.fullScreen ?? false,\n );\n const [showFilters, setShowFilters] = useState(\n props.initialState?.showFilters ?? false,\n );\n const [showSearch, setShowSearch] = useState(\n props.initialState?.showSearch ?? false,\n );\n\n const [currentFilterTypes, setCurrentFilterTypes] = useState<{\n [key: string]: MRT_FilterType;\n }>(() =>\n Object.assign(\n {},\n ...findLowestLevelCols(props.columns).map((c) => ({\n [c.accessor as string]:\n c.filter ??\n props?.initialState?.filters?.[c.accessor as any] ??\n (!!c.filterSelectOptions?.length\n ? MRT_FILTER_TYPE.EQUALS\n : MRT_FILTER_TYPE.BEST_MATCH),\n })),\n ),\n );\n\n const [currentGlobalFilterType, setCurrentGlobalFilterType] = useState<\n MRT_FilterType | string | undefined\n >(props.globalFilter);\n\n const applyFiltersToColumns = useCallback(\n (cols: MRT_ColumnInterface[]) =>\n cols.map((column) => {\n if (column.columns) {\n applyFiltersToColumns(column.columns);\n } else {\n column.filter =\n props?.filterTypes?.[\n currentFilterTypes[column.accessor as string] as MRT_FILTER_TYPE\n ];\n }\n return column;\n }),\n [currentFilterTypes, props.filterTypes],\n );\n\n const columns = useMemo(\n () => applyFiltersToColumns(props.columns),\n [props.columns, applyFiltersToColumns],\n );\n\n const data = useMemo(\n () =>\n !props.isLoading || !!props.data.length\n ? props.data\n : [...Array(10).fill(null)].map((_) =>\n Object.assign(\n {},\n ...findLowestLevelCols(props.columns).map((c) => ({\n [c.accessor as string]: null,\n })),\n ),\n ),\n [props.data, props.isLoading],\n );\n\n const tableInstance = useTable(\n // @ts-ignore\n {\n ...props,\n // @ts-ignore\n columns,\n data,\n globalFilter: currentGlobalFilterType,\n useControlledState: (state) =>\n useMemo(\n () => ({\n ...state,\n currentEditingRow,\n currentFilterTypes,\n currentGlobalFilterType,\n densePadding,\n fullScreen,\n showFilters,\n showSearch,\n //@ts-ignore\n ...props?.useControlledState?.(state),\n }),\n [\n currentEditingRow,\n currentFilterTypes,\n currentGlobalFilterType,\n densePadding,\n fullScreen,\n showFilters,\n showSearch,\n state,\n ],\n ),\n },\n ...hooks,\n ) as unknown as MRT_TableInstance<D>;\n\n const idPrefix = useMemo(\n () => props.idPrefix ?? Math.random().toString(36).substring(2, 9),\n [props.idPrefix],\n );\n const anyRowsCanExpand = useMemo(\n () => tableInstance.rows.some((row) => row.canExpand),\n [tableInstance.rows],\n );\n const anyRowsExpanded = useMemo(\n () => tableInstance.rows.some((row) => row.isExpanded),\n [tableInstance.rows],\n );\n\n return (\n <MaterialReactTableContext.Provider\n value={{\n ...props,\n anyRowsCanExpand,\n anyRowsExpanded,\n idPrefix,\n //@ts-ignore\n setCurrentEditingRow,\n setCurrentFilterTypes,\n setCurrentGlobalFilterType,\n setDensePadding,\n setFullScreen,\n setShowFilters,\n setShowSearch,\n //@ts-ignore\n tableInstance,\n }}\n >\n {props.children}\n </MaterialReactTableContext.Provider>\n );\n};\n\nexport const useMRT = <D extends {} = {}>(): UseMRT<D> =>\n useContext<UseMRT<D>>(\n MaterialReactTableContext as unknown as Context<UseMRT<D>>,\n );\n","import { matchSorter } from 'match-sorter';\nimport { MRT_Row } from '.';\n\nexport const bestMatchFirst = (\n rows: MRT_Row[],\n columnIds: string[] | string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: Array.isArray(columnIds)\n ? columnIds.map((c) => `values.${c}`)\n : [`values.${columnIds}`],\n });\n\nbestMatchFirst.autoRemove = (val: any) => !val;\n\nexport const bestMatch = (\n rows: MRT_Row[],\n columnIds: string[] | string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: Array.isArray(columnIds)\n ? columnIds.map((c) => `values.${c}`)\n : [`values.${columnIds}`],\n sorter: (rankedItems) => rankedItems,\n });\n\nbestMatch.autoRemove = (val: any) => !val;\n\nexport const contains = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .includes(filterValue.toString().toLowerCase().trim()),\n );\n\ncontains.autoRemove = (val: any) => !val;\n\nexport const startsWith = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .startsWith(filterValue.toString().toLowerCase().trim()),\n );\n\nstartsWith.autoRemove = (val: any) => !val;\n\nexport const endsWith = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .endsWith(filterValue.toString().toLowerCase().trim()),\n );\n\nendsWith.autoRemove = (val: any) => !val;\n\nexport const equals = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter(\n (row) =>\n row.values[id].toString().toLowerCase().trim() ===\n filterValue.toString().toLowerCase().trim(),\n );\n\nequals.autoRemove = (val: any) => !val;\n\nexport const notEquals = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter(\n (row) =>\n row.values[id].toString().toLowerCase().trim() !==\n filterValue.toString().toLowerCase().trim(),\n );\n\nnotEquals.autoRemove = (val: any) => !val;\n\nexport const greaterThan = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n !isNaN(+filterValue) && !isNaN(+row.values[id])\n ? +row.values[id] > +filterValue\n : row.values[id].toString().toLowerCase().trim() >\n filterValue.toString().toLowerCase().trim(),\n );\n\ngreaterThan.autoRemove = (val: any) => !val;\n\nexport const lessThan = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n !isNaN(+filterValue) && !isNaN(+row.values[id])\n ? +row.values[id] < +filterValue\n : row.values[id].toString().toLowerCase().trim() <\n filterValue.toString().toLowerCase().trim(),\n );\n\nlessThan.autoRemove = (val: any) => !val;\n\nexport const empty = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !row.values[id].toString().toLowerCase().trim());\n\nempty.autoRemove = (val: any) => !val;\n\nexport const notEmpty = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !!row.values[id].toString().toLowerCase().trim());\n\nnotEmpty.autoRemove = (val: any) => !val;\n\nexport const defaultFilterFNs = {\n bestMatch,\n bestMatchFirst,\n contains,\n empty,\n endsWith,\n equals,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n};\n","import React, { FC, useMemo } from 'react';\nimport { Menu, MenuItem } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_FilterType, MRT_HeaderGroup } from '..';\nimport { MRT_FILTER_TYPE } from '../enums';\nimport {\n bestMatch,\n bestMatchFirst,\n contains,\n empty,\n endsWith,\n equals,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n} from '../filtersFNs';\n\nconst commonMenuItemStyles = {\n py: '6px',\n my: 0,\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n column?: MRT_HeaderGroup;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n onSelect?: () => void;\n}\n\nexport const MRT_FilterTypeMenu: FC<Props> = ({\n anchorEl,\n column,\n onSelect,\n setAnchorEl,\n}) => {\n const {\n enabledGlobalFilterTypes,\n localization,\n setCurrentFilterTypes,\n setCurrentGlobalFilterType,\n tableInstance,\n } = useMRT();\n\n const filterTypes: {\n type: MRT_FILTER_TYPE;\n label: string;\n divider: boolean;\n fn: Function;\n }[] = useMemo(\n () =>\n [\n {\n type: MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n label: localization.filterBestMatchFirst,\n divider: false,\n fn: bestMatchFirst,\n },\n {\n type: MRT_FILTER_TYPE.BEST_MATCH,\n label: localization.filterBestMatch,\n divider: !!column,\n fn: bestMatch,\n },\n {\n type: MRT_FILTER_TYPE.CONTAINS,\n label: localization.filterContains,\n divider: false,\n fn: contains,\n },\n {\n type: MRT_FILTER_TYPE.STARTS_WITH,\n label: localization.filterStartsWith,\n divider: false,\n fn: startsWith,\n },\n {\n type: MRT_FILTER_TYPE.ENDS_WITH,\n label: localization.filterEndsWith,\n divider: true,\n fn: endsWith,\n },\n {\n type: MRT_FILTER_TYPE.EQUALS,\n label: localization.filterEquals,\n divider: false,\n fn: equals,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EQUALS,\n label: localization.filterNotEquals,\n divider: true,\n fn: notEquals,\n },\n {\n type: MRT_FILTER_TYPE.GREATER_THAN,\n label: localization.filterGreaterThan,\n divider: false,\n fn: greaterThan,\n },\n {\n type: MRT_FILTER_TYPE.LESS_THAN,\n label: localization.filterLessThan,\n divider: true,\n fn: lessThan,\n },\n {\n type: MRT_FILTER_TYPE.EMPTY,\n label: localization.filterEmpty,\n divider: false,\n fn: empty,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EMPTY,\n label: localization.filterNotEmpty,\n divider: false,\n fn: notEmpty,\n },\n ].filter((filterType) =>\n column\n ? !column.enabledFilterTypes ||\n column.enabledFilterTypes.includes(filterType.type)\n : (!enabledGlobalFilterTypes ||\n enabledGlobalFilterTypes.includes(filterType.type)) &&\n [\n MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n MRT_FILTER_TYPE.BEST_MATCH,\n ].includes(filterType.type),\n ),\n [],\n );\n\n const handleSelectFilterType = (value: MRT_FILTER_TYPE) => {\n if (column) {\n setCurrentFilterTypes((prev: { [key: string]: MRT_FilterType }) => ({\n ...prev,\n [column.id]: value,\n }));\n if ([MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {\n column.setFilter(' ');\n }\n } else {\n setCurrentGlobalFilterType(value);\n }\n setAnchorEl(null);\n onSelect?.();\n };\n\n const filterType = column\n ? tableInstance.state.currentFilterTypes[column.id]\n : tableInstance.state.currentGlobalFilterType;\n\n return (\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'center', horizontal: 'right' }}\n onClose={() => setAnchorEl(null)}\n open={!!anchorEl}\n MenuListProps={{\n dense: tableInstance.state.densePadding,\n }}\n >\n {filterTypes.map(({ type, label, divider, fn }, index) => (\n <MenuItem\n divider={divider}\n key={index}\n onClick={() => handleSelectFilterType(type)}\n selected={type === filterType || fn === filterType}\n sx={commonMenuItemStyles}\n value={type}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n );\n};\n","import React, { ChangeEvent, FC, MouseEvent, useState } from 'react';\nimport {\n Chip,\n IconButton,\n InputAdornment,\n MenuItem,\n TextField,\n TextFieldProps,\n Tooltip,\n} from '@mui/material';\nimport { useAsyncDebounce } from 'react-table';\nimport { useMRT } from '../useMRT';\nimport type { MRT_HeaderGroup } from '..';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\nimport { MRT_FILTER_TYPE } from '../enums';\n\ninterface Props {\n column: MRT_HeaderGroup;\n}\n\nexport const MRT_FilterTextField: FC<Props> = ({ column }) => {\n const {\n icons: { FilterListIcon, CloseIcon },\n idPrefix,\n localization,\n muiTableHeadCellFilterTextFieldProps,\n setCurrentFilterTypes,\n tableInstance,\n } = useMRT();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const mTableHeadCellFilterTextFieldProps =\n muiTableHeadCellFilterTextFieldProps instanceof Function\n ? muiTableHeadCellFilterTextFieldProps(column)\n : muiTableHeadCellFilterTextFieldProps;\n\n const mcTableHeadCellFilterTextFieldProps =\n column.muiTableHeadCellFilterTextFieldProps instanceof Function\n ? column.muiTableHeadCellFilterTextFieldProps(column)\n : column.muiTableHeadCellFilterTextFieldProps;\n\n const textFieldProps = {\n ...mTableHeadCellFilterTextFieldProps,\n ...mcTableHeadCellFilterTextFieldProps,\n } as TextFieldProps;\n\n const [filterValue, setFilterValue] = useState('');\n\n const handleChange = useAsyncDebounce((value) => {\n column.setFilter(value ?? undefined);\n }, 150);\n\n const handleFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setFilterValue('');\n column.setFilter(undefined);\n };\n\n const handleClearFilterChip = () => {\n setFilterValue('');\n column.setFilter(undefined);\n setCurrentFilterTypes((prev) => ({\n ...prev,\n [column.id]: MRT_FILTER_TYPE.BEST_MATCH,\n }));\n };\n\n if (column.Filter) {\n return <>{column.Filter?.({ column })}</>;\n }\n\n const filterId = `mrt-${idPrefix}-${column.id}-filter-text-field`;\n const filterType = tableInstance.state.currentFilterTypes[column.id];\n const isSelectFilter = !!column.filterSelectOptions;\n const filterChipLabel =\n !(filterType instanceof Function) &&\n [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(\n filterType as MRT_FILTER_TYPE,\n )\n ? //@ts-ignore\n localization[\n `filter${filterType.charAt(0).toUpperCase() + filterType.slice(1)}`\n ]\n : '';\n const filterPlaceholder = localization.filterByColumn?.replace(\n '{column}',\n String(column.Header),\n );\n\n return (\n <>\n <TextField\n fullWidth\n id={filterId}\n inputProps={{\n disabled: !!filterChipLabel,\n sx: {\n textOverflow: 'ellipsis',\n width: filterChipLabel ? 0 : undefined,\n },\n title: filterPlaceholder,\n }}\n helperText={\n <label htmlFor={filterId}>\n {filterType instanceof Function\n ? localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterType.name.charAt(0).toUpperCase() +\n filterType.name.slice(1)\n }`\n ] ?? '',\n ) ?? ''\n : localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterType.charAt(0).toUpperCase() + filterType.slice(1)\n }`\n ],\n )}\n </label>\n }\n FormHelperTextProps={{\n sx: { fontSize: '0.6rem', lineHeight: '0.8rem' },\n }}\n label={isSelectFilter && !filterValue ? filterPlaceholder : undefined}\n margin=\"none\"\n placeholder={\n filterChipLabel || isSelectFilter ? undefined : filterPlaceholder\n }\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n handleChange(e.target.value);\n }}\n onClick={(e) => e.stopPropagation()}\n select={isSelectFilter}\n value={filterValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: !isSelectFilter && (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeFilterMode}>\n <span>\n <IconButton\n aria-label={localization.changeFilterMode}\n onClick={handleFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <FilterListIcon />\n </IconButton>\n </span>\n </Tooltip>\n {filterChipLabel && (\n <Chip\n onDelete={handleClearFilterChip}\n label={filterChipLabel}\n />\n )}\n </InputAdornment>\n ),\n endAdornment: !filterChipLabel && (\n <InputAdornment position=\"end\">\n <Tooltip\n arrow\n disableHoverListener={isSelectFilter}\n placement=\"right\"\n title={localization.clearFilter ?? ''}\n >\n <span>\n <IconButton\n aria-label={localization.clearFilter}\n disabled={!filterValue?.length}\n onClick={handleClear}\n size=\"small\"\n sx={{\n height: '1.75rem',\n width: '1.75rem',\n }}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{\n m: '-0.25rem',\n p: 0,\n minWidth: !filterChipLabel ? '5rem' : 'auto',\n width: 'calc(100% + 0.5rem)',\n mt: isSelectFilter && !filterValue ? '-1rem' : undefined,\n '&\t.MuiSelect-icon': {\n mr: '1.5rem',\n },\n ...textFieldProps?.sx,\n }}\n >\n {isSelectFilter && (\n <MenuItem divider disabled={!filterValue} value=\"\">\n {localization.clearFilter}\n </MenuItem>\n )}\n {column?.filterSelectOptions?.map((option) => {\n let value;\n let text;\n if (typeof option === 'string') {\n value = option;\n text = option;\n } else if (typeof option === 'object') {\n value = option.value;\n text = option.text;\n }\n return (\n <MenuItem key={value} value={value}>\n {text}\n </MenuItem>\n );\n })}\n </TextField>\n <MRT_FilterTypeMenu\n anchorEl={anchorEl}\n column={column}\n setAnchorEl={setAnchorEl}\n />\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { FormControlLabel, MenuItem, Switch } from '@mui/material';\nimport { ColumnInstance } from 'react-table';\nimport type { MRT_ColumnInstance } from '..';\nimport { commonMenuItemStyles } from './MRT_ColumnActionMenu';\nimport { useMRT } from '../useMRT';\n\ninterface Props {\n column: MRT_ColumnInstance;\n isSubMenu?: boolean;\n}\n\nexport const MRT_ShowHideColumnsMenuItems: FC<Props> = ({\n column,\n isSubMenu,\n}) => {\n const { onColumnHide, tableInstance } = useMRT();\n const isParentHeader = !!column?.columns?.length;\n\n const allChildColumnsVisible =\n isParentHeader &&\n !!column.columns?.every((childColumn) => childColumn.isVisible);\n\n const switchChecked = column.isVisible ?? allChildColumnsVisible;\n\n const handleToggleColumnHidden = (column: ColumnInstance) => {\n if (isParentHeader) {\n column?.columns?.forEach?.((childColumn) => {\n childColumn.toggleHidden(switchChecked);\n });\n } else {\n column.toggleHidden();\n }\n onColumnHide?.(column, tableInstance.state.hiddenColumns);\n };\n\n return (\n <>\n <MenuItem\n sx={{ ...commonMenuItemStyles, pl: `${(column.depth + 0.5) * 2}rem` }}\n >\n <FormControlLabel\n componentsProps={{ typography: { sx: { marginBottom: 0 } } }}\n checked={switchChecked}\n control={<Switch />}\n disabled={(isSubMenu && switchChecked) || column.disableColumnHiding}\n label={column.Header as string}\n onChange={() => handleToggleColumnHidden(column)}\n />\n </MenuItem>\n {column.columns?.map((c: MRT_ColumnInstance, i) => (\n <MRT_ShowHideColumnsMenuItems\n key={`${i}-${c.id}`}\n column={c}\n isSubMenu={isSubMenu}\n />\n ))}\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { Button, Menu, Divider, Box } from '@mui/material';\nimport type { MRT_ColumnInstance } from '..';\nimport { useMRT } from '../useMRT';\nimport { MRT_ShowHideColumnsMenuItems } from './MRT_ShowHideColumnsMenuItems';\nimport { findLowestLevelCols } from '../utils';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n isSubMenu?: boolean;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n}\n\nexport const MRT_ShowHideColumnsMenu: FC<Props> = ({\n anchorEl,\n isSubMenu,\n setAnchorEl,\n}) => {\n const { localization, tableInstance } = useMRT();\n\n const hideAllColumns = () => {\n (\n findLowestLevelCols(\n tableInstance.columns as MRT_ColumnInstance[],\n ) as MRT_ColumnInstance[]\n )\n .filter((col: MRT_ColumnInstance) => !col.disableColumnHiding)\n .forEach((col: MRT_ColumnInstance) => col.toggleHidden(true));\n };\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: tableInstance.state.densePadding,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: isSubMenu ? 'center' : 'space-between',\n p: '0.5rem',\n pt: 0,\n }}\n >\n {!isSubMenu && (\n <Button\n disabled={\n !tableInstance.getToggleHideAllColumnsProps().checked &&\n !tableInstance.getToggleHideAllColumnsProps().indeterminate\n }\n onClick={hideAllColumns}\n >\n {localization.hideAll}\n </Button>\n )}\n <Button\n disabled={tableInstance.getToggleHideAllColumnsProps().checked}\n onClick={() => tableInstance.toggleHideAllColumns(false)}\n >\n {localization.showAll}\n </Button>\n </Box>\n <Divider />\n {tableInstance.columns.map((column: MRT_ColumnInstance, index) => (\n <MRT_ShowHideColumnsMenuItems\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n />\n ))}\n </Menu>\n );\n};\n","import React, { FC, useState } from 'react';\nimport { Box, IconButton, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_HeaderGroup } from '..';\nimport { MRT_FilterTypeMenu } from './MRT_FilterTypeMenu';\nimport { MRT_ShowHideColumnsMenu } from './MRT_ShowHideColumnsMenu';\n\nexport const commonMenuItemStyles = {\n py: '6px',\n my: 0,\n justifyContent: 'space-between',\n alignItems: 'center',\n};\n\nexport const commonListItemStyles = {\n display: 'flex',\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n column: MRT_HeaderGroup;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n}\n\nexport const MRT_ColumnActionMenu: FC<Props> = ({\n anchorEl,\n column,\n setAnchorEl,\n}) => {\n const {\n disableColumnHiding,\n disableFilters,\n disableSortBy,\n enableColumnGrouping,\n icons: {\n ArrowRightIcon,\n ClearAllIcon,\n ViewColumnIcon,\n DynamicFeedIcon,\n FilterListIcon,\n FilterListOffIcon,\n SortIcon,\n VisibilityOffIcon,\n },\n idPrefix,\n localization,\n setShowFilters,\n tableInstance,\n } = useMRT();\n\n const [filterMenuAnchorEl, setFilterMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const [showHideColumnsMenuAnchorEl, setShowHideColumnsMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const handleClearSort = () => {\n column.clearSortBy();\n setAnchorEl(null);\n };\n\n const handleSortAsc = () => {\n column.toggleSortBy(false);\n setAnchorEl(null);\n };\n\n const handleSortDesc = () => {\n column.toggleSortBy(true);\n setAnchorEl(null);\n };\n\n const handleHideColumn = () => {\n column.toggleHidden();\n setAnchorEl(null);\n };\n\n const handleGroupByColumn = () => {\n column.toggleGroupBy();\n setAnchorEl(null);\n };\n\n const handleClearFilter = () => {\n column.setFilter('');\n setAnchorEl(null);\n };\n\n const handleFilterByColumn = () => {\n setShowFilters(true);\n setTimeout(\n () =>\n document\n .getElementById(\n // @ts-ignore\n column.muiTableHeadCellFilterTextFieldProps?.id ??\n `mrt-${idPrefix}-${column.id}-filter-text-field`,\n )\n ?.focus(),\n 200,\n );\n setAnchorEl(null);\n };\n\n const handleShowAllColumns = () => {\n tableInstance.toggleHideAllColumns(false);\n setAnchorEl(null);\n };\n\n const handleOpenFilterModeMenu = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setFilterMenuAnchorEl(event.currentTarget);\n };\n\n const handleOpenShowHideColumnsMenu = (\n event: React.MouseEvent<HTMLElement>,\n ) => {\n event.stopPropagation();\n setShowHideColumnsMenuAnchorEl(event.currentTarget);\n };\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: tableInstance.state.densePadding,\n }}\n >\n {!disableSortBy &&\n column.canSort && [\n <MenuItem\n disabled={!column.isSorted}\n key={0}\n onClick={handleClearSort}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ClearAllIcon />\n </ListItemIcon>\n {localization.clearSort}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.isSorted && !column.isSortedDesc}\n key={1}\n onClick={handleSortAsc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon />\n </ListItemIcon>\n {localization.sortByColumnAsc?.replace(\n '{column}',\n String(column.Header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={\n !disableFilters || enableColumnGrouping || !disableColumnHiding\n }\n key={2}\n disabled={column.isSorted && column.isSortedDesc}\n onClick={handleSortDesc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon style={{ transform: 'rotate(180deg) scaleX(-1)' }} />\n </ListItemIcon>\n {localization.sortByColumnDesc?.replace(\n '{column}',\n String(column.Header),\n )}\n </Box>\n </MenuItem>,\n ]}\n {!disableFilters &&\n column.canFilter && [\n <MenuItem\n disabled={!column.filterValue}\n key={0}\n onClick={handleClearFilter}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListOffIcon />\n </ListItemIcon>\n {localization.clearFilter}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableColumnGrouping || !disableColumnHiding}\n key={1}\n onClick={handleFilterByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListIcon />\n </ListItemIcon>\n {localization.filterByColumn?.replace(\n '{column}',\n String(column.Header),\n )}\n </Box>\n {!column.filterSelectOptions && (\n <IconButton\n onClick={handleOpenFilterModeMenu}\n onMouseEnter={handleOpenFilterModeMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </MenuItem>,\n <MRT_FilterTypeMenu\n anchorEl={filterMenuAnchorEl}\n column={column}\n key={2}\n setAnchorEl={setFilterMenuAnchorEl}\n onSelect={handleFilterByColumn}\n />,\n ]}\n {enableColumnGrouping &&\n column.canGroupBy && [\n <MenuItem\n divider={!disableColumnHiding}\n key={0}\n onClick={handleGroupByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <DynamicFeedIcon />\n </ListItemIcon>\n {localization[\n column.isGrouped ? 'ungroupByColumn' : 'groupByColumn'\n ]?.replace('{column}', String(column.Header))}\n </Box>\n </MenuItem>,\n ]}\n {!disableColumnHiding && [\n <MenuItem\n disabled={column.disableColumnHiding}\n key={0}\n onClick={handleHideColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <VisibilityOffIcon />\n </ListItemIcon>\n {localization.hideColumn?.replace(\n '{column}',\n String(column.Header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={!tableInstance.state.hiddenColumns?.length}\n key={1}\n onClick={handleShowAllColumns}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ViewColumnIcon />\n </ListItemIcon>\n {localization.showAllColumns?.replace(\n '{column}',\n String(column.Header),\n )}\n </Box>\n {!column.filterSelectOptions && (\n <IconButton\n onClick={handleOpenShowHideColumnsMenu}\n onMouseEnter={handleOpenShowHideColumnsMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </MenuItem>,\n <MRT_ShowHideColumnsMenu\n anchorEl={showHideColumnsMenuAnchorEl}\n isSubMenu\n key={2}\n setAnchorEl={setShowHideColumnsMenuAnchorEl}\n />,\n ]}\n </Menu>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';\nimport type { MRT_HeaderGroup } from '..';\n\ninterface Props {\n column: MRT_HeaderGroup;\n}\n\nexport const MRT_ToggleColumnActionMenuButton: FC<Props> = ({ column }) => {\n const {\n icons: { MoreVertIcon },\n localization,\n muiTableHeadCellColumnActionsButtonProps,\n } = useMRT();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const mTableHeadCellColumnActionsButtonProps =\n muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? muiTableHeadCellColumnActionsButtonProps(column)\n : muiTableHeadCellColumnActionsButtonProps;\n\n const mcTableHeadCellColumnActionsButtonProps =\n column.muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? column.muiTableHeadCellColumnActionsButtonProps(column)\n : column.muiTableHeadCellColumnActionsButtonProps;\n\n const iconButtonProps = {\n ...mTableHeadCellColumnActionsButtonProps,\n ...mcTableHeadCellColumnActionsButtonProps,\n };\n\n return (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.columnActions}\n >\n <IconButton\n aria-label={localization.columnActions}\n onClick={handleClick}\n size=\"small\"\n {...iconButtonProps}\n sx={{\n height: '2rem',\n mr: '2px',\n mt: '-0.2rem',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n ...iconButtonProps.sx,\n }}\n >\n <MoreVertIcon />\n </IconButton>\n </Tooltip>\n <MRT_ColumnActionMenu\n anchorEl={anchorEl}\n column={column}\n setAnchorEl={setAnchorEl}\n />\n </>\n );\n};\n","import React, { CSSProperties, FC } from 'react';\nimport {\n TableCell,\n TableSortLabel,\n Divider,\n Collapse,\n Tooltip,\n Box,\n IconButton,\n} from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_FilterTextField } from '../inputs/MRT_FilterTextField';\nimport { MRT_ToggleColumnActionMenuButton } from '../buttons/MRT_ToggleColumnActionMenuButton';\nimport type { MRT_HeaderGroup } from '..';\n\nexport const commonTableHeadCellStyles = (\n densePadding: boolean,\n enableColumnResizing?: boolean,\n widths?: {\n maxWidth?: CSSProperties['maxWidth'];\n minWidth?: CSSProperties['minWidth'];\n width?: CSSProperties['width'];\n },\n) => ({\n fontWeight: 'bold',\n height: '100%',\n p: densePadding ? '0.5rem' : '1rem',\n pt: densePadding ? '0.75rem' : '1.25rem',\n transition: `all ${enableColumnResizing ? '10ms' : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n ...widths,\n});\n\ninterface Props {\n column: MRT_HeaderGroup;\n}\n\nexport const MRT_TableHeadCell: FC<Props> = ({ column }) => {\n const {\n disableColumnActions,\n disableFilters,\n enableColumnResizing,\n icons: { FilterAltIcon, FilterAltOff },\n localization,\n muiTableHeadCellProps,\n setShowFilters,\n tableInstance,\n } = useMRT();\n\n const isParentHeader = !!column?.columns?.length;\n\n const mTableHeadCellProps =\n muiTableHeadCellProps instanceof Function\n ? muiTableHeadCellProps(column)\n : muiTableHeadCellProps;\n\n const mcTableHeadCellProps =\n column.muiTableHeadCellProps instanceof Function\n ? column.muiTableHeadCellProps(column)\n : column.muiTableHeadCellProps;\n\n const tableCellProps = {\n ...mTableHeadCellProps,\n ...mcTableHeadCellProps,\n ...column.getHeaderProps(),\n style: {\n ...column.getHeaderProps().style,\n ...mTableHeadCellProps?.style,\n ...mcTableHeadCellProps?.style,\n },\n };\n\n const sortTooltip = column.isSorted\n ? column.isSortedDesc\n ? localization.clearSort\n : localization.sortByColumnDesc?.replace(\n '{column}',\n column.Header as string,\n )\n : localization.sortByColumnAsc?.replace(\n '{column}',\n column.Header as string,\n );\n\n const filterType = tableInstance.state.currentFilterTypes[column.id];\n\n const filterTooltip = !!column.filterValue\n ? localization.filteringByColumn\n .replace('{column}', String(column.Header))\n .replace(\n '{filterType}',\n filterType instanceof Function\n ? ''\n : // @ts-ignore\n localization[\n `filter${\n filterType.charAt(0).toUpperCase() + filterType.slice(1)\n }`\n ],\n )\n .replace('{filterValue}', column.filterValue)\n .replace('\" \"', '')\n : localization.showHideFilters;\n\n const columnHeader = column.render('Header') as string;\n\n return (\n <TableCell\n align={isParentHeader ? 'center' : 'left'}\n {...tableCellProps}\n sx={{\n ...commonTableHeadCellStyles(\n tableInstance.state.densePadding,\n enableColumnResizing,\n {\n maxWidth: column.maxWidth,\n minWidth: column.minWidth,\n width: column.width,\n },\n ),\n ...tableCellProps?.sx,\n }}\n >\n <Box\n sx={{\n alignItems: 'flex-start',\n display: 'flex',\n justifyContent: isParentHeader ? 'center' : 'space-between',\n width: '100%',\n }}\n >\n <Box\n {...column.getSortByToggleProps()}\n sx={{\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'nowrap',\n whiteSpace: columnHeader.length < 15 ? 'nowrap' : 'normal',\n }}\n title={undefined}\n >\n {column.render('Header')}\n {!isParentHeader && column.canSort && (\n <Tooltip arrow placement=\"top\" title={sortTooltip}>\n <TableSortLabel\n aria-label={sortTooltip}\n active={column.isSorted}\n direction={column.isSortedDesc ? 'desc' : 'asc'}\n />\n </Tooltip>\n )}\n {!isParentHeader && !!column.canFilter && (\n <Tooltip arrow placement=\"top\" title={filterTooltip}>\n <IconButton\n disableRipple\n onClick={(event) => {\n event.stopPropagation();\n setShowFilters(!tableInstance.state.showFilters);\n }}\n size=\"small\"\n sx={{\n m: 0,\n opacity: !!column.filterValue ? 0.8 : 0,\n p: '2px',\n transition: 'all 0.2s ease-in-out',\n '&:hover': {\n backgroundColor: 'transparent',\n opacity: 0.8,\n },\n }}\n >\n {tableInstance.state.showFilters && !column.filterValue ? (\n <FilterAltOff fontSize=\"small\" />\n ) : (\n <FilterAltIcon fontSize=\"small\" />\n )}\n </IconButton>\n </Tooltip>\n )}\n </Box>\n <Box sx={{ alignItems: 'center', display: 'flex', flexWrap: 'nowrap' }}>\n {!disableColumnActions &&\n !column.disableColumnActions &&\n !isParentHeader && (\n <MRT_ToggleColumnActionMenuButton column={column} />\n )}\n {enableColumnResizing && !isParentHeader && (\n <Divider\n flexItem\n orientation=\"vertical\"\n onDoubleClick={() => tableInstance.resetResizing()}\n {...column.getResizerProps()}\n sx={{\n borderRightWidth: '2px',\n borderRadius: '2px',\n maxHeight: '2rem',\n }}\n />\n )}\n </Box>\n </Box>\n {!disableFilters && column.canFilter && (\n <Collapse in={tableInstance.state.showFilters}>\n <MRT_FilterTextField column={column} />\n </Collapse>\n )}\n </TableCell>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { Checkbox, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\n\ninterface Props {\n row?: MRT_Row;\n selectAll?: boolean;\n}\n\nexport const MRT_SelectCheckbox: FC<Props> = ({ row, selectAll }) => {\n const {\n localization,\n muiSelectCheckboxProps,\n onSelectChange,\n onSelectAllChange,\n tableInstance,\n tableInstance: {\n state: { densePadding },\n },\n } = useMRT();\n\n const handleSelectChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (selectAll) {\n tableInstance?.getToggleAllRowsSelectedProps?.()?.onChange?.(event);\n onSelectAllChange?.(\n event,\n event.target.checked ? tableInstance.rows : [],\n );\n } else if (row) {\n row?.getToggleRowSelectedProps()?.onChange?.(event);\n onSelectChange?.(\n event,\n row,\n event.target.checked\n ? [...tableInstance.selectedFlatRows, row]\n : tableInstance.selectedFlatRows.filter(\n (selectedRow) => selectedRow.id !== row.id,\n ),\n );\n }\n };\n\n const mTableBodyRowSelectCheckboxProps =\n muiSelectCheckboxProps instanceof Function\n ? muiSelectCheckboxProps(selectAll, row, tableInstance)\n : muiSelectCheckboxProps;\n\n const rtSelectCheckboxProps = selectAll\n ? tableInstance.getToggleAllRowsSelectedProps()\n : row?.getToggleRowSelectedProps();\n\n const checkboxProps = {\n ...mTableBodyRowSelectCheckboxProps,\n ...rtSelectCheckboxProps,\n style: {\n ...rtSelectCheckboxProps?.style,\n ...mTableBodyRowSelectCheckboxProps?.style,\n },\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={\n selectAll ? localization.toggleSelectAll : localization.toggleSelectRow\n }\n >\n <Checkbox\n inputProps={{\n 'aria-label': selectAll\n ? localization.toggleSelectAll\n : localization.toggleSelectRow,\n }}\n size={densePadding ? 'small' : 'medium'}\n {...checkboxProps}\n onChange={handleSelectChange}\n title={undefined}\n />\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props {}\n\nexport const MRT_ExpandAllButton: FC<Props> = () => {\n const {\n anyRowsExpanded,\n icons: { DoubleArrowDownIcon },\n localization,\n tableInstance,\n } = useMRT();\n\n return (\n <IconButton\n aria-label={localization.expandAll}\n title={localization.expandAll}\n >\n <DoubleArrowDownIcon\n style={{\n transform: `rotate(${\n tableInstance.isAllRowsExpanded ? -180 : anyRowsExpanded ? -90 : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n );\n};\n","import React, { CSSProperties, FC } from 'react';\nimport { TableCell } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props {\n width?: CSSProperties['width'];\n}\n\nexport const MRT_TableSpacerCell: FC<Props> = ({ width }) => {\n const { muiTableBodyCellProps } = useMRT();\n\n const tableCellProps =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps()\n : muiTableBodyCellProps;\n\n return (\n <TableCell {...tableCellProps} sx={{ width, ...tableCellProps?.sx }} />\n );\n};\n","import React, { FC } from 'react';\nimport { TableCell } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { commonTableHeadCellStyles } from './MRT_TableHeadCell';\n\ninterface Props {}\n\nexport const MRT_TableHeadCellActions: FC<Props> = () => {\n const {\n localization,\n tableInstance: {\n state: { densePadding },\n },\n } = useMRT();\n\n return (\n <TableCell\n style={{ textAlign: 'center' }}\n sx={{\n ...commonTableHeadCellStyles(densePadding),\n textAlign: 'center',\n maxWidth: '4rem',\n width: '4rem',\n }}\n >\n {localization.actions}\n </TableCell>\n );\n};\n","import React, { FC, useMemo } from 'react';\nimport { TableCell, TableRow } from '@mui/material';\nimport {\n commonTableHeadCellStyles,\n MRT_TableHeadCell,\n} from './MRT_TableHeadCell';\nimport { useMRT } from '../useMRT';\nimport { MRT_SelectCheckbox } from '../inputs/MRT_SelectCheckbox';\nimport { MRT_ExpandAllButton } from '../buttons/MRT_ExpandAllButton';\nimport { MRT_TableSpacerCell } from '../table/MRT_TableSpacerCell';\nimport { MRT_TableHeadCellActions } from './MRT_TableHeadCellActions';\nimport type { MRT_HeaderGroup } from '..';\n\ninterface Props {\n headerGroup: MRT_HeaderGroup;\n}\n\nexport const MRT_TableHeadRow: FC<Props> = ({ headerGroup }) => {\n const {\n anyRowsCanExpand,\n disableExpandAll,\n disableSelectAll,\n enableRowActions,\n enableRowEditing,\n enableRowNumbers,\n enableSelection,\n muiTableHeadRowProps,\n positionActionsColumn,\n renderDetailPanel,\n tableInstance,\n } = useMRT();\n\n const isParentHeader = useMemo(\n () => headerGroup.headers.some((h) => (h.columns?.length ?? 0) > 0),\n [headerGroup.headers],\n );\n\n const mTableHeadRowProps =\n muiTableHeadRowProps instanceof Function\n ? muiTableHeadRowProps(headerGroup)\n : muiTableHeadRowProps;\n\n const tableRowProps = {\n ...mTableHeadRowProps,\n ...headerGroup.getHeaderGroupProps(),\n style: {\n ...headerGroup.getHeaderGroupProps().style,\n ...mTableHeadRowProps?.style,\n },\n };\n\n return (\n <TableRow {...tableRowProps}>\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'first' &&\n (isParentHeader ? (\n <MRT_TableSpacerCell />\n ) : (\n <MRT_TableHeadCellActions />\n ))}\n {anyRowsCanExpand || renderDetailPanel ? (\n !disableExpandAll && !isParentHeader ? (\n <TableCell\n size=\"small\"\n {...tableInstance.getToggleAllRowsExpandedProps()}\n sx={{\n ...commonTableHeadCellStyles(tableInstance.state.densePadding),\n width: '3rem',\n maxWidth: '3rem',\n textAlign: 'center',\n }}\n >\n <MRT_ExpandAllButton />\n </TableCell>\n ) : (\n <MRT_TableSpacerCell\n width={`${\n renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5\n }rem`}\n />\n )\n ) : null}\n {enableSelection ? (\n !isParentHeader && !disableSelectAll ? (\n <TableCell\n sx={{\n ...commonTableHeadCellStyles(tableInstance.state.densePadding),\n maxWidth: '3rem',\n width: '3rem',\n textAlign: 'center',\n }}\n >\n <MRT_SelectCheckbox selectAll />\n </TableCell>\n ) : (\n <MRT_TableSpacerCell width=\"1rem\" />\n )\n ) : null}\n {enableRowNumbers &&\n (isParentHeader ? (\n <MRT_TableSpacerCell />\n ) : (\n <TableCell\n sx={{\n ...commonTableHeadCellStyles(tableInstance.state.densePadding),\n width: '2rem',\n maxWidth: '2rem',\n }}\n >\n #\n </TableCell>\n ))}\n {headerGroup.headers.map((column: MRT_HeaderGroup) => (\n <MRT_TableHeadCell key={column.getHeaderProps().key} column={column} />\n ))}\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'last' &&\n (isParentHeader ? (\n <MRT_TableSpacerCell />\n ) : (\n <MRT_TableHeadCellActions />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableHead } from '@mui/material';\nimport { MRT_TableHeadRow } from './MRT_TableHeadRow';\nimport { useMRT } from '../useMRT';\nimport type { MRT_HeaderGroup } from '..';\n\ninterface Props {}\n\nexport const MRT_TableHead: FC<Props> = () => {\n const { tableInstance, muiTableHeadProps } = useMRT();\n\n const tableHeadProps =\n muiTableHeadProps instanceof Function\n ? muiTableHeadProps(tableInstance)\n : muiTableHeadProps;\n\n return (\n <TableHead {...tableHeadProps}>\n {tableInstance.headerGroups.map((headerGroup: MRT_HeaderGroup) => (\n <MRT_TableHeadRow\n key={headerGroup.getHeaderGroupProps().key}\n headerGroup={headerGroup}\n />\n ))}\n </TableHead>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { TextField } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Cell } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n}\n\nexport const MRT_EditCellTextField: FC<Props> = ({ cell }) => {\n const {\n muiTableBodyCellEditTextFieldProps,\n setCurrentEditingRow,\n tableInstance: {\n state: { currentEditingRow },\n },\n } = useMRT();\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (currentEditingRow) {\n cell.row.values[cell.column.id] = event.target.value;\n setCurrentEditingRow({\n ...currentEditingRow,\n });\n }\n cell.column.onCellEditChange?.(event, cell);\n };\n\n const mTableBodyCellEditTextFieldProps =\n muiTableBodyCellEditTextFieldProps instanceof Function\n ? muiTableBodyCellEditTextFieldProps(cell)\n : muiTableBodyCellEditTextFieldProps;\n\n const mcTableBodyCellEditTextFieldProps =\n cell.column.muiTableBodyCellEditTextFieldProps instanceof Function\n ? cell.column.muiTableBodyCellEditTextFieldProps(cell)\n : cell.column.muiTableBodyCellEditTextFieldProps;\n\n const textFieldProps = {\n ...mTableBodyCellEditTextFieldProps,\n ...mcTableBodyCellEditTextFieldProps,\n };\n\n if (!cell.column.disableEditing && cell.column.Edit) {\n return <>{cell.column.Edit({ ...textFieldProps, cell })}</>;\n }\n\n return (\n <TextField\n margin=\"dense\"\n onChange={handleChange}\n onClick={(e) => e.stopPropagation()}\n placeholder={cell.column.Header as string}\n value={cell.value}\n variant=\"standard\"\n {...textFieldProps}\n />\n );\n};\n","import React, { FC, useState } from 'react';\nimport { Button, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_Cell } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n}\n\nexport const MRT_CopyButton: FC<Props> = ({ cell, children }) => {\n const { localization, muiTableBodyCellCopyButtonProps } = useMRT();\n\n const [copied, setCopied] = useState(false);\n\n const handleCopy = (text: string) => {\n navigator.clipboard.writeText(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 4000);\n };\n\n const mTableBodyCellCopyButtonProps =\n muiTableBodyCellCopyButtonProps instanceof Function\n ? muiTableBodyCellCopyButtonProps(cell)\n : muiTableBodyCellCopyButtonProps;\n\n const mcTableBodyCellCopyButtonProps =\n cell.column.muiTableBodyCellCopyButtonProps instanceof Function\n ? cell.column.muiTableBodyCellCopyButtonProps(cell)\n : cell.column.muiTableBodyCellCopyButtonProps;\n\n const buttonProps = {\n ...mTableBodyCellCopyButtonProps,\n ...mcTableBodyCellCopyButtonProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={copied ? localization.copiedToClipboard : localization.clickToCopy}\n >\n <Button\n aria-label={localization.clickToCopy}\n onClick={() => handleCopy(cell.value)}\n size=\"small\"\n {...buttonProps}\n sx={{\n backgroundColor: 'transparent',\n border: 'none',\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n letterSpacing: 'inherit',\n m: '-0.25rem',\n minWidth: 'unset',\n textAlign: 'inherit',\n textTransform: 'inherit',\n ...buttonProps?.sx,\n }}\n variant=\"text\"\n >\n {children}\n </Button>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { Skeleton, TableCell, TableCellProps } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';\nimport type { MRT_Cell } from '..';\nimport { MRT_CopyButton } from '../buttons/MRT_CopyButton';\n\nexport const commonTableBodyCellStyles = (densePadding: boolean) => ({\n p: densePadding ? '0.5rem' : '1rem',\n transition: 'all 0.2s ease-in-out',\n whiteSpace: densePadding ? 'nowrap' : 'normal',\n});\n\nexport const commonTableBodyButtonCellStyles = (densePadding: boolean) => ({\n p: densePadding ? '1px' : '0.6rem',\n textAlign: 'center',\n transition: 'all 0.2s ease-in-out',\n});\n\ninterface Props {\n cell: MRT_Cell;\n}\n\nexport const MRT_TableBodyCell: FC<Props> = ({ cell }) => {\n const {\n enableClickToCopy,\n isLoading,\n muiTableBodyCellProps,\n muiTableBodyCellSkeletonProps,\n onCellClick,\n tableInstance: {\n state: { currentEditingRow, densePadding },\n },\n } = useMRT();\n\n const mTableCellBodyProps =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps(cell)\n : muiTableBodyCellProps;\n\n const mcTableCellBodyProps =\n cell.column.muiTableBodyCellProps instanceof Function\n ? cell.column.muiTableBodyCellProps(cell)\n : cell.column.muiTableBodyCellProps;\n\n const tableCellProps = {\n ...mTableCellBodyProps,\n ...mcTableCellBodyProps,\n ...cell.getCellProps(),\n style: {\n ...cell.getCellProps().style,\n ...mTableCellBodyProps?.style,\n ...mcTableCellBodyProps?.style,\n },\n };\n\n return (\n <TableCell\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onCellClick?.(event, cell)\n }\n {...tableCellProps}\n sx={\n {\n ...commonTableBodyCellStyles(densePadding),\n ...tableCellProps?.sx,\n } as TableCellProps['sx']\n }\n >\n {isLoading ? (\n <Skeleton\n animation=\"wave\"\n height={20}\n width={Math.random() * (120 - 60) + 60}\n {...muiTableBodyCellSkeletonProps}\n />\n ) : !cell.column.disableEditing &&\n currentEditingRow?.id === cell.row.id ? (\n <MRT_EditCellTextField cell={cell} />\n ) : cell.isPlaceholder ? null : cell.isAggregated ? (\n enableClickToCopy && !cell.column.disableClickToCopy ? (\n <MRT_CopyButton cell={cell}>\n {cell.render('Aggregated')}\n </MRT_CopyButton>\n ) : (\n cell.render('Aggregated')\n )\n ) : cell.isGrouped ? (\n <span>\n {cell.render('Cell')} ({cell.row.subRows.length})\n </span>\n ) : enableClickToCopy && !cell.column.disableClickToCopy ? (\n <MRT_CopyButton cell={cell}>{cell.render('Cell')}</MRT_CopyButton>\n ) : (\n cell.render('Cell')\n )}\n </TableCell>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { Collapse, TableCell, TableRow } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\n\ninterface Props {\n row: MRT_Row;\n}\n\nexport const MRT_TableDetailPanel: FC<Props> = ({ row }) => {\n const {\n muiTableBodyRowProps,\n muiTableDetailPanelProps,\n onDetailPanelClick,\n renderDetailPanel,\n tableInstance,\n } = useMRT();\n\n const tableRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps(row)\n : muiTableBodyRowProps;\n\n const tableCellProps =\n muiTableDetailPanelProps instanceof Function\n ? muiTableDetailPanelProps(row)\n : muiTableDetailPanelProps;\n\n return (\n <TableRow {...tableRowProps}>\n <TableCell\n colSpan={tableInstance.visibleColumns.length + 10}\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onDetailPanelClick?.(event, row)\n }\n {...tableCellProps}\n sx={{\n borderBottom: !row.isExpanded ? 'none' : undefined,\n pb: row.isExpanded ? '1rem' : 0,\n pt: row.isExpanded ? '1rem' : 0,\n transition: 'all 0.2s ease-in-out',\n ...tableCellProps?.sx,\n }}\n >\n <Collapse in={row.isExpanded}>{renderDetailPanel?.(row)}</Collapse>\n </TableCell>\n </TableRow>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\n\ninterface Props {\n row: MRT_Row;\n}\n\nexport const MRT_ExpandButton: FC<Props> = ({ row }) => {\n const {\n icons: { ExpandMoreIcon },\n localization,\n onRowExpandChange,\n renderDetailPanel,\n } = useMRT();\n\n const handleToggleExpand = (event: MouseEvent<HTMLButtonElement>) => {\n // @ts-ignore\n row.getToggleRowExpandedProps()?.onClick(event);\n onRowExpandChange?.(event, row);\n };\n\n return (\n <IconButton\n aria-label={localization.expand}\n disabled={!row.canExpand && !renderDetailPanel}\n title={localization.expand}\n {...row.getToggleRowExpandedProps()}\n onClick={handleToggleExpand}\n >\n <ExpandMoreIcon\n style={{\n transform: `rotate(${\n !row.canExpand && !renderDetailPanel\n ? -90\n : row.isExpanded\n ? -180\n : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\nimport {\n commonListItemStyles,\n commonMenuItemStyles,\n} from './MRT_ColumnActionMenu';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n row: MRT_Row;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n handleEdit: () => void;\n}\n\nexport const MRT_RowActionMenu: FC<Props> = ({\n anchorEl,\n row,\n handleEdit,\n setAnchorEl,\n}) => {\n const {\n icons: { EditIcon },\n enableRowEditing,\n localization,\n renderRowActionMenuItems,\n tableInstance,\n } = useMRT();\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: tableInstance.state.densePadding,\n }}\n >\n {enableRowEditing && (\n <MenuItem onClick={handleEdit} sx={commonMenuItemStyles}>\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <EditIcon />\n </ListItemIcon>\n {localization.edit}\n </Box>\n </MenuItem>\n )}\n {renderRowActionMenuItems?.(row, tableInstance, () =>\n setAnchorEl(null),\n ) ?? null}\n </Menu>\n );\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import React, { FC } from 'react';\nimport { Box, IconButton, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\n\ninterface Props {\n row: MRT_Row;\n}\n\nexport const MRT_EditActionButtons: FC<Props> = ({ row }) => {\n const {\n icons: { CancelIcon, SaveIcon },\n localization,\n onRowEditSubmit,\n setCurrentEditingRow,\n tableInstance: {\n state: { currentEditingRow },\n },\n } = useMRT();\n\n const handleCancel = () => {\n row.values = row.original;\n setCurrentEditingRow(null);\n };\n\n const handleSave = async () => {\n await onRowEditSubmit?.(currentEditingRow ?? row);\n setCurrentEditingRow(null);\n };\n\n return (\n <Box sx={{ display: 'flex', gap: '0.75rem' }}>\n <Tooltip arrow title={localization.cancel}>\n <IconButton aria-label={localization.cancel} onClick={handleCancel}>\n <CancelIcon />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.save}>\n <IconButton\n aria-label={localization.save}\n color=\"info\"\n onClick={handleSave}\n >\n <SaveIcon />\n </IconButton>\n </Tooltip>\n </Box>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, TableCell, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_RowActionMenu } from '../menus/MRT_RowActionMenu';\nimport { MRT_EditActionButtons } from './MRT_EditActionButtons';\nimport type { MRT_Row } from '..';\nimport { commonTableBodyButtonCellStyles } from '../body/MRT_TableBodyCell';\n\nconst commonIconButtonStyles = {\n opacity: 0.5,\n transition: 'opacity 0.2s',\n marginRight: '2px',\n height: '2rem',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n};\n\ninterface Props {\n row: MRT_Row;\n}\n\nexport const MRT_ToggleRowActionMenuButton: FC<Props> = ({ row }) => {\n const {\n enableRowEditing,\n icons: { EditIcon, MoreHorizIcon },\n localization,\n renderRowActionMenuItems,\n renderRowActions,\n setCurrentEditingRow,\n tableInstance,\n } = useMRT();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleOpenRowActionMenu = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const handleEdit = () => {\n setCurrentEditingRow({ ...row });\n setAnchorEl(null);\n };\n\n return (\n <TableCell\n sx={commonTableBodyButtonCellStyles(tableInstance.state.densePadding)}\n >\n {renderRowActions ? (\n <>{renderRowActions(row, tableInstance)}</>\n ) : row.id === tableInstance.state.currentEditingRow?.id ? (\n <MRT_EditActionButtons row={row} />\n ) : !renderRowActionMenuItems && enableRowEditing ? (\n <Tooltip placement=\"right\" arrow title={localization.edit}>\n <IconButton sx={commonIconButtonStyles} onClick={handleEdit}>\n <EditIcon />\n </IconButton>\n </Tooltip>\n ) : renderRowActionMenuItems ? (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.rowActions}\n >\n <IconButton\n aria-label={localization.rowActions}\n onClick={handleOpenRowActionMenu}\n size=\"small\"\n sx={commonIconButtonStyles}\n >\n <MoreHorizIcon />\n </IconButton>\n </Tooltip>\n <MRT_RowActionMenu\n anchorEl={anchorEl}\n handleEdit={handleEdit}\n row={row}\n setAnchorEl={setAnchorEl}\n />\n </>\n ) : null}\n </TableCell>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { TableCell, TableRow } from '@mui/material';\nimport {\n commonTableBodyButtonCellStyles,\n commonTableBodyCellStyles,\n MRT_TableBodyCell,\n} from './MRT_TableBodyCell';\nimport { useMRT } from '../useMRT';\nimport { MRT_TableDetailPanel } from './MRT_TableDetailPanel';\nimport { MRT_ExpandButton } from '../buttons/MRT_ExpandButton';\nimport { MRT_SelectCheckbox } from '../inputs/MRT_SelectCheckbox';\nimport { MRT_ToggleRowActionMenuButton } from '../buttons/MRT_ToggleRowActionMenuButton';\nimport type { MRT_Cell, MRT_Row } from '..';\n\ninterface Props {\n row: MRT_Row;\n}\n\nexport const MRT_TableBodyRow: FC<Props> = ({ row }) => {\n const {\n anyRowsCanExpand,\n enableRowActions,\n enableRowEditing,\n enableRowNumbers,\n enableSelection,\n muiTableBodyRowProps,\n onRowClick,\n positionActionsColumn,\n renderDetailPanel,\n tableInstance,\n tableInstance: {\n state: { densePadding },\n },\n } = useMRT();\n\n const mTableBodyRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps(row)\n : muiTableBodyRowProps;\n\n const tableRowProps = {\n ...mTableBodyRowProps,\n ...row.getRowProps(),\n style: {\n ...row.getRowProps().style,\n ...mTableBodyRowProps?.style,\n },\n };\n\n return (\n <>\n <TableRow\n hover\n onClick={(event: MouseEvent<HTMLTableRowElement>) =>\n onRowClick?.(event, row)\n }\n selected={row.isSelected}\n {...tableRowProps}\n >\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'first' && (\n <MRT_ToggleRowActionMenuButton row={row} />\n )}\n {(anyRowsCanExpand || renderDetailPanel) && (\n <TableCell\n size=\"small\"\n sx={{\n ...commonTableBodyButtonCellStyles(densePadding),\n pl: `${row.depth + 0.5}rem`,\n textAlign: 'left',\n }}\n >\n <MRT_ExpandButton row={row} />\n </TableCell>\n )}\n {enableSelection && (\n <TableCell\n sx={{\n ...commonTableBodyButtonCellStyles(\n tableInstance.state.densePadding,\n ),\n maxWidth: '3rem',\n width: '3rem',\n }}\n >\n <MRT_SelectCheckbox row={row} />\n </TableCell>\n )}\n {enableRowNumbers && (\n <TableCell sx={{ ...commonTableBodyCellStyles(densePadding) }}>\n {row.index + 1}\n </TableCell>\n )}\n {row.cells.map((cell: MRT_Cell) => (\n <MRT_TableBodyCell key={cell.getCellProps().key} cell={cell} />\n ))}\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'last' && (\n <MRT_ToggleRowActionMenuButton row={row} />\n )}\n </TableRow>\n {renderDetailPanel && !row.isGrouped && (\n <MRT_TableDetailPanel row={row} />\n )}\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { TableBody } from '@mui/material';\nimport { MRT_TableBodyRow } from './MRT_TableBodyRow';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\n\ninterface Props {}\n\nexport const MRT_TableBody: FC<Props> = () => {\n const { tableInstance, muiTableBodyProps, manualPagination } = useMRT();\n\n const rows = manualPagination ? tableInstance.rows : tableInstance.page;\n\n const mTableBodyProps =\n muiTableBodyProps instanceof Function\n ? muiTableBodyProps(tableInstance)\n : muiTableBodyProps;\n\n const tableBodyProps = {\n ...mTableBodyProps,\n ...tableInstance.getTableBodyProps(),\n style: {\n ...tableInstance.getTableBodyProps().style,\n ...mTableBodyProps?.style,\n },\n };\n\n return (\n <TableBody\n {...tableBodyProps}\n sx={{\n ...tableBodyProps?.sx,\n }}\n >\n {rows.map((row: MRT_Row) => {\n tableInstance.prepareRow(row);\n return <MRT_TableBodyRow key={row.getRowProps().key} row={row} />;\n })}\n </TableBody>\n );\n};\n","import React, { FC } from 'react';\nimport { TableCell } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_HeaderGroup } from '..';\n\ninterface Props {\n column: MRT_HeaderGroup;\n}\n\nexport const MRT_TableFooterCell: FC<Props> = ({ column }) => {\n const {\n muiTableFooterCellProps,\n enableColumnResizing,\n tableInstance: {\n state: { densePadding },\n },\n } = useMRT();\n\n const isParentHeader = !!column?.columns?.length;\n\n const mTableFooterCellProps =\n muiTableFooterCellProps instanceof Function\n ? muiTableFooterCellProps(column)\n : muiTableFooterCellProps;\n\n const mcTableFooterCellProps =\n column.muiTableFooterCellProps instanceof Function\n ? column.muiTableFooterCellProps(column)\n : column.muiTableFooterCellProps;\n\n const tableCellProps = {\n ...mTableFooterCellProps,\n ...mcTableFooterCellProps,\n ...column.getFooterProps(),\n style: {\n ...column.getFooterProps().style,\n ...mTableFooterCellProps?.style,\n ...mcTableFooterCellProps?.style,\n },\n };\n\n return (\n <TableCell\n align={isParentHeader ? 'center' : 'left'}\n variant=\"head\"\n {...tableCellProps}\n sx={{\n fontWeight: 'bold',\n verticalAlign: 'text-top',\n p: densePadding ? '0.5rem' : '1rem',\n transition: `all ${enableColumnResizing ? '10ms' : '0.2s'} ease-in-out`,\n ...tableCellProps?.sx,\n }}\n >\n {column.render('Footer')}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableFooterCell } from './MRT_TableFooterCell';\nimport { MRT_TableSpacerCell } from '../table/MRT_TableSpacerCell';\nimport { useMRT } from '../useMRT';\nimport type { MRT_HeaderGroup } from '..';\n\ninterface Props {\n footerGroup: MRT_HeaderGroup;\n}\n\nexport const MRT_TableFooterRow: FC<Props> = ({ footerGroup }) => {\n const {\n anyRowsCanExpand,\n columns,\n enableRowActions,\n enableRowEditing,\n enableRowNumbers,\n enableSelection,\n muiTableFooterRowProps,\n positionActionsColumn,\n renderDetailPanel,\n tableInstance,\n } = useMRT();\n\n //if no content in row, skip row\n if (!columns?.some((c) => c.Footer)) return null;\n\n const mTableFooterRowProps =\n muiTableFooterRowProps instanceof Function\n ? muiTableFooterRowProps(footerGroup)\n : muiTableFooterRowProps;\n\n const tableRowProps = {\n ...mTableFooterRowProps,\n ...footerGroup.getFooterGroupProps(),\n style: {\n ...footerGroup.getFooterGroupProps().style,\n ...mTableFooterRowProps?.style,\n },\n };\n\n return (\n <TableRow {...tableRowProps}>\n {enableRowNumbers && <MRT_TableSpacerCell />}\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'first' && <MRT_TableSpacerCell />}\n {(anyRowsCanExpand || renderDetailPanel) && (\n <MRT_TableSpacerCell\n width={`${\n renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5\n }rem`}\n />\n )}\n {enableSelection && <MRT_TableSpacerCell width=\"1rem\" />}\n {footerGroup.headers.map((column: MRT_HeaderGroup) => (\n <MRT_TableFooterCell\n key={column.getFooterProps().key}\n column={column}\n />\n ))}\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'last' && <MRT_TableSpacerCell />}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableFooter } from '@mui/material';\nimport { MRT_TableFooterRow } from './MRT_TableFooterRow';\nimport { useMRT } from '../useMRT';\nimport type { MRT_HeaderGroup } from '..';\n\ninterface Props {}\n\nexport const MRT_TableFooter: FC<Props> = () => {\n const { muiTableFooterProps, tableInstance } = useMRT();\n\n const tableFooterProps =\n muiTableFooterProps instanceof Function\n ? muiTableFooterProps(tableInstance)\n : muiTableFooterProps;\n\n return (\n <TableFooter {...tableFooterProps}>\n {tableInstance.footerGroups.map((footerGroup: MRT_HeaderGroup) => (\n <MRT_TableFooterRow\n key={footerGroup.getFooterGroupProps().key}\n footerGroup={footerGroup}\n />\n ))}\n </TableFooter>\n );\n};\n","import React, { FC } from 'react';\nimport { Table } from '@mui/material';\nimport { MRT_TableHead } from '../head/MRT_TableHead';\nimport { MRT_TableBody } from '../body/MRT_TableBody';\nimport { MRT_TableFooter } from '../footer/MRT_TableFooter';\nimport { useMRT } from '../useMRT';\n\ninterface Props {}\n\nexport const MRT_Table: FC<Props> = () => {\n const { tableInstance, muiTableProps, hideTableHead, hideTableFooter } =\n useMRT();\n\n const mTableProps =\n muiTableProps instanceof Function\n ? muiTableProps(tableInstance)\n : muiTableProps;\n\n const tableProps = {\n ...mTableProps,\n ...tableInstance.getTableProps(),\n style: {\n ...tableInstance.getTableProps().style,\n ...mTableProps?.style,\n },\n };\n\n return (\n <Table {...tableProps}>\n {!hideTableHead && <MRT_TableHead />}\n <MRT_TableBody />\n {!hideTableFooter && <MRT_TableFooter />}\n </Table>\n );\n};\n","import React, { ChangeEvent, FC, MouseEvent, useState } from 'react';\nimport {\n Collapse,\n IconButton,\n InputAdornment,\n TextField,\n Tooltip,\n} from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { useAsyncDebounce } from 'react-table';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\n\ninterface Props {}\n\nexport const MRT_SearchTextField: FC<Props> = () => {\n const {\n icons: { SearchIcon, CloseIcon },\n idPrefix,\n localization,\n muiSearchTextFieldProps,\n onGlobalFilterChange,\n tableInstance,\n } = useMRT();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [searchValue, setSearchValue] = useState('');\n\n const handleChange = useAsyncDebounce(\n (event: ChangeEvent<HTMLInputElement>) => {\n tableInstance.setGlobalFilter(event.target.value ?? undefined);\n onGlobalFilterChange?.(event);\n },\n 200,\n );\n\n const handleGlobalFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setSearchValue('');\n tableInstance.setGlobalFilter(undefined);\n };\n\n return (\n <Collapse in={tableInstance.state.showSearch} orientation=\"horizontal\">\n <TextField\n id={`mrt-${idPrefix}-search-text-field`}\n placeholder={localization.search}\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setSearchValue(event.target.value);\n handleChange(event);\n }}\n value={searchValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeSearchMode}>\n <span>\n <IconButton\n aria-label={localization.changeSearchMode}\n onClick={handleGlobalFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <SearchIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={localization.clearSearch}\n disabled={searchValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n title={localization.clearSearch}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n {...muiSearchTextFieldProps}\n sx={{ justifySelf: 'end', ...muiSearchTextFieldProps?.sx }}\n />\n <MRT_FilterTypeMenu anchorEl={anchorEl} setAnchorEl={setAnchorEl} />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props extends IconButtonProps {}\n\nexport const MRT_FullScreenToggleButton: FC<Props> = ({ ...rest }) => {\n const {\n icons: { FullscreenExitIcon, FullscreenIcon },\n localization,\n setFullScreen,\n tableInstance: {\n state: { fullScreen },\n },\n } = useMRT();\n\n return (\n <Tooltip arrow title={localization.toggleFullScreen}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={() => setFullScreen(!fullScreen)}\n size=\"small\"\n {...rest}\n >\n {fullScreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip, IconButtonProps } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';\n\ninterface Props extends IconButtonProps {}\n\nexport const MRT_ShowHideColumnsButton: FC<Props> = ({ ...rest }) => {\n const {\n icons: { ViewColumnIcon },\n localization,\n } = useMRT();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n return (\n <>\n <Tooltip arrow title={localization.showHideColumns}>\n <IconButton\n aria-label={localization.showHideColumns}\n onClick={handleClick}\n size=\"small\"\n {...rest}\n >\n <ViewColumnIcon />\n </IconButton>\n </Tooltip>\n <MRT_ShowHideColumnsMenu anchorEl={anchorEl} setAnchorEl={setAnchorEl} />\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props extends IconButtonProps {}\n\nexport const MRT_ToggleDensePaddingButton: FC<Props> = ({ ...rest }) => {\n const {\n setDensePadding,\n localization,\n icons: { DensityMediumIcon, DensitySmallIcon },\n tableInstance: {\n state: { densePadding },\n },\n } = useMRT();\n\n return (\n <Tooltip arrow title={localization.toggleDensePadding}>\n <IconButton\n aria-label={localization.toggleDensePadding}\n onClick={() => setDensePadding(!densePadding)}\n size=\"small\"\n {...rest}\n >\n {densePadding ? <DensitySmallIcon /> : <DensityMediumIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props extends IconButtonProps {}\n\nexport const MRT_ToggleFiltersButton: FC<Props> = ({ ...rest }) => {\n const {\n icons: { FilterListIcon, FilterListOffIcon },\n localization,\n setShowFilters,\n tableInstance: {\n state: { showFilters },\n },\n } = useMRT();\n\n return (\n <Tooltip arrow title={localization.showHideFilters}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={() => setShowFilters(!showFilters)}\n size=\"small\"\n {...rest}\n >\n {showFilters ? <FilterListOffIcon /> : <FilterListIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props extends IconButtonProps {}\n\nexport const MRT_ToggleSearchButton: FC<Props> = ({ ...rest }) => {\n const {\n icons: { SearchIcon, SearchOffIcon },\n idPrefix,\n localization,\n muiSearchTextFieldProps,\n setShowSearch,\n tableInstance: {\n state: { showSearch },\n },\n } = useMRT();\n\n const handleToggleSearch = () => {\n setShowSearch(!showSearch);\n setTimeout(\n () =>\n document\n .getElementById(\n muiSearchTextFieldProps?.id ?? `mrt-${idPrefix}-search-text-field`,\n )\n ?.focus(),\n 200,\n );\n };\n\n return (\n <Tooltip arrow title={localization.showHideSearch}>\n <IconButton size=\"small\" onClick={handleToggleSearch} {...rest}>\n {showSearch ? <SearchOffIcon /> : <SearchIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { Box } from '@mui/material';\nimport { MRT_FullScreenToggleButton } from '../buttons/MRT_FullScreenToggleButton';\nimport { MRT_ShowHideColumnsButton } from '../buttons/MRT_ShowHideColumnsButton';\nimport { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingButton';\nimport { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';\nimport { MRT_ToggleSearchButton } from '../buttons/MRT_ToggleSearchButton';\nimport { useMRT } from '../useMRT';\n\ninterface Props {}\n\nexport const MRT_ToolbarInternalButtons: FC<Props> = () => {\n const {\n disableFilters,\n disableColumnHiding,\n disableDensePaddingToggle,\n disableGlobalFilter,\n disableFullScreenToggle,\n renderToolbarInternalActions,\n tableInstance,\n } = useMRT();\n\n if (renderToolbarInternalActions) {\n return (\n <>\n {renderToolbarInternalActions(tableInstance, {\n MRT_ToggleSearchButton,\n MRT_ToggleFiltersButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_FullScreenToggleButton,\n })}\n </>\n );\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n gap: '0.5rem',\n alignItems: 'center',\n p: '0 0.5rem',\n }}\n >\n {!disableGlobalFilter && <MRT_ToggleSearchButton />}\n {!disableFilters && <MRT_ToggleFiltersButton />}\n {!disableColumnHiding && <MRT_ShowHideColumnsButton />}\n {!disableDensePaddingToggle && <MRT_ToggleDensePaddingButton />}\n {!disableFullScreenToggle && <MRT_FullScreenToggleButton />}\n </Box>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { TablePagination } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props {}\n\nexport const MRT_TablePagination: FC<Props> = () => {\n const { tableInstance, muiTablePaginationProps } = useMRT();\n\n const tablePaginationProps =\n muiTablePaginationProps instanceof Function\n ? muiTablePaginationProps(tableInstance)\n : muiTablePaginationProps;\n\n const handleChangeRowsPerPage = (event: ChangeEvent<HTMLInputElement>) => {\n tableInstance.setPageSize(+event.target.value);\n tableInstance.gotoPage(0);\n };\n\n return (\n <TablePagination\n component={'div'}\n count={tableInstance.rows.length}\n onPageChange={(_, newPage) => tableInstance.gotoPage(newPage)}\n onRowsPerPageChange={handleChangeRowsPerPage}\n page={tableInstance.state.pageIndex}\n rowsPerPage={tableInstance.state.pageSize}\n SelectProps={{ style: { margin: '0 1rem 0 1ch' } }}\n showFirstButton={\n tableInstance.rows.length / tableInstance.state.pageSize > 2\n }\n showLastButton={\n tableInstance.rows.length / tableInstance.state.pageSize > 2\n }\n {...tablePaginationProps}\n sx={{\n m: '0 0.5rem',\n position: 'relative',\n zIndex: 2,\n ...tablePaginationProps?.sx,\n }}\n />\n );\n};\n","import React, { FC, Fragment } from 'react';\nimport { Alert, Box, Chip, Collapse, useMediaQuery } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props {}\n\nexport const MRT_ToolbarAlertBanner: FC<Props> = () => {\n const {\n muiTableToolbarAlertBannerProps,\n tableInstance,\n positionToolbarAlertBanner,\n positionToolbarActions,\n localization,\n renderToolbarCustomActions,\n } = useMRT();\n\n const isMobile = useMediaQuery('(max-width:720px)');\n\n const alertProps =\n muiTableToolbarAlertBannerProps instanceof Function\n ? muiTableToolbarAlertBannerProps(tableInstance)\n : muiTableToolbarAlertBannerProps;\n\n const selectMessage =\n tableInstance.selectedFlatRows.length > 0\n ? localization.selectedCountOfRowCountRowsSelected\n ?.replace(\n '{selectedCount}',\n tableInstance.selectedFlatRows.length.toString(),\n )\n ?.replace('{rowCount}', tableInstance.flatRows.length.toString())\n : null;\n\n const groupedByMessage =\n tableInstance.state.groupBy.length > 0 ? (\n <span>\n {localization.groupedBy}{' '}\n {tableInstance.state.groupBy.map((columnId, index) => (\n <Fragment key={`${index}-${columnId}`}>\n {index > 0 ? localization.thenBy : ''}\n <Chip\n color=\"secondary\"\n label={\n tableInstance.allColumns.find(\n (column) => column.id === columnId,\n )?.Header\n }\n onDelete={() => tableInstance.toggleGroupBy(columnId, false)}\n />\n </Fragment>\n ))}\n </span>\n ) : null;\n\n const displayAbsolute = !(\n isMobile ||\n (positionToolbarAlertBanner === 'bottom' &&\n positionToolbarActions === 'bottom') ||\n (positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions)\n );\n\n return (\n <Collapse\n in={!!selectMessage || !!groupedByMessage}\n timeout={displayAbsolute ? 0 : 200}\n >\n <Alert\n color=\"info\"\n icon={false}\n sx={{\n borderRadius: 0,\n fontSize: '1rem',\n left: 0,\n p: 0,\n position: displayAbsolute ? 'absolute' : 'relative',\n right: 0,\n minHeight: '3.5rem',\n top: 0,\n width: '100%',\n zIndex: 2,\n ...alertProps?.sx,\n }}\n {...alertProps}\n >\n <Box sx={{ p: '0.5rem 1rem' }}>\n {selectMessage}\n {groupedByMessage}\n </Box>\n </Alert>\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Collapse, LinearProgress } from '@mui/material';\nimport { useMRT } from '../useMRT';\n\ninterface Props {}\n\nexport const MRT_LinearProgressBar: FC<Props> = () => {\n const { muiLinearProgressProps, isFetching, isLoading, tableInstance } =\n useMRT();\n\n const linearProgressProps =\n muiLinearProgressProps instanceof Function\n ? muiLinearProgressProps(tableInstance)\n : muiLinearProgressProps;\n\n return (\n <Collapse in={isFetching || isLoading} unmountOnExit>\n <LinearProgress\n aria-label=\"Loading\"\n aria-busy=\"true\"\n {...linearProgressProps}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Theme, Toolbar } from '@mui/material';\nimport { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';\nimport { useMRT } from '../useMRT';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { MRT_TableInstance } from '..';\n\nexport const commonToolbarStyles = (\n theme: Theme,\n tableInstance: MRT_TableInstance,\n) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n display: 'grid',\n opacity: tableInstance.state.fullScreen ? 0.95 : 1,\n p: '0 !important',\n width: '100%',\n zIndex: 1,\n});\n\ninterface Props {}\n\nexport const MRT_ToolbarTop: FC<Props> = () => {\n const {\n disableGlobalFilter,\n hideToolbarInternalActions,\n manualPagination,\n muiTableToolbarTopProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n tableInstance,\n } = useMRT();\n\n const toolbarProps =\n muiTableToolbarTopProps instanceof Function\n ? muiTableToolbarTopProps(tableInstance)\n : muiTableToolbarTopProps;\n\n return (\n <Toolbar\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n position: tableInstance.state.fullScreen ? 'sticky' : undefined,\n top: tableInstance.state.fullScreen ? '0' : undefined,\n ...commonToolbarStyles(theme, tableInstance),\n ...toolbarProps?.sx,\n } as any)\n }\n >\n {positionToolbarAlertBanner === 'top' && <MRT_ToolbarAlertBanner />}\n <Box\n sx={{\n p: '0.5rem',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n {renderToolbarCustomActions?.(tableInstance) ?? <span />}\n <Box\n sx={{\n display: 'flex',\n gap: '0.5rem',\n position: 'relative',\n zIndex: 3,\n }}\n >\n {!disableGlobalFilter && <MRT_SearchTextField />}\n {!hideToolbarInternalActions && positionToolbarActions === 'top' && (\n <MRT_ToolbarInternalButtons />\n )}\n </Box>\n </Box>\n <div>\n {!manualPagination &&\n ['top', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination />\n )}\n </div>\n <MRT_LinearProgressBar />\n </Toolbar>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, Toolbar } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { commonToolbarStyles } from './MRT_ToolbarTop';\n\ninterface Props {}\n\nexport const MRT_ToolbarBottom: FC<Props> = () => {\n const {\n hideToolbarInternalActions,\n manualPagination,\n muiTableToolbarBottomProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n tableInstance,\n } = useMRT();\n\n const toolbarProps =\n muiTableToolbarBottomProps instanceof Function\n ? muiTableToolbarBottomProps(tableInstance)\n : muiTableToolbarBottomProps;\n\n return (\n <Toolbar\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n bottom: tableInstance.state.fullScreen ? '0' : undefined,\n position: tableInstance.state.fullScreen ? 'fixed' : undefined,\n ...commonToolbarStyles(theme, tableInstance),\n ...toolbarProps?.sx,\n } as any)\n }\n >\n <MRT_LinearProgressBar />\n <Box\n sx={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}\n >\n {!hideToolbarInternalActions && positionToolbarActions === 'bottom' ? (\n <MRT_ToolbarInternalButtons />\n ) : (\n <span />\n )}\n {positionToolbarAlertBanner === 'bottom' && <MRT_ToolbarAlertBanner />}\n {!manualPagination &&\n ['bottom', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination />\n )}\n </Box>\n </Toolbar>\n );\n};\n","import React, { FC, useEffect } from 'react';\nimport { Paper, TableContainer, Box } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_Table } from './MRT_Table';\nimport { MRT_ToolbarTop } from '../toolbar/MRT_ToolbarTop';\nimport { MRT_ToolbarBottom } from '../toolbar/MRT_ToolbarBottom';\n\ninterface Props {}\n\nexport const MRT_TableContainer: FC<Props> = () => {\n const {\n hideToolbarBottom,\n hideToolbarTop,\n muiTableContainerProps,\n tableInstance,\n } = useMRT();\n const fullScreen = tableInstance.state.fullScreen;\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n if (fullScreen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'auto';\n }\n }\n }, [fullScreen]);\n\n const tableContainerProps =\n muiTableContainerProps instanceof Function\n ? muiTableContainerProps(tableInstance)\n : muiTableContainerProps;\n\n return (\n <TableContainer\n component={Paper}\n {...tableContainerProps}\n sx={{\n bottom: fullScreen ? '0' : undefined,\n height: fullScreen ? '100%' : undefined,\n left: fullScreen ? '0' : undefined,\n m: fullScreen ? '0' : undefined,\n overflowY: !fullScreen ? 'hidden' : undefined,\n position: fullScreen ? 'fixed' : undefined,\n right: fullScreen ? '0' : undefined,\n top: fullScreen ? '0' : undefined,\n transition: 'all 0.2s ease-in-out',\n width: fullScreen ? '100vw' : undefined,\n zIndex: fullScreen ? 1200 : 1,\n ...tableContainerProps?.sx,\n }}\n >\n {!hideToolbarTop && <MRT_ToolbarTop />}\n <Box\n sx={{\n maxWidth: '100%',\n overflowX: 'auto',\n }}\n >\n <MRT_Table />\n </Box>\n {!hideToolbarBottom && <MRT_ToolbarBottom />}\n </TableContainer>\n );\n};\n","export interface MRT_Localization {\n actions: string;\n cancel: string;\n changeFilterMode: string;\n changeSearchMode: string;\n clearFilter: string;\n clearSearch: string;\n clearSort: string;\n clickToCopy: string;\n columnActions: string;\n copiedToClipboard: string;\n edit: string;\n expand: string;\n expandAll: string;\n filterBestMatchFirst: string;\n filterByColumn: string;\n filterContains: string;\n filterEmpty: string;\n filterEndsWith: string;\n filterEquals: string;\n filterBestMatch: string;\n filterGreaterThan: string;\n filterLessThan: string;\n filterMode: string;\n filterNotEmpty: string;\n filterNotEquals: string;\n filterStartsWith: string;\n filteringByColumn: string;\n groupByColumn: string;\n groupedBy: string;\n hideAll: string;\n hideColumn: string;\n rowActions: string;\n save: string;\n search: string;\n selectedCountOfRowCountRowsSelected: string;\n showAll: string;\n showHideColumns: string;\n showAllColumns: string;\n showHideFilters: string;\n showHideSearch: string;\n sortByColumnAsc: string;\n sortByColumnDesc: string;\n thenBy: string;\n toggleDensePadding: string;\n toggleFullScreen: string;\n toggleSelectAll: string;\n toggleSelectRow: string;\n ungroupByColumn: string;\n}\n\nexport const MRT_DefaultLocalization_EN: MRT_Localization = {\n actions: 'Actions',\n cancel: 'Cancel',\n changeFilterMode: 'Change filter mode',\n changeSearchMode: 'Change search mode',\n clearFilter: 'Clear filter',\n clearSearch: 'Clear search',\n clearSort: 'Clear sort',\n clickToCopy: 'Click to copy',\n columnActions: 'Column Actions',\n copiedToClipboard: 'Copied to clipboard',\n edit: 'Edit',\n expand: 'Expand',\n expandAll: 'Expand all',\n filterBestMatch: 'Best Match',\n filterBestMatchFirst: 'Best Match First',\n filterByColumn: 'Filter by {column}',\n filterContains: 'Contains',\n filterEmpty: 'Empty',\n filterEndsWith: 'Ends With',\n filterEquals: 'Equals',\n filterGreaterThan: 'Greater Than',\n filterLessThan: 'Less Than',\n filterMode: 'Filter Mode: {filterType}',\n filterNotEmpty: 'Not Empty',\n filterNotEquals: 'Not Equals',\n filterStartsWith: 'Starts With',\n filteringByColumn: 'Filtering by {column} - {filterType} \"{filterValue}\"',\n groupByColumn: 'Group by {column}',\n groupedBy: 'Grouped by ',\n hideAll: 'Hide all',\n hideColumn: 'Hide {column} column',\n rowActions: 'Row Actions',\n save: 'Save',\n search: 'Search',\n selectedCountOfRowCountRowsSelected:\n '{selectedCount} of {rowCount} row(s) selected',\n showAll: 'Show all',\n showAllColumns: 'Show all columns',\n showHideColumns: 'Show/Hide columns',\n showHideFilters: 'Show/Hide filters',\n showHideSearch: 'Show/Hide search',\n sortByColumnAsc: 'Sort by {column} ascending',\n sortByColumnDesc: 'Sort by {column} descending',\n thenBy: ', then by ',\n toggleDensePadding: 'Toggle dense padding',\n toggleFullScreen: 'Toggle full screen',\n toggleSelectAll: 'Toggle select all',\n toggleSelectRow: 'Toggle select row',\n ungroupByColumn: 'Ungroup by {column}',\n};\n","import ArrowRightIcon from '@mui/icons-material/ArrowRight';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\nimport ClearAllIcon from '@mui/icons-material/ClearAll';\nimport CloseIcon from '@mui/icons-material/Close';\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy';\nimport DensityMediumIcon from '@mui/icons-material/DensityMedium';\nimport DensitySmallIcon from '@mui/icons-material/DensitySmall';\nimport DoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';\nimport DynamicFeedIcon from '@mui/icons-material/DynamicFeed';\nimport EditIcon from '@mui/icons-material/Edit';\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport FilterAltIcon from '@mui/icons-material/FilterAlt';\nimport FilterAltOff from '@mui/icons-material/FilterAltOff';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport FilterListOffIcon from '@mui/icons-material/FilterListOff';\nimport FullscreenExitIcon from '@mui/icons-material/FullscreenExit';\nimport FullscreenIcon from '@mui/icons-material/Fullscreen';\nimport MoreHorizIcon from '@mui/icons-material/MoreHoriz';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport SaveIcon from '@mui/icons-material/Save';\nimport SearchIcon from '@mui/icons-material/Search';\nimport SearchOffIcon from '@mui/icons-material/SearchOff';\nimport SortIcon from '@mui/icons-material/Sort';\nimport ViewColumnIcon from '@mui/icons-material/ViewColumn';\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\n\nexport interface MRT_Icons {\n ArrowRightIcon: any;\n CancelIcon: any;\n CheckBoxIcon: any;\n ClearAllIcon: any;\n CloseIcon: any;\n ContentCopyIcon: any;\n DensityMediumIcon: any;\n DensitySmallIcon: any;\n DoubleArrowDownIcon: any;\n DynamicFeedIcon: any;\n EditIcon: any;\n ExpandLessIcon: any;\n ExpandMoreIcon: any;\n FilterAltIcon: any;\n FilterAltOff: any;\n FilterListIcon: any;\n FilterListOffIcon: any;\n FullscreenExitIcon: any;\n FullscreenIcon: any;\n MoreHorizIcon: any;\n MoreVertIcon: any;\n SaveIcon: any;\n SearchIcon: any;\n SearchOffIcon: any;\n SortIcon: any;\n ViewColumnIcon: any;\n VisibilityOffIcon: any;\n}\n\nexport const MRT_Default_Icons: MRT_Icons = {\n ArrowRightIcon,\n CancelIcon,\n CheckBoxIcon,\n ClearAllIcon,\n CloseIcon,\n ContentCopyIcon,\n DensityMediumIcon,\n DensitySmallIcon,\n DoubleArrowDownIcon,\n DynamicFeedIcon,\n EditIcon,\n ExpandLessIcon,\n ExpandMoreIcon,\n FilterAltIcon,\n FilterAltOff,\n FilterListIcon,\n FilterListOffIcon,\n FullscreenExitIcon,\n FullscreenIcon,\n MoreHorizIcon,\n MoreVertIcon,\n SaveIcon,\n SearchIcon,\n SearchOffIcon,\n SortIcon,\n ViewColumnIcon,\n VisibilityOffIcon,\n};\n","import React, { ChangeEvent, FC, MouseEvent, ReactNode } from 'react';\nimport {\n AlertProps,\n ButtonProps,\n CheckboxProps,\n IconButtonProps,\n LinearProgressProps,\n SkeletonProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableFooterProps,\n TableHeadProps,\n TablePaginationProps,\n TableProps,\n TableRowProps,\n TextFieldProps,\n ToolbarProps,\n} from '@mui/material';\nimport {\n Cell,\n Column,\n ColumnInstance,\n FilterType,\n ColumnInterface,\n HeaderGroup,\n Row,\n TableInstance,\n TableOptions,\n TableState,\n UseColumnOrderInstanceProps,\n UseColumnOrderState,\n UseExpandedInstanceProps,\n UseExpandedOptions,\n UseExpandedRowProps,\n UseExpandedState,\n UseFiltersColumnOptions,\n UseFiltersColumnProps,\n UseFiltersInstanceProps,\n UseFiltersOptions,\n UseFiltersState,\n UseGlobalFiltersColumnOptions,\n UseGlobalFiltersInstanceProps,\n UseGlobalFiltersOptions,\n UseGlobalFiltersState,\n UseGroupByCellProps,\n UseGroupByColumnOptions,\n UseGroupByColumnProps,\n UseGroupByInstanceProps,\n UseGroupByOptions,\n UseGroupByRowProps,\n UseGroupByState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseResizeColumnsColumnOptions,\n UseResizeColumnsColumnProps,\n UseResizeColumnsOptions,\n UseResizeColumnsState,\n UseRowSelectInstanceProps,\n UseRowSelectOptions,\n UseRowSelectRowProps,\n UseRowSelectState,\n UseRowStateCellProps,\n UseRowStateInstanceProps,\n UseRowStateOptions,\n UseRowStateRowProps,\n UseRowStateState,\n UseSortByColumnOptions,\n UseSortByColumnProps,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseSortByState,\n UseTableHeaderGroupProps,\n UseTableInstanceProps,\n UseTableOptions,\n} from 'react-table';\nimport { MaterialReactTableProvider } from './useMRT';\nimport { MRT_TableContainer } from './table/MRT_TableContainer';\nimport { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';\nimport { MRT_Default_Icons, MRT_Icons } from './icons';\nimport { MRT_FILTER_TYPE } from './enums';\nimport { defaultFilterFNs } from './filtersFNs';\n\nexport type MRT_TableOptions<D extends {} = {}> = TableOptions<D> &\n UseExpandedOptions<D> &\n UseFiltersOptions<D> &\n UseGlobalFiltersOptions<D> &\n UseGroupByOptions<D> &\n UsePaginationOptions<D> &\n UseResizeColumnsOptions<D> &\n UseRowSelectOptions<D> &\n UseRowStateOptions<D> &\n UseSortByOptions<D> & {\n columns: MRT_ColumnInterface[];\n data: D[];\n initialState?: Partial<MRT_TableState>;\n };\n\nexport type MRT_TableInstance<D extends {} = {}> = TableInstance<D> &\n UseTableInstanceProps<D> &\n UseColumnOrderInstanceProps<D> &\n UseExpandedInstanceProps<D> &\n UseFiltersInstanceProps<D> &\n UseGlobalFiltersInstanceProps<D> &\n UseGroupByInstanceProps<D> &\n UsePaginationInstanceProps<D> &\n UseRowSelectInstanceProps<D> &\n UseRowStateInstanceProps<D> &\n UseSortByInstanceProps<D> & {\n columns: (Column<D> & MRT_ColumnInstance<D>)[];\n footerGroups: MRT_HeaderGroup<D>[];\n getToggleAllRowsExpandedProps: () => void;\n headerGroups: MRT_HeaderGroup<D>[];\n page: MRT_Row<D>[];\n resetResizing: () => void;\n rows: MRT_Row<D>[];\n state: MRT_TableState<D>;\n };\n\nexport type MRT_ColumnInterface<D extends {} = {}> = ColumnInterface<D> &\n UseFiltersColumnOptions<D> &\n UseGlobalFiltersColumnOptions<D> &\n UseGroupByColumnOptions<D> &\n UseResizeColumnsColumnOptions<D> &\n UseSortByColumnOptions<D> & {\n Edit?: ({\n cell,\n onChange,\n }: {\n cell: MRT_Cell<D>;\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n }) => ReactNode;\n Filter?: ({ column }: { column: MRT_HeaderGroup<D> }) => ReactNode;\n Footer?: string;\n Header?: string;\n accessor?: string;\n columns?: MRT_ColumnInterface<D>[];\n disableClickToCopy?: boolean;\n disableColumnActions?: boolean;\n disableColumnHiding?: boolean;\n disableEditing?: boolean;\n disableFilters?: boolean;\n enabledFilterTypes?: (MRT_FILTER_TYPE | string)[];\n filter?: MRT_FilterType | string | FilterType<D>;\n filterSelectOptions?: (string | { text: string; value: string })[];\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | ((cell?: MRT_Cell<D>) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | ((cell: MRT_Cell<D>) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | ((cell: MRT_Cell<D>) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | ((column: Column<D>) => TableCellProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | ((column: Column<D>) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | ((column: Column<D>) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | ((column: Column<D>) => TableCellProps);\n onCellEditChange?: (\n event: ChangeEvent<HTMLInputElement>,\n cell: MRT_Cell<D>,\n ) => void;\n onFilterChange?: (\n event: ChangeEvent<HTMLInputElement>,\n filterValue: any,\n ) => void;\n };\n\nexport type MRT_ColumnInstance<D extends {} = {}> = ColumnInstance<D> &\n UseFiltersColumnProps<D> &\n UseGroupByColumnProps<D> &\n UseResizeColumnsColumnProps<D> &\n UseSortByColumnProps<D> &\n MRT_ColumnInterface<D> & {\n columns?: MRT_ColumnInstance<D>[];\n };\n\nexport type MRT_HeaderGroup<D extends {} = {}> = HeaderGroup<D> &\n MRT_ColumnInstance<D> &\n UseTableHeaderGroupProps<D> & {\n headers: MRT_HeaderGroup<D>[];\n };\n\nexport type MRT_Row<D extends {} = {}> = Row<D> &\n UseExpandedRowProps<D> &\n UseGroupByRowProps<D> &\n UseRowSelectRowProps<D> &\n UseRowStateRowProps<D> & {\n cells: MRT_Cell<D>[];\n };\n\nexport type MRT_Cell<D extends {} = {}, _V = any> = Cell<D> &\n UseGroupByCellProps<D> &\n UseRowStateCellProps<D> & {\n column: MRT_ColumnInstance<D>;\n };\n\nexport type MRT_FilterType = MRT_FILTER_TYPE | Function;\n\nexport type MRT_TableState<D extends {} = {}> = TableState<D> &\n UseColumnOrderState<D> &\n UseExpandedState<D> &\n UseFiltersState<D> &\n UseGlobalFiltersState<D> &\n UseGroupByState<D> &\n UsePaginationState<D> &\n UseResizeColumnsState<D> &\n UseRowSelectState<D> &\n UseRowStateState<D> &\n UseSortByState<D> & {\n currentEditingRow: MRT_Row<D> | null;\n currentFilterTypes: { [key: string]: MRT_FilterType };\n currentGlobalFilterType: MRT_FilterType;\n densePadding: boolean;\n fullScreen: boolean;\n showFilters: boolean;\n showSearch: boolean;\n };\n\nexport type MaterialReactTableProps<D extends {} = {}> = UseTableOptions<D> &\n UseExpandedOptions<D> &\n UseFiltersOptions<D> &\n UseGlobalFiltersOptions<D> &\n UseGroupByOptions<D> &\n UsePaginationOptions<D> &\n UseResizeColumnsOptions<D> &\n UseRowSelectOptions<D> &\n UseRowStateOptions<D> &\n UseSortByOptions<D> &\n MRT_TableOptions<D> & {\n disableColumnActions?: boolean;\n disableColumnHiding?: boolean;\n disableDensePaddingToggle?: boolean;\n disableExpandAll?: boolean;\n disableFullScreenToggle?: boolean;\n disableSelectAll?: boolean;\n disableSubRowTree?: boolean;\n enableClickToCopy?: boolean;\n enableColumnGrouping?: boolean;\n enableColumnResizing?: boolean;\n enableRowActions?: boolean;\n enableRowEditing?: boolean;\n enableRowNumbers?: boolean;\n enableSelection?: boolean;\n enabledGlobalFilterTypes?: (MRT_FILTER_TYPE | string)[];\n filterTypes?: { [key in MRT_FILTER_TYPE]: any };\n hideTableFooter?: boolean;\n hideTableHead?: boolean;\n hideToolbarBottom?: boolean;\n hideToolbarInternalActions?: boolean;\n hideToolbarTop?: boolean;\n icons?: Partial<MRT_Icons>;\n idPrefix?: string;\n isFetching?: boolean;\n isLoading?: boolean;\n localization?: Partial<MRT_Localization>;\n muiLinearProgressProps?:\n | LinearProgressProps\n | ((tableInstance: MRT_TableInstance) => LinearProgressProps);\n muiSearchTextFieldProps?: TextFieldProps;\n muiSelectCheckboxProps?:\n | CheckboxProps\n | ((\n isSelectAll?: boolean,\n row?: MRT_Row<D>,\n tableInstance?: MRT_TableInstance<D>,\n ) => CheckboxProps);\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | ((cell?: MRT_Cell<D>) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | ((cell?: MRT_Cell<D>) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | ((cell?: MRT_Cell<D>) => TableCellProps);\n muiTableBodyCellSkeletonProps?:\n | SkeletonProps\n | ((cell?: MRT_Cell<D>) => SkeletonProps);\n muiTableBodyProps?:\n | TableBodyProps\n | ((tableInstance: MRT_TableInstance<D>) => TableBodyProps);\n muiTableBodyRowProps?: TableRowProps | ((row: Row<D>) => TableRowProps);\n muiTableContainerProps?:\n | TableContainerProps\n | ((tableInstance: MRT_TableInstance<D>) => TableContainerProps);\n muiTableDetailPanelProps?:\n | TableCellProps\n | ((row: Row<D>) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | ((column: Column<D>) => TableCellProps);\n muiTableFooterProps?:\n | TableFooterProps\n | ((tableInstance: MRT_TableInstance<D>) => TableFooterProps);\n muiTableFooterRowProps?:\n | TableRowProps\n | ((footerGroup: MRT_HeaderGroup<D>) => TableRowProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | ((column: Column<D>) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | ((column: Column<D>) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | ((column: Column<D>) => TableCellProps);\n muiTableHeadProps?:\n | TableHeadProps\n | ((tableInstance: MRT_TableInstance<D>) => TableHeadProps);\n muiTableHeadRowProps?:\n | TableRowProps\n | ((row: MRT_HeaderGroup<D>) => TableRowProps);\n muiTablePaginationProps?:\n | Partial<TablePaginationProps>\n | ((\n tableInstance: MRT_TableInstance<D>,\n ) => Partial<TablePaginationProps>);\n muiTableProps?:\n | TableProps\n | ((tableInstance: MRT_TableInstance<D>) => TableProps);\n muiTableToolbarAlertBannerProps?:\n | AlertProps\n | ((tableInstance: MRT_TableInstance<D>) => AlertProps);\n muiTableToolbarBottomProps?:\n | ToolbarProps\n | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);\n muiTableToolbarTopProps?:\n | ToolbarProps\n | ((tableInstance: MRT_TableInstance<D>) => ToolbarProps);\n onCellClick?: (\n event: MouseEvent<HTMLTableCellElement>,\n cell: MRT_Cell<D>,\n ) => void;\n onColumnHide?: (column: Column<D>, hiddenColumns?: string[]) => void;\n onDetailPanelClick?: (\n event: MouseEvent<HTMLTableCellElement>,\n row: Row<D>,\n ) => void;\n onGlobalFilterChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n onRowClick?: (event: MouseEvent<HTMLTableRowElement>, row: Row<D>) => void;\n onRowEditSubmit?: (row: Row<D>) => Promise<void> | void;\n onRowExpandChange?: (\n event: MouseEvent<HTMLButtonElement>,\n row: Row<D>,\n ) => void;\n onSelectAllChange?: (event: ChangeEvent, selectedRows: Row<D>[]) => void;\n onSelectChange?: (\n event: ChangeEvent,\n row: Row<D>,\n selectedRows: Row<D>[],\n ) => void;\n positionActionsColumn?: 'first' | 'last';\n positionPagination?: 'bottom' | 'top' | 'both';\n positionToolbarActions?: 'bottom' | 'top';\n positionToolbarAlertBanner?: 'bottom' | 'top';\n renderDetailPanel?: (row: Row<D>) => ReactNode;\n renderRowActionMenuItems?: (\n rowData: Row<D>,\n tableInstance: MRT_TableInstance<D>,\n closeMenu: () => void,\n ) => ReactNode[];\n renderRowActions?: (\n row: Row<D>,\n tableInstance: MRT_TableInstance<D>,\n ) => ReactNode;\n renderToolbarCustomActions?: (\n tableInstance: MRT_TableInstance<D>,\n ) => ReactNode;\n renderToolbarInternalActions?: (\n tableInstance: MRT_TableInstance<D>,\n {\n MRT_ToggleSearchButton,\n MRT_ToggleFiltersButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_FullScreenToggleButton,\n }: {\n MRT_ToggleSearchButton: FC<IconButtonProps>;\n MRT_ToggleFiltersButton: FC<IconButtonProps>;\n MRT_ShowHideColumnsButton: FC<IconButtonProps>;\n MRT_ToggleDensePaddingButton: FC<IconButtonProps>;\n MRT_FullScreenToggleButton: FC<IconButtonProps>;\n },\n ) => ReactNode;\n };\n\nexport default <D extends {} = {}>({\n defaultColumn = { minWidth: 50, maxWidth: 1000 },\n filterTypes,\n globalFilter = MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n icons,\n localization,\n positionActionsColumn = 'first',\n positionPagination = 'bottom',\n positionToolbarActions = 'top',\n positionToolbarAlertBanner = 'top',\n ...rest\n}: MaterialReactTableProps<D>) => (\n <MaterialReactTableProvider\n //@ts-ignore\n defaultColumn={defaultColumn}\n //@ts-ignore\n filterTypes={{ ...defaultFilterFNs, ...filterTypes }}\n //@ts-ignore\n globalFilter={globalFilter}\n icons={{ ...MRT_Default_Icons, ...icons }}\n localization={{ ...MRT_DefaultLocalization_EN, ...localization }}\n positionActionsColumn={positionActionsColumn}\n positionPagination={positionPagination}\n positionToolbarActions={positionToolbarActions}\n positionToolbarAlertBanner={positionToolbarAlertBanner}\n {...rest}\n >\n <MRT_TableContainer />\n </MaterialReactTableProvider>\n);\n"],"names":["MRT_FILTER_TYPE","findLowestLevelCols","columns","lowestLevelColumns","currentCols","length","some","col","nextCols","filter","map","flat","every","MaterialReactTableContext","createContext","MaterialReactTableProvider","props","hooks","useFilters","useGlobalFilter","useGroupBy","useSortBy","useExpanded","usePagination","useRowSelect","enableColumnResizing","unshift","useResizeColumns","useFlexLayout","useState","currentEditingRow","setCurrentEditingRow","initialState","densePadding","setDensePadding","fullScreen","setFullScreen","showFilters","setShowFilters","showSearch","setShowSearch","Object","assign","c","accessor","filters","filterSelectOptions","EQUALS","BEST_MATCH","currentFilterTypes","setCurrentFilterTypes","globalFilter","currentGlobalFilterType","setCurrentGlobalFilterType","applyFiltersToColumns","useCallback","cols","column","filterTypes","useMemo","data","isLoading","Array","fill","_","tableInstance","useTable","useControlledState","state","idPrefix","Math","random","toString","substring","anyRowsCanExpand","rows","row","canExpand","anyRowsExpanded","isExpanded","React","Provider","value","children","useMRT","useContext","bestMatchFirst","columnIds","filterValue","matchSorter","trim","keys","isArray","autoRemove","val","bestMatch","sorter","rankedItems","contains","id","values","toLowerCase","includes","startsWith","endsWith","equals","notEquals","greaterThan","isNaN","lessThan","empty","_filterValue","notEmpty","defaultFilterFNs","commonMenuItemStyles","py","my","alignItems","MRT_FilterTypeMenu","anchorEl","onSelect","setAnchorEl","enabledGlobalFilterTypes","localization","type","BEST_MATCH_FIRST","label","filterBestMatchFirst","divider","fn","filterBestMatch","CONTAINS","filterContains","STARTS_WITH","filterStartsWith","ENDS_WITH","filterEndsWith","filterEquals","NOT_EQUALS","filterNotEquals","GREATER_THAN","filterGreaterThan","LESS_THAN","filterLessThan","EMPTY","filterEmpty","NOT_EMPTY","filterNotEmpty","filterType","enabledFilterTypes","handleSelectFilterType","prev","setFilter","Menu","anchorOrigin","vertical","horizontal","onClose","open","MenuListProps","dense","index","MenuItem","key","onClick","selected","sx","MRT_FilterTextField","icons","FilterListIcon","CloseIcon","muiTableHeadCellFilterTextFieldProps","mTableHeadCellFilterTextFieldProps","Function","mcTableHeadCellFilterTextFieldProps","textFieldProps","setFilterValue","handleChange","useAsyncDebounce","undefined","handleFilterMenuOpen","event","currentTarget","handleClear","handleClearFilterChip","Filter","filterId","isSelectFilter","filterChipLabel","charAt","toUpperCase","slice","filterPlaceholder","filterByColumn","replace","String","Header","TextField","fullWidth","inputProps","disabled","textOverflow","width","title","helperText","htmlFor","filterMode","name","FormHelperTextProps","fontSize","lineHeight","margin","placeholder","onChange","e","target","stopPropagation","select","variant","InputProps","startAdornment","InputAdornment","position","Tooltip","arrow","changeFilterMode","IconButton","size","height","Chip","onDelete","endAdornment","disableHoverListener","placement","clearFilter","m","p","minWidth","mt","mr","option","text","MRT_ShowHideColumnsMenuItems","isSubMenu","onColumnHide","isParentHeader","allChildColumnsVisible","childColumn","isVisible","switchChecked","handleToggleColumnHidden","forEach","toggleHidden","hiddenColumns","pl","depth","FormControlLabel","componentsProps","typography","marginBottom","checked","control","Switch","disableColumnHiding","i","MRT_ShowHideColumnsMenu","hideAllColumns","Box","display","justifyContent","pt","Button","getToggleHideAllColumnsProps","indeterminate","hideAll","toggleHideAllColumns","showAll","Divider","commonListItemStyles","MRT_ColumnActionMenu","disableFilters","disableSortBy","enableColumnGrouping","ArrowRightIcon","ClearAllIcon","ViewColumnIcon","DynamicFeedIcon","FilterListOffIcon","SortIcon","VisibilityOffIcon","filterMenuAnchorEl","setFilterMenuAnchorEl","showHideColumnsMenuAnchorEl","setShowHideColumnsMenuAnchorEl","handleClearSort","clearSortBy","handleSortAsc","toggleSortBy","handleSortDesc","handleHideColumn","handleGroupByColumn","toggleGroupBy","handleClearFilter","handleFilterByColumn","setTimeout","document","getElementById","focus","handleShowAllColumns","handleOpenFilterModeMenu","handleOpenShowHideColumnsMenu","canSort","isSorted","ListItemIcon","clearSort","isSortedDesc","sortByColumnAsc","style","transform","sortByColumnDesc","canFilter","onMouseEnter","canGroupBy","isGrouped","hideColumn","showAllColumns","MRT_ToggleColumnActionMenuButton","MoreVertIcon","muiTableHeadCellColumnActionsButtonProps","handleClick","preventDefault","mTableHeadCellColumnActionsButtonProps","mcTableHeadCellColumnActionsButtonProps","iconButtonProps","enterDelay","enterNextDelay","columnActions","opacity","transition","commonTableHeadCellStyles","widths","fontWeight","verticalAlign","MRT_TableHeadCell","disableColumnActions","FilterAltIcon","FilterAltOff","muiTableHeadCellProps","mTableHeadCellProps","mcTableHeadCellProps","tableCellProps","getHeaderProps","sortTooltip","filterTooltip","filteringByColumn","showHideFilters","columnHeader","render","TableCell","align","maxWidth","getSortByToggleProps","flexWrap","whiteSpace","TableSortLabel","active","direction","disableRipple","backgroundColor","flexItem","orientation","onDoubleClick","resetResizing","getResizerProps","borderRightWidth","borderRadius","maxHeight","Collapse","MRT_SelectCheckbox","selectAll","muiSelectCheckboxProps","onSelectChange","onSelectAllChange","handleSelectChange","getToggleAllRowsSelectedProps","getToggleRowSelectedProps","selectedFlatRows","selectedRow","mTableBodyRowSelectCheckboxProps","rtSelectCheckboxProps","checkboxProps","toggleSelectAll","toggleSelectRow","Checkbox","MRT_ExpandAllButton","DoubleArrowDownIcon","expandAll","isAllRowsExpanded","MRT_TableSpacerCell","muiTableBodyCellProps","MRT_TableHeadCellActions","textAlign","actions","MRT_TableHeadRow","headerGroup","disableExpandAll","disableSelectAll","enableRowActions","enableRowEditing","enableRowNumbers","enableSelection","muiTableHeadRowProps","positionActionsColumn","renderDetailPanel","headers","h","mTableHeadRowProps","tableRowProps","getHeaderGroupProps","TableRow","getToggleAllRowsExpandedProps","expandedDepth","MRT_TableHead","muiTableHeadProps","tableHeadProps","TableHead","headerGroups","MRT_EditCellTextField","cell","muiTableBodyCellEditTextFieldProps","onCellEditChange","mTableBodyCellEditTextFieldProps","mcTableBodyCellEditTextFieldProps","disableEditing","Edit","MRT_CopyButton","muiTableBodyCellCopyButtonProps","copied","setCopied","handleCopy","navigator","clipboard","writeText","mTableBodyCellCopyButtonProps","mcTableBodyCellCopyButtonProps","buttonProps","copiedToClipboard","clickToCopy","border","color","fontFamily","letterSpacing","textTransform","commonTableBodyCellStyles","commonTableBodyButtonCellStyles","MRT_TableBodyCell","enableClickToCopy","muiTableBodyCellSkeletonProps","onCellClick","mTableCellBodyProps","mcTableCellBodyProps","getCellProps","Skeleton","animation","isPlaceholder","isAggregated","disableClickToCopy","subRows","MRT_TableDetailPanel","muiTableBodyRowProps","muiTableDetailPanelProps","onDetailPanelClick","colSpan","visibleColumns","borderBottom","pb","MRT_ExpandButton","ExpandMoreIcon","onRowExpandChange","handleToggleExpand","getToggleRowExpandedProps","expand","MRT_RowActionMenu","handleEdit","EditIcon","renderRowActionMenuItems","edit","MRT_EditActionButtons","CancelIcon","SaveIcon","onRowEditSubmit","handleCancel","original","handleSave","gap","cancel","save","commonIconButtonStyles","marginRight","MRT_ToggleRowActionMenuButton","MoreHorizIcon","renderRowActions","handleOpenRowActionMenu","rowActions","MRT_TableBodyRow","onRowClick","mTableBodyRowProps","getRowProps","hover","isSelected","cells","MRT_TableBody","muiTableBodyProps","manualPagination","page","mTableBodyProps","tableBodyProps","getTableBodyProps","TableBody","prepareRow","MRT_TableFooterCell","muiTableFooterCellProps","mTableFooterCellProps","mcTableFooterCellProps","getFooterProps","MRT_TableFooterRow","footerGroup","muiTableFooterRowProps","Footer","mTableFooterRowProps","getFooterGroupProps","MRT_TableFooter","muiTableFooterProps","tableFooterProps","TableFooter","footerGroups","MRT_Table","muiTableProps","hideTableHead","hideTableFooter","mTableProps","tableProps","getTableProps","Table","MRT_SearchTextField","SearchIcon","muiSearchTextFieldProps","onGlobalFilterChange","searchValue","setSearchValue","setGlobalFilter","handleGlobalFilterMenuOpen","search","changeSearchMode","clearSearch","justifySelf","MRT_FullScreenToggleButton","rest","FullscreenExitIcon","FullscreenIcon","toggleFullScreen","MRT_ShowHideColumnsButton","showHideColumns","MRT_ToggleDensePaddingButton","DensityMediumIcon","DensitySmallIcon","toggleDensePadding","MRT_ToggleFiltersButton","MRT_ToggleSearchButton","SearchOffIcon","handleToggleSearch","showHideSearch","MRT_ToolbarInternalButtons","disableDensePaddingToggle","disableGlobalFilter","disableFullScreenToggle","renderToolbarInternalActions","MRT_TablePagination","muiTablePaginationProps","tablePaginationProps","handleChangeRowsPerPage","setPageSize","gotoPage","TablePagination","component","count","onPageChange","newPage","onRowsPerPageChange","pageIndex","rowsPerPage","pageSize","SelectProps","showFirstButton","showLastButton","zIndex","MRT_ToolbarAlertBanner","muiTableToolbarAlertBannerProps","positionToolbarAlertBanner","positionToolbarActions","renderToolbarCustomActions","isMobile","useMediaQuery","alertProps","selectMessage","selectedCountOfRowCountRowsSelected","flatRows","groupedByMessage","groupBy","groupedBy","columnId","Fragment","thenBy","allColumns","find","displayAbsolute","timeout","Alert","icon","left","right","minHeight","top","MRT_LinearProgressBar","muiLinearProgressProps","isFetching","linearProgressProps","unmountOnExit","LinearProgress","commonToolbarStyles","theme","palette","background","backgroundImage","alpha","common","white","MRT_ToolbarTop","hideToolbarInternalActions","muiTableToolbarTopProps","positionPagination","toolbarProps","Toolbar","MRT_ToolbarBottom","muiTableToolbarBottomProps","bottom","MRT_TableContainer","hideToolbarBottom","hideToolbarTop","muiTableContainerProps","useEffect","window","body","overflow","tableContainerProps","TableContainer","Paper","overflowY","overflowX","MRT_DefaultLocalization_EN","groupByColumn","ungroupByColumn","MRT_Default_Icons","CheckBoxIcon","ContentCopyIcon","ExpandLessIcon","defaultColumn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-react-table.cjs.development.js","sources":["../src/localization.ts","../src/icons.ts","../src/buttons/MRT_ExpandAllButton.tsx","../src/buttons/MRT_ExpandButton.tsx","../src/enums.ts","../src/filtersFNs.ts","../src/menus/MRT_FilterTypeMenu.tsx","../src/menus/MRT_ShowHideColumnsMenuItems.tsx","../src/menus/MRT_ShowHideColumnsMenu.tsx","../src/menus/MRT_ColumnActionMenu.tsx","../src/menus/MRT_RowActionMenu.tsx","../src/buttons/MRT_EditActionButtons.tsx","../src/buttons/MRT_ToggleRowActionMenuButton.tsx","../src/inputs/MRT_SelectCheckbox.tsx","../src/inputs/MRT_SearchTextField.tsx","../src/buttons/MRT_FullScreenToggleButton.tsx","../src/buttons/MRT_ShowHideColumnsButton.tsx","../src/buttons/MRT_ToggleDensePaddingButton.tsx","../src/buttons/MRT_ToggleFiltersButton.tsx","../src/buttons/MRT_ToggleSearchButton.tsx","../src/toolbar/MRT_ToolbarInternalButtons.tsx","../src/toolbar/MRT_TablePagination.tsx","../src/toolbar/MRT_ToolbarAlertBanner.tsx","../src/toolbar/MRT_LinearProgressBar.tsx","../src/toolbar/MRT_ToolbarTop.tsx","../src/toolbar/MRT_ToolbarBottom.tsx","../src/inputs/MRT_FilterTextField.tsx","../src/buttons/MRT_ToggleColumnActionMenuButton.tsx","../src/head/MRT_TableHeadCell.tsx","../src/head/MRT_TableHeadRow.tsx","../src/head/MRT_TableHead.tsx","../src/inputs/MRT_EditCellTextField.tsx","../src/buttons/MRT_CopyButton.tsx","../src/body/MRT_TableBodyCell.tsx","../src/body/MRT_TableDetailPanel.tsx","../src/body/MRT_TableBodyRow.tsx","../src/body/MRT_TableBody.tsx","../src/footer/MRT_TableFooterCell.tsx","../src/footer/MRT_TableFooterRow.tsx","../src/footer/MRT_TableFooter.tsx","../src/table/MRT_Table.tsx","../src/table/MRT_TableContainer.tsx","../src/table/MRT_TablePaper.tsx","../src/utils.ts","../src/table/MRT_TableRoot.tsx","../src/MaterialReactTable.tsx"],"sourcesContent":["export interface MRT_Localization {\n actions: string;\n cancel: string;\n changeFilterMode: string;\n changeSearchMode: string;\n clearFilter: string;\n clearSearch: string;\n clearSort: string;\n clickToCopy: string;\n columnActions: string;\n copiedToClipboard: string;\n edit: string;\n expand: string;\n expandAll: string;\n filterBestMatch: string;\n filterBestMatchFirst: string;\n filterByColumn: string;\n filterContains: string;\n filterEmpty: string;\n filterEndsWith: string;\n filterEquals: string;\n filterGreaterThan: string;\n filterLessThan: string;\n filterMode: string;\n filterNotEmpty: string;\n filterNotEquals: string;\n filterStartsWith: string;\n filteringByColumn: string;\n groupByColumn: string;\n groupedBy: string;\n hideAll: string;\n hideColumn: string;\n pinToLeft: string;\n pinToRight: string;\n rowActions: string;\n rowNumbers: string;\n save: string;\n search: string;\n select: string;\n selectedCountOfRowCountRowsSelected: string;\n showAll: string;\n showAllColumns: string;\n showHideColumns: string;\n showHideFilters: string;\n showHideSearch: string;\n sortByColumnAsc: string;\n sortByColumnDesc: string;\n thenBy: string;\n toggleDensePadding: string;\n toggleFullScreen: string;\n toggleSelectAll: string;\n toggleSelectRow: string;\n ungroupByColumn: string;\n unpin: string;\n}\n\nexport const MRT_DefaultLocalization_EN: MRT_Localization = {\n actions: 'Actions',\n cancel: 'Cancel',\n changeFilterMode: 'Change filter mode',\n changeSearchMode: 'Change search mode',\n clearFilter: 'Clear filter',\n clearSearch: 'Clear search',\n clearSort: 'Clear sort',\n clickToCopy: 'Click to copy',\n columnActions: 'Column Actions',\n copiedToClipboard: 'Copied to clipboard',\n edit: 'Edit',\n expand: 'Expand',\n expandAll: 'Expand all',\n filterBestMatch: 'Best Match',\n filterBestMatchFirst: 'Best Match First',\n filterByColumn: 'Filter by {column}',\n filterContains: 'Contains',\n filterEmpty: 'Empty',\n filterEndsWith: 'Ends With',\n filterEquals: 'Equals',\n filterGreaterThan: 'Greater Than',\n filterLessThan: 'Less Than',\n filterMode: 'Filter Mode: {filterType}',\n filterNotEmpty: 'Not Empty',\n filterNotEquals: 'Not Equals',\n filterStartsWith: 'Starts With',\n filteringByColumn: 'Filtering by {column} - {filterType} \"{filterValue}\"',\n groupByColumn: 'Group by {column}',\n groupedBy: 'Grouped by ',\n hideAll: 'Hide all',\n hideColumn: 'Hide {column} column',\n pinToLeft: 'Pin to left',\n pinToRight: 'Pin to right',\n rowActions: 'Row Actions',\n rowNumbers: 'Row Numbers',\n save: 'Save',\n search: 'Search',\n selectedCountOfRowCountRowsSelected:\n '{selectedCount} of {rowCount} row(s) selected',\n\n select: 'Select',\n showAll: 'Show all',\n showAllColumns: 'Show all columns',\n showHideColumns: 'Show/Hide columns',\n showHideFilters: 'Show/Hide filters',\n showHideSearch: 'Show/Hide search',\n sortByColumnAsc: 'Sort by {column} ascending',\n sortByColumnDesc: 'Sort by {column} descending',\n thenBy: ', then by ',\n toggleDensePadding: 'Toggle dense padding',\n toggleFullScreen: 'Toggle full screen',\n toggleSelectAll: 'Toggle select all',\n toggleSelectRow: 'Toggle select row',\n ungroupByColumn: 'Ungroup by {column}',\n unpin: 'Unpin',\n};\n","import ArrowRightIcon from '@mui/icons-material/ArrowRight';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\nimport ClearAllIcon from '@mui/icons-material/ClearAll';\nimport CloseIcon from '@mui/icons-material/Close';\nimport DensityMediumIcon from '@mui/icons-material/DensityMedium';\nimport DensitySmallIcon from '@mui/icons-material/DensitySmall';\nimport DoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';\nimport DynamicFeedIcon from '@mui/icons-material/DynamicFeed';\nimport EditIcon from '@mui/icons-material/Edit';\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport FilterAltIcon from '@mui/icons-material/FilterAlt';\nimport FilterAltOff from '@mui/icons-material/FilterAltOff';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport FilterListOffIcon from '@mui/icons-material/FilterListOff';\nimport FullscreenExitIcon from '@mui/icons-material/FullscreenExit';\nimport FullscreenIcon from '@mui/icons-material/Fullscreen';\nimport MoreHorizIcon from '@mui/icons-material/MoreHoriz';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport PushPinIcon from '@mui/icons-material/PushPin';\nimport SaveIcon from '@mui/icons-material/Save';\nimport SearchIcon from '@mui/icons-material/Search';\nimport SearchOffIcon from '@mui/icons-material/SearchOff';\nimport SortIcon from '@mui/icons-material/Sort';\nimport ViewColumnIcon from '@mui/icons-material/ViewColumn';\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\n\nexport interface MRT_Icons {\n ArrowRightIcon: any;\n CancelIcon: any;\n CheckBoxIcon: any;\n ClearAllIcon: any;\n CloseIcon: any;\n DensityMediumIcon: any;\n DensitySmallIcon: any;\n DoubleArrowDownIcon: any;\n DynamicFeedIcon: any;\n EditIcon: any;\n ExpandLessIcon: any;\n ExpandMoreIcon: any;\n FilterAltIcon: any;\n FilterAltOff: any;\n FilterListIcon: any;\n FilterListOffIcon: any;\n FullscreenExitIcon: any;\n FullscreenIcon: any;\n MoreHorizIcon: any;\n MoreVertIcon: any;\n PushPinIcon: any;\n SaveIcon: any;\n SearchIcon: any;\n SearchOffIcon: any;\n SortIcon: any;\n ViewColumnIcon: any;\n VisibilityOffIcon: any;\n}\n\nexport const MRT_Default_Icons: MRT_Icons = {\n ArrowRightIcon,\n CancelIcon,\n CheckBoxIcon,\n ClearAllIcon,\n CloseIcon,\n DensityMediumIcon,\n DensitySmallIcon,\n DoubleArrowDownIcon,\n DynamicFeedIcon,\n EditIcon,\n ExpandLessIcon,\n ExpandMoreIcon,\n FilterAltIcon,\n FilterAltOff,\n FilterListIcon,\n FilterListOffIcon,\n FullscreenExitIcon,\n FullscreenIcon,\n MoreHorizIcon,\n MoreVertIcon,\n PushPinIcon,\n SaveIcon,\n SearchIcon,\n SearchOffIcon,\n SortIcon,\n ViewColumnIcon,\n VisibilityOffIcon,\n};\n","import React, { FC } from 'react';\nimport { IconButton } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandAllButton: FC<Props> = ({ tableInstance }) => {\n const {\n getIsAllRowsExpanded,\n getIsSomeRowsExpanded,\n getState,\n options: {\n icons: { DoubleArrowDownIcon },\n isLoading,\n localization,\n },\n toggleAllRowsExpanded,\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <IconButton\n aria-label={localization.expandAll}\n disabled={isLoading}\n title={localization.expandAll}\n onClick={() => toggleAllRowsExpanded(!getIsAllRowsExpanded())}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <DoubleArrowDownIcon\n style={{\n transform: `rotate(${\n getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandButton: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { ExpandMoreIcon },\n localization,\n onRowExpandChange,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleToggleExpand = (event: MouseEvent<HTMLButtonElement>) => {\n row.toggleExpanded();\n onRowExpandChange?.({ event, row, tableInstance });\n };\n\n return (\n <IconButton\n aria-label={localization.expand}\n disabled={!row.getCanExpand() && !renderDetailPanel}\n title={localization.expand}\n onClick={handleToggleExpand}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <ExpandMoreIcon\n style={{\n transform: `rotate(${\n !row.getCanExpand() && !renderDetailPanel\n ? -90\n : row.getIsExpanded()\n ? -180\n : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n );\n};\n","export enum MRT_FILTER_TYPE {\n BEST_MATCH = 'bestMatch',\n BEST_MATCH_FIRST = 'bestMatchFirst',\n CONTAINS = 'contains',\n EMPTY = 'empty',\n ENDS_WITH = 'endsWith',\n EQUALS = 'equals',\n GREATER_THAN = 'greaterThan',\n LESS_THAN = 'lessThan',\n NOT_EMPTY = 'notEmpty',\n NOT_EQUALS = 'notEquals',\n STARTS_WITH = 'startsWith',\n}\n","import { matchSorter } from 'match-sorter';\nimport { MRT_Row } from '.';\n\nexport const bestMatchFirst = (\n rows: MRT_Row[],\n columnIds: string[] | string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: Array.isArray(columnIds)\n ? columnIds.map((c) => `values.${c}`)\n : [`values.${columnIds}`],\n });\n\nbestMatchFirst.autoRemove = (val: any) => !val;\n\nexport const bestMatch = (\n rows: MRT_Row[],\n columnIds: string[] | string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: Array.isArray(columnIds)\n ? columnIds.map((c) => `values.${c}`)\n : [`values.${columnIds}`],\n sorter: (rankedItems) => rankedItems,\n });\n\nbestMatch.autoRemove = (val: any) => !val;\n\nexport const contains = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .includes(filterValue.toString().toLowerCase().trim()),\n );\n\ncontains.autoRemove = (val: any) => !val;\n\nexport const startsWith = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .startsWith(filterValue.toString().toLowerCase().trim()),\n );\n\nstartsWith.autoRemove = (val: any) => !val;\n\nexport const endsWith = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .endsWith(filterValue.toString().toLowerCase().trim()),\n );\n\nendsWith.autoRemove = (val: any) => !val;\n\nexport const equals = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter(\n (row) =>\n row.values[id].toString().toLowerCase().trim() ===\n filterValue.toString().toLowerCase().trim(),\n );\n\nequals.autoRemove = (val: any) => !val;\n\nexport const notEquals = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter(\n (row) =>\n row.values[id].toString().toLowerCase().trim() !==\n filterValue.toString().toLowerCase().trim(),\n );\n\nnotEquals.autoRemove = (val: any) => !val;\n\nexport const greaterThan = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n !isNaN(+filterValue) && !isNaN(+row.values[id])\n ? +row.values[id] > +filterValue\n : row.values[id].toString().toLowerCase().trim() >\n filterValue.toString().toLowerCase().trim(),\n );\n\ngreaterThan.autoRemove = (val: any) => !val;\n\nexport const lessThan = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n !isNaN(+filterValue) && !isNaN(+row.values[id])\n ? +row.values[id] < +filterValue\n : row.values[id].toString().toLowerCase().trim() <\n filterValue.toString().toLowerCase().trim(),\n );\n\nlessThan.autoRemove = (val: any) => !val;\n\nexport const empty = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !row.values[id].toString().toLowerCase().trim());\n\nempty.autoRemove = (val: any) => !val;\n\nexport const notEmpty = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !!row.values[id].toString().toLowerCase().trim());\n\nnotEmpty.autoRemove = (val: any) => !val;\n\nexport const defaultFilterFNs = {\n bestMatch,\n bestMatchFirst,\n contains,\n empty,\n endsWith,\n equals,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n};\n","import React, { FC, useMemo } from 'react';\nimport { Menu, MenuItem } from '@mui/material';\nimport type { MRT_FilterType, MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FILTER_TYPE } from '../enums';\nimport {\n bestMatch,\n bestMatchFirst,\n contains,\n empty,\n endsWith,\n equals,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n} from '../filtersFNs';\n\nconst commonMenuItemStyles = {\n py: '6px',\n my: 0,\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header?: MRT_Header;\n onSelect?: () => void;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterTypeMenu: FC<Props> = ({\n anchorEl,\n header,\n onSelect,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enabledGlobalFilterTypes,\n localization,\n setCurrentFilterTypes,\n setCurrentGlobalFilterType,\n },\n } = tableInstance;\n\n const { isDensePadding, currentFilterTypes, currentGlobalFilterType } =\n getState();\n\n const filterTypes: {\n type: MRT_FILTER_TYPE;\n label: string;\n divider: boolean;\n fn: Function;\n }[] = useMemo(\n () =>\n [\n {\n type: MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n label: localization.filterBestMatchFirst,\n divider: false,\n fn: bestMatchFirst,\n },\n {\n type: MRT_FILTER_TYPE.BEST_MATCH,\n label: localization.filterBestMatch,\n divider: !!header,\n fn: bestMatch,\n },\n {\n type: MRT_FILTER_TYPE.CONTAINS,\n label: localization.filterContains,\n divider: false,\n fn: contains,\n },\n {\n type: MRT_FILTER_TYPE.STARTS_WITH,\n label: localization.filterStartsWith,\n divider: false,\n fn: startsWith,\n },\n {\n type: MRT_FILTER_TYPE.ENDS_WITH,\n label: localization.filterEndsWith,\n divider: true,\n fn: endsWith,\n },\n {\n type: MRT_FILTER_TYPE.EQUALS,\n label: localization.filterEquals,\n divider: false,\n fn: equals,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EQUALS,\n label: localization.filterNotEquals,\n divider: true,\n fn: notEquals,\n },\n {\n type: MRT_FILTER_TYPE.GREATER_THAN,\n label: localization.filterGreaterThan,\n divider: false,\n fn: greaterThan,\n },\n {\n type: MRT_FILTER_TYPE.LESS_THAN,\n label: localization.filterLessThan,\n divider: true,\n fn: lessThan,\n },\n {\n type: MRT_FILTER_TYPE.EMPTY,\n label: localization.filterEmpty,\n divider: false,\n fn: empty,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EMPTY,\n label: localization.filterNotEmpty,\n divider: false,\n fn: notEmpty,\n },\n ].filter((filterType) =>\n header\n ? !header.column.enabledFilterTypes ||\n header.column.enabledFilterTypes.includes(filterType.type)\n : (!enabledGlobalFilterTypes ||\n enabledGlobalFilterTypes.includes(filterType.type)) &&\n [\n MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n MRT_FILTER_TYPE.BEST_MATCH,\n ].includes(filterType.type),\n ),\n [],\n );\n\n const handleSelectFilterType = (value: MRT_FILTER_TYPE) => {\n if (header) {\n setCurrentFilterTypes((prev: { [key: string]: MRT_FilterType }) => ({\n ...prev,\n [header.id]: value,\n }));\n if ([MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {\n header.column.setColumnFilterValue(' ');\n }\n } else {\n setCurrentGlobalFilterType(value);\n }\n setAnchorEl(null);\n onSelect?.();\n };\n\n const filterType = !!header\n ? currentFilterTypes[header.id]\n : currentGlobalFilterType;\n\n return (\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'center', horizontal: 'right' }}\n onClose={() => setAnchorEl(null)}\n open={!!anchorEl}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {filterTypes.map(({ type, label, divider, fn }, index) => (\n <MenuItem\n divider={divider}\n key={index}\n onClick={() => handleSelectFilterType(type)}\n selected={type === filterType || fn === filterType}\n sx={commonMenuItemStyles}\n value={type}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { FormControlLabel, MenuItem, Switch } from '@mui/material';\nimport type { MRT_ColumnInstance, MRT_TableInstance } from '..';\nimport { commonMenuItemStyles } from './MRT_ColumnActionMenu';\n\ninterface Props {\n column: MRT_ColumnInstance;\n isSubMenu?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenuItems: FC<Props> = ({\n column,\n isSubMenu,\n tableInstance,\n}) => {\n const {\n getState,\n options: { onColumnHide },\n } = tableInstance;\n\n const { columnVisibility } = getState();\n\n const switchChecked =\n (column.columnDefType !== 'group' && column.getIsVisible()) ||\n (column.columnDefType === 'group' &&\n column.getLeafColumns().some((col) => col.getIsVisible()));\n\n const handleToggleColumnHidden = (column: MRT_ColumnInstance) => {\n if (column.columnDefType === 'group') {\n column?.columns?.forEach?.((childColumn: MRT_ColumnInstance) => {\n childColumn.toggleVisibility(!switchChecked);\n });\n } else {\n column.toggleVisibility();\n }\n onColumnHide?.({\n column,\n columnVisibility,\n tableInstance,\n });\n };\n\n return (\n <>\n <MenuItem\n sx={{ ...commonMenuItemStyles, pl: `${(column.depth + 0.5) * 2}rem` }}\n >\n <FormControlLabel\n componentsProps={{ typography: { sx: { marginBottom: 0 } } }}\n checked={switchChecked}\n control={<Switch />}\n disabled={\n (isSubMenu && switchChecked) || column.enableHiding === false\n }\n label={column.header}\n onChange={() => handleToggleColumnHidden(column)}\n />\n </MenuItem>\n {column.columns?.map((c: MRT_ColumnInstance, i) => (\n <MRT_ShowHideColumnsMenuItems\n key={`${i}-${c.id}`}\n column={c}\n isSubMenu={isSubMenu}\n tableInstance={tableInstance}\n />\n ))}\n </>\n );\n};\n","import React, { FC, useMemo } from 'react';\nimport { Button, Menu, Divider, Box } from '@mui/material';\nimport { MRT_ShowHideColumnsMenuItems } from './MRT_ShowHideColumnsMenuItems';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n isSubMenu?: boolean;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenu: FC<Props> = ({\n anchorEl,\n isSubMenu,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getAllColumns,\n getIsAllColumnsVisible,\n getIsSomeColumnsVisible,\n getIsSomeColumnsPinned,\n getState,\n toggleAllColumnsVisible,\n getAllLeafColumns,\n options: { localization },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const hideAllColumns = () => {\n getAllLeafColumns()\n .filter((col) => col.enableHiding !== false)\n .forEach((col) => col.toggleVisibility(false));\n };\n\n const allDisplayColumns = useMemo(\n () => getAllColumns().filter((col) => col.columnDefType === 'display'),\n [getAllColumns()],\n );\n\n const allDataColumns = useMemo(() => {\n const dataColumns = getAllColumns().filter(\n (col) => col.columnDefType !== 'display',\n );\n return getIsSomeColumnsPinned()\n ? [\n ...dataColumns.filter((c) => c.getIsPinned() === 'left'),\n ...dataColumns.filter((c) => c.getIsPinned() === false),\n ...dataColumns.filter((c) => c.getIsPinned() === 'right'),\n ]\n : dataColumns;\n }, [getAllColumns(), getState().columnPinning, getIsSomeColumnsPinned()]);\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: isSubMenu ? 'center' : 'space-between',\n p: '0.5rem',\n pt: 0,\n }}\n >\n {!isSubMenu && (\n <Button\n disabled={!getIsSomeColumnsVisible()}\n onClick={hideAllColumns}\n >\n {localization.hideAll}\n </Button>\n )}\n <Button\n disabled={getIsAllColumnsVisible()}\n onClick={() => toggleAllColumnsVisible(true)}\n >\n {localization.showAll}\n </Button>\n </Box>\n <Divider />\n {allDisplayColumns.map((column, index) => (\n <MRT_ShowHideColumnsMenuItems\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n tableInstance={tableInstance}\n />\n ))}\n <Divider />\n {allDataColumns.map((column, index) => (\n <MRT_ShowHideColumnsMenuItems\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n tableInstance={tableInstance}\n />\n ))}\n </Menu>\n );\n};\n","import React, { FC, useState } from 'react';\nimport { Box, IconButton, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterTypeMenu } from './MRT_FilterTypeMenu';\nimport { MRT_ShowHideColumnsMenu } from './MRT_ShowHideColumnsMenu';\n\nexport const commonMenuItemStyles = {\n py: '6px',\n my: 0,\n justifyContent: 'space-between',\n alignItems: 'center',\n};\n\nexport const commonListItemStyles = {\n display: 'flex',\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header: MRT_Header;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ColumnActionMenu: FC<Props> = ({\n anchorEl,\n header,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n toggleAllColumnsVisible,\n setColumnOrder,\n options: {\n enableColumnFilters,\n enableColumnPinning,\n enableGrouping,\n enableHiding,\n enableSorting,\n icons: {\n ArrowRightIcon,\n ClearAllIcon,\n ViewColumnIcon,\n DynamicFeedIcon,\n FilterListIcon,\n FilterListOffIcon,\n PushPinIcon,\n SortIcon,\n VisibilityOffIcon,\n },\n idPrefix,\n localization,\n setShowFilters,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const { isDensePadding, columnVisibility } = getState();\n\n const [filterMenuAnchorEl, setFilterMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const [showHideColumnsMenuAnchorEl, setShowHideColumnsMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const handleClearSort = () => {\n column.resetSorting();\n setAnchorEl(null);\n };\n\n const handleSortAsc = () => {\n column.toggleSorting(false);\n setAnchorEl(null);\n };\n\n const handleSortDesc = () => {\n column.toggleSorting(true);\n setAnchorEl(null);\n };\n\n const handleHideColumn = () => {\n column.toggleVisibility(false);\n setAnchorEl(null);\n };\n\n const handlePinColumn = (pinDirection: 'left' | 'right' | false) => {\n column.pin(pinDirection);\n };\n\n const handleGroupByColumn = () => {\n column.toggleGrouping();\n setColumnOrder((old) => ['mrt-expand', ...old]);\n setAnchorEl(null);\n };\n\n const handleClearFilter = () => {\n column.setColumnFilterValue('');\n setAnchorEl(null);\n };\n\n const handleFilterByColumn = () => {\n setShowFilters(true);\n setTimeout(\n () =>\n document\n .getElementById(\n // @ts-ignore\n header.muiTableHeadCellFilterTextFieldProps?.id ??\n `mrt-${idPrefix}-${header.id}-filter-text-field`,\n )\n ?.focus(),\n 200,\n );\n setAnchorEl(null);\n };\n\n const handleShowAllColumns = () => {\n toggleAllColumnsVisible(true);\n setAnchorEl(null);\n };\n\n const handleOpenFilterModeMenu = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setFilterMenuAnchorEl(event.currentTarget);\n };\n\n const handleOpenShowHideColumnsMenu = (\n event: React.MouseEvent<HTMLElement>,\n ) => {\n event.stopPropagation();\n setShowHideColumnsMenuAnchorEl(event.currentTarget);\n };\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableSorting &&\n column.getCanSort() && [\n <MenuItem\n disabled={!column.getIsSorted()}\n key={0}\n onClick={handleClearSort}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ClearAllIcon />\n </ListItemIcon>\n {localization.clearSort}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsSorted() === 'asc'}\n key={1}\n onClick={handleSortAsc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon />\n </ListItemIcon>\n {localization.sortByColumnAsc?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableColumnFilters || enableGrouping || enableHiding}\n key={2}\n disabled={column.getIsSorted() === 'desc'}\n onClick={handleSortDesc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon style={{ transform: 'rotate(180deg) scaleX(-1)' }} />\n </ListItemIcon>\n {localization.sortByColumnDesc?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnFilters &&\n column.getCanColumnFilter() && [\n <MenuItem\n disabled={!column.getColumnFilterValue()}\n key={0}\n onClick={handleClearFilter}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListOffIcon />\n </ListItemIcon>\n {localization.clearFilter}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableGrouping || enableHiding}\n key={1}\n onClick={handleFilterByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListIcon />\n </ListItemIcon>\n {localization.filterByColumn?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n {!column.filterSelectOptions && (\n <IconButton\n onClick={handleOpenFilterModeMenu}\n onMouseEnter={handleOpenFilterModeMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </MenuItem>,\n <MRT_FilterTypeMenu\n anchorEl={filterMenuAnchorEl}\n header={header}\n key={2}\n onSelect={handleFilterByColumn}\n setAnchorEl={setFilterMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n {enableGrouping &&\n column.getCanGroup() && [\n <MenuItem\n divider={enableColumnPinning}\n key={0}\n onClick={handleGroupByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <DynamicFeedIcon />\n </ListItemIcon>\n {localization[\n column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn'\n ]?.replace('{column}', String(column.header))}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnPinning &&\n column.getCanPin() && [\n <MenuItem\n disabled={column.getIsPinned() === 'left'}\n key={0}\n onClick={() => handlePinColumn('left')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(90deg)' }} />\n </ListItemIcon>\n {localization.pinToLeft}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsPinned() === 'right'}\n key={0}\n onClick={() => handlePinColumn('right')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(-90deg)' }} />\n </ListItemIcon>\n {localization.pinToRight}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={!column.getIsPinned()}\n divider={enableHiding}\n key={0}\n onClick={() => handlePinColumn(false)}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon />\n </ListItemIcon>\n {localization.unpin}\n </Box>\n </MenuItem>,\n ]}\n {enableHiding && [\n <MenuItem\n disabled={column.enableHiding === false}\n key={0}\n onClick={handleHideColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <VisibilityOffIcon />\n </ListItemIcon>\n {localization.hideColumn?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={\n !Object.values(columnVisibility).filter((visible) => !visible)\n .length\n }\n key={1}\n onClick={handleShowAllColumns}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ViewColumnIcon />\n </ListItemIcon>\n {localization.showAllColumns?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n <IconButton\n onClick={handleOpenShowHideColumnsMenu}\n onMouseEnter={handleOpenShowHideColumnsMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n </MenuItem>,\n <MRT_ShowHideColumnsMenu\n anchorEl={showHideColumnsMenuAnchorEl}\n isSubMenu\n key={2}\n setAnchorEl={setShowHideColumnsMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\nimport {\n commonListItemStyles,\n commonMenuItemStyles,\n} from './MRT_ColumnActionMenu';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n handleEdit: () => void;\n row: MRT_Row;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_RowActionMenu: FC<Props> = ({\n anchorEl,\n handleEdit,\n row,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { EditIcon },\n enableRowEditing,\n localization,\n renderRowActionMenuItems,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableRowEditing && (\n <MenuItem onClick={handleEdit} sx={commonMenuItemStyles}>\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <EditIcon />\n </ListItemIcon>\n {localization.edit}\n </Box>\n </MenuItem>\n )}\n {renderRowActionMenuItems?.({\n row,\n tableInstance,\n closeMenu: () => setAnchorEl(null),\n })}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, IconButton, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\nimport { RowValues } from '@tanstack/react-table';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditActionButtons: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { CancelIcon, SaveIcon },\n localization,\n onRowEditSubmit,\n setCurrentEditingRow,\n },\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const handleCancel = () => {\n row.values = (row.original as RowValues) ?? {};\n setCurrentEditingRow(null);\n };\n\n const handleSave = () => {\n onRowEditSubmit?.({ row: currentEditingRow ?? row, tableInstance });\n setCurrentEditingRow(null);\n };\n\n return (\n <Box sx={{ display: 'flex', gap: '0.75rem' }}>\n <Tooltip arrow title={localization.cancel}>\n <IconButton aria-label={localization.cancel} onClick={handleCancel}>\n <CancelIcon />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.save}>\n <IconButton\n aria-label={localization.save}\n color=\"info\"\n onClick={handleSave}\n >\n <SaveIcon />\n </IconButton>\n </Tooltip>\n </Box>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_RowActionMenu } from '../menus/MRT_RowActionMenu';\nimport { MRT_EditActionButtons } from './MRT_EditActionButtons';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\nconst commonIconButtonStyles = {\n height: '2rem',\n ml: '10px',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n};\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleRowActionMenuButton: FC<Props> = ({\n row,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enableRowEditing,\n icons: { EditIcon, MoreHorizIcon },\n localization,\n renderRowActionMenuItems,\n renderRowActions,\n setCurrentEditingRow,\n },\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleOpenRowActionMenu = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const handleEdit = () => {\n setCurrentEditingRow({ ...row });\n setAnchorEl(null);\n };\n\n return (\n <>\n {renderRowActions ? (\n <>{renderRowActions({ row, tableInstance })}</>\n ) : row.id === currentEditingRow?.id ? (\n <MRT_EditActionButtons row={row} tableInstance={tableInstance} />\n ) : !renderRowActionMenuItems && enableRowEditing ? (\n <Tooltip placement=\"right\" arrow title={localization.edit}>\n <IconButton sx={commonIconButtonStyles} onClick={handleEdit}>\n <EditIcon />\n </IconButton>\n </Tooltip>\n ) : renderRowActionMenuItems ? (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.rowActions}\n >\n <IconButton\n aria-label={localization.rowActions}\n onClick={handleOpenRowActionMenu}\n size=\"small\"\n sx={commonIconButtonStyles}\n >\n <MoreHorizIcon />\n </IconButton>\n </Tooltip>\n <MRT_RowActionMenu\n anchorEl={anchorEl}\n handleEdit={handleEdit}\n row={row}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n ) : null}\n </>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { Checkbox, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row?: MRT_Row;\n selectAll?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SelectCheckbox: FC<Props> = ({\n row,\n selectAll,\n tableInstance,\n}) => {\n const {\n getRowModel,\n getSelectedRowModel,\n getState,\n getToggleAllRowsSelectedProps,\n options: {\n isLoading,\n localization,\n muiSelectCheckboxProps,\n onSelectChange,\n onSelectAllChange,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleSelectChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (selectAll) {\n getToggleAllRowsSelectedProps?.()?.onChange?.(event as any);\n onSelectAllChange?.({\n event,\n selectedRows: event.target.checked ? getRowModel().flatRows : [],\n tableInstance,\n });\n } else if (row) {\n row?.getToggleSelectedProps()?.onChange?.(event as any);\n onSelectChange?.({\n event,\n row,\n selectedRows: event.target.checked\n ? [...getSelectedRowModel().flatRows, row]\n : getSelectedRowModel().flatRows.filter(\n (selectedRow) => selectedRow.id !== row.id,\n ),\n tableInstance,\n });\n }\n };\n\n const mTableBodyRowSelectCheckboxProps =\n muiSelectCheckboxProps instanceof Function\n ? muiSelectCheckboxProps({ isSelectAll: !!selectAll, row, tableInstance })\n : muiSelectCheckboxProps;\n\n const rtSelectCheckboxProps = selectAll\n ? getToggleAllRowsSelectedProps()\n : row?.getToggleSelectedProps();\n\n const checkboxProps = {\n ...rtSelectCheckboxProps,\n ...mTableBodyRowSelectCheckboxProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={\n selectAll ? localization.toggleSelectAll : localization.toggleSelectRow\n }\n >\n <Checkbox\n disabled={isLoading}\n inputProps={{\n 'aria-label': selectAll\n ? localization.toggleSelectAll\n : localization.toggleSelectRow,\n }}\n size={isDensePadding ? 'small' : 'medium'}\n {...checkboxProps}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n onChange={handleSelectChange}\n title={undefined}\n />\n </Tooltip>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Collapse,\n debounce,\n IconButton,\n InputAdornment,\n TextField,\n Tooltip,\n} from '@mui/material';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n setGlobalFilter,\n options: {\n icons: { SearchIcon, CloseIcon },\n idPrefix,\n localization,\n muiSearchTextFieldProps,\n onGlobalFilterChange,\n },\n } = tableInstance;\n\n const { globalFilter, showSearch } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [searchValue, setSearchValue] = useState(globalFilter ?? '');\n\n const handleChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n setGlobalFilter(event.target.value ?? undefined);\n onGlobalFilterChange?.({ event, tableInstance });\n }, 200),\n [],\n );\n\n const handleGlobalFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setSearchValue('');\n setGlobalFilter(undefined);\n };\n\n const textFieldProps =\n muiSearchTextFieldProps instanceof Function\n ? muiSearchTextFieldProps({ tableInstance })\n : muiSearchTextFieldProps;\n\n return (\n <Collapse in={showSearch} orientation=\"horizontal\">\n <TextField\n id={`mrt-${idPrefix}-search-text-field`}\n placeholder={localization.search}\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setSearchValue(event.target.value);\n handleChange(event);\n }}\n value={searchValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeSearchMode}>\n <span>\n <IconButton\n aria-label={localization.changeSearchMode}\n onClick={handleGlobalFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <SearchIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={localization.clearSearch}\n disabled={searchValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n title={localization.clearSearch}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{ justifySelf: 'end', ...textFieldProps?.sx }}\n />\n <MRT_FilterTypeMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FullScreenToggleButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FullscreenExitIcon, FullscreenIcon },\n localization,\n setIsFullScreen,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n return (\n <Tooltip arrow title={localization.toggleFullScreen}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={() => setIsFullScreen(!isFullScreen)}\n size=\"small\"\n {...rest}\n >\n {isFullScreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip, IconButtonProps } from '@mui/material';\nimport { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n options: {\n icons: { ViewColumnIcon },\n localization,\n },\n } = tableInstance;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n return (\n <>\n <Tooltip arrow title={localization.showHideColumns}>\n <IconButton\n aria-label={localization.showHideColumns}\n onClick={handleClick}\n size=\"small\"\n {...rest}\n >\n <ViewColumnIcon />\n </IconButton>\n </Tooltip>\n <MRT_ShowHideColumnsMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleDensePaddingButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { DensityMediumIcon, DensitySmallIcon },\n localization,\n setIsDensePadding,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Tooltip arrow title={localization.toggleDensePadding}>\n <IconButton\n aria-label={localization.toggleDensePadding}\n onClick={() => setIsDensePadding(!isDensePadding)}\n size=\"small\"\n {...rest}\n >\n {isDensePadding ? <DensitySmallIcon /> : <DensityMediumIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleFiltersButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, FilterListOffIcon },\n localization,\n setShowFilters,\n },\n } = tableInstance;\n\n const { showFilters } = getState();\n\n return (\n <Tooltip arrow title={localization.showHideFilters}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={() => setShowFilters(!showFilters)}\n size=\"small\"\n {...rest}\n >\n {showFilters ? <FilterListOffIcon /> : <FilterListIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleSearchButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { SearchIcon, SearchOffIcon },\n idPrefix,\n localization,\n muiSearchTextFieldProps,\n setShowSearch,\n },\n } = tableInstance;\n\n const { showSearch } = getState();\n\n const textFieldProps =\n muiSearchTextFieldProps instanceof Function\n ? muiSearchTextFieldProps({ tableInstance })\n : muiSearchTextFieldProps;\n\n const handleToggleSearch = () => {\n setShowSearch(!showSearch);\n setTimeout(\n () =>\n document\n .getElementById(\n textFieldProps?.id ?? `mrt-${idPrefix}-search-text-field`,\n )\n ?.focus(),\n 200,\n );\n };\n\n return (\n <Tooltip arrow title={localization.showHideSearch}>\n <IconButton size=\"small\" onClick={handleToggleSearch} {...rest}>\n {showSearch ? <SearchOffIcon /> : <SearchIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { Box } from '@mui/material';\nimport { MRT_FullScreenToggleButton } from '../buttons/MRT_FullScreenToggleButton';\nimport { MRT_ShowHideColumnsButton } from '../buttons/MRT_ShowHideColumnsButton';\nimport { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingButton';\nimport { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';\nimport { MRT_ToggleSearchButton } from '../buttons/MRT_ToggleSearchButton';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarInternalButtons: FC<Props> = ({ tableInstance }) => {\n const {\n options: {\n enableColumnFilters,\n enableHiding,\n enableDensePaddingToggle,\n enableGlobalFilter,\n enableFullScreenToggle,\n renderToolbarInternalActions,\n },\n } = tableInstance;\n\n if (renderToolbarInternalActions) {\n return (\n <>\n {renderToolbarInternalActions({\n MRT_FullScreenToggleButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_ToggleFiltersButton,\n MRT_ToggleSearchButton,\n tableInstance,\n })}\n </>\n );\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n gap: '0.5rem',\n alignItems: 'center',\n p: '0 0.5rem',\n }}\n >\n {enableGlobalFilter && (\n <MRT_ToggleSearchButton tableInstance={tableInstance} />\n )}\n {enableColumnFilters && (\n <MRT_ToggleFiltersButton tableInstance={tableInstance} />\n )}\n {enableHiding && (\n <MRT_ShowHideColumnsButton tableInstance={tableInstance} />\n )}\n {enableDensePaddingToggle && (\n <MRT_ToggleDensePaddingButton tableInstance={tableInstance} />\n )}\n {enableFullScreenToggle && (\n <MRT_FullScreenToggleButton tableInstance={tableInstance} />\n )}\n </Box>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { TablePagination } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePagination: FC<Props> = ({ tableInstance }) => {\n const {\n getPrePaginationRowModel,\n getState,\n setPageIndex,\n setPageSize,\n options: { muiTablePaginationProps },\n } = tableInstance;\n\n const {\n pagination: { pageSize = 10, pageIndex = 0 },\n } = getState();\n\n const tablePaginationProps =\n muiTablePaginationProps instanceof Function\n ? muiTablePaginationProps({ tableInstance })\n : muiTablePaginationProps;\n\n const handleChangeRowsPerPage = (event: ChangeEvent<HTMLInputElement>) => {\n setPageSize(+event.target.value);\n };\n\n const showFirstLastPageButtons =\n getPrePaginationRowModel().rows.length / pageSize > 2;\n\n return (\n <TablePagination\n SelectProps={{\n sx: { m: '0 1rem 0 1ch' },\n MenuProps: { MenuListProps: { disablePadding: true } },\n }}\n component=\"div\"\n count={getPrePaginationRowModel().rows.length}\n onPageChange={(_: any, newPage: number) => setPageIndex(newPage)}\n onRowsPerPageChange={handleChangeRowsPerPage}\n page={pageIndex}\n rowsPerPage={pageSize}\n rowsPerPageOptions={[5, 10, 15, 20, 25, 30, 50, 100]}\n showFirstButton={showFirstLastPageButtons}\n showLastButton={showFirstLastPageButtons}\n {...tablePaginationProps}\n sx={{\n m: '0 0.5rem',\n position: 'relative',\n zIndex: 2,\n ...tablePaginationProps?.sx,\n }}\n />\n );\n};\n","import React, { FC, Fragment } from 'react';\nimport { Alert, Box, Chip, Collapse, useMediaQuery } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarAlertBanner: FC<Props> = ({ tableInstance }) => {\n const {\n getPrePaginationRowModel,\n getSelectedRowModel,\n getState,\n toggleColumnGrouping,\n options: {\n localization,\n muiTableToolbarAlertBannerProps,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { grouping } = getState();\n\n const isMobile = useMediaQuery('(max-width:720px)');\n\n const alertProps =\n muiTableToolbarAlertBannerProps instanceof Function\n ? muiTableToolbarAlertBannerProps({ tableInstance })\n : muiTableToolbarAlertBannerProps;\n\n const selectMessage =\n getSelectedRowModel().rows.length > 0\n ? localization.selectedCountOfRowCountRowsSelected\n ?.replace(\n '{selectedCount}',\n getSelectedRowModel().rows.length.toString(),\n )\n ?.replace(\n '{rowCount}',\n getPrePaginationRowModel().rows.length.toString(),\n )\n : null;\n\n const groupedByMessage =\n grouping.length > 0 ? (\n <span>\n {localization.groupedBy}{' '}\n {grouping.map((columnId, index) => (\n <Fragment key={`${index}-${columnId}`}>\n {index > 0 ? localization.thenBy : ''}\n <Chip\n color=\"secondary\"\n label={\n tableInstance\n .getAllColumns()\n .find((column) => column.id === columnId)?.header\n }\n onDelete={() => toggleColumnGrouping(columnId)}\n />\n </Fragment>\n ))}\n </span>\n ) : null;\n\n const displayAbsolute = !(\n isMobile ||\n (positionToolbarAlertBanner === 'bottom' &&\n positionToolbarActions === 'bottom') ||\n (positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions)\n );\n\n return (\n <Collapse\n in={!!selectMessage || !!groupedByMessage}\n timeout={displayAbsolute ? 0 : 200}\n >\n <Alert\n color=\"info\"\n icon={false}\n sx={{\n borderRadius: 0,\n fontSize: '1rem',\n left: 0,\n p: 0,\n position: displayAbsolute ? 'absolute' : 'relative',\n right: 0,\n minHeight: '3.5rem',\n top: 0,\n width: '100%',\n zIndex: 2,\n ...alertProps?.sx,\n }}\n {...alertProps}\n >\n <Box sx={{ p: '0.5rem 1rem' }}>\n {selectMessage}\n <br />\n {groupedByMessage}\n </Box>\n </Alert>\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Collapse, LinearProgress } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_LinearProgressBar: FC<Props> = ({ tableInstance }) => {\n const {\n options: { muiLinearProgressProps, isReloading, isLoading },\n } = tableInstance;\n\n const linearProgressProps =\n muiLinearProgressProps instanceof Function\n ? muiLinearProgressProps({ tableInstance })\n : muiLinearProgressProps;\n\n return (\n <Collapse in={isReloading || isLoading} unmountOnExit>\n <LinearProgress\n aria-label=\"Loading\"\n aria-busy=\"true\"\n {...linearProgressProps}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Theme, Toolbar } from '@mui/material';\nimport { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { MRT_TableInstance } from '..';\n\nexport const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n display: 'grid',\n p: '0 !important',\n width: '100%',\n zIndex: 1,\n});\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n enableGlobalFilter,\n enablePagination,\n hideToolbarInternalActions,\n idPrefix,\n muiTableToolbarTopProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const toolbarProps =\n muiTableToolbarTopProps instanceof Function\n ? muiTableToolbarTopProps({ tableInstance })\n : muiTableToolbarTopProps;\n\n return (\n <Toolbar\n id={`mrt-${idPrefix}-toolbar-top`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n position: isFullScreen ? 'sticky' : undefined,\n top: isFullScreen ? '0' : undefined,\n ...commonToolbarStyles({ theme }),\n ...toolbarProps?.sx,\n } as any)\n }\n >\n {positionToolbarAlertBanner === 'top' && (\n <MRT_ToolbarAlertBanner tableInstance={tableInstance} />\n )}\n <Box\n sx={{\n p: '0.5rem',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n {renderToolbarCustomActions?.({ tableInstance }) ?? <span />}\n <Box\n sx={{\n display: 'flex',\n gap: '0.5rem',\n position: 'relative',\n zIndex: 3,\n }}\n >\n {enableGlobalFilter && (\n <MRT_SearchTextField tableInstance={tableInstance} />\n )}\n {!hideToolbarInternalActions && positionToolbarActions === 'top' && (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n )}\n </Box>\n </Box>\n <div>\n {enablePagination &&\n ['top', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </div>\n <MRT_LinearProgressBar tableInstance={tableInstance} />\n </Toolbar>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Toolbar } from '@mui/material';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { commonToolbarStyles } from './MRT_ToolbarTop';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n hideToolbarInternalActions,\n idPrefix,\n enablePagination,\n muiTableToolbarBottomProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const toolbarProps =\n muiTableToolbarBottomProps instanceof Function\n ? muiTableToolbarBottomProps({ tableInstance })\n : muiTableToolbarBottomProps;\n\n return (\n <Toolbar\n id={`mrt-${idPrefix}-toolbar-bottom`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n ...commonToolbarStyles({ theme }),\n bottom: isFullScreen ? '0' : undefined,\n position: isFullScreen ? 'fixed' : undefined,\n boxShadow: `-3px 0 6px ${alpha(theme.palette.common.black, 0.1)}`,\n ...toolbarProps?.sx,\n } as any)\n }\n >\n <MRT_LinearProgressBar tableInstance={tableInstance} />\n <Box\n sx={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}\n >\n {!hideToolbarInternalActions && positionToolbarActions === 'bottom' ? (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n ) : (\n <span />\n )}\n {positionToolbarAlertBanner === 'bottom' && (\n <MRT_ToolbarAlertBanner tableInstance={tableInstance} />\n )}\n {enablePagination &&\n ['bottom', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </Box>\n </Toolbar>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Chip,\n debounce,\n IconButton,\n InputAdornment,\n MenuItem,\n TextField,\n TextFieldProps,\n Tooltip,\n} from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\nimport { MRT_FILTER_TYPE } from '../enums';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterTextField: FC<Props> = ({ header, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, CloseIcon },\n idPrefix,\n localization,\n muiTableHeadCellFilterTextFieldProps,\n setCurrentFilterTypes,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const { currentFilterTypes } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const mTableHeadCellFilterTextFieldProps =\n muiTableHeadCellFilterTextFieldProps instanceof Function\n ? muiTableHeadCellFilterTextFieldProps({ column, tableInstance })\n : muiTableHeadCellFilterTextFieldProps;\n\n const mcTableHeadCellFilterTextFieldProps =\n column.muiTableHeadCellFilterTextFieldProps instanceof Function\n ? column.muiTableHeadCellFilterTextFieldProps({ column, tableInstance })\n : column.muiTableHeadCellFilterTextFieldProps;\n\n const textFieldProps = {\n ...mTableHeadCellFilterTextFieldProps,\n ...mcTableHeadCellFilterTextFieldProps,\n } as TextFieldProps;\n\n const [filterValue, setFilterValue] = useState<string>(\n (column.getColumnFilterValue() ?? '') as string,\n );\n\n const handleChange = useCallback(\n debounce(\n (event: ChangeEvent<HTMLInputElement>) =>\n column.setColumnFilterValue(event.target.value ?? undefined),\n 150,\n ),\n [],\n );\n\n const handleFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setFilterValue('');\n column.setColumnFilterValue(undefined);\n };\n\n const handleClearFilterChip = () => {\n setFilterValue('');\n column.setColumnFilterValue(undefined);\n setCurrentFilterTypes((prev) => ({\n ...prev,\n [header.id]: MRT_FILTER_TYPE.BEST_MATCH,\n }));\n };\n\n if (column.Filter) {\n return <>{column.Filter?.({ header, tableInstance })}</>;\n }\n\n const filterId = `mrt-${idPrefix}-${header.id}-filter-text-field`;\n const filterType = currentFilterTypes?.[header.id];\n const isSelectFilter = !!column.filterSelectOptions;\n const filterChipLabel =\n !(filterType instanceof Function) &&\n [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(\n filterType as MRT_FILTER_TYPE,\n )\n ? //@ts-ignore\n localization[\n `filter${filterType.charAt(0).toUpperCase() + filterType.slice(1)}`\n ]\n : '';\n const filterPlaceholder = localization.filterByColumn?.replace(\n '{column}',\n String(column.header),\n );\n\n return (\n <>\n <TextField\n fullWidth\n id={filterId}\n inputProps={{\n disabled: !!filterChipLabel,\n sx: {\n textOverflow: 'ellipsis',\n width: filterChipLabel ? 0 : undefined,\n },\n title: filterPlaceholder,\n }}\n helperText={\n <label htmlFor={filterId}>\n {filterType instanceof Function\n ? localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterType.name.charAt(0).toUpperCase() +\n filterType.name.slice(1)\n }`\n ] ?? '',\n ) ?? ''\n : localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterType.charAt(0).toUpperCase() + filterType.slice(1)\n }`\n ],\n )}\n </label>\n }\n FormHelperTextProps={{\n sx: { fontSize: '0.6rem', lineHeight: '0.8rem' },\n }}\n label={isSelectFilter && !filterValue ? filterPlaceholder : undefined}\n margin=\"none\"\n placeholder={\n filterPlaceholder\n // filterChipLabel || isSelectFilter ? undefined : filterPlaceholder\n }\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(event.target.value);\n handleChange(event);\n }}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n select={isSelectFilter}\n value={filterValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: !isSelectFilter && (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeFilterMode}>\n <span>\n <IconButton\n aria-label={localization.changeFilterMode}\n onClick={handleFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <FilterListIcon />\n </IconButton>\n </span>\n </Tooltip>\n {filterChipLabel && (\n <Chip\n onDelete={handleClearFilterChip}\n label={filterChipLabel}\n />\n )}\n </InputAdornment>\n ),\n endAdornment: !filterChipLabel && (\n <InputAdornment position=\"end\">\n <Tooltip\n arrow\n disableHoverListener={isSelectFilter}\n placement=\"right\"\n title={localization.clearFilter ?? ''}\n >\n <span>\n <IconButton\n aria-label={localization.clearFilter}\n disabled={!filterValue?.length}\n onClick={handleClear}\n size=\"small\"\n sx={{\n height: '1.75rem',\n width: '1.75rem',\n }}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{\n m: '-0.25rem',\n p: 0,\n minWidth: !filterChipLabel ? '5rem' : 'auto',\n width: 'calc(100% + 0.5rem)',\n mt: isSelectFilter && !filterValue ? '-1rem' : undefined,\n '&\t.MuiSelect-icon': {\n mr: '1.5rem',\n },\n ...textFieldProps?.sx,\n }}\n >\n {isSelectFilter && (\n <MenuItem divider disabled={!filterValue} value=\"\">\n {localization.clearFilter}\n </MenuItem>\n )}\n {column?.filterSelectOptions?.map((option) => {\n let value;\n let text;\n if (typeof option === 'string') {\n value = option;\n text = option;\n } else if (typeof option === 'object') {\n value = option.value;\n text = option.text;\n }\n return (\n <MenuItem key={value} value={value}>\n {text}\n </MenuItem>\n );\n })}\n </TextField>\n <MRT_FilterTypeMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleColumnActionMenuButton: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n options: {\n icons: { MoreVertIcon },\n localization,\n muiTableHeadCellColumnActionsButtonProps,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const mTableHeadCellColumnActionsButtonProps =\n muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? muiTableHeadCellColumnActionsButtonProps({ column, tableInstance })\n : muiTableHeadCellColumnActionsButtonProps;\n\n const mcTableHeadCellColumnActionsButtonProps =\n column.muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? column.muiTableHeadCellColumnActionsButtonProps({\n column,\n tableInstance,\n })\n : column.muiTableHeadCellColumnActionsButtonProps;\n\n const iconButtonProps = {\n ...mTableHeadCellColumnActionsButtonProps,\n ...mcTableHeadCellColumnActionsButtonProps,\n };\n\n return (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.columnActions}\n >\n <IconButton\n aria-label={localization.columnActions}\n onClick={handleClick}\n size=\"small\"\n {...iconButtonProps}\n sx={{\n height: '2rem',\n mr: '2px',\n mt: '-0.2rem',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n ...iconButtonProps.sx,\n }}\n >\n <MoreVertIcon />\n </IconButton>\n </Tooltip>\n <MRT_ColumnActionMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport {\n TableCell,\n TableSortLabel,\n Divider,\n Collapse,\n Tooltip,\n Box,\n IconButton,\n alpha,\n Theme,\n} from '@mui/material';\nimport { MRT_FilterTextField } from '../inputs/MRT_FilterTextField';\nimport { MRT_ToggleColumnActionMenuButton } from '../buttons/MRT_ToggleColumnActionMenuButton';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { ColumnResizerProps } from '@tanstack/react-table';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCell: FC<Props> = ({ header, tableInstance }) => {\n const {\n getState,\n options: {\n enableColumnActions,\n enableColumnFilters,\n enableColumnResizing,\n icons: { FilterAltIcon, FilterAltOff },\n localization,\n muiTableHeadCellProps,\n setShowFilters,\n },\n } = tableInstance;\n\n const { isDensePadding, showFilters } = getState();\n\n const { column } = header;\n\n const mTableHeadCellProps =\n muiTableHeadCellProps instanceof Function\n ? muiTableHeadCellProps({ column, tableInstance })\n : muiTableHeadCellProps;\n\n const mcTableHeadCellProps =\n column.muiTableHeadCellProps instanceof Function\n ? column.muiTableHeadCellProps({ column, tableInstance })\n : column.muiTableHeadCellProps;\n\n const tableCellProps = {\n ...header.getHeaderProps(),\n ...mTableHeadCellProps,\n ...mcTableHeadCellProps,\n };\n\n const sortTooltip = !!column.getIsSorted()\n ? column.getIsSorted() === 'desc'\n ? localization.clearSort\n : localization.sortByColumnDesc.replace('{column}', column.header)\n : localization.sortByColumnAsc.replace('{column}', column.header);\n\n const filterType = getState()?.currentFilterTypes?.[header.id];\n\n const filterTooltip = !!column.getColumnFilterValue()\n ? localization.filteringByColumn\n .replace('{column}', String(column.header))\n .replace(\n '{filterType}',\n filterType instanceof Function\n ? ''\n : // @ts-ignore\n localization[\n `filter${\n filterType.charAt(0).toUpperCase() + filterType.slice(1)\n }`\n ],\n )\n .replace('{filterValue}', column.getColumnFilterValue() as string)\n .replace('\" \"', '')\n : localization.showHideFilters;\n\n const headerElement =\n column?.Header?.({\n header,\n tableInstance,\n }) ?? column.header;\n\n return (\n <TableCell\n align={column.columnDefType === 'group' ? 'center' : 'left'}\n {...tableCellProps}\n //@ts-ignore\n sx={(theme: Theme) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n boxShadow: `3px 0 6px ${alpha(theme.palette.common.black, 0.1)}`,\n fontWeight: 'bold',\n height: '100%',\n minWidth: `max(${header.getWidth()}, 100px)`,\n p: isDensePadding\n ? column.columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : column.columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pt:\n column.columnDefType === 'display'\n ? 0\n : isDensePadding\n ? '0.75rem'\n : '1.25rem',\n pb: column.columnDefType === 'display' ? 0 : undefined,\n transition: `all ${enableColumnResizing ? 0 : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n width: header.getWidth(),\n //@ts-ignore\n ...tableCellProps?.sx,\n })}\n >\n {header.isPlaceholder ? null : column.columnDefType === 'display' ? (\n headerElement\n ) : (\n <Box\n sx={{\n alignItems: 'flex-start',\n display: 'flex',\n justifyContent:\n column.columnDefType === 'group' ? 'center' : 'space-between',\n width: '100%',\n }}\n >\n <Box\n {...column.getToggleSortingProps()}\n sx={{\n alignItems: 'center',\n cursor:\n column.getCanSort() && column.columnDefType !== 'group'\n ? 'pointer'\n : undefined,\n display: 'flex',\n flexWrap: 'nowrap',\n whiteSpace: column.header.length < 15 ? 'nowrap' : 'normal',\n }}\n title={undefined}\n >\n {headerElement}\n {column.columnDefType !== 'group' && column.getCanSort() && (\n <Tooltip arrow placement=\"top\" title={sortTooltip}>\n <TableSortLabel\n aria-label={sortTooltip}\n active={!!column.getIsSorted()}\n direction={\n column.getIsSorted()\n ? (column.getIsSorted() as 'asc' | 'desc')\n : undefined\n }\n />\n </Tooltip>\n )}\n {column.columnDefType !== 'group' &&\n enableColumnFilters &&\n !!column.getCanColumnFilter() && (\n <Tooltip arrow placement=\"top\" title={filterTooltip}>\n <IconButton\n disableRipple\n onClick={(event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n setShowFilters(!showFilters);\n }}\n size=\"small\"\n sx={{\n m: 0,\n opacity: !!column.getColumnFilterValue() ? 0.8 : 0,\n p: '2px',\n transition: 'all 0.2s ease-in-out',\n '&:hover': {\n backgroundColor: 'transparent',\n opacity: 0.8,\n },\n }}\n >\n {showFilters && !column.getColumnFilterValue() ? (\n <FilterAltOff fontSize=\"small\" />\n ) : (\n <FilterAltIcon fontSize=\"small\" />\n )}\n </IconButton>\n </Tooltip>\n )}\n </Box>\n <Box\n sx={{ alignItems: 'center', display: 'flex', flexWrap: 'nowrap' }}\n >\n {(enableColumnActions || column.enableColumnActions) &&\n column.enableColumnActions !== false &&\n column.columnDefType !== 'group' && (\n <MRT_ToggleColumnActionMenuButton\n header={header}\n tableInstance={tableInstance}\n />\n )}\n {enableColumnResizing && column.columnDefType !== 'group' && (\n <Divider\n flexItem\n orientation=\"vertical\"\n onDoubleClick={() => header.resetSize()}\n sx={(theme: Theme) => ({\n borderRightWidth: '2px',\n borderRadius: '2px',\n maxHeight: '2rem',\n cursor: 'col-resize',\n userSelect: 'none',\n touchAction: 'none',\n '&:active': {\n backgroundColor: theme.palette.secondary.dark,\n opacity: 1,\n },\n })}\n {...(header.getResizerProps((props: ColumnResizerProps) => ({\n ...props,\n style: {\n transform: column.getIsResizing()\n ? `translateX(${\n getState().columnSizingInfo.deltaOffset\n }px)`\n : '',\n },\n })) as any)}\n />\n )}\n </Box>\n </Box>\n )}\n {column.columnDefType === 'data' &&\n enableColumnFilters &&\n column.getCanColumnFilter() && (\n <Collapse in={showFilters}>\n <MRT_FilterTextField\n header={header}\n tableInstance={tableInstance}\n />\n </Collapse>\n )}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableHeadCell } from './MRT_TableHeadCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n headerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadRow: FC<Props> = ({ headerGroup, tableInstance }) => {\n const {\n options: { muiTableHeadRowProps },\n } = tableInstance;\n\n const mTableHeadRowProps =\n muiTableHeadRowProps instanceof Function\n ? muiTableHeadRowProps({ headerGroup, tableInstance })\n : muiTableHeadRowProps;\n\n const tableRowProps = {\n ...headerGroup?.getHeaderGroupProps(),\n ...mTableHeadRowProps,\n };\n\n return (\n <TableRow {...tableRowProps}>\n {headerGroup.headers.map((header: MRT_Header, index) => (\n <MRT_TableHeadCell\n header={header}\n key={header.id || index}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableHead } from '@mui/material';\nimport { MRT_TableHeadRow } from './MRT_TableHeadRow';\nimport type { MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHead: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getCenterHeaderGroups,\n getHeaderGroups,\n getLeftHeaderGroups,\n getRightHeaderGroups,\n options: { muiTableHeadProps },\n } = tableInstance;\n\n const tableHeadProps =\n muiTableHeadProps instanceof Function\n ? muiTableHeadProps({ tableInstance })\n : muiTableHeadProps;\n\n const getHeaderGroupsMap = {\n center: getCenterHeaderGroups,\n left: getLeftHeaderGroups,\n none: getHeaderGroups,\n right: getRightHeaderGroups,\n };\n\n return (\n <TableHead {...tableHeadProps}>\n {getHeaderGroupsMap[pinned]().map((headerGroup) => (\n <MRT_TableHeadRow\n headerGroup={headerGroup as MRT_HeaderGroup}\n key={headerGroup.getHeaderGroupProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableHead>\n );\n};\n","import React, { ChangeEvent, FC, MouseEvent } from 'react';\nimport { TextField } from '@mui/material';\nimport type { MRT_Cell, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {\n const {\n getState,\n options: { enableRowEditing, muiTableBodyCellEditTextFieldProps },\n } = tableInstance;\n\n const { column, row } = cell;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (getState().currentEditingRow) {\n row.values[column.id] = event.target.value;\n // setCurrentEditingRow({\n // ...getState().currentEditingRow,\n // });\n }\n column.onCellEditChange?.({ event, cell, tableInstance });\n };\n\n const mTableBodyCellEditTextFieldProps =\n muiTableBodyCellEditTextFieldProps instanceof Function\n ? muiTableBodyCellEditTextFieldProps({ cell, tableInstance })\n : muiTableBodyCellEditTextFieldProps;\n\n const mcTableBodyCellEditTextFieldProps =\n column.muiTableBodyCellEditTextFieldProps instanceof Function\n ? column.muiTableBodyCellEditTextFieldProps({ cell, tableInstance })\n : column.muiTableBodyCellEditTextFieldProps;\n\n const textFieldProps = {\n ...mTableBodyCellEditTextFieldProps,\n ...mcTableBodyCellEditTextFieldProps,\n };\n\n if (enableRowEditing && column.enableEditing !== false && column.Edit) {\n return <>{column.Edit?.({ cell, tableInstance })}</>;\n }\n\n return (\n <TextField\n margin=\"dense\"\n onChange={handleChange}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n placeholder={column.header}\n value={cell.value}\n variant=\"standard\"\n {...textFieldProps}\n />\n );\n};\n","import React, { FC, ReactNode, useState } from 'react';\nimport { Button, Tooltip } from '@mui/material';\nimport { MRT_Cell, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n children: ReactNode;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_CopyButton: FC<Props> = ({\n cell,\n children,\n tableInstance,\n}) => {\n const {\n options: { localization, muiTableBodyCellCopyButtonProps },\n } = tableInstance;\n\n const [copied, setCopied] = useState(false);\n\n const handleCopy = (text: unknown) => {\n navigator.clipboard.writeText(text as string);\n setCopied(true);\n setTimeout(() => setCopied(false), 4000);\n };\n\n const mTableBodyCellCopyButtonProps =\n muiTableBodyCellCopyButtonProps instanceof Function\n ? muiTableBodyCellCopyButtonProps({ cell, tableInstance })\n : muiTableBodyCellCopyButtonProps;\n\n const mcTableBodyCellCopyButtonProps =\n cell.column.muiTableBodyCellCopyButtonProps instanceof Function\n ? cell.column.muiTableBodyCellCopyButtonProps({ cell, tableInstance })\n : cell.column.muiTableBodyCellCopyButtonProps;\n\n const buttonProps = {\n ...mTableBodyCellCopyButtonProps,\n ...mcTableBodyCellCopyButtonProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={copied ? localization.copiedToClipboard : localization.clickToCopy}\n >\n <Button\n aria-label={localization.clickToCopy}\n onClick={() => handleCopy(cell.value)}\n size=\"small\"\n {...buttonProps}\n sx={{\n backgroundColor: 'transparent',\n border: 'none',\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n letterSpacing: 'inherit',\n m: '-0.25rem',\n minWidth: 'unset',\n textAlign: 'inherit',\n textTransform: 'inherit',\n ...buttonProps?.sx,\n }}\n variant=\"text\"\n >\n {children}\n </Button>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useMemo } from 'react';\nimport { Skeleton, TableCell } from '@mui/material';\nimport { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';\nimport type { MRT_Cell, MRT_TableInstance } from '..';\nimport { MRT_CopyButton } from '../buttons/MRT_CopyButton';\n\ninterface Props {\n cell: MRT_Cell;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyCell: FC<Props> = ({ cell, tableInstance }) => {\n const {\n getIsSomeColumnsPinned,\n getState,\n options: {\n enableClickToCopy,\n enableColumnPinning,\n isLoading,\n muiTableBodyCellProps,\n muiTableBodyCellSkeletonProps,\n onCellClick,\n },\n } = tableInstance;\n\n const { currentEditingRow, isDensePadding } = getState();\n\n const { column, row } = cell;\n\n const mTableCellBodyProps =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps({ cell, tableInstance })\n : muiTableBodyCellProps;\n\n const mcTableCellBodyProps =\n column.muiTableBodyCellProps instanceof Function\n ? column.muiTableBodyCellProps({ cell, tableInstance })\n : column.muiTableBodyCellProps;\n\n const tableCellProps = {\n ...cell.getCellProps(),\n ...mTableCellBodyProps,\n ...mcTableCellBodyProps,\n };\n\n const skeletonWidth = useMemo(\n () =>\n column.columnDefType === 'display'\n ? column.getWidth() / 2\n : Math.random() * (column.getWidth() - column.getWidth() / 3) +\n column.getWidth() / 3,\n [column.columnDefType, column.getWidth()],\n );\n\n return (\n <TableCell\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onCellClick?.({ event, cell, tableInstance })\n }\n {...tableCellProps}\n sx={{\n p: isDensePadding\n ? column.columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : column.columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pl:\n column.id === 'mrt-expand'\n ? `${row.depth + (isDensePadding ? 0.5 : 0.75)}rem`\n : undefined,\n transition: 'all 0.2s ease-in-out',\n whiteSpace:\n isDensePadding || (enableColumnPinning && getIsSomeColumnsPinned())\n ? 'nowrap'\n : 'normal',\n //@ts-ignore\n ...tableCellProps?.sx,\n }}\n >\n {isLoading ? (\n <Skeleton\n animation=\"wave\"\n height={20}\n width={skeletonWidth}\n {...muiTableBodyCellSkeletonProps}\n />\n ) : column.columnDefType === 'display' ? (\n column.Cell?.({ cell, tableInstance })\n ) : cell.getIsPlaceholder() ||\n (row.getIsGrouped() &&\n column.id !==\n row.groupingColumnId) ? null : cell.getIsAggregated() ? (\n cell.renderAggregatedCell()\n ) : column.enableEditing && currentEditingRow?.id === row.id ? (\n <MRT_EditCellTextField cell={cell} tableInstance={tableInstance} />\n ) : (enableClickToCopy || column.enableClickToCopy) &&\n column.enableClickToCopy !== false ? (\n <>\n <MRT_CopyButton cell={cell} tableInstance={tableInstance}>\n {cell.renderCell()}\n </MRT_CopyButton>\n {row.getIsGrouped() && <> ({row.subRows?.length})</>}\n </>\n ) : (\n <>\n {cell.renderCell()}\n {row.getIsGrouped() && <> ({row.subRows?.length})</>}\n </>\n )}\n </TableCell>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { Collapse, TableCell, TableRow } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableDetailPanel: FC<Props> = ({ row, tableInstance }) => {\n const {\n getVisibleFlatColumns,\n options: {\n muiTableBodyRowProps,\n muiTableDetailPanelProps,\n onDetailPanelClick,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const tableRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps({ row, tableInstance })\n : muiTableBodyRowProps;\n\n const tableCellProps =\n muiTableDetailPanelProps instanceof Function\n ? muiTableDetailPanelProps({ row, tableInstance })\n : muiTableDetailPanelProps;\n\n return (\n <TableRow {...tableRowProps}>\n <TableCell\n colSpan={getVisibleFlatColumns().length + 10}\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onDetailPanelClick?.({ event, row, tableInstance })\n }\n {...tableCellProps}\n sx={{\n borderBottom: !row.getIsExpanded() ? 'none' : undefined,\n pb: row.getIsExpanded() ? '1rem' : 0,\n pt: row.getIsExpanded() ? '1rem' : 0,\n transition: 'all 0.2s ease-in-out',\n ...tableCellProps?.sx,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n {renderDetailPanel?.({ row, tableInstance })}\n </Collapse>\n </TableCell>\n </TableRow>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableBodyCell } from './MRT_TableBodyCell';\nimport { MRT_TableDetailPanel } from './MRT_TableDetailPanel';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyRow: FC<Props> = ({ pinned, row, tableInstance }) => {\n const {\n options: { muiTableBodyRowProps, onRowClick, renderDetailPanel },\n } = tableInstance;\n\n const {\n getCenterVisibleCells,\n getIsGrouped,\n getIsSelected,\n getLeftVisibleCells,\n getRightVisibleCells,\n getRowProps,\n getVisibleCells,\n } = row;\n\n const mTableBodyRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps({ row, tableInstance })\n : muiTableBodyRowProps;\n\n const tableRowProps = {\n ...getRowProps(),\n ...mTableBodyRowProps,\n };\n\n const getVisibleCellsMap = {\n center: getCenterVisibleCells,\n left: getLeftVisibleCells,\n none: getVisibleCells,\n right: getRightVisibleCells,\n };\n\n return (\n <>\n <TableRow\n hover\n onClick={(event: MouseEvent<HTMLTableRowElement>) =>\n onRowClick?.({ event, row, tableInstance })\n }\n selected={getIsSelected()}\n {...tableRowProps}\n >\n {getVisibleCellsMap[pinned]().map((cell) => (\n <MRT_TableBodyCell\n cell={cell}\n key={cell.getCellProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n {renderDetailPanel && !getIsGrouped() && (\n <MRT_TableDetailPanel row={row} tableInstance={tableInstance} />\n )}\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { TableBody } from '@mui/material';\nimport { MRT_TableBodyRow } from './MRT_TableBodyRow';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBody: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getPaginationRowModel,\n getPrePaginationRowModel,\n getTableBodyProps,\n options: { enablePagination, muiTableBodyProps },\n } = tableInstance;\n\n const rows = enablePagination\n ? getPaginationRowModel().rows\n : getPrePaginationRowModel().rows;\n\n const mTableBodyProps =\n muiTableBodyProps instanceof Function\n ? muiTableBodyProps({ tableInstance })\n : muiTableBodyProps;\n\n const tableBodyProps = {\n ...getTableBodyProps(),\n ...mTableBodyProps,\n };\n\n return (\n <TableBody {...tableBodyProps}>\n {rows.map((row) => (\n <MRT_TableBodyRow\n key={row.getRowProps().key}\n pinned={pinned}\n row={row}\n tableInstance={tableInstance}\n />\n ))}\n </TableBody>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, TableCell } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n footer: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterCell: FC<Props> = ({ footer, tableInstance }) => {\n const {\n getState,\n options: { muiTableFooterCellProps, enableColumnResizing },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const { column } = footer;\n\n const mTableFooterCellProps =\n muiTableFooterCellProps instanceof Function\n ? muiTableFooterCellProps({ column, tableInstance })\n : muiTableFooterCellProps;\n\n const mcTableFooterCellProps =\n column.muiTableFooterCellProps instanceof Function\n ? column.muiTableFooterCellProps({ column, tableInstance })\n : column.muiTableFooterCellProps;\n\n const tableCellProps = {\n ...footer.getFooterProps(),\n ...mTableFooterCellProps,\n ...mcTableFooterCellProps,\n };\n\n return (\n <TableCell\n align={column.columnDefType === 'group' ? 'center' : 'left'}\n variant=\"head\"\n {...tableCellProps}\n //@ts-ignore\n sx={(theme) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n fontWeight: 'bold',\n p: isDensePadding ? '0.5rem' : '1rem',\n transition: `all ${enableColumnResizing ? '10ms' : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n //@ts-ignore\n ...tableCellProps?.sx,\n })}\n >\n {footer.isPlaceholder\n ? null\n : column.Footer?.({\n footer,\n tableInstance,\n }) ??\n column.footer ??\n null}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableFooterCell } from './MRT_TableFooterCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n footerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterRow: FC<Props> = ({\n footerGroup,\n tableInstance,\n}) => {\n const {\n options: { muiTableFooterRowProps },\n } = tableInstance;\n\n // if no content in row, skip row\n if (\n !footerGroup.headers?.some(\n (h) => h.column.columnDef.footer || h.column.Footer,\n )\n )\n return null;\n\n const mTableFooterRowProps =\n muiTableFooterRowProps instanceof Function\n ? muiTableFooterRowProps({ footerGroup, tableInstance })\n : muiTableFooterRowProps;\n\n const tableRowProps = {\n ...footerGroup.getFooterGroupProps(),\n ...mTableFooterRowProps,\n };\n\n return (\n <TableRow {...tableRowProps}>\n {footerGroup.headers.map((footer: MRT_Header) => (\n <MRT_TableFooterCell\n footer={footer}\n key={footer.getFooterProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableFooter } from '@mui/material';\nimport { MRT_TableFooterRow } from './MRT_TableFooterRow';\nimport type { MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooter: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getCenterFooterGroups,\n getFooterGroups,\n getLeftFooterGroups,\n getRightFooterGroups,\n options: { muiTableFooterProps },\n } = tableInstance;\n\n const tableFooterProps =\n muiTableFooterProps instanceof Function\n ? muiTableFooterProps({ tableInstance })\n : muiTableFooterProps;\n\n const getFooterGroupsMap = {\n center: getCenterFooterGroups,\n left: getLeftFooterGroups,\n none: getFooterGroups,\n right: getRightFooterGroups,\n };\n\n return (\n <TableFooter {...tableFooterProps}>\n {getFooterGroupsMap[pinned]().map((footerGroup) => (\n <MRT_TableFooterRow\n footerGroup={footerGroup as MRT_HeaderGroup}\n key={footerGroup.getFooterGroupProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableFooter>\n );\n};\n","import React, { FC } from 'react';\nimport { Table } from '@mui/material';\nimport { MRT_TableHead } from '../head/MRT_TableHead';\nimport { MRT_TableBody } from '../body/MRT_TableBody';\nimport { MRT_TableFooter } from '../footer/MRT_TableFooter';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_Table: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getTableProps,\n options: {\n enableStickyHeader,\n hideTableFooter,\n hideTableHead,\n muiTableProps,\n },\n } = tableInstance;\n\n const mTableProps =\n muiTableProps instanceof Function\n ? muiTableProps({ tableInstance })\n : muiTableProps;\n\n const tableProps = {\n ...getTableProps(),\n ...mTableProps,\n };\n\n return (\n <Table stickyHeader={enableStickyHeader} {...tableProps}>\n {!hideTableHead && (\n <MRT_TableHead pinned={pinned} tableInstance={tableInstance} />\n )}\n <MRT_TableBody pinned={pinned} tableInstance={tableInstance} />\n {!hideTableFooter && (\n <MRT_TableFooter pinned={pinned} tableInstance={tableInstance} />\n )}\n </Table>\n );\n};\n","import React, { FC, useLayoutEffect, useState } from 'react';\nimport { alpha, Box, TableContainer, Theme } from '@mui/material';\nimport { SystemStyleObject } from '@mui/material/node_modules/@mui/system';\nimport { MRT_TableInstance } from '..';\nimport { MRT_Table } from './MRT_Table';\n\nconst commonBoxStyles = ({\n pinned,\n theme,\n visible,\n}: {\n pinned?: 'left' | 'right';\n theme: Theme;\n visible?: boolean;\n}): SystemStyleObject<Theme> => ({\n display: 'grid',\n minWidth: visible ? '200px' : 0,\n overflowX: 'auto',\n boxShadow:\n pinned === 'left'\n ? `0 1px 12px ${alpha(theme.palette.common.black, 0.5)}`\n : pinned === 'right'\n ? `0 -1px 12px ${alpha(theme.palette.common.black, 0.5)}`\n : 'none',\n});\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableContainer: FC<Props> = ({ tableInstance }) => {\n const {\n getCenterTableWidth,\n getIsSomeColumnsPinned,\n getLeftTableWidth,\n getRightTableWidth,\n getState,\n options: {\n enableColumnPinning,\n enableStickyHeader,\n idPrefix,\n muiTableContainerProps,\n },\n } = tableInstance;\n\n const { isFullScreen, columnPinning } = getState();\n\n const [totalToolbarHeight, setTotalToolbarHeight] = useState(0);\n\n const tableContainerProps =\n muiTableContainerProps instanceof Function\n ? muiTableContainerProps({ tableInstance })\n : muiTableContainerProps;\n\n useLayoutEffect(() => {\n const topToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${idPrefix}-toolbar-top`)\n ?.offsetHeight ?? 0\n : 0;\n\n const bottomToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${idPrefix}-toolbar-bottom`)\n ?.offsetHeight ?? 0\n : 0;\n\n setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);\n });\n\n return (\n <TableContainer\n {...tableContainerProps}\n sx={{\n maxWidth: '100%',\n maxHeight: enableStickyHeader\n ? `clamp(350px, calc(100vh - ${totalToolbarHeight}px), 2000px)`\n : undefined,\n overflow: 'auto',\n ...tableContainerProps?.sx,\n }}\n style={{\n maxHeight: isFullScreen\n ? `calc(100vh - ${totalToolbarHeight}px)`\n : undefined,\n }}\n >\n {enableColumnPinning && getIsSomeColumnsPinned() ? (\n <Box\n sx={{\n display: 'grid',\n gridTemplateColumns: `${getLeftTableWidth()}fr ${getCenterTableWidth()}fr ${getRightTableWidth()}fr`,\n }}\n >\n <Box\n sx={(theme: Theme) =>\n commonBoxStyles({\n pinned: 'left',\n theme,\n visible: !!columnPinning.left?.length,\n })\n }\n >\n <MRT_Table pinned=\"left\" tableInstance={tableInstance} />\n </Box>\n <Box sx={(theme: Theme) => commonBoxStyles({ theme })}>\n <MRT_Table pinned=\"center\" tableInstance={tableInstance} />\n </Box>\n <Box\n sx={(theme: Theme) =>\n commonBoxStyles({\n pinned: 'right',\n theme,\n visible: !!columnPinning.right?.length,\n })\n }\n >\n <MRT_Table pinned=\"right\" tableInstance={tableInstance} />\n </Box>\n </Box>\n ) : (\n <MRT_Table pinned=\"none\" tableInstance={tableInstance} />\n )}\n </TableContainer>\n );\n};\n","import React, { FC, useEffect } from 'react';\nimport { Paper } from '@mui/material';\nimport { MRT_ToolbarTop } from '../toolbar/MRT_ToolbarTop';\nimport { MRT_ToolbarBottom } from '../toolbar/MRT_ToolbarBottom';\nimport { MRT_TableContainer } from './MRT_TableContainer';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePaper: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: { hideToolbarBottom, hideToolbarTop, muiTablePaperProps },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n if (isFullScreen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'auto';\n }\n }\n }, [isFullScreen]);\n\n const tablePaperProps =\n muiTablePaperProps instanceof Function\n ? muiTablePaperProps({ tableInstance })\n : muiTablePaperProps;\n\n return (\n <Paper\n elevation={2}\n {...tablePaperProps}\n sx={{\n transition: 'all 0.2s ease-in-out',\n ...tablePaperProps?.sx,\n }}\n style={{\n height: isFullScreen ? '100%' : undefined,\n left: isFullScreen ? '0' : undefined,\n margin: isFullScreen ? '0' : undefined,\n maxHeight: isFullScreen ? '100%' : undefined,\n maxWidth: isFullScreen ? '100%' : undefined,\n overflowY: !isFullScreen ? 'hidden' : undefined,\n position: isFullScreen ? 'fixed' : undefined,\n right: isFullScreen ? '0' : undefined,\n top: isFullScreen ? '0' : undefined,\n width: isFullScreen ? '100vw' : undefined,\n zIndex: isFullScreen ? 1200 : 1,\n bottom: isFullScreen ? '0' : undefined,\n }}\n >\n {!hideToolbarTop && <MRT_ToolbarTop tableInstance={tableInstance} />}\n <MRT_TableContainer tableInstance={tableInstance} />\n {!hideToolbarBottom && (\n <MRT_ToolbarBottom tableInstance={tableInstance} />\n )}\n </Paper>\n );\n};\n","import { ColumnDef, Table } from '@tanstack/react-table';\nimport { MRT_ColumnInterface, MRT_FilterType } from '.';\nimport { MRT_FILTER_TYPE } from './enums';\n\nexport const getAllLeafColumnDefs = (\n columns: MRT_ColumnInterface[],\n): MRT_ColumnInterface[] => {\n let lowestLevelColumns: MRT_ColumnInterface[] = columns;\n let currentCols: MRT_ColumnInterface[] | undefined = columns;\n while (!!currentCols?.length && currentCols.some((col) => col.columns)) {\n const nextCols: MRT_ColumnInterface[] = currentCols\n .filter((col) => !!col.columns)\n .map((col) => col.columns)\n .flat() as MRT_ColumnInterface[];\n if (nextCols.every((col) => !col?.columns)) {\n lowestLevelColumns = [...lowestLevelColumns, ...nextCols];\n }\n currentCols = nextCols;\n }\n return lowestLevelColumns.filter((col) => !col.columns);\n};\n\nexport const createGroup = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnInterface<D>,\n currentFilterTypes: { [key: string]: MRT_FilterType },\n): ColumnDef<D> =>\n table.createGroup({\n ...column,\n columns: column?.columns?.map?.((col) =>\n col.columns\n ? createGroup<D>(table, col, currentFilterTypes)\n : createDataColumn(table, col, currentFilterTypes),\n ),\n } as any);\n\nexport const createDataColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnInterface<D>,\n currentFilterTypes: { [key: string]: MRT_FilterType },\n): ColumnDef<D> => // @ts-ignore\n table.createDataColumn(column.id, {\n filterType: currentFilterTypes[column.id] || MRT_FILTER_TYPE.BEST_MATCH,\n ...column,\n }) as any;\n\nexport const createDisplayColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: Omit<MRT_ColumnInterface<D>, 'header'> & { header?: string },\n): ColumnDef<D> => table.createDisplayColumn(column);\n","import {\n columnFilterRowsFn,\n createTable,\n expandRowsFn,\n functionalUpdate,\n globalFilterRowsFn,\n groupRowsFn,\n paginateRowsFn,\n PaginationState,\n sortRowsFn,\n Table,\n useTable,\n} from '@tanstack/react-table';\nimport React, { useMemo, useState } from 'react';\nimport {\n MRT_ColumnInterface,\n MRT_FilterType,\n MRT_Row,\n MRT_TableInstance,\n} from '..';\nimport { MRT_ExpandAllButton } from '../buttons/MRT_ExpandAllButton';\nimport { MRT_ExpandButton } from '../buttons/MRT_ExpandButton';\nimport { MRT_ToggleRowActionMenuButton } from '../buttons/MRT_ToggleRowActionMenuButton';\nimport { MRT_SelectCheckbox } from '../inputs/MRT_SelectCheckbox';\nimport { MaterialReactTableProps } from '../MaterialReactTable';\nimport { MRT_TablePaper } from './MRT_TablePaper';\nimport {\n createDataColumn,\n createDisplayColumn,\n createGroup,\n getAllLeafColumnDefs,\n} from '../utils';\nimport { defaultFilterFNs } from '../filtersFNs';\nimport { MRT_FILTER_TYPE } from '../enums';\n\nexport const MRT_TableRoot = <D extends Record<string, any> = {}>(\n props: MaterialReactTableProps<D>,\n) => {\n const idPrefix = useMemo(\n () => props.idPrefix ?? Math.random().toString(36).substring(2, 9),\n [props.idPrefix],\n );\n const [currentEditingRow, setCurrentEditingRow] = useState<MRT_Row | null>(\n null,\n );\n const [isDensePadding, setIsDensePadding] = useState(\n props.initialState?.isDensePadding ?? false,\n );\n const [isFullScreen, setIsFullScreen] = useState(\n props.initialState?.isFullScreen ?? false,\n );\n const [showFilters, setShowFilters] = useState(\n props.initialState?.showFilters ?? false,\n );\n const [showSearch, setShowSearch] = useState(\n props.initialState?.showSearch ?? false,\n );\n\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: props.initialState?.pagination?.pageIndex ?? 0,\n pageSize: props.initialState?.pagination?.pageSize ?? 10,\n pageCount: props.initialState?.pagination?.pageCount ?? -1,\n });\n\n const [currentFilterTypes, setCurrentFilterTypes] = useState<{\n [key: string]: MRT_FilterType;\n }>(() =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnInterface[]).map(\n (c) => ({\n [c.id as string]:\n c.filter ??\n props?.initialState?.columnFilters?.[c.id as any] ??\n (!!c.filterSelectOptions?.length\n ? MRT_FILTER_TYPE.EQUALS\n : MRT_FILTER_TYPE.BEST_MATCH),\n }),\n ),\n ),\n );\n\n const [currentGlobalFilterType, setCurrentGlobalFilterType] = useState(\n props.globalFilterType ?? MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n );\n\n const table = useMemo(\n () => createTable<{ Row: D }>(),\n [],\n ) as unknown as Table<D>;\n\n const displayColumns = useMemo(\n () =>\n [\n (props.enableRowActions || props.enableRowEditing) &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ToggleRowActionMenuButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n header: props.localization?.actions,\n id: 'mrt-row-actions',\n maxWidth: 60,\n width: 60,\n }),\n (props.enableExpanded || props.enableGrouping) &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ExpandButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableExpandAll ? (\n <MRT_ExpandAllButton tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.expand,\n id: 'mrt-expand',\n maxWidth: 40,\n width: 40,\n }),\n props.enableRowSelection &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_SelectCheckbox\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableSelectAll ? (\n <MRT_SelectCheckbox selectAll tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.select,\n id: 'mrt-select',\n maxWidth: 40,\n width: 40,\n }),\n props.enableRowNumbers &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => cell.row.index + 1,\n Header: () => '#',\n header: props.localization?.rowNumbers,\n id: 'mrt-row-numbers',\n maxWidth: 40,\n width: 40,\n minWidth: 40,\n }),\n ].filter(Boolean),\n [\n props.enableExpandAll,\n props.enableExpanded,\n props.enableRowActions,\n props.enableRowEditing,\n props.enableRowNumbers,\n props.enableRowSelection,\n props.enableSelectAll,\n props.localization,\n ],\n );\n\n const columns = useMemo(\n () =>\n table.createColumns([\n ...displayColumns,\n ...props.columns.map((column) =>\n column.columns\n ? createGroup(table, column, currentFilterTypes)\n : createDataColumn(table, column, currentFilterTypes),\n ),\n ] as any),\n [table, props.columns, currentFilterTypes],\n );\n\n const data = useMemo(\n () =>\n props.isLoading && !props.data.length\n ? [...Array(10).fill(null)].map((_) =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(\n props.columns as MRT_ColumnInterface[],\n ).map((c) => ({\n [c.id]: null,\n })),\n ),\n )\n : props.data,\n [props.data, props.isLoading],\n );\n\n //@ts-ignore\n const tableInstance: MRT_TableInstance<{}> = useTable(table, {\n ...props,\n //@ts-ignore\n filterTypes: defaultFilterFNs,\n globalFilterType: currentGlobalFilterType,\n columnFilterRowsFn: columnFilterRowsFn,\n columns,\n data,\n expandRowsFn: expandRowsFn,\n getSubRows: props.getSubRows ?? ((originalRow: D) => originalRow.subRows),\n globalFilterRowsFn: globalFilterRowsFn,\n groupRowsFn: groupRowsFn,\n idPrefix,\n onPaginationChange: (updater: any) =>\n setPagination((old) => functionalUpdate(updater, old)),\n paginateRowsFn: paginateRowsFn,\n setCurrentEditingRow,\n setCurrentFilterTypes,\n setCurrentGlobalFilterType,\n setIsDensePadding,\n setIsFullScreen,\n setShowFilters,\n setShowSearch,\n sortRowsFn,\n state: {\n ...props.initialState,\n currentEditingRow,\n currentFilterTypes,\n currentGlobalFilterType,\n isDensePadding,\n isFullScreen,\n //@ts-ignore\n pagination,\n showFilters,\n showSearch,\n ...props.state,\n },\n });\n\n return <MRT_TablePaper tableInstance={tableInstance} />;\n};\n","import React, {\n ChangeEvent,\n Dispatch,\n FC,\n MouseEvent,\n ReactNode,\n SetStateAction,\n} from 'react';\nimport {\n AlertProps,\n ButtonProps,\n CheckboxProps,\n IconButtonProps,\n LinearProgressProps,\n PaperProps,\n SkeletonProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableFooterProps,\n TableHeadProps,\n TablePaginationProps,\n TableProps,\n TableRowProps,\n TextFieldProps,\n ToolbarProps,\n} from '@mui/material';\nimport {\n Cell,\n Column,\n ColumnDef,\n DefaultGenerics,\n FilterType,\n Header,\n HeaderGroup,\n Options,\n Overwrite,\n PaginationState,\n Row,\n TableInstance,\n TableState,\n VisibilityState,\n} from '@tanstack/react-table';\nimport { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';\nimport { MRT_Default_Icons, MRT_Icons } from './icons';\nimport { MRT_FILTER_TYPE } from './enums';\nimport { MRT_TableRoot } from './table/MRT_TableRoot';\n\nexport type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<\n Omit<\n Options<D>,\n 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'\n >\n> & {\n columns: MRT_ColumnInterface<D>[];\n data: D[];\n initialState?: Partial<MRT_TableState<D>>;\n state?: Partial<MRT_TableState<D>>;\n expandRowsFn?: (dataRow: D) => D[];\n};\n\nexport interface MRT_RowModel<D extends Record<string, any> = {}> {\n flatRows: MRT_Row<D>[];\n rows: MRT_Row<D>[];\n rowsById: { [key: string]: MRT_Row<D> };\n}\n\nexport type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<\n TableInstance<\n Overwrite<\n Partial<DefaultGenerics>,\n {\n Row: D;\n }\n >\n >,\n | 'getAllColumns'\n | 'getAllLeafColumns'\n | 'getExpandedRowModel'\n | 'getPaginationRowModel'\n | 'getPrePaginationRowModel'\n | 'getRowModel'\n | 'getSelectedRowModel'\n | 'getState'\n | 'options'\n> & {\n getAllColumns: () => MRT_ColumnInstance<D>[];\n getAllLeafColumns: () => MRT_ColumnInstance<D>[];\n getExpandedRowModel: () => MRT_RowModel<D>;\n getPaginationRowModel: () => MRT_RowModel<D>;\n getPrePaginationRowModel: () => MRT_RowModel<D>;\n getRowModel: () => MRT_RowModel<D>;\n getSelectedRowModel: () => MRT_RowModel<D>;\n getState: () => MRT_TableState<D>;\n options: MaterialReactTableProps<D> & {\n icons: MRT_Icons;\n idPrefix: string;\n filterTypes: { [key in MRT_FILTER_TYPE]: any };\n localization: MRT_Localization;\n setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row<D> | null>>;\n setCurrentFilterTypes: Dispatch<\n SetStateAction<{\n [key: string]: MRT_FilterType;\n }>\n >;\n setCurrentGlobalFilterType: Dispatch<SetStateAction<MRT_FILTER_TYPE>>;\n setIsDensePadding: Dispatch<SetStateAction<boolean>>;\n setIsFullScreen: Dispatch<SetStateAction<boolean>>;\n setShowFilters: Dispatch<SetStateAction<boolean>>;\n setShowSearch: Dispatch<SetStateAction<boolean>>;\n };\n};\n\nexport type MRT_TableState<D extends Record<string, any> = {}> = Omit<\n TableState,\n 'pagination'\n> & {\n currentEditingRow: MRT_Row<D> | null;\n currentFilterTypes: Record<string, string | Function>;\n currentGlobalFilterType: Record<string, string | Function>;\n isDensePadding: boolean;\n isFullScreen: boolean;\n showFilters: boolean;\n showSearch: boolean;\n pagination: Partial<PaginationState>;\n};\n\nexport type MRT_ColumnInterface<D extends Record<string, any> = {}> = Omit<\n ColumnDef<D>,\n 'header' | 'footer' | 'columns'\n> & {\n Edit?: ({\n cell,\n tableInstance,\n }: // onChange,\n {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n // onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n }) => ReactNode;\n Filter?: ({\n // onChange,\n header,\n tableInstance,\n }: {\n // onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Footer?: ({\n footer,\n tableInstance,\n }: {\n footer: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Header?: ({\n header,\n tableInstance,\n }: {\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Cell?: ({\n cell,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n id: keyof D | string;\n columns?: MRT_ColumnInterface<D>[];\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableEditing?: boolean;\n enabledFilterTypes?: (MRT_FILTER_TYPE | string)[];\n filter?: MRT_FilterType | string | FilterType<D>;\n filterSelectOptions?: (string | { text: string; value: string })[];\n footer?: string;\n header: string;\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TableCellProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TableCellProps);\n onCellEditChange?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onColumnFilterValueChange?: ({\n event,\n filterValue,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n filterValue: any;\n }) => void;\n};\n\nexport type MRT_ColumnInstance<D extends Record<string, any> = {}> = Omit<\n Column<D>,\n 'header' | 'footer' | 'columns'\n> &\n MRT_ColumnInterface<D> & {\n columns?: MRT_ColumnInstance<D>[];\n };\n\nexport type MRT_Header<D extends Record<string, any> = {}> = Omit<\n Header<D>,\n 'column'\n> & {\n column: MRT_ColumnInstance<D>;\n};\n\nexport type MRT_HeaderGroup<D extends Record<string, any> = {}> = Omit<\n HeaderGroup<D>,\n 'headers'\n> & {\n headers: MRT_Header<D>[];\n};\n\nexport type MRT_Row<D extends Record<string, any> = {}> = Omit<\n Row<D>,\n | 'getVisibleCells'\n | 'getAllCells'\n | 'subRows'\n | 'original'\n | 'getLeftVisibleCells'\n | 'getRightVisibleCells'\n | 'getCenterVisibleCells'\n> & {\n getAllCells: () => MRT_Cell<D>[];\n getCenterVisibleCells: () => MRT_Cell<D>[];\n getLeftVisibleCells: () => MRT_Cell<D>[];\n getRightVisibleCells: () => MRT_Cell<D>[];\n getVisibleCells: () => MRT_Cell<D>[];\n subRows?: MRT_Row<D>[];\n original: D;\n};\n\nexport type MRT_Cell<D extends Record<string, any> = {}> = Omit<\n Cell<D>,\n 'column' | 'row'\n> & {\n column: MRT_ColumnInstance<D>;\n row: MRT_Row<D>;\n};\n\nexport type MRT_FilterType = MRT_FILTER_TYPE | Function;\n\nexport type MaterialReactTableProps<D extends Record<string, any> = {}> =\n MRT_TableOptions<D> & {\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableColumnPinning?: boolean;\n enableDensePaddingToggle?: boolean;\n enableExpandAll?: boolean;\n enableFullScreenToggle?: boolean;\n enablePagination?: boolean;\n enableRowActions?: boolean;\n enableStickyHeader?: boolean;\n enableRowEditing?: boolean;\n enableRowNumbers?: boolean;\n enableSelectAll?: boolean;\n enabledGlobalFilterTypes?: (MRT_FILTER_TYPE | string)[];\n filterTypes?: { [key in MRT_FILTER_TYPE]: any };\n hideTableFooter?: boolean;\n hideTableHead?: boolean;\n hideToolbarBottom?: boolean;\n hideToolbarInternalActions?: boolean;\n hideToolbarTop?: boolean;\n icons?: Partial<MRT_Icons>;\n idPrefix?: string;\n isReloading?: boolean;\n isLoading?: boolean;\n localization?: Partial<MRT_Localization>;\n muiLinearProgressProps?:\n | LinearProgressProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => LinearProgressProps);\n muiSearchTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TextFieldProps);\n muiSelectCheckboxProps?:\n | CheckboxProps\n | (({\n tableInstance,\n isSelectAll,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n isSelectAll: boolean;\n row?: MRT_Row<D>;\n }) => CheckboxProps);\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TableCellProps);\n muiTableBodyCellSkeletonProps?:\n | SkeletonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => SkeletonProps);\n muiTableBodyProps?:\n | TableBodyProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableBodyProps);\n muiTableBodyRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n row: MRT_Row<D>;\n }) => TableRowProps);\n muiTableContainerProps?:\n | TableContainerProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableContainerProps);\n muiTableDetailPanelProps?:\n | TableCellProps\n | (({\n tableInstance,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n row: MRT_Row<D>;\n }) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TableCellProps);\n muiTableFooterProps?:\n | TableFooterProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableFooterProps);\n muiTableFooterRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n footerGroup,\n }: {\n tableInstance: MRT_TableInstance;\n footerGroup: MRT_HeaderGroup<D>;\n }) => TableRowProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TableCellProps);\n muiTableHeadProps?:\n | TableHeadProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableHeadProps);\n muiTableHeadRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n headerGroup,\n }: {\n tableInstance: MRT_TableInstance;\n headerGroup: MRT_HeaderGroup<D>;\n }) => TableRowProps);\n muiTablePaperProps?:\n | PaperProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => PaperProps);\n muiTablePaginationProps?:\n | Partial<TablePaginationProps>\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => Partial<TablePaginationProps>);\n muiTableProps?:\n | TableProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableProps);\n muiTableToolbarAlertBannerProps?:\n | AlertProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => AlertProps);\n muiTableToolbarBottomProps?:\n | ToolbarProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => ToolbarProps);\n muiTableToolbarTopProps?:\n | ToolbarProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => ToolbarProps);\n onCellClick?: ({\n cell,\n event,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n event: MouseEvent<HTMLTableCellElement>;\n }) => void;\n onColumnHide?: ({\n column,\n columnVisibility,\n tableInstance,\n }: {\n column: MRT_ColumnInstance<D>;\n columnVisibility: VisibilityState;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onDetailPanelClick?: ({\n event,\n row,\n tableInstance,\n }: {\n event: MouseEvent<HTMLTableCellElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onGlobalFilterChange?: ({\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onRowClick?: ({\n event,\n row,\n tableInstance,\n }: {\n event: MouseEvent<HTMLTableRowElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onRowEditSubmit?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => Promise<void> | void;\n onRowExpandChange?: ({\n event,\n row,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onSelectAllChange?: ({\n event,\n selectedRows,\n tableInstance,\n }: {\n event: ChangeEvent;\n selectedRows: MRT_Row<D>[];\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onSelectChange?: ({\n event,\n row,\n selectedRows,\n tableInstance,\n }: {\n event: ChangeEvent;\n row: MRT_Row<D>;\n selectedRows: MRT_Row<D>[];\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n positionActionsColumn?: 'first' | 'last';\n positionPagination?: 'bottom' | 'top' | 'both';\n positionToolbarActions?: 'bottom' | 'top';\n positionToolbarAlertBanner?: 'bottom' | 'top';\n renderDetailPanel?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderRowActionMenuItems?: ({\n closeMenu,\n row,\n tableInstance,\n }: {\n closeMenu: () => void;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode[];\n renderRowActions?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderToolbarCustomActions?: ({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderToolbarInternalActions?: ({\n tableInstance,\n MRT_ToggleSearchButton,\n MRT_ToggleFiltersButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_FullScreenToggleButton,\n }: {\n tableInstance: MRT_TableInstance<D>;\n MRT_ToggleSearchButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleFiltersButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ShowHideColumnsButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleDensePaddingButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_FullScreenToggleButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n }) => ReactNode;\n };\n\nexport default <D extends Record<string, any> = {}>({\n enableColumnActions = true,\n enableColumnFilters = true,\n enableDensePaddingToggle = true,\n enableExpandAll = true,\n enableFullScreenToggle = true,\n enableGlobalFilter = true,\n enableHiding = true,\n enablePagination = true,\n enableSelectAll = true,\n enableSorting = true,\n enableStickyHeader = true,\n filterTypes,\n icons,\n localization,\n positionActionsColumn = 'first',\n positionPagination = 'bottom',\n positionToolbarActions = 'top',\n positionToolbarAlertBanner = 'top',\n ...rest\n}: MaterialReactTableProps<D>) => (\n <MRT_TableRoot\n enableColumnActions={enableColumnActions}\n enableColumnFilters={enableColumnFilters}\n enableDensePaddingToggle={enableDensePaddingToggle}\n enableExpandAll={enableExpandAll}\n enableFullScreenToggle={enableFullScreenToggle}\n enableGlobalFilter={enableGlobalFilter}\n enableHiding={enableHiding}\n enablePagination={enablePagination}\n enableSelectAll={enableSelectAll}\n enableSorting={enableSorting}\n enableStickyHeader={enableStickyHeader}\n icons={{ ...MRT_Default_Icons, ...icons }}\n localization={{ ...MRT_DefaultLocalization_EN, ...localization }}\n positionActionsColumn={positionActionsColumn}\n positionPagination={positionPagination}\n positionToolbarActions={positionToolbarActions}\n positionToolbarAlertBanner={positionToolbarAlertBanner}\n {...rest}\n />\n);\n"],"names":["MRT_DefaultLocalization_EN","actions","cancel","changeFilterMode","changeSearchMode","clearFilter","clearSearch","clearSort","clickToCopy","columnActions","copiedToClipboard","edit","expand","expandAll","filterBestMatch","filterBestMatchFirst","filterByColumn","filterContains","filterEmpty","filterEndsWith","filterEquals","filterGreaterThan","filterLessThan","filterMode","filterNotEmpty","filterNotEquals","filterStartsWith","filteringByColumn","groupByColumn","groupedBy","hideAll","hideColumn","pinToLeft","pinToRight","rowActions","rowNumbers","save","search","selectedCountOfRowCountRowsSelected","select","showAll","showAllColumns","showHideColumns","showHideFilters","showHideSearch","sortByColumnAsc","sortByColumnDesc","thenBy","toggleDensePadding","toggleFullScreen","toggleSelectAll","toggleSelectRow","ungroupByColumn","unpin","MRT_Default_Icons","ArrowRightIcon","CancelIcon","CheckBoxIcon","ClearAllIcon","CloseIcon","DensityMediumIcon","DensitySmallIcon","DoubleArrowDownIcon","DynamicFeedIcon","EditIcon","ExpandLessIcon","ExpandMoreIcon","FilterAltIcon","FilterAltOff","FilterListIcon","FilterListOffIcon","FullscreenExitIcon","FullscreenIcon","MoreHorizIcon","MoreVertIcon","PushPinIcon","SaveIcon","SearchIcon","SearchOffIcon","SortIcon","ViewColumnIcon","VisibilityOffIcon","MRT_ExpandAllButton","tableInstance","getIsAllRowsExpanded","getIsSomeRowsExpanded","getState","options","icons","isLoading","localization","toggleAllRowsExpanded","isDensePadding","React","IconButton","disabled","title","onClick","sx","height","width","style","transform","transition","MRT_ExpandButton","row","onRowExpandChange","renderDetailPanel","handleToggleExpand","event","toggleExpanded","getCanExpand","getIsExpanded","MRT_FILTER_TYPE","bestMatchFirst","rows","columnIds","filterValue","matchSorter","toString","trim","keys","Array","isArray","map","c","autoRemove","val","bestMatch","sorter","rankedItems","contains","id","filter","values","toLowerCase","includes","startsWith","endsWith","equals","notEquals","greaterThan","isNaN","lessThan","empty","_filterValue","notEmpty","defaultFilterFNs","commonMenuItemStyles","py","my","alignItems","MRT_FilterTypeMenu","anchorEl","header","onSelect","setAnchorEl","enabledGlobalFilterTypes","setCurrentFilterTypes","setCurrentGlobalFilterType","currentFilterTypes","currentGlobalFilterType","filterTypes","useMemo","type","BEST_MATCH_FIRST","label","divider","fn","BEST_MATCH","CONTAINS","STARTS_WITH","ENDS_WITH","EQUALS","NOT_EQUALS","GREATER_THAN","LESS_THAN","EMPTY","NOT_EMPTY","filterType","column","enabledFilterTypes","handleSelectFilterType","value","prev","setColumnFilterValue","Menu","anchorOrigin","vertical","horizontal","onClose","open","MenuListProps","dense","index","MenuItem","key","selected","MRT_ShowHideColumnsMenuItems","isSubMenu","onColumnHide","columnVisibility","switchChecked","columnDefType","getIsVisible","getLeafColumns","some","col","handleToggleColumnHidden","columns","forEach","childColumn","toggleVisibility","pl","depth","FormControlLabel","componentsProps","typography","marginBottom","checked","control","Switch","enableHiding","onChange","i","MRT_ShowHideColumnsMenu","getAllColumns","getIsAllColumnsVisible","getIsSomeColumnsVisible","getIsSomeColumnsPinned","toggleAllColumnsVisible","getAllLeafColumns","hideAllColumns","allDisplayColumns","allDataColumns","dataColumns","getIsPinned","columnPinning","Box","display","justifyContent","p","pt","Button","Divider","commonListItemStyles","MRT_ColumnActionMenu","setColumnOrder","enableColumnFilters","enableColumnPinning","enableGrouping","enableSorting","idPrefix","setShowFilters","useState","filterMenuAnchorEl","setFilterMenuAnchorEl","showHideColumnsMenuAnchorEl","setShowHideColumnsMenuAnchorEl","handleClearSort","resetSorting","handleSortAsc","toggleSorting","handleSortDesc","handleHideColumn","handlePinColumn","pinDirection","pin","handleGroupByColumn","toggleGrouping","old","handleClearFilter","handleFilterByColumn","setTimeout","document","getElementById","muiTableHeadCellFilterTextFieldProps","focus","handleShowAllColumns","handleOpenFilterModeMenu","stopPropagation","currentTarget","handleOpenShowHideColumnsMenu","getCanSort","getIsSorted","ListItemIcon","replace","String","getCanColumnFilter","getColumnFilterValue","filterSelectOptions","onMouseEnter","size","getCanGroup","getIsGrouped","getCanPin","Object","visible","length","MRT_RowActionMenu","handleEdit","enableRowEditing","renderRowActionMenuItems","closeMenu","MRT_EditActionButtons","onRowEditSubmit","setCurrentEditingRow","currentEditingRow","handleCancel","original","handleSave","gap","Tooltip","arrow","color","commonIconButtonStyles","ml","opacity","MRT_ToggleRowActionMenuButton","renderRowActions","handleOpenRowActionMenu","preventDefault","placement","enterDelay","enterNextDelay","MRT_SelectCheckbox","selectAll","getRowModel","getSelectedRowModel","getToggleAllRowsSelectedProps","muiSelectCheckboxProps","onSelectChange","onSelectAllChange","handleSelectChange","selectedRows","target","flatRows","getToggleSelectedProps","selectedRow","mTableBodyRowSelectCheckboxProps","Function","isSelectAll","rtSelectCheckboxProps","checkboxProps","Checkbox","inputProps","undefined","MRT_SearchTextField","setGlobalFilter","muiSearchTextFieldProps","onGlobalFilterChange","globalFilter","showSearch","searchValue","setSearchValue","handleChange","useCallback","debounce","handleGlobalFilterMenuOpen","handleClear","textFieldProps","Collapse","orientation","TextField","placeholder","variant","InputProps","startAdornment","InputAdornment","position","fontSize","endAdornment","justifySelf","MRT_FullScreenToggleButton","rest","setIsFullScreen","isFullScreen","MRT_ShowHideColumnsButton","handleClick","MRT_ToggleDensePaddingButton","setIsDensePadding","MRT_ToggleFiltersButton","showFilters","MRT_ToggleSearchButton","setShowSearch","handleToggleSearch","MRT_ToolbarInternalButtons","enableDensePaddingToggle","enableGlobalFilter","enableFullScreenToggle","renderToolbarInternalActions","MRT_TablePagination","getPrePaginationRowModel","setPageIndex","setPageSize","muiTablePaginationProps","pagination","pageSize","pageIndex","tablePaginationProps","handleChangeRowsPerPage","showFirstLastPageButtons","TablePagination","SelectProps","m","MenuProps","disablePadding","component","count","onPageChange","_","newPage","onRowsPerPageChange","page","rowsPerPage","rowsPerPageOptions","showFirstButton","showLastButton","zIndex","MRT_ToolbarAlertBanner","toggleColumnGrouping","muiTableToolbarAlertBannerProps","positionToolbarActions","positionToolbarAlertBanner","renderToolbarCustomActions","grouping","isMobile","useMediaQuery","alertProps","selectMessage","groupedByMessage","columnId","Fragment","Chip","find","onDelete","displayAbsolute","timeout","Alert","icon","borderRadius","left","right","minHeight","top","MRT_LinearProgressBar","muiLinearProgressProps","isReloading","linearProgressProps","unmountOnExit","LinearProgress","commonToolbarStyles","theme","backgroundColor","palette","background","backgroundImage","alpha","common","white","MRT_ToolbarTop","enablePagination","hideToolbarInternalActions","muiTableToolbarTopProps","positionPagination","toolbarProps","Toolbar","MRT_ToolbarBottom","muiTableToolbarBottomProps","bottom","boxShadow","black","MRT_FilterTextField","mTableHeadCellFilterTextFieldProps","mcTableHeadCellFilterTextFieldProps","setFilterValue","handleFilterMenuOpen","handleClearFilterChip","Filter","filterId","isSelectFilter","filterChipLabel","charAt","toUpperCase","slice","filterPlaceholder","fullWidth","textOverflow","helperText","htmlFor","name","FormHelperTextProps","lineHeight","margin","e","disableHoverListener","minWidth","mt","mr","option","text","MRT_ToggleColumnActionMenuButton","muiTableHeadCellColumnActionsButtonProps","mTableHeadCellColumnActionsButtonProps","mcTableHeadCellColumnActionsButtonProps","iconButtonProps","MRT_TableHeadCell","enableColumnActions","enableColumnResizing","muiTableHeadCellProps","mTableHeadCellProps","mcTableHeadCellProps","tableCellProps","getHeaderProps","sortTooltip","filterTooltip","headerElement","Header","TableCell","align","fontWeight","getWidth","pb","verticalAlign","isPlaceholder","getToggleSortingProps","cursor","flexWrap","whiteSpace","TableSortLabel","active","direction","disableRipple","flexItem","onDoubleClick","resetSize","borderRightWidth","maxHeight","userSelect","touchAction","secondary","dark","getResizerProps","props","getIsResizing","columnSizingInfo","deltaOffset","MRT_TableHeadRow","headerGroup","muiTableHeadRowProps","mTableHeadRowProps","tableRowProps","getHeaderGroupProps","TableRow","headers","MRT_TableHead","pinned","getCenterHeaderGroups","getHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","muiTableHeadProps","tableHeadProps","getHeaderGroupsMap","center","none","TableHead","MRT_EditCellTextField","cell","muiTableBodyCellEditTextFieldProps","onCellEditChange","mTableBodyCellEditTextFieldProps","mcTableBodyCellEditTextFieldProps","enableEditing","Edit","MRT_CopyButton","children","muiTableBodyCellCopyButtonProps","copied","setCopied","handleCopy","navigator","clipboard","writeText","mTableBodyCellCopyButtonProps","mcTableBodyCellCopyButtonProps","buttonProps","border","fontFamily","letterSpacing","textAlign","textTransform","MRT_TableBodyCell","enableClickToCopy","muiTableBodyCellProps","muiTableBodyCellSkeletonProps","onCellClick","mTableCellBodyProps","mcTableCellBodyProps","getCellProps","skeletonWidth","Math","random","Skeleton","animation","Cell","getIsPlaceholder","groupingColumnId","getIsAggregated","renderAggregatedCell","renderCell","subRows","MRT_TableDetailPanel","getVisibleFlatColumns","muiTableBodyRowProps","muiTableDetailPanelProps","onDetailPanelClick","colSpan","borderBottom","MRT_TableBodyRow","onRowClick","getCenterVisibleCells","getIsSelected","getLeftVisibleCells","getRightVisibleCells","getRowProps","getVisibleCells","mTableBodyRowProps","getVisibleCellsMap","hover","MRT_TableBody","getPaginationRowModel","getTableBodyProps","muiTableBodyProps","mTableBodyProps","tableBodyProps","TableBody","MRT_TableFooterCell","footer","muiTableFooterCellProps","mTableFooterCellProps","mcTableFooterCellProps","getFooterProps","Footer","MRT_TableFooterRow","footerGroup","muiTableFooterRowProps","h","columnDef","mTableFooterRowProps","getFooterGroupProps","MRT_TableFooter","getCenterFooterGroups","getFooterGroups","getLeftFooterGroups","getRightFooterGroups","muiTableFooterProps","tableFooterProps","getFooterGroupsMap","TableFooter","MRT_Table","getTableProps","enableStickyHeader","hideTableFooter","hideTableHead","muiTableProps","mTableProps","tableProps","Table","stickyHeader","commonBoxStyles","overflowX","MRT_TableContainer","getCenterTableWidth","getLeftTableWidth","getRightTableWidth","muiTableContainerProps","totalToolbarHeight","setTotalToolbarHeight","tableContainerProps","useLayoutEffect","topToolbarHeight","offsetHeight","bottomToolbarHeight","TableContainer","maxWidth","overflow","gridTemplateColumns","MRT_TablePaper","hideToolbarBottom","hideToolbarTop","muiTablePaperProps","useEffect","window","body","tablePaperProps","Paper","elevation","overflowY","getAllLeafColumnDefs","lowestLevelColumns","currentCols","nextCols","flat","every","createGroup","table","createDataColumn","createDisplayColumn","MRT_TableRoot","substring","initialState","pageCount","setPagination","assign","columnFilters","globalFilterType","createTable","displayColumns","enableRowActions","enableExpanded","enableExpandAll","enableRowSelection","enableSelectAll","enableRowNumbers","Boolean","createColumns","data","fill","useTable","columnFilterRowsFn","expandRowsFn","getSubRows","originalRow","globalFilterRowsFn","groupRowsFn","onPaginationChange","updater","functionalUpdate","paginateRowsFn","sortRowsFn","state","positionActionsColumn"],"mappings":"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"}
|