material-react-table 0.5.6 → 0.5.9

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.
Files changed (57) hide show
  1. package/dist/MaterialReactTable.d.ts +8 -2
  2. package/dist/body/MRT_TableBodyCell.d.ts +1 -1
  3. package/dist/body/MRT_TableBodyRow.d.ts +1 -1
  4. package/dist/body/MRT_TableDetailPanel.d.ts +1 -1
  5. package/dist/buttons/MRT_EditActionButtons.d.ts +1 -1
  6. package/dist/buttons/MRT_ExpandButton.d.ts +1 -1
  7. package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +1 -1
  8. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +1 -1
  9. package/dist/enums.d.ts +12 -0
  10. package/dist/filtersFNs.d.ts +20 -0
  11. package/dist/footer/MRT_TableFooterCell.d.ts +1 -1
  12. package/dist/footer/MRT_TableFooterRow.d.ts +1 -1
  13. package/dist/head/MRT_TableHeadCell.d.ts +1 -1
  14. package/dist/head/MRT_TableHeadRow.d.ts +1 -1
  15. package/dist/inputs/MRT_EditCellTextField.d.ts +1 -1
  16. package/dist/inputs/MRT_FilterTextField.d.ts +1 -1
  17. package/dist/inputs/MRT_SelectCheckbox.d.ts +1 -1
  18. package/dist/localization.d.ts +3 -0
  19. package/dist/material-react-table.cjs.development.js +234 -68
  20. package/dist/material-react-table.cjs.development.js.map +1 -1
  21. package/dist/material-react-table.cjs.production.min.js +1 -1
  22. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  23. package/dist/material-react-table.esm.js +235 -69
  24. package/dist/material-react-table.esm.js.map +1 -1
  25. package/dist/menus/MRT_ColumnActionMenu.d.ts +12 -1
  26. package/dist/menus/MRT_FilterTypeMenu.d.ts +1 -1
  27. package/dist/menus/MRT_RowActionMenu.d.ts +1 -1
  28. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
  29. package/dist/useMRT.d.ts +1 -1
  30. package/package.json +3 -4
  31. package/src/MaterialReactTable.tsx +5 -9
  32. package/src/body/MRT_TableBody.tsx +1 -1
  33. package/src/body/MRT_TableBodyCell.tsx +1 -1
  34. package/src/body/MRT_TableBodyRow.tsx +1 -1
  35. package/src/body/MRT_TableDetailPanel.tsx +1 -1
  36. package/src/buttons/MRT_EditActionButtons.tsx +1 -1
  37. package/src/buttons/MRT_ExpandButton.tsx +1 -1
  38. package/src/buttons/MRT_ShowHideColumnsButton.tsx +1 -2
  39. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +2 -1
  40. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -1
  41. package/src/enums.ts +12 -0
  42. package/src/filtersFNs.ts +42 -0
  43. package/src/footer/MRT_TableFooter.tsx +1 -1
  44. package/src/footer/MRT_TableFooterCell.tsx +1 -1
  45. package/src/footer/MRT_TableFooterRow.tsx +1 -1
  46. package/src/head/MRT_TableHead.tsx +1 -1
  47. package/src/head/MRT_TableHeadCell.tsx +7 -16
  48. package/src/head/MRT_TableHeadRow.tsx +1 -1
  49. package/src/inputs/MRT_EditCellTextField.tsx +1 -1
  50. package/src/inputs/MRT_FilterTextField.tsx +70 -16
  51. package/src/inputs/MRT_SelectCheckbox.tsx +1 -1
  52. package/src/localization.ts +6 -0
  53. package/src/menus/MRT_ColumnActionMenu.tsx +51 -43
  54. package/src/menus/MRT_FilterTypeMenu.tsx +56 -16
  55. package/src/menus/MRT_RowActionMenu.tsx +6 -8
  56. package/src/menus/MRT_ShowHideColumnsMenu.tsx +6 -2
  57. package/src/useMRT.tsx +36 -14
