material-react-table 0.7.0-alpha.1 → 0.7.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/MaterialReactTable.d.ts +195 -58
- package/dist/material-react-table.cjs.development.js +239 -931
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +239 -931
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +364 -126
- package/src/body/MRT_TableBody.tsx +1 -1
- package/src/body/MRT_TableBodyCell.tsx +3 -3
- package/src/body/MRT_TableBodyRow.tsx +2 -2
- package/src/body/MRT_TableDetailPanel.tsx +6 -4
- package/src/buttons/MRT_CopyButton.tsx +2 -2
- package/src/buttons/MRT_EditActionButtons.tsx +4 -2
- package/src/buttons/MRT_ExpandButton.tsx +1 -1
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +5 -2
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -1
- package/src/buttons/MRT_ToggleSearchButton.tsx +6 -1
- package/src/footer/MRT_TableFooter.tsx +1 -1
- package/src/footer/MRT_TableFooterCell.tsx +2 -2
- package/src/footer/MRT_TableFooterRow.tsx +1 -1
- package/src/head/MRT_TableHead.tsx +1 -1
- package/src/head/MRT_TableHeadCell.tsx +22 -29
- package/src/head/MRT_TableHeadRow.tsx +1 -1
- package/src/inputs/MRT_EditCellTextField.tsx +7 -7
- package/src/inputs/MRT_FilterTextField.tsx +2 -2
- package/src/inputs/MRT_SearchTextField.tsx +8 -3
- package/src/inputs/MRT_SelectCheckbox.tsx +9 -7
- package/src/menus/MRT_RowActionMenu.tsx +5 -3
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +4 -5
- package/src/table/MRT_Table.tsx +1 -1
- package/src/table/MRT_TableContainer.tsx +16 -20
- package/src/table/MRT_TablePaper.tsx +9 -5
- package/src/toolbar/MRT_LinearProgressBar.tsx +1 -1
- package/src/toolbar/MRT_TablePagination.tsx +3 -2
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -1
- package/src/toolbar/MRT_ToolbarBottom.tsx +1 -1
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +5 -4
- package/src/toolbar/MRT_ToolbarTop.tsx +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-react-table.cjs.production.min.js","sources":["../src/localization.ts","../src/enums.ts","../src/icons.ts","../src/buttons/MRT_ExpandAllButton.tsx","../src/buttons/MRT_ExpandButton.tsx","../src/filtersFNs.ts","../src/menus/MRT_FilterTypeMenu.tsx","../src/menus/MRT_ShowHideColumnsMenuItems.tsx","../src/menus/MRT_ShowHideColumnsMenu.tsx","../src/menus/MRT_ColumnActionMenu.tsx","../src/menus/MRT_RowActionMenu.tsx","../node_modules/regenerator-runtime/runtime.js","../src/buttons/MRT_EditActionButtons.tsx","../src/buttons/MRT_ToggleRowActionMenuButton.tsx","../src/inputs/MRT_SelectCheckbox.tsx","../src/inputs/MRT_SearchTextField.tsx","../src/buttons/MRT_FullScreenToggleButton.tsx","../src/buttons/MRT_ShowHideColumnsButton.tsx","../src/buttons/MRT_ToggleDensePaddingButton.tsx","../src/buttons/MRT_ToggleFiltersButton.tsx","../src/buttons/MRT_ToggleSearchButton.tsx","../src/toolbar/MRT_ToolbarInternalButtons.tsx","../src/toolbar/MRT_TablePagination.tsx","../src/toolbar/MRT_ToolbarAlertBanner.tsx","../src/toolbar/MRT_LinearProgressBar.tsx","../src/toolbar/MRT_ToolbarTop.tsx","../src/toolbar/MRT_ToolbarBottom.tsx","../src/inputs/MRT_FilterTextField.tsx","../src/buttons/MRT_ToggleColumnActionMenuButton.tsx","../src/head/MRT_TableHeadCell.tsx","../src/head/MRT_TableHeadRow.tsx","../src/head/MRT_TableHead.tsx","../src/inputs/MRT_EditCellTextField.tsx","../src/buttons/MRT_CopyButton.tsx","../src/body/MRT_TableBodyCell.tsx","../src/body/MRT_TableDetailPanel.tsx","../src/body/MRT_TableBodyRow.tsx","../src/body/MRT_TableBody.tsx","../src/footer/MRT_TableFooterCell.tsx","../src/footer/MRT_TableFooterRow.tsx","../src/footer/MRT_TableFooter.tsx","../src/table/MRT_Table.tsx","../src/table/MRT_TableContainer.tsx","../src/table/MRT_TablePaper.tsx","../src/utils.ts","../src/table/MRT_TableRoot.tsx","../src/MaterialReactTable.tsx"],"sourcesContent":["export interface MRT_Localization {\n actions: string;\n cancel: string;\n changeFilterMode: string;\n changeSearchMode: string;\n clearFilter: string;\n clearSearch: string;\n clearSort: string;\n clickToCopy: string;\n columnActions: string;\n copiedToClipboard: string;\n edit: string;\n expand: string;\n expandAll: string;\n filterBestMatch: string;\n filterBestMatchFirst: string;\n filterByColumn: string;\n filterContains: string;\n filterEmpty: string;\n filterEndsWith: string;\n filterEquals: string;\n filterGreaterThan: string;\n filterLessThan: string;\n filterMode: string;\n filterNotEmpty: string;\n filterNotEquals: string;\n filterStartsWith: string;\n filteringByColumn: string;\n groupByColumn: string;\n groupedBy: string;\n hideAll: string;\n hideColumn: string;\n pinToLeft: string;\n pinToRight: string;\n rowActions: string;\n rowNumbers: string;\n save: string;\n search: string;\n select: string;\n selectedCountOfRowCountRowsSelected: string;\n showAll: string;\n showAllColumns: string;\n showHideColumns: string;\n showHideFilters: string;\n showHideSearch: string;\n sortByColumnAsc: string;\n sortByColumnDesc: string;\n thenBy: string;\n toggleDensePadding: string;\n toggleFullScreen: string;\n toggleSelectAll: string;\n toggleSelectRow: string;\n ungroupByColumn: string;\n unpin: string;\n}\n\nexport const MRT_DefaultLocalization_EN: MRT_Localization = {\n actions: 'Actions',\n cancel: 'Cancel',\n changeFilterMode: 'Change filter mode',\n changeSearchMode: 'Change search mode',\n clearFilter: 'Clear filter',\n clearSearch: 'Clear search',\n clearSort: 'Clear sort',\n clickToCopy: 'Click to copy',\n columnActions: 'Column Actions',\n copiedToClipboard: 'Copied to clipboard',\n edit: 'Edit',\n expand: 'Expand',\n expandAll: 'Expand all',\n filterBestMatch: 'Best Match',\n filterBestMatchFirst: 'Best Match First',\n filterByColumn: 'Filter by {column}',\n filterContains: 'Contains',\n filterEmpty: 'Empty',\n filterEndsWith: 'Ends With',\n filterEquals: 'Equals',\n filterGreaterThan: 'Greater Than',\n filterLessThan: 'Less Than',\n filterMode: 'Filter Mode: {filterType}',\n filterNotEmpty: 'Not Empty',\n filterNotEquals: 'Not Equals',\n filterStartsWith: 'Starts With',\n filteringByColumn: 'Filtering by {column} - {filterType} \"{filterValue}\"',\n groupByColumn: 'Group by {column}',\n groupedBy: 'Grouped by ',\n hideAll: 'Hide all',\n hideColumn: 'Hide {column} column',\n pinToLeft: 'Pin to left',\n pinToRight: 'Pin to right',\n rowActions: 'Row Actions',\n rowNumbers: 'Row Numbers',\n save: 'Save',\n search: 'Search',\n selectedCountOfRowCountRowsSelected:\n '{selectedCount} of {rowCount} row(s) selected',\n\n select: 'Select',\n showAll: 'Show all',\n showAllColumns: 'Show all columns',\n showHideColumns: 'Show/Hide columns',\n showHideFilters: 'Show/Hide filters',\n showHideSearch: 'Show/Hide search',\n sortByColumnAsc: 'Sort by {column} ascending',\n sortByColumnDesc: 'Sort by {column} descending',\n thenBy: ', then by ',\n toggleDensePadding: 'Toggle dense padding',\n toggleFullScreen: 'Toggle full screen',\n toggleSelectAll: 'Toggle select all',\n toggleSelectRow: 'Toggle select row',\n ungroupByColumn: 'Ungroup by {column}',\n unpin: 'Unpin',\n};\n","export enum MRT_FILTER_TYPE {\n BEST_MATCH = 'bestMatch',\n BEST_MATCH_FIRST = 'bestMatchFirst',\n CONTAINS = 'contains',\n EMPTY = 'empty',\n ENDS_WITH = 'endsWith',\n EQUALS = 'equals',\n GREATER_THAN = 'greaterThan',\n LESS_THAN = 'lessThan',\n NOT_EMPTY = 'notEmpty',\n NOT_EQUALS = 'notEquals',\n STARTS_WITH = 'startsWith',\n}\n","import ArrowRightIcon from '@mui/icons-material/ArrowRight';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\nimport ClearAllIcon from '@mui/icons-material/ClearAll';\nimport CloseIcon from '@mui/icons-material/Close';\nimport DensityMediumIcon from '@mui/icons-material/DensityMedium';\nimport DensitySmallIcon from '@mui/icons-material/DensitySmall';\nimport DoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';\nimport DynamicFeedIcon from '@mui/icons-material/DynamicFeed';\nimport EditIcon from '@mui/icons-material/Edit';\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport FilterAltIcon from '@mui/icons-material/FilterAlt';\nimport FilterAltOff from '@mui/icons-material/FilterAltOff';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport FilterListOffIcon from '@mui/icons-material/FilterListOff';\nimport FullscreenExitIcon from '@mui/icons-material/FullscreenExit';\nimport FullscreenIcon from '@mui/icons-material/Fullscreen';\nimport MoreHorizIcon from '@mui/icons-material/MoreHoriz';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport PushPinIcon from '@mui/icons-material/PushPin';\nimport SaveIcon from '@mui/icons-material/Save';\nimport SearchIcon from '@mui/icons-material/Search';\nimport SearchOffIcon from '@mui/icons-material/SearchOff';\nimport SortIcon from '@mui/icons-material/Sort';\nimport ViewColumnIcon from '@mui/icons-material/ViewColumn';\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\n\nexport interface MRT_Icons {\n ArrowRightIcon: any;\n CancelIcon: any;\n CheckBoxIcon: any;\n ClearAllIcon: any;\n CloseIcon: any;\n DensityMediumIcon: any;\n DensitySmallIcon: any;\n DoubleArrowDownIcon: any;\n DynamicFeedIcon: any;\n EditIcon: any;\n ExpandLessIcon: any;\n ExpandMoreIcon: any;\n FilterAltIcon: any;\n FilterAltOff: any;\n FilterListIcon: any;\n FilterListOffIcon: any;\n FullscreenExitIcon: any;\n FullscreenIcon: any;\n MoreHorizIcon: any;\n MoreVertIcon: any;\n PushPinIcon: any;\n SaveIcon: any;\n SearchIcon: any;\n SearchOffIcon: any;\n SortIcon: any;\n ViewColumnIcon: any;\n VisibilityOffIcon: any;\n}\n\nexport const MRT_Default_Icons: MRT_Icons = {\n ArrowRightIcon,\n CancelIcon,\n CheckBoxIcon,\n ClearAllIcon,\n CloseIcon,\n DensityMediumIcon,\n DensitySmallIcon,\n DoubleArrowDownIcon,\n DynamicFeedIcon,\n EditIcon,\n ExpandLessIcon,\n ExpandMoreIcon,\n FilterAltIcon,\n FilterAltOff,\n FilterListIcon,\n FilterListOffIcon,\n FullscreenExitIcon,\n FullscreenIcon,\n MoreHorizIcon,\n MoreVertIcon,\n PushPinIcon,\n SaveIcon,\n SearchIcon,\n SearchOffIcon,\n SortIcon,\n ViewColumnIcon,\n VisibilityOffIcon,\n};\n","import React, { FC } from 'react';\nimport { IconButton } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandAllButton: FC<Props> = ({ tableInstance }) => {\n const {\n getIsAllRowsExpanded,\n getIsSomeRowsExpanded,\n getState,\n options: {\n icons: { DoubleArrowDownIcon },\n isLoading,\n localization,\n },\n toggleAllRowsExpanded,\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <IconButton\n aria-label={localization.expandAll}\n disabled={isLoading}\n title={localization.expandAll}\n onClick={() => toggleAllRowsExpanded(!getIsAllRowsExpanded())}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <DoubleArrowDownIcon\n style={{\n transform: `rotate(${\n getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandButton: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { ExpandMoreIcon },\n localization,\n onRowExpandChange,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleToggleExpand = (event: MouseEvent<HTMLButtonElement>) => {\n row.toggleExpanded();\n onRowExpandChange?.(event, row);\n };\n\n return (\n <IconButton\n aria-label={localization.expand}\n disabled={!row.getCanExpand() && !renderDetailPanel}\n title={localization.expand}\n onClick={handleToggleExpand}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <ExpandMoreIcon\n style={{\n transform: `rotate(${\n !row.getCanExpand() && !renderDetailPanel\n ? -90\n : row.getIsExpanded()\n ? -180\n : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n );\n};\n","import { matchSorter } from 'match-sorter';\nimport { MRT_Row } from '.';\n\nexport const bestMatchFirst = (\n rows: MRT_Row[],\n columnIds: string[] | string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: Array.isArray(columnIds)\n ? columnIds.map((c) => `values.${c}`)\n : [`values.${columnIds}`],\n });\n\nbestMatchFirst.autoRemove = (val: any) => !val;\n\nexport const bestMatch = (\n rows: MRT_Row[],\n columnIds: string[] | string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: Array.isArray(columnIds)\n ? columnIds.map((c) => `values.${c}`)\n : [`values.${columnIds}`],\n sorter: (rankedItems) => rankedItems,\n });\n\nbestMatch.autoRemove = (val: any) => !val;\n\nexport const contains = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .includes(filterValue.toString().toLowerCase().trim()),\n );\n\ncontains.autoRemove = (val: any) => !val;\n\nexport const startsWith = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .startsWith(filterValue.toString().toLowerCase().trim()),\n );\n\nstartsWith.autoRemove = (val: any) => !val;\n\nexport const endsWith = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .endsWith(filterValue.toString().toLowerCase().trim()),\n );\n\nendsWith.autoRemove = (val: any) => !val;\n\nexport const equals = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter(\n (row) =>\n row.values[id].toString().toLowerCase().trim() ===\n filterValue.toString().toLowerCase().trim(),\n );\n\nequals.autoRemove = (val: any) => !val;\n\nexport const notEquals = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter(\n (row) =>\n row.values[id].toString().toLowerCase().trim() !==\n filterValue.toString().toLowerCase().trim(),\n );\n\nnotEquals.autoRemove = (val: any) => !val;\n\nexport const greaterThan = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n !isNaN(+filterValue) && !isNaN(+row.values[id])\n ? +row.values[id] > +filterValue\n : row.values[id].toString().toLowerCase().trim() >\n filterValue.toString().toLowerCase().trim(),\n );\n\ngreaterThan.autoRemove = (val: any) => !val;\n\nexport const lessThan = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n !isNaN(+filterValue) && !isNaN(+row.values[id])\n ? +row.values[id] < +filterValue\n : row.values[id].toString().toLowerCase().trim() <\n filterValue.toString().toLowerCase().trim(),\n );\n\nlessThan.autoRemove = (val: any) => !val;\n\nexport const empty = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !row.values[id].toString().toLowerCase().trim());\n\nempty.autoRemove = (val: any) => !val;\n\nexport const notEmpty = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !!row.values[id].toString().toLowerCase().trim());\n\nnotEmpty.autoRemove = (val: any) => !val;\n\nexport const defaultFilterFNs = {\n bestMatch,\n bestMatchFirst,\n contains,\n empty,\n endsWith,\n equals,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n};\n","import React, { FC, useMemo } from 'react';\nimport { Menu, MenuItem } from '@mui/material';\nimport type { MRT_FilterType, MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FILTER_TYPE } from '../enums';\nimport {\n bestMatch,\n bestMatchFirst,\n contains,\n empty,\n endsWith,\n equals,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n} from '../filtersFNs';\n\nconst commonMenuItemStyles = {\n py: '6px',\n my: 0,\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header?: MRT_Header;\n onSelect?: () => void;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterTypeMenu: FC<Props> = ({\n anchorEl,\n header,\n onSelect,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enabledGlobalFilterTypes,\n localization,\n setCurrentFilterTypes,\n setCurrentGlobalFilterType,\n },\n } = tableInstance;\n\n const { isDensePadding, currentFilterTypes, currentGlobalFilterType } =\n getState();\n\n const filterTypes: {\n type: MRT_FILTER_TYPE;\n label: string;\n divider: boolean;\n fn: Function;\n }[] = useMemo(\n () =>\n [\n {\n type: MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n label: localization.filterBestMatchFirst,\n divider: false,\n fn: bestMatchFirst,\n },\n {\n type: MRT_FILTER_TYPE.BEST_MATCH,\n label: localization.filterBestMatch,\n divider: !!header,\n fn: bestMatch,\n },\n {\n type: MRT_FILTER_TYPE.CONTAINS,\n label: localization.filterContains,\n divider: false,\n fn: contains,\n },\n {\n type: MRT_FILTER_TYPE.STARTS_WITH,\n label: localization.filterStartsWith,\n divider: false,\n fn: startsWith,\n },\n {\n type: MRT_FILTER_TYPE.ENDS_WITH,\n label: localization.filterEndsWith,\n divider: true,\n fn: endsWith,\n },\n {\n type: MRT_FILTER_TYPE.EQUALS,\n label: localization.filterEquals,\n divider: false,\n fn: equals,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EQUALS,\n label: localization.filterNotEquals,\n divider: true,\n fn: notEquals,\n },\n {\n type: MRT_FILTER_TYPE.GREATER_THAN,\n label: localization.filterGreaterThan,\n divider: false,\n fn: greaterThan,\n },\n {\n type: MRT_FILTER_TYPE.LESS_THAN,\n label: localization.filterLessThan,\n divider: true,\n fn: lessThan,\n },\n {\n type: MRT_FILTER_TYPE.EMPTY,\n label: localization.filterEmpty,\n divider: false,\n fn: empty,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EMPTY,\n label: localization.filterNotEmpty,\n divider: false,\n fn: notEmpty,\n },\n ].filter((filterType) =>\n header\n ? !header.column.enabledFilterTypes ||\n header.column.enabledFilterTypes.includes(filterType.type)\n : (!enabledGlobalFilterTypes ||\n enabledGlobalFilterTypes.includes(filterType.type)) &&\n [\n MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n MRT_FILTER_TYPE.BEST_MATCH,\n ].includes(filterType.type),\n ),\n [],\n );\n\n const handleSelectFilterType = (value: MRT_FILTER_TYPE) => {\n if (header) {\n setCurrentFilterTypes((prev: { [key: string]: MRT_FilterType }) => ({\n ...prev,\n [header.id]: value,\n }));\n if ([MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {\n header.column.setColumnFilterValue(' ');\n }\n } else {\n setCurrentGlobalFilterType(value);\n }\n setAnchorEl(null);\n onSelect?.();\n };\n\n const filterType = !!header\n ? currentFilterTypes[header.id]\n : currentGlobalFilterType;\n\n return (\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'center', horizontal: 'right' }}\n onClose={() => setAnchorEl(null)}\n open={!!anchorEl}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {filterTypes.map(({ type, label, divider, fn }, index) => (\n <MenuItem\n divider={divider}\n key={index}\n onClick={() => handleSelectFilterType(type)}\n selected={type === filterType || fn === filterType}\n sx={commonMenuItemStyles}\n value={type}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { FormControlLabel, MenuItem, Switch } from '@mui/material';\nimport type { MRT_ColumnInstance, MRT_TableInstance } from '..';\nimport { commonMenuItemStyles } from './MRT_ColumnActionMenu';\n\ninterface Props {\n column: MRT_ColumnInstance;\n isSubMenu?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenuItems: FC<Props> = ({\n column,\n isSubMenu,\n tableInstance,\n}) => {\n const {\n getState,\n options: { onColumnHide },\n } = tableInstance;\n\n const { columnVisibility } = getState();\n\n const switchChecked =\n (column.columnDefType !== 'group' && column.getIsVisible()) ||\n (column.columnDefType === 'group' &&\n column.getLeafColumns().some((col) => col.getIsVisible()));\n\n const handleToggleColumnHidden = (column: MRT_ColumnInstance) => {\n if (column.columnDefType === 'group') {\n column?.columns?.forEach?.((childColumn: MRT_ColumnInstance) => {\n childColumn.toggleVisibility(!switchChecked);\n });\n } else {\n column.toggleVisibility();\n }\n onColumnHide?.(\n column,\n Object.entries(columnVisibility)\n .filter((entry) => entry[1])\n .map((entry) => entry[0]),\n );\n };\n\n return (\n <>\n <MenuItem\n sx={{ ...commonMenuItemStyles, pl: `${(column.depth + 0.5) * 2}rem` }}\n >\n <FormControlLabel\n componentsProps={{ typography: { sx: { marginBottom: 0 } } }}\n checked={switchChecked}\n control={<Switch />}\n disabled={\n (isSubMenu && switchChecked) || column.enableHiding === false\n }\n label={column.header}\n onChange={() => handleToggleColumnHidden(column)}\n />\n </MenuItem>\n {column.columns?.map((c: MRT_ColumnInstance, i) => (\n <MRT_ShowHideColumnsMenuItems\n key={`${i}-${c.id}`}\n column={c}\n isSubMenu={isSubMenu}\n tableInstance={tableInstance}\n />\n ))}\n </>\n );\n};\n","import React, { FC, useMemo } from 'react';\nimport { Button, Menu, Divider, Box } from '@mui/material';\nimport { MRT_ShowHideColumnsMenuItems } from './MRT_ShowHideColumnsMenuItems';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n isSubMenu?: boolean;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenu: FC<Props> = ({\n anchorEl,\n isSubMenu,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getAllColumns,\n getIsAllColumnsVisible,\n getIsSomeColumnsVisible,\n getIsSomeColumnsPinned,\n getState,\n toggleAllColumnsVisible,\n getAllLeafColumns,\n options: { localization },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const hideAllColumns = () => {\n getAllLeafColumns()\n .filter((col) => col.enableHiding !== false)\n .forEach((col) => col.toggleVisibility(false));\n };\n\n const allDisplayColumns = useMemo(\n () => getAllColumns().filter((col) => col.columnDefType === 'display'),\n [getAllColumns()],\n );\n\n const allDataColumns = useMemo(() => {\n const dataColumns = getAllColumns().filter(\n (col) => col.columnDefType !== 'display',\n );\n return getIsSomeColumnsPinned()\n ? [\n ...dataColumns.filter((c) => c.getIsPinned() === 'left'),\n ...dataColumns.filter((c) => c.getIsPinned() === false),\n ...dataColumns.filter((c) => c.getIsPinned() === 'right'),\n ]\n : dataColumns;\n }, [getAllColumns(), getState().columnPinning, getIsSomeColumnsPinned()]);\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: isSubMenu ? 'center' : 'space-between',\n p: '0.5rem',\n pt: 0,\n }}\n >\n {!isSubMenu && (\n <Button\n disabled={!getIsSomeColumnsVisible()}\n onClick={hideAllColumns}\n >\n {localization.hideAll}\n </Button>\n )}\n <Button\n disabled={getIsAllColumnsVisible()}\n onClick={() => toggleAllColumnsVisible(true)}\n >\n {localization.showAll}\n </Button>\n </Box>\n <Divider />\n {allDisplayColumns.map((column, index) => (\n <MRT_ShowHideColumnsMenuItems\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n tableInstance={tableInstance}\n />\n ))}\n <Divider />\n {allDataColumns.map((column, index) => (\n <MRT_ShowHideColumnsMenuItems\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n tableInstance={tableInstance}\n />\n ))}\n </Menu>\n );\n};\n","import React, { FC, useState } from 'react';\nimport { Box, IconButton, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterTypeMenu } from './MRT_FilterTypeMenu';\nimport { MRT_ShowHideColumnsMenu } from './MRT_ShowHideColumnsMenu';\n\nexport const commonMenuItemStyles = {\n py: '6px',\n my: 0,\n justifyContent: 'space-between',\n alignItems: 'center',\n};\n\nexport const commonListItemStyles = {\n display: 'flex',\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header: MRT_Header;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ColumnActionMenu: FC<Props> = ({\n anchorEl,\n header,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n toggleAllColumnsVisible,\n setColumnOrder,\n options: {\n enableColumnFilters,\n enableColumnPinning,\n enableGrouping,\n enableHiding,\n enableSorting,\n icons: {\n ArrowRightIcon,\n ClearAllIcon,\n ViewColumnIcon,\n DynamicFeedIcon,\n FilterListIcon,\n FilterListOffIcon,\n PushPinIcon,\n SortIcon,\n VisibilityOffIcon,\n },\n idPrefix,\n localization,\n setShowFilters,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const { isDensePadding, columnVisibility } = getState();\n\n const [filterMenuAnchorEl, setFilterMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const [showHideColumnsMenuAnchorEl, setShowHideColumnsMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const handleClearSort = () => {\n column.resetSorting();\n setAnchorEl(null);\n };\n\n const handleSortAsc = () => {\n column.toggleSorting(false);\n setAnchorEl(null);\n };\n\n const handleSortDesc = () => {\n column.toggleSorting(true);\n setAnchorEl(null);\n };\n\n const handleHideColumn = () => {\n column.toggleVisibility(false);\n setAnchorEl(null);\n };\n\n const handlePinColumn = (pinDirection: 'left' | 'right' | false) => {\n column.pin(pinDirection);\n };\n\n const handleGroupByColumn = () => {\n column.toggleGrouping();\n setColumnOrder((old) => ['mrt-expand', ...old]);\n setAnchorEl(null);\n };\n\n const handleClearFilter = () => {\n column.setColumnFilterValue('');\n setAnchorEl(null);\n };\n\n const handleFilterByColumn = () => {\n setShowFilters(true);\n setTimeout(\n () =>\n document\n .getElementById(\n // @ts-ignore\n header.muiTableHeadCellFilterTextFieldProps?.id ??\n `mrt-${idPrefix}-${header.id}-filter-text-field`,\n )\n ?.focus(),\n 200,\n );\n setAnchorEl(null);\n };\n\n const handleShowAllColumns = () => {\n toggleAllColumnsVisible(true);\n setAnchorEl(null);\n };\n\n const handleOpenFilterModeMenu = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setFilterMenuAnchorEl(event.currentTarget);\n };\n\n const handleOpenShowHideColumnsMenu = (\n event: React.MouseEvent<HTMLElement>,\n ) => {\n event.stopPropagation();\n setShowHideColumnsMenuAnchorEl(event.currentTarget);\n };\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableSorting &&\n column.getCanSort() && [\n <MenuItem\n disabled={!column.getIsSorted()}\n key={0}\n onClick={handleClearSort}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ClearAllIcon />\n </ListItemIcon>\n {localization.clearSort}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsSorted() === 'asc'}\n key={1}\n onClick={handleSortAsc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon />\n </ListItemIcon>\n {localization.sortByColumnAsc?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableColumnFilters || enableGrouping || enableHiding}\n key={2}\n disabled={column.getIsSorted() === 'desc'}\n onClick={handleSortDesc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon style={{ transform: 'rotate(180deg) scaleX(-1)' }} />\n </ListItemIcon>\n {localization.sortByColumnDesc?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnFilters &&\n column.getCanColumnFilter() && [\n <MenuItem\n disabled={!column.getColumnFilterValue()}\n key={0}\n onClick={handleClearFilter}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListOffIcon />\n </ListItemIcon>\n {localization.clearFilter}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableGrouping || enableHiding}\n key={1}\n onClick={handleFilterByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListIcon />\n </ListItemIcon>\n {localization.filterByColumn?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n {!column.filterSelectOptions && (\n <IconButton\n onClick={handleOpenFilterModeMenu}\n onMouseEnter={handleOpenFilterModeMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </MenuItem>,\n <MRT_FilterTypeMenu\n anchorEl={filterMenuAnchorEl}\n header={header}\n key={2}\n onSelect={handleFilterByColumn}\n setAnchorEl={setFilterMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n {enableGrouping &&\n column.getCanGroup() && [\n <MenuItem\n divider={enableColumnPinning}\n key={0}\n onClick={handleGroupByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <DynamicFeedIcon />\n </ListItemIcon>\n {localization[\n column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn'\n ]?.replace('{column}', String(column.header))}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnPinning &&\n column.getCanPin() && [\n <MenuItem\n disabled={column.getIsPinned() === 'left'}\n key={0}\n onClick={() => handlePinColumn('left')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(90deg)' }} />\n </ListItemIcon>\n {localization.pinToLeft}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsPinned() === 'right'}\n key={0}\n onClick={() => handlePinColumn('right')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(-90deg)' }} />\n </ListItemIcon>\n {localization.pinToRight}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={!column.getIsPinned()}\n divider={enableHiding}\n key={0}\n onClick={() => handlePinColumn(false)}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon />\n </ListItemIcon>\n {localization.unpin}\n </Box>\n </MenuItem>,\n ]}\n {enableHiding && [\n <MenuItem\n disabled={column.enableHiding === false}\n key={0}\n onClick={handleHideColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <VisibilityOffIcon />\n </ListItemIcon>\n {localization.hideColumn?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={\n !Object.values(columnVisibility).filter((visible) => !visible)\n .length\n }\n key={1}\n onClick={handleShowAllColumns}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ViewColumnIcon />\n </ListItemIcon>\n {localization.showAllColumns?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n <IconButton\n onClick={handleOpenShowHideColumnsMenu}\n onMouseEnter={handleOpenShowHideColumnsMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n </MenuItem>,\n <MRT_ShowHideColumnsMenu\n anchorEl={showHideColumnsMenuAnchorEl}\n isSubMenu\n key={2}\n setAnchorEl={setShowHideColumnsMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\nimport {\n commonListItemStyles,\n commonMenuItemStyles,\n} from './MRT_ColumnActionMenu';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n handleEdit: () => void;\n row: MRT_Row;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_RowActionMenu: FC<Props> = ({\n anchorEl,\n handleEdit,\n row,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { EditIcon },\n enableRowEditing,\n localization,\n renderRowActionMenuItems,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableRowEditing && (\n <MenuItem onClick={handleEdit} sx={commonMenuItemStyles}>\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <EditIcon />\n </ListItemIcon>\n {localization.edit}\n </Box>\n </MenuItem>\n )}\n {renderRowActionMenuItems?.(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 type { MRT_Row, MRT_TableInstance } from '..';\nimport { RowValues } from '@tanstack/react-table';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditActionButtons: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { CancelIcon, SaveIcon },\n localization,\n onRowEditSubmit,\n setCurrentEditingRow,\n },\n } = tableInstance;\n\n const handleCancel = () => {\n row.values = (row.original as RowValues) ?? {};\n setCurrentEditingRow(null);\n };\n\n const handleSave = async () => {\n await onRowEditSubmit?.(getState().currentEditingRow ?? row);\n setCurrentEditingRow(null);\n };\n\n return (\n <Box sx={{ display: 'flex', gap: '0.75rem' }}>\n <Tooltip arrow title={localization.cancel}>\n <IconButton aria-label={localization.cancel} onClick={handleCancel}>\n <CancelIcon />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.save}>\n <IconButton\n aria-label={localization.save}\n color=\"info\"\n onClick={handleSave}\n >\n <SaveIcon />\n </IconButton>\n </Tooltip>\n </Box>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_RowActionMenu } from '../menus/MRT_RowActionMenu';\nimport { MRT_EditActionButtons } from './MRT_EditActionButtons';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\nconst commonIconButtonStyles = {\n height: '2rem',\n ml: '10px',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n};\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleRowActionMenuButton: FC<Props> = ({\n row,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enableRowEditing,\n icons: { EditIcon, MoreHorizIcon },\n localization,\n renderRowActionMenuItems,\n renderRowActions,\n setCurrentEditingRow,\n },\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleOpenRowActionMenu = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const handleEdit = () => {\n setCurrentEditingRow({ ...row });\n setAnchorEl(null);\n };\n\n return (\n <>\n {renderRowActions ? (\n <>{renderRowActions(row, tableInstance)}</>\n ) : row.id === currentEditingRow?.id ? (\n <MRT_EditActionButtons row={row} tableInstance={tableInstance} />\n ) : !renderRowActionMenuItems && enableRowEditing ? (\n <Tooltip placement=\"right\" arrow title={localization.edit}>\n <IconButton sx={commonIconButtonStyles} onClick={handleEdit}>\n <EditIcon />\n </IconButton>\n </Tooltip>\n ) : renderRowActionMenuItems ? (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.rowActions}\n >\n <IconButton\n aria-label={localization.rowActions}\n onClick={handleOpenRowActionMenu}\n size=\"small\"\n sx={commonIconButtonStyles}\n >\n <MoreHorizIcon />\n </IconButton>\n </Tooltip>\n <MRT_RowActionMenu\n anchorEl={anchorEl}\n handleEdit={handleEdit}\n row={row}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n ) : null}\n </>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { Checkbox, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row?: MRT_Row;\n selectAll?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SelectCheckbox: FC<Props> = ({\n row,\n selectAll,\n tableInstance,\n}) => {\n const {\n getRowModel,\n getSelectedRowModel,\n getState,\n getToggleAllRowsSelectedProps,\n options: {\n isLoading,\n localization,\n muiSelectCheckboxProps,\n onSelectChange,\n onSelectAllChange,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleSelectChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (selectAll) {\n getToggleAllRowsSelectedProps?.()?.onChange?.(event as any);\n onSelectAllChange?.(\n event,\n event.target.checked ? getRowModel().flatRows : [],\n );\n } else if (row) {\n row?.getToggleSelectedProps()?.onChange?.(event as any);\n onSelectChange?.(\n event,\n row,\n event.target.checked\n ? [...getSelectedRowModel().flatRows, row]\n : getSelectedRowModel().flatRows.filter(\n (selectedRow) => selectedRow.id !== row.id,\n ),\n );\n }\n };\n\n const mTableBodyRowSelectCheckboxProps =\n muiSelectCheckboxProps instanceof Function\n ? muiSelectCheckboxProps(selectAll, row, tableInstance)\n : muiSelectCheckboxProps;\n\n const rtSelectCheckboxProps = selectAll\n ? getToggleAllRowsSelectedProps()\n : row?.getToggleSelectedProps();\n\n const checkboxProps = {\n ...rtSelectCheckboxProps,\n ...mTableBodyRowSelectCheckboxProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={\n selectAll ? localization.toggleSelectAll : localization.toggleSelectRow\n }\n >\n <Checkbox\n disabled={isLoading}\n inputProps={{\n 'aria-label': selectAll\n ? localization.toggleSelectAll\n : localization.toggleSelectRow,\n }}\n size={isDensePadding ? 'small' : 'medium'}\n {...checkboxProps}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n onChange={handleSelectChange}\n title={undefined}\n />\n </Tooltip>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Collapse,\n debounce,\n IconButton,\n InputAdornment,\n TextField,\n Tooltip,\n} from '@mui/material';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n setGlobalFilter,\n options: {\n icons: { SearchIcon, CloseIcon },\n idPrefix,\n localization,\n muiSearchTextFieldProps,\n onGlobalFilterChange,\n },\n } = tableInstance;\n\n const { globalFilter, showSearch } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [searchValue, setSearchValue] = useState(globalFilter ?? '');\n\n const handleChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n setGlobalFilter(event.target.value ?? undefined);\n onGlobalFilterChange?.(event);\n }, 200),\n [],\n );\n\n const handleGlobalFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setSearchValue('');\n setGlobalFilter(undefined);\n };\n\n return (\n <Collapse in={showSearch} orientation=\"horizontal\">\n <TextField\n id={`mrt-${idPrefix}-search-text-field`}\n placeholder={localization.search}\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setSearchValue(event.target.value);\n handleChange(event);\n }}\n value={searchValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeSearchMode}>\n <span>\n <IconButton\n aria-label={localization.changeSearchMode}\n onClick={handleGlobalFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <SearchIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={localization.clearSearch}\n disabled={searchValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n title={localization.clearSearch}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n {...muiSearchTextFieldProps}\n sx={{ justifySelf: 'end', ...muiSearchTextFieldProps?.sx }}\n />\n <MRT_FilterTypeMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FullScreenToggleButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FullscreenExitIcon, FullscreenIcon },\n localization,\n setIsFullScreen,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n return (\n <Tooltip arrow title={localization.toggleFullScreen}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={() => setIsFullScreen(!isFullScreen)}\n size=\"small\"\n {...rest}\n >\n {isFullScreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip, IconButtonProps } from '@mui/material';\nimport { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n options: {\n icons: { ViewColumnIcon },\n localization,\n },\n } = tableInstance;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n return (\n <>\n <Tooltip arrow title={localization.showHideColumns}>\n <IconButton\n aria-label={localization.showHideColumns}\n onClick={handleClick}\n size=\"small\"\n {...rest}\n >\n <ViewColumnIcon />\n </IconButton>\n </Tooltip>\n <MRT_ShowHideColumnsMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleDensePaddingButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { DensityMediumIcon, DensitySmallIcon },\n localization,\n setIsDensePadding,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Tooltip arrow title={localization.toggleDensePadding}>\n <IconButton\n aria-label={localization.toggleDensePadding}\n onClick={() => setIsDensePadding(!isDensePadding)}\n size=\"small\"\n {...rest}\n >\n {isDensePadding ? <DensitySmallIcon /> : <DensityMediumIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleFiltersButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, FilterListOffIcon },\n localization,\n setShowFilters,\n },\n } = tableInstance;\n\n const { showFilters } = getState();\n\n return (\n <Tooltip arrow title={localization.showHideFilters}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={() => setShowFilters(!showFilters)}\n size=\"small\"\n {...rest}\n >\n {showFilters ? <FilterListOffIcon /> : <FilterListIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleSearchButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { SearchIcon, SearchOffIcon },\n idPrefix,\n localization,\n muiSearchTextFieldProps,\n setShowSearch,\n },\n } = tableInstance;\n\n const { showSearch } = getState();\n\n const handleToggleSearch = () => {\n setShowSearch(!showSearch);\n setTimeout(\n () =>\n document\n .getElementById(\n muiSearchTextFieldProps?.id ?? `mrt-${idPrefix}-search-text-field`,\n )\n ?.focus(),\n 200,\n );\n };\n\n return (\n <Tooltip arrow title={localization.showHideSearch}>\n <IconButton size=\"small\" onClick={handleToggleSearch} {...rest}>\n {showSearch ? <SearchOffIcon /> : <SearchIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { Box } from '@mui/material';\nimport { MRT_FullScreenToggleButton } from '../buttons/MRT_FullScreenToggleButton';\nimport { MRT_ShowHideColumnsButton } from '../buttons/MRT_ShowHideColumnsButton';\nimport { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingButton';\nimport { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';\nimport { MRT_ToggleSearchButton } from '../buttons/MRT_ToggleSearchButton';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarInternalButtons: FC<Props> = ({ tableInstance }) => {\n const {\n options: {\n enableColumnFilters,\n enableHiding,\n enableDensePaddingToggle,\n enableGlobalFilter,\n enableFullScreenToggle,\n renderToolbarInternalActions,\n },\n } = tableInstance;\n\n if (renderToolbarInternalActions) {\n return (\n <>\n {renderToolbarInternalActions(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 {enableGlobalFilter && (\n <MRT_ToggleSearchButton tableInstance={tableInstance} />\n )}\n {enableColumnFilters && (\n <MRT_ToggleFiltersButton tableInstance={tableInstance} />\n )}\n {enableHiding && (\n <MRT_ShowHideColumnsButton tableInstance={tableInstance} />\n )}\n {enableDensePaddingToggle && (\n <MRT_ToggleDensePaddingButton tableInstance={tableInstance} />\n )}\n {enableFullScreenToggle && (\n <MRT_FullScreenToggleButton tableInstance={tableInstance} />\n )}\n </Box>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { TablePagination } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePagination: FC<Props> = ({ tableInstance }) => {\n const {\n getPrePaginationRowModel,\n getState,\n setPageIndex,\n setPageSize,\n options: { muiTablePaginationProps },\n } = tableInstance;\n\n const {\n pagination: { pageSize = 10, pageIndex = 0 },\n } = getState();\n\n const tablePaginationProps =\n muiTablePaginationProps instanceof Function\n ? muiTablePaginationProps(tableInstance)\n : muiTablePaginationProps;\n\n const handleChangeRowsPerPage = (event: ChangeEvent<HTMLInputElement>) => {\n setPageSize(+event.target.value);\n };\n\n const showFirstLastPageButtons =\n getPrePaginationRowModel().rows.length / pageSize > 2;\n\n return (\n <TablePagination\n component=\"div\"\n count={getPrePaginationRowModel().rows.length}\n onPageChange={(_: any, newPage: number) => setPageIndex(newPage)}\n onRowsPerPageChange={handleChangeRowsPerPage}\n page={pageIndex}\n rowsPerPage={pageSize}\n SelectProps={{ sx: { m: '0 1rem 0 1ch' } }}\n showFirstButton={showFirstLastPageButtons}\n showLastButton={showFirstLastPageButtons}\n {...tablePaginationProps}\n sx={{\n m: '0 0.5rem',\n position: 'relative',\n zIndex: 2,\n ...tablePaginationProps?.sx,\n }}\n />\n );\n};\n","import React, { FC, Fragment } from 'react';\nimport { Alert, Box, Chip, Collapse, useMediaQuery } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarAlertBanner: FC<Props> = ({ tableInstance }) => {\n const {\n getPrePaginationRowModel,\n getSelectedRowModel,\n getState,\n toggleColumnGrouping,\n options: {\n localization,\n muiTableToolbarAlertBannerProps,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { grouping } = getState();\n\n const isMobile = useMediaQuery('(max-width:720px)');\n\n const alertProps =\n muiTableToolbarAlertBannerProps instanceof Function\n ? muiTableToolbarAlertBannerProps(tableInstance)\n : muiTableToolbarAlertBannerProps;\n\n const selectMessage =\n getSelectedRowModel().rows.length > 0\n ? localization.selectedCountOfRowCountRowsSelected\n ?.replace(\n '{selectedCount}',\n getSelectedRowModel().rows.length.toString(),\n )\n ?.replace(\n '{rowCount}',\n getPrePaginationRowModel().rows.length.toString(),\n )\n : null;\n\n const groupedByMessage =\n grouping.length > 0 ? (\n <span>\n {localization.groupedBy}{' '}\n {grouping.map((columnId, index) => (\n <Fragment key={`${index}-${columnId}`}>\n {index > 0 ? localization.thenBy : ''}\n <Chip\n color=\"secondary\"\n label={\n tableInstance\n .getAllColumns()\n .find((column) => column.id === columnId)?.header\n }\n onDelete={() => toggleColumnGrouping(columnId)}\n />\n </Fragment>\n ))}\n </span>\n ) : null;\n\n const displayAbsolute = !(\n isMobile ||\n (positionToolbarAlertBanner === 'bottom' &&\n positionToolbarActions === 'bottom') ||\n (positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions)\n );\n\n return (\n <Collapse\n in={!!selectMessage || !!groupedByMessage}\n timeout={displayAbsolute ? 0 : 200}\n >\n <Alert\n color=\"info\"\n icon={false}\n sx={{\n borderRadius: 0,\n fontSize: '1rem',\n left: 0,\n p: 0,\n position: displayAbsolute ? 'absolute' : 'relative',\n right: 0,\n minHeight: '3.5rem',\n top: 0,\n width: '100%',\n zIndex: 2,\n ...alertProps?.sx,\n }}\n {...alertProps}\n >\n <Box sx={{ p: '0.5rem 1rem' }}>\n {selectMessage}\n {groupedByMessage}\n </Box>\n </Alert>\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Collapse, LinearProgress } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_LinearProgressBar: FC<Props> = ({ tableInstance }) => {\n const {\n options: { muiLinearProgressProps, isReloading, isLoading },\n } = tableInstance;\n\n const linearProgressProps =\n muiLinearProgressProps instanceof Function\n ? muiLinearProgressProps(tableInstance)\n : muiLinearProgressProps;\n\n return (\n <Collapse in={isReloading || isLoading} unmountOnExit>\n <LinearProgress\n aria-label=\"Loading\"\n aria-busy=\"true\"\n {...linearProgressProps}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Theme, Toolbar } from '@mui/material';\nimport { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { MRT_TableInstance } from '..';\n\nexport const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n display: 'grid',\n p: '0 !important',\n width: '100%',\n zIndex: 1,\n});\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n enableGlobalFilter,\n enablePagination,\n hideToolbarInternalActions,\n idPrefix,\n muiTableToolbarTopProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const toolbarProps =\n muiTableToolbarTopProps instanceof Function\n ? muiTableToolbarTopProps(tableInstance)\n : muiTableToolbarTopProps;\n\n return (\n <Toolbar\n id={`mrt-${idPrefix}-toolbar-top`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n position: isFullScreen ? 'sticky' : undefined,\n top: isFullScreen ? '0' : undefined,\n ...commonToolbarStyles({ theme }),\n ...toolbarProps?.sx,\n } as any)\n }\n >\n {positionToolbarAlertBanner === 'top' && (\n <MRT_ToolbarAlertBanner tableInstance={tableInstance} />\n )}\n <Box\n sx={{\n p: '0.5rem',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n {renderToolbarCustomActions?.(tableInstance) ?? <span />}\n <Box\n sx={{\n display: 'flex',\n gap: '0.5rem',\n position: 'relative',\n zIndex: 3,\n }}\n >\n {enableGlobalFilter && (\n <MRT_SearchTextField tableInstance={tableInstance} />\n )}\n {!hideToolbarInternalActions && positionToolbarActions === 'top' && (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n )}\n </Box>\n </Box>\n <div>\n {enablePagination &&\n ['top', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </div>\n <MRT_LinearProgressBar tableInstance={tableInstance} />\n </Toolbar>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Toolbar } from '@mui/material';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { commonToolbarStyles } from './MRT_ToolbarTop';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n hideToolbarInternalActions,\n idPrefix,\n enablePagination,\n muiTableToolbarBottomProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const toolbarProps =\n muiTableToolbarBottomProps instanceof Function\n ? muiTableToolbarBottomProps(tableInstance)\n : muiTableToolbarBottomProps;\n\n return (\n <Toolbar\n id={`mrt-${idPrefix}-toolbar-bottom`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n ...commonToolbarStyles({ theme }),\n bottom: isFullScreen ? '0' : undefined,\n position: isFullScreen ? 'fixed' : undefined,\n boxShadow: `-3px 0 6px ${alpha(theme.palette.common.black, 0.1)}`,\n ...toolbarProps?.sx,\n } as any)\n }\n >\n <MRT_LinearProgressBar tableInstance={tableInstance} />\n <Box\n sx={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}\n >\n {!hideToolbarInternalActions && positionToolbarActions === 'bottom' ? (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n ) : (\n <span />\n )}\n {positionToolbarAlertBanner === 'bottom' && (\n <MRT_ToolbarAlertBanner tableInstance={tableInstance} />\n )}\n {enablePagination &&\n ['bottom', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </Box>\n </Toolbar>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Chip,\n debounce,\n IconButton,\n InputAdornment,\n MenuItem,\n TextField,\n TextFieldProps,\n Tooltip,\n} from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\nimport { MRT_FILTER_TYPE } from '../enums';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterTextField: FC<Props> = ({ header, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, CloseIcon },\n idPrefix,\n localization,\n muiTableHeadCellFilterTextFieldProps,\n setCurrentFilterTypes,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const { currentFilterTypes } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const mTableHeadCellFilterTextFieldProps =\n muiTableHeadCellFilterTextFieldProps instanceof Function\n ? muiTableHeadCellFilterTextFieldProps(column)\n : muiTableHeadCellFilterTextFieldProps;\n\n const mcTableHeadCellFilterTextFieldProps =\n column.muiTableHeadCellFilterTextFieldProps instanceof Function\n ? column.muiTableHeadCellFilterTextFieldProps(column)\n : column.muiTableHeadCellFilterTextFieldProps;\n\n const textFieldProps = {\n ...mTableHeadCellFilterTextFieldProps,\n ...mcTableHeadCellFilterTextFieldProps,\n } as TextFieldProps;\n\n const [filterValue, setFilterValue] = useState<string>(\n (column.getColumnFilterValue() ?? '') as string,\n );\n\n const handleChange = useCallback(\n debounce(\n (event: ChangeEvent<HTMLInputElement>) =>\n column.setColumnFilterValue(event.target.value ?? undefined),\n 150,\n ),\n [],\n );\n\n const handleFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setFilterValue('');\n column.setColumnFilterValue(undefined);\n };\n\n const handleClearFilterChip = () => {\n setFilterValue('');\n column.setColumnFilterValue(undefined);\n setCurrentFilterTypes((prev) => ({\n ...prev,\n [header.id]: MRT_FILTER_TYPE.BEST_MATCH,\n }));\n };\n\n if (column.Filter) {\n return <>{column.Filter?.({ header, tableInstance })}</>;\n }\n\n const filterId = `mrt-${idPrefix}-${header.id}-filter-text-field`;\n const filterType = currentFilterTypes?.[header.id];\n const isSelectFilter = !!column.filterSelectOptions;\n const filterChipLabel =\n !(filterType instanceof Function) &&\n [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(\n filterType as MRT_FILTER_TYPE,\n )\n ? //@ts-ignore\n localization[\n `filter${filterType.charAt(0).toUpperCase() + filterType.slice(1)}`\n ]\n : '';\n const filterPlaceholder = localization.filterByColumn?.replace(\n '{column}',\n String(column.header),\n );\n\n return (\n <>\n <TextField\n fullWidth\n id={filterId}\n inputProps={{\n disabled: !!filterChipLabel,\n sx: {\n textOverflow: 'ellipsis',\n width: filterChipLabel ? 0 : undefined,\n },\n title: filterPlaceholder,\n }}\n helperText={\n <label htmlFor={filterId}>\n {filterType instanceof Function\n ? localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterType.name.charAt(0).toUpperCase() +\n filterType.name.slice(1)\n }`\n ] ?? '',\n ) ?? ''\n : localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterType.charAt(0).toUpperCase() + filterType.slice(1)\n }`\n ],\n )}\n </label>\n }\n FormHelperTextProps={{\n sx: { fontSize: '0.6rem', lineHeight: '0.8rem' },\n }}\n label={isSelectFilter && !filterValue ? filterPlaceholder : undefined}\n margin=\"none\"\n placeholder={\n filterPlaceholder\n // filterChipLabel || isSelectFilter ? undefined : filterPlaceholder\n }\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(event.target.value);\n handleChange(event);\n }}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n select={isSelectFilter}\n value={filterValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: !isSelectFilter && (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeFilterMode}>\n <span>\n <IconButton\n aria-label={localization.changeFilterMode}\n onClick={handleFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <FilterListIcon />\n </IconButton>\n </span>\n </Tooltip>\n {filterChipLabel && (\n <Chip\n onDelete={handleClearFilterChip}\n label={filterChipLabel}\n />\n )}\n </InputAdornment>\n ),\n endAdornment: !filterChipLabel && (\n <InputAdornment position=\"end\">\n <Tooltip\n arrow\n disableHoverListener={isSelectFilter}\n placement=\"right\"\n title={localization.clearFilter ?? ''}\n >\n <span>\n <IconButton\n aria-label={localization.clearFilter}\n disabled={!filterValue?.length}\n onClick={handleClear}\n size=\"small\"\n sx={{\n height: '1.75rem',\n width: '1.75rem',\n }}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{\n m: '-0.25rem',\n p: 0,\n minWidth: !filterChipLabel ? '5rem' : 'auto',\n width: 'calc(100% + 0.5rem)',\n mt: isSelectFilter && !filterValue ? '-1rem' : undefined,\n '&\t.MuiSelect-icon': {\n mr: '1.5rem',\n },\n ...textFieldProps?.sx,\n }}\n >\n {isSelectFilter && (\n <MenuItem divider disabled={!filterValue} value=\"\">\n {localization.clearFilter}\n </MenuItem>\n )}\n {column?.filterSelectOptions?.map((option) => {\n let value;\n let text;\n if (typeof option === 'string') {\n value = option;\n text = option;\n } else if (typeof option === 'object') {\n value = option.value;\n text = option.text;\n }\n return (\n <MenuItem key={value} value={value}>\n {text}\n </MenuItem>\n );\n })}\n </TextField>\n <MRT_FilterTypeMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleColumnActionMenuButton: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n options: {\n icons: { MoreVertIcon },\n localization,\n muiTableHeadCellColumnActionsButtonProps,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const mTableHeadCellColumnActionsButtonProps =\n muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? muiTableHeadCellColumnActionsButtonProps(column)\n : muiTableHeadCellColumnActionsButtonProps;\n\n const mcTableHeadCellColumnActionsButtonProps =\n column.muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? column.muiTableHeadCellColumnActionsButtonProps(column)\n : column.muiTableHeadCellColumnActionsButtonProps;\n\n const iconButtonProps = {\n ...mTableHeadCellColumnActionsButtonProps,\n ...mcTableHeadCellColumnActionsButtonProps,\n };\n\n return (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.columnActions}\n >\n <IconButton\n aria-label={localization.columnActions}\n onClick={handleClick}\n size=\"small\"\n {...iconButtonProps}\n sx={{\n height: '2rem',\n mr: '2px',\n mt: '-0.2rem',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n ...iconButtonProps.sx,\n }}\n >\n <MoreVertIcon />\n </IconButton>\n </Tooltip>\n <MRT_ColumnActionMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport {\n TableCell,\n TableSortLabel,\n Divider,\n Collapse,\n Tooltip,\n Box,\n IconButton,\n alpha,\n Theme,\n} from '@mui/material';\nimport { MRT_FilterTextField } from '../inputs/MRT_FilterTextField';\nimport { MRT_ToggleColumnActionMenuButton } from '../buttons/MRT_ToggleColumnActionMenuButton';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { ColumnResizerProps } from '@tanstack/react-table';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCell: FC<Props> = ({ header, tableInstance }) => {\n const {\n getState,\n options: {\n enableColumnActions,\n enableColumnFilters,\n enableColumnResizing,\n icons: { FilterAltIcon, FilterAltOff },\n localization,\n muiTableHeadCellProps,\n setShowFilters,\n },\n } = tableInstance;\n\n const { isDensePadding, showFilters } = getState();\n\n const { column } = header;\n\n const mTableHeadCellProps =\n muiTableHeadCellProps instanceof Function\n ? muiTableHeadCellProps(column)\n : muiTableHeadCellProps;\n\n const mcTableHeadCellProps =\n column.muiTableHeadCellProps instanceof Function\n ? column.muiTableHeadCellProps(column)\n : column.muiTableHeadCellProps;\n\n const tableCellProps = {\n ...header.getHeaderProps(),\n ...mTableHeadCellProps,\n ...mcTableHeadCellProps,\n };\n\n const sortTooltip = !!column.getIsSorted()\n ? column.getIsSorted() === 'desc'\n ? localization.clearSort\n : localization.sortByColumnDesc.replace(\n '{column}',\n column.header as string,\n )\n : localization.sortByColumnAsc.replace('{column}', column.header as string);\n\n // const filterType = getState()?.currentFilterTypes?.[id];\n\n const filterTooltip = '';\n // !!getColumnFilterValue()\n // ? localization.filteringByColumn\n // .replace('{column}', String(headerString))\n // .replace(\n // '{filterType}',\n // filterType instanceof Function\n // ? ''\n // : // @ts-ignore\n // localization[\n // `filter${\n // filterType.charAt(0).toUpperCase() + filterType.slice(1)\n // }`\n // ],\n // )\n // .replace(\n // '{filterValue}',\n // getColumnFilterValue() as string,\n // )\n // .replace('\" \"', '')\n // : localization.showHideFilters;\n\n const headerElement =\n column?.Header?.({\n header,\n tableInstance,\n }) ?? column.header;\n\n return (\n <TableCell\n align={column.columnDefType === 'group' ? 'center' : 'left'}\n {...tableCellProps}\n //@ts-ignore\n sx={(theme: Theme) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n boxShadow: `3px 0 6px ${alpha(theme.palette.common.black, 0.1)}`,\n fontWeight: 'bold',\n height: '100%',\n minWidth: `max(${header.getWidth()}, 100px)`,\n p: isDensePadding\n ? column.columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : column.columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pt:\n column.columnDefType === 'display'\n ? 0\n : isDensePadding\n ? '0.75rem'\n : '1.25rem',\n pb: column.columnDefType === 'display' ? 0 : undefined,\n transition: `all ${enableColumnResizing ? 0 : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n width: header.getWidth(),\n //@ts-ignore\n ...tableCellProps?.sx,\n })}\n >\n {header.isPlaceholder ? null : column.columnDefType === 'display' ? (\n headerElement\n ) : (\n <Box\n sx={{\n alignItems: 'flex-start',\n display: 'flex',\n justifyContent:\n column.columnDefType === 'group' ? 'center' : 'space-between',\n width: '100%',\n }}\n >\n <Box\n {...column.getToggleSortingProps()}\n sx={{\n alignItems: 'center',\n cursor:\n column.getCanSort() && column.columnDefType !== 'group'\n ? 'pointer'\n : undefined,\n display: 'flex',\n flexWrap: 'nowrap',\n whiteSpace: column.header.length < 15 ? 'nowrap' : 'normal',\n }}\n title={undefined}\n >\n {headerElement}\n {column.columnDefType !== 'group' && column.getCanSort() && (\n <Tooltip arrow placement=\"top\" title={sortTooltip}>\n <TableSortLabel\n aria-label={sortTooltip}\n active={!!column.getIsSorted()}\n direction={\n column.getIsSorted()\n ? (column.getIsSorted() as 'asc' | 'desc')\n : undefined\n }\n />\n </Tooltip>\n )}\n {column.columnDefType !== 'group' &&\n enableColumnFilters &&\n !!column.getCanColumnFilter() && (\n <Tooltip arrow placement=\"top\" title={filterTooltip}>\n <IconButton\n disableRipple\n onClick={(event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n setShowFilters(!showFilters);\n }}\n size=\"small\"\n sx={{\n m: 0,\n opacity: !!column.getColumnFilterValue() ? 0.8 : 0,\n p: '2px',\n transition: 'all 0.2s ease-in-out',\n '&:hover': {\n backgroundColor: 'transparent',\n opacity: 0.8,\n },\n }}\n >\n {showFilters && !column.getColumnFilterValue() ? (\n <FilterAltOff fontSize=\"small\" />\n ) : (\n <FilterAltIcon fontSize=\"small\" />\n )}\n </IconButton>\n </Tooltip>\n )}\n </Box>\n <Box\n sx={{ alignItems: 'center', display: 'flex', flexWrap: 'nowrap' }}\n >\n {(enableColumnActions || column.enableColumnActions) &&\n column.enableColumnActions !== false &&\n column.columnDefType !== 'group' && (\n <MRT_ToggleColumnActionMenuButton\n header={header}\n tableInstance={tableInstance}\n />\n )}\n {enableColumnResizing && column.columnDefType !== 'group' && (\n <Divider\n flexItem\n orientation=\"vertical\"\n onDoubleClick={() => header.resetSize()}\n sx={(theme: Theme) => ({\n borderRightWidth: '2px',\n borderRadius: '2px',\n maxHeight: '2rem',\n cursor: 'col-resize',\n userSelect: 'none',\n touchAction: 'none',\n '&:active': {\n backgroundColor: theme.palette.secondary.dark,\n opacity: 1,\n },\n })}\n {...(header.getResizerProps((props: ColumnResizerProps) => ({\n ...props,\n style: {\n transform: column.getIsResizing()\n ? `translateX(${\n getState().columnSizingInfo.deltaOffset\n }px)`\n : '',\n },\n })) as any)}\n />\n )}\n </Box>\n </Box>\n )}\n {column.columnDefType === 'data' &&\n enableColumnFilters &&\n column.getCanColumnFilter() && (\n <Collapse in={showFilters}>\n <MRT_FilterTextField\n header={header}\n tableInstance={tableInstance}\n />\n </Collapse>\n )}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableHeadCell } from './MRT_TableHeadCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n headerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadRow: FC<Props> = ({ headerGroup, tableInstance }) => {\n const {\n options: { muiTableHeadRowProps },\n } = tableInstance;\n\n const mTableHeadRowProps =\n muiTableHeadRowProps instanceof Function\n ? muiTableHeadRowProps(headerGroup)\n : muiTableHeadRowProps;\n\n const tableRowProps = {\n ...headerGroup?.getHeaderGroupProps(),\n ...mTableHeadRowProps,\n };\n\n return (\n <TableRow {...tableRowProps}>\n {headerGroup.headers.map((header: MRT_Header, index) => (\n <MRT_TableHeadCell\n header={header}\n key={header.id || index}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableHead } from '@mui/material';\nimport { MRT_TableHeadRow } from './MRT_TableHeadRow';\nimport type { MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHead: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getCenterHeaderGroups,\n getHeaderGroups,\n getLeftHeaderGroups,\n getRightHeaderGroups,\n options: { muiTableHeadProps },\n } = tableInstance;\n\n const tableHeadProps =\n muiTableHeadProps instanceof Function\n ? muiTableHeadProps(tableInstance)\n : muiTableHeadProps;\n\n const getHeaderGroupsMap = {\n center: getCenterHeaderGroups,\n left: getLeftHeaderGroups,\n none: getHeaderGroups,\n right: getRightHeaderGroups,\n };\n\n return (\n <TableHead {...tableHeadProps}>\n {getHeaderGroupsMap[pinned]().map((headerGroup) => (\n <MRT_TableHeadRow\n headerGroup={headerGroup as MRT_HeaderGroup}\n key={headerGroup.getHeaderGroupProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableHead>\n );\n};\n","import React, { ChangeEvent, FC, MouseEvent } from 'react';\nimport { TextField } from '@mui/material';\nimport type { MRT_Cell, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {\n const {\n getState,\n options: { muiTableBodyCellEditTextFieldProps },\n } = tableInstance;\n\n const { column, row } = cell;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (getState().currentEditingRow) {\n row.values[column.id] = event.target.value;\n // setCurrentEditingRow({\n // ...getState().currentEditingRow,\n // });\n }\n column.onCellEditChange?.(event, cell);\n };\n\n const mTableBodyCellEditTextFieldProps =\n muiTableBodyCellEditTextFieldProps instanceof Function\n ? muiTableBodyCellEditTextFieldProps(cell)\n : muiTableBodyCellEditTextFieldProps;\n\n const mcTableBodyCellEditTextFieldProps =\n column.muiTableBodyCellEditTextFieldProps instanceof Function\n ? column.muiTableBodyCellEditTextFieldProps(cell)\n : column.muiTableBodyCellEditTextFieldProps;\n\n const textFieldProps = {\n ...mTableBodyCellEditTextFieldProps,\n ...mcTableBodyCellEditTextFieldProps,\n };\n\n // if (enableEditing && Edit) {\n // return <>{Edit({ ...textFieldProps, cell })}</>;\n // }\n\n return (\n <TextField\n margin=\"dense\"\n onChange={handleChange}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n placeholder={column.header}\n value={cell.value}\n variant=\"standard\"\n {...textFieldProps}\n />\n );\n};\n","import React, { FC, ReactNode, useState } from 'react';\nimport { Button, Tooltip } from '@mui/material';\nimport { MRT_Cell, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n children: ReactNode;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_CopyButton: FC<Props> = ({\n cell,\n children,\n tableInstance,\n}) => {\n const {\n options: { localization, muiTableBodyCellCopyButtonProps },\n } = tableInstance;\n\n const [copied, setCopied] = useState(false);\n\n const handleCopy = (text: unknown) => {\n navigator.clipboard.writeText(text as string);\n setCopied(true);\n setTimeout(() => setCopied(false), 4000);\n };\n\n const mTableBodyCellCopyButtonProps =\n muiTableBodyCellCopyButtonProps instanceof Function\n ? muiTableBodyCellCopyButtonProps(cell)\n : muiTableBodyCellCopyButtonProps;\n\n const mcTableBodyCellCopyButtonProps =\n cell.column.muiTableBodyCellCopyButtonProps instanceof Function\n ? cell.column.muiTableBodyCellCopyButtonProps(cell)\n : cell.column.muiTableBodyCellCopyButtonProps;\n\n const buttonProps = {\n ...mTableBodyCellCopyButtonProps,\n ...mcTableBodyCellCopyButtonProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={copied ? localization.copiedToClipboard : localization.clickToCopy}\n >\n <Button\n aria-label={localization.clickToCopy}\n onClick={() => handleCopy(cell.value)}\n size=\"small\"\n {...buttonProps}\n sx={{\n backgroundColor: 'transparent',\n border: 'none',\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n letterSpacing: 'inherit',\n m: '-0.25rem',\n minWidth: 'unset',\n textAlign: 'inherit',\n textTransform: 'inherit',\n ...buttonProps?.sx,\n }}\n variant=\"text\"\n >\n {children}\n </Button>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useMemo } from 'react';\nimport { Skeleton, TableCell } from '@mui/material';\nimport { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';\nimport type { MRT_Cell, MRT_TableInstance } from '..';\nimport { MRT_CopyButton } from '../buttons/MRT_CopyButton';\n\ninterface Props {\n cell: MRT_Cell;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyCell: FC<Props> = ({ cell, tableInstance }) => {\n const {\n getIsSomeColumnsPinned,\n getState,\n options: {\n enableClickToCopy,\n enableColumnPinning,\n isLoading,\n muiTableBodyCellProps,\n muiTableBodyCellSkeletonProps,\n onCellClick,\n },\n } = tableInstance;\n\n const { currentEditingRow, isDensePadding } = getState();\n\n const { column, row } = cell;\n\n const mTableCellBodyProps =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps(cell)\n : muiTableBodyCellProps;\n\n const mcTableCellBodyProps =\n column.muiTableBodyCellProps instanceof Function\n ? column.muiTableBodyCellProps(cell)\n : column.muiTableBodyCellProps;\n\n const tableCellProps = {\n ...cell.getCellProps(),\n ...mTableCellBodyProps,\n ...mcTableCellBodyProps,\n };\n\n const skeletonWidth = useMemo(\n () =>\n column.columnDefType === 'display'\n ? column.getWidth() / 2\n : Math.random() * (column.getWidth() - column.getWidth() / 3) +\n column.getWidth() / 3,\n [column.columnDefType, column.getWidth()],\n );\n\n return (\n <TableCell\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onCellClick?.(event, cell)\n }\n {...tableCellProps}\n sx={{\n p: isDensePadding\n ? column.columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : column.columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pl:\n column.id === 'mrt-expand'\n ? `${row.depth + (isDensePadding ? 0.5 : 0.75)}rem`\n : undefined,\n transition: 'all 0.2s ease-in-out',\n whiteSpace:\n isDensePadding || (enableColumnPinning && getIsSomeColumnsPinned())\n ? 'nowrap'\n : 'normal',\n //@ts-ignore\n ...tableCellProps?.sx,\n }}\n >\n {isLoading ? (\n <Skeleton\n animation=\"wave\"\n height={20}\n width={skeletonWidth}\n {...muiTableBodyCellSkeletonProps}\n />\n ) : column.columnDefType === 'display' ? (\n column.Cell?.({ cell, tableInstance })\n ) : cell.getIsPlaceholder() ||\n (row.getIsGrouped() &&\n column.id !==\n row.groupingColumnId) ? null : cell.getIsAggregated() ? (\n cell.renderAggregatedCell()\n ) : column.enableEditing && currentEditingRow?.id === row.id ? (\n <MRT_EditCellTextField cell={cell} tableInstance={tableInstance} />\n ) : (enableClickToCopy || column.enableClickToCopy) &&\n column.enableClickToCopy !== false ? (\n <>\n <MRT_CopyButton cell={cell} tableInstance={tableInstance}>\n {cell.renderCell()}\n </MRT_CopyButton>\n {row.getIsGrouped() && <> ({row.subRows?.length})</>}\n </>\n ) : (\n <>\n {cell.renderCell()}\n {row.getIsGrouped() && <> ({row.subRows?.length})</>}\n </>\n )}\n </TableCell>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { Collapse, TableCell, TableRow } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableDetailPanel: FC<Props> = ({ row, tableInstance }) => {\n const {\n getVisibleFlatColumns,\n options: {\n muiTableBodyRowProps,\n muiTableDetailPanelProps,\n onDetailPanelClick,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const tableRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps(row)\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={getVisibleFlatColumns().length + 10}\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onDetailPanelClick?.(event, row)\n }\n {...tableCellProps}\n sx={{\n borderBottom: !row.getIsExpanded() ? 'none' : undefined,\n pb: row.getIsExpanded() ? '1rem' : 0,\n pt: row.getIsExpanded() ? '1rem' : 0,\n transition: 'all 0.2s ease-in-out',\n ...tableCellProps?.sx,\n }}\n >\n <Collapse in={row.getIsExpanded()}>{renderDetailPanel?.(row)}</Collapse>\n </TableCell>\n </TableRow>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableBodyCell } from './MRT_TableBodyCell';\nimport { MRT_TableDetailPanel } from './MRT_TableDetailPanel';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyRow: FC<Props> = ({ pinned, row, tableInstance }) => {\n const {\n options: { muiTableBodyRowProps, onRowClick, renderDetailPanel },\n } = tableInstance;\n\n const {\n getCenterVisibleCells,\n getIsGrouped,\n getIsSelected,\n getLeftVisibleCells,\n getRightVisibleCells,\n getRowProps,\n getVisibleCells,\n } = row;\n\n const mTableBodyRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps(row)\n : muiTableBodyRowProps;\n\n const tableRowProps = {\n ...getRowProps(),\n ...mTableBodyRowProps,\n };\n\n const getVisibleCellsMap = {\n center: getCenterVisibleCells,\n left: getLeftVisibleCells,\n none: getVisibleCells,\n right: getRightVisibleCells,\n };\n\n return (\n <>\n <TableRow\n hover\n onClick={(event: MouseEvent<HTMLTableRowElement>) =>\n onRowClick?.(event, row)\n }\n selected={getIsSelected()}\n {...tableRowProps}\n >\n {getVisibleCellsMap[pinned]().map((cell) => (\n <MRT_TableBodyCell\n cell={cell}\n key={cell.getCellProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n {renderDetailPanel && !getIsGrouped() && (\n <MRT_TableDetailPanel row={row} tableInstance={tableInstance} />\n )}\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { TableBody } from '@mui/material';\nimport { MRT_TableBodyRow } from './MRT_TableBodyRow';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBody: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getPaginationRowModel,\n getPrePaginationRowModel,\n getTableBodyProps,\n options: { enablePagination, muiTableBodyProps },\n } = tableInstance;\n\n const rows = enablePagination\n ? getPaginationRowModel().rows\n : getPrePaginationRowModel().rows;\n\n const mTableBodyProps =\n muiTableBodyProps instanceof Function\n ? muiTableBodyProps(tableInstance)\n : muiTableBodyProps;\n\n const tableBodyProps = {\n ...getTableBodyProps(),\n ...mTableBodyProps,\n };\n\n return (\n <TableBody {...tableBodyProps}>\n {rows.map((row) => (\n <MRT_TableBodyRow\n key={row.getRowProps().key}\n pinned={pinned}\n row={row}\n tableInstance={tableInstance}\n />\n ))}\n </TableBody>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, TableCell } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n footer: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterCell: FC<Props> = ({ footer, tableInstance }) => {\n const {\n getState,\n options: { muiTableFooterCellProps, enableColumnResizing },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const { column } = footer;\n\n const mTableFooterCellProps =\n muiTableFooterCellProps instanceof Function\n ? muiTableFooterCellProps(column)\n : muiTableFooterCellProps;\n\n const mcTableFooterCellProps =\n column.muiTableFooterCellProps instanceof Function\n ? column.muiTableFooterCellProps(column)\n : column.muiTableFooterCellProps;\n\n const tableCellProps = {\n ...footer.getFooterProps(),\n ...mTableFooterCellProps,\n ...mcTableFooterCellProps,\n };\n\n return (\n <TableCell\n align={column.columnDefType === 'group' ? 'center' : 'left'}\n variant=\"head\"\n {...tableCellProps}\n //@ts-ignore\n sx={(theme) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n fontWeight: 'bold',\n p: isDensePadding ? '0.5rem' : '1rem',\n transition: `all ${enableColumnResizing ? '10ms' : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n //@ts-ignore\n ...tableCellProps?.sx,\n })}\n >\n {footer.isPlaceholder\n ? null\n : column.Footer?.({\n footer,\n tableInstance,\n }) ??\n column.footer ??\n null}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableFooterCell } from './MRT_TableFooterCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n footerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterRow: FC<Props> = ({\n footerGroup,\n tableInstance,\n}) => {\n const {\n options: { muiTableFooterRowProps },\n } = tableInstance;\n\n // if no content in row, skip row\n if (\n !footerGroup.headers?.some(\n (h) => h.column.columnDef.footer || h.column.Footer,\n )\n )\n return null;\n\n const mTableFooterRowProps =\n muiTableFooterRowProps instanceof Function\n ? muiTableFooterRowProps(footerGroup)\n : muiTableFooterRowProps;\n\n const tableRowProps = {\n ...footerGroup.getFooterGroupProps(),\n ...mTableFooterRowProps,\n };\n\n return (\n <TableRow {...tableRowProps}>\n {footerGroup.headers.map((footer: MRT_Header) => (\n <MRT_TableFooterCell\n footer={footer}\n key={footer.getFooterProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableFooter } from '@mui/material';\nimport { MRT_TableFooterRow } from './MRT_TableFooterRow';\nimport type { MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooter: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getCenterFooterGroups,\n getFooterGroups,\n getLeftFooterGroups,\n getRightFooterGroups,\n options: { muiTableFooterProps },\n } = tableInstance;\n\n const tableFooterProps =\n muiTableFooterProps instanceof Function\n ? muiTableFooterProps(tableInstance)\n : muiTableFooterProps;\n\n const getFooterGroupsMap = {\n center: getCenterFooterGroups,\n left: getLeftFooterGroups,\n none: getFooterGroups,\n right: getRightFooterGroups,\n };\n\n return (\n <TableFooter {...tableFooterProps}>\n {getFooterGroupsMap[pinned]().map((footerGroup) => (\n <MRT_TableFooterRow\n footerGroup={footerGroup as MRT_HeaderGroup}\n key={footerGroup.getFooterGroupProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableFooter>\n );\n};\n","import React, { FC } from 'react';\nimport { Table } from '@mui/material';\nimport { MRT_TableHead } from '../head/MRT_TableHead';\nimport { MRT_TableBody } from '../body/MRT_TableBody';\nimport { MRT_TableFooter } from '../footer/MRT_TableFooter';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_Table: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getTableProps,\n options: {\n enableStickyHeader,\n hideTableFooter,\n hideTableHead,\n muiTableProps,\n },\n } = tableInstance;\n\n const mTableProps =\n muiTableProps instanceof Function\n ? muiTableProps(tableInstance)\n : muiTableProps;\n\n const tableProps = {\n ...getTableProps(),\n ...mTableProps,\n };\n\n return (\n <Table stickyHeader={enableStickyHeader} {...tableProps}>\n {!hideTableHead && (\n <MRT_TableHead pinned={pinned} tableInstance={tableInstance} />\n )}\n <MRT_TableBody pinned={pinned} tableInstance={tableInstance} />\n {!hideTableFooter && (\n <MRT_TableFooter pinned={pinned} tableInstance={tableInstance} />\n )}\n </Table>\n );\n};\n","import React, { FC, useLayoutEffect, useState } from 'react';\nimport { alpha, Box, SxProps, TableContainer, Theme } from '@mui/material';\nimport { MRT_Table } from './MRT_Table';\nimport { MRT_TableInstance } from '..';\n\nconst commonBoxStyles = ({\n pinned,\n theme,\n visible,\n}: {\n pinned?: 'left' | 'right';\n theme: Theme;\n visible?: boolean;\n}) =>\n ({\n display: 'grid',\n minWidth: visible ? '200px' : 0,\n overflowX: 'auto',\n boxShadow:\n pinned === 'left'\n ? `0 1px 12px ${alpha(theme.palette.common.black, 0.5)}`\n : pinned === 'right'\n ? `0 -1px 12px ${alpha(theme.palette.common.black, 0.5)}`\n : 'none',\n } as SxProps<Theme>);\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableContainer: FC<Props> = ({ tableInstance }) => {\n const {\n getCenterTableWidth,\n getIsSomeColumnsPinned,\n getLeftTableWidth,\n getRightTableWidth,\n getState,\n options: {\n enableColumnPinning,\n enableStickyHeader,\n idPrefix,\n muiTableContainerProps,\n },\n } = tableInstance;\n\n const { isFullScreen, columnPinning } = getState();\n\n const [totalToolbarHeight, setTotalToolbarHeight] = useState(0);\n\n const tableContainerProps =\n muiTableContainerProps instanceof Function\n ? muiTableContainerProps(tableInstance)\n : muiTableContainerProps;\n\n useLayoutEffect(() => {\n const topToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${idPrefix}-toolbar-top`)\n ?.offsetHeight ?? 0\n : 0;\n\n const bottomToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${idPrefix}-toolbar-bottom`)\n ?.offsetHeight ?? 0\n : 0;\n\n setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);\n });\n\n return (\n <TableContainer\n {...tableContainerProps}\n sx={{\n maxWidth: '100%',\n maxHeight: enableStickyHeader\n ? `clamp(350px, calc(100vh - ${totalToolbarHeight}px), 2000px)`\n : undefined,\n overflow: 'auto',\n ...tableContainerProps?.sx,\n }}\n style={{\n maxHeight: isFullScreen\n ? `calc(100vh - ${totalToolbarHeight}px)`\n : undefined,\n }}\n >\n {enableColumnPinning && getIsSomeColumnsPinned() ? (\n <Box\n sx={{\n display: 'grid',\n gridTemplateColumns: `${getLeftTableWidth()}fr ${getCenterTableWidth()}fr ${getRightTableWidth()}fr`,\n }}\n >\n <Box\n // @ts-ignore\n sx={(theme: Theme) =>\n commonBoxStyles({\n pinned: 'left',\n theme,\n visible: !!columnPinning.left?.length,\n })\n }\n >\n <MRT_Table pinned=\"left\" tableInstance={tableInstance} />\n </Box>\n <Box // @ts-ignore\n sx={(theme: Theme) => commonBoxStyles({ theme })}\n >\n <MRT_Table pinned=\"center\" tableInstance={tableInstance} />\n </Box>\n <Box\n // @ts-ignore\n sx={(theme: Theme) =>\n commonBoxStyles({\n pinned: 'right',\n theme,\n visible: !!columnPinning.right?.length,\n })\n }\n >\n <MRT_Table pinned=\"right\" tableInstance={tableInstance} />\n </Box>\n </Box>\n ) : (\n <MRT_Table pinned=\"none\" tableInstance={tableInstance} />\n )}\n </TableContainer>\n );\n};\n","import React, { FC, useEffect } from 'react';\nimport { Paper } from '@mui/material';\nimport { MRT_ToolbarTop } from '../toolbar/MRT_ToolbarTop';\nimport { MRT_ToolbarBottom } from '../toolbar/MRT_ToolbarBottom';\nimport { MRT_TableContainer } from './MRT_TableContainer';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePaper: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: { hideToolbarBottom, hideToolbarTop, muiTablePaperProps },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n if (isFullScreen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'auto';\n }\n }\n }, [isFullScreen]);\n\n const tablePaperProps =\n muiTablePaperProps instanceof Function\n ? muiTablePaperProps(tableInstance)\n : muiTablePaperProps;\n\n return (\n <Paper\n elevation={2}\n {...tablePaperProps}\n sx={{\n bottom: isFullScreen ? '0' : undefined,\n height: isFullScreen ? '100%' : undefined,\n left: isFullScreen ? '0' : undefined,\n m: isFullScreen ? '0' : undefined,\n overflowY: !isFullScreen ? 'hidden' : undefined,\n position: isFullScreen ? 'fixed' : undefined,\n right: isFullScreen ? '0' : undefined,\n top: isFullScreen ? '0' : undefined,\n transition: 'all 0.2s ease-in-out',\n width: isFullScreen ? '100vw' : undefined,\n zIndex: isFullScreen ? 1200 : 1,\n ...tablePaperProps?.sx,\n }}\n >\n {!hideToolbarTop && <MRT_ToolbarTop tableInstance={tableInstance} />}\n <MRT_TableContainer tableInstance={tableInstance} />\n {!hideToolbarBottom && (\n <MRT_ToolbarBottom tableInstance={tableInstance} />\n )}\n </Paper>\n );\n};\n","import { ColumnDef, Table } from '@tanstack/react-table';\nimport { MRT_ColumnInterface, MRT_FilterType } from '.';\nimport { MRT_FILTER_TYPE } from './enums';\n\nexport const getAllLeafColumnDefs = (\n columns: MRT_ColumnInterface[],\n): MRT_ColumnInterface[] => {\n let lowestLevelColumns: MRT_ColumnInterface[] = columns;\n let currentCols: MRT_ColumnInterface[] | undefined = columns;\n while (!!currentCols?.length && currentCols.some((col) => col.columns)) {\n const nextCols: MRT_ColumnInterface[] = currentCols\n .filter((col) => !!col.columns)\n .map((col) => col.columns)\n .flat() as MRT_ColumnInterface[];\n if (nextCols.every((col) => !col?.columns)) {\n lowestLevelColumns = [...lowestLevelColumns, ...nextCols];\n }\n currentCols = nextCols;\n }\n return lowestLevelColumns.filter((col) => !col.columns);\n};\n\nexport const createGroup = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnInterface<D>,\n currentFilterTypes: { [key: string]: MRT_FilterType },\n): ColumnDef<D> =>\n table.createGroup({\n ...column,\n columns: column?.columns?.map?.((col) =>\n col.columns\n ? createGroup<D>(table, col, currentFilterTypes)\n : createDataColumn(table, col, currentFilterTypes),\n ),\n } as any);\n\nexport const createDataColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnInterface<D>,\n currentFilterTypes: { [key: string]: MRT_FilterType },\n): ColumnDef<D> => // @ts-ignore\n table.createDataColumn(column.id, {\n filterType: currentFilterTypes[column.id] || MRT_FILTER_TYPE.BEST_MATCH,\n ...column,\n }) as any;\n\nexport const createDisplayColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: Omit<MRT_ColumnInterface<D>, 'header'> & { header?: string },\n): ColumnDef<D> => table.createDisplayColumn(column);\n","import {\n columnFilterRowsFn,\n createTable,\n expandRowsFn,\n functionalUpdate,\n globalFilterRowsFn,\n groupRowsFn,\n paginateRowsFn,\n PaginationState,\n sortRowsFn,\n Table,\n useTable,\n} from '@tanstack/react-table';\nimport React, { useMemo, useState } from 'react';\nimport {\n MRT_ColumnInterface,\n MRT_FilterType,\n MRT_Row,\n MRT_TableInstance,\n} from '..';\nimport { MRT_ExpandAllButton } from '../buttons/MRT_ExpandAllButton';\nimport { MRT_ExpandButton } from '../buttons/MRT_ExpandButton';\nimport { MRT_ToggleRowActionMenuButton } from '../buttons/MRT_ToggleRowActionMenuButton';\nimport { MRT_SelectCheckbox } from '../inputs/MRT_SelectCheckbox';\nimport { MaterialReactTableProps } from '../MaterialReactTable';\nimport { MRT_TablePaper } from './MRT_TablePaper';\nimport {\n createDataColumn,\n createDisplayColumn,\n createGroup,\n getAllLeafColumnDefs,\n} from '../utils';\nimport { defaultFilterFNs } from '../filtersFNs';\nimport { MRT_FILTER_TYPE } from '../enums';\n\nexport const MRT_TableRoot = <D extends Record<string, any> = {}>(\n props: MaterialReactTableProps<D>,\n) => {\n const idPrefix = useMemo(\n () => props.idPrefix ?? Math.random().toString(36).substring(2, 9),\n [props.idPrefix],\n );\n const [currentEditingRow, setCurrentEditingRow] = useState<MRT_Row | null>(\n null,\n );\n const [isDensePadding, setIsDensePadding] = useState(\n props.initialState?.isDensePadding ?? false,\n );\n const [isFullScreen, setIsFullScreen] = useState(\n props.initialState?.isFullScreen ?? false,\n );\n const [showFilters, setShowFilters] = useState(\n props.initialState?.showFilters ?? false,\n );\n const [showSearch, setShowSearch] = useState(\n props.initialState?.showSearch ?? false,\n );\n\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: props.initialState?.pagination?.pageIndex ?? 0,\n pageSize: props.initialState?.pagination?.pageSize ?? 10,\n pageCount: props.initialState?.pagination?.pageCount ?? -1,\n });\n\n const [currentFilterTypes, setCurrentFilterTypes] = useState<{\n [key: string]: MRT_FilterType;\n }>(() =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnInterface[]).map(\n (c) => ({\n [c.id as string]:\n c.filter ??\n props?.initialState?.columnFilters?.[c.id as any] ??\n (!!c.filterSelectOptions?.length\n ? MRT_FILTER_TYPE.EQUALS\n : MRT_FILTER_TYPE.BEST_MATCH),\n }),\n ),\n ),\n );\n\n const [currentGlobalFilterType, setCurrentGlobalFilterType] = useState(\n props.globalFilterType ?? MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n );\n\n const table = useMemo(\n () => createTable<{ Row: D }>(),\n [],\n ) as unknown as Table<D>;\n\n const displayColumns = useMemo(\n () =>\n [\n (props.enableRowActions || props.enableRowEditing) &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ToggleRowActionMenuButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n header: props.localization?.actions,\n id: 'mrt-row-actions',\n maxWidth: 60,\n width: 60,\n }),\n (props.enableExpanded || props.enableGrouping) &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ExpandButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableExpandAll ? (\n <MRT_ExpandAllButton tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.expand,\n id: 'mrt-expand',\n maxWidth: 40,\n width: 40,\n }),\n props.enableRowSelection &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_SelectCheckbox\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableSelectAll ? (\n <MRT_SelectCheckbox selectAll tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.select,\n id: 'mrt-select',\n maxWidth: 40,\n width: 40,\n }),\n props.enableRowNumbers &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => cell.row.index + 1,\n Header: () => '#',\n header: props.localization?.rowNumbers,\n id: 'mrt-row-numbers',\n maxWidth: 40,\n width: 40,\n minWidth: 40,\n }),\n ].filter(Boolean),\n [\n props.enableExpandAll,\n props.enableExpanded,\n props.enableRowActions,\n props.enableRowEditing,\n props.enableRowNumbers,\n props.enableRowSelection,\n props.enableSelectAll,\n props.localization,\n ],\n );\n\n const columns = useMemo(\n () =>\n table.createColumns([\n ...displayColumns,\n ...props.columns.map((column) =>\n column.columns\n ? createGroup(table, column, currentFilterTypes)\n : createDataColumn(table, column, currentFilterTypes),\n ),\n ] as any),\n [table, props.columns, currentFilterTypes],\n );\n\n const data = useMemo(\n () =>\n props.isLoading && !props.data.length\n ? [...Array(10).fill(null)].map((_) =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(\n props.columns as MRT_ColumnInterface[],\n ).map((c) => ({\n [c.id]: null,\n })),\n ),\n )\n : props.data,\n [props.data, props.isLoading],\n );\n\n //@ts-ignore\n const tableInstance: MRT_TableInstance<{}> = useTable(table, {\n ...props,\n //@ts-ignore\n filterTypes: defaultFilterFNs,\n globalFilterType: currentGlobalFilterType,\n columnFilterRowsFn: columnFilterRowsFn,\n columns,\n data,\n expandRowsFn: expandRowsFn,\n getSubRows: props.getSubRows ?? ((originalRow: D) => originalRow.subRows),\n globalFilterRowsFn: globalFilterRowsFn,\n groupRowsFn: groupRowsFn,\n idPrefix,\n onPaginationChange: (updater: any) =>\n setPagination((old) => functionalUpdate(updater, old)),\n paginateRowsFn: paginateRowsFn,\n setCurrentEditingRow,\n setCurrentFilterTypes,\n setCurrentGlobalFilterType,\n setIsDensePadding,\n setIsFullScreen,\n setShowFilters,\n setShowSearch,\n sortRowsFn,\n state: {\n ...props.initialState,\n currentEditingRow,\n currentFilterTypes,\n currentGlobalFilterType,\n isDensePadding,\n isFullScreen,\n //@ts-ignore\n pagination,\n showFilters,\n showSearch,\n ...props.state,\n },\n });\n\n return <MRT_TablePaper tableInstance={tableInstance} />;\n};\n","import React, {\n ChangeEvent,\n Dispatch,\n FC,\n MouseEvent,\n ReactNode,\n SetStateAction,\n} from 'react';\nimport {\n AlertProps,\n ButtonProps,\n CheckboxProps,\n IconButtonProps,\n LinearProgressProps,\n PaperProps,\n SkeletonProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableFooterProps,\n TableHeadProps,\n TablePaginationProps,\n TableProps,\n TableRowProps,\n TextFieldProps,\n ToolbarProps,\n} from '@mui/material';\nimport {\n Cell,\n Column,\n ColumnDef,\n DefaultGenerics,\n FilterType,\n Header,\n HeaderGroup,\n Options,\n Overwrite,\n PaginationState,\n Row,\n TableInstance,\n TableState,\n} from '@tanstack/react-table';\nimport { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';\nimport { MRT_Default_Icons, MRT_Icons } from './icons';\nimport { MRT_FILTER_TYPE } from './enums';\nimport { MRT_TableRoot } from './table/MRT_TableRoot';\n\nexport type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<\n Omit<\n Options<D>,\n 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'\n >\n> & {\n columns: MRT_ColumnInterface<D>[];\n data: D[];\n initialState?: Partial<MRT_TableState<D>>;\n state?: Partial<MRT_TableState<D>>;\n expandRowsFn?: (dataRow: D) => D[];\n};\n\nexport interface MRT_RowModel<D extends Record<string, any> = {}> {\n flatRows: MRT_Row<D>[];\n rows: MRT_Row<D>[];\n rowsById: { [key: string]: MRT_Row<D> };\n}\n\nexport type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<\n TableInstance<\n Overwrite<\n Partial<DefaultGenerics>,\n {\n Row: D;\n }\n >\n >,\n | 'getAllColumns'\n | 'getAllLeafColumns'\n | 'getExpandedRowModel'\n | 'getPaginationRowModel'\n | 'getPrePaginationRowModel'\n | 'getRowModel'\n | 'getSelectedRowModel'\n | 'getState'\n | 'options'\n> & {\n getAllColumns: () => MRT_ColumnInstance<D>[];\n getAllLeafColumns: () => MRT_ColumnInstance<D>[];\n getExpandedRowModel: () => MRT_RowModel;\n getPaginationRowModel: () => MRT_RowModel;\n getPrePaginationRowModel: () => MRT_RowModel;\n getRowModel: () => MRT_RowModel;\n getSelectedRowModel: () => MRT_RowModel;\n getState: () => MRT_TableState<D>;\n options: MaterialReactTableProps<D> & {\n icons: MRT_Icons;\n idPrefix: string;\n filterTypes: { [key in MRT_FILTER_TYPE]: any };\n localization: MRT_Localization;\n setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row<D> | null>>;\n setCurrentFilterTypes: Dispatch<\n SetStateAction<{\n [key: string]: MRT_FilterType;\n }>\n >;\n setCurrentGlobalFilterType: Dispatch<SetStateAction<MRT_FILTER_TYPE>>;\n setIsDensePadding: Dispatch<SetStateAction<boolean>>;\n setIsFullScreen: Dispatch<SetStateAction<boolean>>;\n setShowFilters: Dispatch<SetStateAction<boolean>>;\n setShowSearch: Dispatch<SetStateAction<boolean>>;\n };\n};\n\nexport type MRT_TableState<D extends Record<string, any> = {}> = Omit<\n TableState,\n 'pagination'\n> & {\n currentEditingRow: MRT_Row<D> | null;\n currentFilterTypes: Record<string, string | Function>;\n currentGlobalFilterType: Record<string, string | Function>;\n isDensePadding: boolean;\n isFullScreen: boolean;\n showFilters: boolean;\n showSearch: boolean;\n pagination: Partial<PaginationState>;\n};\n\nexport type MRT_ColumnInterface<D extends Record<string, any> = {}> = Omit<\n ColumnDef<D>,\n 'header' | 'footer' | 'columns'\n> & {\n Edit?: ({\n cell,\n tableInstance,\n onChange,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n }) => ReactNode;\n Filter?: ({\n header,\n tableInstance,\n }: {\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Footer?: ({\n footer,\n tableInstance,\n }: {\n footer: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Header?: ({\n header,\n tableInstance,\n }: {\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Cell?: ({\n cell,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n id: keyof D | string;\n columns?: MRT_ColumnInterface<D>[];\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableEditing?: boolean;\n enableColumnFilters?: boolean;\n enableHiding?: boolean;\n enabledFilterTypes?: (MRT_FILTER_TYPE | string)[];\n filter?: MRT_FilterType | string | FilterType<D>;\n filterSelectOptions?: (string | { text: string; value: string })[];\n footer?: string;\n header: string;\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | ((cell?: MRT_Cell<D>) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | ((cell: MRT_Cell<D>) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | ((cell: MRT_Cell<D>) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | ((column: MRT_ColumnInstance<D>) => TableCellProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | ((column: MRT_ColumnInstance<D>) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | ((column: MRT_ColumnInstance<D>) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | ((column: MRT_ColumnInstance<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 Record<string, any> = {}> = Omit<\n Column<D>,\n 'header' | 'footer' | 'columns'\n> &\n MRT_ColumnInterface<D> & {\n columns?: MRT_ColumnInstance<D>[];\n };\n\nexport type MRT_Header<D extends Record<string, any> = {}> = Omit<\n Header<D>,\n 'column'\n> & {\n column: MRT_ColumnInstance<D>;\n};\n\nexport type MRT_HeaderGroup<D extends Record<string, any> = {}> = Omit<\n HeaderGroup<D>,\n 'headers'\n> & {\n headers: MRT_Header<D>[];\n};\n\nexport type MRT_Row<D extends Record<string, any> = {}> = Omit<\n Row<D>,\n | 'getVisibleCells'\n | 'getAllCells'\n | 'subRows'\n | 'original'\n | 'getLeftVisibleCells'\n | 'getRightVisibleCells'\n | 'getCenterVisibleCells'\n> & {\n getAllCells: () => MRT_Cell<D>[];\n getCenterVisibleCells: () => MRT_Cell<D>[];\n getLeftVisibleCells: () => MRT_Cell<D>[];\n getRightVisibleCells: () => MRT_Cell<D>[];\n getVisibleCells: () => MRT_Cell<D>[];\n subRows?: MRT_Row<D>[];\n original: D;\n};\n\nexport type MRT_Cell<D extends Record<string, any> = {}> = Omit<\n Cell<D>,\n 'column' | 'row'\n> & {\n column: MRT_ColumnInstance<D>;\n row: MRT_Row<D>;\n};\n\nexport type MRT_FilterType = MRT_FILTER_TYPE | Function;\n\nexport type MaterialReactTableProps<D extends Record<string, any> = {}> =\n MRT_TableOptions<D> & {\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableColumnPinning?: boolean;\n enableDensePaddingToggle?: boolean;\n enableExpandAll?: boolean;\n enableFullScreenToggle?: boolean;\n enablePagination?: boolean;\n enableRowActions?: boolean;\n enableStickyHeader?: boolean;\n enableRowEditing?: boolean;\n enableRowNumbers?: boolean;\n enableSelectAll?: boolean;\n enabledGlobalFilterTypes?: (MRT_FILTER_TYPE | string)[];\n filterTypes?: { [key in MRT_FILTER_TYPE]: any };\n hideTableFooter?: boolean;\n hideTableHead?: boolean;\n hideToolbarBottom?: boolean;\n hideToolbarInternalActions?: boolean;\n hideToolbarTop?: boolean;\n icons?: Partial<MRT_Icons>;\n idPrefix?: string;\n isReloading?: boolean;\n isLoading?: boolean;\n localization?: Partial<MRT_Localization>;\n muiLinearProgressProps?:\n | LinearProgressProps\n | ((tableInstance: MRT_TableInstance) => LinearProgressProps);\n muiSearchTextFieldProps?: TextFieldProps;\n muiSelectCheckboxProps?:\n | CheckboxProps\n | ((\n isSelectAll?: boolean,\n row?: MRT_Row<D>,\n tableInstance?: MRT_TableInstance<D>,\n ) => CheckboxProps);\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | ((cell?: MRT_Cell<D>) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | ((cell?: MRT_Cell<D>) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | ((cell?: MRT_Cell<D>) => TableCellProps);\n muiTableBodyCellSkeletonProps?:\n | SkeletonProps\n | ((cell?: MRT_Cell<D>) => SkeletonProps);\n muiTableBodyProps?:\n | TableBodyProps\n | ((tableInstance: MRT_TableInstance<D>) => TableBodyProps);\n muiTableBodyRowProps?: TableRowProps | ((row: MRT_Row<D>) => TableRowProps);\n muiTableContainerProps?:\n | TableContainerProps\n | ((tableInstance: MRT_TableInstance<D>) => TableContainerProps);\n muiTableDetailPanelProps?:\n | TableCellProps\n | ((row: MRT_Row<D>) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | ((column: MRT_ColumnInstance<D>) => TableCellProps);\n muiTableFooterProps?:\n | TableFooterProps\n | ((tableInstance: MRT_TableInstance<D>) => TableFooterProps);\n muiTableFooterRowProps?:\n | TableRowProps\n | ((footerGroup: MRT_HeaderGroup<D>) => TableRowProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | ((column: MRT_ColumnInstance<D>) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | ((column: MRT_ColumnInstance<D>) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | ((column: MRT_ColumnInstance<D>) => TableCellProps);\n muiTableHeadProps?:\n | TableHeadProps\n | ((tableInstance: MRT_TableInstance<D>) => TableHeadProps);\n muiTableHeadRowProps?:\n | TableRowProps\n | ((headerGroup: MRT_HeaderGroup<D>) => TableRowProps);\n muiTablePaperProps?:\n | PaperProps\n | ((tableInstance: MRT_TableInstance<D>) => PaperProps);\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?: (\n column: MRT_ColumnInstance<D>,\n hiddenColumns?: string[],\n ) => void;\n onDetailPanelClick?: (\n event: MouseEvent<HTMLTableCellElement>,\n row: MRT_Row<D>,\n ) => void;\n onGlobalFilterChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n onRowClick?: (\n event: MouseEvent<HTMLTableRowElement>,\n row: MRT_Row<D>,\n ) => void;\n onRowEditSubmit?: (row: MRT_Row<D>) => Promise<void> | void;\n onRowExpandChange?: (\n event: MouseEvent<HTMLButtonElement>,\n row: MRT_Row<D>,\n ) => void;\n onSelectAllChange?: (\n event: ChangeEvent,\n selectedRows: MRT_Row<D>[],\n ) => void;\n onSelectChange?: (\n event: ChangeEvent,\n row: MRT_Row<D>,\n selectedRows: MRT_Row<D>[],\n ) => void;\n positionActionsColumn?: 'first' | 'last';\n positionPagination?: 'bottom' | 'top' | 'both';\n positionToolbarActions?: 'bottom' | 'top';\n positionToolbarAlertBanner?: 'bottom' | 'top';\n renderDetailPanel?: (row: MRT_Row<D>) => ReactNode;\n renderRowActionMenuItems?: (\n rowData: MRT_Row<D>,\n tableInstance: MRT_TableInstance<D>,\n closeMenu: () => void,\n ) => ReactNode[];\n renderRowActions?: (\n row: MRT_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<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleFiltersButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ShowHideColumnsButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleDensePaddingButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_FullScreenToggleButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n },\n ) => ReactNode;\n };\n\nexport default <D extends Record<string, any> = {}>({\n enableColumnActions = true,\n enableColumnFilters = true,\n enableDensePaddingToggle = true,\n enableExpandAll = true,\n enableFullScreenToggle = true,\n enableGlobalFilter = true,\n enableHiding = true,\n enablePagination = true,\n enableSelectAll = true,\n enableSorting = true,\n enableStickyHeader = true,\n filterTypes,\n icons,\n localization,\n positionActionsColumn = 'first',\n positionPagination = 'bottom',\n positionToolbarActions = 'top',\n positionToolbarAlertBanner = 'top',\n ...rest\n}: MaterialReactTableProps<D>) => (\n <MRT_TableRoot\n enableColumnActions={enableColumnActions}\n enableColumnFilters={enableColumnFilters}\n enableDensePaddingToggle={enableDensePaddingToggle}\n enableExpandAll={enableExpandAll}\n enableFullScreenToggle={enableFullScreenToggle}\n enableGlobalFilter={enableGlobalFilter}\n enableHiding={enableHiding}\n enablePagination={enablePagination}\n enableSelectAll={enableSelectAll}\n enableSorting={enableSorting}\n enableStickyHeader={enableStickyHeader}\n icons={{ ...MRT_Default_Icons, ...icons }}\n localization={{ ...MRT_DefaultLocalization_EN, ...localization }}\n positionActionsColumn={positionActionsColumn}\n positionPagination={positionPagination}\n positionToolbarActions={positionToolbarActions}\n positionToolbarAlertBanner={positionToolbarAlertBanner}\n {...rest}\n />\n);\n"],"names":["MRT_FILTER_TYPE","MRT_DefaultLocalization_EN","actions","cancel","changeFilterMode","changeSearchMode","clearFilter","clearSearch","clearSort","clickToCopy","columnActions","copiedToClipboard","edit","expand","expandAll","filterBestMatch","filterBestMatchFirst","filterByColumn","filterContains","filterEmpty","filterEndsWith","filterEquals","filterGreaterThan","filterLessThan","filterMode","filterNotEmpty","filterNotEquals","filterStartsWith","filteringByColumn","groupByColumn","groupedBy","hideAll","hideColumn","pinToLeft","pinToRight","rowActions","rowNumbers","save","search","selectedCountOfRowCountRowsSelected","select","showAll","showAllColumns","showHideColumns","showHideFilters","showHideSearch","sortByColumnAsc","sortByColumnDesc","thenBy","toggleDensePadding","toggleFullScreen","toggleSelectAll","toggleSelectRow","ungroupByColumn","unpin","MRT_Default_Icons","ArrowRightIcon","CancelIcon","CheckBoxIcon","ClearAllIcon","CloseIcon","DensityMediumIcon","DensitySmallIcon","DoubleArrowDownIcon","DynamicFeedIcon","EditIcon","ExpandLessIcon","ExpandMoreIcon","FilterAltIcon","FilterAltOff","FilterListIcon","FilterListOffIcon","FullscreenExitIcon","FullscreenIcon","MoreHorizIcon","MoreVertIcon","PushPinIcon","SaveIcon","SearchIcon","SearchOffIcon","SortIcon","ViewColumnIcon","VisibilityOffIcon","MRT_ExpandAllButton","tableInstance","getIsAllRowsExpanded","getIsSomeRowsExpanded","options","icons","isLoading","localization","toggleAllRowsExpanded","isDensePadding","getState","React","IconButton","disabled","title","onClick","sx","height","width","style","transform","transition","MRT_ExpandButton","row","onRowExpandChange","renderDetailPanel","getCanExpand","event","toggleExpanded","getIsExpanded","bestMatchFirst","rows","columnIds","filterValue","matchSorter","toString","trim","keys","Array","isArray","map","c","autoRemove","val","bestMatch","sorter","rankedItems","contains","id","filter","values","toLowerCase","includes","startsWith","endsWith","equals","notEquals","greaterThan","isNaN","lessThan","empty","_filterValue","notEmpty","defaultFilterFNs","commonMenuItemStyles","py","my","alignItems","MRT_FilterTypeMenu","anchorEl","header","onSelect","setAnchorEl","enabledGlobalFilterTypes","setCurrentFilterTypes","setCurrentGlobalFilterType","currentFilterTypes","currentGlobalFilterType","filterTypes","useMemo","type","BEST_MATCH_FIRST","label","divider","fn","BEST_MATCH","CONTAINS","STARTS_WITH","ENDS_WITH","EQUALS","NOT_EQUALS","GREATER_THAN","LESS_THAN","EMPTY","NOT_EMPTY","filterType","column","enabledFilterTypes","Menu","anchorOrigin","vertical","horizontal","onClose","open","MenuListProps","dense","index","MenuItem","key","value","prev","setColumnFilterValue","selected","MRT_ShowHideColumnsMenuItems","isSubMenu","onColumnHide","columnVisibility","switchChecked","columnDefType","getIsVisible","getLeafColumns","some","col","pl","depth","FormControlLabel","componentsProps","typography","marginBottom","checked","control","Switch","enableHiding","onChange","columns","forEach","childColumn","toggleVisibility","Object","entries","entry","handleToggleColumnHidden","_column$columns2","i","MRT_ShowHideColumnsMenu","getAllColumns","getIsAllColumnsVisible","getIsSomeColumnsVisible","getIsSomeColumnsPinned","toggleAllColumnsVisible","getAllLeafColumns","allDisplayColumns","allDataColumns","dataColumns","getIsPinned","columnPinning","Box","display","justifyContent","p","pt","Button","Divider","commonListItemStyles","MRT_ColumnActionMenu","setColumnOrder","enableColumnFilters","enableColumnPinning","enableGrouping","enableSorting","idPrefix","setShowFilters","useState","filterMenuAnchorEl","setFilterMenuAnchorEl","showHideColumnsMenuAnchorEl","setShowHideColumnsMenuAnchorEl","handlePinColumn","pinDirection","pin","handleFilterByColumn","setTimeout","document","getElementById","muiTableHeadCellFilterTextFieldProps","_header$muiTableHeadC2","_document$getElementB","focus","handleOpenFilterModeMenu","stopPropagation","currentTarget","handleOpenShowHideColumnsMenu","getCanSort","getIsSorted","resetSorting","ListItemIcon","toggleSorting","_localization$sortByC","replace","String","_localization$sortByC2","getCanColumnFilter","getColumnFilterValue","_localization$filterB","filterSelectOptions","onMouseEnter","size","getCanGroup","toggleGrouping","old","getIsGrouped","_localization","getCanPin","_localization$hideCol","visible","length","_localization$showAll","MRT_RowActionMenu","handleEdit","enableRowEditing","renderRowActionMenuItems","runtime","exports","Op","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","generator","create","Generator","context","Context","_invoke","state","method","arg","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","result","__await","then","unwrapped","error","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","doneResult","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","object","reverse","pop","skipTempReset","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","globalThis","Function","MRT_EditActionButtons","onRowEditSubmit","setCurrentEditingRow","handleSave","currentEditingRow","gap","Tooltip","arrow","original","color","commonIconButtonStyles","ml","opacity","MRT_ToggleRowActionMenuButton","renderRowActions","placement","enterDelay","enterNextDelay","preventDefault","MRT_SelectCheckbox","selectAll","getRowModel","getSelectedRowModel","getToggleAllRowsSelectedProps","muiSelectCheckboxProps","onSelectChange","onSelectAllChange","mTableBodyRowSelectCheckboxProps","checkboxProps","getToggleSelectedProps","Checkbox","inputProps","target","flatRows","selectedRow","MRT_SearchTextField","setGlobalFilter","muiSearchTextFieldProps","onGlobalFilterChange","globalFilter","showSearch","searchValue","setSearchValue","handleChange","useCallback","debounce","Collapse","orientation","TextField","placeholder","variant","InputProps","startAdornment","InputAdornment","position","fontSize","endAdornment","justifySelf","MRT_FullScreenToggleButton","rest","setIsFullScreen","isFullScreen","MRT_ShowHideColumnsButton","MRT_ToggleDensePaddingButton","setIsDensePadding","MRT_ToggleFiltersButton","showFilters","MRT_ToggleSearchButton","setShowSearch","MRT_ToolbarInternalButtons","enableDensePaddingToggle","enableGlobalFilter","enableFullScreenToggle","renderToolbarInternalActions","MRT_TablePagination","getPrePaginationRowModel","setPageIndex","setPageSize","muiTablePaginationProps","pagination","pageSize","pageIndex","tablePaginationProps","showFirstLastPageButtons","TablePagination","component","count","onPageChange","_","newPage","onRowsPerPageChange","page","rowsPerPage","SelectProps","m","showFirstButton","showLastButton","zIndex","MRT_ToolbarAlertBanner","toggleColumnGrouping","muiTableToolbarAlertBannerProps","positionToolbarActions","positionToolbarAlertBanner","renderToolbarCustomActions","grouping","isMobile","useMediaQuery","alertProps","selectMessage","_localization$selecte","_localization$selecte2","groupedByMessage","columnId","Fragment","Chip","find","_tableInstance$getAll","onDelete","displayAbsolute","timeout","Alert","icon","borderRadius","left","right","minHeight","top","MRT_LinearProgressBar","muiLinearProgressProps","isReloading","linearProgressProps","unmountOnExit","LinearProgress","commonToolbarStyles","theme","backgroundColor","palette","background","backgroundImage","alpha","common","white","MRT_ToolbarTop","enablePagination","hideToolbarInternalActions","muiTableToolbarTopProps","positionPagination","toolbarProps","Toolbar","MRT_ToolbarBottom","muiTableToolbarBottomProps","bottom","boxShadow","black","MRT_FilterTextField","textFieldProps","setFilterValue","Filter","filterId","isSelectFilter","filterChipLabel","toUpperCase","filterPlaceholder","fullWidth","textOverflow","helperText","htmlFor","FormHelperTextProps","lineHeight","margin","e","disableHoverListener","minWidth","mt","mr","_column$filterSelectO","option","text","MRT_ToggleColumnActionMenuButton","muiTableHeadCellColumnActionsButtonProps","iconButtonProps","MRT_TableHeadCell","enableColumnActions","enableColumnResizing","muiTableHeadCellProps","mTableHeadCellProps","mcTableHeadCellProps","tableCellProps","getHeaderProps","sortTooltip","headerElement","Header","TableCell","align","fontWeight","getWidth","pb","verticalAlign","isPlaceholder","getToggleSortingProps","cursor","flexWrap","whiteSpace","TableSortLabel","active","direction","disableRipple","flexItem","onDoubleClick","resetSize","borderRightWidth","maxHeight","userSelect","touchAction","secondary","dark","getResizerProps","props","getIsResizing","columnSizingInfo","deltaOffset","MRT_TableHeadRow","headerGroup","muiTableHeadRowProps","mTableHeadRowProps","tableRowProps","getHeaderGroupProps","TableRow","headers","MRT_TableHead","pinned","getCenterHeaderGroups","getHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","muiTableHeadProps","tableHeadProps","getHeaderGroupsMap","center","none","TableHead","MRT_EditCellTextField","cell","muiTableBodyCellEditTextFieldProps","onCellEditChange","MRT_CopyButton","children","muiTableBodyCellCopyButtonProps","copied","setCopied","buttonProps","navigator","clipboard","writeText","border","fontFamily","letterSpacing","textAlign","textTransform","MRT_TableBodyCell","enableClickToCopy","muiTableBodyCellProps","muiTableBodyCellSkeletonProps","onCellClick","mTableCellBodyProps","mcTableCellBodyProps","getCellProps","skeletonWidth","Math","random","Skeleton","animation","Cell","getIsPlaceholder","groupingColumnId","getIsAggregated","renderAggregatedCell","enableEditing","renderCell","subRows","_row$subRows","_row$subRows2","MRT_TableDetailPanel","getVisibleFlatColumns","muiTableBodyRowProps","muiTableDetailPanelProps","onDetailPanelClick","colSpan","borderBottom","MRT_TableBodyRow","onRowClick","getCenterVisibleCells","getIsSelected","getLeftVisibleCells","getRightVisibleCells","getRowProps","getVisibleCells","mTableBodyRowProps","getVisibleCellsMap","hover","MRT_TableBody","getTableBodyProps","muiTableBodyProps","getPaginationRowModel","mTableBodyProps","tableBodyProps","TableBody","MRT_TableFooterCell","footer","muiTableFooterCellProps","mTableFooterCellProps","mcTableFooterCellProps","getFooterProps","Footer","MRT_TableFooterRow","footerGroup","muiTableFooterRowProps","_footerGroup$headers","h","columnDef","mTableFooterRowProps","getFooterGroupProps","MRT_TableFooter","getCenterFooterGroups","getFooterGroups","getLeftFooterGroups","getRightFooterGroups","muiTableFooterProps","tableFooterProps","getFooterGroupsMap","TableFooter","MRT_Table","getTableProps","enableStickyHeader","hideTableFooter","hideTableHead","muiTableProps","mTableProps","tableProps","Table","stickyHeader","commonBoxStyles","overflowX","MRT_TableContainer","getCenterTableWidth","getLeftTableWidth","getRightTableWidth","muiTableContainerProps","totalToolbarHeight","setTotalToolbarHeight","tableContainerProps","useLayoutEffect","topToolbarHeight","_document","_document$getElementB2","offsetHeight","bottomToolbarHeight","_document2","_document2$getElement","TableContainer","maxWidth","overflow","gridTemplateColumns","_columnPinning$left","_columnPinning$right","MRT_TablePaper","hideToolbarBottom","hideToolbarTop","muiTablePaperProps","useEffect","window","body","tablePaperProps","Paper","elevation","overflowY","getAllLeafColumnDefs","lowestLevelColumns","currentCols","_currentCols","nextCols","flat","every","createDataColumn","table","createDisplayColumn","MRT_TableRoot","substring","initialState","_props$initialState","_props$initialState2","_props$initialState3","_props$initialState4","_props$initialState5","_props$initialState5$","_props$initialState6","_props$initialState6$","pageCount","_props$initialState7","_props$initialState7$","setPagination","assign","_props$initialState8","columnFilters","_props$initialState8$","_c$filterSelectOption","globalFilterType","createTable","displayColumns","enableRowActions","_props$localization","enableExpanded","enableExpandAll","_props$localization2","enableRowSelection","enableSelectAll","_props$localization3","enableRowNumbers","_props$localization4","Boolean","createColumns","createGroup","_column$columns","data","fill","useTable","columnFilterRowsFn","expandRowsFn","getSubRows","originalRow","globalFilterRowsFn","groupRowsFn","onPaginationChange","updater","functionalUpdate","paginateRowsFn","sortRowsFn","positionActionsColumn"],"mappings":"q7DAwDO,ICxDKA,EDwDCC,EAA+C,CAC1DC,QAAS,UACTC,OAAQ,SACRC,iBAAkB,qBAClBC,iBAAkB,qBAClBC,YAAa,eACbC,YAAa,eACbC,UAAW,aACXC,YAAa,gBACbC,cAAe,iBACfC,kBAAmB,sBACnBC,KAAM,OACNC,OAAQ,SACRC,UAAW,aACXC,gBAAiB,aACjBC,qBAAsB,mBACtBC,eAAgB,qBAChBC,eAAgB,WAChBC,YAAa,QACbC,eAAgB,YAChBC,aAAc,SACdC,kBAAmB,eACnBC,eAAgB,YAChBC,WAAY,4BACZC,eAAgB,YAChBC,gBAAiB,aACjBC,iBAAkB,cAClBC,kBAAmB,uDACnBC,cAAe,oBACfC,UAAW,cACXC,QAAS,WACTC,WAAY,uBACZC,UAAW,cACXC,WAAY,eACZC,WAAY,cACZC,WAAY,cACZC,KAAM,OACNC,OAAQ,SACRC,oCACE,gDAEFC,OAAQ,SACRC,QAAS,WACTC,eAAgB,mBAChBC,gBAAiB,oBACjBC,gBAAiB,oBACjBC,eAAgB,mBAChBC,gBAAiB,6BACjBC,iBAAkB,8BAClBC,OAAQ,aACRC,mBAAoB,uBACpBC,iBAAkB,qBAClBC,gBAAiB,oBACjBC,gBAAiB,oBACjBC,gBAAiB,sBACjBC,MAAO,SErDIC,EAA+B,CAC1CC,eAAAA,EACAC,WAAAA,EACAC,aAAAA,EACAC,aAAAA,EACAC,UAAAA,EACAC,kBAAAA,EACAC,iBAAAA,EACAC,oBAAAA,EACAC,gBAAAA,EACAC,SAAAA,EACAC,eAAAA,EACAC,eAAAA,EACAC,cAAAA,EACAC,aAAAA,EACAC,eAAAA,EACAC,kBAAAA,EACAC,mBAAAA,EACAC,eAAAA,EACAC,cAAAA,EACAC,aAAAA,EACAC,YAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,cAAAA,EACAC,SAAAA,EACAC,eAAAA,EACAC,kBAAAA,GC7EWC,EAAiC,gBAAGC,IAAAA,cAE7CC,EASED,EATFC,qBACAC,EAQEF,EARFE,wBAQEF,EANFG,QACWxB,IAATyB,MAASzB,oBACT0B,IAAAA,UACAC,IAAAA,aAEFC,EACEP,EADFO,sBAGMC,GAAmBC,EAFvBT,EAPFS,YASMD,sBAGNE,gBAACC,2BACaL,EAAa5E,UACzBkF,SAAUP,EACVQ,MAAOP,EAAa5E,UACpBoF,QAAS,kBAAMP,GAAuBN,MACtCc,GAAI,CACFC,OAAQR,EAAiB,UAAY,UACrCS,MAAOT,EAAiB,UAAY,YAGtCE,gBAAC/B,GACCuC,MAAO,CACLC,qBACElB,KAA0B,IAAMC,KAA2B,GAAK,UAElEkB,WAAY,sBC9BTC,EAA8B,gBAAGC,IAAAA,IAAKtB,IAAAA,gBAS7CA,EANFG,QACWpB,IAATqB,MAASrB,eACTuB,IAAAA,aACAiB,IAAAA,kBACAC,IAAAA,kBAIIhB,GAAmBC,EAFvBT,EAPFS,YASMD,sBAQNE,gBAACC,2BACaL,EAAa7E,OACzBmF,UAAWU,EAAIG,iBAAmBD,EAClCX,MAAOP,EAAa7E,OACpBqF,QAVuB,SAACY,GAC1BJ,EAAIK,uBACJJ,GAAAA,EAAoBG,EAAOJ,IASzBP,GAAI,CACFC,OAAQR,EAAiB,UAAY,UACrCS,MAAOT,EAAiB,UAAY,YAGtCE,gBAAC3B,GACCmC,MAAO,CACLC,qBACGG,EAAIG,gBAAmBD,EAEpBF,EAAIM,iBACH,IACD,GAHC,WAKPR,WAAY,uBH/CtB,SAAYxG,GACVA,yBACAA,oCACAA,sBACAA,gBACAA,uBACAA,kBACAA,6BACAA,uBACAA,uBACAA,yBACAA,2BAXF,CAAYA,IAAAA,WIGCiH,EAAiB,SAC5BC,EACAC,EACAC,UAEAC,cAAYH,EAAME,EAAYE,WAAWC,OAAQ,CAC/CC,KAAMC,MAAMC,QAAQP,GAChBA,EAAUQ,KAAI,SAACC,mBAAgBA,KAC/B,WAAWT,MAGnBF,EAAeY,WAAa,SAACC,UAAcA,GAE3C,IAAaC,EAAY,SACvBb,EACAC,EACAC,UAEAC,cAAYH,EAAME,EAAYE,WAAWC,OAAQ,CAC/CC,KAAMC,MAAMC,QAAQP,GAChBA,EAAUQ,KAAI,SAACC,mBAAgBA,KAC/B,WAAWT,GACfa,OAAQ,SAACC,UAAgBA,MAG7BF,EAAUF,WAAa,SAACC,UAAcA,GAEtC,IAAaI,EAAW,SACtBhB,EACAiB,EACAf,UAEAF,EAAKkB,QAAO,SAAC1B,UACXA,EAAI2B,OAAOF,GACRb,WACAgB,cACAf,OACAgB,SAASnB,EAAYE,WAAWgB,cAAcf,YAGrDW,EAASL,WAAa,SAACC,UAAcA,GAErC,IAAaU,EAAa,SACxBtB,EACAiB,EACAf,UAEAF,EAAKkB,QAAO,SAAC1B,UACXA,EAAI2B,OAAOF,GACRb,WACAgB,cACAf,OACAiB,WAAWpB,EAAYE,WAAWgB,cAAcf,YAGvDiB,EAAWX,WAAa,SAACC,UAAcA,GAEvC,IAAaW,EAAW,SACtBvB,EACAiB,EACAf,UAEAF,EAAKkB,QAAO,SAAC1B,UACXA,EAAI2B,OAAOF,GACRb,WACAgB,cACAf,OACAkB,SAASrB,EAAYE,WAAWgB,cAAcf,YAGrDkB,EAASZ,WAAa,SAACC,UAAcA,GAErC,IAAaY,EAAS,SACpBxB,EACAiB,EACAf,UAEAF,EAAKkB,QACH,SAAC1B,UACCA,EAAI2B,OAAOF,GAAIb,WAAWgB,cAAcf,SACxCH,EAAYE,WAAWgB,cAAcf,WAG3CmB,EAAOb,WAAa,SAACC,UAAcA,GAEnC,IAAaa,EAAY,SACvBzB,EACAiB,EACAf,UAEAF,EAAKkB,QACH,SAAC1B,UACCA,EAAI2B,OAAOF,GAAIb,WAAWgB,cAAcf,SACxCH,EAAYE,WAAWgB,cAAcf,WAG3CoB,EAAUd,WAAa,SAACC,UAAcA,GAEtC,IAAac,EAAc,SACzB1B,EACAiB,EACAf,UAEAF,EAAKkB,QAAO,SAAC1B,UACVmC,OAAOzB,IAAiByB,OAAOnC,EAAI2B,OAAOF,IAEvCzB,EAAI2B,OAAOF,GAAIb,WAAWgB,cAAcf,OACxCH,EAAYE,WAAWgB,cAAcf,QAFpCb,EAAI2B,OAAOF,IAAOf,MAK3BwB,EAAYf,WAAa,SAACC,UAAcA,GAExC,IAAagB,EAAW,SACtB5B,EACAiB,EACAf,UAEAF,EAAKkB,QAAO,SAAC1B,UACVmC,OAAOzB,IAAiByB,OAAOnC,EAAI2B,OAAOF,IAEvCzB,EAAI2B,OAAOF,GAAIb,WAAWgB,cAAcf,OACxCH,EAAYE,WAAWgB,cAAcf,QAFpCb,EAAI2B,OAAOF,IAAOf,MAK3B0B,EAASjB,WAAa,SAACC,UAAcA,GAErC,IAAaiB,EAAQ,SACnB7B,EACAiB,EACAa,UACG9B,EAAKkB,QAAO,SAAC1B,UAASA,EAAI2B,OAAOF,GAAIb,WAAWgB,cAAcf,WAEnEwB,EAAMlB,WAAa,SAACC,UAAcA,GAElC,IAAamB,EAAW,SACtB/B,EACAiB,EACAa,UACG9B,EAAKkB,QAAO,SAAC1B,WAAUA,EAAI2B,OAAOF,GAAIb,WAAWgB,cAAcf,WAEpE0B,EAASpB,WAAa,SAACC,UAAcA,GAErC,MAAaoB,EAAmB,CAC9BnB,UAAAA,EACAd,eAAAA,EACAiB,SAAAA,EACAa,MAAAA,EACAN,SAAAA,EACAC,OAAAA,EACAE,YAAAA,EACAE,SAAAA,EACAG,SAAAA,EACAN,UAAAA,EACAH,WAAAA,GC1IIW,GAAuB,CAC3BC,GAAI,MACJC,GAAI,EACJC,WAAY,UAWDC,GAAgC,gBAC3CC,IAAAA,SACAC,IAAAA,OACAC,IAAAA,SACAC,IAAAA,YACAvE,IAAAA,gBAUIA,EANFG,QACEqE,IAAAA,yBACAlE,IAAAA,aACAmE,IAAAA,sBACAC,IAAAA,8BAKFjE,EAHET,EAPFS,YASMD,IAAAA,eAAgBmE,IAAAA,mBAAoBC,IAAAA,wBAGtCC,EAKAC,WACJ,iBACE,CACE,CACEC,KAAMnK,EAAgBoK,iBACtBC,MAAO3E,EAAa1E,qBACpBsJ,SAAS,EACTC,GAAItD,GAEN,CACEkD,KAAMnK,EAAgBwK,WACtBH,MAAO3E,EAAa3E,gBACpBuJ,UAAWb,EACXc,GAAIxC,GAEN,CACEoC,KAAMnK,EAAgByK,SACtBJ,MAAO3E,EAAaxE,eACpBoJ,SAAS,EACTC,GAAIrC,GAEN,CACEiC,KAAMnK,EAAgB0K,YACtBL,MAAO3E,EAAa/D,iBACpB2I,SAAS,EACTC,GAAI/B,GAEN,CACE2B,KAAMnK,EAAgB2K,UACtBN,MAAO3E,EAAatE,eACpBkJ,SAAS,EACTC,GAAI9B,GAEN,CACE0B,KAAMnK,EAAgB4K,OACtBP,MAAO3E,EAAarE,aACpBiJ,SAAS,EACTC,GAAI7B,GAEN,CACEyB,KAAMnK,EAAgB6K,WACtBR,MAAO3E,EAAahE,gBACpB4I,SAAS,EACTC,GAAI5B,GAEN,CACEwB,KAAMnK,EAAgB8K,aACtBT,MAAO3E,EAAapE,kBACpBgJ,SAAS,EACTC,GAAI3B,GAEN,CACEuB,KAAMnK,EAAgB+K,UACtBV,MAAO3E,EAAanE,eACpB+I,SAAS,EACTC,GAAIzB,GAEN,CACEqB,KAAMnK,EAAgBgL,MACtBX,MAAO3E,EAAavE,YACpBmJ,SAAS,EACTC,GAAIxB,GAEN,CACEoB,KAAMnK,EAAgBiL,UACtBZ,MAAO3E,EAAajE,eACpB6I,SAAS,EACTC,GAAItB,IAENb,QAAO,SAAC8C,UACRzB,GACKA,EAAO0B,OAAOC,oBACf3B,EAAO0B,OAAOC,mBAAmB7C,SAAS2C,EAAWf,QACnDP,GACAA,EAAyBrB,SAAS2C,EAAWf,QAC/C,CACEnK,EAAgBoK,iBAChBpK,EAAgBwK,YAChBjC,SAAS2C,EAAWf,WAE9B,IAmBIe,EAAezB,EACjBM,EAAmBN,EAAOtB,IAC1B6B,SAGFlE,gBAACuF,QACC7B,SAAUA,EACV8B,aAAc,CAAEC,SAAU,SAAUC,WAAY,SAChDC,QAAS,kBAAM9B,EAAY,OAC3B+B,OAAQlC,EACRmC,cAAe,CACbC,MAAOhG,IAGRqE,EAAYtC,KAAI,WAA+BkE,OAA5B1B,IAAAA,YAClBrE,gBAACgG,YACCxB,UAF6BA,QAG7ByB,IAAKF,EACL3F,QAAS,kBAlCe8F,EAkCc7B,EAjCxCV,GACFI,GAAsB,SAACoC,qBAClBA,UACFxC,EAAOtB,IAAK6D,SAEX,CAAChM,EAAgBgL,MAAOhL,EAAgBiL,WAAW1C,SAASyD,IAC9DvC,EAAO0B,OAAOe,qBAAqB,MAGrCpC,EAA2BkC,GAE7BrC,EAAY,iBACZD,GAAAA,KAb6B,IAACsC,GAmCxBG,SAAUhC,IAASe,KALmBX,KAKEW,EACxC/E,GAAIgD,GACJ6C,MAAO7B,KAPeE,YC/JnB+B,GAA0C,SAA1CA,WACXjB,IAAAA,OACAkB,IAAAA,UACAjH,IAAAA,cAIakH,EACTlH,EADFG,QAAW+G,aAGLC,GAAqB1G,EAFzBT,EAFFS,YAIM0G,iBAEFC,EACsB,UAAzBrB,EAAOsB,eAA6BtB,EAAOuB,gBAClB,UAAzBvB,EAAOsB,eACNtB,EAAOwB,iBAAiBC,MAAK,SAACC,UAAQA,EAAIH,yBAmB5C5G,gCACEA,gBAACgG,YACC3F,QAASgD,IAAsB2D,GAA8B,GAAtB3B,EAAO4B,MAAQ,aAEtDjH,gBAACkH,oBACCC,gBAAiB,CAAEC,WAAY,CAAE/G,GAAI,CAAEgH,aAAc,KACrDC,QAASZ,EACTa,QAASvH,gBAACwH,eACVtH,SACGqG,GAAaG,IAA0C,IAAxBrB,EAAOoC,aAEzClD,MAAOc,EAAO1B,OACd+D,SAAU,kBA7Be,SAACrC,SACH,UAAzBA,EAAOsB,oBACTtB,YAAAA,EAAQsC,kBAASC,WAAAA,SAAU,SAACC,GAC1BA,EAAYC,kBAAkBpB,MAGhCrB,EAAOyC,yBAETtB,GAAAA,EACEnB,EACA0C,OAAOC,QAAQvB,GACZnE,QAAO,SAAC2F,UAAUA,EAAM,MACxBpG,KAAI,SAACoG,UAAUA,EAAM,OAiBJC,CAAyB7C,gBAG5CA,EAAOsC,gBAAPQ,EAAgBtG,KAAI,SAACC,EAAuBsG,UAC3CpI,gBAACsG,GACCL,IAAQmC,MAAKtG,EAAEO,GACfgD,OAAQvD,EACRyE,UAAWA,EACXjH,cAAeA,SCrDZ+I,GAAqC,gBAChD3E,IAAAA,SACA6C,IAAAA,UACA1C,IAAAA,YACAvE,IAAAA,cAGEgJ,EAQEhJ,EARFgJ,cACAC,EAOEjJ,EAPFiJ,uBACAC,EAMElJ,EANFkJ,wBACAC,EAKEnJ,EALFmJ,uBACA1I,EAIET,EAJFS,SACA2I,EAGEpJ,EAHFoJ,wBACAC,EAEErJ,EAFFqJ,kBACW/I,EACTN,EADFG,QAAWG,aAGLE,EAAmBC,IAAnBD,eAQF8I,EAAoBxE,WACxB,kBAAMkE,IAAgBhG,QAAO,SAACyE,SAA8B,YAAtBA,EAAIJ,mBAC1C,CAAC2B,MAGGO,EAAiBzE,WAAQ,eACvB0E,EAAcR,IAAgBhG,QAClC,SAACyE,SAA8B,YAAtBA,EAAIJ,wBAER8B,cAEEK,EAAYxG,QAAO,SAACR,SAA0B,SAApBA,EAAEiH,iBAC5BD,EAAYxG,QAAO,SAACR,UAA0B,IAApBA,EAAEiH,iBAC5BD,EAAYxG,QAAO,SAACR,SAA0B,UAApBA,EAAEiH,kBAEjCD,IACH,CAACR,IAAiBvI,IAAWiJ,cAAeP,aAG7CzI,gBAACuF,QACC7B,SAAUA,EACVkC,OAAQlC,EACRiC,QAAS,kBAAM9B,EAAY,OAC3BgC,cAAe,CACbC,MAAOhG,IAGTE,gBAACiJ,OACC5I,GAAI,CACF6I,QAAS,OACTC,eAAgB5C,EAAY,SAAW,gBACvC6C,EAAG,SACHC,GAAI,KAGJ9C,GACAvG,gBAACsJ,UACCpJ,UAAWsI,IACXpI,QA5Ca,WACrBuI,IACGrG,QAAO,SAACyE,UAA6B,IAArBA,EAAIU,gBACpBG,SAAQ,SAACb,UAAQA,EAAIe,kBAAiB,QA2ChClI,EAAa3D,SAGlB+D,gBAACsJ,UACCpJ,SAAUqI,IACVnI,QAAS,kBAAMsI,GAAwB,KAEtC9I,EAAajD,UAGlBqD,gBAACuJ,gBACAX,EAAkB/G,KAAI,SAACwD,EAAQU,UAC9B/F,gBAACsG,IACCjB,OAAQA,EACRkB,UAAWA,EACXN,IAAQF,MAASV,EAAOhD,GACxB/C,cAAeA,OAGnBU,gBAACuJ,gBACAV,EAAehH,KAAI,SAACwD,EAAQU,UAC3B/F,gBAACsG,IACCjB,OAAQA,EACRkB,UAAWA,EACXN,IAAQF,MAASV,EAAOhD,GACxB/C,cAAeA,SChGZ+D,GAAuB,CAClCC,GAAI,MACJC,GAAI,EACJ4F,eAAgB,gBAChB3F,WAAY,UAGDgG,GAAuB,CAClCN,QAAS,OACT1F,WAAY,UAUDiG,GAAkC,4BAC7C/F,IAAAA,SACAC,IAAAA,OACAE,IAAAA,YACAvE,IAAAA,cAIEoJ,EAuBEpJ,EAvBFoJ,wBACAgB,EAsBEpK,EAtBFoK,iBAsBEpK,EArBFG,QACEkK,IAAAA,oBACAC,IAAAA,oBACAC,IAAAA,eACApC,IAAAA,aACAqC,IAAAA,kBACApK,MACEhC,IAAAA,eACAG,IAAAA,aACAsB,IAAAA,eACAjB,IAAAA,gBACAM,IAAAA,eACAC,IAAAA,kBACAK,IAAAA,YACAI,IAAAA,SACAE,IAAAA,kBAEF2K,IAAAA,SACAnK,IAAAA,aACAoK,IAAAA,eAII3E,EAAW1B,EAAX0B,UAEqCtF,EAJzCT,EAxBFS,YA4BMD,IAAAA,eAAgB2G,IAAAA,mBAGtBwD,WAA6B,MADxBC,OAAoBC,SAIzBF,WAA6B,MADxBG,OAA6BC,OAuB9BC,EAAkB,SAACC,GACvBlF,EAAOmF,IAAID,IAcPE,EAAuB,WAC3BT,GAAe,GACfU,YACE,qCACEC,SACGC,iCAECjH,EAAOkH,6CAAPC,EAA6CzI,aACpC0H,MAAYpG,EAAOtB,iCAJhC0I,EAMIC,UACN,KAEFnH,EAAY,OAQRoH,EAA2B,SAACjK,GAChCA,EAAMkK,kBACNf,EAAsBnJ,EAAMmK,gBAGxBC,EAAgC,SACpCpK,GAEAA,EAAMkK,kBACNb,EAA+BrJ,EAAMmK,uBAIrCnL,gBAACuF,QACC7B,SAAUA,EACVkC,OAAQlC,EACRiC,QAAS,kBAAM9B,EAAY,OAC3BgC,cAAe,CACbC,MAAOhG,IAGRgK,GACCzE,EAAOgG,cAAgB,CACrBrL,gBAACgG,YACC9F,UAAWmF,EAAOiG,cAClBrF,IAAK,EACL7F,QAlFc,WACtBiF,EAAOkG,eACP1H,EAAY,OAiFJxD,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAACnC,SAEF+B,EAAalF,YAGlBsF,gBAACgG,YACC9F,SAAmC,QAAzBmF,EAAOiG,cACjBrF,IAAK,EACL7F,QA1FY,WACpBiF,EAAOoG,eAAc,GACrB5H,EAAY,OAyFJxD,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAACd,kBAEFU,EAAa5C,wBAAb0O,EAA8BC,QAC7B,WACAC,OAAOvG,EAAO1B,WAIpB3D,gBAACgG,YACCxB,QAASmF,GAAuBE,GAAkBpC,EAClDxB,IAAK,EACL/F,SAAmC,SAAzBmF,EAAOiG,cACjBlL,QAtGa,WACrBiF,EAAOoG,eAAc,GACrB5H,EAAY,OAqGJxD,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAACd,GAASsB,MAAO,CAAEC,UAAW,yCAE/Bb,EAAa3C,yBAAb4O,EAA+BF,QAC9B,WACAC,OAAOvG,EAAO1B,YAKvBgG,GACCtE,EAAOyG,sBAAwB,CAC7B9L,gBAACgG,YACC9F,UAAWmF,EAAO0G,uBAClB9F,IAAK,EACL7F,QArGgB,WACxBiF,EAAOe,qBAAqB,IAC5BvC,EAAY,OAoGJxD,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAACvB,SAEFmB,EAAapF,cAGlBwF,gBAACgG,YACCxB,QAASqF,GAAkBpC,EAC3BxB,IAAK,EACL7F,QAASqK,EACTpK,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAACxB,kBAEFoB,EAAazE,uBAAb6Q,EAA6BL,QAC5B,WACAC,OAAOvG,EAAO1B,WAGhB0B,EAAO4G,qBACPjM,gBAACC,cACCG,QAAS6K,EACTiB,aAAcjB,EACdkB,KAAK,QACL9L,GAAI,CAAE+I,EAAG,IAETpJ,gBAACtC,UAIPsC,gBAACyD,IACCC,SAAUwG,EACVvG,OAAQA,EACRsC,IAAK,EACLrC,SAAU6G,EACV5G,YAAasG,EACb7K,cAAeA,KAGpBuK,GACCxE,EAAO+G,eAAiB,CACtBpM,gBAACgG,YACCxB,QAASoF,EACT3D,IAAK,EACL7F,QA7JkB,WAC1BiF,EAAOgH,iBACP3C,GAAe,SAAC4C,UAAS,qBAAiBA,MAC1CzI,EAAY,OA2JJxD,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAAC9B,kBAEF0B,EACCyF,EAAOkH,eAAiB,kBAAoB,yBAD7CC,EAEEb,QAAQ,WAAYC,OAAOvG,EAAO1B,YAI5CiG,GACCvE,EAAOoH,aAAe,CACpBzM,gBAACgG,YACC9F,SAAmC,SAAzBmF,EAAO0D,cACjB9C,IAAK,EACL7F,QAAS,kBAAMkK,EAAgB,SAC/BjK,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAAClB,GAAY0B,MAAO,CAAEC,UAAW,oBAElCb,EAAazD,YAGlB6D,gBAACgG,YACC9F,SAAmC,UAAzBmF,EAAO0D,cACjB9C,IAAK,EACL7F,QAAS,kBAAMkK,EAAgB,UAC/BjK,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAAClB,GAAY0B,MAAO,CAAEC,UAAW,qBAElCb,EAAaxD,aAGlB4D,gBAACgG,YACC9F,UAAWmF,EAAO0D,cAClBvE,QAASiD,EACTxB,IAAK,EACL7F,QAAS,kBAAMkK,GAAgB,IAC/BjK,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAAClB,SAEFc,EAAapC,SAIrBiK,GAAgB,CACfzH,gBAACgG,YACC9F,UAAkC,IAAxBmF,EAAOoC,aACjBxB,IAAK,EACL7F,QAlOiB,WACvBiF,EAAOyC,kBAAiB,GACxBjE,EAAY,OAiONxD,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAACZ,kBAEFQ,EAAa1D,mBAAbwQ,EAAyBf,QACxB,WACAC,OAAOvG,EAAO1B,WAIpB3D,gBAACgG,YACC9F,UACG6H,OAAOxF,OAAOkE,GAAkBnE,QAAO,SAACqK,UAAaA,KACnDC,OAEL3G,IAAK,EACL7F,QAjNqB,WAC3BsI,GAAwB,GACxB7E,EAAY,OAgNNxD,GAAIgD,IAEJrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAACb,kBAEFS,EAAahD,uBAAbiQ,EAA6BlB,QAC5B,WACAC,OAAOvG,EAAO1B,UAGlB3D,gBAACC,cACCG,QAASgL,EACTc,aAAcd,EACde,KAAK,QACL9L,GAAI,CAAE+I,EAAG,IAETpJ,gBAACtC,UAGLsC,gBAACqI,IACC3E,SAAU0G,EACV7D,aACAN,IAAK,EACLpC,YAAawG,EACb/K,cAAeA,OClVZwN,GAA+B,kBAC1CpJ,IAAAA,SACAqJ,IAAAA,WACAnM,IAAAA,IACAiD,IAAAA,YACAvE,IAAAA,gBAUIA,EANFG,QACWtB,IAATuB,MAASvB,SACT6O,IAAAA,iBACApN,IAAAA,aACAqN,IAAAA,4BAIuBlN,EAFvBT,EAPFS,mBAYAC,gBAACuF,QACC7B,SAAUA,EACVkC,OAAQlC,EACRiC,QAAS,kBAAM9B,EAAY,OAC3BgC,cAAe,CACbC,QAREhG,iBAWHkN,GACChN,gBAACgG,YAAS5F,QAAS2M,EAAY1M,GAAIgD,IACjCrD,gBAACiJ,OAAI5I,GAAImJ,IACPxJ,gBAACwL,oBACCxL,gBAAC7B,SAEFyB,EAAa9E,sBAInBmS,SAAAA,EAA2BrM,EAAKtB,GAAe,kBAC9CuE,EAAY,YACT,uBCjDX,IAAIqJ,EAAW,SAAUC,GAGvB,IAAIC,EAAKrF,OAAOsF,UACZC,EAASF,EAAGG,eAEZC,EAA4B,mBAAXC,OAAwBA,OAAS,GAClDC,EAAiBF,EAAQG,UAAY,aACrCC,EAAsBJ,EAAQK,eAAiB,kBAC/CC,EAAoBN,EAAQO,aAAe,gBAE/C,SAASC,EAAOC,EAAKhI,EAAKC,GAOxB,OANA6B,OAAOmG,eAAeD,EAAKhI,EAAK,CAC9BC,MAAOA,EACPiI,YAAY,EACZC,cAAc,EACdC,UAAU,IAELJ,EAAIhI,GAEb,IAEE+H,EAAO,GAAI,IACX,MAAOM,GACPN,EAAS,SAASC,EAAKhI,EAAKC,GAC1B,OAAO+H,EAAIhI,GAAOC,GAItB,SAASqI,EAAKC,EAASC,EAASC,EAAMC,GAEpC,IACIC,EAAY7G,OAAO8G,QADFJ,GAAWA,EAAQpB,qBAAqByB,EAAYL,EAAUK,GACtCzB,WACzC0B,EAAU,IAAIC,EAAQL,GAAe,IAMzC,OAFAC,EAAUK,QAuMZ,SAA0BT,EAASE,EAAMK,GACvC,IAAIG,EAhLuB,iBAkL3B,OAAO,SAAgBC,EAAQC,GAC7B,GAjLoB,cAiLhBF,EACF,MAAM,IAAIG,MAAM,gCAGlB,GApLoB,cAoLhBH,EAA6B,CAC/B,GAAe,UAAXC,EACF,MAAMC,EAKR,MAoQG,CAAElJ,WA1fPoJ,EA0fyBC,MAAM,GA9P/B,IAHAR,EAAQI,OAASA,EACjBJ,EAAQK,IAAMA,IAED,CACX,IAAII,EAAWT,EAAQS,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUT,GACnD,GAAIU,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAuB,SAAnBV,EAAQI,OAGVJ,EAAQa,KAAOb,EAAQc,MAAQd,EAAQK,SAElC,GAAuB,UAAnBL,EAAQI,OAAoB,CACrC,GApNqB,mBAoNjBD,EAEF,MADAA,EAlNc,YAmNRH,EAAQK,IAGhBL,EAAQe,kBAAkBf,EAAQK,SAEN,WAAnBL,EAAQI,QACjBJ,EAAQgB,OAAO,SAAUhB,EAAQK,KAGnCF,EA7NkB,YA+NlB,IAAIc,EAASC,EAASzB,EAASE,EAAMK,GACrC,GAAoB,WAAhBiB,EAAO3L,KAAmB,CAO5B,GAJA6K,EAAQH,EAAQQ,KAlOA,YAFK,iBAwOjBS,EAAOZ,MAAQO,EACjB,SAGF,MAAO,CACLzJ,MAAO8J,EAAOZ,IACdG,KAAMR,EAAQQ,MAGS,UAAhBS,EAAO3L,OAChB6K,EAhPgB,YAmPhBH,EAAQI,OAAS,QACjBJ,EAAQK,IAAMY,EAAOZ,OA/QPc,CAAiB1B,EAASE,EAAMK,GAE7CH,EAcT,SAASqB,EAASxL,EAAIwJ,EAAKmB,GACzB,IACE,MAAO,CAAE/K,KAAM,SAAU+K,IAAK3K,EAAG0L,KAAKlC,EAAKmB,IAC3C,MAAOd,GACP,MAAO,CAAEjK,KAAM,QAAS+K,IAAKd,IAhBjCnB,EAAQoB,KAAOA,EAoBf,IAOIoB,EAAmB,GAMvB,SAASb,KACT,SAASsB,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBtC,EAAOsC,EAAmB5C,GAAgB,WACxC,OAAO6C,QAGT,IAAIC,EAAWzI,OAAO0I,eAClBC,EAA0BF,GAAYA,EAASA,EAASjO,EAAO,MAC/DmO,GACAA,IAA4BtD,GAC5BE,EAAO6C,KAAKO,EAAyBhD,KAGvC4C,EAAoBI,GAGtB,IAAIC,EAAKN,EAA2BhD,UAClCyB,EAAUzB,UAAYtF,OAAO8G,OAAOyB,GAYtC,SAASM,EAAsBvD,GAC7B,CAAC,OAAQ,QAAS,UAAUzF,SAAQ,SAASuH,GAC3CnB,EAAOX,EAAW8B,GAAQ,SAASC,GACjC,OAAOmB,KAAKtB,QAAQE,EAAQC,SAkClC,SAASyB,EAAcjC,EAAWkC,GAgChC,IAAIC,EAgCJR,KAAKtB,QA9BL,SAAiBE,EAAQC,GACvB,SAAS4B,IACP,OAAO,IAAIF,GAAY,SAASG,EAASC,IAnC7C,SAASC,EAAOhC,EAAQC,EAAK6B,EAASC,GACpC,IAAIlB,EAASC,EAASrB,EAAUO,GAASP,EAAWQ,GACpD,GAAoB,UAAhBY,EAAO3L,KAEJ,CACL,IAAI+M,EAASpB,EAAOZ,IAChBlJ,EAAQkL,EAAOlL,MACnB,OAAIA,GACiB,iBAAVA,GACPoH,EAAO6C,KAAKjK,EAAO,WACd4K,EAAYG,QAAQ/K,EAAMmL,SAASC,MAAK,SAASpL,GACtDiL,EAAO,OAAQjL,EAAO+K,EAASC,MAC9B,SAAS5C,GACV6C,EAAO,QAAS7C,EAAK2C,EAASC,MAI3BJ,EAAYG,QAAQ/K,GAAOoL,MAAK,SAASC,GAI9CH,EAAOlL,MAAQqL,EACfN,EAAQG,MACP,SAASI,GAGV,OAAOL,EAAO,QAASK,EAAOP,EAASC,MAvBzCA,EAAOlB,EAAOZ,KAiCZ+B,CAAOhC,EAAQC,EAAK6B,EAASC,MAIjC,OAAOH,EAaLA,EAAkBA,EAAgBO,KAChCN,EAGAA,GACEA,KAkHV,SAAStB,EAAoBF,EAAUT,GACrC,IAAII,EAASK,EAAS7B,SAASoB,EAAQI,QACvC,QA3TEG,IA2TEH,EAAsB,CAKxB,GAFAJ,EAAQS,SAAW,KAEI,UAAnBT,EAAQI,OAAoB,CAE9B,GAAIK,EAAS7B,SAAiB,SAG5BoB,EAAQI,OAAS,SACjBJ,EAAQK,SAtUZE,EAuUII,EAAoBF,EAAUT,GAEP,UAAnBA,EAAQI,QAGV,OAAOQ,EAIXZ,EAAQI,OAAS,QACjBJ,EAAQK,IAAM,IAAIqC,UAChB,kDAGJ,OAAO9B,EAGT,IAAIK,EAASC,EAASd,EAAQK,EAAS7B,SAAUoB,EAAQK,KAEzD,GAAoB,UAAhBY,EAAO3L,KAIT,OAHA0K,EAAQI,OAAS,QACjBJ,EAAQK,IAAMY,EAAOZ,IACrBL,EAAQS,SAAW,KACZG,EAGT,IAAI+B,EAAO1B,EAAOZ,IAElB,OAAMsC,EAOFA,EAAKnC,MAGPR,EAAQS,EAASmC,YAAcD,EAAKxL,MAGpC6I,EAAQ6C,KAAOpC,EAASqC,QAQD,WAAnB9C,EAAQI,SACVJ,EAAQI,OAAS,OACjBJ,EAAQK,SA1XVE,GAoYFP,EAAQS,SAAW,KACZG,GANE+B,GA3BP3C,EAAQI,OAAS,QACjBJ,EAAQK,IAAM,IAAIqC,UAAU,oCAC5B1C,EAAQS,SAAW,KACZG,GAoDX,SAASmC,EAAaC,GACpB,IAAI9J,EAAQ,CAAE+J,OAAQD,EAAK,IAEvB,KAAKA,IACP9J,EAAMgK,SAAWF,EAAK,IAGpB,KAAKA,IACP9J,EAAMiK,WAAaH,EAAK,GACxB9J,EAAMkK,SAAWJ,EAAK,IAGxBxB,KAAK6B,WAAWC,KAAKpK,GAGvB,SAASqK,EAAcrK,GACrB,IAAI+H,EAAS/H,EAAMsK,YAAc,GACjCvC,EAAO3L,KAAO,gBACP2L,EAAOZ,IACdnH,EAAMsK,WAAavC,EAGrB,SAAShB,EAAQL,GAIf4B,KAAK6B,WAAa,CAAC,CAAEJ,OAAQ,SAC7BrD,EAAY/G,QAAQkK,EAAcvB,MAClCA,KAAKiC,OAAM,GA8Bb,SAASjQ,EAAOkQ,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAS/E,GAC9B,GAAIgF,EACF,OAAOA,EAAevC,KAAKsC,GAG7B,GAA6B,mBAAlBA,EAASb,KAClB,OAAOa,EAGT,IAAK1P,MAAM0P,EAAS7F,QAAS,CAC3B,IAAIxE,GAAK,EAAGwJ,EAAO,SAASA,IAC1B,OAASxJ,EAAIqK,EAAS7F,QACpB,GAAIU,EAAO6C,KAAKsC,EAAUrK,GAGxB,OAFAwJ,EAAK1L,MAAQuM,EAASrK,GACtBwJ,EAAKrC,MAAO,EACLqC,EAOX,OAHAA,EAAK1L,WA1eToJ,EA2eIsC,EAAKrC,MAAO,EAELqC,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMe,GAIjB,SAASA,IACP,MAAO,CAAEzM,WA1fPoJ,EA0fyBC,MAAM,GA+MnC,OA7mBAa,EAAkB/C,UAAYgD,EAC9BrC,EAAO2C,EAAI,cAAeN,GAC1BrC,EAAOqC,EAA4B,cAAeD,GAClDA,EAAkBwC,YAAc5E,EAC9BqC,EACAvC,EACA,qBAaFX,EAAQ0F,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,mBAAXD,GAAyBA,EAAOE,YAClD,QAAOD,IACHA,IAAS3C,GAG2B,uBAAnC2C,EAAKH,aAAeG,EAAKE,QAIhC9F,EAAQ+F,KAAO,SAASJ,GAQtB,OAPI/K,OAAOoL,eACTpL,OAAOoL,eAAeL,EAAQzC,IAE9ByC,EAAOM,UAAY/C,EACnBrC,EAAO8E,EAAQhF,EAAmB,sBAEpCgF,EAAOzF,UAAYtF,OAAO8G,OAAO8B,GAC1BmC,GAOT3F,EAAQkG,MAAQ,SAASjE,GACvB,MAAO,CAAEiC,QAASjC,IAsEpBwB,EAAsBC,EAAcxD,WACpCW,EAAO6C,EAAcxD,UAAWO,GAAqB,WACnD,OAAO2C,QAETpD,EAAQ0D,cAAgBA,EAKxB1D,EAAQmG,MAAQ,SAAS9E,EAASC,EAASC,EAAMC,EAAamC,QACxC,IAAhBA,IAAwBA,EAAcyC,SAE1C,IAAIC,EAAO,IAAI3C,EACbtC,EAAKC,EAASC,EAASC,EAAMC,GAC7BmC,GAGF,OAAO3D,EAAQ0F,oBAAoBpE,GAC/B+E,EACAA,EAAK5B,OAAON,MAAK,SAASF,GACxB,OAAOA,EAAO7B,KAAO6B,EAAOlL,MAAQsN,EAAK5B,WAuKjDhB,EAAsBD,GAEtB3C,EAAO2C,EAAI7C,EAAmB,aAO9BE,EAAO2C,EAAIjD,GAAgB,WACzB,OAAO6C,QAGTvC,EAAO2C,EAAI,YAAY,WACrB,MAAO,wBAkCTxD,EAAQzL,KAAO,SAAS+R,GACtB,IAAI/R,EAAO,GACX,IAAK,IAAIuE,KAAOwN,EACd/R,EAAK2Q,KAAKpM,GAMZ,OAJAvE,EAAKgS,UAIE,SAAS9B,IACd,KAAOlQ,EAAKkL,QAAQ,CAClB,IAAI3G,EAAMvE,EAAKiS,MACf,GAAI1N,KAAOwN,EAGT,OAFA7B,EAAK1L,MAAQD,EACb2L,EAAKrC,MAAO,EACLqC,EAQX,OADAA,EAAKrC,MAAO,EACLqC,IAsCXzE,EAAQ5K,OAASA,EAMjByM,EAAQ3B,UAAY,CAClB2F,YAAahE,EAEbwD,MAAO,SAASoB,GAcd,GAbArD,KAAKpK,KAAO,EACZoK,KAAKqB,KAAO,EAGZrB,KAAKX,KAAOW,KAAKV,WArgBjBP,EAsgBAiB,KAAKhB,MAAO,EACZgB,KAAKf,SAAW,KAEhBe,KAAKpB,OAAS,OACdoB,KAAKnB,SA1gBLE,EA4gBAiB,KAAK6B,WAAWxK,QAAQ0K,IAEnBsB,EACH,IAAK,IAAIX,KAAQ1C,KAEQ,MAAnB0C,EAAKY,OAAO,IACZvG,EAAO6C,KAAKI,KAAM0C,KACjBlQ,OAAOkQ,EAAKa,MAAM,MACrBvD,KAAK0C,QAphBX3D,IA0hBFyE,KAAM,WACJxD,KAAKhB,MAAO,EAEZ,IACIyE,EADYzD,KAAK6B,WAAW,GACLG,WAC3B,GAAwB,UAApByB,EAAW3P,KACb,MAAM2P,EAAW5E,IAGnB,OAAOmB,KAAK0D,MAGdnE,kBAAmB,SAASoE,GAC1B,GAAI3D,KAAKhB,KACP,MAAM2E,EAGR,IAAInF,EAAUwB,KACd,SAAS4D,EAAOC,EAAKC,GAYnB,OAXArE,EAAO3L,KAAO,QACd2L,EAAOZ,IAAM8E,EACbnF,EAAQ6C,KAAOwC,EAEXC,IAGFtF,EAAQI,OAAS,OACjBJ,EAAQK,SArjBZE,KAwjBY+E,EAGZ,IAAK,IAAIjM,EAAImI,KAAK6B,WAAWxF,OAAS,EAAGxE,GAAK,IAAKA,EAAG,CACpD,IAAIH,EAAQsI,KAAK6B,WAAWhK,GACxB4H,EAAS/H,EAAMsK,WAEnB,GAAqB,SAAjBtK,EAAM+J,OAIR,OAAOmC,EAAO,OAGhB,GAAIlM,EAAM+J,QAAUzB,KAAKpK,KAAM,CAC7B,IAAImO,EAAWhH,EAAO6C,KAAKlI,EAAO,YAC9BsM,EAAajH,EAAO6C,KAAKlI,EAAO,cAEpC,GAAIqM,GAAYC,EAAY,CAC1B,GAAIhE,KAAKpK,KAAO8B,EAAMgK,SACpB,OAAOkC,EAAOlM,EAAMgK,UAAU,GACzB,GAAI1B,KAAKpK,KAAO8B,EAAMiK,WAC3B,OAAOiC,EAAOlM,EAAMiK,iBAGjB,GAAIoC,GACT,GAAI/D,KAAKpK,KAAO8B,EAAMgK,SACpB,OAAOkC,EAAOlM,EAAMgK,UAAU,OAG3B,CAAA,IAAIsC,EAMT,MAAM,IAAIlF,MAAM,0CALhB,GAAIkB,KAAKpK,KAAO8B,EAAMiK,WACpB,OAAOiC,EAAOlM,EAAMiK,gBAU9BnC,OAAQ,SAAS1L,EAAM+K,GACrB,IAAK,IAAIhH,EAAImI,KAAK6B,WAAWxF,OAAS,EAAGxE,GAAK,IAAKA,EAAG,CACpD,IAAIH,EAAQsI,KAAK6B,WAAWhK,GAC5B,GAAIH,EAAM+J,QAAUzB,KAAKpK,MACrBmH,EAAO6C,KAAKlI,EAAO,eACnBsI,KAAKpK,KAAO8B,EAAMiK,WAAY,CAChC,IAAIsC,EAAevM,EACnB,OAIAuM,IACU,UAATnQ,GACS,aAATA,IACDmQ,EAAaxC,QAAU5C,GACvBA,GAAOoF,EAAatC,aAGtBsC,EAAe,MAGjB,IAAIxE,EAASwE,EAAeA,EAAajC,WAAa,GAItD,OAHAvC,EAAO3L,KAAOA,EACd2L,EAAOZ,IAAMA,EAEToF,GACFjE,KAAKpB,OAAS,OACdoB,KAAKqB,KAAO4C,EAAatC,WAClBvC,GAGFY,KAAKkE,SAASzE,IAGvByE,SAAU,SAASzE,EAAQmC,GACzB,GAAoB,UAAhBnC,EAAO3L,KACT,MAAM2L,EAAOZ,IAcf,MAXoB,UAAhBY,EAAO3L,MACS,aAAhB2L,EAAO3L,KACTkM,KAAKqB,KAAO5B,EAAOZ,IACM,WAAhBY,EAAO3L,MAChBkM,KAAK0D,KAAO1D,KAAKnB,IAAMY,EAAOZ,IAC9BmB,KAAKpB,OAAS,SACdoB,KAAKqB,KAAO,OACa,WAAhB5B,EAAO3L,MAAqB8N,IACrC5B,KAAKqB,KAAOO,GAGPxC,GAGT+E,OAAQ,SAASxC,GACf,IAAK,IAAI9J,EAAImI,KAAK6B,WAAWxF,OAAS,EAAGxE,GAAK,IAAKA,EAAG,CACpD,IAAIH,EAAQsI,KAAK6B,WAAWhK,GAC5B,GAAIH,EAAMiK,aAAeA,EAGvB,OAFA3B,KAAKkE,SAASxM,EAAMsK,WAAYtK,EAAMkK,UACtCG,EAAcrK,GACP0H,IAKbgF,MAAS,SAAS3C,GAChB,IAAK,IAAI5J,EAAImI,KAAK6B,WAAWxF,OAAS,EAAGxE,GAAK,IAAKA,EAAG,CACpD,IAAIH,EAAQsI,KAAK6B,WAAWhK,GAC5B,GAAIH,EAAM+J,SAAWA,EAAQ,CAC3B,IAAIhC,EAAS/H,EAAMsK,WACnB,GAAoB,UAAhBvC,EAAO3L,KAAkB,CAC3B,IAAIuQ,EAAS5E,EAAOZ,IACpBkD,EAAcrK,GAEhB,OAAO2M,GAMX,MAAM,IAAIvF,MAAM,0BAGlBwF,cAAe,SAASpC,EAAUd,EAAYE,GAa5C,OAZAtB,KAAKf,SAAW,CACd7B,SAAUpL,EAAOkQ,GACjBd,WAAYA,EACZE,QAASA,GAGS,SAAhBtB,KAAKpB,SAGPoB,KAAKnB,SA9rBPE,GAisBOK,IAQJxC,GAOsB2H,EAAO3H,SAGtC,IACE4H,mBAAqB7H,EACrB,MAAO8H,GAWmB,iBAAfC,WACTA,WAAWF,mBAAqB7H,EAEhCgI,SAAS,IAAK,yBAAdA,CAAwChI,gCCruB/BiI,GAAmC,gBAAGvU,IAAAA,IAAKtB,IAAAA,cAEpDS,EAOET,EAPFS,WAOET,EANFG,YACEC,MAAS/B,IAAAA,WAAYoB,IAAAA,SACrBa,IAAAA,aACAwV,IAAAA,gBACAC,IAAAA,qBASEC,iCAAa,yGACXF,SAAAA,WAAkBrV,IAAWwV,qBAAqB3U,UACxDyU,EAAqB,2RAIrBrV,gBAACiJ,OAAI5I,GAAI,CAAE6I,QAAS,OAAQsM,IAAK,YAC/BxV,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAavF,QACjC2F,gBAACC,2BAAuBL,EAAavF,OAAQ+F,QAb9B,iBACnBQ,EAAI2B,gBAAU3B,EAAI+U,YAA0B,GAC5CN,EAAqB,QAYfrV,gBAACrC,UAGLqC,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAarD,MACjCyD,gBAACC,2BACaL,EAAarD,KACzBqZ,MAAM,OACNxV,QAASkV,GAETtV,gBAACjB,YCtCL8W,GAAyB,CAC7BvV,OAAQ,OACRwV,GAAI,OACJC,QAAS,GACTrV,WAAY,eACZH,MAAO,iBACI,CACTwV,QAAS,IASAC,GAA2C,gBACtDpV,IAAAA,IACAtB,IAAAA,gBAYIA,EARFG,QACEuN,IAAAA,qBACAtN,MAASvB,IAAAA,SAAUS,IAAAA,cACnBgB,IAAAA,aACAqN,IAAAA,yBACAgJ,IAAAA,iBACAZ,IAAAA,qBAIIE,GAAsBxV,EAF1BT,EATFS,YAWMwV,oBAEwBtL,WAA6B,MAAtDvG,OAAUG,OAQXkJ,EAAa,WACjBsI,OAA0BzU,IAC1BiD,EAAY,cAIZ7D,gCACGiW,EACCjW,gCAAGiW,EAAiBrV,EAAKtB,IACvBsB,EAAIyB,YAAOkT,SAAAA,EAAmBlT,IAChCrC,gBAACmV,IAAsBvU,IAAKA,EAAKtB,cAAeA,KAC7C2N,GAA4BD,EAC/BhN,gBAACyV,WAAQS,UAAU,QAAQR,SAAMvV,MAAOP,EAAa9E,MACnDkF,gBAACC,cAAWI,GAAIwV,GAAwBzV,QAAS2M,GAC/C/M,gBAAC7B,UAGH8O,EACFjN,gCACEA,gBAACyV,WACCC,SACAS,WAAY,IACZC,eAAgB,IAChBjW,MAAOP,EAAavD,YAEpB2D,gBAACC,2BACaL,EAAavD,WACzB+D,QAjCoB,SAACY,GAC/BA,EAAMkK,kBACNlK,EAAMqV,iBACNxS,EAAY7C,EAAMmK,gBA+BRgB,KAAK,QACL9L,GAAIwV,IAEJ7V,gBAACpB,UAGLoB,gBAAC8M,IACCpJ,SAAUA,EACVqJ,WAAYA,EACZnM,IAAKA,EACLiD,YAAaA,EACbvE,cAAeA,KAGjB,OChFGgX,GAAgC,gBAC3C1V,IAAAA,IACA2V,IAAAA,UACAjX,IAAAA,cAGEkX,EAWElX,EAXFkX,YACAC,EAUEnX,EAVFmX,oBAEAC,EAQEpX,EARFoX,gCAQEpX,EAPFG,QACEE,IAAAA,UACAC,IAAAA,aACA+W,IAAAA,uBACAC,IAAAA,eACAC,IAAAA,kBAII/W,GAAmBC,EAFvBT,EATFS,YAWMD,eAuBFgX,EACJH,aAAkCzB,SAC9ByB,EAAuBJ,EAAW3V,EAAKtB,GACvCqX,EAMAI,OAJwBR,EAC1BG,UACA9V,SAAAA,EAAKoW,yBAIJF,UAIH9W,gBAACyV,WACCC,SACAS,WAAY,IACZC,eAAgB,IAChBjW,MACEoW,EAAY3W,EAAavC,gBAAkBuC,EAAatC,iBAG1D0C,gBAACiX,0BACC/W,SAAUP,EACVuX,WAAY,cACIX,EACV3W,EAAavC,gBACbuC,EAAatC,iBAEnB6O,KAAMrM,EAAiB,QAAU,UAC7BiX,GACJ1W,GAAI,CACFC,OAAQR,EAAiB,UAAY,UACrCS,MAAOT,EAAiB,UAAY,WAEtC4H,SAzDqB,SAAC1G,YACtBuV,QACFG,YAAAA,cAAmChP,YAAAA,SAAW1G,SAC9C6V,GAAAA,EACE7V,EACAA,EAAMmW,OAAO7P,QAAUkP,IAAcY,SAAW,SAE7C,GAAIxW,EAAK,aACdA,YAAAA,EAAKoW,mCAA0BtP,YAAAA,SAAW1G,SAC1C4V,GAAAA,EACE5V,EACAJ,EACAI,EAAMmW,OAAO7P,kBACLmP,IAAsBW,UAAUxW,IACpC6V,IAAsBW,SAAS9U,QAC7B,SAAC+U,UAAgBA,EAAYhV,KAAOzB,EAAIyB,SA2C9ClC,WAAOmP,OCnEFgI,GAAiC,gBAAGhY,IAAAA,cAG7CiY,EAQEjY,EARFiY,kBAQEjY,EAPFG,YACEC,MAASV,IAAAA,WAAYlB,IAAAA,UACrBiM,IAAAA,SACAnK,IAAAA,aACA4X,IAAAA,wBACAC,IAAAA,wBAIiC1X,EAFjCT,EATFS,YAWM2X,IAAAA,aAAcC,IAAAA,aAEU1N,WAA6B,MAAtDvG,OAAUG,SACqBoG,iBAASyN,EAAAA,EAAgB,IAAxDE,OAAaC,OAEdC,EAAeC,cACnBC,YAAS,SAAChX,SACRuW,WAAgBvW,EAAMmW,OAAOjR,cAASoJ,SACtCmI,GAAAA,EAAuBzW,KACtB,KACH,WAaAhB,gBAACiY,eAAaN,EAAYO,YAAY,cACpClY,gBAACmY,2BACC9V,UAAW0H,uBACXqO,YAAaxY,EAAapD,OAC1BkL,SAAU,SAAC1G,GACT6W,EAAe7W,EAAMmW,OAAOjR,OAC5B4R,EAAa9W,IAEfkF,YAAO0R,EAAAA,EAAe,GACtBS,QAAQ,WACRC,WAAY,CACVC,eACEvY,gBAACwY,kBAAeC,SAAS,SACvBzY,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAarF,kBACjCyF,4BACEA,gBAACC,2BACaL,EAAarF,iBACzB6F,QA3BiB,SAACY,GAClC6C,EAAY7C,EAAMmK,gBA2BFgB,KAAK,QACL9L,GAAI,CAAEC,OAAQ,UAAWC,MAAO,YAEhCP,gBAAChB,GAAW0Z,SAAS,cAM/BC,aACE3Y,gBAACwY,kBAAeC,SAAS,OACvBzY,gBAACC,2BACaL,EAAanF,YACzByF,SAAkC,WAAxB0X,SAAAA,EAAahL,QACvBxM,QAtCM,WAClByX,EAAe,IACfN,OAAgBjI,IAqCJnD,KAAK,QACLhM,MAAOP,EAAanF,aAEpBuF,gBAAClC,GAAU4a,SAAS,cAKxBlB,GACJnX,MAAMuY,YAAa,aAAUpB,SAAAA,EAAyBnX,OAExDL,gBAACyD,IACCC,SAAUA,EACVG,YAAaA,EACbvE,cAAeA,2BCjGVuZ,GAAwC,gBACnDvZ,IAAAA,cACGwZ,YASCxZ,EALFG,YACEC,MAAShB,IAAAA,mBAAoBC,IAAAA,eAC7BiB,IAAAA,aACAmZ,IAAAA,gBAIIC,GAAiBjZ,EAFrBT,EANFS,YAQMiZ,oBAGNhZ,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAaxC,kBACjC4C,gBAACC,yCACaL,EAAa9C,gBACzBsD,QAAS,kBAAM2Y,GAAiBC,IAChC7M,KAAK,SACD2M,GAEY9Y,gBAAfgZ,EAAgBta,EAAyBC,gCCtBrCsa,GAAuC,gBAClD3Z,IAAAA,cACGwZ,YAOCxZ,EAJFG,QACWN,IAATO,MAASP,eACTS,IAAAA,eAI4BqK,WAA6B,MAAtDvG,OAAUG,cAOf7D,gCACEA,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAa/C,iBACjCmD,gBAACC,yCACaL,EAAa/C,gBACzBuD,QATY,SAACY,GACnB6C,EAAY7C,EAAMmK,gBASZgB,KAAK,SACD2M,GAEJ9Y,gBAACb,UAGLa,gBAACqI,IACC3E,SAAUA,EACVG,YAAaA,EACbvE,cAAeA,2BCjCV4Z,GAA0C,gBACrD5Z,IAAAA,cACGwZ,YASCxZ,EALFG,YACEC,MAAS3B,IAAAA,kBAAmBC,IAAAA,iBAC5B4B,IAAAA,aACAuZ,IAAAA,kBAIIrZ,GAAmBC,EAFvBT,EANFS,YAQMD,sBAGNE,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAazC,oBACjC6C,gBAACC,yCACaL,EAAazC,mBACzBiD,QAAS,kBAAM+Y,GAAmBrZ,IAClCqM,KAAK,SACD2M,GAEc9Y,gBAAjBF,EAAkB9B,EAAuBD,gCCvBrCqb,GAAqC,gBAChD9Z,IAAAA,cACGwZ,YASCxZ,EALFG,YACEC,MAASlB,IAAAA,eAAgBC,IAAAA,kBACzBmB,IAAAA,aACAoK,IAAAA,eAIIqP,GAAgBtZ,EAFpBT,EANFS,YAQMsZ,mBAGNrZ,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAa9C,iBACjCkD,gBAACC,yCACaL,EAAa9C,gBACzBsD,QAAS,kBAAM4J,GAAgBqP,IAC/BlN,KAAK,SACD2M,GAEW9Y,gBAAdqZ,EAAe5a,EAAwBD,gCCvBnC8a,GAAoC,gBAC/Cha,IAAAA,cACGwZ,YAWCxZ,EAPFG,YACEC,MAASV,IAAAA,WAAYC,IAAAA,cACrB8K,IAAAA,SACAnK,IAAAA,aACA4X,IAAAA,wBACA+B,IAAAA,cAII5B,GAAe5X,EAFnBT,EARFS,YAUM4X,kBAgBN3X,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAa7C,gBACjCiD,gBAACC,4BAAWkM,KAAK,QAAQ/L,QAfF,WACzBmZ,GAAe5B,GACfjN,YACE,mCACEC,SACGC,8BACC4M,SAAAA,EAAyBnV,aAAa0H,gCAF1CgB,EAIIC,UACN,OAM0D8N,GAC1C9Y,gBAAb2X,EAAc1Y,EAAoBD,WC5B9Bwa,GAAwC,gBAAGla,IAAAA,gBAUlDA,EARFG,QACEkK,IAAAA,oBACAlC,IAAAA,aACAgS,IAAAA,yBACAC,IAAAA,mBACAC,IAAAA,uBACAC,IAAAA,oCAIAA,EAEA5Z,gCACG4Z,EAA6Bta,EAAe,CAC3Cga,uBAAAA,GACAF,wBAAAA,GACAH,0BAAAA,GACAC,6BAAAA,GACAL,2BAAAA,MAON7Y,gBAACiJ,OACC5I,GAAI,CACF6I,QAAS,OACTsM,IAAK,SACLhS,WAAY,SACZ4F,EAAG,aAGJsQ,GACC1Z,gBAACsZ,IAAuBha,cAAeA,IAExCqK,GACC3J,gBAACoZ,IAAwB9Z,cAAeA,IAEzCmI,GACCzH,gBAACiZ,IAA0B3Z,cAAeA,IAE3Cma,GACCzZ,gBAACkZ,IAA6B5Z,cAAeA,IAE9Cqa,GACC3Z,gBAAC6Y,IAA2BvZ,cAAeA,MCrDtCua,GAAiC,gBAAGva,IAAAA,cAE7Cwa,EAKExa,EALFwa,yBAEAC,EAGEza,EAHFya,aACAC,EAEE1a,EAFF0a,YACWC,EACT3a,EADFG,QAAWwa,2BAKTla,EAJAT,EAJFS,YAOAma,eAAcC,SAAAA,aAAW,SAAIC,UAAAA,aAAY,IAGrCC,EACJJ,aAAmC/E,SAC/B+E,EAAwB3a,GACxB2a,EAMAK,EACJR,IAA2B1Y,KAAKwL,OAASuN,EAAW,SAGpDna,gBAACua,iCACCC,UAAU,MACVC,MAAOX,IAA2B1Y,KAAKwL,OACvC8N,aAAc,SAACC,EAAQC,UAAoBb,EAAaa,IACxDC,oBAZ4B,SAAC7Z,GAC/BgZ,GAAahZ,EAAMmW,OAAOjR,QAYxB4U,KAAMV,EACNW,YAAaZ,EACba,YAAa,CAAE3a,GAAI,CAAE4a,EAAG,iBACxBC,gBAAiBZ,EACjBa,eAAgBb,GACZD,GACJha,MACE4a,EAAG,WACHxC,SAAU,WACV2C,OAAQ,SACLf,SAAAA,EAAsBha,QCzCpBgb,GAAoC,oBAAG/b,IAAAA,cAEhDwa,EAWExa,EAXFwa,yBACArD,EAUEnX,EAVFmX,oBAEA6E,EAQEhc,EARFgc,uBAQEhc,EAPFG,QACEG,IAAAA,aACA2b,IAAAA,gCACAC,IAAAA,uBACAC,IAAAA,2BACAC,IAAAA,2BAIIC,GAAa5b,EAFjBT,EATFS,YAWM4b,SAEFC,EAAWC,gBAAc,qBAEzBC,EACJP,aAA2CrG,SACvCqG,EAAgCjc,GAChCic,EAEAQ,EACJtF,IAAsBrV,KAAKwL,OAAS,WAChChN,EAAanD,+CAAbuf,EACIrQ,QACA,kBACA8K,IAAsBrV,KAAKwL,OAAOpL,oBAHtCya,EAKItQ,QACA,aACAmO,IAA2B1Y,KAAKwL,OAAOpL,YAE3C,KAEA0a,EACJP,EAAS/O,OAAS,EAChB5M,4BACGJ,EAAa5D,UAAW,IACxB2f,EAAS9Z,KAAI,SAACsa,EAAUpW,gBACvB/F,gBAACoc,YAASnW,IAAQF,MAASoW,GACxBpW,EAAQ,EAAInG,EAAa1C,OAAS,GACnC8C,gBAACqc,QACCzG,MAAM,YACNrR,eACEjF,EACGgJ,gBACAgU,MAAK,SAACjX,UAAWA,EAAOhD,KAAO8Z,aAFlCI,EAE6C5Y,OAE/C6Y,SAAU,kBAAMlB,EAAqBa,WAK3C,KAEAM,IACJb,GACgC,WAA/BH,GAC4B,WAA3BD,GAC8B,QAA/BC,GAA0CC,UAI3C1b,gBAACiY,iBACO8D,KAAmBG,EACzBQ,QAASD,EAAkB,EAAI,KAE/Bzc,gBAAC2c,uBACC/G,MAAM,OACNgH,MAAM,EACNvc,MACEwc,aAAc,EACdnE,SAAU,OACVoE,KAAM,EACN1T,EAAG,EACHqP,SAAUgE,EAAkB,WAAa,WACzCM,MAAO,EACPC,UAAW,SACXC,IAAK,EACL1c,MAAO,OACP6a,OAAQ,SACLU,SAAAA,EAAYzb,KAEbyb,GAEJ9b,gBAACiJ,OAAI5I,GAAI,CAAE+I,EAAG,gBACX2S,EACAG,MC1FEgB,GAAmC,gBAAG5d,IAAAA,gBAG7CA,EADFG,QAAW0d,IAAAA,uBAAwBC,IAAAA,YAAazd,IAAAA,UAG5C0d,EACJF,aAAkCjI,SAC9BiI,EAAuB7d,GACvB6d,SAGJnd,gBAACiY,eAAamF,GAAezd,EAAW2d,kBACtCtd,gBAACud,6CACY,sBACD,QACNF,MCdCG,GAAsB,gBAAGC,IAAAA,YAA+B,CACnEC,gBAAiBD,EAAME,QAAQC,mBAC/BC,mCAAoCC,QAClCL,EAAME,QAAQI,OAAOC,MACrB,SACGF,QAAML,EAAME,QAAQI,OAAOC,MAAO,SACvC9U,QAAS,OACTE,EAAG,eACH7I,MAAO,OACP6a,OAAQ,IAOG6C,GAA4B,kBAAG3e,IAAAA,gBActCA,EAXFG,QACEia,IAAAA,mBACAwE,IAAAA,iBACAC,IAAAA,2BACApU,IAAAA,SACAqU,IAAAA,wBACAC,IAAAA,mBACA7C,IAAAA,uBACAC,IAAAA,2BACAC,IAAAA,2BAII1C,GAAiBjZ,EAFrBT,EAZFS,YAcMiZ,aAEFsF,EACJF,aAAmClJ,SAC/BkJ,EAAwB9e,GACxB8e,SAGJpe,gBAACue,yBACClc,UAAW0H,iBACXsO,QAAQ,SACJiG,GACJje,GAAI,SAACod,aAEDhF,SAAUO,EAAe,cAAW1J,EACpC2N,IAAKjE,EAAe,SAAM1J,GACvBkO,GAAoB,CAAEC,MAAAA,UACtBa,SAAAA,EAAcje,OAIW,QAA/Bob,GACCzb,gBAACqb,IAAuB/b,cAAeA,IAEzCU,gBAACiJ,OACC5I,GAAI,CACF+I,EAAG,SACHF,QAAS,OACTC,eAAgB,iCAGjBuS,SAAAA,EAA6Bpc,MAAkBU,6BAChDA,gBAACiJ,OACC5I,GAAI,CACF6I,QAAS,OACTsM,IAAK,SACLiD,SAAU,WACV2C,OAAQ,IAGT1B,GACC1Z,gBAACsX,IAAoBhY,cAAeA,KAEpC6e,GAAyD,QAA3B3C,GAC9Bxb,gBAACwZ,IAA2Bla,cAAeA,MAIjDU,2BACGke,GACC,CAAC,MAAO,QAAQzb,eAAS4b,EAAAA,EAAsB,KAC7Cre,gBAAC6Z,IAAoBva,cAAeA,KAG1CU,gBAACkd,IAAsB5d,cAAeA,MClF/Bkf,GAA+B,gBAAGlf,IAAAA,gBAYzCA,EATFG,QACE0e,IAAAA,2BACApU,IAAAA,SACAmU,IAAAA,iBACAO,IAAAA,2BACAJ,IAAAA,mBACA7C,IAAAA,uBACAC,IAAAA,2BAIIzC,GAAiBjZ,EAFrBT,EAVFS,YAYMiZ,aAEFsF,EACJG,aAAsCvJ,SAClCuJ,EAA2Bnf,GAC3Bmf,SAGJze,gBAACue,yBACClc,UAAW0H,oBACXsO,QAAQ,SACJiG,GACJje,GAAI,SAACod,eAEED,GAAoB,CAAEC,MAAAA,KACzBiB,OAAQ1F,EAAe,SAAM1J,EAC7BmJ,SAAUO,EAAe,aAAU1J,EACnCqP,wBAAyBb,QAAML,EAAME,QAAQI,OAAOa,MAAO,WACxDN,SAAAA,EAAcje,OAIrBL,gBAACkd,IAAsB5d,cAAeA,IACtCU,gBAACiJ,OACC5I,GAAI,CAAE6I,QAAS,OAAQC,eAAgB,gBAAiB5I,MAAO,SAE7D4d,GAAyD,WAA3B3C,EAG9Bxb,6BAFAA,gBAACwZ,IAA2Bla,cAAeA,IAIb,WAA/Bmc,GACCzb,gBAACqb,IAAuB/b,cAAeA,IAExC4e,GACC,CAAC,SAAU,QAAQzb,eAAS4b,EAAAA,EAAsB,KAChDre,gBAAC6Z,IAAoBva,cAAeA,OCrCnCuf,GAAiC,4BAAGlb,IAAAA,OAAQrE,IAAAA,gBAUnDA,EAPFG,YACEC,MAASlB,IAAAA,eAAgBV,IAAAA,UACzBiM,IAAAA,SACAnK,IAAAA,aACAiL,IAAAA,qCACA9G,IAAAA,sBAIIsB,EAAW1B,EAAX0B,OAEApB,GAAuBlE,EAJ3BT,EARFS,YAYMkE,qBAEwBgG,WAA6B,MAAtDvG,OAAUG,OAYXib,OATJjU,aAAgDqK,SAC5CrK,EAAqCxF,GACrCwF,EAGJxF,EAAOwF,gDAAgDqK,SACnD7P,EAAOwF,qCAAqCxF,GAC5CA,EAAOwF,wCAOyBZ,oBACnC5E,EAAO0G,0BAA0B,IAD7BzK,OAAayd,OAIdjH,EAAeC,cACnBC,YACE,SAAChX,gBACCqE,EAAOe,8BAAqBpF,EAAMmW,OAAOjR,cAASoJ,KACpD,KAEF,OAqBEjK,EAAO2Z,cACFhf,sCAAGqF,EAAO2Z,cAAP3Z,EAAO2Z,OAAS,CAAErb,OAAAA,EAAQrE,cAAAA,SAGhC2f,SAAkBlV,MAAYpG,EAAOtB,wBACrC+C,QAAanB,SAAAA,EAAqBN,EAAOtB,IACzC6c,IAAmB7Z,EAAO4G,oBAC1BkT,EACF/Z,aAAsB8P,WACxB,CAAChb,EAAgBgL,MAAOhL,EAAgBiL,WAAW1C,SACjD2C,GAME,GAHAxF,YACWwF,EAAWyO,OAAO,GAAGuL,cAAgBha,EAAW0O,MAAM,KAGjEuL,WAAoBzf,EAAazE,uBAAb6Q,EAA6BL,QACrD,WACAC,OAAOvG,EAAO1B,gBAId3D,gCACEA,gBAACmY,2BACCmH,aACAjd,GAAI4c,EACJ/H,WAAY,CACVhX,WAAYif,EACZ9e,GAAI,CACFkf,aAAc,WACdhf,MAAO4e,EAAkB,OAAI7P,GAE/BnP,MAAOkf,GAETG,WACExf,yBAAOyf,QAASR,GACb7Z,aAAsB8P,kBACnBtV,EAAalE,WAAWiQ,QACtB,wBAEA/L,YAEIwF,EAAW6N,KAAKY,OAAO,GAAGuL,cAC1Bha,EAAW6N,KAAKa,MAAM,QAErB,OACF,GACLlU,EAAalE,WAAWiQ,QACtB,eAEA/L,YAEIwF,EAAWyO,OAAO,GAAGuL,cAAgBha,EAAW0O,MAAM,OAMpE4L,oBAAqB,CACnBrf,GAAI,CAAEqY,SAAU,SAAUiH,WAAY,WAExCpb,MAAO2a,IAAmB5d,EAAc+d,OAAoB/P,EAC5DsQ,OAAO,OACPxH,YACEiH,EAGF3X,SAAU,SAAC1G,GACT+d,EAAe/d,EAAMmW,OAAOjR,OAC5B4R,EAAa9W,IAEfZ,QAAS,SAACyf,UAAoCA,EAAE3U,mBAChDxO,OAAQwiB,EACRhZ,YAAO5E,EAAAA,EAAe,GACtB+W,QAAQ,WACRC,WAAY,CACVC,gBAAiB2G,GACflf,gBAACwY,kBAAeC,SAAS,SACvBzY,gBAACyV,WAAQC,SAAMvV,MAAOP,EAAatF,kBACjC0F,4BACEA,gBAACC,2BACaL,EAAatF,iBACzB8F,QArGW,SAACY,GAC5B6C,EAAY7C,EAAMmK,gBAqGFgB,KAAK,QACL9L,GAAI,CAAEC,OAAQ,UAAWC,MAAO,YAEhCP,gBAACxB,WAIN2gB,GACCnf,gBAACqc,QACCG,SAtGc,WAC5BuC,EAAe,IACf1Z,EAAOe,0BAAqBkJ,GAC5BvL,GAAsB,SAACoC,qBAClBA,UACFxC,EAAOtB,IAAKnI,EAAgBwK,mBAkGjBH,MAAO4a,KAKfxG,cAAewG,GACbnf,gBAACwY,kBAAeC,SAAS,OACvBzY,gBAACyV,WACCC,SACAoK,qBAAsBZ,EACtBhJ,UAAU,QACV/V,eAAOP,EAAapF,eAAe,IAEnCwF,4BACEA,gBAACC,2BACaL,EAAapF,YACzB0F,iBAAWoB,GAAAA,EAAasL,QACxBxM,QA7HE,WAClB2e,EAAe,IACf1Z,EAAOe,0BAAqBkJ,IA4HZnD,KAAK,QACL9L,GAAI,CACFC,OAAQ,UACRC,MAAO,YAGTP,gBAAClC,GAAU4a,SAAS,gBAO5BoG,GACJze,MACE4a,EAAG,WACH7R,EAAG,EACH2W,SAAWZ,EAA2B,OAAT,OAC7B5e,MAAO,sBACPyf,GAAId,IAAmB5d,EAAc,aAAUgO,uBAC1B,CACnB2Q,GAAI,iBAEHnB,SAAAA,EAAgBze,MAGpB6e,GACClf,gBAACgG,YAASxB,WAAQtE,UAAWoB,EAAa4E,MAAM,IAC7CtG,EAAapF,mBAGjB6K,YAAAA,EAAQ4G,4BAARiU,EAA6Bre,KAAI,SAACse,OAC7Bja,EACAka,QACkB,iBAAXD,GACTja,EAAQia,EACRC,EAAOD,GACoB,iBAAXA,IAChBja,EAAQia,EAAOja,MACfka,EAAOD,EAAOC,MAGdpgB,gBAACgG,YAASC,IAAKC,EAAOA,MAAOA,GAC1Bka,OAKTpgB,gBAACyD,IACCC,SAAUA,EACVC,OAAQA,EACRE,YAAaA,EACbvE,cAAeA,MCpPV+gB,GAA8C,gBACzD1c,IAAAA,OACArE,IAAAA,gBAQIA,EALFG,QACWZ,IAATa,MAASb,aACTe,IAAAA,aACA0gB,IAAAA,yCAIIjb,EAAW1B,EAAX0B,SAEwB4E,WAA6B,MAAtDvG,OAAUG,OAkBX0c,OATJD,aAAoDpL,SAChDoL,EAAyCjb,GACzCib,EAGJjb,EAAOib,oDAAoDpL,SACvD7P,EAAOib,yCAAyCjb,GAChDA,EAAOib,iDAQXtgB,gCACEA,gBAACyV,WACCC,SACAS,WAAY,IACZC,eAAgB,IAChBF,UAAU,MACV/V,MAAOP,EAAahF,eAEpBoF,gBAACC,yCACaL,EAAahF,cACzBwF,QAhCY,SAACY,GACnBA,EAAMkK,kBACNlK,EAAMqV,iBACNxS,EAAY7C,EAAMmK,gBA8BZgB,KAAK,SACDoU,GACJlgB,MACEC,OAAQ,OACR2f,GAAI,MACJD,GAAI,UACJjK,QAAS,GACTrV,WAAY,eACZH,MAAO,iBACI,CACTwV,QAAS,IAERwK,EAAgBlgB,MAGrBL,gBAACnB,UAGLmB,gBAACyJ,IACC/F,SAAUA,EACVC,OAAQA,EACRE,YAAaA,EACbvE,cAAeA,MC3DVkhB,GAA+B,kBAAG7c,IAAAA,OAAQrE,IAAAA,cAEnDS,EAUET,EAVFS,WAUET,EATFG,QACEghB,IAAAA,oBACA9W,IAAAA,oBACA+W,IAAAA,yBACAhhB,MAASpB,IAAAA,cAAeC,IAAAA,aACxBqB,IAAAA,aACA+gB,IAAAA,sBACA3W,IAAAA,iBAIoCjK,IAAhCD,IAAAA,eAAgBuZ,IAAAA,YAEhBhU,EAAW1B,EAAX0B,OAEFub,EACJD,aAAiCzL,SAC7ByL,EAAsBtb,GACtBsb,EAEAE,EACJxb,EAAOsb,iCAAiCzL,SACpC7P,EAAOsb,sBAAsBtb,GAC7BA,EAAOsb,sBAEPG,OACDnd,EAAOod,iBACPH,EACAC,GAGCG,EAAgB3b,EAAOiG,cACA,SAAzBjG,EAAOiG,cACL1L,EAAalF,UACbkF,EAAa3C,iBAAiB0O,QAC5B,WACAtG,EAAO1B,QAEX/D,EAAa5C,gBAAgB2O,QAAQ,WAAYtG,EAAO1B,QA0BtDsd,iBACJ5b,SAAAA,EAAQ6b,cAAR7b,EAAQ6b,OAAS,CACfvd,OAAAA,EACArE,cAAAA,OACI+F,EAAO1B,cAGb3D,gBAACmhB,2BACCC,MAAgC,UAAzB/b,EAAOsB,cAA4B,SAAW,QACjDma,GAEJzgB,GAAI,SAACod,aACHC,gBAAiBD,EAAME,QAAQC,mBAC/BC,mCAAoCC,QAClCL,EAAME,QAAQI,OAAOC,MACrB,SACGF,QAAML,EAAME,QAAQI,OAAOC,MAAO,SACvCW,uBAAwBb,QAAML,EAAME,QAAQI,OAAOa,MAAO,IAC1DyC,WAAY,OACZ/gB,OAAQ,OACRyf,gBAAiBpc,EAAO2d,sBACxBlY,EAAGtJ,EAC0B,YAAzBuF,EAAOsB,cACL,WACA,SACuB,YAAzBtB,EAAOsB,cACP,iBACA,OACJ0C,GAC2B,YAAzBhE,EAAOsB,cACH,EACA7G,EACA,UACA,UACNyhB,GAA6B,YAAzBlc,EAAOsB,cAA8B,OAAI2I,EAC7C5O,mBAAmBggB,EAAuB,EAAI,uBAC9Cc,cAAe,WACfjhB,MAAOoD,EAAO2d,kBAEXR,SAAAA,EAAgBzgB,OAGpBsD,EAAO8d,cAAgB,KAAgC,YAAzBpc,EAAOsB,cACpCsa,EAEAjhB,gBAACiJ,OACC5I,GAAI,CACFmD,WAAY,aACZ0F,QAAS,OACTC,eAC2B,UAAzB9D,EAAOsB,cAA4B,SAAW,gBAChDpG,MAAO,SAGTP,gBAACiJ,uBACK5D,EAAOqc,yBACXrhB,GAAI,CACFmD,WAAY,SACZme,OACEtc,EAAOgG,cAAyC,UAAzBhG,EAAOsB,cAC1B,eACA2I,EACNpG,QAAS,OACT0Y,SAAU,SACVC,WAAYxc,EAAO1B,OAAOiJ,OAAS,GAAK,SAAW,UAErDzM,WAAOmP,IAEN2R,EACyB,UAAzB5b,EAAOsB,eAA6BtB,EAAOgG,cAC1CrL,gBAACyV,WAAQC,SAAMQ,UAAU,MAAM/V,MAAO6gB,GACpChhB,gBAAC8hB,+BACad,EACZe,SAAU1c,EAAOiG,cACjB0W,UACE3c,EAAOiG,cACFjG,EAAOiG,mBACRgE,KAKc,UAAzBjK,EAAOsB,eACNgD,KACEtE,EAAOyG,sBACP9L,gBAACyV,WAAQC,SAAMQ,UAAU,MAAM/V,MA3GvB,IA4GNH,gBAACC,cACCgiB,iBACA7hB,QAAS,SAACY,GACRA,EAAMkK,kBACNlB,GAAgBqP,IAElBlN,KAAK,QACL9L,GAAI,CACF4a,EAAG,EACHlF,QAAW1Q,EAAO0G,uBAAyB,GAAM,EACjD3C,EAAG,MACH1I,WAAY,iCACD,CACTgd,gBAAiB,cACjB3H,QAAS,MAIZsD,IAAgBhU,EAAO0G,uBACtB/L,gBAACzB,GAAama,SAAS,UAEvB1Y,gBAAC1B,GAAcoa,SAAS,aAMpC1Y,gBAACiJ,OACC5I,GAAI,CAAEmD,WAAY,SAAU0F,QAAS,OAAQ0Y,SAAU,YAErDnB,GAAuBpb,EAAOob,uBACC,IAA/Bpb,EAAOob,qBACkB,UAAzBpb,EAAOsB,eACL3G,gBAACqgB,IACC1c,OAAQA,EACRrE,cAAeA,IAGpBohB,GAAiD,UAAzBrb,EAAOsB,eAC9B3G,gBAACuJ,yBACC2Y,YACAhK,YAAY,WACZiK,cAAe,kBAAMxe,EAAOye,aAC5B/hB,GAAI,SAACod,SAAkB,CACrB4E,iBAAkB,MAClBxF,aAAc,MACdyF,UAAW,OACXX,OAAQ,aACRY,WAAY,OACZC,YAAa,kBACD,CACV9E,gBAAiBD,EAAME,QAAQ8E,UAAUC,KACzC3M,QAAS,MAGRpS,EAAOgf,iBAAgB,SAACC,eACxBA,GACHpiB,MAAO,CACLC,UAAW4E,EAAOwd,8BAEZ9iB,IAAW+iB,iBAAiBC,kBAE9B,aAQQ,SAAzB1d,EAAOsB,eACNgD,GACAtE,EAAOyG,sBACL9L,gBAACiY,eAAaoB,GACZrZ,gBAAC6e,IACClb,OAAQA,EACRrE,cAAeA,OCjPhB0jB,GAA8B,gBAAGC,IAAAA,YAAa3jB,IAAAA,cAE5C4jB,EACT5jB,EADFG,QAAWyjB,qBAGPC,EACJD,aAAgChO,SAC5BgO,EAAqBD,GACrBC,EAEAE,aACDH,SAAAA,EAAaI,sBACbF,UAIHnjB,gBAACsjB,4BAAaF,GACXH,EAAYM,QAAQ1hB,KAAI,SAAC8B,EAAoBoC,UAC5C/F,gBAACwgB,IACC7c,OAAQA,EACRsC,IAAKtC,EAAOtB,IAAM0D,EAClBzG,cAAeA,SCrBZkkB,GAA2B,gBAAGC,IAAAA,OAAQnkB,IAAAA,cAE/CokB,EAKEpkB,EALFokB,sBACAC,EAIErkB,EAJFqkB,gBACAC,EAGEtkB,EAHFskB,oBACAC,EAEEvkB,EAFFukB,qBACWC,EACTxkB,EADFG,QAAWqkB,kBAGPC,EACJD,aAA6B5O,SACzB4O,EAAkBxkB,GAClBwkB,EAEAE,EAAqB,CACzBC,OAAQP,EACR5G,KAAM8G,EACNM,KAAMP,EACN5G,MAAO8G,UAIP7jB,gBAACmkB,6BAAcJ,GACZC,EAAmBP,KAAU5hB,KAAI,SAACohB,UACjCjjB,gBAACgjB,IACCC,YAAaA,EACbhd,IAAKgd,EAAYI,sBAAsBpd,IACvC3G,cAAeA,SC5BZ8kB,GAAmC,gBAAGC,IAAAA,KAAM/kB,IAAAA,cAErDS,EAEET,EAFFS,SACWukB,EACThlB,EADFG,QAAW6kB,mCAGLjf,EAAgBgf,EAAhBhf,OAAQzE,EAAQyjB,EAARzjB,IAsBVke,OATJwF,aAA8CpP,SAC1CoP,EAAmCD,GACnCC,EAGJjf,EAAOif,8CAA8CpP,SACjD7P,EAAOif,mCAAmCD,GAC1Chf,EAAOif,2CAYXtkB,gBAACmY,2BACCyH,OAAO,QACPlY,SAhCiB,SAAC1G,GAChBjB,IAAWwV,oBACb3U,EAAI2B,OAAO8C,EAAOhD,IAAMrB,EAAMmW,OAAOjR,aAKvCb,EAAOkf,kBAAPlf,EAAOkf,iBAAmBvjB,EAAOqjB,IA0B/BjkB,QAAS,SAACyf,UAAoCA,EAAE3U,mBAChDkN,YAAa/S,EAAO1B,OACpBuC,MAAOme,EAAKne,MACZmS,QAAQ,YACJyG,KC5CG0F,GAA4B,gBACvCH,IAAAA,KACAI,IAAAA,aACAnlB,cAGEG,QAAWG,IAAAA,aAAc8kB,IAAAA,kCAGCza,YAAS,GAA9B0a,OAAQC,OAkBTC,OATJH,aAA2CxP,SACvCwP,EAAgCL,GAChCK,EAGJL,EAAKhf,OAAOqf,2CAA2CxP,SACnDmP,EAAKhf,OAAOqf,gCAAgCL,GAC5CA,EAAKhf,OAAOqf,wCAQhB1kB,gBAACyV,WACCC,SACAS,WAAY,IACZC,eAAgB,IAChBF,UAAU,MACV/V,MAAOwkB,EAAS/kB,EAAa/E,kBAAoB+E,EAAajF,aAE9DqF,gBAACsJ,qCACa1J,EAAajF,YACzByF,QAAS,kBA9Bb0kB,UAAUC,UAAUC,UA8BUX,EAAKne,OA7BnC0e,GAAU,QACVla,YAAW,kBAAMka,GAAU,KAAQ,MA6B/BzY,KAAK,SACD0Y,GACJxkB,MACEqd,gBAAiB,cACjBuH,OAAQ,OACRrP,MAAO,UACPsP,WAAY,UACZxM,SAAU,UACVyM,cAAe,UACflK,EAAG,WACH8E,SAAU,QACVqF,UAAW,UACXC,cAAe,iBACZR,SAAAA,EAAaxkB,IAElBgY,QAAQ,SAEPoM,KC3DIa,GAA+B,oBAAGjB,IAAAA,KAAM/kB,IAAAA,cAEjDmJ,EAUEnJ,EAVFmJ,yBAUEnJ,EARFG,QACE8lB,IAAAA,kBACA3b,IAAAA,oBACAjK,IAAAA,UACA6lB,IAAAA,sBACAC,IAAAA,8BACAC,IAAAA,eAI0C3lB,EAF1CT,EATFS,YAWMwV,IAAAA,kBAAmBzV,IAAAA,eAEnBuF,EAAgBgf,EAAhBhf,OAAQzE,EAAQyjB,EAARzjB,IAEV+kB,EACJH,aAAiCtQ,SAC7BsQ,EAAsBnB,GACtBmB,EAEAI,EACJvgB,EAAOmgB,iCAAiCtQ,SACpC7P,EAAOmgB,sBAAsBnB,GAC7Bhf,EAAOmgB,sBAEP1E,OACDuD,EAAKwB,eACLF,EACAC,GAGCE,EAAgB1hB,WACpB,iBAC2B,YAAzBiB,EAAOsB,cACHtB,EAAOic,WAAa,EACpByE,KAAKC,UAAY3gB,EAAOic,WAAajc,EAAOic,WAAa,GACzDjc,EAAOic,WAAa,IAC1B,CAACjc,EAAOsB,cAAetB,EAAOic,oBAI9BthB,gBAACmhB,2BACC/gB,QAAS,SAACY,gBACR0kB,SAAAA,EAAc1kB,EAAOqjB,KAEnBvD,GACJzgB,MACE+I,EAAGtJ,EAC0B,YAAzBuF,EAAOsB,cACL,WACA,SACuB,YAAzBtB,EAAOsB,cACP,iBACA,OACJK,GACgB,eAAd3B,EAAOhD,GACAzB,EAAIqG,OAASnH,EAAiB,GAAM,gBACvCwP,EACN5O,WAAY,uBACZmhB,WACE/hB,GAAmB8J,GAAuBnB,IACtC,SACA,gBAEHqY,SAAAA,EAAgBzgB,MAGpBV,EACCK,gBAACimB,0BACCC,UAAU,OACV5lB,OAAQ,GACRC,MAAOulB,GACHL,IAEqB,YAAzBpgB,EAAOsB,oBACTtB,EAAO8gB,YAAP9gB,EAAO8gB,KAAO,CAAE9B,KAAAA,EAAM/kB,cAAAA,IACpB+kB,EAAK+B,oBACNxlB,EAAI2L,gBACHlH,EAAOhD,KACLzB,EAAIylB,iBAAoB,KAAOhC,EAAKiC,kBACxCjC,EAAKkC,uBACHlhB,EAAOmhB,sBAAiBjR,SAAAA,EAAmBlT,MAAOzB,EAAIyB,GACxDrC,gBAACokB,IAAsBC,KAAMA,EAAM/kB,cAAeA,KAC/CimB,GAAqBlgB,EAAOkgB,qBACF,IAA7BlgB,EAAOkgB,kBACPvlB,gCACEA,gBAACwkB,IAAeH,KAAMA,EAAM/kB,cAAeA,GACxC+kB,EAAKoC,cAEP7lB,EAAI2L,gBAAkBvM,8CAAKY,EAAI8lB,gBAAJC,EAAa/Z,aAG3C5M,gCACGqkB,EAAKoC,aACL7lB,EAAI2L,gBAAkBvM,8CAAKY,EAAI8lB,gBAAJE,EAAaha,eCnGtCia,GAAkC,gBAAGjmB,IAAAA,IAAKtB,IAAAA,cAEnDwnB,EAOExnB,EAPFwnB,wBAOExnB,EANFG,QACEsnB,IAAAA,qBACAC,IAAAA,yBACAC,IAAAA,mBACAnmB,IAAAA,kBAIEsiB,EACJ2D,aAAgC7R,SAC5B6R,EAAqBnmB,GACrBmmB,EAEAjG,EACJkG,aAAoC9R,SAChC8R,EAAyBpmB,GACzBomB,SAGJhnB,gBAACsjB,4BAAaF,GACZpjB,gBAACmhB,2BACC+F,QAASJ,IAAwBla,OAAS,GAC1CxM,QAAS,SAACY,gBACRimB,SAAAA,EAAqBjmB,EAAOJ,KAE1BkgB,GACJzgB,MACE8mB,aAAevmB,EAAIM,qBAA2BoO,EAAT,OACrCiS,GAAI3gB,EAAIM,gBAAkB,OAAS,EACnCmI,GAAIzI,EAAIM,gBAAkB,OAAS,EACnCR,WAAY,8BACTogB,SAAAA,EAAgBzgB,MAGrBL,gBAACiY,eAAarX,EAAIM,uBAAkBJ,SAAAA,EAAoBF,OClCnDwmB,GAA8B,gBAAG3D,IAAAA,OAAQ7iB,IAAAA,IAAKtB,IAAAA,gBAGrDA,EADFG,QAAWsnB,IAAAA,qBAAsBM,IAAAA,WAAYvmB,IAAAA,kBAI7CwmB,EAOE1mB,EAPF0mB,sBACA/a,EAME3L,EANF2L,aACAgb,EAKE3mB,EALF2mB,cACAC,EAIE5mB,EAJF4mB,oBACAC,EAGE7mB,EAHF6mB,qBACAC,EAEE9mB,EAFF8mB,YACAC,EACE/mB,EADF+mB,gBAGIC,EACJb,aAAgC7R,SAC5B6R,EAAqBnmB,GACrBmmB,EAEA3D,OACDsE,IACAE,GAGCC,EAAqB,CACzB5D,OAAQqD,EACRxK,KAAM0K,EACNtD,KAAMyD,EACN5K,MAAO0K,UAIPznB,gCACEA,gBAACsjB,0BACCwE,SACA1nB,QAAS,SAACY,gBACRqmB,SAAAA,EAAarmB,EAAOJ,IAEtByF,SAAUkhB,KACNnE,GAEHyE,EAAmBpE,KAAU5hB,KAAI,SAACwiB,UACjCrkB,gBAACslB,IACCjB,KAAMA,EACNpe,IAAKoe,EAAKwB,eAAe5f,IACzB3G,cAAeA,QAIpBwB,IAAsByL,KACrBvM,gBAAC6mB,IAAqBjmB,IAAKA,EAAKtB,cAAeA,MCrD1CyoB,GAA2B,gBAAGtE,IAAAA,OAAQnkB,IAAAA,cAG/Cwa,EAGExa,EAHFwa,yBACAkO,EAEE1oB,EAFF0oB,oBAEE1oB,EADFG,QAA6BwoB,IAAAA,kBAGzB7mB,IAHO8c,kBAITgK,EAHA5oB,EAJF4oB,yBAO0B9mB,KACxB0Y,IAA2B1Y,KAEzB+mB,EACJF,aAA6B/S,SACzB+S,EAAkB3oB,GAClB2oB,EAEAG,OACDJ,IACAG,UAIHnoB,gBAACqoB,6BAAcD,GACZhnB,EAAKS,KAAI,SAACjB,UACTZ,gBAAConB,IACCnhB,IAAKrF,EAAI8mB,cAAczhB,IACvBwd,OAAQA,EACR7iB,IAAKA,EACLtB,cAAeA,SC9BZgpB,GAAiC,oBAAGC,IAAAA,OAAQjpB,IAAAA,gBAInDA,EADFG,QAAW+oB,IAAAA,wBAAyB9H,IAAAA,qBAG9B5gB,GAAmBC,EAFvBT,EAFFS,YAIMD,eAEAuF,EAAWkjB,EAAXljB,OAEFojB,EACJD,aAAmCtT,SAC/BsT,EAAwBnjB,GACxBmjB,EAEAE,EACJrjB,EAAOmjB,mCAAmCtT,SACtC7P,EAAOmjB,wBAAwBnjB,GAC/BA,EAAOmjB,wBAEP1H,OACDyH,EAAOI,iBACPF,EACAC,UAIH1oB,gBAACmhB,2BACCC,MAAgC,UAAzB/b,EAAOsB,cAA4B,SAAW,OACrD0R,QAAQ,QACJyI,GAEJzgB,GAAI,SAACod,aACHC,gBAAiBD,EAAME,QAAQC,mBAC/BC,mCAAoCC,QAClCL,EAAME,QAAQI,OAAOC,MACrB,SACGF,QAAML,EAAME,QAAQI,OAAOC,MAAO,SACvCqD,WAAY,OACZjY,EAAGtJ,EAAiB,SAAW,OAC/BY,mBAAmBggB,EAAuB,OAAS,uBACnDc,cAAe,kBAEZV,SAAAA,EAAgBzgB,OAGpBkoB,EAAO9G,cACJ,6BACApc,EAAOujB,cAAPvjB,EAAOujB,OAAS,CACdL,OAAAA,EACAjpB,cAAAA,OAEF+F,EAAOkjB,UACP,OCpDGM,GAAgC,kBAC3CC,IAAAA,YACAxpB,IAAAA,cAGaypB,EACTzpB,EADFG,QAAWspB,mCAKVD,EAAYvF,WAAZyF,EAAqBliB,MACpB,SAACmiB,UAAMA,EAAE5jB,OAAO6jB,UAAUX,QAAUU,EAAE5jB,OAAOujB,UAG/C,OAAO,SAEHO,EACJJ,aAAkC7T,SAC9B6T,EAAuBD,GACvBC,EAEA3F,OACD0F,EAAYM,sBACZD,UAIHnpB,gBAACsjB,4BAAaF,GACX0F,EAAYvF,QAAQ1hB,KAAI,SAAC0mB,UACxBvoB,gBAACsoB,IACCC,OAAQA,EACRtiB,IAAKsiB,EAAOI,iBAAiB1iB,IAC7B3G,cAAeA,SChCZ+pB,GAA6B,gBAAG5F,IAAAA,OAAQnkB,IAAAA,cAEjDgqB,EAKEhqB,EALFgqB,sBACAC,EAIEjqB,EAJFiqB,gBACAC,EAGElqB,EAHFkqB,oBACAC,EAEEnqB,EAFFmqB,qBACWC,EACTpqB,EADFG,QAAWiqB,oBAGPC,EACJD,aAA+BxU,SAC3BwU,EAAoBpqB,GACpBoqB,EAEAE,EAAqB,CACzB3F,OAAQqF,EACRxM,KAAM0M,EACNtF,KAAMqF,EACNxM,MAAO0M,UAIPzpB,gBAAC6pB,+BAAgBF,GACdC,EAAmBnG,KAAU5hB,KAAI,SAACinB,UACjC9oB,gBAAC6oB,IACCC,YAAaA,EACb7iB,IAAK6iB,EAAYM,sBAAsBnjB,IACvC3G,cAAeA,SCzBZwqB,GAAuB,gBAAGrG,IAAAA,OAAQnkB,IAAAA,cAE3CyqB,EAOEzqB,EAPFyqB,gBAOEzqB,EANFG,QACEuqB,IAAAA,mBACAC,IAAAA,gBACAC,IAAAA,cACAC,IAAAA,cAIEC,EACJD,aAAyBjV,SACrBiV,EAAc7qB,GACd6qB,EAEAE,OACDN,IACAK,UAIHpqB,gBAACsqB,uBAAMC,aAAcP,GAAwBK,IACzCH,GACAlqB,gBAACwjB,IAAcC,OAAQA,EAAQnkB,cAAeA,IAEhDU,gBAAC+nB,IAActE,OAAQA,EAAQnkB,cAAeA,KAC5C2qB,GACAjqB,gBAACqpB,IAAgB5F,OAAQA,EAAQnkB,cAAeA,MCnClDkrB,GAAkB,gBACtB/G,IAAAA,OACAhG,IAAAA,YAOC,CACCvU,QAAS,OACT6W,WARFpT,QAQsB,QAAU,EAC9B8d,UAAW,OACX9L,UACa,SAAX8E,gBACkB3F,QAAML,EAAME,QAAQI,OAAOa,MAAO,IACrC,UAAX6E,iBACe3F,QAAML,EAAME,QAAQI,OAAOa,MAAO,IACjD,SAOG8L,GAAgC,gBAAGprB,IAAAA,cAE5CqrB,EAWErrB,EAXFqrB,oBACAliB,EAUEnJ,EAVFmJ,uBACAmiB,EASEtrB,EATFsrB,kBACAC,EAQEvrB,EARFurB,qBAQEvrB,EANFG,QACEmK,IAAAA,oBACAogB,IAAAA,mBACAjgB,IAAAA,SACA+gB,IAAAA,0BAIoC/qB,EAFpCT,EAPFS,YASMiZ,IAAAA,aAAchQ,IAAAA,gBAE8BiB,WAAS,GAAtD8gB,OAAoBC,OAErBC,EACJH,aAAkC5V,SAC9B4V,EAAuBxrB,GACvBwrB,SAENI,mBAAgB,2BACRC,EACgB,oBAAbxgB,4BACHA,oBAAAygB,EAAUxgB,sBAAsBb,0BAAhCshB,EACIC,gBACJ,EAEAC,EACgB,oBAAb5gB,4BACHA,oBAAA6gB,EAAU5gB,sBAAsBb,6BAAhC0hB,EACIH,gBACJ,EAENN,EAAsBG,EAAmBI,MAIzCvrB,gBAAC0rB,kCACKT,GACJ5qB,MACEsrB,SAAU,OACVrJ,UAAW0H,+BACsBe,sBAC7Bzb,EACJsc,SAAU,cACPX,SAAAA,EAAqB5qB,IAE1BG,MAAO,CACL8hB,UAAWtJ,kBACS+R,aAChBzb,KAGL1F,GAAuBnB,IACtBzI,gBAACiJ,OACC5I,GAAI,CACF6I,QAAS,OACT2iB,oBAAwBjB,UAAyBD,UAA2BE,WAG9E7qB,gBAACiJ,OAEC5I,GAAI,SAACod,gBACH+M,GAAgB,CACd/G,OAAQ,OACRhG,MAAAA,EACA9Q,mBAAW3D,EAAc8T,QAAdgP,EAAoBlf,YAInC5M,gBAAC8pB,IAAUrG,OAAO,OAAOnkB,cAAeA,KAE1CU,gBAACiJ,OACC5I,GAAI,SAACod,UAAiB+M,GAAgB,CAAE/M,MAAAA,MAExCzd,gBAAC8pB,IAAUrG,OAAO,SAASnkB,cAAeA,KAE5CU,gBAACiJ,OAEC5I,GAAI,SAACod,gBACH+M,GAAgB,CACd/G,OAAQ,QACRhG,MAAAA,EACA9Q,mBAAW3D,EAAc+T,SAAdgP,EAAqBnf,YAIpC5M,gBAAC8pB,IAAUrG,OAAO,QAAQnkB,cAAeA,MAI7CU,gBAAC8pB,IAAUrG,OAAO,OAAOnkB,cAAeA,MClHnC0sB,GAA4B,gBAAG1sB,IAAAA,gBAItCA,EADFG,QAAWwsB,IAAAA,kBAAmBC,IAAAA,eAAgBC,IAAAA,mBAGxCnT,GAAiBjZ,EAFrBT,EAFFS,YAIMiZ,aAERoT,aAAU,WACc,oBAAXC,SAEP1hB,SAAS2hB,KAAK9rB,MAAMorB,SADlB5S,EAC6B,SAEA,UAGlC,CAACA,QAEEuT,EACJJ,aAA8BjX,SAC1BiX,EAAmB7sB,GACnB6sB,SAGJnsB,gBAACwsB,uBACCC,UAAW,GACPF,GACJlsB,MACEqe,OAAQ1F,EAAe,SAAM1J,EAC7BhP,OAAQ0Y,EAAe,YAAS1J,EAChCwN,KAAM9D,EAAe,SAAM1J,EAC3B2L,EAAGjC,EAAe,SAAM1J,EACxBod,UAAY1T,OAA0B1J,EAAX,SAC3BmJ,SAAUO,EAAe,aAAU1J,EACnCyN,MAAO/D,EAAe,SAAM1J,EAC5B2N,IAAKjE,EAAe,SAAM1J,EAC1B5O,WAAY,uBACZH,MAAOyY,EAAe,aAAU1J,EAChC8L,OAAQpC,EAAe,KAAO,SAC3BuT,SAAAA,EAAiBlsB,OAGpB6rB,GAAkBlsB,gBAACie,IAAe3e,cAAeA,IACnDU,gBAAC0qB,IAAmBprB,cAAeA,KACjC2sB,GACAjsB,gBAACwe,IAAkBlf,cAAeA,MCpD7BqtB,GAAuB,SAClChlB,WAEIilB,EAA4CjlB,EAC5CklB,EAAiDllB,WAC5CklB,IAAAC,EAAalgB,QAAUigB,EAAY/lB,MAAK,SAACC,UAAQA,EAAIY,YAAU,OAChEolB,EAAkCF,EACrCvqB,QAAO,SAACyE,WAAUA,EAAIY,WACtB9F,KAAI,SAACkF,UAAQA,EAAIY,WACjBqlB,OACCD,EAASE,OAAM,SAAClmB,iBAASA,GAAAA,EAAKY,cAChCilB,YAAyBA,EAAuBG,IAElDF,EAAcE,SAETH,EAAmBtqB,QAAO,SAACyE,UAASA,EAAIY,YAiBpCulB,GAAmB,SAC9BC,EACA9nB,EACApB,UAEAkpB,EAAMD,iBAAiB7nB,EAAOhD,MAC5B+C,WAAYnB,EAAmBoB,EAAOhD,KAAOnI,EAAgBwK,YAC1DW,KAGM+nB,GAAsB,SACjCD,EACA9nB,UACiB8nB,EAAMC,oBAAoB/nB,ICdhCgoB,GAAgB,SAC3BzK,6CAEM7Y,EAAW3F,WACf,iCAAMwe,EAAM7Y,YAAYgc,KAAKC,SAASxkB,SAAS,IAAI8rB,UAAU,EAAG,KAChE,CAAC1K,EAAM7Y,aAEyCE,WAChD,MADKsL,OAAmBF,SAGkBpL,6BAC1C2Y,EAAM2K,qBAANC,EAAoB1tB,oBADfA,OAAgBqZ,SAGiBlP,6BACtC2Y,EAAM2K,qBAANE,EAAoBzU,kBADfA,OAAcD,SAGiB9O,6BACpC2Y,EAAM2K,qBAANG,EAAoBrU,iBADfA,OAAarP,SAGgBC,6BAClC2Y,EAAM2K,qBAANI,EAAoBhW,gBADfA,OAAY4B,SAIiBtP,WAA0B,CAC5DmQ,4BAAWwI,EAAM2K,wBAANK,EAAoB1T,mBAApB2T,EAAgCzT,aAAa,EACxDD,2BAAUyI,EAAM2K,wBAANO,EAAoB5T,mBAApB6T,EAAgC5T,YAAY,GACtD6T,4BAAWpL,EAAM2K,wBAANU,EAAoB/T,mBAApBgU,EAAgCF,cAAc,IAHpD9T,OAAYiU,SAMiClkB,YAEjD,kBACDlC,OAAOqmB,aAAPrmB,QACE,WACG4kB,GAAqB/J,EAAMjb,SAAkC9F,KAC9D,SAACC,gCACEA,EAAEO,sBACDP,EAAEQ,gBACFsgB,YAAAA,EAAO2K,wBAAPc,EAAqBC,sBAArBC,EAAqCzsB,EAAEO,gBACpCP,EAAEmK,sBAAFuiB,EAAuB5hB,OACtB1S,EAAgB4K,OAChB5K,EAAgBwK,qBAZvBT,OAAoBF,SAkBmCkG,oBAC5D2Y,EAAM6L,oBAAoBv0B,EAAgBoK,kBADrCJ,OAAyBF,OAI1BmpB,EAAQ/oB,WACZ,kBAAMsqB,kBACN,IAGIC,GAAiBvqB,WACrB,6BACE,EACGwe,EAAMgM,kBAAoBhM,EAAM5V,mBAC/BogB,GAAoBD,EAAO,CACzBhH,KAAM,mBACJnmB,gBAACgW,IACCpV,MAFKyjB,KAEKzjB,IACVtB,cAAeA,MAGnBqE,gBAAQif,EAAMhjB,qBAANivB,EAAoBz0B,QAC5BiI,GAAI,kBACJspB,SAAU,GACVprB,MAAO,MAEVqiB,EAAMkM,gBAAkBlM,EAAM/Y,iBAC7BujB,GAAoBD,EAAO,CACzBhH,KAAM,mBACJnmB,gBAACW,GACCC,MAFKyjB,KAEKzjB,IACVtB,cAAeA,MAGnB4hB,OAAQ,kBACN0B,EAAMmM,gBACJ/uB,gBAACX,GAAoBC,cAAeA,KAClC,MACNqE,gBAAQif,EAAMhjB,qBAANovB,EAAoBj0B,OAC5BsH,GAAI,aACJspB,SAAU,GACVprB,MAAO,KAEXqiB,EAAMqM,oBACJ7B,GAAoBD,EAAO,CACzBhH,KAAM,mBACJnmB,gBAACsW,IACC1V,MAFKyjB,KAEKzjB,IACVtB,cAAeA,MAGnB4hB,OAAQ,kBACN0B,EAAMsM,gBACJlvB,gBAACsW,IAAmBC,aAAUjX,cAAeA,KAC3C,MACNqE,gBAAQif,EAAMhjB,qBAANuvB,EAAoBzyB,OAC5B2F,GAAI,aACJspB,SAAU,GACVprB,MAAO,KAEXqiB,EAAMwM,kBACJhC,GAAoBD,EAAO,CACzBhH,KAAM,qBAAG9B,KAAgBzjB,IAAImF,MAAQ,GACrCmb,OAAQ,iBAAM,KACdvd,gBAAQif,EAAMhjB,qBAANyvB,EAAoB/yB,WAC5B+F,GAAI,kBACJspB,SAAU,GACVprB,MAAO,GACPwf,SAAU,MAEdzd,OAAOgtB,WACX,CACE1M,EAAMmM,gBACNnM,EAAMkM,eACNlM,EAAMgM,iBACNhM,EAAM5V,iBACN4V,EAAMwM,iBACNxM,EAAMqM,mBACNrM,EAAMsM,gBACNtM,EAAMhjB,eAIJ+H,GAAUvD,WACd,kBACE+oB,EAAMoC,wBACDZ,GACA/L,EAAMjb,QAAQ9F,KAAI,SAACwD,UACpBA,EAAOsC,QDnJU,SAAd6nB,EACXrC,EACA9nB,EACApB,gBAEAkpB,EAAMqC,iBACDnqB,GACHsC,cAAStC,YAAAA,EAAQsC,gBAAR8nB,EAAiB5tB,WAAjB4tB,EAAiB5tB,KAAM,SAACkF,UAC/BA,EAAIY,QACA6nB,EAAerC,EAAOpmB,EAAK9C,GAC3BipB,GAAiBC,EAAOpmB,EAAK9C,SC0IzBurB,CAAYrC,EAAO9nB,EAAQpB,GAC3BipB,GAAiBC,EAAO9nB,EAAQpB,UAG1C,CAACkpB,EAAOvK,EAAMjb,QAAS1D,IAGnByrB,GAAOtrB,WACX,kBACEwe,EAAMjjB,YAAcijB,EAAM8M,KAAK9iB,OAC3B,UAAIjL,MAAM,IAAIguB,KAAK,OAAO9tB,KAAI,SAAC8Y,UAC7B5S,OAAOqmB,aAAPrmB,QACE,WACG4kB,GACD/J,EAAMjb,SACN9F,KAAI,SAACC,sBACJA,EAAEO,IAAK,eAIdugB,EAAM8M,OACZ,CAAC9M,EAAM8M,KAAM9M,EAAMjjB,YAIfL,GAAuCswB,WAASzC,OACjDvK,GAEHze,YAAaf,EACbqrB,iBAAkBvqB,EAClB2rB,mBAAoBA,qBACpBloB,QAAAA,GACA+nB,KAAAA,GACAI,aAAcA,eACdC,oBAAYnN,EAAMmN,cAAe,SAACC,UAAmBA,EAAYtJ,SACjEuJ,mBAAoBA,qBACpBC,YAAaA,cACbnmB,SAAAA,EACAomB,mBAAoB,SAACC,UACnBjC,GAAc,SAAC7hB,UAAQ+jB,mBAAiBD,EAAS9jB,OACnDgkB,eAAgBA,iBAChBjb,qBAAAA,EACAtR,sBAAAA,EACAC,2BAAAA,EACAmV,kBAAAA,EACAJ,gBAAAA,EACA/O,eAAAA,EACAuP,cAAAA,EACAgX,WAAAA,aACArhB,WACK0T,EAAM2K,cACThY,kBAAAA,EACAtR,mBAAAA,EACAC,wBAAAA,EACApE,eAAAA,EACAkZ,aAAAA,EAEAkB,WAAAA,EACAb,YAAAA,EACA1B,WAAAA,GACGiL,EAAM1T,iBAINlP,gBAACgsB,IAAe1sB,cAAeA,uZC+MtCmhB,oBAAAA,oBACA9W,oBAAAA,oBACA8P,yBAAAA,oBACAsV,gBAAAA,oBACApV,uBAAAA,oBACAD,mBAAAA,oBACAjS,aAAAA,oBACAyW,iBAAAA,oBACAgR,gBAAAA,oBACAplB,cAAAA,oBACAkgB,mBAAAA,gBACA7lB,IACAzE,MACAE,IAAAA,iBACA4wB,sBAAAA,aAAwB,cACxBnS,mBAAAA,aAAqB,eACrB7C,uBAAAA,aAAyB,YACzBC,2BAAAA,aAA6B,QAC1B3C,iBAEH9Y,gBAACqtB,kBACC5M,oBAAqBA,EACrB9W,oBAAqBA,EACrB8P,yBAA0BA,EAC1BsV,gBAAiBA,EACjBpV,uBAAwBA,EACxBD,mBAAoBA,EACpBjS,aAAcA,EACdyW,iBAAkBA,EAClBgR,gBAAiBA,EACjBplB,cAAeA,EACfkgB,mBAAoBA,EACpBtqB,WAAYjC,EAAsBiC,GAClCE,kBAAmBzF,EAA+ByF,GAClD4wB,sBAAuBA,EACvBnS,mBAAoBA,EACpB7C,uBAAwBA,EACxBC,2BAA4BA,GACxB3C"}
|
|
1
|
+
{"version":3,"file":"material-react-table.cjs.production.min.js","sources":["../src/localization.ts","../src/enums.ts","../src/icons.ts","../src/buttons/MRT_ExpandAllButton.tsx","../src/buttons/MRT_ExpandButton.tsx","../src/filtersFNs.ts","../src/menus/MRT_FilterTypeMenu.tsx","../src/menus/MRT_ShowHideColumnsMenuItems.tsx","../src/menus/MRT_ShowHideColumnsMenu.tsx","../src/menus/MRT_ColumnActionMenu.tsx","../src/menus/MRT_RowActionMenu.tsx","../src/buttons/MRT_EditActionButtons.tsx","../src/buttons/MRT_ToggleRowActionMenuButton.tsx","../src/inputs/MRT_SelectCheckbox.tsx","../src/inputs/MRT_SearchTextField.tsx","../src/buttons/MRT_FullScreenToggleButton.tsx","../src/buttons/MRT_ShowHideColumnsButton.tsx","../src/buttons/MRT_ToggleDensePaddingButton.tsx","../src/buttons/MRT_ToggleFiltersButton.tsx","../src/buttons/MRT_ToggleSearchButton.tsx","../src/toolbar/MRT_ToolbarInternalButtons.tsx","../src/toolbar/MRT_TablePagination.tsx","../src/toolbar/MRT_ToolbarAlertBanner.tsx","../src/toolbar/MRT_LinearProgressBar.tsx","../src/toolbar/MRT_ToolbarTop.tsx","../src/toolbar/MRT_ToolbarBottom.tsx","../src/inputs/MRT_FilterTextField.tsx","../src/buttons/MRT_ToggleColumnActionMenuButton.tsx","../src/head/MRT_TableHeadCell.tsx","../src/head/MRT_TableHeadRow.tsx","../src/head/MRT_TableHead.tsx","../src/inputs/MRT_EditCellTextField.tsx","../src/buttons/MRT_CopyButton.tsx","../src/body/MRT_TableBodyCell.tsx","../src/body/MRT_TableDetailPanel.tsx","../src/body/MRT_TableBodyRow.tsx","../src/body/MRT_TableBody.tsx","../src/footer/MRT_TableFooterCell.tsx","../src/footer/MRT_TableFooterRow.tsx","../src/footer/MRT_TableFooter.tsx","../src/table/MRT_Table.tsx","../src/table/MRT_TableContainer.tsx","../src/table/MRT_TablePaper.tsx","../src/utils.ts","../src/table/MRT_TableRoot.tsx","../src/MaterialReactTable.tsx"],"sourcesContent":["export interface MRT_Localization {\n actions: string;\n cancel: string;\n changeFilterMode: string;\n changeSearchMode: string;\n clearFilter: string;\n clearSearch: string;\n clearSort: string;\n clickToCopy: string;\n columnActions: string;\n copiedToClipboard: string;\n edit: string;\n expand: string;\n expandAll: string;\n filterBestMatch: string;\n filterBestMatchFirst: string;\n filterByColumn: string;\n filterContains: string;\n filterEmpty: string;\n filterEndsWith: string;\n filterEquals: string;\n filterGreaterThan: string;\n filterLessThan: string;\n filterMode: string;\n filterNotEmpty: string;\n filterNotEquals: string;\n filterStartsWith: string;\n filteringByColumn: string;\n groupByColumn: string;\n groupedBy: string;\n hideAll: string;\n hideColumn: string;\n pinToLeft: string;\n pinToRight: string;\n rowActions: string;\n rowNumbers: string;\n save: string;\n search: string;\n select: string;\n selectedCountOfRowCountRowsSelected: string;\n showAll: string;\n showAllColumns: string;\n showHideColumns: string;\n showHideFilters: string;\n showHideSearch: string;\n sortByColumnAsc: string;\n sortByColumnDesc: string;\n thenBy: string;\n toggleDensePadding: string;\n toggleFullScreen: string;\n toggleSelectAll: string;\n toggleSelectRow: string;\n ungroupByColumn: string;\n unpin: string;\n}\n\nexport const MRT_DefaultLocalization_EN: MRT_Localization = {\n actions: 'Actions',\n cancel: 'Cancel',\n changeFilterMode: 'Change filter mode',\n changeSearchMode: 'Change search mode',\n clearFilter: 'Clear filter',\n clearSearch: 'Clear search',\n clearSort: 'Clear sort',\n clickToCopy: 'Click to copy',\n columnActions: 'Column Actions',\n copiedToClipboard: 'Copied to clipboard',\n edit: 'Edit',\n expand: 'Expand',\n expandAll: 'Expand all',\n filterBestMatch: 'Best Match',\n filterBestMatchFirst: 'Best Match First',\n filterByColumn: 'Filter by {column}',\n filterContains: 'Contains',\n filterEmpty: 'Empty',\n filterEndsWith: 'Ends With',\n filterEquals: 'Equals',\n filterGreaterThan: 'Greater Than',\n filterLessThan: 'Less Than',\n filterMode: 'Filter Mode: {filterType}',\n filterNotEmpty: 'Not Empty',\n filterNotEquals: 'Not Equals',\n filterStartsWith: 'Starts With',\n filteringByColumn: 'Filtering by {column} - {filterType} \"{filterValue}\"',\n groupByColumn: 'Group by {column}',\n groupedBy: 'Grouped by ',\n hideAll: 'Hide all',\n hideColumn: 'Hide {column} column',\n pinToLeft: 'Pin to left',\n pinToRight: 'Pin to right',\n rowActions: 'Row Actions',\n rowNumbers: 'Row Numbers',\n save: 'Save',\n search: 'Search',\n selectedCountOfRowCountRowsSelected:\n '{selectedCount} of {rowCount} row(s) selected',\n\n select: 'Select',\n showAll: 'Show all',\n showAllColumns: 'Show all columns',\n showHideColumns: 'Show/Hide columns',\n showHideFilters: 'Show/Hide filters',\n showHideSearch: 'Show/Hide search',\n sortByColumnAsc: 'Sort by {column} ascending',\n sortByColumnDesc: 'Sort by {column} descending',\n thenBy: ', then by ',\n toggleDensePadding: 'Toggle dense padding',\n toggleFullScreen: 'Toggle full screen',\n toggleSelectAll: 'Toggle select all',\n toggleSelectRow: 'Toggle select row',\n ungroupByColumn: 'Ungroup by {column}',\n unpin: 'Unpin',\n};\n","export enum MRT_FILTER_TYPE {\n BEST_MATCH = 'bestMatch',\n BEST_MATCH_FIRST = 'bestMatchFirst',\n CONTAINS = 'contains',\n EMPTY = 'empty',\n ENDS_WITH = 'endsWith',\n EQUALS = 'equals',\n GREATER_THAN = 'greaterThan',\n LESS_THAN = 'lessThan',\n NOT_EMPTY = 'notEmpty',\n NOT_EQUALS = 'notEquals',\n STARTS_WITH = 'startsWith',\n}\n","import ArrowRightIcon from '@mui/icons-material/ArrowRight';\nimport CancelIcon from '@mui/icons-material/Cancel';\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\nimport ClearAllIcon from '@mui/icons-material/ClearAll';\nimport CloseIcon from '@mui/icons-material/Close';\nimport DensityMediumIcon from '@mui/icons-material/DensityMedium';\nimport DensitySmallIcon from '@mui/icons-material/DensitySmall';\nimport DoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';\nimport DynamicFeedIcon from '@mui/icons-material/DynamicFeed';\nimport EditIcon from '@mui/icons-material/Edit';\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport FilterAltIcon from '@mui/icons-material/FilterAlt';\nimport FilterAltOff from '@mui/icons-material/FilterAltOff';\nimport FilterListIcon from '@mui/icons-material/FilterList';\nimport FilterListOffIcon from '@mui/icons-material/FilterListOff';\nimport FullscreenExitIcon from '@mui/icons-material/FullscreenExit';\nimport FullscreenIcon from '@mui/icons-material/Fullscreen';\nimport MoreHorizIcon from '@mui/icons-material/MoreHoriz';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport PushPinIcon from '@mui/icons-material/PushPin';\nimport SaveIcon from '@mui/icons-material/Save';\nimport SearchIcon from '@mui/icons-material/Search';\nimport SearchOffIcon from '@mui/icons-material/SearchOff';\nimport SortIcon from '@mui/icons-material/Sort';\nimport ViewColumnIcon from '@mui/icons-material/ViewColumn';\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\n\nexport interface MRT_Icons {\n ArrowRightIcon: any;\n CancelIcon: any;\n CheckBoxIcon: any;\n ClearAllIcon: any;\n CloseIcon: any;\n DensityMediumIcon: any;\n DensitySmallIcon: any;\n DoubleArrowDownIcon: any;\n DynamicFeedIcon: any;\n EditIcon: any;\n ExpandLessIcon: any;\n ExpandMoreIcon: any;\n FilterAltIcon: any;\n FilterAltOff: any;\n FilterListIcon: any;\n FilterListOffIcon: any;\n FullscreenExitIcon: any;\n FullscreenIcon: any;\n MoreHorizIcon: any;\n MoreVertIcon: any;\n PushPinIcon: any;\n SaveIcon: any;\n SearchIcon: any;\n SearchOffIcon: any;\n SortIcon: any;\n ViewColumnIcon: any;\n VisibilityOffIcon: any;\n}\n\nexport const MRT_Default_Icons: MRT_Icons = {\n ArrowRightIcon,\n CancelIcon,\n CheckBoxIcon,\n ClearAllIcon,\n CloseIcon,\n DensityMediumIcon,\n DensitySmallIcon,\n DoubleArrowDownIcon,\n DynamicFeedIcon,\n EditIcon,\n ExpandLessIcon,\n ExpandMoreIcon,\n FilterAltIcon,\n FilterAltOff,\n FilterListIcon,\n FilterListOffIcon,\n FullscreenExitIcon,\n FullscreenIcon,\n MoreHorizIcon,\n MoreVertIcon,\n PushPinIcon,\n SaveIcon,\n SearchIcon,\n SearchOffIcon,\n SortIcon,\n ViewColumnIcon,\n VisibilityOffIcon,\n};\n","import React, { FC } from 'react';\nimport { IconButton } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandAllButton: FC<Props> = ({ tableInstance }) => {\n const {\n getIsAllRowsExpanded,\n getIsSomeRowsExpanded,\n getState,\n options: {\n icons: { DoubleArrowDownIcon },\n isLoading,\n localization,\n },\n toggleAllRowsExpanded,\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <IconButton\n aria-label={localization.expandAll}\n disabled={isLoading}\n title={localization.expandAll}\n onClick={() => toggleAllRowsExpanded(!getIsAllRowsExpanded())}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <DoubleArrowDownIcon\n style={{\n transform: `rotate(${\n getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandButton: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { ExpandMoreIcon },\n localization,\n onRowExpandChange,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleToggleExpand = (event: MouseEvent<HTMLButtonElement>) => {\n row.toggleExpanded();\n onRowExpandChange?.({ event, row, tableInstance });\n };\n\n return (\n <IconButton\n aria-label={localization.expand}\n disabled={!row.getCanExpand() && !renderDetailPanel}\n title={localization.expand}\n onClick={handleToggleExpand}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <ExpandMoreIcon\n style={{\n transform: `rotate(${\n !row.getCanExpand() && !renderDetailPanel\n ? -90\n : row.getIsExpanded()\n ? -180\n : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n );\n};\n","import { matchSorter } from 'match-sorter';\nimport { MRT_Row } from '.';\n\nexport const bestMatchFirst = (\n rows: MRT_Row[],\n columnIds: string[] | string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: Array.isArray(columnIds)\n ? columnIds.map((c) => `values.${c}`)\n : [`values.${columnIds}`],\n });\n\nbestMatchFirst.autoRemove = (val: any) => !val;\n\nexport const bestMatch = (\n rows: MRT_Row[],\n columnIds: string[] | string,\n filterValue: string | number,\n) =>\n matchSorter(rows, filterValue.toString().trim(), {\n keys: Array.isArray(columnIds)\n ? columnIds.map((c) => `values.${c}`)\n : [`values.${columnIds}`],\n sorter: (rankedItems) => rankedItems,\n });\n\nbestMatch.autoRemove = (val: any) => !val;\n\nexport const contains = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .includes(filterValue.toString().toLowerCase().trim()),\n );\n\ncontains.autoRemove = (val: any) => !val;\n\nexport const startsWith = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .startsWith(filterValue.toString().toLowerCase().trim()),\n );\n\nstartsWith.autoRemove = (val: any) => !val;\n\nexport const endsWith = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n row.values[id]\n .toString()\n .toLowerCase()\n .trim()\n .endsWith(filterValue.toString().toLowerCase().trim()),\n );\n\nendsWith.autoRemove = (val: any) => !val;\n\nexport const equals = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter(\n (row) =>\n row.values[id].toString().toLowerCase().trim() ===\n filterValue.toString().toLowerCase().trim(),\n );\n\nequals.autoRemove = (val: any) => !val;\n\nexport const notEquals = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter(\n (row) =>\n row.values[id].toString().toLowerCase().trim() !==\n filterValue.toString().toLowerCase().trim(),\n );\n\nnotEquals.autoRemove = (val: any) => !val;\n\nexport const greaterThan = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n !isNaN(+filterValue) && !isNaN(+row.values[id])\n ? +row.values[id] > +filterValue\n : row.values[id].toString().toLowerCase().trim() >\n filterValue.toString().toLowerCase().trim(),\n );\n\ngreaterThan.autoRemove = (val: any) => !val;\n\nexport const lessThan = (\n rows: MRT_Row[],\n id: string,\n filterValue: string | number,\n) =>\n rows.filter((row) =>\n !isNaN(+filterValue) && !isNaN(+row.values[id])\n ? +row.values[id] < +filterValue\n : row.values[id].toString().toLowerCase().trim() <\n filterValue.toString().toLowerCase().trim(),\n );\n\nlessThan.autoRemove = (val: any) => !val;\n\nexport const empty = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !row.values[id].toString().toLowerCase().trim());\n\nempty.autoRemove = (val: any) => !val;\n\nexport const notEmpty = (\n rows: MRT_Row[],\n id: string,\n _filterValue: string | number,\n) => rows.filter((row) => !!row.values[id].toString().toLowerCase().trim());\n\nnotEmpty.autoRemove = (val: any) => !val;\n\nexport const defaultFilterFNs = {\n bestMatch,\n bestMatchFirst,\n contains,\n empty,\n endsWith,\n equals,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n};\n","import React, { FC, useMemo } from 'react';\nimport { Menu, MenuItem } from '@mui/material';\nimport type { MRT_FilterType, MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FILTER_TYPE } from '../enums';\nimport {\n bestMatch,\n bestMatchFirst,\n contains,\n empty,\n endsWith,\n equals,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n} from '../filtersFNs';\n\nconst commonMenuItemStyles = {\n py: '6px',\n my: 0,\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header?: MRT_Header;\n onSelect?: () => void;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterTypeMenu: FC<Props> = ({\n anchorEl,\n header,\n onSelect,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enabledGlobalFilterTypes,\n localization,\n setCurrentFilterTypes,\n setCurrentGlobalFilterType,\n },\n } = tableInstance;\n\n const { isDensePadding, currentFilterTypes, currentGlobalFilterType } =\n getState();\n\n const filterTypes: {\n type: MRT_FILTER_TYPE;\n label: string;\n divider: boolean;\n fn: Function;\n }[] = useMemo(\n () =>\n [\n {\n type: MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n label: localization.filterBestMatchFirst,\n divider: false,\n fn: bestMatchFirst,\n },\n {\n type: MRT_FILTER_TYPE.BEST_MATCH,\n label: localization.filterBestMatch,\n divider: !!header,\n fn: bestMatch,\n },\n {\n type: MRT_FILTER_TYPE.CONTAINS,\n label: localization.filterContains,\n divider: false,\n fn: contains,\n },\n {\n type: MRT_FILTER_TYPE.STARTS_WITH,\n label: localization.filterStartsWith,\n divider: false,\n fn: startsWith,\n },\n {\n type: MRT_FILTER_TYPE.ENDS_WITH,\n label: localization.filterEndsWith,\n divider: true,\n fn: endsWith,\n },\n {\n type: MRT_FILTER_TYPE.EQUALS,\n label: localization.filterEquals,\n divider: false,\n fn: equals,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EQUALS,\n label: localization.filterNotEquals,\n divider: true,\n fn: notEquals,\n },\n {\n type: MRT_FILTER_TYPE.GREATER_THAN,\n label: localization.filterGreaterThan,\n divider: false,\n fn: greaterThan,\n },\n {\n type: MRT_FILTER_TYPE.LESS_THAN,\n label: localization.filterLessThan,\n divider: true,\n fn: lessThan,\n },\n {\n type: MRT_FILTER_TYPE.EMPTY,\n label: localization.filterEmpty,\n divider: false,\n fn: empty,\n },\n {\n type: MRT_FILTER_TYPE.NOT_EMPTY,\n label: localization.filterNotEmpty,\n divider: false,\n fn: notEmpty,\n },\n ].filter((filterType) =>\n header\n ? !header.column.enabledFilterTypes ||\n header.column.enabledFilterTypes.includes(filterType.type)\n : (!enabledGlobalFilterTypes ||\n enabledGlobalFilterTypes.includes(filterType.type)) &&\n [\n MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n MRT_FILTER_TYPE.BEST_MATCH,\n ].includes(filterType.type),\n ),\n [],\n );\n\n const handleSelectFilterType = (value: MRT_FILTER_TYPE) => {\n if (header) {\n setCurrentFilterTypes((prev: { [key: string]: MRT_FilterType }) => ({\n ...prev,\n [header.id]: value,\n }));\n if ([MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(value)) {\n header.column.setColumnFilterValue(' ');\n }\n } else {\n setCurrentGlobalFilterType(value);\n }\n setAnchorEl(null);\n onSelect?.();\n };\n\n const filterType = !!header\n ? currentFilterTypes[header.id]\n : currentGlobalFilterType;\n\n return (\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'center', horizontal: 'right' }}\n onClose={() => setAnchorEl(null)}\n open={!!anchorEl}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {filterTypes.map(({ type, label, divider, fn }, index) => (\n <MenuItem\n divider={divider}\n key={index}\n onClick={() => handleSelectFilterType(type)}\n selected={type === filterType || fn === filterType}\n sx={commonMenuItemStyles}\n value={type}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { FormControlLabel, MenuItem, Switch } from '@mui/material';\nimport type { MRT_ColumnInstance, MRT_TableInstance } from '..';\nimport { commonMenuItemStyles } from './MRT_ColumnActionMenu';\n\ninterface Props {\n column: MRT_ColumnInstance;\n isSubMenu?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenuItems: FC<Props> = ({\n column,\n isSubMenu,\n tableInstance,\n}) => {\n const {\n getState,\n options: { onColumnHide },\n } = tableInstance;\n\n const { columnVisibility } = getState();\n\n const switchChecked =\n (column.columnDefType !== 'group' && column.getIsVisible()) ||\n (column.columnDefType === 'group' &&\n column.getLeafColumns().some((col) => col.getIsVisible()));\n\n const handleToggleColumnHidden = (column: MRT_ColumnInstance) => {\n if (column.columnDefType === 'group') {\n column?.columns?.forEach?.((childColumn: MRT_ColumnInstance) => {\n childColumn.toggleVisibility(!switchChecked);\n });\n } else {\n column.toggleVisibility();\n }\n onColumnHide?.({\n column,\n columnVisibility,\n tableInstance,\n });\n };\n\n return (\n <>\n <MenuItem\n sx={{ ...commonMenuItemStyles, pl: `${(column.depth + 0.5) * 2}rem` }}\n >\n <FormControlLabel\n componentsProps={{ typography: { sx: { marginBottom: 0 } } }}\n checked={switchChecked}\n control={<Switch />}\n disabled={\n (isSubMenu && switchChecked) || column.enableHiding === false\n }\n label={column.header}\n onChange={() => handleToggleColumnHidden(column)}\n />\n </MenuItem>\n {column.columns?.map((c: MRT_ColumnInstance, i) => (\n <MRT_ShowHideColumnsMenuItems\n key={`${i}-${c.id}`}\n column={c}\n isSubMenu={isSubMenu}\n tableInstance={tableInstance}\n />\n ))}\n </>\n );\n};\n","import React, { FC, useMemo } from 'react';\nimport { Button, Menu, Divider, Box } from '@mui/material';\nimport { MRT_ShowHideColumnsMenuItems } from './MRT_ShowHideColumnsMenuItems';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n isSubMenu?: boolean;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenu: FC<Props> = ({\n anchorEl,\n isSubMenu,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getAllColumns,\n getIsAllColumnsVisible,\n getIsSomeColumnsVisible,\n getIsSomeColumnsPinned,\n getState,\n toggleAllColumnsVisible,\n getAllLeafColumns,\n options: { localization },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const hideAllColumns = () => {\n getAllLeafColumns()\n .filter((col) => col.enableHiding !== false)\n .forEach((col) => col.toggleVisibility(false));\n };\n\n const allDisplayColumns = useMemo(\n () => getAllColumns().filter((col) => col.columnDefType === 'display'),\n [getAllColumns()],\n );\n\n const allDataColumns = useMemo(() => {\n const dataColumns = getAllColumns().filter(\n (col) => col.columnDefType !== 'display',\n );\n return getIsSomeColumnsPinned()\n ? [\n ...dataColumns.filter((c) => c.getIsPinned() === 'left'),\n ...dataColumns.filter((c) => c.getIsPinned() === false),\n ...dataColumns.filter((c) => c.getIsPinned() === 'right'),\n ]\n : dataColumns;\n }, [getAllColumns(), getState().columnPinning, getIsSomeColumnsPinned()]);\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: isSubMenu ? 'center' : 'space-between',\n p: '0.5rem',\n pt: 0,\n }}\n >\n {!isSubMenu && (\n <Button\n disabled={!getIsSomeColumnsVisible()}\n onClick={hideAllColumns}\n >\n {localization.hideAll}\n </Button>\n )}\n <Button\n disabled={getIsAllColumnsVisible()}\n onClick={() => toggleAllColumnsVisible(true)}\n >\n {localization.showAll}\n </Button>\n </Box>\n <Divider />\n {allDisplayColumns.map((column, index) => (\n <MRT_ShowHideColumnsMenuItems\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n tableInstance={tableInstance}\n />\n ))}\n <Divider />\n {allDataColumns.map((column, index) => (\n <MRT_ShowHideColumnsMenuItems\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n tableInstance={tableInstance}\n />\n ))}\n </Menu>\n );\n};\n","import React, { FC, useState } from 'react';\nimport { Box, IconButton, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterTypeMenu } from './MRT_FilterTypeMenu';\nimport { MRT_ShowHideColumnsMenu } from './MRT_ShowHideColumnsMenu';\n\nexport const commonMenuItemStyles = {\n py: '6px',\n my: 0,\n justifyContent: 'space-between',\n alignItems: 'center',\n};\n\nexport const commonListItemStyles = {\n display: 'flex',\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header: MRT_Header;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ColumnActionMenu: FC<Props> = ({\n anchorEl,\n header,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n toggleAllColumnsVisible,\n setColumnOrder,\n options: {\n enableColumnFilters,\n enableColumnPinning,\n enableGrouping,\n enableHiding,\n enableSorting,\n icons: {\n ArrowRightIcon,\n ClearAllIcon,\n ViewColumnIcon,\n DynamicFeedIcon,\n FilterListIcon,\n FilterListOffIcon,\n PushPinIcon,\n SortIcon,\n VisibilityOffIcon,\n },\n idPrefix,\n localization,\n setShowFilters,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const { isDensePadding, columnVisibility } = getState();\n\n const [filterMenuAnchorEl, setFilterMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const [showHideColumnsMenuAnchorEl, setShowHideColumnsMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const handleClearSort = () => {\n column.resetSorting();\n setAnchorEl(null);\n };\n\n const handleSortAsc = () => {\n column.toggleSorting(false);\n setAnchorEl(null);\n };\n\n const handleSortDesc = () => {\n column.toggleSorting(true);\n setAnchorEl(null);\n };\n\n const handleHideColumn = () => {\n column.toggleVisibility(false);\n setAnchorEl(null);\n };\n\n const handlePinColumn = (pinDirection: 'left' | 'right' | false) => {\n column.pin(pinDirection);\n };\n\n const handleGroupByColumn = () => {\n column.toggleGrouping();\n setColumnOrder((old) => ['mrt-expand', ...old]);\n setAnchorEl(null);\n };\n\n const handleClearFilter = () => {\n column.setColumnFilterValue('');\n setAnchorEl(null);\n };\n\n const handleFilterByColumn = () => {\n setShowFilters(true);\n setTimeout(\n () =>\n document\n .getElementById(\n // @ts-ignore\n header.muiTableHeadCellFilterTextFieldProps?.id ??\n `mrt-${idPrefix}-${header.id}-filter-text-field`,\n )\n ?.focus(),\n 200,\n );\n setAnchorEl(null);\n };\n\n const handleShowAllColumns = () => {\n toggleAllColumnsVisible(true);\n setAnchorEl(null);\n };\n\n const handleOpenFilterModeMenu = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setFilterMenuAnchorEl(event.currentTarget);\n };\n\n const handleOpenShowHideColumnsMenu = (\n event: React.MouseEvent<HTMLElement>,\n ) => {\n event.stopPropagation();\n setShowHideColumnsMenuAnchorEl(event.currentTarget);\n };\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableSorting &&\n column.getCanSort() && [\n <MenuItem\n disabled={!column.getIsSorted()}\n key={0}\n onClick={handleClearSort}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ClearAllIcon />\n </ListItemIcon>\n {localization.clearSort}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsSorted() === 'asc'}\n key={1}\n onClick={handleSortAsc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon />\n </ListItemIcon>\n {localization.sortByColumnAsc?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableColumnFilters || enableGrouping || enableHiding}\n key={2}\n disabled={column.getIsSorted() === 'desc'}\n onClick={handleSortDesc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon style={{ transform: 'rotate(180deg) scaleX(-1)' }} />\n </ListItemIcon>\n {localization.sortByColumnDesc?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnFilters &&\n column.getCanColumnFilter() && [\n <MenuItem\n disabled={!column.getColumnFilterValue()}\n key={0}\n onClick={handleClearFilter}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListOffIcon />\n </ListItemIcon>\n {localization.clearFilter}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableGrouping || enableHiding}\n key={1}\n onClick={handleFilterByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListIcon />\n </ListItemIcon>\n {localization.filterByColumn?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n {!column.filterSelectOptions && (\n <IconButton\n onClick={handleOpenFilterModeMenu}\n onMouseEnter={handleOpenFilterModeMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </MenuItem>,\n <MRT_FilterTypeMenu\n anchorEl={filterMenuAnchorEl}\n header={header}\n key={2}\n onSelect={handleFilterByColumn}\n setAnchorEl={setFilterMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n {enableGrouping &&\n column.getCanGroup() && [\n <MenuItem\n divider={enableColumnPinning}\n key={0}\n onClick={handleGroupByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <DynamicFeedIcon />\n </ListItemIcon>\n {localization[\n column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn'\n ]?.replace('{column}', String(column.header))}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnPinning &&\n column.getCanPin() && [\n <MenuItem\n disabled={column.getIsPinned() === 'left'}\n key={0}\n onClick={() => handlePinColumn('left')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(90deg)' }} />\n </ListItemIcon>\n {localization.pinToLeft}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsPinned() === 'right'}\n key={0}\n onClick={() => handlePinColumn('right')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(-90deg)' }} />\n </ListItemIcon>\n {localization.pinToRight}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={!column.getIsPinned()}\n divider={enableHiding}\n key={0}\n onClick={() => handlePinColumn(false)}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon />\n </ListItemIcon>\n {localization.unpin}\n </Box>\n </MenuItem>,\n ]}\n {enableHiding && [\n <MenuItem\n disabled={column.enableHiding === false}\n key={0}\n onClick={handleHideColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <VisibilityOffIcon />\n </ListItemIcon>\n {localization.hideColumn?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={\n !Object.values(columnVisibility).filter((visible) => !visible)\n .length\n }\n key={1}\n onClick={handleShowAllColumns}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ViewColumnIcon />\n </ListItemIcon>\n {localization.showAllColumns?.replace(\n '{column}',\n String(column.header),\n )}\n </Box>\n <IconButton\n onClick={handleOpenShowHideColumnsMenu}\n onMouseEnter={handleOpenShowHideColumnsMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n </MenuItem>,\n <MRT_ShowHideColumnsMenu\n anchorEl={showHideColumnsMenuAnchorEl}\n isSubMenu\n key={2}\n setAnchorEl={setShowHideColumnsMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\nimport {\n commonListItemStyles,\n commonMenuItemStyles,\n} from './MRT_ColumnActionMenu';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n handleEdit: () => void;\n row: MRT_Row;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_RowActionMenu: FC<Props> = ({\n anchorEl,\n handleEdit,\n row,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { EditIcon },\n enableRowEditing,\n localization,\n renderRowActionMenuItems,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableRowEditing && (\n <MenuItem onClick={handleEdit} sx={commonMenuItemStyles}>\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <EditIcon />\n </ListItemIcon>\n {localization.edit}\n </Box>\n </MenuItem>\n )}\n {renderRowActionMenuItems?.({\n row,\n tableInstance,\n closeMenu: () => setAnchorEl(null),\n })}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, IconButton, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\nimport { RowValues } from '@tanstack/react-table';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditActionButtons: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { CancelIcon, SaveIcon },\n localization,\n onRowEditSubmit,\n setCurrentEditingRow,\n },\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const handleCancel = () => {\n row.values = (row.original as RowValues) ?? {};\n setCurrentEditingRow(null);\n };\n\n const handleSave = () => {\n onRowEditSubmit?.({ row: currentEditingRow ?? row, tableInstance });\n setCurrentEditingRow(null);\n };\n\n return (\n <Box sx={{ display: 'flex', gap: '0.75rem' }}>\n <Tooltip arrow title={localization.cancel}>\n <IconButton aria-label={localization.cancel} onClick={handleCancel}>\n <CancelIcon />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.save}>\n <IconButton\n aria-label={localization.save}\n color=\"info\"\n onClick={handleSave}\n >\n <SaveIcon />\n </IconButton>\n </Tooltip>\n </Box>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_RowActionMenu } from '../menus/MRT_RowActionMenu';\nimport { MRT_EditActionButtons } from './MRT_EditActionButtons';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\nconst commonIconButtonStyles = {\n height: '2rem',\n ml: '10px',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n};\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleRowActionMenuButton: FC<Props> = ({\n row,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enableRowEditing,\n icons: { EditIcon, MoreHorizIcon },\n localization,\n renderRowActionMenuItems,\n renderRowActions,\n setCurrentEditingRow,\n },\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleOpenRowActionMenu = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const handleEdit = () => {\n setCurrentEditingRow({ ...row });\n setAnchorEl(null);\n };\n\n return (\n <>\n {renderRowActions ? (\n <>{renderRowActions({ row, tableInstance })}</>\n ) : row.id === currentEditingRow?.id ? (\n <MRT_EditActionButtons row={row} tableInstance={tableInstance} />\n ) : !renderRowActionMenuItems && enableRowEditing ? (\n <Tooltip placement=\"right\" arrow title={localization.edit}>\n <IconButton sx={commonIconButtonStyles} onClick={handleEdit}>\n <EditIcon />\n </IconButton>\n </Tooltip>\n ) : renderRowActionMenuItems ? (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.rowActions}\n >\n <IconButton\n aria-label={localization.rowActions}\n onClick={handleOpenRowActionMenu}\n size=\"small\"\n sx={commonIconButtonStyles}\n >\n <MoreHorizIcon />\n </IconButton>\n </Tooltip>\n <MRT_RowActionMenu\n anchorEl={anchorEl}\n handleEdit={handleEdit}\n row={row}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n ) : null}\n </>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { Checkbox, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row?: MRT_Row;\n selectAll?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SelectCheckbox: FC<Props> = ({\n row,\n selectAll,\n tableInstance,\n}) => {\n const {\n getRowModel,\n getSelectedRowModel,\n getState,\n getToggleAllRowsSelectedProps,\n options: {\n isLoading,\n localization,\n muiSelectCheckboxProps,\n onSelectChange,\n onSelectAllChange,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleSelectChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (selectAll) {\n getToggleAllRowsSelectedProps?.()?.onChange?.(event as any);\n onSelectAllChange?.({\n event,\n selectedRows: event.target.checked ? getRowModel().flatRows : [],\n tableInstance,\n });\n } else if (row) {\n row?.getToggleSelectedProps()?.onChange?.(event as any);\n onSelectChange?.({\n event,\n row,\n selectedRows: event.target.checked\n ? [...getSelectedRowModel().flatRows, row]\n : getSelectedRowModel().flatRows.filter(\n (selectedRow) => selectedRow.id !== row.id,\n ),\n tableInstance,\n });\n }\n };\n\n const mTableBodyRowSelectCheckboxProps =\n muiSelectCheckboxProps instanceof Function\n ? muiSelectCheckboxProps({ isSelectAll: !!selectAll, row, tableInstance })\n : muiSelectCheckboxProps;\n\n const rtSelectCheckboxProps = selectAll\n ? getToggleAllRowsSelectedProps()\n : row?.getToggleSelectedProps();\n\n const checkboxProps = {\n ...rtSelectCheckboxProps,\n ...mTableBodyRowSelectCheckboxProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={\n selectAll ? localization.toggleSelectAll : localization.toggleSelectRow\n }\n >\n <Checkbox\n disabled={isLoading}\n inputProps={{\n 'aria-label': selectAll\n ? localization.toggleSelectAll\n : localization.toggleSelectRow,\n }}\n size={isDensePadding ? 'small' : 'medium'}\n {...checkboxProps}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n onChange={handleSelectChange}\n title={undefined}\n />\n </Tooltip>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Collapse,\n debounce,\n IconButton,\n InputAdornment,\n TextField,\n Tooltip,\n} from '@mui/material';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n setGlobalFilter,\n options: {\n icons: { SearchIcon, CloseIcon },\n idPrefix,\n localization,\n muiSearchTextFieldProps,\n onGlobalFilterChange,\n },\n } = tableInstance;\n\n const { globalFilter, showSearch } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [searchValue, setSearchValue] = useState(globalFilter ?? '');\n\n const handleChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n setGlobalFilter(event.target.value ?? undefined);\n onGlobalFilterChange?.({ event, tableInstance });\n }, 200),\n [],\n );\n\n const handleGlobalFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setSearchValue('');\n setGlobalFilter(undefined);\n };\n\n const textFieldProps =\n muiSearchTextFieldProps instanceof Function\n ? muiSearchTextFieldProps({ tableInstance })\n : muiSearchTextFieldProps;\n\n return (\n <Collapse in={showSearch} orientation=\"horizontal\">\n <TextField\n id={`mrt-${idPrefix}-search-text-field`}\n placeholder={localization.search}\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setSearchValue(event.target.value);\n handleChange(event);\n }}\n value={searchValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeSearchMode}>\n <span>\n <IconButton\n aria-label={localization.changeSearchMode}\n onClick={handleGlobalFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <SearchIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={localization.clearSearch}\n disabled={searchValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n title={localization.clearSearch}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{ justifySelf: 'end', ...textFieldProps?.sx }}\n />\n <MRT_FilterTypeMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FullScreenToggleButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FullscreenExitIcon, FullscreenIcon },\n localization,\n setIsFullScreen,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n return (\n <Tooltip arrow title={localization.toggleFullScreen}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={() => setIsFullScreen(!isFullScreen)}\n size=\"small\"\n {...rest}\n >\n {isFullScreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip, IconButtonProps } from '@mui/material';\nimport { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n options: {\n icons: { ViewColumnIcon },\n localization,\n },\n } = tableInstance;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n return (\n <>\n <Tooltip arrow title={localization.showHideColumns}>\n <IconButton\n aria-label={localization.showHideColumns}\n onClick={handleClick}\n size=\"small\"\n {...rest}\n >\n <ViewColumnIcon />\n </IconButton>\n </Tooltip>\n <MRT_ShowHideColumnsMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleDensePaddingButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { DensityMediumIcon, DensitySmallIcon },\n localization,\n setIsDensePadding,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Tooltip arrow title={localization.toggleDensePadding}>\n <IconButton\n aria-label={localization.toggleDensePadding}\n onClick={() => setIsDensePadding(!isDensePadding)}\n size=\"small\"\n {...rest}\n >\n {isDensePadding ? <DensitySmallIcon /> : <DensityMediumIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleFiltersButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, FilterListOffIcon },\n localization,\n setShowFilters,\n },\n } = tableInstance;\n\n const { showFilters } = getState();\n\n return (\n <Tooltip arrow title={localization.showHideFilters}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={() => setShowFilters(!showFilters)}\n size=\"small\"\n {...rest}\n >\n {showFilters ? <FilterListOffIcon /> : <FilterListIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleSearchButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { SearchIcon, SearchOffIcon },\n idPrefix,\n localization,\n muiSearchTextFieldProps,\n setShowSearch,\n },\n } = tableInstance;\n\n const { showSearch } = getState();\n\n const textFieldProps =\n muiSearchTextFieldProps instanceof Function\n ? muiSearchTextFieldProps({ tableInstance })\n : muiSearchTextFieldProps;\n\n const handleToggleSearch = () => {\n setShowSearch(!showSearch);\n setTimeout(\n () =>\n document\n .getElementById(\n textFieldProps?.id ?? `mrt-${idPrefix}-search-text-field`,\n )\n ?.focus(),\n 200,\n );\n };\n\n return (\n <Tooltip arrow title={localization.showHideSearch}>\n <IconButton size=\"small\" onClick={handleToggleSearch} {...rest}>\n {showSearch ? <SearchOffIcon /> : <SearchIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { Box } from '@mui/material';\nimport { MRT_FullScreenToggleButton } from '../buttons/MRT_FullScreenToggleButton';\nimport { MRT_ShowHideColumnsButton } from '../buttons/MRT_ShowHideColumnsButton';\nimport { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingButton';\nimport { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';\nimport { MRT_ToggleSearchButton } from '../buttons/MRT_ToggleSearchButton';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarInternalButtons: FC<Props> = ({ tableInstance }) => {\n const {\n options: {\n enableColumnFilters,\n enableHiding,\n enableDensePaddingToggle,\n enableGlobalFilter,\n enableFullScreenToggle,\n renderToolbarInternalActions,\n },\n } = tableInstance;\n\n if (renderToolbarInternalActions) {\n return (\n <>\n {renderToolbarInternalActions({\n MRT_FullScreenToggleButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_ToggleFiltersButton,\n MRT_ToggleSearchButton,\n tableInstance,\n })}\n </>\n );\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n gap: '0.5rem',\n alignItems: 'center',\n p: '0 0.5rem',\n }}\n >\n {enableGlobalFilter && (\n <MRT_ToggleSearchButton tableInstance={tableInstance} />\n )}\n {enableColumnFilters && (\n <MRT_ToggleFiltersButton tableInstance={tableInstance} />\n )}\n {enableHiding && (\n <MRT_ShowHideColumnsButton tableInstance={tableInstance} />\n )}\n {enableDensePaddingToggle && (\n <MRT_ToggleDensePaddingButton tableInstance={tableInstance} />\n )}\n {enableFullScreenToggle && (\n <MRT_FullScreenToggleButton tableInstance={tableInstance} />\n )}\n </Box>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { TablePagination } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePagination: FC<Props> = ({ tableInstance }) => {\n const {\n getPrePaginationRowModel,\n getState,\n setPageIndex,\n setPageSize,\n options: { muiTablePaginationProps },\n } = tableInstance;\n\n const {\n pagination: { pageSize = 10, pageIndex = 0 },\n } = getState();\n\n const tablePaginationProps =\n muiTablePaginationProps instanceof Function\n ? muiTablePaginationProps({ tableInstance })\n : muiTablePaginationProps;\n\n const handleChangeRowsPerPage = (event: ChangeEvent<HTMLInputElement>) => {\n setPageSize(+event.target.value);\n };\n\n const showFirstLastPageButtons =\n getPrePaginationRowModel().rows.length / pageSize > 2;\n\n return (\n <TablePagination\n SelectProps={{ sx: { m: '0 1rem 0 1ch' } }}\n component=\"div\"\n count={getPrePaginationRowModel().rows.length}\n onPageChange={(_: any, newPage: number) => setPageIndex(newPage)}\n onRowsPerPageChange={handleChangeRowsPerPage}\n page={pageIndex}\n rowsPerPage={pageSize}\n rowsPerPageOptions={[5, 10, 20, 25, 50, 100]}\n showFirstButton={showFirstLastPageButtons}\n showLastButton={showFirstLastPageButtons}\n {...tablePaginationProps}\n sx={{\n m: '0 0.5rem',\n position: 'relative',\n zIndex: 2,\n ...tablePaginationProps?.sx,\n }}\n />\n );\n};\n","import React, { FC, Fragment } from 'react';\nimport { Alert, Box, Chip, Collapse, useMediaQuery } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarAlertBanner: FC<Props> = ({ tableInstance }) => {\n const {\n getPrePaginationRowModel,\n getSelectedRowModel,\n getState,\n toggleColumnGrouping,\n options: {\n localization,\n muiTableToolbarAlertBannerProps,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { grouping } = getState();\n\n const isMobile = useMediaQuery('(max-width:720px)');\n\n const alertProps =\n muiTableToolbarAlertBannerProps instanceof Function\n ? muiTableToolbarAlertBannerProps({ tableInstance })\n : muiTableToolbarAlertBannerProps;\n\n const selectMessage =\n getSelectedRowModel().rows.length > 0\n ? localization.selectedCountOfRowCountRowsSelected\n ?.replace(\n '{selectedCount}',\n getSelectedRowModel().rows.length.toString(),\n )\n ?.replace(\n '{rowCount}',\n getPrePaginationRowModel().rows.length.toString(),\n )\n : null;\n\n const groupedByMessage =\n grouping.length > 0 ? (\n <span>\n {localization.groupedBy}{' '}\n {grouping.map((columnId, index) => (\n <Fragment key={`${index}-${columnId}`}>\n {index > 0 ? localization.thenBy : ''}\n <Chip\n color=\"secondary\"\n label={\n tableInstance\n .getAllColumns()\n .find((column) => column.id === columnId)?.header\n }\n onDelete={() => toggleColumnGrouping(columnId)}\n />\n </Fragment>\n ))}\n </span>\n ) : null;\n\n const displayAbsolute = !(\n isMobile ||\n (positionToolbarAlertBanner === 'bottom' &&\n positionToolbarActions === 'bottom') ||\n (positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions)\n );\n\n return (\n <Collapse\n in={!!selectMessage || !!groupedByMessage}\n timeout={displayAbsolute ? 0 : 200}\n >\n <Alert\n color=\"info\"\n icon={false}\n sx={{\n borderRadius: 0,\n fontSize: '1rem',\n left: 0,\n p: 0,\n position: displayAbsolute ? 'absolute' : 'relative',\n right: 0,\n minHeight: '3.5rem',\n top: 0,\n width: '100%',\n zIndex: 2,\n ...alertProps?.sx,\n }}\n {...alertProps}\n >\n <Box sx={{ p: '0.5rem 1rem' }}>\n {selectMessage}\n <br />\n {groupedByMessage}\n </Box>\n </Alert>\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Collapse, LinearProgress } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_LinearProgressBar: FC<Props> = ({ tableInstance }) => {\n const {\n options: { muiLinearProgressProps, isReloading, isLoading },\n } = tableInstance;\n\n const linearProgressProps =\n muiLinearProgressProps instanceof Function\n ? muiLinearProgressProps({ tableInstance })\n : muiLinearProgressProps;\n\n return (\n <Collapse in={isReloading || isLoading} unmountOnExit>\n <LinearProgress\n aria-label=\"Loading\"\n aria-busy=\"true\"\n {...linearProgressProps}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Theme, Toolbar } from '@mui/material';\nimport { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { MRT_TableInstance } from '..';\n\nexport const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n display: 'grid',\n p: '0 !important',\n width: '100%',\n zIndex: 1,\n});\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n enableGlobalFilter,\n enablePagination,\n hideToolbarInternalActions,\n idPrefix,\n muiTableToolbarTopProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const toolbarProps =\n muiTableToolbarTopProps instanceof Function\n ? muiTableToolbarTopProps({ tableInstance })\n : muiTableToolbarTopProps;\n\n return (\n <Toolbar\n id={`mrt-${idPrefix}-toolbar-top`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n position: isFullScreen ? 'sticky' : undefined,\n top: isFullScreen ? '0' : undefined,\n ...commonToolbarStyles({ theme }),\n ...toolbarProps?.sx,\n } as any)\n }\n >\n {positionToolbarAlertBanner === 'top' && (\n <MRT_ToolbarAlertBanner tableInstance={tableInstance} />\n )}\n <Box\n sx={{\n p: '0.5rem',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n {renderToolbarCustomActions?.({ tableInstance }) ?? <span />}\n <Box\n sx={{\n display: 'flex',\n gap: '0.5rem',\n position: 'relative',\n zIndex: 3,\n }}\n >\n {enableGlobalFilter && (\n <MRT_SearchTextField tableInstance={tableInstance} />\n )}\n {!hideToolbarInternalActions && positionToolbarActions === 'top' && (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n )}\n </Box>\n </Box>\n <div>\n {enablePagination &&\n ['top', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </div>\n <MRT_LinearProgressBar tableInstance={tableInstance} />\n </Toolbar>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Toolbar } from '@mui/material';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { commonToolbarStyles } from './MRT_ToolbarTop';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n hideToolbarInternalActions,\n idPrefix,\n enablePagination,\n muiTableToolbarBottomProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const toolbarProps =\n muiTableToolbarBottomProps instanceof Function\n ? muiTableToolbarBottomProps({ tableInstance })\n : muiTableToolbarBottomProps;\n\n return (\n <Toolbar\n id={`mrt-${idPrefix}-toolbar-bottom`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n ...commonToolbarStyles({ theme }),\n bottom: isFullScreen ? '0' : undefined,\n position: isFullScreen ? 'fixed' : undefined,\n boxShadow: `-3px 0 6px ${alpha(theme.palette.common.black, 0.1)}`,\n ...toolbarProps?.sx,\n } as any)\n }\n >\n <MRT_LinearProgressBar tableInstance={tableInstance} />\n <Box\n sx={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}\n >\n {!hideToolbarInternalActions && positionToolbarActions === 'bottom' ? (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n ) : (\n <span />\n )}\n {positionToolbarAlertBanner === 'bottom' && (\n <MRT_ToolbarAlertBanner tableInstance={tableInstance} />\n )}\n {enablePagination &&\n ['bottom', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </Box>\n </Toolbar>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Chip,\n debounce,\n IconButton,\n InputAdornment,\n MenuItem,\n TextField,\n TextFieldProps,\n Tooltip,\n} from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';\nimport { MRT_FILTER_TYPE } from '../enums';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterTextField: FC<Props> = ({ header, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, CloseIcon },\n idPrefix,\n localization,\n muiTableHeadCellFilterTextFieldProps,\n setCurrentFilterTypes,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const { currentFilterTypes } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const mTableHeadCellFilterTextFieldProps =\n muiTableHeadCellFilterTextFieldProps instanceof Function\n ? muiTableHeadCellFilterTextFieldProps({ column, tableInstance })\n : muiTableHeadCellFilterTextFieldProps;\n\n const mcTableHeadCellFilterTextFieldProps =\n column.muiTableHeadCellFilterTextFieldProps instanceof Function\n ? column.muiTableHeadCellFilterTextFieldProps({ column, tableInstance })\n : column.muiTableHeadCellFilterTextFieldProps;\n\n const textFieldProps = {\n ...mTableHeadCellFilterTextFieldProps,\n ...mcTableHeadCellFilterTextFieldProps,\n } as TextFieldProps;\n\n const [filterValue, setFilterValue] = useState<string>(\n (column.getColumnFilterValue() ?? '') as string,\n );\n\n const handleChange = useCallback(\n debounce(\n (event: ChangeEvent<HTMLInputElement>) =>\n column.setColumnFilterValue(event.target.value ?? undefined),\n 150,\n ),\n [],\n );\n\n const handleFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setFilterValue('');\n column.setColumnFilterValue(undefined);\n };\n\n const handleClearFilterChip = () => {\n setFilterValue('');\n column.setColumnFilterValue(undefined);\n setCurrentFilterTypes((prev) => ({\n ...prev,\n [header.id]: MRT_FILTER_TYPE.BEST_MATCH,\n }));\n };\n\n if (column.Filter) {\n return <>{column.Filter?.({ header, tableInstance })}</>;\n }\n\n const filterId = `mrt-${idPrefix}-${header.id}-filter-text-field`;\n const filterType = currentFilterTypes?.[header.id];\n const isSelectFilter = !!column.filterSelectOptions;\n const filterChipLabel =\n !(filterType instanceof Function) &&\n [MRT_FILTER_TYPE.EMPTY, MRT_FILTER_TYPE.NOT_EMPTY].includes(\n filterType as MRT_FILTER_TYPE,\n )\n ? //@ts-ignore\n localization[\n `filter${filterType.charAt(0).toUpperCase() + filterType.slice(1)}`\n ]\n : '';\n const filterPlaceholder = localization.filterByColumn?.replace(\n '{column}',\n String(column.header),\n );\n\n return (\n <>\n <TextField\n fullWidth\n id={filterId}\n inputProps={{\n disabled: !!filterChipLabel,\n sx: {\n textOverflow: 'ellipsis',\n width: filterChipLabel ? 0 : undefined,\n },\n title: filterPlaceholder,\n }}\n helperText={\n <label htmlFor={filterId}>\n {filterType instanceof Function\n ? localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterType.name.charAt(0).toUpperCase() +\n filterType.name.slice(1)\n }`\n ] ?? '',\n ) ?? ''\n : localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterType.charAt(0).toUpperCase() + filterType.slice(1)\n }`\n ],\n )}\n </label>\n }\n FormHelperTextProps={{\n sx: { fontSize: '0.6rem', lineHeight: '0.8rem' },\n }}\n label={isSelectFilter && !filterValue ? filterPlaceholder : undefined}\n margin=\"none\"\n placeholder={\n filterPlaceholder\n // filterChipLabel || isSelectFilter ? undefined : filterPlaceholder\n }\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(event.target.value);\n handleChange(event);\n }}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n select={isSelectFilter}\n value={filterValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: !isSelectFilter && (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeFilterMode}>\n <span>\n <IconButton\n aria-label={localization.changeFilterMode}\n onClick={handleFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <FilterListIcon />\n </IconButton>\n </span>\n </Tooltip>\n {filterChipLabel && (\n <Chip\n onDelete={handleClearFilterChip}\n label={filterChipLabel}\n />\n )}\n </InputAdornment>\n ),\n endAdornment: !filterChipLabel && (\n <InputAdornment position=\"end\">\n <Tooltip\n arrow\n disableHoverListener={isSelectFilter}\n placement=\"right\"\n title={localization.clearFilter ?? ''}\n >\n <span>\n <IconButton\n aria-label={localization.clearFilter}\n disabled={!filterValue?.length}\n onClick={handleClear}\n size=\"small\"\n sx={{\n height: '1.75rem',\n width: '1.75rem',\n }}\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{\n m: '-0.25rem',\n p: 0,\n minWidth: !filterChipLabel ? '5rem' : 'auto',\n width: 'calc(100% + 0.5rem)',\n mt: isSelectFilter && !filterValue ? '-1rem' : undefined,\n '&\t.MuiSelect-icon': {\n mr: '1.5rem',\n },\n ...textFieldProps?.sx,\n }}\n >\n {isSelectFilter && (\n <MenuItem divider disabled={!filterValue} value=\"\">\n {localization.clearFilter}\n </MenuItem>\n )}\n {column?.filterSelectOptions?.map((option) => {\n let value;\n let text;\n if (typeof option === 'string') {\n value = option;\n text = option;\n } else if (typeof option === 'object') {\n value = option.value;\n text = option.text;\n }\n return (\n <MenuItem key={value} value={value}>\n {text}\n </MenuItem>\n );\n })}\n </TextField>\n <MRT_FilterTypeMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleColumnActionMenuButton: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n options: {\n icons: { MoreVertIcon },\n localization,\n muiTableHeadCellColumnActionsButtonProps,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const mTableHeadCellColumnActionsButtonProps =\n muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? muiTableHeadCellColumnActionsButtonProps({ column, tableInstance })\n : muiTableHeadCellColumnActionsButtonProps;\n\n const mcTableHeadCellColumnActionsButtonProps =\n column.muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? column.muiTableHeadCellColumnActionsButtonProps({\n column,\n tableInstance,\n })\n : column.muiTableHeadCellColumnActionsButtonProps;\n\n const iconButtonProps = {\n ...mTableHeadCellColumnActionsButtonProps,\n ...mcTableHeadCellColumnActionsButtonProps,\n };\n\n return (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.columnActions}\n >\n <IconButton\n aria-label={localization.columnActions}\n onClick={handleClick}\n size=\"small\"\n {...iconButtonProps}\n sx={{\n height: '2rem',\n mr: '2px',\n mt: '-0.2rem',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n ...iconButtonProps.sx,\n }}\n >\n <MoreVertIcon />\n </IconButton>\n </Tooltip>\n <MRT_ColumnActionMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport {\n TableCell,\n TableSortLabel,\n Divider,\n Collapse,\n Tooltip,\n Box,\n IconButton,\n alpha,\n Theme,\n} from '@mui/material';\nimport { MRT_FilterTextField } from '../inputs/MRT_FilterTextField';\nimport { MRT_ToggleColumnActionMenuButton } from '../buttons/MRT_ToggleColumnActionMenuButton';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { ColumnResizerProps } from '@tanstack/react-table';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCell: FC<Props> = ({ header, tableInstance }) => {\n const {\n getState,\n options: {\n enableColumnActions,\n enableColumnFilters,\n enableColumnResizing,\n icons: { FilterAltIcon, FilterAltOff },\n localization,\n muiTableHeadCellProps,\n setShowFilters,\n },\n } = tableInstance;\n\n const { isDensePadding, showFilters } = getState();\n\n const { column } = header;\n\n const mTableHeadCellProps =\n muiTableHeadCellProps instanceof Function\n ? muiTableHeadCellProps({ column, tableInstance })\n : muiTableHeadCellProps;\n\n const mcTableHeadCellProps =\n column.muiTableHeadCellProps instanceof Function\n ? column.muiTableHeadCellProps({ column, tableInstance })\n : column.muiTableHeadCellProps;\n\n const tableCellProps = {\n ...header.getHeaderProps(),\n ...mTableHeadCellProps,\n ...mcTableHeadCellProps,\n };\n\n const sortTooltip = !!column.getIsSorted()\n ? column.getIsSorted() === 'desc'\n ? localization.clearSort\n : localization.sortByColumnDesc.replace('{column}', column.header)\n : localization.sortByColumnAsc.replace('{column}', column.header);\n\n const filterType = getState()?.currentFilterTypes?.[header.id];\n\n const filterTooltip = !!column.getColumnFilterValue()\n ? localization.filteringByColumn\n .replace('{column}', String(column.header))\n .replace(\n '{filterType}',\n filterType instanceof Function\n ? ''\n : // @ts-ignore\n localization[\n `filter${\n filterType.charAt(0).toUpperCase() + filterType.slice(1)\n }`\n ],\n )\n .replace('{filterValue}', column.getColumnFilterValue() as string)\n .replace('\" \"', '')\n : localization.showHideFilters;\n\n const headerElement =\n column?.Header?.({\n header,\n tableInstance,\n }) ?? column.header;\n\n return (\n <TableCell\n align={column.columnDefType === 'group' ? 'center' : 'left'}\n {...tableCellProps}\n //@ts-ignore\n sx={(theme: Theme) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n boxShadow: `3px 0 6px ${alpha(theme.palette.common.black, 0.1)}`,\n fontWeight: 'bold',\n height: '100%',\n minWidth: `max(${header.getWidth()}, 100px)`,\n p: isDensePadding\n ? column.columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : column.columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pt:\n column.columnDefType === 'display'\n ? 0\n : isDensePadding\n ? '0.75rem'\n : '1.25rem',\n pb: column.columnDefType === 'display' ? 0 : undefined,\n transition: `all ${enableColumnResizing ? 0 : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n width: header.getWidth(),\n //@ts-ignore\n ...tableCellProps?.sx,\n })}\n >\n {header.isPlaceholder ? null : column.columnDefType === 'display' ? (\n headerElement\n ) : (\n <Box\n sx={{\n alignItems: 'flex-start',\n display: 'flex',\n justifyContent:\n column.columnDefType === 'group' ? 'center' : 'space-between',\n width: '100%',\n }}\n >\n <Box\n {...column.getToggleSortingProps()}\n sx={{\n alignItems: 'center',\n cursor:\n column.getCanSort() && column.columnDefType !== 'group'\n ? 'pointer'\n : undefined,\n display: 'flex',\n flexWrap: 'nowrap',\n whiteSpace: column.header.length < 15 ? 'nowrap' : 'normal',\n }}\n title={undefined}\n >\n {headerElement}\n {column.columnDefType !== 'group' && column.getCanSort() && (\n <Tooltip arrow placement=\"top\" title={sortTooltip}>\n <TableSortLabel\n aria-label={sortTooltip}\n active={!!column.getIsSorted()}\n direction={\n column.getIsSorted()\n ? (column.getIsSorted() as 'asc' | 'desc')\n : undefined\n }\n />\n </Tooltip>\n )}\n {column.columnDefType !== 'group' &&\n enableColumnFilters &&\n !!column.getCanColumnFilter() && (\n <Tooltip arrow placement=\"top\" title={filterTooltip}>\n <IconButton\n disableRipple\n onClick={(event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n setShowFilters(!showFilters);\n }}\n size=\"small\"\n sx={{\n m: 0,\n opacity: !!column.getColumnFilterValue() ? 0.8 : 0,\n p: '2px',\n transition: 'all 0.2s ease-in-out',\n '&:hover': {\n backgroundColor: 'transparent',\n opacity: 0.8,\n },\n }}\n >\n {showFilters && !column.getColumnFilterValue() ? (\n <FilterAltOff fontSize=\"small\" />\n ) : (\n <FilterAltIcon fontSize=\"small\" />\n )}\n </IconButton>\n </Tooltip>\n )}\n </Box>\n <Box\n sx={{ alignItems: 'center', display: 'flex', flexWrap: 'nowrap' }}\n >\n {(enableColumnActions || column.enableColumnActions) &&\n column.enableColumnActions !== false &&\n column.columnDefType !== 'group' && (\n <MRT_ToggleColumnActionMenuButton\n header={header}\n tableInstance={tableInstance}\n />\n )}\n {enableColumnResizing && column.columnDefType !== 'group' && (\n <Divider\n flexItem\n orientation=\"vertical\"\n onDoubleClick={() => header.resetSize()}\n sx={(theme: Theme) => ({\n borderRightWidth: '2px',\n borderRadius: '2px',\n maxHeight: '2rem',\n cursor: 'col-resize',\n userSelect: 'none',\n touchAction: 'none',\n '&:active': {\n backgroundColor: theme.palette.secondary.dark,\n opacity: 1,\n },\n })}\n {...(header.getResizerProps((props: ColumnResizerProps) => ({\n ...props,\n style: {\n transform: column.getIsResizing()\n ? `translateX(${\n getState().columnSizingInfo.deltaOffset\n }px)`\n : '',\n },\n })) as any)}\n />\n )}\n </Box>\n </Box>\n )}\n {column.columnDefType === 'data' &&\n enableColumnFilters &&\n column.getCanColumnFilter() && (\n <Collapse in={showFilters}>\n <MRT_FilterTextField\n header={header}\n tableInstance={tableInstance}\n />\n </Collapse>\n )}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableHeadCell } from './MRT_TableHeadCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n headerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadRow: FC<Props> = ({ headerGroup, tableInstance }) => {\n const {\n options: { muiTableHeadRowProps },\n } = tableInstance;\n\n const mTableHeadRowProps =\n muiTableHeadRowProps instanceof Function\n ? muiTableHeadRowProps({ headerGroup, tableInstance })\n : muiTableHeadRowProps;\n\n const tableRowProps = {\n ...headerGroup?.getHeaderGroupProps(),\n ...mTableHeadRowProps,\n };\n\n return (\n <TableRow {...tableRowProps}>\n {headerGroup.headers.map((header: MRT_Header, index) => (\n <MRT_TableHeadCell\n header={header}\n key={header.id || index}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableHead } from '@mui/material';\nimport { MRT_TableHeadRow } from './MRT_TableHeadRow';\nimport type { MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHead: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getCenterHeaderGroups,\n getHeaderGroups,\n getLeftHeaderGroups,\n getRightHeaderGroups,\n options: { muiTableHeadProps },\n } = tableInstance;\n\n const tableHeadProps =\n muiTableHeadProps instanceof Function\n ? muiTableHeadProps({ tableInstance })\n : muiTableHeadProps;\n\n const getHeaderGroupsMap = {\n center: getCenterHeaderGroups,\n left: getLeftHeaderGroups,\n none: getHeaderGroups,\n right: getRightHeaderGroups,\n };\n\n return (\n <TableHead {...tableHeadProps}>\n {getHeaderGroupsMap[pinned]().map((headerGroup) => (\n <MRT_TableHeadRow\n headerGroup={headerGroup as MRT_HeaderGroup}\n key={headerGroup.getHeaderGroupProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableHead>\n );\n};\n","import React, { ChangeEvent, FC, MouseEvent } from 'react';\nimport { TextField } from '@mui/material';\nimport type { MRT_Cell, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {\n const {\n getState,\n options: { enableRowEditing, muiTableBodyCellEditTextFieldProps },\n } = tableInstance;\n\n const { column, row } = cell;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (getState().currentEditingRow) {\n row.values[column.id] = event.target.value;\n // setCurrentEditingRow({\n // ...getState().currentEditingRow,\n // });\n }\n column.onCellEditChange?.({ event, cell, tableInstance });\n };\n\n const mTableBodyCellEditTextFieldProps =\n muiTableBodyCellEditTextFieldProps instanceof Function\n ? muiTableBodyCellEditTextFieldProps({ cell, tableInstance })\n : muiTableBodyCellEditTextFieldProps;\n\n const mcTableBodyCellEditTextFieldProps =\n column.muiTableBodyCellEditTextFieldProps instanceof Function\n ? column.muiTableBodyCellEditTextFieldProps({ cell, tableInstance })\n : column.muiTableBodyCellEditTextFieldProps;\n\n const textFieldProps = {\n ...mTableBodyCellEditTextFieldProps,\n ...mcTableBodyCellEditTextFieldProps,\n };\n\n if (enableRowEditing && column.enableEditing !== false && column.Edit) {\n return <>{column.Edit?.({ cell, tableInstance })}</>;\n }\n\n return (\n <TextField\n margin=\"dense\"\n onChange={handleChange}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n placeholder={column.header}\n value={cell.value}\n variant=\"standard\"\n {...textFieldProps}\n />\n );\n};\n","import React, { FC, ReactNode, useState } from 'react';\nimport { Button, Tooltip } from '@mui/material';\nimport { MRT_Cell, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n children: ReactNode;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_CopyButton: FC<Props> = ({\n cell,\n children,\n tableInstance,\n}) => {\n const {\n options: { localization, muiTableBodyCellCopyButtonProps },\n } = tableInstance;\n\n const [copied, setCopied] = useState(false);\n\n const handleCopy = (text: unknown) => {\n navigator.clipboard.writeText(text as string);\n setCopied(true);\n setTimeout(() => setCopied(false), 4000);\n };\n\n const mTableBodyCellCopyButtonProps =\n muiTableBodyCellCopyButtonProps instanceof Function\n ? muiTableBodyCellCopyButtonProps({ cell, tableInstance })\n : muiTableBodyCellCopyButtonProps;\n\n const mcTableBodyCellCopyButtonProps =\n cell.column.muiTableBodyCellCopyButtonProps instanceof Function\n ? cell.column.muiTableBodyCellCopyButtonProps({ cell, tableInstance })\n : cell.column.muiTableBodyCellCopyButtonProps;\n\n const buttonProps = {\n ...mTableBodyCellCopyButtonProps,\n ...mcTableBodyCellCopyButtonProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={copied ? localization.copiedToClipboard : localization.clickToCopy}\n >\n <Button\n aria-label={localization.clickToCopy}\n onClick={() => handleCopy(cell.value)}\n size=\"small\"\n {...buttonProps}\n sx={{\n backgroundColor: 'transparent',\n border: 'none',\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n letterSpacing: 'inherit',\n m: '-0.25rem',\n minWidth: 'unset',\n textAlign: 'inherit',\n textTransform: 'inherit',\n ...buttonProps?.sx,\n }}\n variant=\"text\"\n >\n {children}\n </Button>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useMemo } from 'react';\nimport { Skeleton, TableCell } from '@mui/material';\nimport { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';\nimport type { MRT_Cell, MRT_TableInstance } from '..';\nimport { MRT_CopyButton } from '../buttons/MRT_CopyButton';\n\ninterface Props {\n cell: MRT_Cell;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyCell: FC<Props> = ({ cell, tableInstance }) => {\n const {\n getIsSomeColumnsPinned,\n getState,\n options: {\n enableClickToCopy,\n enableColumnPinning,\n isLoading,\n muiTableBodyCellProps,\n muiTableBodyCellSkeletonProps,\n onCellClick,\n },\n } = tableInstance;\n\n const { currentEditingRow, isDensePadding } = getState();\n\n const { column, row } = cell;\n\n const mTableCellBodyProps =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps({ cell, tableInstance })\n : muiTableBodyCellProps;\n\n const mcTableCellBodyProps =\n column.muiTableBodyCellProps instanceof Function\n ? column.muiTableBodyCellProps({ cell, tableInstance })\n : column.muiTableBodyCellProps;\n\n const tableCellProps = {\n ...cell.getCellProps(),\n ...mTableCellBodyProps,\n ...mcTableCellBodyProps,\n };\n\n const skeletonWidth = useMemo(\n () =>\n column.columnDefType === 'display'\n ? column.getWidth() / 2\n : Math.random() * (column.getWidth() - column.getWidth() / 3) +\n column.getWidth() / 3,\n [column.columnDefType, column.getWidth()],\n );\n\n return (\n <TableCell\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onCellClick?.({ event, cell, tableInstance })\n }\n {...tableCellProps}\n sx={{\n p: isDensePadding\n ? column.columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : column.columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pl:\n column.id === 'mrt-expand'\n ? `${row.depth + (isDensePadding ? 0.5 : 0.75)}rem`\n : undefined,\n transition: 'all 0.2s ease-in-out',\n whiteSpace:\n isDensePadding || (enableColumnPinning && getIsSomeColumnsPinned())\n ? 'nowrap'\n : 'normal',\n //@ts-ignore\n ...tableCellProps?.sx,\n }}\n >\n {isLoading ? (\n <Skeleton\n animation=\"wave\"\n height={20}\n width={skeletonWidth}\n {...muiTableBodyCellSkeletonProps}\n />\n ) : column.columnDefType === 'display' ? (\n column.Cell?.({ cell, tableInstance })\n ) : cell.getIsPlaceholder() ||\n (row.getIsGrouped() &&\n column.id !==\n row.groupingColumnId) ? null : cell.getIsAggregated() ? (\n cell.renderAggregatedCell()\n ) : column.enableEditing && currentEditingRow?.id === row.id ? (\n <MRT_EditCellTextField cell={cell} tableInstance={tableInstance} />\n ) : (enableClickToCopy || column.enableClickToCopy) &&\n column.enableClickToCopy !== false ? (\n <>\n <MRT_CopyButton cell={cell} tableInstance={tableInstance}>\n {cell.renderCell()}\n </MRT_CopyButton>\n {row.getIsGrouped() && <> ({row.subRows?.length})</>}\n </>\n ) : (\n <>\n {cell.renderCell()}\n {row.getIsGrouped() && <> ({row.subRows?.length})</>}\n </>\n )}\n </TableCell>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { Collapse, TableCell, TableRow } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableDetailPanel: FC<Props> = ({ row, tableInstance }) => {\n const {\n getVisibleFlatColumns,\n options: {\n muiTableBodyRowProps,\n muiTableDetailPanelProps,\n onDetailPanelClick,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const tableRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps({ row, tableInstance })\n : muiTableBodyRowProps;\n\n const tableCellProps =\n muiTableDetailPanelProps instanceof Function\n ? muiTableDetailPanelProps({ row, tableInstance })\n : muiTableDetailPanelProps;\n\n return (\n <TableRow {...tableRowProps}>\n <TableCell\n colSpan={getVisibleFlatColumns().length + 10}\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onDetailPanelClick?.({ event, row, tableInstance })\n }\n {...tableCellProps}\n sx={{\n borderBottom: !row.getIsExpanded() ? 'none' : undefined,\n pb: row.getIsExpanded() ? '1rem' : 0,\n pt: row.getIsExpanded() ? '1rem' : 0,\n transition: 'all 0.2s ease-in-out',\n ...tableCellProps?.sx,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n {renderDetailPanel?.({ row, tableInstance })}\n </Collapse>\n </TableCell>\n </TableRow>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableBodyCell } from './MRT_TableBodyCell';\nimport { MRT_TableDetailPanel } from './MRT_TableDetailPanel';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyRow: FC<Props> = ({ pinned, row, tableInstance }) => {\n const {\n options: { muiTableBodyRowProps, onRowClick, renderDetailPanel },\n } = tableInstance;\n\n const {\n getCenterVisibleCells,\n getIsGrouped,\n getIsSelected,\n getLeftVisibleCells,\n getRightVisibleCells,\n getRowProps,\n getVisibleCells,\n } = row;\n\n const mTableBodyRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps({ row, tableInstance })\n : muiTableBodyRowProps;\n\n const tableRowProps = {\n ...getRowProps(),\n ...mTableBodyRowProps,\n };\n\n const getVisibleCellsMap = {\n center: getCenterVisibleCells,\n left: getLeftVisibleCells,\n none: getVisibleCells,\n right: getRightVisibleCells,\n };\n\n return (\n <>\n <TableRow\n hover\n onClick={(event: MouseEvent<HTMLTableRowElement>) =>\n onRowClick?.({ event, row, tableInstance })\n }\n selected={getIsSelected()}\n {...tableRowProps}\n >\n {getVisibleCellsMap[pinned]().map((cell) => (\n <MRT_TableBodyCell\n cell={cell}\n key={cell.getCellProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n {renderDetailPanel && !getIsGrouped() && (\n <MRT_TableDetailPanel row={row} tableInstance={tableInstance} />\n )}\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { TableBody } from '@mui/material';\nimport { MRT_TableBodyRow } from './MRT_TableBodyRow';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBody: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getPaginationRowModel,\n getPrePaginationRowModel,\n getTableBodyProps,\n options: { enablePagination, muiTableBodyProps },\n } = tableInstance;\n\n const rows = enablePagination\n ? getPaginationRowModel().rows\n : getPrePaginationRowModel().rows;\n\n const mTableBodyProps =\n muiTableBodyProps instanceof Function\n ? muiTableBodyProps({ tableInstance })\n : muiTableBodyProps;\n\n const tableBodyProps = {\n ...getTableBodyProps(),\n ...mTableBodyProps,\n };\n\n return (\n <TableBody {...tableBodyProps}>\n {rows.map((row) => (\n <MRT_TableBodyRow\n key={row.getRowProps().key}\n pinned={pinned}\n row={row}\n tableInstance={tableInstance}\n />\n ))}\n </TableBody>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, TableCell } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n footer: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterCell: FC<Props> = ({ footer, tableInstance }) => {\n const {\n getState,\n options: { muiTableFooterCellProps, enableColumnResizing },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const { column } = footer;\n\n const mTableFooterCellProps =\n muiTableFooterCellProps instanceof Function\n ? muiTableFooterCellProps({ column, tableInstance })\n : muiTableFooterCellProps;\n\n const mcTableFooterCellProps =\n column.muiTableFooterCellProps instanceof Function\n ? column.muiTableFooterCellProps({ column, tableInstance })\n : column.muiTableFooterCellProps;\n\n const tableCellProps = {\n ...footer.getFooterProps(),\n ...mTableFooterCellProps,\n ...mcTableFooterCellProps,\n };\n\n return (\n <TableCell\n align={column.columnDefType === 'group' ? 'center' : 'left'}\n variant=\"head\"\n {...tableCellProps}\n //@ts-ignore\n sx={(theme) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n fontWeight: 'bold',\n p: isDensePadding ? '0.5rem' : '1rem',\n transition: `all ${enableColumnResizing ? '10ms' : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n //@ts-ignore\n ...tableCellProps?.sx,\n })}\n >\n {footer.isPlaceholder\n ? null\n : column.Footer?.({\n footer,\n tableInstance,\n }) ??\n column.footer ??\n null}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableFooterCell } from './MRT_TableFooterCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n footerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterRow: FC<Props> = ({\n footerGroup,\n tableInstance,\n}) => {\n const {\n options: { muiTableFooterRowProps },\n } = tableInstance;\n\n // if no content in row, skip row\n if (\n !footerGroup.headers?.some(\n (h) => h.column.columnDef.footer || h.column.Footer,\n )\n )\n return null;\n\n const mTableFooterRowProps =\n muiTableFooterRowProps instanceof Function\n ? muiTableFooterRowProps({ footerGroup, tableInstance })\n : muiTableFooterRowProps;\n\n const tableRowProps = {\n ...footerGroup.getFooterGroupProps(),\n ...mTableFooterRowProps,\n };\n\n return (\n <TableRow {...tableRowProps}>\n {footerGroup.headers.map((footer: MRT_Header) => (\n <MRT_TableFooterCell\n footer={footer}\n key={footer.getFooterProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableFooter } from '@mui/material';\nimport { MRT_TableFooterRow } from './MRT_TableFooterRow';\nimport type { MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooter: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getCenterFooterGroups,\n getFooterGroups,\n getLeftFooterGroups,\n getRightFooterGroups,\n options: { muiTableFooterProps },\n } = tableInstance;\n\n const tableFooterProps =\n muiTableFooterProps instanceof Function\n ? muiTableFooterProps({ tableInstance })\n : muiTableFooterProps;\n\n const getFooterGroupsMap = {\n center: getCenterFooterGroups,\n left: getLeftFooterGroups,\n none: getFooterGroups,\n right: getRightFooterGroups,\n };\n\n return (\n <TableFooter {...tableFooterProps}>\n {getFooterGroupsMap[pinned]().map((footerGroup) => (\n <MRT_TableFooterRow\n footerGroup={footerGroup as MRT_HeaderGroup}\n key={footerGroup.getFooterGroupProps().key}\n tableInstance={tableInstance}\n />\n ))}\n </TableFooter>\n );\n};\n","import React, { FC } from 'react';\nimport { Table } from '@mui/material';\nimport { MRT_TableHead } from '../head/MRT_TableHead';\nimport { MRT_TableBody } from '../body/MRT_TableBody';\nimport { MRT_TableFooter } from '../footer/MRT_TableFooter';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n pinned: 'left' | 'center' | 'right' | 'none';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_Table: FC<Props> = ({ pinned, tableInstance }) => {\n const {\n getTableProps,\n options: {\n enableStickyHeader,\n hideTableFooter,\n hideTableHead,\n muiTableProps,\n },\n } = tableInstance;\n\n const mTableProps =\n muiTableProps instanceof Function\n ? muiTableProps({ tableInstance })\n : muiTableProps;\n\n const tableProps = {\n ...getTableProps(),\n ...mTableProps,\n };\n\n return (\n <Table stickyHeader={enableStickyHeader} {...tableProps}>\n {!hideTableHead && (\n <MRT_TableHead pinned={pinned} tableInstance={tableInstance} />\n )}\n <MRT_TableBody pinned={pinned} tableInstance={tableInstance} />\n {!hideTableFooter && (\n <MRT_TableFooter pinned={pinned} tableInstance={tableInstance} />\n )}\n </Table>\n );\n};\n","import React, { FC, useLayoutEffect, useState } from 'react';\nimport { alpha, Box, TableContainer, Theme } from '@mui/material';\nimport { SystemStyleObject } from '@mui/material/node_modules/@mui/system';\nimport { MRT_TableInstance } from '..';\nimport { MRT_Table } from './MRT_Table';\n\nconst commonBoxStyles = ({\n pinned,\n theme,\n visible,\n}: {\n pinned?: 'left' | 'right';\n theme: Theme;\n visible?: boolean;\n}): SystemStyleObject<Theme> => ({\n display: 'grid',\n minWidth: visible ? '200px' : 0,\n overflowX: 'auto',\n boxShadow:\n pinned === 'left'\n ? `0 1px 12px ${alpha(theme.palette.common.black, 0.5)}`\n : pinned === 'right'\n ? `0 -1px 12px ${alpha(theme.palette.common.black, 0.5)}`\n : 'none',\n});\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableContainer: FC<Props> = ({ tableInstance }) => {\n const {\n getCenterTableWidth,\n getIsSomeColumnsPinned,\n getLeftTableWidth,\n getRightTableWidth,\n getState,\n options: {\n enableColumnPinning,\n enableStickyHeader,\n idPrefix,\n muiTableContainerProps,\n },\n } = tableInstance;\n\n const { isFullScreen, columnPinning } = getState();\n\n const [totalToolbarHeight, setTotalToolbarHeight] = useState(0);\n\n const tableContainerProps =\n muiTableContainerProps instanceof Function\n ? muiTableContainerProps({ tableInstance })\n : muiTableContainerProps;\n\n useLayoutEffect(() => {\n const topToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${idPrefix}-toolbar-top`)\n ?.offsetHeight ?? 0\n : 0;\n\n const bottomToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${idPrefix}-toolbar-bottom`)\n ?.offsetHeight ?? 0\n : 0;\n\n setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);\n });\n\n return (\n <TableContainer\n {...tableContainerProps}\n sx={{\n maxWidth: '100%',\n maxHeight: enableStickyHeader\n ? `clamp(350px, calc(100vh - ${totalToolbarHeight}px), 2000px)`\n : undefined,\n overflow: 'auto',\n ...tableContainerProps?.sx,\n }}\n style={{\n maxHeight: isFullScreen\n ? `calc(100vh - ${totalToolbarHeight}px)`\n : undefined,\n }}\n >\n {enableColumnPinning && getIsSomeColumnsPinned() ? (\n <Box\n sx={{\n display: 'grid',\n gridTemplateColumns: `${getLeftTableWidth()}fr ${getCenterTableWidth()}fr ${getRightTableWidth()}fr`,\n }}\n >\n <Box\n sx={(theme: Theme) =>\n commonBoxStyles({\n pinned: 'left',\n theme,\n visible: !!columnPinning.left?.length,\n })\n }\n >\n <MRT_Table pinned=\"left\" tableInstance={tableInstance} />\n </Box>\n <Box sx={(theme: Theme) => commonBoxStyles({ theme })}>\n <MRT_Table pinned=\"center\" tableInstance={tableInstance} />\n </Box>\n <Box\n sx={(theme: Theme) =>\n commonBoxStyles({\n pinned: 'right',\n theme,\n visible: !!columnPinning.right?.length,\n })\n }\n >\n <MRT_Table pinned=\"right\" tableInstance={tableInstance} />\n </Box>\n </Box>\n ) : (\n <MRT_Table pinned=\"none\" tableInstance={tableInstance} />\n )}\n </TableContainer>\n );\n};\n","import React, { FC, useEffect } from 'react';\nimport { Paper } from '@mui/material';\nimport { MRT_ToolbarTop } from '../toolbar/MRT_ToolbarTop';\nimport { MRT_ToolbarBottom } from '../toolbar/MRT_ToolbarBottom';\nimport { MRT_TableContainer } from './MRT_TableContainer';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePaper: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: { hideToolbarBottom, hideToolbarTop, muiTablePaperProps },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n if (isFullScreen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'auto';\n }\n }\n }, [isFullScreen]);\n\n const tablePaperProps =\n muiTablePaperProps instanceof Function\n ? muiTablePaperProps({ tableInstance })\n : muiTablePaperProps;\n\n return (\n <Paper\n elevation={2}\n {...tablePaperProps}\n sx={{\n transition: 'all 0.2s ease-in-out',\n ...tablePaperProps?.sx,\n }}\n style={{\n height: isFullScreen ? '100%' : undefined,\n left: isFullScreen ? '0' : undefined,\n margin: isFullScreen ? '0' : undefined,\n maxHeight: isFullScreen ? '100%' : undefined,\n maxWidth: isFullScreen ? '100%' : undefined,\n overflowY: !isFullScreen ? 'hidden' : undefined,\n position: isFullScreen ? 'fixed' : undefined,\n right: isFullScreen ? '0' : undefined,\n top: isFullScreen ? '0' : undefined,\n width: isFullScreen ? '100vw' : undefined,\n zIndex: isFullScreen ? 1200 : 1,\n bottom: isFullScreen ? '0' : undefined,\n }}\n >\n {!hideToolbarTop && <MRT_ToolbarTop tableInstance={tableInstance} />}\n <MRT_TableContainer tableInstance={tableInstance} />\n {!hideToolbarBottom && (\n <MRT_ToolbarBottom tableInstance={tableInstance} />\n )}\n </Paper>\n );\n};\n","import { ColumnDef, Table } from '@tanstack/react-table';\nimport { MRT_ColumnInterface, MRT_FilterType } from '.';\nimport { MRT_FILTER_TYPE } from './enums';\n\nexport const getAllLeafColumnDefs = (\n columns: MRT_ColumnInterface[],\n): MRT_ColumnInterface[] => {\n let lowestLevelColumns: MRT_ColumnInterface[] = columns;\n let currentCols: MRT_ColumnInterface[] | undefined = columns;\n while (!!currentCols?.length && currentCols.some((col) => col.columns)) {\n const nextCols: MRT_ColumnInterface[] = currentCols\n .filter((col) => !!col.columns)\n .map((col) => col.columns)\n .flat() as MRT_ColumnInterface[];\n if (nextCols.every((col) => !col?.columns)) {\n lowestLevelColumns = [...lowestLevelColumns, ...nextCols];\n }\n currentCols = nextCols;\n }\n return lowestLevelColumns.filter((col) => !col.columns);\n};\n\nexport const createGroup = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnInterface<D>,\n currentFilterTypes: { [key: string]: MRT_FilterType },\n): ColumnDef<D> =>\n table.createGroup({\n ...column,\n columns: column?.columns?.map?.((col) =>\n col.columns\n ? createGroup<D>(table, col, currentFilterTypes)\n : createDataColumn(table, col, currentFilterTypes),\n ),\n } as any);\n\nexport const createDataColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnInterface<D>,\n currentFilterTypes: { [key: string]: MRT_FilterType },\n): ColumnDef<D> => // @ts-ignore\n table.createDataColumn(column.id, {\n filterType: currentFilterTypes[column.id] || MRT_FILTER_TYPE.BEST_MATCH,\n ...column,\n }) as any;\n\nexport const createDisplayColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: Omit<MRT_ColumnInterface<D>, 'header'> & { header?: string },\n): ColumnDef<D> => table.createDisplayColumn(column);\n","import {\n columnFilterRowsFn,\n createTable,\n expandRowsFn,\n functionalUpdate,\n globalFilterRowsFn,\n groupRowsFn,\n paginateRowsFn,\n PaginationState,\n sortRowsFn,\n Table,\n useTable,\n} from '@tanstack/react-table';\nimport React, { useMemo, useState } from 'react';\nimport {\n MRT_ColumnInterface,\n MRT_FilterType,\n MRT_Row,\n MRT_TableInstance,\n} from '..';\nimport { MRT_ExpandAllButton } from '../buttons/MRT_ExpandAllButton';\nimport { MRT_ExpandButton } from '../buttons/MRT_ExpandButton';\nimport { MRT_ToggleRowActionMenuButton } from '../buttons/MRT_ToggleRowActionMenuButton';\nimport { MRT_SelectCheckbox } from '../inputs/MRT_SelectCheckbox';\nimport { MaterialReactTableProps } from '../MaterialReactTable';\nimport { MRT_TablePaper } from './MRT_TablePaper';\nimport {\n createDataColumn,\n createDisplayColumn,\n createGroup,\n getAllLeafColumnDefs,\n} from '../utils';\nimport { defaultFilterFNs } from '../filtersFNs';\nimport { MRT_FILTER_TYPE } from '../enums';\n\nexport const MRT_TableRoot = <D extends Record<string, any> = {}>(\n props: MaterialReactTableProps<D>,\n) => {\n const idPrefix = useMemo(\n () => props.idPrefix ?? Math.random().toString(36).substring(2, 9),\n [props.idPrefix],\n );\n const [currentEditingRow, setCurrentEditingRow] = useState<MRT_Row | null>(\n null,\n );\n const [isDensePadding, setIsDensePadding] = useState(\n props.initialState?.isDensePadding ?? false,\n );\n const [isFullScreen, setIsFullScreen] = useState(\n props.initialState?.isFullScreen ?? false,\n );\n const [showFilters, setShowFilters] = useState(\n props.initialState?.showFilters ?? false,\n );\n const [showSearch, setShowSearch] = useState(\n props.initialState?.showSearch ?? false,\n );\n\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: props.initialState?.pagination?.pageIndex ?? 0,\n pageSize: props.initialState?.pagination?.pageSize ?? 10,\n pageCount: props.initialState?.pagination?.pageCount ?? -1,\n });\n\n const [currentFilterTypes, setCurrentFilterTypes] = useState<{\n [key: string]: MRT_FilterType;\n }>(() =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnInterface[]).map(\n (c) => ({\n [c.id as string]:\n c.filter ??\n props?.initialState?.columnFilters?.[c.id as any] ??\n (!!c.filterSelectOptions?.length\n ? MRT_FILTER_TYPE.EQUALS\n : MRT_FILTER_TYPE.BEST_MATCH),\n }),\n ),\n ),\n );\n\n const [currentGlobalFilterType, setCurrentGlobalFilterType] = useState(\n props.globalFilterType ?? MRT_FILTER_TYPE.BEST_MATCH_FIRST,\n );\n\n const table = useMemo(\n () => createTable<{ Row: D }>(),\n [],\n ) as unknown as Table<D>;\n\n const displayColumns = useMemo(\n () =>\n [\n (props.enableRowActions || props.enableRowEditing) &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ToggleRowActionMenuButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n header: props.localization?.actions,\n id: 'mrt-row-actions',\n maxWidth: 60,\n width: 60,\n }),\n (props.enableExpanded || props.enableGrouping) &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ExpandButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableExpandAll ? (\n <MRT_ExpandAllButton tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.expand,\n id: 'mrt-expand',\n maxWidth: 40,\n width: 40,\n }),\n props.enableRowSelection &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_SelectCheckbox\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableSelectAll ? (\n <MRT_SelectCheckbox selectAll tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.select,\n id: 'mrt-select',\n maxWidth: 40,\n width: 40,\n }),\n props.enableRowNumbers &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => cell.row.index + 1,\n Header: () => '#',\n header: props.localization?.rowNumbers,\n id: 'mrt-row-numbers',\n maxWidth: 40,\n width: 40,\n minWidth: 40,\n }),\n ].filter(Boolean),\n [\n props.enableExpandAll,\n props.enableExpanded,\n props.enableRowActions,\n props.enableRowEditing,\n props.enableRowNumbers,\n props.enableRowSelection,\n props.enableSelectAll,\n props.localization,\n ],\n );\n\n const columns = useMemo(\n () =>\n table.createColumns([\n ...displayColumns,\n ...props.columns.map((column) =>\n column.columns\n ? createGroup(table, column, currentFilterTypes)\n : createDataColumn(table, column, currentFilterTypes),\n ),\n ] as any),\n [table, props.columns, currentFilterTypes],\n );\n\n const data = useMemo(\n () =>\n props.isLoading && !props.data.length\n ? [...Array(10).fill(null)].map((_) =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(\n props.columns as MRT_ColumnInterface[],\n ).map((c) => ({\n [c.id]: null,\n })),\n ),\n )\n : props.data,\n [props.data, props.isLoading],\n );\n\n //@ts-ignore\n const tableInstance: MRT_TableInstance<{}> = useTable(table, {\n ...props,\n //@ts-ignore\n filterTypes: defaultFilterFNs,\n globalFilterType: currentGlobalFilterType,\n columnFilterRowsFn: columnFilterRowsFn,\n columns,\n data,\n expandRowsFn: expandRowsFn,\n getSubRows: props.getSubRows ?? ((originalRow: D) => originalRow.subRows),\n globalFilterRowsFn: globalFilterRowsFn,\n groupRowsFn: groupRowsFn,\n idPrefix,\n onPaginationChange: (updater: any) =>\n setPagination((old) => functionalUpdate(updater, old)),\n paginateRowsFn: paginateRowsFn,\n setCurrentEditingRow,\n setCurrentFilterTypes,\n setCurrentGlobalFilterType,\n setIsDensePadding,\n setIsFullScreen,\n setShowFilters,\n setShowSearch,\n sortRowsFn,\n state: {\n ...props.initialState,\n currentEditingRow,\n currentFilterTypes,\n currentGlobalFilterType,\n isDensePadding,\n isFullScreen,\n //@ts-ignore\n pagination,\n showFilters,\n showSearch,\n ...props.state,\n },\n });\n\n return <MRT_TablePaper tableInstance={tableInstance} />;\n};\n","import React, {\n ChangeEvent,\n Dispatch,\n FC,\n MouseEvent,\n ReactNode,\n SetStateAction,\n} from 'react';\nimport {\n AlertProps,\n ButtonProps,\n CheckboxProps,\n IconButtonProps,\n LinearProgressProps,\n PaperProps,\n SkeletonProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableFooterProps,\n TableHeadProps,\n TablePaginationProps,\n TableProps,\n TableRowProps,\n TextFieldProps,\n ToolbarProps,\n} from '@mui/material';\nimport {\n Cell,\n Column,\n ColumnDef,\n DefaultGenerics,\n FilterType,\n Header,\n HeaderGroup,\n Options,\n Overwrite,\n PaginationState,\n Row,\n TableInstance,\n TableState,\n VisibilityState,\n} from '@tanstack/react-table';\nimport { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';\nimport { MRT_Default_Icons, MRT_Icons } from './icons';\nimport { MRT_FILTER_TYPE } from './enums';\nimport { MRT_TableRoot } from './table/MRT_TableRoot';\n\nexport type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<\n Omit<\n Options<D>,\n 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn'\n >\n> & {\n columns: MRT_ColumnInterface<D>[];\n data: D[];\n initialState?: Partial<MRT_TableState<D>>;\n state?: Partial<MRT_TableState<D>>;\n expandRowsFn?: (dataRow: D) => D[];\n};\n\nexport interface MRT_RowModel<D extends Record<string, any> = {}> {\n flatRows: MRT_Row<D>[];\n rows: MRT_Row<D>[];\n rowsById: { [key: string]: MRT_Row<D> };\n}\n\nexport type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<\n TableInstance<\n Overwrite<\n Partial<DefaultGenerics>,\n {\n Row: D;\n }\n >\n >,\n | 'getAllColumns'\n | 'getAllLeafColumns'\n | 'getExpandedRowModel'\n | 'getPaginationRowModel'\n | 'getPrePaginationRowModel'\n | 'getRowModel'\n | 'getSelectedRowModel'\n | 'getState'\n | 'options'\n> & {\n getAllColumns: () => MRT_ColumnInstance<D>[];\n getAllLeafColumns: () => MRT_ColumnInstance<D>[];\n getExpandedRowModel: () => MRT_RowModel<D>;\n getPaginationRowModel: () => MRT_RowModel<D>;\n getPrePaginationRowModel: () => MRT_RowModel<D>;\n getRowModel: () => MRT_RowModel<D>;\n getSelectedRowModel: () => MRT_RowModel<D>;\n getState: () => MRT_TableState<D>;\n options: MaterialReactTableProps<D> & {\n icons: MRT_Icons;\n idPrefix: string;\n filterTypes: { [key in MRT_FILTER_TYPE]: any };\n localization: MRT_Localization;\n setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row<D> | null>>;\n setCurrentFilterTypes: Dispatch<\n SetStateAction<{\n [key: string]: MRT_FilterType;\n }>\n >;\n setCurrentGlobalFilterType: Dispatch<SetStateAction<MRT_FILTER_TYPE>>;\n setIsDensePadding: Dispatch<SetStateAction<boolean>>;\n setIsFullScreen: Dispatch<SetStateAction<boolean>>;\n setShowFilters: Dispatch<SetStateAction<boolean>>;\n setShowSearch: Dispatch<SetStateAction<boolean>>;\n };\n};\n\nexport type MRT_TableState<D extends Record<string, any> = {}> = Omit<\n TableState,\n 'pagination'\n> & {\n currentEditingRow: MRT_Row<D> | null;\n currentFilterTypes: Record<string, string | Function>;\n currentGlobalFilterType: Record<string, string | Function>;\n isDensePadding: boolean;\n isFullScreen: boolean;\n showFilters: boolean;\n showSearch: boolean;\n pagination: Partial<PaginationState>;\n};\n\nexport type MRT_ColumnInterface<D extends Record<string, any> = {}> = Omit<\n ColumnDef<D>,\n 'header' | 'footer' | 'columns'\n> & {\n Edit?: ({\n cell,\n tableInstance,\n }: // onChange,\n {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n // onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n }) => ReactNode;\n Filter?: ({\n // onChange,\n header,\n tableInstance,\n }: {\n // onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Footer?: ({\n footer,\n tableInstance,\n }: {\n footer: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Header?: ({\n header,\n tableInstance,\n }: {\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Cell?: ({\n cell,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n id: keyof D | string;\n columns?: MRT_ColumnInterface<D>[];\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableEditing?: boolean;\n enabledFilterTypes?: (MRT_FILTER_TYPE | string)[];\n filter?: MRT_FilterType | string | FilterType<D>;\n filterSelectOptions?: (string | { text: string; value: string })[];\n footer?: string;\n header: string;\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TableCellProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TableCellProps);\n onCellEditChange?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onColumnFilterValueChange?: ({\n event,\n filterValue,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n filterValue: any;\n }) => void;\n};\n\nexport type MRT_ColumnInstance<D extends Record<string, any> = {}> = Omit<\n Column<D>,\n 'header' | 'footer' | 'columns'\n> &\n MRT_ColumnInterface<D> & {\n columns?: MRT_ColumnInstance<D>[];\n };\n\nexport type MRT_Header<D extends Record<string, any> = {}> = Omit<\n Header<D>,\n 'column'\n> & {\n column: MRT_ColumnInstance<D>;\n};\n\nexport type MRT_HeaderGroup<D extends Record<string, any> = {}> = Omit<\n HeaderGroup<D>,\n 'headers'\n> & {\n headers: MRT_Header<D>[];\n};\n\nexport type MRT_Row<D extends Record<string, any> = {}> = Omit<\n Row<D>,\n | 'getVisibleCells'\n | 'getAllCells'\n | 'subRows'\n | 'original'\n | 'getLeftVisibleCells'\n | 'getRightVisibleCells'\n | 'getCenterVisibleCells'\n> & {\n getAllCells: () => MRT_Cell<D>[];\n getCenterVisibleCells: () => MRT_Cell<D>[];\n getLeftVisibleCells: () => MRT_Cell<D>[];\n getRightVisibleCells: () => MRT_Cell<D>[];\n getVisibleCells: () => MRT_Cell<D>[];\n subRows?: MRT_Row<D>[];\n original: D;\n};\n\nexport type MRT_Cell<D extends Record<string, any> = {}> = Omit<\n Cell<D>,\n 'column' | 'row'\n> & {\n column: MRT_ColumnInstance<D>;\n row: MRT_Row<D>;\n};\n\nexport type MRT_FilterType = MRT_FILTER_TYPE | Function;\n\nexport type MaterialReactTableProps<D extends Record<string, any> = {}> =\n MRT_TableOptions<D> & {\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableColumnPinning?: boolean;\n enableDensePaddingToggle?: boolean;\n enableExpandAll?: boolean;\n enableFullScreenToggle?: boolean;\n enablePagination?: boolean;\n enableRowActions?: boolean;\n enableStickyHeader?: boolean;\n enableRowEditing?: boolean;\n enableRowNumbers?: boolean;\n enableSelectAll?: boolean;\n enabledGlobalFilterTypes?: (MRT_FILTER_TYPE | string)[];\n filterTypes?: { [key in MRT_FILTER_TYPE]: any };\n hideTableFooter?: boolean;\n hideTableHead?: boolean;\n hideToolbarBottom?: boolean;\n hideToolbarInternalActions?: boolean;\n hideToolbarTop?: boolean;\n icons?: Partial<MRT_Icons>;\n idPrefix?: string;\n isReloading?: boolean;\n isLoading?: boolean;\n localization?: Partial<MRT_Localization>;\n muiLinearProgressProps?:\n | LinearProgressProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => LinearProgressProps);\n muiSearchTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TextFieldProps);\n muiSelectCheckboxProps?:\n | CheckboxProps\n | (({\n tableInstance,\n isSelectAll,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n isSelectAll: boolean;\n row?: MRT_Row<D>;\n }) => CheckboxProps);\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TableCellProps);\n muiTableBodyCellSkeletonProps?:\n | SkeletonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => SkeletonProps);\n muiTableBodyProps?:\n | TableBodyProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableBodyProps);\n muiTableBodyRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n row: MRT_Row<D>;\n }) => TableRowProps);\n muiTableContainerProps?:\n | TableContainerProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableContainerProps);\n muiTableDetailPanelProps?:\n | TableCellProps\n | (({\n tableInstance,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n row: MRT_Row<D>;\n }) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TableCellProps);\n muiTableFooterProps?:\n | TableFooterProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableFooterProps);\n muiTableFooterRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n footerGroup,\n }: {\n tableInstance: MRT_TableInstance;\n footerGroup: MRT_HeaderGroup<D>;\n }) => TableRowProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_ColumnInstance<D>;\n }) => TableCellProps);\n muiTableHeadProps?:\n | TableHeadProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableHeadProps);\n muiTableHeadRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n headerGroup,\n }: {\n tableInstance: MRT_TableInstance;\n headerGroup: MRT_HeaderGroup<D>;\n }) => TableRowProps);\n muiTablePaperProps?:\n | PaperProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => PaperProps);\n muiTablePaginationProps?:\n | Partial<TablePaginationProps>\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => Partial<TablePaginationProps>);\n muiTableProps?:\n | TableProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableProps);\n muiTableToolbarAlertBannerProps?:\n | AlertProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => AlertProps);\n muiTableToolbarBottomProps?:\n | ToolbarProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => ToolbarProps);\n muiTableToolbarTopProps?:\n | ToolbarProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => ToolbarProps);\n onCellClick?: ({\n cell,\n event,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n event: MouseEvent<HTMLTableCellElement>;\n }) => void;\n onColumnHide?: ({\n column,\n columnVisibility,\n tableInstance,\n }: {\n column: MRT_ColumnInstance<D>;\n columnVisibility: VisibilityState;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onDetailPanelClick?: ({\n event,\n row,\n tableInstance,\n }: {\n event: MouseEvent<HTMLTableCellElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onGlobalFilterChange?: ({\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onRowClick?: ({\n event,\n row,\n tableInstance,\n }: {\n event: MouseEvent<HTMLTableRowElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onRowEditSubmit?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => Promise<void> | void;\n onRowExpandChange?: ({\n event,\n row,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onSelectAllChange?: ({\n event,\n selectedRows,\n tableInstance,\n }: {\n event: ChangeEvent;\n selectedRows: MRT_Row<D>[];\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onSelectChange?: ({\n event,\n row,\n selectedRows,\n tableInstance,\n }: {\n event: ChangeEvent;\n row: MRT_Row<D>;\n selectedRows: MRT_Row<D>[];\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n positionActionsColumn?: 'first' | 'last';\n positionPagination?: 'bottom' | 'top' | 'both';\n positionToolbarActions?: 'bottom' | 'top';\n positionToolbarAlertBanner?: 'bottom' | 'top';\n renderDetailPanel?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderRowActionMenuItems?: ({\n closeMenu,\n row,\n tableInstance,\n }: {\n closeMenu: () => void;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode[];\n renderRowActions?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderToolbarCustomActions?: ({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderToolbarInternalActions?: ({\n tableInstance,\n MRT_ToggleSearchButton,\n MRT_ToggleFiltersButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_FullScreenToggleButton,\n }: {\n tableInstance: MRT_TableInstance<D>;\n MRT_ToggleSearchButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleFiltersButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ShowHideColumnsButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleDensePaddingButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_FullScreenToggleButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n }) => ReactNode;\n };\n\nexport default <D extends Record<string, any> = {}>({\n enableColumnActions = true,\n enableColumnFilters = true,\n enableDensePaddingToggle = true,\n enableExpandAll = true,\n enableFullScreenToggle = true,\n enableGlobalFilter = true,\n enableHiding = true,\n enablePagination = true,\n enableSelectAll = true,\n enableSorting = true,\n enableStickyHeader = true,\n filterTypes,\n icons,\n localization,\n positionActionsColumn = 'first',\n positionPagination = 'bottom',\n positionToolbarActions = 'top',\n positionToolbarAlertBanner = 'top',\n ...rest\n}: MaterialReactTableProps<D>) => (\n <MRT_TableRoot\n enableColumnActions={enableColumnActions}\n enableColumnFilters={enableColumnFilters}\n enableDensePaddingToggle={enableDensePaddingToggle}\n enableExpandAll={enableExpandAll}\n enableFullScreenToggle={enableFullScreenToggle}\n enableGlobalFilter={enableGlobalFilter}\n enableHiding={enableHiding}\n enablePagination={enablePagination}\n enableSelectAll={enableSelectAll}\n enableSorting={enableSorting}\n enableStickyHeader={enableStickyHeader}\n icons={{ ...MRT_Default_Icons, ...icons }}\n localization={{ ...MRT_DefaultLocalization_EN, ...localization }}\n positionActionsColumn={positionActionsColumn}\n positionPagination={positionPagination}\n positionToolbarActions={positionToolbarActions}\n positionToolbarAlertBanner={positionToolbarAlertBanner}\n {...rest}\n />\n);\n"],"names":["MRT_FILTER_TYPE","MRT_DefaultLocalization_EN","actions","cancel","changeFilterMode","changeSearchMode","clearFilter","clearSearch","clearSort","clickToCopy","columnActions","copiedToClipboard","edit","expand","expandAll","filterBestMatch","filterBestMatchFirst","filterByColumn","filterContains","filterEmpty","filterEndsWith","filterEquals","filterGreaterThan","filterLessThan","filterMode","filterNotEmpty","filterNotEquals","filterStartsWith","filteringByColumn","groupByColumn","groupedBy","hideAll","hideColumn","pinToLeft","pinToRight","rowActions","rowNumbers","save","search","selectedCountOfRowCountRowsSelected","select","showAll","showAllColumns","showHideColumns","showHideFilters","showHideSearch","sortByColumnAsc","sortByColumnDesc","thenBy","toggleDensePadding","toggleFullScreen","toggleSelectAll","toggleSelectRow","ungroupByColumn","unpin","MRT_Default_Icons","ArrowRightIcon","CancelIcon","CheckBoxIcon","ClearAllIcon","CloseIcon","DensityMediumIcon","DensitySmallIcon","DoubleArrowDownIcon","DynamicFeedIcon","EditIcon","ExpandLessIcon","ExpandMoreIcon","FilterAltIcon","FilterAltOff","FilterListIcon","FilterListOffIcon","FullscreenExitIcon","FullscreenIcon","MoreHorizIcon","MoreVertIcon","PushPinIcon","SaveIcon","SearchIcon","SearchOffIcon","SortIcon","ViewColumnIcon","VisibilityOffIcon","MRT_ExpandAllButton","tableInstance","getIsAllRowsExpanded","getIsSomeRowsExpanded","options","icons","isLoading","localization","toggleAllRowsExpanded","isDensePadding","getState","React","IconButton","disabled","title","onClick","sx","height","width","style","transform","transition","MRT_ExpandButton","row","onRowExpandChange","renderDetailPanel","getCanExpand","event","toggleExpanded","getIsExpanded","bestMatchFirst","rows","columnIds","filterValue","matchSorter","toString","trim","keys","Array","isArray","map","c","autoRemove","val","bestMatch","sorter","rankedItems","contains","id","filter","values","toLowerCase","includes","startsWith","endsWith","equals","notEquals","greaterThan","isNaN","lessThan","empty","_filterValue","notEmpty","defaultFilterFNs","commonMenuItemStyles","py","my","alignItems","MRT_FilterTypeMenu","anchorEl","header","onSelect","setAnchorEl","enabledGlobalFilterTypes","setCurrentFilterTypes","setCurrentGlobalFilterType","currentFilterTypes","currentGlobalFilterType","filterTypes","useMemo","type","BEST_MATCH_FIRST","label","divider","fn","BEST_MATCH","CONTAINS","STARTS_WITH","ENDS_WITH","EQUALS","NOT_EQUALS","GREATER_THAN","LESS_THAN","EMPTY","NOT_EMPTY","filterType","column","enabledFilterTypes","Menu","anchorOrigin","vertical","horizontal","onClose","open","MenuListProps","dense","index","MenuItem","key","value","prev","setColumnFilterValue","selected","MRT_ShowHideColumnsMenuItems","isSubMenu","onColumnHide","columnVisibility","switchChecked","columnDefType","getIsVisible","getLeafColumns","some","col","pl","depth","FormControlLabel","componentsProps","typography","marginBottom","checked","control","Switch","enableHiding","onChange","columns","forEach","childColumn","toggleVisibility","handleToggleColumnHidden","_column$columns2","i","MRT_ShowHideColumnsMenu","getAllColumns","getIsAllColumnsVisible","getIsSomeColumnsVisible","getIsSomeColumnsPinned","toggleAllColumnsVisible","getAllLeafColumns","allDisplayColumns","allDataColumns","dataColumns","getIsPinned","columnPinning","Box","display","justifyContent","p","pt","Button","Divider","commonListItemStyles","MRT_ColumnActionMenu","setColumnOrder","enableColumnFilters","enableColumnPinning","enableGrouping","enableSorting","idPrefix","setShowFilters","useState","filterMenuAnchorEl","setFilterMenuAnchorEl","showHideColumnsMenuAnchorEl","setShowHideColumnsMenuAnchorEl","handlePinColumn","pinDirection","pin","handleFilterByColumn","setTimeout","document","getElementById","muiTableHeadCellFilterTextFieldProps","_header$muiTableHeadC2","_document$getElementB","focus","handleOpenFilterModeMenu","stopPropagation","currentTarget","handleOpenShowHideColumnsMenu","getCanSort","getIsSorted","resetSorting","ListItemIcon","toggleSorting","_localization$sortByC","replace","String","_localization$sortByC2","getCanColumnFilter","getColumnFilterValue","_localization$filterB","filterSelectOptions","onMouseEnter","size","getCanGroup","toggleGrouping","old","getIsGrouped","_localization","getCanPin","_localization$hideCol","Object","visible","length","_localization$showAll","MRT_RowActionMenu","handleEdit","enableRowEditing","renderRowActionMenuItems","closeMenu","MRT_EditActionButtons","onRowEditSubmit","setCurrentEditingRow","currentEditingRow","gap","Tooltip","arrow","original","color","commonIconButtonStyles","ml","opacity","MRT_ToggleRowActionMenuButton","renderRowActions","placement","enterDelay","enterNextDelay","preventDefault","MRT_SelectCheckbox","selectAll","getRowModel","getSelectedRowModel","getToggleAllRowsSelectedProps","muiSelectCheckboxProps","onSelectChange","onSelectAllChange","mTableBodyRowSelectCheckboxProps","Function","isSelectAll","checkboxProps","getToggleSelectedProps","Checkbox","inputProps","selectedRows","target","flatRows","selectedRow","undefined","MRT_SearchTextField","setGlobalFilter","muiSearchTextFieldProps","onGlobalFilterChange","globalFilter","showSearch","searchValue","setSearchValue","handleChange","useCallback","debounce","textFieldProps","Collapse","orientation","TextField","placeholder","variant","InputProps","startAdornment","InputAdornment","position","fontSize","endAdornment","justifySelf","MRT_FullScreenToggleButton","rest","setIsFullScreen","isFullScreen","MRT_ShowHideColumnsButton","MRT_ToggleDensePaddingButton","setIsDensePadding","MRT_ToggleFiltersButton","showFilters","MRT_ToggleSearchButton","setShowSearch","MRT_ToolbarInternalButtons","enableDensePaddingToggle","enableGlobalFilter","enableFullScreenToggle","renderToolbarInternalActions","MRT_TablePagination","getPrePaginationRowModel","setPageIndex","setPageSize","muiTablePaginationProps","pagination","pageSize","pageIndex","tablePaginationProps","showFirstLastPageButtons","TablePagination","SelectProps","m","component","count","onPageChange","_","newPage","onRowsPerPageChange","page","rowsPerPage","rowsPerPageOptions","showFirstButton","showLastButton","zIndex","MRT_ToolbarAlertBanner","toggleColumnGrouping","muiTableToolbarAlertBannerProps","positionToolbarActions","positionToolbarAlertBanner","renderToolbarCustomActions","grouping","isMobile","useMediaQuery","alertProps","selectMessage","_localization$selecte","_localization$selecte2","groupedByMessage","columnId","Fragment","Chip","find","_tableInstance$getAll","onDelete","displayAbsolute","timeout","Alert","icon","borderRadius","left","right","minHeight","top","MRT_LinearProgressBar","muiLinearProgressProps","isReloading","linearProgressProps","unmountOnExit","LinearProgress","commonToolbarStyles","theme","backgroundColor","palette","background","backgroundImage","alpha","common","white","MRT_ToolbarTop","enablePagination","hideToolbarInternalActions","muiTableToolbarTopProps","positionPagination","toolbarProps","Toolbar","MRT_ToolbarBottom","muiTableToolbarBottomProps","bottom","boxShadow","black","MRT_FilterTextField","setFilterValue","Filter","filterId","isSelectFilter","filterChipLabel","charAt","toUpperCase","slice","filterPlaceholder","fullWidth","textOverflow","helperText","htmlFor","name","FormHelperTextProps","lineHeight","margin","e","disableHoverListener","minWidth","mt","mr","_column$filterSelectO","option","text","MRT_ToggleColumnActionMenuButton","muiTableHeadCellColumnActionsButtonProps","iconButtonProps","MRT_TableHeadCell","enableColumnActions","enableColumnResizing","muiTableHeadCellProps","mTableHeadCellProps","mcTableHeadCellProps","tableCellProps","getHeaderProps","sortTooltip","_getState2","_getState2$currentFil","filterTooltip","headerElement","Header","TableCell","align","fontWeight","getWidth","pb","verticalAlign","isPlaceholder","getToggleSortingProps","cursor","flexWrap","whiteSpace","TableSortLabel","active","direction","disableRipple","flexItem","onDoubleClick","resetSize","borderRightWidth","maxHeight","userSelect","touchAction","secondary","dark","getResizerProps","props","getIsResizing","columnSizingInfo","deltaOffset","MRT_TableHeadRow","headerGroup","muiTableHeadRowProps","mTableHeadRowProps","tableRowProps","getHeaderGroupProps","TableRow","headers","MRT_TableHead","pinned","getCenterHeaderGroups","getHeaderGroups","getLeftHeaderGroups","getRightHeaderGroups","muiTableHeadProps","tableHeadProps","getHeaderGroupsMap","center","none","TableHead","MRT_EditCellTextField","cell","muiTableBodyCellEditTextFieldProps","enableEditing","Edit","onCellEditChange","MRT_CopyButton","children","muiTableBodyCellCopyButtonProps","copied","setCopied","buttonProps","navigator","clipboard","writeText","border","fontFamily","letterSpacing","textAlign","textTransform","MRT_TableBodyCell","enableClickToCopy","muiTableBodyCellProps","muiTableBodyCellSkeletonProps","onCellClick","mTableCellBodyProps","mcTableCellBodyProps","getCellProps","skeletonWidth","Math","random","Skeleton","animation","Cell","getIsPlaceholder","groupingColumnId","getIsAggregated","renderAggregatedCell","renderCell","subRows","_row$subRows","_row$subRows2","MRT_TableDetailPanel","getVisibleFlatColumns","muiTableBodyRowProps","muiTableDetailPanelProps","onDetailPanelClick","colSpan","borderBottom","MRT_TableBodyRow","onRowClick","getCenterVisibleCells","getIsSelected","getLeftVisibleCells","getRightVisibleCells","getRowProps","getVisibleCells","mTableBodyRowProps","getVisibleCellsMap","hover","MRT_TableBody","getTableBodyProps","muiTableBodyProps","getPaginationRowModel","mTableBodyProps","tableBodyProps","TableBody","MRT_TableFooterCell","footer","muiTableFooterCellProps","mTableFooterCellProps","mcTableFooterCellProps","getFooterProps","Footer","MRT_TableFooterRow","footerGroup","muiTableFooterRowProps","_footerGroup$headers","h","columnDef","mTableFooterRowProps","getFooterGroupProps","MRT_TableFooter","getCenterFooterGroups","getFooterGroups","getLeftFooterGroups","getRightFooterGroups","muiTableFooterProps","tableFooterProps","getFooterGroupsMap","TableFooter","MRT_Table","getTableProps","enableStickyHeader","hideTableFooter","hideTableHead","muiTableProps","mTableProps","tableProps","Table","stickyHeader","commonBoxStyles","overflowX","MRT_TableContainer","getCenterTableWidth","getLeftTableWidth","getRightTableWidth","muiTableContainerProps","totalToolbarHeight","setTotalToolbarHeight","tableContainerProps","useLayoutEffect","topToolbarHeight","_document","_document$getElementB2","offsetHeight","bottomToolbarHeight","_document2","_document2$getElement","TableContainer","maxWidth","overflow","gridTemplateColumns","_columnPinning$left","_columnPinning$right","MRT_TablePaper","hideToolbarBottom","hideToolbarTop","muiTablePaperProps","useEffect","window","body","tablePaperProps","Paper","elevation","overflowY","getAllLeafColumnDefs","lowestLevelColumns","currentCols","_currentCols","nextCols","flat","every","createDataColumn","table","createDisplayColumn","MRT_TableRoot","substring","initialState","_props$initialState","_props$initialState2","_props$initialState3","_props$initialState4","_props$initialState5","_props$initialState5$","_props$initialState6","_props$initialState6$","pageCount","_props$initialState7","_props$initialState7$","setPagination","assign","_props$initialState8","columnFilters","_props$initialState8$","_c$filterSelectOption","globalFilterType","createTable","displayColumns","enableRowActions","_props$localization","enableExpanded","enableExpandAll","_props$localization2","enableRowSelection","enableSelectAll","_props$localization3","enableRowNumbers","_props$localization4","Boolean","createColumns","createGroup","_column$columns","data","fill","useTable","columnFilterRowsFn","expandRowsFn","getSubRows","originalRow","globalFilterRowsFn","groupRowsFn","onPaginationChange","updater","functionalUpdate","paginateRowsFn","sortRowsFn","state","positionActionsColumn"],"mappings":"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"}
|