@@ -1 +1 @@
1
- {"version":3,"file":"material-react-table.esm.js","sources":["../src/filtersFNs.ts","../src/useMRT.tsx","../src/menus/MRT_FilterTypeMenu.tsx","../src/inputs/MRT_FilterTextField.tsx","../src/menus/MRT_ColumnActionMenu.tsx","../src/buttons/MRT_ToggleColumnActionMenuButton.tsx","../src/head/MRT_TableHeadCell.tsx","../src/inputs/MRT_EditCellTextField.tsx","../src/body/MRT_TableBodyCell.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/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/menus/MRT_ShowHideColumnsMenu.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_ToolbarTop.tsx","../src/toolbar/MRT_ToolbarBottom.tsx","../src/table/MRT_TableContainer.tsx","../src/localization.ts","../src/icons.ts","../src/MaterialReactTable.tsx"],"sourcesContent":["import { matchSorter } from 'match-sorter';\nimport { MRT_Row } from '.';\n\nexport const fuzzyFilterFN = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: [`values.${id}`],\n sorter: (rankedItems) => rankedItems,\n });\n\nfuzzyFilterFN.autoRemove = (val: any) => !val;\n\nexport const containsFilterFN = (\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\ncontainsFilterFN.autoRemove = (val: any) => !val;\n\nexport const startsWithFilterFN = (\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\nstartsWithFilterFN.autoRemove = (val: any) => !val;\n\nexport const endsWithFilterFN = (\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\nendsWithFilterFN.autoRemove = (val: any) => !val;\n\nexport const equalsFilterFN = (\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\nequalsFilterFN.autoRemove = (val: any) => !val;\n\nexport const notEqualsFilterFN = (\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\nnotEqualsFilterFN.autoRemove = (val: any) => !val;\n\nexport const emptyFilterFN = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !row.values[id].toString().toLowerCase().trim());\n\nemptyFilterFN.autoRemove = (val: any) => !val;\n\nexport const notEmptyFilterFN = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !!row.values[id].toString().toLowerCase().trim());\n\nnotEmptyFilterFN.autoRemove = (val: any) => !val;\n\nexport const defaultFilterFNs = {\n contains: containsFilterFN,\n empty: emptyFilterFN,\n endsWith: endsWithFilterFN,\n equals: equalsFilterFN,\n fuzzy: fuzzyFilterFN,\n notEmpty: notEmptyFilterFN,\n notEquals: notEqualsFilterFN,\n startsWith: startsWithFilterFN,\n};\n","import React, {\n Context,\n PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n useState,\n Dispatch,\n SetStateAction,\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 { MRT_FilterType, MRT_Row, MRT_TableInstance } from '.';\nimport { defaultFilterFNs } from './filtersFNs';\nimport { MRT_Icons } from './icons';\nimport { MRT_Localization } from './localization';\nimport { MaterialReactTableProps } from './MaterialReactTable';\n\nexport type UseMRT<D extends {} = {}> = MaterialReactTableProps<D> & {\n anyRowsCanExpand: boolean;\n anyRowsExpanded: boolean;\n icons: MRT_Icons;\n idPrefix: string;\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 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 filterTypes = useMemo<Partial<{ [key in MRT_FilterType]: any }>>(\n () => ({\n ...defaultFilterFNs,\n ...props.filterTypes,\n }),\n [props.filterTypes],\n );\n\n const [currentFilterTypes, setCurrentFilterTypes] = useState<{\n [key: string]: MRT_FilterType;\n }>(() =>\n Object.assign(\n {},\n ...props.columns\n .map((c) => c.accessor?.toString() as string)\n .map((accessor) => ({\n [accessor]:\n props?.initialState?.filters?.[accessor as any] ?? 'fuzzy',\n })),\n ),\n );\n\n const columns = useMemo(\n () =>\n props.columns.map((column) => {\n column.filter =\n filterTypes[currentFilterTypes[column.accessor as string]];\n return column;\n }),\n [props.columns, filterTypes, currentFilterTypes],\n );\n\n const tableInstance = useTable(\n {\n ...props,\n columns,\n // @ts-ignore\n filterTypes,\n useControlledState: (state) =>\n useMemo(\n () => ({\n ...state,\n currentEditingRow,\n currentFilterTypes,\n densePadding,\n fullScreen,\n showFilters,\n showSearch,\n //@ts-ignore\n ...props?.useControlledState?.(state),\n }),\n [\n currentEditingRow,\n currentFilterTypes,\n densePadding,\n fullScreen,\n showFilters,\n showSearch,\n state,\n ],\n ),\n },\n ...hooks,\n ) 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 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 React, { FC, useMemo } from 'react';\nimport { Menu, MenuItem } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_FilterType, MRT_HeaderGroup } from '..';\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 { localization, setCurrentFilterTypes, tableInstance } = useMRT();\n\n const filterTypes: {\n type: MRT_FilterType;\n label: string;\n divider: boolean;\n }[] = useMemo(\n () => [\n {\n type: 'fuzzy',\n label: localization.filterMenuItemFuzzy,\n divider: false,\n },\n {\n type: 'contains',\n label: localization.filterMenuItemContains,\n divider: true,\n },\n {\n type: 'startsWith',\n label: localization.filterMenuItemStartsWith,\n divider: false,\n },\n {\n type: 'endsWith',\n label: localization.filterMenuItemEndsWith,\n divider: true,\n },\n {\n type: 'equals',\n label: localization.filterMenuItemEquals,\n divider: false,\n },\n {\n type: 'notEquals',\n label: localization.filterMenuItemNotEquals,\n divider: true,\n },\n {\n type: 'empty',\n label: localization.filterMenuItemEmpty,\n divider: false,\n },\n {\n type: 'notEmpty',\n label: localization.filterMenuItemNotEmpty,\n divider: false,\n },\n ],\n [],\n );\n\n const handleSelectFilterType = (value: MRT_FilterType) => {\n setAnchorEl(null);\n setCurrentFilterTypes((prev: { [key: string]: MRT_FilterType }) => ({\n ...prev,\n [column.id]: value,\n }));\n if (['empty', 'notEmpty'].includes(value)) {\n column.setFilter(' ');\n }\n onSelect?.();\n };\n\n const filterType = tableInstance.state.currentFilterTypes[column.id];\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 disablePadding: true,\n }}\n >\n {filterTypes.map(({ type, label, divider }) => (\n <MenuItem\n divider={divider}\n key={type}\n onClick={() => handleSelectFilterType(type)}\n selected={type === filterType}\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 TextField,\n TextFieldProps,\n Tooltip,\n} from '@mui/material';\nimport { useAsyncDebounce } from 'react-table';\nimport { useMRT } from '../useMRT';\nimport { MRT_HeaderGroup } from '..';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\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 style: {\n ...mTableHeadCellFilterTextFieldProps?.style,\n ...mcTableHeadCellFilterTextFieldProps?.style,\n },\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) => ({ ...prev, [column.id]: 'fuzzy' }));\n };\n\n if (column.Filter) {\n return <>{column.Filter?.({ column })}</>;\n }\n\n const filterType = tableInstance.state.currentFilterTypes[column.id];\n const filterChipLabel = ['empty', 'notEmpty'].includes(filterType);\n const filterPlaceholder = localization.filterTextFieldPlaceholder?.replace(\n '{column}',\n String(column.Header),\n );\n\n return (\n <>\n <TextField\n fullWidth\n id={`mrt-${idPrefix}-${column.id}-filter-text-field`}\n inputProps={{\n disabled: !!filterChipLabel,\n sx: {\n textOverflow: 'ellipsis',\n width: filterChipLabel ? 0 : undefined,\n },\n title: filterPlaceholder,\n }}\n margin=\"none\"\n placeholder={filterChipLabel ? '' : filterPlaceholder}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n handleChange(e.target.value);\n }}\n onClick={(e) => e.stopPropagation()}\n value={filterValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Tooltip arrow title=\"Change Filter Mode\">\n <IconButton\n onClick={handleFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <FilterListIcon />\n </IconButton>\n </Tooltip>\n {filterChipLabel && (\n <Chip onDelete={handleClearFilterChip} label={filterType} />\n )}\n </InputAdornment>\n ),\n endAdornment: !filterChipLabel && (\n <InputAdornment position=\"end\">\n <Tooltip\n arrow\n placement=\"right\"\n title={localization.filterTextFieldClearButtonTitle ?? ''}\n >\n <span>\n <IconButton\n aria-label={localization.filterTextFieldClearButtonTitle}\n disabled={filterValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{\n m: '0 -0.25rem',\n minWidth: !filterChipLabel ? '5rem' : 'auto',\n width: 'calc(100% + 0.5rem)',\n ...textFieldProps?.sx,\n }}\n />\n <MRT_FilterTypeMenu\n anchorEl={anchorEl}\n column={column}\n setAnchorEl={setAnchorEl}\n />\n </>\n );\n};\n","import React, { FC, useState } from 'react';\nimport {\n IconButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n} from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_HeaderGroup } from '..';\nimport { MRT_FilterTypeMenu } from './MRT_FilterTypeMenu';\n\nconst commonMenuItemStyles = {\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 DynamicFeedIcon,\n FilterListIcon,\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 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 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 handleOpenFilterModeMenu = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setFilterMenuAnchorEl(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 disablePadding: true,\n }}\n >\n {!disableSortBy &&\n column.canSort && [\n <MenuItem\n key={1}\n disabled={!column.isSorted}\n onClick={handleClearSort}\n sx={commonMenuItemStyles}\n >\n <ListItemIcon>\n <ClearAllIcon />\n </ListItemIcon>\n <ListItemText>\n {localization.columnActionMenuItemClearSort}\n </ListItemText>\n </MenuItem>,\n <MenuItem\n disabled={column.isSorted && !column.isSortedDesc}\n key={2}\n onClick={handleSortAsc}\n sx={commonMenuItemStyles}\n >\n <ListItemIcon>\n <SortIcon />\n </ListItemIcon>\n <ListItemText>\n {localization.columnActionMenuItemSortAsc?.replace(\n '{column}',\n String(column.Header),\n )}\n </ListItemText>\n </MenuItem>,\n <MenuItem\n divider={\n !disableFilters || enableColumnGrouping || !disableColumnHiding\n }\n key={3}\n disabled={column.isSorted && column.isSortedDesc}\n onClick={handleSortDesc}\n sx={commonMenuItemStyles}\n >\n <ListItemIcon>\n <SortIcon style={{ transform: 'rotate(180deg) scaleX(-1)' }} />\n </ListItemIcon>\n <ListItemText>\n {localization.columnActionMenuItemSortDesc?.replace(\n '{column}',\n String(column.Header),\n )}\n </ListItemText>\n </MenuItem>,\n ]}\n {!disableFilters &&\n column.canFilter && [\n <MenuItem\n divider={enableColumnGrouping || !disableColumnHiding}\n key={1}\n onClick={handleFilterByColumn}\n sx={commonMenuItemStyles}\n >\n <ListItemIcon>\n <FilterListIcon />\n </ListItemIcon>\n <ListItemText>\n {localization.filterTextFieldPlaceholder?.replace(\n '{column}',\n String(column.Header),\n )}\n </ListItemText>\n <IconButton\n onClick={handleOpenFilterModeMenu}\n onMouseEnter={handleOpenFilterModeMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\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={2}\n onClick={handleGroupByColumn}\n sx={commonMenuItemStyles}\n >\n <ListItemIcon>\n <DynamicFeedIcon />\n </ListItemIcon>\n <ListItemText>\n {localization[\n column.isGrouped\n ? 'columnActionMenuItemUnGroupBy'\n : 'columnActionMenuItemGroupBy'\n ]?.replace('{column}', String(column.Header))}\n </ListItemText>\n </MenuItem>,\n ]}\n {!disableColumnHiding && [\n <MenuItem key={1} onClick={handleHideColumn} sx={commonMenuItemStyles}>\n <ListItemIcon>\n <VisibilityOffIcon />\n </ListItemIcon>\n <ListItemText>\n {localization.columnActionMenuItemHideColumn?.replace(\n '{column}',\n String(column.Header),\n )}\n </ListItemText>\n </MenuItem>,\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 { MRT_HeaderGroup } from '..';\n\ninterface Props {\n column: MRT_HeaderGroup;\n}\n\nexport const MRT_ToggleColumnActionMenuButton: FC<Props> = ({ column }) => {\n const {\n localization,\n icons: { MoreVertIcon },\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 return (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.columnActionMenuButtonTitle}\n >\n <IconButton\n aria-label={localization.columnActionMenuButtonTitle}\n onClick={handleClick}\n size=\"small\"\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 }}\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, { 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 { MRT_HeaderGroup } from '..';\n\nexport const commonTableHeadCellStyles = (\n densePadding: boolean,\n enableColumnResizing?: boolean,\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});\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.columnActionMenuItemClearSort\n : localization.columnActionMenuItemSortDesc?.replace(\n '{column}',\n column.Header as string,\n )\n : localization.columnActionMenuItemSortAsc?.replace(\n '{column}',\n column.Header as string,\n );\n\n const filterTooltip = !!column.filterValue\n ? localization.filterApplied\n .replace('{column}', String(column.Header))\n .replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filterMenuItem${\n tableInstance.state.currentFilterTypes[column.id]\n .charAt(0)\n .toUpperCase() +\n tableInstance.state.currentFilterTypes[column.id].slice(1)\n }`\n ],\n )\n : localization.toggleFilterButtonTitle;\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 ...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 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 title={filterTooltip}>\n <IconButton\n onClick={(event) => {\n event.stopPropagation();\n setShowFilters(!tableInstance.state.showFilters);\n }}\n size=\"small\"\n sx={{\n opacity: !!column.filterValue ? 0.8 : 0,\n p: '2px',\n m: 0,\n transition: 'all 0.2s ease-in-out',\n '&:hover': {\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 && !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 { TextField } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { 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 style: {\n //@ts-ignore\n ...muiTableBodyCellEditTextFieldProps?.style,\n //@ts-ignore\n ...cell.column.muiTableBodyCellEditTextFieldProps?.style,\n },\n };\n\n if (cell.column.editable && 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, MouseEvent } from 'react';\nimport { Skeleton, TableCell, TableCellProps } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';\nimport { MRT_Cell } from '..';\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 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 ) : currentEditingRow?.id === cell.row.id ? (\n <MRT_EditCellTextField cell={cell} />\n ) : cell.isPlaceholder ? null : cell.isAggregated ? (\n cell.render('Aggregated')\n ) : cell.isGrouped ? (\n <span>\n {cell.render('Cell')} ({cell.row.subRows.length})\n </span>\n ) : (\n cell.render('Cell')\n )}\n </TableCell>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { Checkbox, TableCell, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_Row } from '..';\nimport { commonTableBodyButtonCellStyles } from '../body/MRT_TableBodyCell';\n\ninterface Props {\n row?: MRT_Row;\n selectAll?: boolean;\n}\n\nexport const MRT_SelectCheckbox: FC<Props> = ({ row, selectAll }) => {\n const { localization, onRowSelectChange, onSelectAllChange, tableInstance } =\n useMRT();\n\n const onSelectChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (selectAll) {\n tableInstance?.getToggleAllRowsSelectedProps?.()?.onChange?.(event);\n onSelectAllChange?.(event, tableInstance.selectedFlatRows);\n } else if (row) {\n row?.getToggleRowSelectedProps()?.onChange?.(event);\n onRowSelectChange?.(event, row, tableInstance.selectedFlatRows);\n }\n };\n\n const checkboxProps = selectAll\n ? tableInstance.getToggleAllRowsSelectedProps()\n : row?.getToggleRowSelectedProps();\n\n return (\n <TableCell\n sx={commonTableBodyButtonCellStyles(tableInstance.state.densePadding)}\n >\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={\n selectAll\n ? localization.selectAllCheckboxTitle\n : localization.selectCheckboxTitle\n }\n >\n <Checkbox\n inputProps={{\n 'aria-label': selectAll\n ? localization.selectAllCheckboxTitle\n : localization.selectCheckboxTitle,\n }}\n onChange={onSelectChange}\n {...checkboxProps}\n title={undefined}\n />\n </Tooltip>\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, TableCell } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { commonTableBodyButtonCellStyles } from '../body/MRT_TableBodyCell';\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 <TableCell\n size=\"small\"\n {...tableInstance.getToggleAllRowsExpandedProps()}\n sx={commonTableBodyButtonCellStyles(tableInstance.state.densePadding)}\n >\n <IconButton\n aria-label={localization.expandAllButtonTitle}\n title={localization.expandAllButtonTitle}\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 </TableCell>\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 mTableBodyCellrops =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps()\n : muiTableBodyCellProps;\n\n const tableCellProps = {\n ...mTableBodyCellrops,\n style: {\n ...mTableBodyCellrops?.style,\n },\n };\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={{ ...commonTableHeadCellStyles(densePadding), textAlign: 'center' }}\n >\n {localization.actionsHeadColumnTitle}\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 { 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 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 {enableRowNumbers &&\n (isParentHeader ? (\n <MRT_TableSpacerCell />\n ) : (\n <TableCell\n sx={{\n ...commonTableHeadCellStyles(tableInstance.state.densePadding),\n }}\n >\n #\n </TableCell>\n ))}\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'first' &&\n (isParentHeader ? (\n <MRT_TableSpacerCell />\n ) : (\n <MRT_TableHeadCellActions />\n ))}\n {anyRowsCanExpand || renderDetailPanel ? (\n !disableExpandAll && !isParentHeader ? (\n <MRT_ExpandAllButton />\n ) : (\n <MRT_TableSpacerCell\n width={`${\n renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5\n }rem`}\n />\n )\n ) : null}\n {enableSelection ? (\n !isParentHeader ? (\n <MRT_SelectCheckbox selectAll />\n ) : (\n <MRT_TableSpacerCell width=\"1rem\" />\n )\n ) : null}\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 { 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, { FC, MouseEvent } from 'react';\nimport { Collapse, TableCell, TableRow } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { 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 } from 'react';\nimport { IconButton, TableCell } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_Row } from '..';\nimport { commonTableBodyButtonCellStyles } from '../body/MRT_TableBodyCell';\n\ninterface Props {\n row: MRT_Row;\n}\n\nexport const MRT_ExpandButton: FC<Props> = ({ row }) => {\n const {\n icons: { ExpandMoreIcon },\n localization,\n renderDetailPanel,\n tableInstance: {\n state: { densePadding },\n },\n } = useMRT();\n\n return (\n <TableCell\n size=\"small\"\n sx={{\n ...commonTableBodyButtonCellStyles(densePadding),\n pl: `${row.depth + 0.5}rem`,\n textAlign: 'left',\n }}\n >\n <IconButton\n aria-label={localization.expandButtonTitle}\n disabled={!row.canExpand && !renderDetailPanel}\n title={localization.expandButtonTitle}\n {...row.getToggleRowExpandedProps()}\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 </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { ListItemIcon, ListItemText, Menu, MenuItem } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_Row } from '..';\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 disablePadding: true,\n }}\n >\n {enableRowEditing && (\n <MenuItem onClick={handleEdit}>\n <ListItemIcon>\n <EditIcon />\n </ListItemIcon>\n <ListItemText>{localization.rowActionMenuItemEdit}</ListItemText>\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 { 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.rowActionButtonCancel}>\n <IconButton\n aria-label={localization.rowActionButtonCancel}\n onClick={handleCancel}\n >\n <CancelIcon />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.rowActionButtonSave}>\n <IconButton\n aria-label={localization.rowActionButtonSave}\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 { 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\n placement=\"right\"\n arrow\n title={localization.rowActionMenuItemEdit}\n >\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.rowActionMenuButtonTitle}\n >\n <IconButton\n aria-label={localization.rowActionMenuButtonTitle}\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 { alpha, TableCell, TableRow } from '@mui/material';\nimport {\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 { 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 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 {...tableRowProps}\n sx={(theme) =>\n ({\n backgroundColor: row.isSelected\n ? alpha(theme.palette.primary.light, 0.1)\n : 'transparent',\n ...tableRowProps?.sx,\n } as any)\n }\n >\n {enableRowNumbers && (\n <TableCell sx={{ ...commonTableBodyCellStyles(densePadding) }}>\n {row.index + 1}\n </TableCell>\n )}\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'first' && (\n <MRT_ToggleRowActionMenuButton row={row} />\n )}\n {(anyRowsCanExpand || renderDetailPanel) && (\n <MRT_ExpandButton row={row} />\n )}\n {enableSelection && <MRT_SelectCheckbox row={row} />}\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 { 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={{ overflowY: 'hidden', ...tableBodyProps?.sx }}\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 { 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 { 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 { 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, useState } from 'react';\nimport { Collapse, IconButton, InputAdornment, TextField } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { useAsyncDebounce } from 'react-table';\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 [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 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.searchTextFieldPlaceholder}\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 <SearchIcon fontSize=\"small\" />\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={localization.searchTextFieldClearButtonTitle}\n disabled={searchValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n title={localization.searchTextFieldClearButtonTitle}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n {...muiSearchTextFieldProps}\n sx={{ justifySelf: 'end', ...muiSearchTextFieldProps?.sx }}\n />\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.toggleFullScreenButtonTitle}>\n <IconButton\n aria-label={localization.toggleFilterButtonTitle}\n onClick={() => setFullScreen(!fullScreen)}\n size=\"small\"\n {...rest}\n >\n {fullScreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { FormControlLabel, MenuItem, Switch } from '@mui/material';\nimport { ColumnInstance } from 'react-table';\nimport { MRT_ColumnInstance } from '..';\n\ninterface Props {\n column: MRT_ColumnInstance;\n}\n\nexport const MRT_ShowHideColumnsMenu: FC<Props> = ({ column }) => {\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 };\n\n return (\n <>\n <MenuItem sx={{ pl: `${(column.depth + 0.5) * 2}rem` }}>\n <FormControlLabel\n checked={switchChecked}\n control={<Switch />}\n label={column.Header as string}\n onChange={() => handleToggleColumnHidden(column)}\n />\n </MenuItem>\n {column.columns?.map((c: MRT_ColumnInstance, i) => (\n <MRT_ShowHideColumnsMenu key={`${i}-${c.id}`} column={c} />\n ))}\n </>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport {\n Button,\n IconButton,\n Menu,\n Tooltip,\n Divider,\n IconButtonProps,\n Box,\n} from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';\nimport { MRT_ColumnInstance } from '..';\n\ninterface Props extends IconButtonProps {}\n\nexport const MRT_ShowHideColumnsButton: FC<Props> = ({ ...rest }) => {\n const {\n icons: { ViewColumnIcon },\n localization,\n tableInstance,\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.showHideColumnsButtonTitle}>\n <IconButton\n aria-label={localization.showHideColumnsButtonTitle}\n onClick={handleClick}\n size=\"small\"\n {...rest}\n >\n <ViewColumnIcon />\n </IconButton>\n </Tooltip>\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: tableInstance.state.densePadding,\n disablePadding: true,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n p: '0.5rem',\n }}\n >\n <Button\n disabled={\n !tableInstance.getToggleHideAllColumnsProps().checked &&\n !tableInstance.getToggleHideAllColumnsProps().indeterminate\n }\n onClick={() => tableInstance.toggleHideAllColumns(true)}\n >\n {localization.columnShowHideMenuHideAll}\n </Button>\n <Button\n disabled={tableInstance.getToggleHideAllColumnsProps().checked}\n onClick={() => tableInstance.toggleHideAllColumns(false)}\n >\n {localization.columnShowHideMenuShowAll}\n </Button>\n </Box>\n <Divider />\n {tableInstance.columns.map((column: MRT_ColumnInstance, index) => (\n <MRT_ShowHideColumnsMenu\n key={`${index}-${column.id}`}\n column={column}\n />\n ))}\n </Menu>\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.toggleDensePaddingSwitchTitle}>\n <IconButton\n aria-label={localization.toggleDensePaddingSwitchTitle}\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.toggleFilterButtonTitle}>\n <IconButton\n aria-label={localization.toggleFilterButtonTitle}\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.toggleSearchButtonTitle}>\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 p: 0,\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.toolbarAlertSelectionMessage\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.toolbarAlertGroupedByMessage}{' '}\n {tableInstance.state.groupBy.map((columnId, index) => (\n <Fragment key={`${index}-${columnId}`}>\n {index > 0 ? localization.toolbarAlertGroupedThenByMessage : ''}\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 { alpha, Box, 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';\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 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 position: tableInstance.state.fullScreen ? 'sticky' : undefined,\n top: tableInstance.state.fullScreen ? '0' : undefined,\n width: '100%',\n zIndex: 1,\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 </Toolbar>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, 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';\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 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 bottom: tableInstance.state.fullScreen ? '0' : undefined,\n display: 'flex',\n justifyContent: 'space-between',\n overflowY: 'hidden',\n p: '0 0.5rem !important',\n position: tableInstance.state.fullScreen ? 'fixed' : undefined,\n width: 'calc(100% - 1rem)',\n zIndex: 1,\n ...toolbarProps?.sx,\n } as any)\n }\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 </Toolbar>\n );\n};\n","import React, { FC, useEffect, useRef } from 'react';\nimport {\n LinearProgress,\n Paper,\n TableContainer,\n Collapse,\n Box,\n} 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 isFetching,\n isLoading,\n muiLinearProgressProps,\n muiTableContainerProps,\n tableInstance,\n } = useMRT();\n const fullScreen = tableInstance.state.fullScreen;\n const originalBodyOverflowStyle = useRef<string | undefined>();\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n originalBodyOverflowStyle.current = document?.body?.style?.overflow;\n }\n }, []);\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n if (fullScreen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow =\n originalBodyOverflowStyle.current ?? 'auto';\n }\n }\n }, [fullScreen]);\n\n const tableContainerProps =\n muiTableContainerProps instanceof Function\n ? muiTableContainerProps(tableInstance)\n : muiTableContainerProps;\n\n const linearProgressProps =\n muiLinearProgressProps instanceof Function\n ? muiLinearProgressProps(tableInstance)\n : muiLinearProgressProps;\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 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 <Collapse in={isFetching || isLoading} unmountOnExit>\n <LinearProgress {...linearProgressProps} />\n </Collapse>\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 actionsHeadColumnTitle: string;\n columnActionMenuButtonTitle: string;\n columnActionMenuItemClearSort: string;\n columnActionMenuItemGroupBy: string;\n columnActionMenuItemHideColumn: string;\n columnActionMenuItemSortAsc: string;\n columnActionMenuItemSortDesc: string;\n columnActionMenuItemUnGroupBy: string;\n columnShowHideMenuHideAll: string;\n columnShowHideMenuShowAll: string;\n expandAllButtonTitle: string;\n expandButtonTitle: string;\n filterApplied: string;\n filterMenuItemContains: string;\n filterMenuItemEmpty: string;\n filterMenuItemEndsWith: string;\n filterMenuItemEquals: string;\n filterMenuItemFuzzy: string;\n filterMenuItemNotEmpty: string;\n filterMenuItemNotEquals: string;\n filterMenuItemStartsWith: string;\n filterMenuTitle: string;\n filterTextFieldChangeFilterButtonTitle: string;\n filterTextFieldChipLabelEmpty: string;\n filterTextFieldChipLabelNotEmpty: string;\n filterTextFieldClearButtonTitle: string;\n filterTextFieldPlaceholder: string;\n rowActionButtonCancel: string;\n rowActionButtonSave: string;\n rowActionMenuButtonTitle: string;\n rowActionMenuItemEdit: string;\n rowActionsColumnTitle: string;\n searchTextFieldClearButtonTitle: string;\n searchTextFieldPlaceholder: string;\n selectAllCheckboxTitle: string;\n selectCheckboxTitle: string;\n showHideColumnsButtonTitle: string;\n toggleDensePaddingSwitchTitle: string;\n toggleFilterButtonTitle: string;\n toggleFullScreenButtonTitle: string;\n toggleSearchButtonTitle: string;\n toolbarAlertGroupedByMessage: string;\n toolbarAlertGroupedThenByMessage: string;\n toolbarAlertSelectionMessage: string;\n}\n\nexport const MRT_DefaultLocalization_EN: MRT_Localization = {\n actionsHeadColumnTitle: 'Actions',\n columnActionMenuButtonTitle: 'Column Actions',\n columnActionMenuItemClearSort: 'Clear sort',\n columnActionMenuItemGroupBy: 'Group by {column}',\n columnActionMenuItemHideColumn: 'Hide {column} column',\n columnActionMenuItemSortAsc: 'Sort by {column} ascending',\n columnActionMenuItemSortDesc: 'Sort by {column} descending',\n columnActionMenuItemUnGroupBy: 'Ungroup by {column}',\n columnShowHideMenuHideAll: 'Hide all',\n columnShowHideMenuShowAll: 'Show all',\n expandAllButtonTitle: 'Expand all',\n expandButtonTitle: 'Expand',\n filterApplied: 'Filtering by {column} - ({filterType})',\n filterMenuItemContains: 'Contains Exact',\n filterMenuItemEmpty: 'Empty',\n filterMenuItemEndsWith: 'Ends With',\n filterMenuItemEquals: 'Equals',\n filterMenuItemFuzzy: 'Fuzzy Match (Default)',\n filterMenuItemNotEmpty: 'Not Empty',\n filterMenuItemNotEquals: 'Not Equals',\n filterMenuItemStartsWith: 'Starts With',\n filterMenuTitle: 'Filter Mode',\n filterTextFieldChangeFilterButtonTitle: 'Change Filter Mode',\n filterTextFieldChipLabelEmpty: 'Empty',\n filterTextFieldChipLabelNotEmpty: 'Not Empty',\n filterTextFieldClearButtonTitle: 'Clear filter',\n filterTextFieldPlaceholder: 'Filter by {column}',\n rowActionButtonCancel: 'Cancel',\n rowActionButtonSave: 'Save',\n rowActionMenuButtonTitle: 'Row Actions',\n rowActionMenuItemEdit: 'Edit',\n rowActionsColumnTitle: 'Actions',\n searchTextFieldClearButtonTitle: 'Clear search',\n searchTextFieldPlaceholder: 'Search',\n selectAllCheckboxTitle: 'Toggle select all',\n selectCheckboxTitle: 'Toggle select row',\n showHideColumnsButtonTitle: 'Show/Hide columns',\n toggleDensePaddingSwitchTitle: 'Toggle dense padding',\n toggleFilterButtonTitle: 'Show/Hide filters',\n toggleFullScreenButtonTitle: 'Toggle full screen',\n toggleSearchButtonTitle: 'Show/Hide search',\n toolbarAlertGroupedByMessage: 'Grouped by ',\n toolbarAlertGroupedThenByMessage: ', then by ',\n toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected',\n};\n","import ArrowRightIcon from '@mui/icons-material/ArrowRight';\nimport CancelIcon from '@mui/icons-material/Cancel';\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 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 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 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 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 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 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 // 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';\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: (Column<D> & 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 headerGroups: MRT_HeaderGroup<D>[];\n footerGroups: MRT_HeaderGroup<D>[];\n state: MRT_TableState<D>;\n rows: MRT_Row<D>[];\n page: MRT_Row<D>[];\n resetResizing: () => void;\n getToggleAllRowsExpandedProps: () => void;\n };\n\nexport type MRT_ColumnInterface<D extends {} = {}> =\n // 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 disableFilters?: boolean;\n editable?: boolean;\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 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 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\nexport type MRT_FilterType =\n | 'contains'\n | 'empty'\n | 'endsWith'\n | 'equals'\n | 'fuzzy'\n | 'notEmpty'\n | 'notEquals'\n | 'startsWith';\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 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 enableColumnGrouping?: boolean;\n enableColumnResizing?: boolean;\n enableRowActions?: boolean;\n enableRowEditing?: boolean;\n enableRowNumbers?: boolean;\n enableSelection?: boolean;\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 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 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>, visibleColumns: Column<D>[]) => 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 onRowSelectChange?: (\n event: ChangeEvent,\n row: Row<D>,\n selectedRows: Row<D>[],\n ) => void;\n onSelectAllChange?: (event: ChangeEvent, selectedRows: Row<D>[]) => 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 icons,\n localization,\n positionActionsColumn = 'first',\n positionPagination = 'bottom',\n positionToolbarActions = 'top',\n positionToolbarAlertBanner = 'top',\n ...rest\n}: MaterialReactTableProps<D>) => (\n <MaterialReactTableProvider\n defaultColumn={defaultColumn}\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":["fuzzyFilterFN","rows","id","filterValue","matchSorter","toString","trim","keys","sorter","rankedItems","autoRemove","val","containsFilterFN","filter","row","values","toLowerCase","includes","startsWithFilterFN","startsWith","endsWithFilterFN","endsWith","equalsFilterFN","notEqualsFilterFN","emptyFilterFN","_filterValue","notEmptyFilterFN","defaultFilterFNs","contains","empty","equals","fuzzy","notEmpty","notEquals","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","filterTypes","useMemo","Object","assign","columns","map","c","accessor","filters","currentFilterTypes","setCurrentFilterTypes","column","tableInstance","useTable","useControlledState","state","idPrefix","Math","random","substring","anyRowsCanExpand","some","canExpand","anyRowsExpanded","isExpanded","React","Provider","value","children","useMRT","useContext","MRT_FilterTypeMenu","anchorEl","onSelect","setAnchorEl","localization","type","label","filterMenuItemFuzzy","divider","filterMenuItemContains","filterMenuItemStartsWith","filterMenuItemEndsWith","filterMenuItemEquals","filterMenuItemNotEquals","filterMenuItemEmpty","filterMenuItemNotEmpty","handleSelectFilterType","prev","setFilter","filterType","Menu","anchorOrigin","vertical","horizontal","onClose","open","MenuListProps","dense","disablePadding","MenuItem","key","onClick","selected","MRT_FilterTextField","icons","FilterListIcon","CloseIcon","muiTableHeadCellFilterTextFieldProps","mTableHeadCellFilterTextFieldProps","Function","mcTableHeadCellFilterTextFieldProps","textFieldProps","style","setFilterValue","handleChange","useAsyncDebounce","undefined","handleFilterMenuOpen","event","currentTarget","handleClear","handleClearFilterChip","Filter","filterChipLabel","filterPlaceholder","filterTextFieldPlaceholder","replace","String","Header","TextField","fullWidth","inputProps","disabled","sx","textOverflow","width","title","margin","placeholder","onChange","e","target","stopPropagation","variant","InputProps","startAdornment","InputAdornment","position","Tooltip","arrow","IconButton","size","height","Chip","onDelete","endAdornment","placement","filterTextFieldClearButtonTitle","length","fontSize","m","minWidth","commonMenuItemStyles","display","alignItems","MRT_ColumnActionMenu","disableColumnHiding","disableFilters","disableSortBy","enableColumnGrouping","ArrowRightIcon","ClearAllIcon","DynamicFeedIcon","SortIcon","VisibilityOffIcon","filterMenuAnchorEl","setFilterMenuAnchorEl","handleClearSort","clearSortBy","handleSortAsc","toggleSortBy","handleSortDesc","handleHideColumn","toggleHidden","handleGroupByColumn","toggleGroupBy","handleFilterByColumn","setTimeout","document","getElementById","focus","handleOpenFilterModeMenu","canSort","isSorted","ListItemIcon","ListItemText","columnActionMenuItemClearSort","isSortedDesc","columnActionMenuItemSortAsc","transform","columnActionMenuItemSortDesc","canFilter","onMouseEnter","p","canGroupBy","isGrouped","columnActionMenuItemHideColumn","MRT_ToggleColumnActionMenuButton","MoreVertIcon","handleClick","preventDefault","enterDelay","enterNextDelay","columnActionMenuButtonTitle","mr","mt","opacity","transition","commonTableHeadCellStyles","fontWeight","pt","verticalAlign","MRT_TableHeadCell","disableColumnActions","FilterAltIcon","FilterAltOff","muiTableHeadCellProps","isParentHeader","mTableHeadCellProps","mcTableHeadCellProps","tableCellProps","getHeaderProps","sortTooltip","filterTooltip","filterApplied","charAt","toUpperCase","slice","toggleFilterButtonTitle","columnHeader","render","TableCell","align","Box","justifyContent","getSortByToggleProps","flexWrap","whiteSpace","TableSortLabel","active","direction","Divider","flexItem","orientation","onDoubleClick","resetResizing","getResizerProps","borderRightWidth","borderRadius","maxHeight","Collapse","MRT_EditCellTextField","cell","muiTableBodyCellEditTextFieldProps","onCellEditChange","mTableBodyCellEditTextFieldProps","mcTableBodyCellEditTextFieldProps","editable","Edit","commonTableBodyCellStyles","commonTableBodyButtonCellStyles","textAlign","MRT_TableBodyCell","isLoading","muiTableBodyCellProps","muiTableBodyCellSkeletonProps","onCellClick","mTableCellBodyProps","mcTableCellBodyProps","getCellProps","Skeleton","animation","isPlaceholder","isAggregated","subRows","MRT_SelectCheckbox","selectAll","onRowSelectChange","onSelectAllChange","onSelectChange","getToggleAllRowsSelectedProps","selectedFlatRows","getToggleRowSelectedProps","checkboxProps","selectAllCheckboxTitle","selectCheckboxTitle","Checkbox","MRT_ExpandAllButton","DoubleArrowDownIcon","getToggleAllRowsExpandedProps","expandAllButtonTitle","isAllRowsExpanded","MRT_TableSpacerCell","mTableBodyCellrops","MRT_TableHeadCellActions","actionsHeadColumnTitle","MRT_TableHeadRow","headerGroup","disableExpandAll","enableRowActions","enableRowEditing","enableRowNumbers","enableSelection","muiTableHeadRowProps","positionActionsColumn","renderDetailPanel","headers","h","mTableHeadRowProps","tableRowProps","getHeaderGroupProps","TableRow","expandedDepth","MRT_TableHead","muiTableHeadProps","tableHeadProps","TableHead","headerGroups","MRT_TableDetailPanel","muiTableBodyRowProps","muiTableDetailPanelProps","onDetailPanelClick","colSpan","visibleColumns","borderBottom","pb","MRT_ExpandButton","ExpandMoreIcon","pl","depth","expandButtonTitle","getToggleRowExpandedProps","MRT_RowActionMenu","handleEdit","EditIcon","renderRowActionMenuItems","rowActionMenuItemEdit","MRT_EditActionButtons","CancelIcon","SaveIcon","onRowEditSubmit","handleCancel","original","handleSave","gap","rowActionButtonCancel","rowActionButtonSave","color","commonIconButtonStyles","marginRight","MRT_ToggleRowActionMenuButton","MoreHorizIcon","renderRowActions","handleOpenRowActionMenu","rowActionMenuButtonTitle","MRT_TableBodyRow","onRowClick","mTableBodyRowProps","getRowProps","hover","theme","backgroundColor","isSelected","alpha","palette","primary","light","index","cells","MRT_TableBody","muiTableBodyProps","manualPagination","page","mTableBodyProps","tableBodyProps","getTableBodyProps","TableBody","overflowY","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","searchTextFieldPlaceholder","searchTextFieldClearButtonTitle","justifySelf","MRT_FullScreenToggleButton","rest","FullscreenExitIcon","FullscreenIcon","toggleFullScreenButtonTitle","MRT_ShowHideColumnsMenu","allChildColumnsVisible","every","childColumn","isVisible","switchChecked","handleToggleColumnHidden","forEach","FormControlLabel","checked","control","Switch","i","MRT_ShowHideColumnsButton","ViewColumnIcon","showHideColumnsButtonTitle","Button","getToggleHideAllColumnsProps","indeterminate","toggleHideAllColumns","columnShowHideMenuHideAll","columnShowHideMenuShowAll","MRT_ToggleDensePaddingButton","DensityMediumIcon","DensitySmallIcon","toggleDensePaddingSwitchTitle","MRT_ToggleFiltersButton","FilterListOffIcon","MRT_ToggleSearchButton","SearchOffIcon","handleToggleSearch","toggleSearchButtonTitle","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","toolbarAlertSelectionMessage","flatRows","groupedByMessage","groupBy","toolbarAlertGroupedByMessage","columnId","Fragment","toolbarAlertGroupedThenByMessage","allColumns","find","displayAbsolute","timeout","Alert","icon","left","right","minHeight","top","MRT_ToolbarTop","hideToolbarInternalActions","muiTableToolbarTopProps","positionPagination","toolbarProps","Toolbar","background","backgroundImage","common","white","MRT_ToolbarBottom","muiTableToolbarBottomProps","bottom","MRT_TableContainer","hideToolbarBottom","hideToolbarTop","isFetching","muiLinearProgressProps","muiTableContainerProps","originalBodyOverflowStyle","useRef","useEffect","window","current","body","overflow","tableContainerProps","linearProgressProps","TableContainer","Paper","unmountOnExit","LinearProgress","maxWidth","overflowX","MRT_DefaultLocalization_EN","columnActionMenuItemGroupBy","columnActionMenuItemUnGroupBy","filterMenuTitle","filterTextFieldChangeFilterButtonTitle","filterTextFieldChipLabelEmpty","filterTextFieldChipLabelNotEmpty","rowActionsColumnTitle","MRT_Default_Icons","ExpandLessIcon","defaultColumn"],"mappings":"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"}
1
+ {"version":3,"file":"material-react-table.esm.js","sources":["../src/filtersFNs.ts","../src/useMRT.tsx","../src/enums.ts","../src/menus/MRT_FilterTypeMenu.tsx","../src/inputs/MRT_FilterTextField.tsx","../src/menus/MRT_ColumnActionMenu.tsx","../src/buttons/MRT_ToggleColumnActionMenuButton.tsx","../src/head/MRT_TableHeadCell.tsx","../src/inputs/MRT_EditCellTextField.tsx","../src/body/MRT_TableBodyCell.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/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/menus/MRT_ShowHideColumnsMenu.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_ToolbarTop.tsx","../src/toolbar/MRT_ToolbarBottom.tsx","../src/table/MRT_TableContainer.tsx","../src/localization.ts","../src/icons.ts","../src/MaterialReactTable.tsx"],"sourcesContent":["import { matchSorter } from 'match-sorter';\nimport { MRT_Row } from '.';\n\nexport const fuzzySearchFN = (\n rows: MRT_Row[],\n columnIds: string[],\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: columnIds.map((c) => `values.${c}`),\n sorter: (rankedItems) => rankedItems,\n });\n\nfuzzySearchFN.autoRemove = (val: any) => !val;\n\nexport const fuzzyFilterFN = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: [`values.${id}`],\n sorter: (rankedItems) => rankedItems,\n });\n\nfuzzyFilterFN.autoRemove = (val: any) => !val;\n\nexport const containsFilterFN = (\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\ncontainsFilterFN.autoRemove = (val: any) => !val;\n\nexport const startsWithFilterFN = (\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\nstartsWithFilterFN.autoRemove = (val: any) => !val;\n\nexport const endsWithFilterFN = (\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\nendsWithFilterFN.autoRemove = (val: any) => !val;\n\nexport const equalsFilterFN = (\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\nequalsFilterFN.autoRemove = (val: any) => !val;\n\nexport const notEqualsFilterFN = (\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\nnotEqualsFilterFN.autoRemove = (val: any) => !val;\n\nexport const greaterThanFilterFN = (\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\ngreaterThanFilterFN.autoRemove = (val: any) => !val;\n\nexport const lessThanFilterFN = (\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\nlessThanFilterFN.autoRemove = (val: any) => !val;\n\nexport const emptyFilterFN = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !row.values[id].toString().toLowerCase().trim());\n\nemptyFilterFN.autoRemove = (val: any) => !val;\n\nexport const notEmptyFilterFN = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !!row.values[id].toString().toLowerCase().trim());\n\nnotEmptyFilterFN.autoRemove = (val: any) => !val;\n\nexport const defaultFilterFNs = {\n contains: containsFilterFN,\n empty: emptyFilterFN,\n endsWith: endsWithFilterFN,\n greaterThan: greaterThanFilterFN,\n lessThan: lessThanFilterFN,\n equals: equalsFilterFN,\n fuzzy: fuzzyFilterFN,\n notEmpty: notEmptyFilterFN,\n notEquals: notEqualsFilterFN,\n startsWith: startsWithFilterFN,\n};\n","import React, {\n Context,\n PropsWithChildren,\n createContext,\n useContext,\n useMemo,\n useState,\n Dispatch,\n SetStateAction,\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 { MRT_FilterType, MRT_Row, MRT_TableInstance } from '.';\nimport { MRT_FILTER_TYPE } from './enums';\nimport { defaultFilterFNs } from './filtersFNs';\nimport { MRT_Icons } from './icons';\nimport { MRT_Localization } from './localization';\nimport { MaterialReactTableProps } from './MaterialReactTable';\n\nexport type UseMRT<D extends {} = {}> = MaterialReactTableProps<D> & {\n anyRowsCanExpand: boolean;\n anyRowsExpanded: boolean;\n icons: MRT_Icons;\n idPrefix: string;\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 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 filterTypes = useMemo<{\n [key in MRT_FILTER_TYPE]: any;\n }>(\n () => ({\n ...defaultFilterFNs,\n ...props.filterTypes,\n }),\n [props.filterTypes],\n );\n\n const getInitialFilterTypeState = () => {\n let lowestLevelColumns: any[] = props.columns;\n let currentCols: any[] = props.columns;\n while (!!currentCols.length && currentCols.some((col) => col.columns)) {\n const nextCols = currentCols\n .filter((col) => !!col.columns)\n .map((col) => col.columns)\n .flat();\n if (nextCols.every((col) => !col.columns)) {\n lowestLevelColumns = [...lowestLevelColumns, ...nextCols];\n }\n currentCols = nextCols;\n }\n lowestLevelColumns = lowestLevelColumns.filter((col) => !col.columns);\n\n return Object.assign(\n {},\n ...lowestLevelColumns.map((c) => ({\n [c.accessor as string]:\n c.filter ??\n props?.initialState?.filters?.[c.accessor as any] ??\n (!!c.filterSelectOptions ? 'equals' : 'fuzzy'),\n })),\n );\n };\n\n const [currentFilterTypes, setCurrentFilterTypes] = useState<{\n [key: string]: MRT_FilterType;\n }>(() => getInitialFilterTypeState());\n\n const columns = useMemo(\n () =>\n props.columns.map((column) => {\n column.filter =\n filterTypes[\n currentFilterTypes[column.accessor as string] as MRT_FILTER_TYPE\n ];\n return column;\n }),\n [props.columns, filterTypes, currentFilterTypes],\n );\n\n const tableInstance = useTable(\n {\n ...props,\n columns,\n // @ts-ignore\n filterTypes,\n globalFilterValue: 'fuzzy',\n useControlledState: (state) =>\n useMemo(\n () => ({\n ...state,\n currentEditingRow,\n currentFilterTypes,\n densePadding,\n fullScreen,\n showFilters,\n showSearch,\n //@ts-ignore\n ...props?.useControlledState?.(state),\n }),\n [\n currentEditingRow,\n currentFilterTypes,\n densePadding,\n fullScreen,\n showFilters,\n showSearch,\n state,\n ],\n ),\n },\n ...hooks,\n ) 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 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","export enum MRT_FILTER_TYPE {\n CONTAINS = 'contains',\n EMPTY = 'empty',\n ENDS_WITH = 'endsWith',\n EQUALS = 'equals',\n FUZZY = 'fuzzy',\n GREATER_THAN = 'greaterThan',\n LESS_THAN = 'lessThan',\n NOT_EMPTY = 'notEmpty',\n NOT_EQUALS = 'notEquals',\n STARTS_WITH = '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 containsFilterFN,\n emptyFilterFN,\n endsWithFilterFN,\n equalsFilterFN,\n fuzzyFilterFN,\n greaterThanFilterFN,\n lessThanFilterFN,\n notEmptyFilterFN,\n notEqualsFilterFN,\n startsWithFilterFN,\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 { localization, setCurrentFilterTypes, tableInstance } = useMRT();\n\n const filterTypes: {\n type: MRT_FILTER_TYPE;\n label: string;\n divider: boolean;\n fn: Function;\n }[] = useMemo(\n () => [\n {\n type: MRT_FILTER_TYPE.FUZZY,\n label: localization.filterMenuItemFuzzy,\n divider: false,\n fn: fuzzyFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.CONTAINS,\n label: localization.filterMenuItemContains,\n divider: true,\n fn: containsFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.STARTS_WITH,\n label: localization.filterMenuItemStartsWith,\n divider: false,\n fn: startsWithFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.ENDS_WITH,\n label: localization.filterMenuItemEndsWith,\n divider: true,\n fn: endsWithFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.EQUALS,\n label: localization.filterMenuItemEquals,\n divider: false,\n fn: equalsFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EQUALS,\n label: localization.filterMenuItemNotEquals,\n divider: true,\n fn: notEqualsFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.GREATER_THAN,\n label: localization.filterMenuItemGreaterThan,\n divider: false,\n fn: greaterThanFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.LESS_THAN,\n label: localization.filterMenuItemLessThan,\n divider: true,\n fn: lessThanFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.EMPTY,\n label: localization.filterMenuItemEmpty,\n divider: false,\n fn: emptyFilterFN,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EMPTY,\n label: localization.filterMenuItemNotEmpty,\n divider: false,\n fn: notEmptyFilterFN,\n },\n ],\n [],\n );\n\n const handleSelectFilterType = (value: MRT_FILTER_TYPE) => {\n setAnchorEl(null);\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 onSelect?.();\n };\n\n const filterType = tableInstance.state.currentFilterTypes[column.id];\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 style: {\n ...mTableHeadCellFilterTextFieldProps?.style,\n ...mcTableHeadCellFilterTextFieldProps?.style,\n },\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.FUZZY,\n }));\n };\n\n if (column.Filter) {\n return <>{column.Filter?.({ column })}</>;\n }\n\n const filterType = tableInstance.state.currentFilterTypes[column.id];\n const isCustomFilterType = filterType instanceof Function;\n const isSelectFilter = !!column.filterSelectOptions;\n const filterChipLabel =\n !isCustomFilterType &&\n [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(\n filterType as MRT_FILTER_TYPE,\n );\n const filterPlaceholder = localization.filterTextFieldPlaceholder?.replace(\n '{column}',\n String(column.Header),\n );\n\n return (\n <>\n <TextField\n fullWidth\n id={`mrt-${idPrefix}-${column.id}-filter-text-field`}\n inputProps={{\n disabled: !!filterChipLabel,\n sx: {\n textOverflow: 'ellipsis',\n width: filterChipLabel ? 0 : undefined,\n },\n title: filterPlaceholder,\n }}\n label={isSelectFilter && !filterValue ? filterPlaceholder : undefined}\n InputLabelProps={{\n shrink: false,\n sx: {\n maxWidth: 'calc(100% - 2.5rem)',\n },\n title: filterPlaceholder,\n }}\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 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 onDelete={handleClearFilterChip} label={filterType} />\n )}\n </InputAdornment>\n ),\n endAdornment: !filterChipLabel && (\n <InputAdornment position=\"end\">\n <Tooltip\n arrow\n disableHoverListener={isSelectFilter}\n placement=\"right\"\n title={localization.filterTextFieldClearButtonTitle ?? ''}\n >\n <span>\n <IconButton\n aria-label={localization.filterTextFieldClearButtonTitle}\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 -0.25rem',\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.filterTextFieldClearButtonTitle}\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, useState } from 'react';\nimport { Box, IconButton, Menu, MenuItem } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_HeaderGroup } from '..';\nimport { MRT_FilterTypeMenu } from './MRT_FilterTypeMenu';\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 gap: '0.75rem',\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 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 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 handleOpenFilterModeMenu = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setFilterMenuAnchorEl(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={1}\n onClick={handleClearSort}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ClearAllIcon />\n {localization.columnActionMenuItemClearSort}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.isSorted && !column.isSortedDesc}\n key={2}\n onClick={handleSortAsc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <SortIcon />\n {localization.columnActionMenuItemSortAsc?.replace(\n '{column}',\n String(column.Header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={\n !disableFilters || enableColumnGrouping || !disableColumnHiding\n }\n key={3}\n disabled={column.isSorted && column.isSortedDesc}\n onClick={handleSortDesc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <SortIcon style={{ transform: 'rotate(180deg) scaleX(-1)' }} />\n {localization.columnActionMenuItemSortDesc?.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 <FilterListOffIcon />\n {localization.filterTextFieldClearButtonTitle}\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 <FilterListIcon />\n {localization.filterTextFieldPlaceholder?.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={2}\n onClick={handleGroupByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <DynamicFeedIcon />\n {localization[\n column.isGrouped\n ? 'columnActionMenuItemUnGroupBy'\n : 'columnActionMenuItemGroupBy'\n ]?.replace('{column}', String(column.Header))}\n </Box>\n </MenuItem>,\n ]}\n {!disableColumnHiding && [\n <MenuItem key={1} onClick={handleHideColumn} sx={commonMenuItemStyles}>\n <Box sx={commonListItemStyles}>\n <VisibilityOffIcon />\n {localization.columnActionMenuItemHideColumn?.replace(\n '{column}',\n String(column.Header),\n )}\n </Box>\n </MenuItem>,\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 localization,\n icons: { MoreVertIcon },\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 return (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.columnActionMenuButtonTitle}\n >\n <IconButton\n aria-label={localization.columnActionMenuButtonTitle}\n onClick={handleClick}\n size=\"small\"\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 }}\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, { 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) => ({\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});\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.columnActionMenuItemClearSort\n : localization.columnActionMenuItemSortDesc?.replace(\n '{column}',\n column.Header as string,\n )\n : localization.columnActionMenuItemSortAsc?.replace(\n '{column}',\n column.Header as string,\n );\n\n const filterTooltip = !!column.filterValue\n ? localization.filterApplied\n .replace('{column}', String(column.Header))\n .replace('{filterType}', column.filterValue)\n : localization.toggleFilterButtonTitle;\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 ...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 && !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 { 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 style: {\n //@ts-ignore\n ...muiTableBodyCellEditTextFieldProps?.style,\n //@ts-ignore\n ...cell.column.muiTableBodyCellEditTextFieldProps?.style,\n },\n };\n\n if (cell.column.editable && 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, 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 '..';\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 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 ) : currentEditingRow?.id === cell.row.id ? (\n <MRT_EditCellTextField cell={cell} />\n ) : cell.isPlaceholder ? null : cell.isAggregated ? (\n cell.render('Aggregated')\n ) : cell.isGrouped ? (\n <span>\n {cell.render('Cell')} ({cell.row.subRows.length})\n </span>\n ) : (\n cell.render('Cell')\n )}\n </TableCell>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { Checkbox, TableCell, Tooltip } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\nimport { commonTableBodyButtonCellStyles } from '../body/MRT_TableBodyCell';\n\ninterface Props {\n row?: MRT_Row;\n selectAll?: boolean;\n}\n\nexport const MRT_SelectCheckbox: FC<Props> = ({ row, selectAll }) => {\n const { localization, onRowSelectChange, onSelectAllChange, tableInstance } =\n useMRT();\n\n const onSelectChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (selectAll) {\n tableInstance?.getToggleAllRowsSelectedProps?.()?.onChange?.(event);\n onSelectAllChange?.(event, tableInstance.selectedFlatRows);\n } else if (row) {\n row?.getToggleRowSelectedProps()?.onChange?.(event);\n onRowSelectChange?.(event, row, tableInstance.selectedFlatRows);\n }\n };\n\n const checkboxProps = selectAll\n ? tableInstance.getToggleAllRowsSelectedProps()\n : row?.getToggleRowSelectedProps();\n\n return (\n <TableCell\n sx={commonTableBodyButtonCellStyles(tableInstance.state.densePadding)}\n >\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={\n selectAll\n ? localization.selectAllCheckboxTitle\n : localization.selectCheckboxTitle\n }\n >\n <Checkbox\n inputProps={{\n 'aria-label': selectAll\n ? localization.selectAllCheckboxTitle\n : localization.selectCheckboxTitle,\n }}\n onChange={onSelectChange}\n {...checkboxProps}\n title={undefined}\n />\n </Tooltip>\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, TableCell } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { commonTableBodyButtonCellStyles } from '../body/MRT_TableBodyCell';\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 <TableCell\n size=\"small\"\n {...tableInstance.getToggleAllRowsExpandedProps()}\n sx={commonTableBodyButtonCellStyles(tableInstance.state.densePadding)}\n >\n <IconButton\n aria-label={localization.expandAllButtonTitle}\n title={localization.expandAllButtonTitle}\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 </TableCell>\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 mTableBodyCellrops =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps()\n : muiTableBodyCellProps;\n\n const tableCellProps = {\n ...mTableBodyCellrops,\n style: {\n ...mTableBodyCellrops?.style,\n },\n };\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={{ ...commonTableHeadCellStyles(densePadding), textAlign: 'center' }}\n >\n {localization.actionsHeadColumnTitle}\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 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 {enableRowNumbers &&\n (isParentHeader ? (\n <MRT_TableSpacerCell />\n ) : (\n <TableCell\n sx={{\n ...commonTableHeadCellStyles(tableInstance.state.densePadding),\n }}\n >\n #\n </TableCell>\n ))}\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'first' &&\n (isParentHeader ? (\n <MRT_TableSpacerCell />\n ) : (\n <MRT_TableHeadCellActions />\n ))}\n {anyRowsCanExpand || renderDetailPanel ? (\n !disableExpandAll && !isParentHeader ? (\n <MRT_ExpandAllButton />\n ) : (\n <MRT_TableSpacerCell\n width={`${\n renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5\n }rem`}\n />\n )\n ) : null}\n {enableSelection ? (\n !isParentHeader ? (\n <MRT_SelectCheckbox selectAll />\n ) : (\n <MRT_TableSpacerCell width=\"1rem\" />\n )\n ) : null}\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, { 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 } from 'react';\nimport { IconButton, TableCell } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\nimport { commonTableBodyButtonCellStyles } from '../body/MRT_TableBodyCell';\n\ninterface Props {\n row: MRT_Row;\n}\n\nexport const MRT_ExpandButton: FC<Props> = ({ row }) => {\n const {\n icons: { ExpandMoreIcon },\n localization,\n renderDetailPanel,\n tableInstance: {\n state: { densePadding },\n },\n } = useMRT();\n\n return (\n <TableCell\n size=\"small\"\n sx={{\n ...commonTableBodyButtonCellStyles(densePadding),\n pl: `${row.depth + 0.5}rem`,\n textAlign: 'left',\n }}\n >\n <IconButton\n aria-label={localization.expandButtonTitle}\n disabled={!row.canExpand && !renderDetailPanel}\n title={localization.expandButtonTitle}\n {...row.getToggleRowExpandedProps()}\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 </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { Menu, MenuItem } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport type { MRT_Row } from '..';\nimport { commonMenuItemStyles } 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 <EditIcon />\n {localization.rowActionMenuItemEdit}\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.rowActionButtonCancel}>\n <IconButton\n aria-label={localization.rowActionButtonCancel}\n onClick={handleCancel}\n >\n <CancelIcon />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.rowActionButtonSave}>\n <IconButton\n aria-label={localization.rowActionButtonSave}\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\n placement=\"right\"\n arrow\n title={localization.rowActionMenuItemEdit}\n >\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.rowActionMenuButtonTitle}\n >\n <IconButton\n aria-label={localization.rowActionMenuButtonTitle}\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 { alpha, TableCell, TableRow } from '@mui/material';\nimport {\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 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 {...tableRowProps}\n sx={(theme) =>\n ({\n backgroundColor: row.isSelected\n ? alpha(theme.palette.primary.light, 0.1)\n : 'transparent',\n ...tableRowProps?.sx,\n } as any)\n }\n >\n {enableRowNumbers && (\n <TableCell sx={{ ...commonTableBodyCellStyles(densePadding) }}>\n {row.index + 1}\n </TableCell>\n )}\n {(enableRowActions || enableRowEditing) &&\n positionActionsColumn === 'first' && (\n <MRT_ToggleRowActionMenuButton row={row} />\n )}\n {(anyRowsCanExpand || renderDetailPanel) && (\n <MRT_ExpandButton row={row} />\n )}\n {enableSelection && <MRT_SelectCheckbox row={row} />}\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={{ overflowY: 'hidden', ...tableBodyProps?.sx }}\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, useState } from 'react';\nimport { Collapse, IconButton, InputAdornment, TextField } from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { useAsyncDebounce } from 'react-table';\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 [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 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.searchTextFieldPlaceholder}\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 <SearchIcon fontSize=\"small\" />\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={localization.searchTextFieldClearButtonTitle}\n disabled={searchValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n title={localization.searchTextFieldClearButtonTitle}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n {...muiSearchTextFieldProps}\n sx={{ justifySelf: 'end', ...muiSearchTextFieldProps?.sx }}\n />\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.toggleFullScreenButtonTitle}>\n <IconButton\n aria-label={localization.toggleFilterButtonTitle}\n onClick={() => setFullScreen(!fullScreen)}\n size=\"small\"\n {...rest}\n >\n {fullScreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\n </IconButton>\n </Tooltip>\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';\n\ninterface Props {\n column: MRT_ColumnInstance;\n}\n\nexport const MRT_ShowHideColumnsMenu: FC<Props> = ({ column }) => {\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 };\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 label={column.Header as string}\n onChange={() => handleToggleColumnHidden(column)}\n />\n </MenuItem>\n {column.columns?.map((c: MRT_ColumnInstance, i) => (\n <MRT_ShowHideColumnsMenu key={`${i}-${c.id}`} column={c} />\n ))}\n </>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport {\n Button,\n IconButton,\n Menu,\n Tooltip,\n Divider,\n IconButtonProps,\n Box,\n} from '@mui/material';\nimport { useMRT } from '../useMRT';\nimport { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';\nimport type { MRT_ColumnInstance } from '..';\n\ninterface Props extends IconButtonProps {}\n\nexport const MRT_ShowHideColumnsButton: FC<Props> = ({ ...rest }) => {\n const {\n icons: { ViewColumnIcon },\n localization,\n tableInstance,\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.showHideColumnsButtonTitle}>\n <IconButton\n aria-label={localization.showHideColumnsButtonTitle}\n onClick={handleClick}\n size=\"small\"\n {...rest}\n >\n <ViewColumnIcon />\n </IconButton>\n </Tooltip>\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: 'space-between',\n p: '0.5rem',\n }}\n >\n <Button\n disabled={\n !tableInstance.getToggleHideAllColumnsProps().checked &&\n !tableInstance.getToggleHideAllColumnsProps().indeterminate\n }\n onClick={() => tableInstance.toggleHideAllColumns(true)}\n >\n {localization.columnShowHideMenuHideAll}\n </Button>\n <Button\n disabled={tableInstance.getToggleHideAllColumnsProps().checked}\n onClick={() => tableInstance.toggleHideAllColumns(false)}\n >\n {localization.columnShowHideMenuShowAll}\n </Button>\n </Box>\n <Divider />\n {tableInstance.columns.map((column: MRT_ColumnInstance, index) => (\n <MRT_ShowHideColumnsMenu\n key={`${index}-${column.id}`}\n column={column}\n />\n ))}\n </Menu>\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.toggleDensePaddingSwitchTitle}>\n <IconButton\n aria-label={localization.toggleDensePaddingSwitchTitle}\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.toggleFilterButtonTitle}>\n <IconButton\n aria-label={localization.toggleFilterButtonTitle}\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.toggleSearchButtonTitle}>\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 p: 0,\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.toolbarAlertSelectionMessage\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.toolbarAlertGroupedByMessage}{' '}\n {tableInstance.state.groupBy.map((columnId, index) => (\n <Fragment key={`${index}-${columnId}`}>\n {index > 0 ? localization.toolbarAlertGroupedThenByMessage : ''}\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 { alpha, Box, 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';\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 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 position: tableInstance.state.fullScreen ? 'sticky' : undefined,\n top: tableInstance.state.fullScreen ? '0' : undefined,\n width: '100%',\n zIndex: 1,\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 </Toolbar>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, 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';\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 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 bottom: tableInstance.state.fullScreen ? '0' : undefined,\n display: 'flex',\n justifyContent: 'space-between',\n overflowY: 'hidden',\n p: '0 0.5rem !important',\n position: tableInstance.state.fullScreen ? 'fixed' : undefined,\n width: 'calc(100% - 1rem)',\n zIndex: 1,\n ...toolbarProps?.sx,\n } as any)\n }\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 </Toolbar>\n );\n};\n","import React, { FC, useEffect, useRef } from 'react';\nimport {\n LinearProgress,\n Paper,\n TableContainer,\n Collapse,\n Box,\n} 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 isFetching,\n isLoading,\n muiLinearProgressProps,\n muiTableContainerProps,\n tableInstance,\n } = useMRT();\n const fullScreen = tableInstance.state.fullScreen;\n const originalBodyOverflowStyle = useRef<string | undefined>();\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n originalBodyOverflowStyle.current = document?.body?.style?.overflow;\n }\n }, []);\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n if (fullScreen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow =\n originalBodyOverflowStyle.current ?? 'auto';\n }\n }\n }, [fullScreen]);\n\n const tableContainerProps =\n muiTableContainerProps instanceof Function\n ? muiTableContainerProps(tableInstance)\n : muiTableContainerProps;\n\n const linearProgressProps =\n muiLinearProgressProps instanceof Function\n ? muiLinearProgressProps(tableInstance)\n : muiLinearProgressProps;\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 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 <Collapse in={isFetching || isLoading} unmountOnExit>\n <LinearProgress {...linearProgressProps} />\n </Collapse>\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 actionsHeadColumnTitle: string;\n changeFilterMode: string;\n columnActionMenuButtonTitle: string;\n columnActionMenuItemClearSort: string;\n columnActionMenuItemGroupBy: string;\n columnActionMenuItemHideColumn: string;\n columnActionMenuItemSortAsc: string;\n columnActionMenuItemSortDesc: string;\n columnActionMenuItemUnGroupBy: string;\n columnShowHideMenuHideAll: string;\n columnShowHideMenuShowAll: string;\n expandAllButtonTitle: string;\n expandButtonTitle: string;\n filterApplied: string;\n filterMenuItemContains: string;\n filterMenuItemEmpty: string;\n filterMenuItemEndsWith: string;\n filterMenuItemEquals: string;\n filterMenuItemFuzzy: string;\n filterMenuItemGreaterThan: string;\n filterMenuItemLessThan: string;\n filterMenuItemNotEmpty: string;\n filterMenuItemNotEquals: string;\n filterMenuItemStartsWith: string;\n filterMenuTitle: string;\n filterTextFieldChangeFilterButtonTitle: string;\n filterTextFieldChipLabelEmpty: string;\n filterTextFieldChipLabelNotEmpty: string;\n filterTextFieldClearButtonTitle: string;\n filterTextFieldPlaceholder: string;\n rowActionButtonCancel: string;\n rowActionButtonSave: string;\n rowActionMenuButtonTitle: string;\n rowActionMenuItemEdit: string;\n rowActionsColumnTitle: string;\n searchTextFieldClearButtonTitle: string;\n searchTextFieldPlaceholder: string;\n selectAllCheckboxTitle: string;\n selectCheckboxTitle: string;\n showHideColumnsButtonTitle: string;\n toggleDensePaddingSwitchTitle: string;\n toggleFilterButtonTitle: string;\n toggleFullScreenButtonTitle: string;\n toggleSearchButtonTitle: string;\n toolbarAlertGroupedByMessage: string;\n toolbarAlertGroupedThenByMessage: string;\n toolbarAlertSelectionMessage: string;\n}\n\nexport const MRT_DefaultLocalization_EN: MRT_Localization = {\n actionsHeadColumnTitle: 'Actions',\n changeFilterMode: 'Change filter mode',\n columnActionMenuButtonTitle: 'Column Actions',\n columnActionMenuItemClearSort: 'Clear sort',\n columnActionMenuItemGroupBy: 'Group by {column}',\n columnActionMenuItemHideColumn: 'Hide {column} column',\n columnActionMenuItemSortAsc: 'Sort by {column} ascending',\n columnActionMenuItemSortDesc: 'Sort by {column} descending',\n columnActionMenuItemUnGroupBy: 'Ungroup by {column}',\n columnShowHideMenuHideAll: 'Hide all',\n columnShowHideMenuShowAll: 'Show all',\n expandAllButtonTitle: 'Expand all',\n expandButtonTitle: 'Expand',\n filterApplied: 'Filtering by {column} - ({filterType})',\n filterMenuItemContains: 'Contains Exact',\n filterMenuItemEmpty: 'Empty',\n filterMenuItemEndsWith: 'Ends With',\n filterMenuItemEquals: 'Equals',\n filterMenuItemFuzzy: 'Fuzzy Match (Default)',\n filterMenuItemGreaterThan: 'Greater Than',\n filterMenuItemLessThan: 'Less Than',\n filterMenuItemNotEmpty: 'Not Empty',\n filterMenuItemNotEquals: 'Not Equals',\n filterMenuItemStartsWith: 'Starts With',\n filterMenuTitle: 'Filter Mode',\n filterTextFieldChangeFilterButtonTitle: 'Change Filter Mode',\n filterTextFieldChipLabelEmpty: 'Empty',\n filterTextFieldChipLabelNotEmpty: 'Not Empty',\n filterTextFieldClearButtonTitle: 'Clear filter',\n filterTextFieldPlaceholder: 'Filter by {column}',\n rowActionButtonCancel: 'Cancel',\n rowActionButtonSave: 'Save',\n rowActionMenuButtonTitle: 'Row Actions',\n rowActionMenuItemEdit: 'Edit',\n rowActionsColumnTitle: 'Actions',\n searchTextFieldClearButtonTitle: 'Clear search',\n searchTextFieldPlaceholder: 'Search',\n selectAllCheckboxTitle: 'Toggle select all',\n selectCheckboxTitle: 'Toggle select row',\n showHideColumnsButtonTitle: 'Show/Hide columns',\n toggleDensePaddingSwitchTitle: 'Toggle dense padding',\n toggleFilterButtonTitle: 'Show/Hide filters',\n toggleFullScreenButtonTitle: 'Toggle full screen',\n toggleSearchButtonTitle: 'Show/Hide search',\n toolbarAlertGroupedByMessage: 'Grouped by ',\n toolbarAlertGroupedThenByMessage: ', then by ',\n toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected',\n};\n","import ArrowRightIcon from '@mui/icons-material/ArrowRight';\nimport CancelIcon from '@mui/icons-material/Cancel';\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 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 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 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 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 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 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';\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: (Column<D> & 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 headerGroups: MRT_HeaderGroup<D>[];\n footerGroups: MRT_HeaderGroup<D>[];\n state: MRT_TableState<D>;\n rows: MRT_Row<D>[];\n page: MRT_Row<D>[];\n resetResizing: () => void;\n getToggleAllRowsExpandedProps: () => void;\n };\n\nexport type MRT_ColumnInterface<D extends {} = {}> =\n // 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 disableFilters?: boolean;\n editable?: boolean;\n filter?: MRT_FilterType | string | FilterType<D>;\n filterSelectOptions?: (string | { text: string; value: string })[];\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 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 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\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 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 enableColumnGrouping?: boolean;\n enableColumnResizing?: boolean;\n enableRowActions?: boolean;\n enableRowEditing?: boolean;\n enableRowNumbers?: boolean;\n enableSelection?: boolean;\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 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 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>, visibleColumns: Column<D>[]) => 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 onRowSelectChange?: (\n event: ChangeEvent,\n row: Row<D>,\n selectedRows: Row<D>[],\n ) => void;\n onSelectAllChange?: (event: ChangeEvent, selectedRows: Row<D>[]) => 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 icons,\n localization,\n positionActionsColumn = 'first',\n positionPagination = 'bottom',\n positionToolbarActions = 'top',\n positionToolbarAlertBanner = 'top',\n ...rest\n}: MaterialReactTableProps<D>) => (\n <MaterialReactTableProvider\n defaultColumn={defaultColumn}\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":["fuzzyFilterFN","rows","id","filterValue","matchSorter","toString","trim","keys","sorter","rankedItems","autoRemove","val","containsFilterFN","filter","row","values","toLowerCase","includes","startsWithFilterFN","startsWith","endsWithFilterFN","endsWith","equalsFilterFN","notEqualsFilterFN","greaterThanFilterFN","isNaN","lessThanFilterFN","emptyFilterFN","_filterValue","notEmptyFilterFN","defaultFilterFNs","contains","empty","greaterThan","lessThan","equals","fuzzy","notEmpty","notEquals","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","filterTypes","useMemo","getInitialFilterTypeState","lowestLevelColumns","columns","currentCols","length","some","col","nextCols","map","flat","every","Object","assign","c","accessor","filters","filterSelectOptions","currentFilterTypes","setCurrentFilterTypes","column","tableInstance","useTable","globalFilterValue","useControlledState","state","idPrefix","Math","random","substring","anyRowsCanExpand","canExpand","anyRowsExpanded","isExpanded","React","Provider","value","children","useMRT","useContext","MRT_FILTER_TYPE","commonMenuItemStyles","py","my","alignItems","MRT_FilterTypeMenu","anchorEl","onSelect","setAnchorEl","localization","type","FUZZY","label","filterMenuItemFuzzy","divider","fn","CONTAINS","filterMenuItemContains","STARTS_WITH","filterMenuItemStartsWith","ENDS_WITH","filterMenuItemEndsWith","EQUALS","filterMenuItemEquals","NOT_EQUALS","filterMenuItemNotEquals","GREATER_THAN","filterMenuItemGreaterThan","LESS_THAN","filterMenuItemLessThan","EMPTY","filterMenuItemEmpty","NOT_EMPTY","filterMenuItemNotEmpty","handleSelectFilterType","prev","setFilter","filterType","Menu","anchorOrigin","vertical","horizontal","onClose","open","MenuListProps","dense","index","MenuItem","key","onClick","selected","sx","MRT_FilterTextField","icons","FilterListIcon","CloseIcon","muiTableHeadCellFilterTextFieldProps","mTableHeadCellFilterTextFieldProps","Function","mcTableHeadCellFilterTextFieldProps","textFieldProps","style","setFilterValue","handleChange","useAsyncDebounce","undefined","handleFilterMenuOpen","event","currentTarget","handleClear","handleClearFilterChip","Filter","isCustomFilterType","isSelectFilter","filterChipLabel","filterPlaceholder","filterTextFieldPlaceholder","replace","String","Header","TextField","fullWidth","inputProps","disabled","textOverflow","width","title","InputLabelProps","shrink","maxWidth","margin","placeholder","onChange","e","target","stopPropagation","select","variant","InputProps","startAdornment","InputAdornment","position","Tooltip","arrow","changeFilterMode","IconButton","size","height","Chip","onDelete","endAdornment","disableHoverListener","placement","filterTextFieldClearButtonTitle","fontSize","m","minWidth","mt","mr","option","text","justifyContent","commonListItemStyles","display","gap","MRT_ColumnActionMenu","disableColumnHiding","disableFilters","disableSortBy","enableColumnGrouping","ArrowRightIcon","ClearAllIcon","DynamicFeedIcon","FilterListOffIcon","SortIcon","VisibilityOffIcon","filterMenuAnchorEl","setFilterMenuAnchorEl","handleClearSort","clearSortBy","handleSortAsc","toggleSortBy","handleSortDesc","handleHideColumn","toggleHidden","handleGroupByColumn","toggleGroupBy","handleClearFilter","handleFilterByColumn","setTimeout","document","getElementById","focus","handleOpenFilterModeMenu","canSort","isSorted","Box","columnActionMenuItemClearSort","isSortedDesc","columnActionMenuItemSortAsc","transform","columnActionMenuItemSortDesc","canFilter","onMouseEnter","p","canGroupBy","isGrouped","columnActionMenuItemHideColumn","MRT_ToggleColumnActionMenuButton","MoreVertIcon","handleClick","preventDefault","enterDelay","enterNextDelay","columnActionMenuButtonTitle","opacity","transition","commonTableHeadCellStyles","fontWeight","pt","verticalAlign","MRT_TableHeadCell","disableColumnActions","FilterAltIcon","FilterAltOff","muiTableHeadCellProps","isParentHeader","mTableHeadCellProps","mcTableHeadCellProps","tableCellProps","getHeaderProps","sortTooltip","filterTooltip","filterApplied","toggleFilterButtonTitle","columnHeader","render","TableCell","align","getSortByToggleProps","flexWrap","whiteSpace","TableSortLabel","active","direction","disableRipple","backgroundColor","Divider","flexItem","orientation","onDoubleClick","resetResizing","getResizerProps","borderRightWidth","borderRadius","maxHeight","Collapse","MRT_EditCellTextField","cell","muiTableBodyCellEditTextFieldProps","onCellEditChange","mTableBodyCellEditTextFieldProps","mcTableBodyCellEditTextFieldProps","editable","Edit","commonTableBodyCellStyles","commonTableBodyButtonCellStyles","textAlign","MRT_TableBodyCell","isLoading","muiTableBodyCellProps","muiTableBodyCellSkeletonProps","onCellClick","mTableCellBodyProps","mcTableCellBodyProps","getCellProps","Skeleton","animation","isPlaceholder","isAggregated","subRows","MRT_SelectCheckbox","selectAll","onRowSelectChange","onSelectAllChange","onSelectChange","getToggleAllRowsSelectedProps","selectedFlatRows","getToggleRowSelectedProps","checkboxProps","selectAllCheckboxTitle","selectCheckboxTitle","Checkbox","MRT_ExpandAllButton","DoubleArrowDownIcon","getToggleAllRowsExpandedProps","expandAllButtonTitle","isAllRowsExpanded","MRT_TableSpacerCell","mTableBodyCellrops","MRT_TableHeadCellActions","actionsHeadColumnTitle","MRT_TableHeadRow","headerGroup","disableExpandAll","enableRowActions","enableRowEditing","enableRowNumbers","enableSelection","muiTableHeadRowProps","positionActionsColumn","renderDetailPanel","headers","h","mTableHeadRowProps","tableRowProps","getHeaderGroupProps","TableRow","expandedDepth","MRT_TableHead","muiTableHeadProps","tableHeadProps","TableHead","headerGroups","MRT_TableDetailPanel","muiTableBodyRowProps","muiTableDetailPanelProps","onDetailPanelClick","colSpan","visibleColumns","borderBottom","pb","MRT_ExpandButton","ExpandMoreIcon","pl","depth","expandButtonTitle","getToggleRowExpandedProps","MRT_RowActionMenu","handleEdit","EditIcon","renderRowActionMenuItems","rowActionMenuItemEdit","MRT_EditActionButtons","CancelIcon","SaveIcon","onRowEditSubmit","handleCancel","original","handleSave","rowActionButtonCancel","rowActionButtonSave","color","commonIconButtonStyles","marginRight","MRT_ToggleRowActionMenuButton","MoreHorizIcon","renderRowActions","handleOpenRowActionMenu","rowActionMenuButtonTitle","MRT_TableBodyRow","onRowClick","mTableBodyRowProps","getRowProps","hover","theme","isSelected","alpha","palette","primary","light","cells","MRT_TableBody","muiTableBodyProps","manualPagination","page","mTableBodyProps","tableBodyProps","getTableBodyProps","TableBody","overflowY","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","searchTextFieldPlaceholder","searchTextFieldClearButtonTitle","justifySelf","MRT_FullScreenToggleButton","rest","FullscreenExitIcon","FullscreenIcon","toggleFullScreenButtonTitle","MRT_ShowHideColumnsMenu","allChildColumnsVisible","childColumn","isVisible","switchChecked","handleToggleColumnHidden","forEach","FormControlLabel","componentsProps","typography","marginBottom","checked","control","Switch","i","MRT_ShowHideColumnsButton","ViewColumnIcon","showHideColumnsButtonTitle","Button","getToggleHideAllColumnsProps","indeterminate","toggleHideAllColumns","columnShowHideMenuHideAll","columnShowHideMenuShowAll","MRT_ToggleDensePaddingButton","DensityMediumIcon","DensitySmallIcon","toggleDensePaddingSwitchTitle","MRT_ToggleFiltersButton","MRT_ToggleSearchButton","SearchOffIcon","handleToggleSearch","toggleSearchButtonTitle","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","toolbarAlertSelectionMessage","flatRows","groupedByMessage","groupBy","toolbarAlertGroupedByMessage","columnId","Fragment","toolbarAlertGroupedThenByMessage","allColumns","find","displayAbsolute","timeout","Alert","icon","left","right","minHeight","top","MRT_ToolbarTop","hideToolbarInternalActions","muiTableToolbarTopProps","positionPagination","toolbarProps","Toolbar","background","backgroundImage","common","white","MRT_ToolbarBottom","muiTableToolbarBottomProps","bottom","MRT_TableContainer","hideToolbarBottom","hideToolbarTop","isFetching","muiLinearProgressProps","muiTableContainerProps","originalBodyOverflowStyle","useRef","useEffect","window","current","body","overflow","tableContainerProps","linearProgressProps","TableContainer","Paper","unmountOnExit","LinearProgress","overflowX","MRT_DefaultLocalization_EN","columnActionMenuItemGroupBy","columnActionMenuItemUnGroupBy","filterMenuTitle","filterTextFieldChangeFilterButtonTitle","filterTextFieldChipLabelEmpty","filterTextFieldChipLabelNotEmpty","rowActionsColumnTitle","MRT_Default_Icons","ExpandLessIcon","defaultColumn"],"mappings":"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"}