mui-universal-table 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -220,6 +220,14 @@ function getComparator(order, orderBy) {
220
220
  return -descendingComparator(a, b, orderBy);
221
221
  };
222
222
  }
223
+ var browserDateTimeFormatter = new Intl.DateTimeFormat(undefined, {
224
+ year: "numeric",
225
+ month: "short",
226
+ day: "numeric",
227
+ hour: "numeric",
228
+ minute: "2-digit",
229
+ hour12: true
230
+ });
223
231
 
224
232
  /**
225
233
  * Format a cell value for display. Handles dates safely:
@@ -244,11 +252,7 @@ function formatCellValue(header, rowValues) {
244
252
  if (Number.isNaN(d.getTime())) {
245
253
  return raw;
246
254
  }
247
- return d.toDateString() + " " + d.toLocaleTimeString("en-US", {
248
- hour: "numeric",
249
- minute: "2-digit",
250
- hour12: true
251
- });
255
+ return browserDateTimeFormatter.format(d);
252
256
  }
253
257
  function stableSort(array, comparator, headers) {
254
258
  var dateColumns = new Set(headers.filter(function (object) {
@@ -716,7 +720,8 @@ function EnhancedTableHead(props) {
716
720
  }, /*#__PURE__*/React.createElement(TableSortLabel, {
717
721
  active: orderBy === headCell.id,
718
722
  direction: orderBy === headCell.id ? order : "asc",
719
- onClick: createSortHandler(headCell.id)
723
+ onClick: createSortHandler(headCell.id),
724
+ disabled: headCell.subRow
720
725
  }, headCell.label, orderBy === headCell.id ? /*#__PURE__*/React.createElement(Box, {
721
726
  component: "span",
722
727
  sx: visuallyHidden
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/components/LazyLoadingIndicator.jsx","../src/utils/tableUtils.js","../src/hooks/useSearchableRows.js","../src/hooks/useSelectableRows.js","../src/components/TableSelectionBanner.jsx","../src/components/TableTitle.jsx","../src/components/ReloadBtn.jsx","../src/components/FancySearch.jsx","../src/components/SearchArea.jsx","../src/components/TableToolbarContent.jsx","../src/hooks/useEnhancedTableState.js","../src/components/EnhancedTableHead.jsx","../src/components/SubTableRow.jsx","../src/components/DataRow.jsx","../src/components/TableLoader.jsx","../src/components/EnhancedTable.jsx","../src/UniversalTable.jsx"],"sourcesContent":["import React from \"react\";\nimport { Box, LinearProgress, Typography, Collapse } from \"@mui/material\";\nimport PropTypes from \"prop-types\";\n\nconst LazyLoadingIndicator = ({ show, currentPage, totalPages }) => {\n return (\n <Collapse in={show} timeout=\"auto\" unmountOnExit>\n <Box sx={{ width: \"100%\", p: 2 }}>\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mb: 1 }}>\n Loading page {currentPage} of {totalPages}...\n </Typography>\n <LinearProgress\n variant=\"determinate\"\n value={(currentPage / totalPages) * 100}\n />\n </Box>\n </Collapse>\n );\n};\n\nLazyLoadingIndicator.propTypes = {\n show: PropTypes.bool.isRequired,\n currentPage: PropTypes.number,\n totalPages: PropTypes.number,\n};\n\nexport default LazyLoadingIndicator;\n","/**\n * Standard visually-hidden style: content is accessible to screen readers\n * but invisible on screen. Defined locally to avoid importing from\n * @mui/utils which is not a declared peer dependency.\n */\nexport const visuallyHidden = {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: -1,\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n};\n\nexport function getSelectableRowId(row, index, selectID) {\n return selectID ? row[selectID] : index;\n}\n\nexport function getSearchableColumnIds(headers) {\n return headers\n .filter((column) => column.searchable)\n .map((column) => column.id);\n}\n\nexport function filterRows(data, searchTerm, filterOptions) {\n if (!searchTerm) {\n return data;\n }\n\n const term = searchTerm.toLocaleLowerCase();\n return data.filter((row) =>\n filterOptions.some((filterOption) =>\n String(row[filterOption]).toLocaleLowerCase().includes(term),\n ),\n );\n}\n\nexport function getPageOptions(rowCount) {\n if (rowCount <= 5) return [5];\n if (rowCount <= 10) return [5, rowCount];\n if (rowCount <= 25) return [5, 10, rowCount];\n if (rowCount < 50) return [5, 10, 25, rowCount];\n if (rowCount < 100) return [5, 10, 25, 50, rowCount];\n return [5, 10, 25, 50, 100, rowCount];\n}\n\nexport function splitHeaders(headers) {\n return headers.reduce(\n (groups, header) => {\n if (header.subRow) {\n groups.subTables.push(header);\n } else {\n groups.columns.push(header);\n }\n\n return groups;\n },\n { subTables: [], columns: [] },\n );\n}\n\nexport function descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nexport function getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\n/**\n * Format a cell value for display. Handles dates safely:\n * returns the raw value for non-date headers, and a formatted\n * date string for date headers (guards against invalid dates).\n *\n * Uses `new Date(raw)` directly rather than `Date.parse(raw)` to\n * handle epoch-millisecond numbers, Date objects, and string\n * formats that Date.parse may reject.\n */\nexport function formatCellValue(header, rowValues) {\n const raw = rowValues[header.id];\n if (!header.date) {\n return raw;\n }\n\n // null and undefined produce a valid epoch-0 Date, not Invalid Date\n if (raw === null || raw === undefined) {\n return raw;\n }\n\n const d = new Date(raw);\n if (Number.isNaN(d.getTime())) {\n return raw;\n }\n\n return d.toDateString() + \" \" + d.toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n });\n}\n\nexport function stableSort(array, comparator, headers) {\n const dateColumns = new Set(\n headers.filter((object) => object.date).map((value) => value.id),\n );\n\n // Build stable entries — compare pre-computed sort keys so we never\n // mutate the original data or its shallow copies.\n // Each entry is [originalRow, sortKey, index] so that the comparator\n // works on numeric-converted date values while the original rows are\n // returned unchanged (preserving the data seen by header.component).\n const stabilizedThis = array.map((el, index) => {\n const sortKey = { ...el };\n for (const property in sortKey) {\n if (dateColumns.has(property)) {\n const parsed = Number(new Date(sortKey[property]));\n // Preserve the original value for invalid dates so formatCellValue\n // can display the fallback instead of passing NaN to React children.\n if (!Number.isNaN(parsed)) {\n sortKey[property] = parsed;\n }\n }\n }\n return [el, sortKey, index];\n });\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[1], b[1]);\n if (order !== 0) return order;\n return a[2] - b[2];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\n\n","import React from \"react\";\nimport { getSearchableColumnIds, filterRows } from \"../utils/tableUtils\";\n\nexport default function useSearchableRows(data, headers) {\n const [searchTerm, setSearchTerm] = React.useState(\"\");\n\n const filterOptions = React.useMemo(\n () => getSearchableColumnIds(headers),\n [headers],\n );\n\n const rows = React.useMemo(\n () => filterRows(data, searchTerm, filterOptions),\n [data, filterOptions, searchTerm],\n );\n\n return {\n rows,\n searchTerm,\n setSearchTerm,\n };\n}\n","import React from \"react\";\nimport { getSelectableRowId } from \"../utils/tableUtils\";\n\nexport default function useSelectableRows({ rows, selectRows, selectID }) {\n const [selected, setSelected] = React.useState([]);\n\n const clearSelection = React.useCallback(() => {\n setSelected([]);\n }, []);\n\n const handleSelectAllClick = React.useCallback(\n (event) => {\n if (!event.target.checked) {\n setSelected([]);\n return;\n }\n\n const newSelected = rows.map((row, index) =>\n getSelectableRowId(row, index, selectID),\n );\n setSelected(newSelected);\n },\n [rows, selectID],\n );\n\n const handleClick = React.useCallback(\n (event, id) => {\n if (!selectRows) {\n return;\n }\n\n setSelected((previous) =>\n previous.includes(id)\n ? previous.filter((selectedId) => selectedId !== id)\n : [...previous, id],\n );\n },\n [selectRows],\n );\n\n return {\n selected,\n clearSelection,\n handleSelectAllClick,\n handleClick,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Collapse, IconButton, Typography } from \"@mui/material\";\nimport { alpha } from \"@mui/material/styles\";\nimport { Task } from \"@mui/icons-material\";\n\nfunction TableSelectionBanner({ selected, onSelection, selectIcon }) {\n return (\n <Collapse in={selected.length > 0} unmountOnExit>\n <Box\n sx={{\n p: 2,\n display: \"flex\",\n justifyContent: \"space-between\",\n bgcolor: (theme) =>\n alpha(\n theme.palette.primary.main,\n theme.palette.action.activatedOpacity,\n ),\n borderRadius: 1,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n }}\n >\n <Typography variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {selected.length} selected\n </Typography>\n\n <IconButton onClick={() => onSelection(selected)}>\n {selectIcon || <Task />}\n </IconButton>\n </Box>\n </Collapse>\n );\n}\n\nTableSelectionBanner.propTypes = {\n selected: PropTypes.array.isRequired,\n onSelection: PropTypes.func,\n selectIcon: PropTypes.element,\n};\n\nexport default TableSelectionBanner;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Typography } from \"@mui/material\";\n\nfunction TableTitle({ name, subTable }) {\n return (\n <Typography\n variant={subTable ? \"h6\" : \"h5\"}\n color={subTable ? \"secondary\" : \"primary\"}\n sx={{ p: 2 }}\n >\n {name}\n </Typography>\n );\n}\n\nTableTitle.propTypes = {\n name: PropTypes.string,\n subTable: PropTypes.bool,\n};\n\nexport default TableTitle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Button, Tooltip } from \"@mui/material\";\nimport RefreshIcon from \"@mui/icons-material/Refresh\";\n\nfunction ReloadBtn({ setLoading, loading, onReload }) {\n const canReload = typeof onReload === \"function\" || typeof setLoading === \"function\";\n\n if (!canReload) {\n return null;\n }\n\n const handleClick = () => {\n if (typeof onReload === \"function\") {\n onReload();\n } else if (typeof setLoading === \"function\") {\n setLoading(true);\n }\n };\n\n return (\n <Tooltip title=\"Reload\">\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={handleClick}\n disabled={loading}\n >\n <RefreshIcon />\n </Button>\n </Tooltip>\n );\n}\n\nReloadBtn.propTypes = {\n setLoading: PropTypes.func,\n loading: PropTypes.bool,\n /** Preferred callback — fires when the user clicks reload. */\n onReload: PropTypes.func,\n};\n\nexport default ReloadBtn;\n","import React from \"react\";\nimport {\n Collapse,\n Divider,\n IconButton,\n InputBase,\n Paper,\n Stack,\n} from \"@mui/material\";\nimport { Clear, Search } from \"@mui/icons-material\";\nimport PropTypes from \"prop-types\";\n\nexport default function FancySearch({ value, onSubmit }) {\n const [search, setSearch] = React.useState(value);\n const [hover, setHover] = React.useState(Boolean(search));\n const expanded = hover || Boolean(search);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit(search);\n };\n\n const handleEndHover = () => {\n setHover(false);\n };\n\n // Sync internal state when the parent clears/changes the search term.\n // A ref tracks whether this sync came from the user typing or from a parent\n // update, so the debounce only fires for genuine user input.\n const isUserType = React.useRef(false);\n\n React.useEffect(() => {\n if (isUserType.current) {\n // User is typing — debounce as normal\n isUserType.current = false;\n const timer = setTimeout(() => {\n onSubmit(search);\n }, 700);\n return () => clearTimeout(timer);\n }\n // External value change (parent reset, clear from clearSelection, etc.)\n // — sync state and do NOT fire a stale debounce.\n setSearch(value);\n return undefined;\n }, [search, value, onSubmit]);\n\n return (\n <form onSubmit={handleSubmit}>\n <Paper\n elevation={0}\n sx={{\n borderRadius: expanded ? \"24px\" : \"50px\",\n display: \"flex\",\n alignItems: \"center\",\n transition: \"all 0.5s ease-in-out\",\n p: expanded ? 1 : 0.5,\n width: \"fit-content\",\n border: (theme) => `1px solid ${theme.palette.divider}`,\n mb: 1,\n }}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={handleEndHover}\n onKeyDown={(e) => e.key === \"Enter\" && handleSubmit(e)}\n >\n <InputBase\n placeholder=\"Search\"\n value={search}\n onChange={(e) => {\n isUserType.current = true;\n setSearch(e.target.value);\n }}\n sx={{\n ml: 1,\n width: expanded ? \"100%\" : 0,\n transition: \"width 0.5s ease-in-out\",\n ...(expanded ? {} : { margin: 0 }),\n }}\n onBlur={handleEndHover}\n />\n\n <Collapse\n in={Boolean(search)}\n orientation=\"horizontal\"\n unmountOnExit\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n spacing={0}\n sx={{ mr: 3 }}\n >\n <IconButton\n onClick={() => {\n isUserType.current = false;\n setSearch(\"\");\n // Immediately clear instead of waiting for the debounce\n onSubmit(\"\");\n }}\n >\n <Clear />\n </IconButton>\n <Divider orientation=\"vertical\" flexItem />\n </Stack>\n </Collapse>\n\n <IconButton onClick={handleSubmit} type=\"submit\">\n <Search />\n </IconButton>\n </Paper>\n </form>\n );\n}\n\nFancySearch.propTypes = {\n value: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport FancySearch from \"./FancySearch\";\n\nfunction SearchArea(props) {\n const { current, setFinalVal, searchName, persistSearch } = props;\n\n const searchVal = React.useMemo(() => {\n if (current !== undefined && current !== null) return current;\n if (persistSearch && searchName) {\n return sessionStorage.getItem(`searchVal:${searchName}`) ?? \"\";\n }\n return \"\";\n }, [current, persistSearch, searchName]);\n\n return (\n <div key=\"SearchArea\">\n <FancySearch value={searchVal} onSubmit={setFinalVal} />\n </div>\n );\n}\n\nSearchArea.propTypes = {\n current: PropTypes.string,\n setFinalVal: PropTypes.func.isRequired,\n searchName: PropTypes.string,\n /** Persist search term to sessionStorage (requires searchName). Default: false */\n persistSearch: PropTypes.bool,\n};\n\nexport default SearchArea;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Stack, Toolbar } from \"@mui/material\";\nimport ReloadBtn from \"./ReloadBtn\";\nimport SearchArea from \"./SearchArea\";\n\nfunction TableToolbarContent({\n setLoading,\n onReload,\n reloadBtnLoading,\n searchTerm,\n onSearchChange,\n name,\n persistSearch,\n}) {\n return (\n <Toolbar\n sx={{\n pl: { sm: 2 },\n pr: { xs: 1, sm: 1 },\n pt: 2,\n }}\n >\n <Stack\n spacing={2}\n direction={{ xs: \"column\", md: \"row\" }}\n sx={{\n width: \"100%\",\n alignItems: { xs: \"flex-start\", md: \"center\" },\n }}\n >\n <Box sx={{ flex: \"1 1 100%\" }} id=\"tableTitle\">\n <ReloadBtn setLoading={setLoading} onReload={onReload} loading={reloadBtnLoading} />\n </Box>\n <SearchArea\n current={searchTerm}\n setFinalVal={onSearchChange}\n searchName={name}\n persistSearch={persistSearch}\n />\n </Stack>\n </Toolbar>\n );\n}\n\nTableToolbarContent.propTypes = {\n setLoading: PropTypes.func,\n onReload: PropTypes.func,\n reloadBtnLoading: PropTypes.bool,\n searchTerm: PropTypes.string,\n onSearchChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n persistSearch: PropTypes.bool,\n};\n\nexport default TableToolbarContent;\n","import React from \"react\";\n\nexport default function useEnhancedTableState({ rows, subTable, resetFlag }) {\n const [order, setOrder] = React.useState(\"asc\");\n const [orderBy, setOrderBy] = React.useState(\"\");\n const [pagination, setPagination] = React.useState(() => ({\n page: 0,\n rowsPerPage: subTable ? rows.length : 5,\n resetFlag,\n }));\n\n React.useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setPagination((previous) => {\n if (previous.resetFlag === resetFlag) {\n return previous;\n }\n\n return {\n ...previous,\n page: 0,\n resetFlag,\n };\n });\n }, [resetFlag]);\n\n const page = pagination.page;\n const rowsPerPage = subTable ? rows.length : pagination.rowsPerPage;\n\n const handleRequestSort = React.useCallback(\n (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n },\n [order, orderBy],\n );\n\n const handleChangePage = React.useCallback(\n (event, newPage) => {\n setPagination((previous) => ({\n ...previous,\n page: newPage,\n }));\n },\n [],\n );\n\n const handleChangeRowsPerPage = React.useCallback(\n (event) => {\n setPagination((previous) => ({\n ...previous,\n page: 0,\n rowsPerPage: Number.parseInt(event.target.value, 10),\n }));\n },\n [],\n );\n\n return {\n order,\n orderBy,\n page,\n rowsPerPage,\n handleRequestSort,\n handleChangePage,\n handleChangeRowsPerPage,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Checkbox, TableCell, TableHead, TableRow, TableSortLabel } from \"@mui/material\";\nimport { visuallyHidden } from \"../utils/tableUtils\";\n\nfunction EnhancedTableHead(props) {\n const {\n order,\n orderBy,\n onRequestSort,\n selectRows,\n numSelected,\n rowCount,\n onSelectAllClick,\n } = props;\n\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n <TableHead>\n <TableRow>\n {selectRows && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n color=\"primary\"\n indeterminate={numSelected > 0 && numSelected < rowCount}\n checked={rowCount > 0 && numSelected === rowCount}\n onChange={onSelectAllClick}\n />\n </TableCell>\n )}\n {props.headings.map((headCell) => (\n <TableCell\n key={headCell.id}\n align={headCell.numeric ? \"right\" : \"left\"}\n padding=\"normal\"\n sortDirection={orderBy === headCell.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : \"asc\"}\n onClick={createSortHandler(headCell.id)}\n >\n {headCell.label}\n {orderBy === headCell.id ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\" ? \"sorted descending\" : \"sorted ascending\"}\n </Box>\n ) : undefined}\n </TableSortLabel>\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n );\n}\n\nEnhancedTableHead.propTypes = {\n onRequestSort: PropTypes.func.isRequired,\n order: PropTypes.oneOf([\"asc\", \"desc\"]).isRequired,\n orderBy: PropTypes.string.isRequired,\n headings: PropTypes.array.isRequired,\n selectRows: PropTypes.bool,\n numSelected: PropTypes.number,\n rowCount: PropTypes.number,\n onSelectAllClick: PropTypes.func,\n};\n\nexport default EnhancedTableHead;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Badge,\n Box,\n Collapse,\n IconButton,\n TableCell,\n TableRow,\n Tooltip,\n} from \"@mui/material\";\nimport { AddCircle, RemoveCircle } from \"@mui/icons-material\";\n\n/**\n * Lazily import UniversalTable to statically break the circular dependency:\n * UniversalTable → EnhancedTable → DataRow → SubTableRow → UniversalTable\n * React.lazy resolves the import at render time, so the module graph stays acyclic.\n */\nconst UniversalTable = React.lazy(() => import(\"../UniversalTable\"));\n\n// ---------------------------------------------------------------------------\n// SubRowToggleCell\n// ---------------------------------------------------------------------------\n\nexport function SubRowToggleCell({ header, isOpen, onToggle, rowValues, hideBadge }) {\n return (\n <TableCell>\n <Tooltip title={isOpen ? `Hide ${header.id}` : `Show ${header.id}`}>\n <Box>\n <IconButton\n onClick={(event) => {\n event.stopPropagation();\n onToggle();\n }}\n disabled={rowValues[header.id].length === 0}\n color={header.iconColor || \"secondary\"}\n >\n <Badge\n badgeContent={rowValues[header.id].length}\n invisible={hideBadge}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"right\",\n }}\n sx={{\n \"& .MuiBadge-badge\": {\n color: (theme) => theme.palette.text.primary,\n },\n }}\n >\n {isOpen\n ? header?.closeIcon || <RemoveCircle />\n : header?.openIcon || <AddCircle />}\n </Badge>\n </IconButton>\n </Box>\n </Tooltip>\n </TableCell>\n );\n}\n\nSubRowToggleCell.propTypes = {\n header: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n onToggle: PropTypes.func.isRequired,\n rowValues: PropTypes.object.isRequired,\n hideBadge: PropTypes.bool,\n};\n\n// ---------------------------------------------------------------------------\n// SubTableRow\n// ---------------------------------------------------------------------------\n\nexport function SubTableRow({ table, isOpen, rowValues, colSpan }) {\n return (\n <TableRow>\n <TableCell colSpan={colSpan} style={{ paddingBottom: 0, paddingTop: 0 }}>\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit>\n <React.Suspense fallback={null}>\n <UniversalTable\n loading={table.loading}\n setLoading={table.setLoading}\n onReload={table.onReload}\n data={rowValues[table.id]}\n headers={table.headers}\n name={table.subTitle}\n subTable\n />\n </React.Suspense>\n </Collapse>\n </TableCell>\n </TableRow>\n );\n}\n\nSubTableRow.propTypes = {\n table: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n rowValues: PropTypes.object.isRequired,\n colSpan: PropTypes.number.isRequired,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Checkbox,\n TableCell,\n TableRow,\n} from \"@mui/material\";\nimport { SubRowToggleCell, SubTableRow } from \"./SubTableRow\";\nimport { splitHeaders, formatCellValue } from \"../utils/tableUtils\";\n\nfunction renderDataCells(headers, rowValues) {\n return headers.map((header, index) => (\n <TableCell key={header.id || index} {...header.cellProps}>\n {header.component\n ? header.component(rowValues)\n : formatCellValue(header, rowValues)}\n </TableCell>\n ));\n}\n\nconst DataRow = React.memo(function DataRow(props) {\n const { rowValues, headers, selectRows, isSelected, handleClick } = props;\n const { subTables, columns } = React.useMemo(() => splitHeaders(headers), [\n headers,\n ]);\n const hideBadge = props.hideBadge || false;\n const isItemSelected = isSelected(props.rowID);\n const [reveal, setReveal] = React.useState(\n Array.from({ length: subTables.length }).fill(false),\n );\n\n const toggleSubRow = React.useCallback((index) => {\n setReveal((previous) => {\n const next = [...previous];\n next[index] = !next[index];\n return next;\n });\n }, []);\n\n const handleRowKeyDown = React.useCallback(\n (event) => {\n if (selectRows && (event.key === \" \" || event.key === \"Enter\")) {\n event.preventDefault();\n handleClick(event, props.rowID);\n }\n },\n [selectRows, handleClick, props.rowID],\n );\n\n return (\n <>\n <TableRow\n tabIndex={selectRows ? 0 : -1}\n hover={selectRows}\n role={selectRows ? \"checkbox\" : \"row\"}\n selected={isItemSelected}\n aria-checked={isItemSelected}\n onKeyDown={handleRowKeyDown}\n >\n {selectRows && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n color=\"primary\"\n checked={isItemSelected}\n onClick={(event) => handleClick(event, props.rowID)}\n />\n </TableCell>\n )}\n {subTables.map((header, index) => (\n <SubRowToggleCell\n key={header.id || index}\n header={header}\n isOpen={reveal[index]}\n onToggle={() => toggleSubRow(index)}\n rowValues={rowValues}\n hideBadge={hideBadge}\n />\n ))}\n {renderDataCells(columns, rowValues)}\n </TableRow>\n {subTables.map((table, index) => (\n <SubTableRow\n key={table.id || index}\n table={table}\n isOpen={reveal[index]}\n rowValues={rowValues}\n colSpan={props.headers.length + 1}\n />\n ))}\n </>\n );\n});\n\nDataRow.propTypes = {\n rowValues: PropTypes.object.isRequired,\n headers: PropTypes.array.isRequired,\n selectRows: PropTypes.bool,\n isSelected: PropTypes.func.isRequired,\n handleClick: PropTypes.func,\n hideBadge: PropTypes.bool,\n rowID: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n};\n\nexport default DataRow;\n","import React from \"react\";\nimport {\n TableBody,\n TableCell,\n TableRow,\n Skeleton,\n TableHead,\n} from \"@mui/material\";\n\nconst TableLoader = () => {\n return (\n <>\n <TableHead />\n <TableBody>\n {Array.from({ length: 5 }).map((_, index) => (\n <TableRow key={index}>\n {Array.from({ length: 4 }).map((_, cellIndex) => (\n <TableCell key={cellIndex}>\n <Skeleton height={30} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </>\n );\n};\n\nexport default TableLoader;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TablePagination,\n TableRow,\n} from \"@mui/material\";\nimport useEnhancedTableState from \"../hooks/useEnhancedTableState\";\nimport {\n getComparator,\n getPageOptions,\n getSelectableRowId,\n stableSort,\n} from \"../utils/tableUtils\";\nimport EnhancedTableHead from \"./EnhancedTableHead\";\nimport DataRow from \"./DataRow\";\nimport TableLoader from \"./TableLoader\";\n\nfunction EnhancedTable(props) {\n const { headers, rows, subTable, selected, selectID } = props;\n const dense = true;\n const {\n order,\n orderBy,\n page,\n rowsPerPage,\n handleRequestSort,\n handleChangePage,\n handleChangeRowsPerPage,\n } = useEnhancedTableState({\n rows,\n subTable,\n resetFlag: props.resetFlag,\n });\n\n const emptyRows = Math.max(\n 0,\n rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage),\n );\n\n const isSelected = React.useCallback(\n (id) => selected.includes(id),\n [selected],\n );\n\n const visibleRows = React.useMemo(\n () =>\n stableSort(rows, getComparator(order, orderBy), headers).slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage,\n ),\n [headers, order, orderBy, page, rows, rowsPerPage],\n );\n\n return (\n <TableContainer>\n <Table\n sx={{ minWidth: 750 }}\n size={dense ? \"small\" : \"medium\"}\n aria-label={props.name || \"data table\"}\n >\n {props.loading ? (\n <TableLoader />\n ) : (\n <>\n <EnhancedTableHead\n order={order}\n orderBy={orderBy}\n onRequestSort={handleRequestSort}\n headings={headers}\n selectRows={props.selectRows}\n numSelected={selected.length}\n rowCount={rows.length}\n onSelectAllClick={props.handleSelectAllClick}\n />\n\n <TableBody>\n {visibleRows.map((row, index) => {\n const rowKey = selectID\n ? row[selectID]\n : `row-${page * rowsPerPage + index}`;\n const rowID = getSelectableRowId(row, index, selectID);\n\n return (\n <DataRow\n key={rowKey}\n rowID={rowID}\n headers={headers}\n rowValues={row}\n hideBadge={props.hideBadge}\n selectRows={props.selectRows}\n handleClick={props.handleClick}\n isSelected={isSelected}\n />\n );\n })}\n {!subTable && emptyRows > 0 && (\n <TableRow style={{ height: (dense ? 33 : 53) * emptyRows }}>\n <TableCell colSpan={headers.length} />\n </TableRow>\n )}\n </TableBody>\n </>\n )}\n </Table>\n {subTable ? (\n <Box sx={{ mb: 3 }} />\n ) : (\n <TablePagination\n rowsPerPageOptions={props.pageSizeOptions || getPageOptions(rows.length)}\n component=\"div\"\n count={rows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n sx={{ overflow: \"visible\" }}\n showFirstButton\n showLastButton\n />\n )}\n </TableContainer>\n );\n}\n\nEnhancedTable.propTypes = {\n headers: PropTypes.array.isRequired,\n rows: PropTypes.array.isRequired,\n subTable: PropTypes.bool,\n hideBadge: PropTypes.bool,\n loading: PropTypes.bool,\n selectRows: PropTypes.bool,\n handleSelectAllClick: PropTypes.func,\n handleClick: PropTypes.func,\n selected: PropTypes.array,\n selectID: PropTypes.string,\n resetFlag: PropTypes.string,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n name: PropTypes.string,\n};\n\nexport default EnhancedTable;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Paper from \"@mui/material/Paper\";\nimport LazyLoadingIndicator from \"./components/LazyLoadingIndicator\";\nimport useSearchableRows from \"./hooks/useSearchableRows\";\nimport useSelectableRows from \"./hooks/useSelectableRows\";\nimport TableSelectionBanner from \"./components/TableSelectionBanner\";\nimport TableTitle from \"./components/TableTitle\";\nimport TableToolbarContent from \"./components/TableToolbarContent\";\nimport EnhancedTable from \"./components/EnhancedTable\";\n\nexport default function UniversalTable({\n loading,\n setLoading,\n onReload,\n lazyloading = false,\n currentPage,\n totalPages,\n data,\n headers,\n name,\n reloadBtnLoading,\n subTable = false,\n hideBadge = false,\n selectRows = false,\n selectID,\n selectIcon,\n onSelection,\n pageSizeOptions,\n persistSearch,\n}) {\n const head = headers || [];\n const { rows, searchTerm, setSearchTerm } = useSearchableRows(data, head);\n const { selected, clearSelection, handleSelectAllClick, handleClick } =\n useSelectableRows({\n rows,\n selectRows,\n selectID,\n });\n\n const handleSearchChange = React.useCallback(\n (value) => {\n clearSelection();\n setSearchTerm(value);\n },\n [clearSelection, setSearchTerm],\n );\n\n return (\n <>\n <LazyLoadingIndicator\n show={lazyloading}\n currentPage={currentPage}\n totalPages={totalPages}\n />\n <Paper\n sx={{\n ...(subTable && { boxShadow: \"none\" }),\n }}\n >\n <TableSelectionBanner\n selected={selected}\n onSelection={onSelection}\n selectIcon={selectIcon}\n />\n <TableTitle name={name} subTable={subTable} />\n {!subTable && (\n <TableToolbarContent\n setLoading={setLoading}\n onReload={onReload}\n reloadBtnLoading={reloadBtnLoading}\n searchTerm={searchTerm}\n onSearchChange={handleSearchChange}\n name={name}\n persistSearch={persistSearch}\n />\n )}\n <EnhancedTable\n headers={head}\n rows={rows}\n resetFlag={searchTerm}\n subTable={subTable}\n hideBadge={hideBadge}\n loading={loading}\n selectRows={selectRows}\n handleSelectAllClick={handleSelectAllClick}\n handleClick={handleClick}\n selected={selected}\n selectID={selectID}\n pageSizeOptions={pageSizeOptions}\n name={name}\n />\n </Paper>\n </>\n );\n}\n\nUniversalTable.propTypes = {\n loading: PropTypes.bool,\n setLoading: PropTypes.func,\n /** Preferred callback — fires when the user clicks reload. */\n onReload: PropTypes.func,\n lazyloading: PropTypes.bool,\n currentPage: PropTypes.number,\n totalPages: PropTypes.number,\n data: PropTypes.array.isRequired,\n headers: PropTypes.array.isRequired,\n name: PropTypes.string,\n reloadBtnLoading: PropTypes.bool,\n subTable: PropTypes.bool,\n hideBadge: PropTypes.bool,\n selectRows: PropTypes.bool,\n selectID: PropTypes.string,\n selectIcon: PropTypes.element,\n onSelection: PropTypes.func,\n /** Override default page size options (e.g. [10, 25, 50]). Default auto-computed. */\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n /** Persist search term to sessionStorage (requires name prop). Default: false */\n persistSearch: PropTypes.bool,\n};\n"],"names":["LazyLoadingIndicator","_ref","show","currentPage","totalPages","React","createElement","Collapse","timeout","unmountOnExit","Box","sx","width","p","Typography","variant","color","mb","LinearProgress","value","propTypes","PropTypes","bool","isRequired","number","visuallyHidden","border","clip","height","margin","overflow","padding","position","whiteSpace","getSelectableRowId","row","index","selectID","getSearchableColumnIds","headers","filter","column","searchable","map","id","filterRows","data","searchTerm","filterOptions","term","toLocaleLowerCase","some","filterOption","String","includes","getPageOptions","rowCount","splitHeaders","reduce","groups","header","subRow","subTables","push","columns","descendingComparator","a","b","orderBy","getComparator","order","formatCellValue","rowValues","raw","date","undefined","d","Date","Number","isNaN","getTime","toDateString","toLocaleTimeString","hour","minute","hour12","stableSort","array","comparator","dateColumns","Set","object","stabilizedThis","el","sortKey","_objectSpread","property","has","parsed","sort","useSearchableRows","_React$useState","useState","_React$useState2","_slicedToArray","setSearchTerm","useMemo","rows","useSelectableRows","selectRows","selected","setSelected","clearSelection","useCallback","handleSelectAllClick","event","target","checked","newSelected","handleClick","previous","selectedId","concat","_toConsumableArray","TableSelectionBanner","onSelection","selectIcon","length","display","justifyContent","bgcolor","theme","alpha","palette","primary","main","action","activatedOpacity","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","component","IconButton","onClick","Task","func","element","TableTitle","name","subTable","string","ReloadBtn","setLoading","loading","onReload","canReload","Tooltip","title","Button","disabled","RefreshIcon","FancySearch","onSubmit","search","setSearch","_React$useState3","Boolean","_React$useState4","hover","setHover","expanded","handleSubmit","e","preventDefault","handleEndHover","isUserType","useRef","useEffect","current","timer","setTimeout","clearTimeout","Paper","elevation","alignItems","transition","divider","onMouseEnter","onMouseLeave","onKeyDown","key","InputBase","placeholder","onChange","ml","onBlur","orientation","Stack","direction","spacing","mr","Clear","Divider","flexItem","type","Search","SearchArea","props","setFinalVal","searchName","persistSearch","searchVal","_sessionStorage$getIt","sessionStorage","getItem","TableToolbarContent","reloadBtnLoading","onSearchChange","Toolbar","pl","sm","pr","xs","pt","md","flex","useEnhancedTableState","resetFlag","setOrder","setOrderBy","_React$useState5","page","rowsPerPage","_React$useState6","pagination","setPagination","handleRequestSort","isAsc","handleChangePage","newPage","handleChangeRowsPerPage","parseInt","EnhancedTableHead","onRequestSort","numSelected","onSelectAllClick","createSortHandler","TableHead","TableRow","TableCell","Checkbox","indeterminate","headings","headCell","align","numeric","sortDirection","TableSortLabel","active","label","oneOf","UniversalTable","lazy","SubRowToggleCell","isOpen","onToggle","hideBadge","stopPropagation","iconColor","Badge","badgeContent","invisible","anchorOrigin","vertical","horizontal","text","closeIcon","RemoveCircle","openIcon","AddCircle","SubTableRow","_ref2","table","colSpan","style","paddingBottom","paddingTop","Suspense","fallback","subTitle","renderDataCells","_extends","cellProps","DataRow","memo","isSelected","_React$useMemo","isItemSelected","rowID","Array","from","fill","reveal","setReveal","toggleSubRow","next","handleRowKeyDown","Fragment","tabIndex","role","oneOfType","TableLoader","TableBody","_","cellIndex","Skeleton","EnhancedTable","_useEnhancedTableStat","emptyRows","Math","max","min","visibleRows","slice","TableContainer","Table","minWidth","size","rowKey","TablePagination","rowsPerPageOptions","pageSizeOptions","count","onPageChange","onRowsPerPageChange","showFirstButton","showLastButton","arrayOf","_ref$lazyloading","lazyloading","_ref$subTable","_ref$hideBadge","_ref$selectRows","head","_useSearchableRows","_useSelectableRows","handleSearchChange","boxShadow"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/components/LazyLoadingIndicator.jsx","../src/utils/tableUtils.js","../src/hooks/useSearchableRows.js","../src/hooks/useSelectableRows.js","../src/components/TableSelectionBanner.jsx","../src/components/TableTitle.jsx","../src/components/ReloadBtn.jsx","../src/components/FancySearch.jsx","../src/components/SearchArea.jsx","../src/components/TableToolbarContent.jsx","../src/hooks/useEnhancedTableState.js","../src/components/EnhancedTableHead.jsx","../src/components/SubTableRow.jsx","../src/components/DataRow.jsx","../src/components/TableLoader.jsx","../src/components/EnhancedTable.jsx","../src/UniversalTable.jsx"],"sourcesContent":["import React from \"react\";\nimport { Box, LinearProgress, Typography, Collapse } from \"@mui/material\";\nimport PropTypes from \"prop-types\";\n\nconst LazyLoadingIndicator = ({ show, currentPage, totalPages }) => {\n return (\n <Collapse in={show} timeout=\"auto\" unmountOnExit>\n <Box sx={{ width: \"100%\", p: 2 }}>\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mb: 1 }}>\n Loading page {currentPage} of {totalPages}...\n </Typography>\n <LinearProgress\n variant=\"determinate\"\n value={(currentPage / totalPages) * 100}\n />\n </Box>\n </Collapse>\n );\n};\n\nLazyLoadingIndicator.propTypes = {\n show: PropTypes.bool.isRequired,\n currentPage: PropTypes.number,\n totalPages: PropTypes.number,\n};\n\nexport default LazyLoadingIndicator;\n","/**\n * Standard visually-hidden style: content is accessible to screen readers\n * but invisible on screen. Defined locally to avoid importing from\n * @mui/utils which is not a declared peer dependency.\n */\nexport const visuallyHidden = {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: -1,\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n};\n\nexport function getSelectableRowId(row, index, selectID) {\n return selectID ? row[selectID] : index;\n}\n\nexport function getSearchableColumnIds(headers) {\n return headers\n .filter((column) => column.searchable)\n .map((column) => column.id);\n}\n\nexport function filterRows(data, searchTerm, filterOptions) {\n if (!searchTerm) {\n return data;\n }\n\n const term = searchTerm.toLocaleLowerCase();\n return data.filter((row) =>\n filterOptions.some((filterOption) =>\n String(row[filterOption]).toLocaleLowerCase().includes(term),\n ),\n );\n}\n\nexport function getPageOptions(rowCount) {\n if (rowCount <= 5) return [5];\n if (rowCount <= 10) return [5, rowCount];\n if (rowCount <= 25) return [5, 10, rowCount];\n if (rowCount < 50) return [5, 10, 25, rowCount];\n if (rowCount < 100) return [5, 10, 25, 50, rowCount];\n return [5, 10, 25, 50, 100, rowCount];\n}\n\nexport function splitHeaders(headers) {\n return headers.reduce(\n (groups, header) => {\n if (header.subRow) {\n groups.subTables.push(header);\n } else {\n groups.columns.push(header);\n }\n\n return groups;\n },\n { subTables: [], columns: [] },\n );\n}\n\nexport function descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nexport function getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nconst browserDateTimeFormatter = new Intl.DateTimeFormat(undefined, {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n});\n\n/**\n * Format a cell value for display. Handles dates safely:\n * returns the raw value for non-date headers, and a formatted\n * date string for date headers (guards against invalid dates).\n *\n * Uses `new Date(raw)` directly rather than `Date.parse(raw)` to\n * handle epoch-millisecond numbers, Date objects, and string\n * formats that Date.parse may reject.\n */\nexport function formatCellValue(header, rowValues) {\n const raw = rowValues[header.id];\n if (!header.date) {\n return raw;\n }\n\n // null and undefined produce a valid epoch-0 Date, not Invalid Date\n if (raw === null || raw === undefined) {\n return raw;\n }\n\n const d = new Date(raw);\n if (Number.isNaN(d.getTime())) {\n return raw;\n }\n\n return browserDateTimeFormatter.format(d);\n}\n\nexport function stableSort(array, comparator, headers) {\n const dateColumns = new Set(\n headers.filter((object) => object.date).map((value) => value.id),\n );\n\n // Build stable entries — compare pre-computed sort keys so we never\n // mutate the original data or its shallow copies.\n // Each entry is [originalRow, sortKey, index] so that the comparator\n // works on numeric-converted date values while the original rows are\n // returned unchanged (preserving the data seen by header.component).\n const stabilizedThis = array.map((el, index) => {\n const sortKey = { ...el };\n for (const property in sortKey) {\n if (dateColumns.has(property)) {\n const parsed = Number(new Date(sortKey[property]));\n // Preserve the original value for invalid dates so formatCellValue\n // can display the fallback instead of passing NaN to React children.\n if (!Number.isNaN(parsed)) {\n sortKey[property] = parsed;\n }\n }\n }\n return [el, sortKey, index];\n });\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[1], b[1]);\n if (order !== 0) return order;\n return a[2] - b[2];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\n","import React from \"react\";\nimport { getSearchableColumnIds, filterRows } from \"../utils/tableUtils\";\n\nexport default function useSearchableRows(data, headers) {\n const [searchTerm, setSearchTerm] = React.useState(\"\");\n\n const filterOptions = React.useMemo(\n () => getSearchableColumnIds(headers),\n [headers],\n );\n\n const rows = React.useMemo(\n () => filterRows(data, searchTerm, filterOptions),\n [data, filterOptions, searchTerm],\n );\n\n return {\n rows,\n searchTerm,\n setSearchTerm,\n };\n}\n","import React from \"react\";\nimport { getSelectableRowId } from \"../utils/tableUtils\";\n\nexport default function useSelectableRows({ rows, selectRows, selectID }) {\n const [selected, setSelected] = React.useState([]);\n\n const clearSelection = React.useCallback(() => {\n setSelected([]);\n }, []);\n\n const handleSelectAllClick = React.useCallback(\n (event) => {\n if (!event.target.checked) {\n setSelected([]);\n return;\n }\n\n const newSelected = rows.map((row, index) =>\n getSelectableRowId(row, index, selectID),\n );\n setSelected(newSelected);\n },\n [rows, selectID],\n );\n\n const handleClick = React.useCallback(\n (event, id) => {\n if (!selectRows) {\n return;\n }\n\n setSelected((previous) =>\n previous.includes(id)\n ? previous.filter((selectedId) => selectedId !== id)\n : [...previous, id],\n );\n },\n [selectRows],\n );\n\n return {\n selected,\n clearSelection,\n handleSelectAllClick,\n handleClick,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Collapse, IconButton, Typography } from \"@mui/material\";\nimport { alpha } from \"@mui/material/styles\";\nimport { Task } from \"@mui/icons-material\";\n\nfunction TableSelectionBanner({ selected, onSelection, selectIcon }) {\n return (\n <Collapse in={selected.length > 0} unmountOnExit>\n <Box\n sx={{\n p: 2,\n display: \"flex\",\n justifyContent: \"space-between\",\n bgcolor: (theme) =>\n alpha(\n theme.palette.primary.main,\n theme.palette.action.activatedOpacity,\n ),\n borderRadius: 1,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n }}\n >\n <Typography variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {selected.length} selected\n </Typography>\n\n <IconButton onClick={() => onSelection(selected)}>\n {selectIcon || <Task />}\n </IconButton>\n </Box>\n </Collapse>\n );\n}\n\nTableSelectionBanner.propTypes = {\n selected: PropTypes.array.isRequired,\n onSelection: PropTypes.func,\n selectIcon: PropTypes.element,\n};\n\nexport default TableSelectionBanner;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Typography } from \"@mui/material\";\n\nfunction TableTitle({ name, subTable }) {\n return (\n <Typography\n variant={subTable ? \"h6\" : \"h5\"}\n color={subTable ? \"secondary\" : \"primary\"}\n sx={{ p: 2 }}\n >\n {name}\n </Typography>\n );\n}\n\nTableTitle.propTypes = {\n name: PropTypes.string,\n subTable: PropTypes.bool,\n};\n\nexport default TableTitle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Button, Tooltip } from \"@mui/material\";\nimport RefreshIcon from \"@mui/icons-material/Refresh\";\n\nfunction ReloadBtn({ setLoading, loading, onReload }) {\n const canReload = typeof onReload === \"function\" || typeof setLoading === \"function\";\n\n if (!canReload) {\n return null;\n }\n\n const handleClick = () => {\n if (typeof onReload === \"function\") {\n onReload();\n } else if (typeof setLoading === \"function\") {\n setLoading(true);\n }\n };\n\n return (\n <Tooltip title=\"Reload\">\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={handleClick}\n disabled={loading}\n >\n <RefreshIcon />\n </Button>\n </Tooltip>\n );\n}\n\nReloadBtn.propTypes = {\n setLoading: PropTypes.func,\n loading: PropTypes.bool,\n /** Preferred callback — fires when the user clicks reload. */\n onReload: PropTypes.func,\n};\n\nexport default ReloadBtn;\n","import React from \"react\";\nimport {\n Collapse,\n Divider,\n IconButton,\n InputBase,\n Paper,\n Stack,\n} from \"@mui/material\";\nimport { Clear, Search } from \"@mui/icons-material\";\nimport PropTypes from \"prop-types\";\n\nexport default function FancySearch({ value, onSubmit }) {\n const [search, setSearch] = React.useState(value);\n const [hover, setHover] = React.useState(Boolean(search));\n const expanded = hover || Boolean(search);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit(search);\n };\n\n const handleEndHover = () => {\n setHover(false);\n };\n\n // Sync internal state when the parent clears/changes the search term.\n // A ref tracks whether this sync came from the user typing or from a parent\n // update, so the debounce only fires for genuine user input.\n const isUserType = React.useRef(false);\n\n React.useEffect(() => {\n if (isUserType.current) {\n // User is typing — debounce as normal\n isUserType.current = false;\n const timer = setTimeout(() => {\n onSubmit(search);\n }, 700);\n return () => clearTimeout(timer);\n }\n // External value change (parent reset, clear from clearSelection, etc.)\n // — sync state and do NOT fire a stale debounce.\n setSearch(value);\n return undefined;\n }, [search, value, onSubmit]);\n\n return (\n <form onSubmit={handleSubmit}>\n <Paper\n elevation={0}\n sx={{\n borderRadius: expanded ? \"24px\" : \"50px\",\n display: \"flex\",\n alignItems: \"center\",\n transition: \"all 0.5s ease-in-out\",\n p: expanded ? 1 : 0.5,\n width: \"fit-content\",\n border: (theme) => `1px solid ${theme.palette.divider}`,\n mb: 1,\n }}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={handleEndHover}\n onKeyDown={(e) => e.key === \"Enter\" && handleSubmit(e)}\n >\n <InputBase\n placeholder=\"Search\"\n value={search}\n onChange={(e) => {\n isUserType.current = true;\n setSearch(e.target.value);\n }}\n sx={{\n ml: 1,\n width: expanded ? \"100%\" : 0,\n transition: \"width 0.5s ease-in-out\",\n ...(expanded ? {} : { margin: 0 }),\n }}\n onBlur={handleEndHover}\n />\n\n <Collapse\n in={Boolean(search)}\n orientation=\"horizontal\"\n unmountOnExit\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n spacing={0}\n sx={{ mr: 3 }}\n >\n <IconButton\n onClick={() => {\n isUserType.current = false;\n setSearch(\"\");\n // Immediately clear instead of waiting for the debounce\n onSubmit(\"\");\n }}\n >\n <Clear />\n </IconButton>\n <Divider orientation=\"vertical\" flexItem />\n </Stack>\n </Collapse>\n\n <IconButton onClick={handleSubmit} type=\"submit\">\n <Search />\n </IconButton>\n </Paper>\n </form>\n );\n}\n\nFancySearch.propTypes = {\n value: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport FancySearch from \"./FancySearch\";\n\nfunction SearchArea(props) {\n const { current, setFinalVal, searchName, persistSearch } = props;\n\n const searchVal = React.useMemo(() => {\n if (current !== undefined && current !== null) return current;\n if (persistSearch && searchName) {\n return sessionStorage.getItem(`searchVal:${searchName}`) ?? \"\";\n }\n return \"\";\n }, [current, persistSearch, searchName]);\n\n return (\n <div key=\"SearchArea\">\n <FancySearch value={searchVal} onSubmit={setFinalVal} />\n </div>\n );\n}\n\nSearchArea.propTypes = {\n current: PropTypes.string,\n setFinalVal: PropTypes.func.isRequired,\n searchName: PropTypes.string,\n /** Persist search term to sessionStorage (requires searchName). Default: false */\n persistSearch: PropTypes.bool,\n};\n\nexport default SearchArea;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Stack, Toolbar } from \"@mui/material\";\nimport ReloadBtn from \"./ReloadBtn\";\nimport SearchArea from \"./SearchArea\";\n\nfunction TableToolbarContent({\n setLoading,\n onReload,\n reloadBtnLoading,\n searchTerm,\n onSearchChange,\n name,\n persistSearch,\n}) {\n return (\n <Toolbar\n sx={{\n pl: { sm: 2 },\n pr: { xs: 1, sm: 1 },\n pt: 2,\n }}\n >\n <Stack\n spacing={2}\n direction={{ xs: \"column\", md: \"row\" }}\n sx={{\n width: \"100%\",\n alignItems: { xs: \"flex-start\", md: \"center\" },\n }}\n >\n <Box sx={{ flex: \"1 1 100%\" }} id=\"tableTitle\">\n <ReloadBtn setLoading={setLoading} onReload={onReload} loading={reloadBtnLoading} />\n </Box>\n <SearchArea\n current={searchTerm}\n setFinalVal={onSearchChange}\n searchName={name}\n persistSearch={persistSearch}\n />\n </Stack>\n </Toolbar>\n );\n}\n\nTableToolbarContent.propTypes = {\n setLoading: PropTypes.func,\n onReload: PropTypes.func,\n reloadBtnLoading: PropTypes.bool,\n searchTerm: PropTypes.string,\n onSearchChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n persistSearch: PropTypes.bool,\n};\n\nexport default TableToolbarContent;\n","import React from \"react\";\n\nexport default function useEnhancedTableState({ rows, subTable, resetFlag }) {\n const [order, setOrder] = React.useState(\"asc\");\n const [orderBy, setOrderBy] = React.useState(\"\");\n const [pagination, setPagination] = React.useState(() => ({\n page: 0,\n rowsPerPage: subTable ? rows.length : 5,\n resetFlag,\n }));\n\n React.useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setPagination((previous) => {\n if (previous.resetFlag === resetFlag) {\n return previous;\n }\n\n return {\n ...previous,\n page: 0,\n resetFlag,\n };\n });\n }, [resetFlag]);\n\n const page = pagination.page;\n const rowsPerPage = subTable ? rows.length : pagination.rowsPerPage;\n\n const handleRequestSort = React.useCallback(\n (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n },\n [order, orderBy],\n );\n\n const handleChangePage = React.useCallback(\n (event, newPage) => {\n setPagination((previous) => ({\n ...previous,\n page: newPage,\n }));\n },\n [],\n );\n\n const handleChangeRowsPerPage = React.useCallback(\n (event) => {\n setPagination((previous) => ({\n ...previous,\n page: 0,\n rowsPerPage: Number.parseInt(event.target.value, 10),\n }));\n },\n [],\n );\n\n return {\n order,\n orderBy,\n page,\n rowsPerPage,\n handleRequestSort,\n handleChangePage,\n handleChangeRowsPerPage,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Box,\n Checkbox,\n TableCell,\n TableHead,\n TableRow,\n TableSortLabel,\n} from \"@mui/material\";\nimport { visuallyHidden } from \"../utils/tableUtils\";\n\nfunction EnhancedTableHead(props) {\n const {\n order,\n orderBy,\n onRequestSort,\n selectRows,\n numSelected,\n rowCount,\n onSelectAllClick,\n } = props;\n\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n <TableHead>\n <TableRow>\n {selectRows && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n color=\"primary\"\n indeterminate={numSelected > 0 && numSelected < rowCount}\n checked={rowCount > 0 && numSelected === rowCount}\n onChange={onSelectAllClick}\n />\n </TableCell>\n )}\n {props.headings.map((headCell) => (\n <TableCell\n key={headCell.id}\n align={headCell.numeric ? \"right\" : \"left\"}\n padding=\"normal\"\n sortDirection={orderBy === headCell.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : \"asc\"}\n onClick={createSortHandler(headCell.id)}\n disabled={headCell.subRow}\n >\n {headCell.label}\n {orderBy === headCell.id ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\" ? \"sorted descending\" : \"sorted ascending\"}\n </Box>\n ) : undefined}\n </TableSortLabel>\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n );\n}\n\nEnhancedTableHead.propTypes = {\n onRequestSort: PropTypes.func.isRequired,\n order: PropTypes.oneOf([\"asc\", \"desc\"]).isRequired,\n orderBy: PropTypes.string.isRequired,\n headings: PropTypes.array.isRequired,\n selectRows: PropTypes.bool,\n numSelected: PropTypes.number,\n rowCount: PropTypes.number,\n onSelectAllClick: PropTypes.func,\n};\n\nexport default EnhancedTableHead;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Badge,\n Box,\n Collapse,\n IconButton,\n TableCell,\n TableRow,\n Tooltip,\n} from \"@mui/material\";\nimport { AddCircle, RemoveCircle } from \"@mui/icons-material\";\n\n/**\n * Lazily import UniversalTable to statically break the circular dependency:\n * UniversalTable → EnhancedTable → DataRow → SubTableRow → UniversalTable\n * React.lazy resolves the import at render time, so the module graph stays acyclic.\n */\nconst UniversalTable = React.lazy(() => import(\"../UniversalTable\"));\n\n// ---------------------------------------------------------------------------\n// SubRowToggleCell\n// ---------------------------------------------------------------------------\n\nexport function SubRowToggleCell({ header, isOpen, onToggle, rowValues, hideBadge }) {\n return (\n <TableCell>\n <Tooltip title={isOpen ? `Hide ${header.id}` : `Show ${header.id}`}>\n <Box>\n <IconButton\n onClick={(event) => {\n event.stopPropagation();\n onToggle();\n }}\n disabled={rowValues[header.id].length === 0}\n color={header.iconColor || \"secondary\"}\n >\n <Badge\n badgeContent={rowValues[header.id].length}\n invisible={hideBadge}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"right\",\n }}\n sx={{\n \"& .MuiBadge-badge\": {\n color: (theme) => theme.palette.text.primary,\n },\n }}\n >\n {isOpen\n ? header?.closeIcon || <RemoveCircle />\n : header?.openIcon || <AddCircle />}\n </Badge>\n </IconButton>\n </Box>\n </Tooltip>\n </TableCell>\n );\n}\n\nSubRowToggleCell.propTypes = {\n header: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n onToggle: PropTypes.func.isRequired,\n rowValues: PropTypes.object.isRequired,\n hideBadge: PropTypes.bool,\n};\n\n// ---------------------------------------------------------------------------\n// SubTableRow\n// ---------------------------------------------------------------------------\n\nexport function SubTableRow({ table, isOpen, rowValues, colSpan }) {\n return (\n <TableRow>\n <TableCell colSpan={colSpan} style={{ paddingBottom: 0, paddingTop: 0 }}>\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit>\n <React.Suspense fallback={null}>\n <UniversalTable\n loading={table.loading}\n setLoading={table.setLoading}\n onReload={table.onReload}\n data={rowValues[table.id]}\n headers={table.headers}\n name={table.subTitle}\n subTable\n />\n </React.Suspense>\n </Collapse>\n </TableCell>\n </TableRow>\n );\n}\n\nSubTableRow.propTypes = {\n table: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n rowValues: PropTypes.object.isRequired,\n colSpan: PropTypes.number.isRequired,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Checkbox,\n TableCell,\n TableRow,\n} from \"@mui/material\";\nimport { SubRowToggleCell, SubTableRow } from \"./SubTableRow\";\nimport { splitHeaders, formatCellValue } from \"../utils/tableUtils\";\n\nfunction renderDataCells(headers, rowValues) {\n return headers.map((header, index) => (\n <TableCell key={header.id || index} {...header.cellProps}>\n {header.component\n ? header.component(rowValues)\n : formatCellValue(header, rowValues)}\n </TableCell>\n ));\n}\n\nconst DataRow = React.memo(function DataRow(props) {\n const { rowValues, headers, selectRows, isSelected, handleClick } = props;\n const { subTables, columns } = React.useMemo(() => splitHeaders(headers), [\n headers,\n ]);\n const hideBadge = props.hideBadge || false;\n const isItemSelected = isSelected(props.rowID);\n const [reveal, setReveal] = React.useState(\n Array.from({ length: subTables.length }).fill(false),\n );\n\n const toggleSubRow = React.useCallback((index) => {\n setReveal((previous) => {\n const next = [...previous];\n next[index] = !next[index];\n return next;\n });\n }, []);\n\n const handleRowKeyDown = React.useCallback(\n (event) => {\n if (selectRows && (event.key === \" \" || event.key === \"Enter\")) {\n event.preventDefault();\n handleClick(event, props.rowID);\n }\n },\n [selectRows, handleClick, props.rowID],\n );\n\n return (\n <>\n <TableRow\n tabIndex={selectRows ? 0 : -1}\n hover={selectRows}\n role={selectRows ? \"checkbox\" : \"row\"}\n selected={isItemSelected}\n aria-checked={isItemSelected}\n onKeyDown={handleRowKeyDown}\n >\n {selectRows && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n color=\"primary\"\n checked={isItemSelected}\n onClick={(event) => handleClick(event, props.rowID)}\n />\n </TableCell>\n )}\n {subTables.map((header, index) => (\n <SubRowToggleCell\n key={header.id || index}\n header={header}\n isOpen={reveal[index]}\n onToggle={() => toggleSubRow(index)}\n rowValues={rowValues}\n hideBadge={hideBadge}\n />\n ))}\n {renderDataCells(columns, rowValues)}\n </TableRow>\n {subTables.map((table, index) => (\n <SubTableRow\n key={table.id || index}\n table={table}\n isOpen={reveal[index]}\n rowValues={rowValues}\n colSpan={props.headers.length + 1}\n />\n ))}\n </>\n );\n});\n\nDataRow.propTypes = {\n rowValues: PropTypes.object.isRequired,\n headers: PropTypes.array.isRequired,\n selectRows: PropTypes.bool,\n isSelected: PropTypes.func.isRequired,\n handleClick: PropTypes.func,\n hideBadge: PropTypes.bool,\n rowID: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n};\n\nexport default DataRow;\n","import React from \"react\";\nimport {\n TableBody,\n TableCell,\n TableRow,\n Skeleton,\n TableHead,\n} from \"@mui/material\";\n\nconst TableLoader = () => {\n return (\n <>\n <TableHead />\n <TableBody>\n {Array.from({ length: 5 }).map((_, index) => (\n <TableRow key={index}>\n {Array.from({ length: 4 }).map((_, cellIndex) => (\n <TableCell key={cellIndex}>\n <Skeleton height={30} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </>\n );\n};\n\nexport default TableLoader;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TablePagination,\n TableRow,\n} from \"@mui/material\";\nimport useEnhancedTableState from \"../hooks/useEnhancedTableState\";\nimport {\n getComparator,\n getPageOptions,\n getSelectableRowId,\n stableSort,\n} from \"../utils/tableUtils\";\nimport EnhancedTableHead from \"./EnhancedTableHead\";\nimport DataRow from \"./DataRow\";\nimport TableLoader from \"./TableLoader\";\n\nfunction EnhancedTable(props) {\n const { headers, rows, subTable, selected, selectID } = props;\n const dense = true;\n const {\n order,\n orderBy,\n page,\n rowsPerPage,\n handleRequestSort,\n handleChangePage,\n handleChangeRowsPerPage,\n } = useEnhancedTableState({\n rows,\n subTable,\n resetFlag: props.resetFlag,\n });\n\n const emptyRows = Math.max(\n 0,\n rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage),\n );\n\n const isSelected = React.useCallback(\n (id) => selected.includes(id),\n [selected],\n );\n\n const visibleRows = React.useMemo(\n () =>\n stableSort(rows, getComparator(order, orderBy), headers).slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage,\n ),\n [headers, order, orderBy, page, rows, rowsPerPage],\n );\n\n return (\n <TableContainer>\n <Table\n sx={{ minWidth: 750 }}\n size={dense ? \"small\" : \"medium\"}\n aria-label={props.name || \"data table\"}\n >\n {props.loading ? (\n <TableLoader />\n ) : (\n <>\n <EnhancedTableHead\n order={order}\n orderBy={orderBy}\n onRequestSort={handleRequestSort}\n headings={headers}\n selectRows={props.selectRows}\n numSelected={selected.length}\n rowCount={rows.length}\n onSelectAllClick={props.handleSelectAllClick}\n />\n\n <TableBody>\n {visibleRows.map((row, index) => {\n const rowKey = selectID\n ? row[selectID]\n : `row-${page * rowsPerPage + index}`;\n const rowID = getSelectableRowId(row, index, selectID);\n\n return (\n <DataRow\n key={rowKey}\n rowID={rowID}\n headers={headers}\n rowValues={row}\n hideBadge={props.hideBadge}\n selectRows={props.selectRows}\n handleClick={props.handleClick}\n isSelected={isSelected}\n />\n );\n })}\n {!subTable && emptyRows > 0 && (\n <TableRow style={{ height: (dense ? 33 : 53) * emptyRows }}>\n <TableCell colSpan={headers.length} />\n </TableRow>\n )}\n </TableBody>\n </>\n )}\n </Table>\n {subTable ? (\n <Box sx={{ mb: 3 }} />\n ) : (\n <TablePagination\n rowsPerPageOptions={props.pageSizeOptions || getPageOptions(rows.length)}\n component=\"div\"\n count={rows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n sx={{ overflow: \"visible\" }}\n showFirstButton\n showLastButton\n />\n )}\n </TableContainer>\n );\n}\n\nEnhancedTable.propTypes = {\n headers: PropTypes.array.isRequired,\n rows: PropTypes.array.isRequired,\n subTable: PropTypes.bool,\n hideBadge: PropTypes.bool,\n loading: PropTypes.bool,\n selectRows: PropTypes.bool,\n handleSelectAllClick: PropTypes.func,\n handleClick: PropTypes.func,\n selected: PropTypes.array,\n selectID: PropTypes.string,\n resetFlag: PropTypes.string,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n name: PropTypes.string,\n};\n\nexport default EnhancedTable;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Paper from \"@mui/material/Paper\";\nimport LazyLoadingIndicator from \"./components/LazyLoadingIndicator\";\nimport useSearchableRows from \"./hooks/useSearchableRows\";\nimport useSelectableRows from \"./hooks/useSelectableRows\";\nimport TableSelectionBanner from \"./components/TableSelectionBanner\";\nimport TableTitle from \"./components/TableTitle\";\nimport TableToolbarContent from \"./components/TableToolbarContent\";\nimport EnhancedTable from \"./components/EnhancedTable\";\n\nexport default function UniversalTable({\n loading,\n setLoading,\n onReload,\n lazyloading = false,\n currentPage,\n totalPages,\n data,\n headers,\n name,\n reloadBtnLoading,\n subTable = false,\n hideBadge = false,\n selectRows = false,\n selectID,\n selectIcon,\n onSelection,\n pageSizeOptions,\n persistSearch,\n}) {\n const head = headers || [];\n const { rows, searchTerm, setSearchTerm } = useSearchableRows(data, head);\n const { selected, clearSelection, handleSelectAllClick, handleClick } =\n useSelectableRows({\n rows,\n selectRows,\n selectID,\n });\n\n const handleSearchChange = React.useCallback(\n (value) => {\n clearSelection();\n setSearchTerm(value);\n },\n [clearSelection, setSearchTerm],\n );\n\n return (\n <>\n <LazyLoadingIndicator\n show={lazyloading}\n currentPage={currentPage}\n totalPages={totalPages}\n />\n <Paper\n sx={{\n ...(subTable && { boxShadow: \"none\" }),\n }}\n >\n <TableSelectionBanner\n selected={selected}\n onSelection={onSelection}\n selectIcon={selectIcon}\n />\n <TableTitle name={name} subTable={subTable} />\n {!subTable && (\n <TableToolbarContent\n setLoading={setLoading}\n onReload={onReload}\n reloadBtnLoading={reloadBtnLoading}\n searchTerm={searchTerm}\n onSearchChange={handleSearchChange}\n name={name}\n persistSearch={persistSearch}\n />\n )}\n <EnhancedTable\n headers={head}\n rows={rows}\n resetFlag={searchTerm}\n subTable={subTable}\n hideBadge={hideBadge}\n loading={loading}\n selectRows={selectRows}\n handleSelectAllClick={handleSelectAllClick}\n handleClick={handleClick}\n selected={selected}\n selectID={selectID}\n pageSizeOptions={pageSizeOptions}\n name={name}\n />\n </Paper>\n </>\n );\n}\n\nUniversalTable.propTypes = {\n loading: PropTypes.bool,\n setLoading: PropTypes.func,\n /** Preferred callback — fires when the user clicks reload. */\n onReload: PropTypes.func,\n lazyloading: PropTypes.bool,\n currentPage: PropTypes.number,\n totalPages: PropTypes.number,\n data: PropTypes.array.isRequired,\n headers: PropTypes.array.isRequired,\n name: PropTypes.string,\n reloadBtnLoading: PropTypes.bool,\n subTable: PropTypes.bool,\n hideBadge: PropTypes.bool,\n selectRows: PropTypes.bool,\n selectID: PropTypes.string,\n selectIcon: PropTypes.element,\n onSelection: PropTypes.func,\n /** Override default page size options (e.g. [10, 25, 50]). Default auto-computed. */\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n /** Persist search term to sessionStorage (requires name prop). Default: false */\n persistSearch: PropTypes.bool,\n};\n"],"names":["LazyLoadingIndicator","_ref","show","currentPage","totalPages","React","createElement","Collapse","timeout","unmountOnExit","Box","sx","width","p","Typography","variant","color","mb","LinearProgress","value","propTypes","PropTypes","bool","isRequired","number","visuallyHidden","border","clip","height","margin","overflow","padding","position","whiteSpace","getSelectableRowId","row","index","selectID","getSearchableColumnIds","headers","filter","column","searchable","map","id","filterRows","data","searchTerm","filterOptions","term","toLocaleLowerCase","some","filterOption","String","includes","getPageOptions","rowCount","splitHeaders","reduce","groups","header","subRow","subTables","push","columns","descendingComparator","a","b","orderBy","getComparator","order","browserDateTimeFormatter","Intl","DateTimeFormat","undefined","year","month","day","hour","minute","hour12","formatCellValue","rowValues","raw","date","d","Date","Number","isNaN","getTime","format","stableSort","array","comparator","dateColumns","Set","object","stabilizedThis","el","sortKey","_objectSpread","property","has","parsed","sort","useSearchableRows","_React$useState","useState","_React$useState2","_slicedToArray","setSearchTerm","useMemo","rows","useSelectableRows","selectRows","selected","setSelected","clearSelection","useCallback","handleSelectAllClick","event","target","checked","newSelected","handleClick","previous","selectedId","concat","_toConsumableArray","TableSelectionBanner","onSelection","selectIcon","length","display","justifyContent","bgcolor","theme","alpha","palette","primary","main","action","activatedOpacity","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","component","IconButton","onClick","Task","func","element","TableTitle","name","subTable","string","ReloadBtn","setLoading","loading","onReload","canReload","Tooltip","title","Button","disabled","RefreshIcon","FancySearch","onSubmit","search","setSearch","_React$useState3","Boolean","_React$useState4","hover","setHover","expanded","handleSubmit","e","preventDefault","handleEndHover","isUserType","useRef","useEffect","current","timer","setTimeout","clearTimeout","Paper","elevation","alignItems","transition","divider","onMouseEnter","onMouseLeave","onKeyDown","key","InputBase","placeholder","onChange","ml","onBlur","orientation","Stack","direction","spacing","mr","Clear","Divider","flexItem","type","Search","SearchArea","props","setFinalVal","searchName","persistSearch","searchVal","_sessionStorage$getIt","sessionStorage","getItem","TableToolbarContent","reloadBtnLoading","onSearchChange","Toolbar","pl","sm","pr","xs","pt","md","flex","useEnhancedTableState","resetFlag","setOrder","setOrderBy","_React$useState5","page","rowsPerPage","_React$useState6","pagination","setPagination","handleRequestSort","isAsc","handleChangePage","newPage","handleChangeRowsPerPage","parseInt","EnhancedTableHead","onRequestSort","numSelected","onSelectAllClick","createSortHandler","TableHead","TableRow","TableCell","Checkbox","indeterminate","headings","headCell","align","numeric","sortDirection","TableSortLabel","active","label","oneOf","UniversalTable","lazy","SubRowToggleCell","isOpen","onToggle","hideBadge","stopPropagation","iconColor","Badge","badgeContent","invisible","anchorOrigin","vertical","horizontal","text","closeIcon","RemoveCircle","openIcon","AddCircle","SubTableRow","_ref2","table","colSpan","style","paddingBottom","paddingTop","Suspense","fallback","subTitle","renderDataCells","_extends","cellProps","DataRow","memo","isSelected","_React$useMemo","isItemSelected","rowID","Array","from","fill","reveal","setReveal","toggleSubRow","next","handleRowKeyDown","Fragment","tabIndex","role","oneOfType","TableLoader","TableBody","_","cellIndex","Skeleton","EnhancedTable","_useEnhancedTableStat","emptyRows","Math","max","min","visibleRows","slice","TableContainer","Table","minWidth","size","rowKey","TablePagination","rowsPerPageOptions","pageSizeOptions","count","onPageChange","onRowsPerPageChange","showFirstButton","showLastButton","arrayOf","_ref$lazyloading","lazyloading","_ref$subTable","_ref$hideBadge","_ref$selectRows","head","_useSearchableRows","_useSelectableRows","handleSearchChange","boxShadow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAA0C;AAAA,EAAA,IAApCC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;AAC3D,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAACC,QAAQ,EAAA;AAAC,IAAA,IAAA,EAAIL,IAAK;AAACM,IAAAA,OAAO,EAAC,MAAM;IAACC,aAAa,EAAA;AAAA,GAAA,eAC9CJ,KAAA,CAAAC,aAAA,CAACI,GAAG,EAAA;AAACC,IAAAA,EAAE,EAAE;AAAEC,MAAAA,KAAK,EAAE,MAAM;AAAEC,MAAAA,CAAC,EAAE;AAAE;AAAE,GAAA,eAC/BR,KAAA,CAAAC,aAAA,CAACQ,UAAU,EAAA;AAACC,IAAAA,OAAO,EAAC,OAAO;AAACC,IAAAA,KAAK,EAAC,gBAAgB;AAACL,IAAAA,EAAE,EAAE;AAAEM,MAAAA,EAAE,EAAE;AAAE;AAAE,GAAA,EAAC,eACnD,EAACd,WAAW,EAAC,MAAI,EAACC,UAAU,EAAC,KAChC,CAAC,eACbC,KAAA,CAAAC,aAAA,CAACY,cAAc,EAAA;AACbH,IAAAA,OAAO,EAAC,aAAa;AACrBI,IAAAA,KAAK,EAAGhB,WAAW,GAAGC,UAAU,GAAI;GACrC,CACE,CACG,CAAC;AAEf,CAAC;AAEDJ,oBAAoB,CAACoB,SAAS,GAAG;AAC/BlB,EAAAA,IAAI,EAAEmB,SAAS,CAACC,IAAI,CAACC,UAAU;EAC/BpB,WAAW,EAAEkB,SAAS,CAACG,MAAM;EAC7BpB,UAAU,EAAEiB,SAAS,CAACG;AACxB,CAAC;;ACxBD;AACA;AACA;AACA;AACA;AACO,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,MAAM,EAAE,KAAK;EACbC,MAAM,EAAE,EAAE;AACVC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,OAAO,EAAE,CAAC;AACVC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,UAAU,EAAE,QAAQ;AACpBrB,EAAAA,KAAK,EAAE;AACT,CAAC;AAEM,SAASsB,kBAAkBA,CAACC,GAAG,EAAEC,KAAK,EAAEC,QAAQ,EAAE;AACvD,EAAA,OAAOA,QAAQ,GAAGF,GAAG,CAACE,QAAQ,CAAC,GAAGD,KAAK;AACzC;AAEO,SAASE,sBAAsBA,CAACC,OAAO,EAAE;AAC9C,EAAA,OAAOA,OAAO,CACXC,MAAM,CAAC,UAACC,MAAM,EAAA;IAAA,OAAKA,MAAM,CAACC,UAAU;AAAA,EAAA,CAAA,CAAC,CACrCC,GAAG,CAAC,UAACF,MAAM,EAAA;IAAA,OAAKA,MAAM,CAACG,EAAE;EAAA,CAAA,CAAC;AAC/B;AAEO,SAASC,UAAUA,CAACC,IAAI,EAAEC,UAAU,EAAEC,aAAa,EAAE;EAC1D,IAAI,CAACD,UAAU,EAAE;AACf,IAAA,OAAOD,IAAI;AACb,EAAA;AAEA,EAAA,IAAMG,IAAI,GAAGF,UAAU,CAACG,iBAAiB,EAAE;AAC3C,EAAA,OAAOJ,IAAI,CAACN,MAAM,CAAC,UAACL,GAAG,EAAA;AAAA,IAAA,OACrBa,aAAa,CAACG,IAAI,CAAC,UAACC,YAAY,EAAA;AAAA,MAAA,OAC9BC,MAAM,CAAClB,GAAG,CAACiB,YAAY,CAAC,CAAC,CAACF,iBAAiB,EAAE,CAACI,QAAQ,CAACL,IAAI,CAAC;AAAA,IAAA,CAC9D,CAAC;AAAA,EAAA,CACH,CAAC;AACH;AAEO,SAASM,cAAcA,CAACC,QAAQ,EAAE;AACvC,EAAA,IAAIA,QAAQ,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;EAC7B,IAAIA,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,EAAEA,QAAQ,CAAC;EACxC,IAAIA,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAEA,QAAQ,CAAC;AAC5C,EAAA,IAAIA,QAAQ,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAEA,QAAQ,CAAC;AAC/C,EAAA,IAAIA,QAAQ,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAEA,QAAQ,CAAC;AACpD,EAAA,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAEA,QAAQ,CAAC;AACvC;AAEO,SAASC,YAAYA,CAAClB,OAAO,EAAE;EACpC,OAAOA,OAAO,CAACmB,MAAM,CACnB,UAACC,MAAM,EAAEC,MAAM,EAAK;IAClB,IAAIA,MAAM,CAACC,MAAM,EAAE;AACjBF,MAAAA,MAAM,CAACG,SAAS,CAACC,IAAI,CAACH,MAAM,CAAC;AAC/B,IAAA,CAAC,MAAM;AACLD,MAAAA,MAAM,CAACK,OAAO,CAACD,IAAI,CAACH,MAAM,CAAC;AAC7B,IAAA;AAEA,IAAA,OAAOD,MAAM;AACf,EAAA,CAAC,EACD;AAAEG,IAAAA,SAAS,EAAE,EAAE;AAAEE,IAAAA,OAAO,EAAE;AAAG,GAC/B,CAAC;AACH;AAEO,SAASC,oBAAoBA,CAACC,CAAC,EAAEC,CAAC,EAAEC,OAAO,EAAE;EAClD,IAAID,CAAC,CAACC,OAAO,CAAC,GAAGF,CAAC,CAACE,OAAO,CAAC,EAAE;AAC3B,IAAA,OAAO,EAAE;AACX,EAAA;EACA,IAAID,CAAC,CAACC,OAAO,CAAC,GAAGF,CAAC,CAACE,OAAO,CAAC,EAAE;AAC3B,IAAA,OAAO,CAAC;AACV,EAAA;AACA,EAAA,OAAO,CAAC;AACV;AAEO,SAASC,aAAaA,CAACC,KAAK,EAAEF,OAAO,EAAE;AAC5C,EAAA,OAAOE,KAAK,KAAK,MAAM,GACnB,UAACJ,CAAC,EAAEC,CAAC,EAAA;AAAA,IAAA,OAAKF,oBAAoB,CAACC,CAAC,EAAEC,CAAC,EAAEC,OAAO,CAAC;EAAA,CAAA,GAC7C,UAACF,CAAC,EAAEC,CAAC,EAAA;IAAA,OAAK,CAACF,oBAAoB,CAACC,CAAC,EAAEC,CAAC,EAAEC,OAAO,CAAC;AAAA,EAAA,CAAA;AACpD;AAEA,IAAMG,wBAAwB,GAAG,IAAIC,IAAI,CAACC,cAAc,CAACC,SAAS,EAAE;AAClEC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,GAAG,EAAE,SAAS;AACdC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,MAAM,EAAE;AACV,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAACrB,MAAM,EAAEsB,SAAS,EAAE;AACjD,EAAA,IAAMC,GAAG,GAAGD,SAAS,CAACtB,MAAM,CAAChB,EAAE,CAAC;AAChC,EAAA,IAAI,CAACgB,MAAM,CAACwB,IAAI,EAAE;AAChB,IAAA,OAAOD,GAAG;AACZ,EAAA;;AAEA;AACA,EAAA,IAAIA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKT,SAAS,EAAE;AACrC,IAAA,OAAOS,GAAG;AACZ,EAAA;AAEA,EAAA,IAAME,CAAC,GAAG,IAAIC,IAAI,CAACH,GAAG,CAAC;EACvB,IAAII,MAAM,CAACC,KAAK,CAACH,CAAC,CAACI,OAAO,EAAE,CAAC,EAAE;AAC7B,IAAA,OAAON,GAAG;AACZ,EAAA;AAEA,EAAA,OAAOZ,wBAAwB,CAACmB,MAAM,CAACL,CAAC,CAAC;AAC3C;AAEO,SAASM,UAAUA,CAACC,KAAK,EAAEC,UAAU,EAAEtD,OAAO,EAAE;EACrD,IAAMuD,WAAW,GAAG,IAAIC,GAAG,CACzBxD,OAAO,CAACC,MAAM,CAAC,UAACwD,MAAM,EAAA;IAAA,OAAKA,MAAM,CAACZ,IAAI;AAAA,EAAA,CAAA,CAAC,CAACzC,GAAG,CAAC,UAACxB,KAAK,EAAA;IAAA,OAAKA,KAAK,CAACyB,EAAE;AAAA,EAAA,CAAA,CACjE,CAAC;;AAED;AACA;AACA;AACA;AACA;EACA,IAAMqD,cAAc,GAAGL,KAAK,CAACjD,GAAG,CAAC,UAACuD,EAAE,EAAE9D,KAAK,EAAK;AAC9C,IAAA,IAAM+D,OAAO,GAAAC,cAAA,CAAA,EAAA,EAAQF,EAAE,CAAE;AACzB,IAAA,KAAK,IAAMG,QAAQ,IAAIF,OAAO,EAAE;AAC9B,MAAA,IAAIL,WAAW,CAACQ,GAAG,CAACD,QAAQ,CAAC,EAAE;AAC7B,QAAA,IAAME,MAAM,GAAGhB,MAAM,CAAC,IAAID,IAAI,CAACa,OAAO,CAACE,QAAQ,CAAC,CAAC,CAAC;AAClD;AACA;AACA,QAAA,IAAI,CAACd,MAAM,CAACC,KAAK,CAACe,MAAM,CAAC,EAAE;AACzBJ,UAAAA,OAAO,CAACE,QAAQ,CAAC,GAAGE,MAAM;AAC5B,QAAA;AACF,MAAA;AACF,IAAA;AACA,IAAA,OAAO,CAACL,EAAE,EAAEC,OAAO,EAAE/D,KAAK,CAAC;AAC7B,EAAA,CAAC,CAAC;AAEF6D,EAAAA,cAAc,CAACO,IAAI,CAAC,UAACtC,CAAC,EAAEC,CAAC,EAAK;AAC5B,IAAA,IAAMG,KAAK,GAAGuB,UAAU,CAAC3B,CAAC,CAAC,CAAC,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,IAAA,IAAIG,KAAK,KAAK,CAAC,EAAE,OAAOA,KAAK;IAC7B,OAAOJ,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC;AACpB,EAAA,CAAC,CAAC;AACF,EAAA,OAAO8B,cAAc,CAACtD,GAAG,CAAC,UAACuD,EAAE,EAAA;IAAA,OAAKA,EAAE,CAAC,CAAC,CAAC;EAAA,CAAA,CAAC;AAC1C;;ACjJe,SAASO,iBAAiBA,CAAC3D,IAAI,EAAEP,OAAO,EAAE;AACvD,EAAA,IAAAmE,eAAA,GAAoCrG,KAAK,CAACsG,QAAQ,CAAC,EAAE,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAA/C3D,IAAAA,UAAU,GAAA6D,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAM5D,aAAa,GAAG3C,KAAK,CAAC0G,OAAO,CACjC,YAAA;IAAA,OAAMzE,sBAAsB,CAACC,OAAO,CAAC;EAAA,CAAA,EACrC,CAACA,OAAO,CACV,CAAC;AAED,EAAA,IAAMyE,IAAI,GAAG3G,KAAK,CAAC0G,OAAO,CACxB,YAAA;AAAA,IAAA,OAAMlE,UAAU,CAACC,IAAI,EAAEC,UAAU,EAAEC,aAAa,CAAC;AAAA,EAAA,CAAA,EACjD,CAACF,IAAI,EAAEE,aAAa,EAAED,UAAU,CAClC,CAAC;EAED,OAAO;AACLiE,IAAAA,IAAI,EAAJA,IAAI;AACJjE,IAAAA,UAAU,EAAVA,UAAU;AACV+D,IAAAA,aAAa,EAAbA;GACD;AACH;;AClBe,SAASG,iBAAiBA,CAAAhH,IAAA,EAAiC;AAAA,EAAA,IAA9B+G,IAAI,GAAA/G,IAAA,CAAJ+G,IAAI;IAAEE,UAAU,GAAAjH,IAAA,CAAViH,UAAU;IAAE7E,QAAQ,GAAApC,IAAA,CAARoC,QAAQ;AACpE,EAAA,IAAAqE,eAAA,GAAgCrG,KAAK,CAACsG,QAAQ,CAAC,EAAE,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAA3CS,IAAAA,QAAQ,GAAAP,gBAAA,CAAA,CAAA,CAAA;AAAEQ,IAAAA,WAAW,GAAAR,gBAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMS,cAAc,GAAGhH,KAAK,CAACiH,WAAW,CAAC,YAAM;IAC7CF,WAAW,CAAC,EAAE,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMG,oBAAoB,GAAGlH,KAAK,CAACiH,WAAW,CAC5C,UAACE,KAAK,EAAK;AACT,IAAA,IAAI,CAACA,KAAK,CAACC,MAAM,CAACC,OAAO,EAAE;MACzBN,WAAW,CAAC,EAAE,CAAC;AACf,MAAA;AACF,IAAA;IAEA,IAAMO,WAAW,GAAGX,IAAI,CAACrE,GAAG,CAAC,UAACR,GAAG,EAAEC,KAAK,EAAA;AAAA,MAAA,OACtCF,kBAAkB,CAACC,GAAG,EAAEC,KAAK,EAAEC,QAAQ,CAAC;AAAA,IAAA,CAC1C,CAAC;IACD+E,WAAW,CAACO,WAAW,CAAC;AAC1B,EAAA,CAAC,EACD,CAACX,IAAI,EAAE3E,QAAQ,CACjB,CAAC;EAED,IAAMuF,WAAW,GAAGvH,KAAK,CAACiH,WAAW,CACnC,UAACE,KAAK,EAAE5E,EAAE,EAAK;IACb,IAAI,CAACsE,UAAU,EAAE;AACf,MAAA;AACF,IAAA;IAEAE,WAAW,CAAC,UAACS,QAAQ,EAAA;AAAA,MAAA,OACnBA,QAAQ,CAACvE,QAAQ,CAACV,EAAE,CAAC,GACjBiF,QAAQ,CAACrF,MAAM,CAAC,UAACsF,UAAU,EAAA;QAAA,OAAKA,UAAU,KAAKlF,EAAE;MAAA,CAAA,CAAC,GAAA,EAAA,CAAAmF,MAAA,CAAAC,kBAAA,CAC9CH,QAAQ,CAAA,EAAA,CAAEjF,EAAE,CAAA,CAAC;AAAA,IAAA,CACvB,CAAC;AACH,EAAA,CAAC,EACD,CAACsE,UAAU,CACb,CAAC;EAED,OAAO;AACLC,IAAAA,QAAQ,EAARA,QAAQ;AACRE,IAAAA,cAAc,EAAdA,cAAc;AACdE,IAAAA,oBAAoB,EAApBA,oBAAoB;AACpBK,IAAAA,WAAW,EAAXA;GACD;AACH;;ACxCA,SAASK,oBAAoBA,CAAAhI,IAAA,EAAwC;AAAA,EAAA,IAArCkH,QAAQ,GAAAlH,IAAA,CAARkH,QAAQ;IAAEe,WAAW,GAAAjI,IAAA,CAAXiI,WAAW;IAAEC,UAAU,GAAAlI,IAAA,CAAVkI,UAAU;AAC/D,EAAA,oBACE9H,KAAA,CAAAC,aAAA,CAACC,QAAQ,EAAA;AAAC,IAAA,IAAA,EAAI4G,QAAQ,CAACiB,MAAM,GAAG,CAAE;IAAC3H,aAAa,EAAA;AAAA,GAAA,eAC9CJ,KAAA,CAAAC,aAAA,CAACI,GAAG,EAAA;AACFC,IAAAA,EAAE,EAAE;AACFE,MAAAA,CAAC,EAAE,CAAC;AACJwH,MAAAA,OAAO,EAAE,MAAM;AACfC,MAAAA,cAAc,EAAE,eAAe;AAC/BC,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAGC,KAAK,EAAA;AAAA,QAAA,OACbC,KAAK,CACHD,KAAK,CAACE,OAAO,CAACC,OAAO,CAACC,IAAI,EAC1BJ,KAAK,CAACE,OAAO,CAACG,MAAM,CAACC,gBACvB,CAAC;AAAA,MAAA,CAAA;AACHC,MAAAA,YAAY,EAAE,CAAC;AACfC,MAAAA,sBAAsB,EAAE,CAAC;AACzBC,MAAAA,uBAAuB,EAAE;AAC3B;AAAE,GAAA,eAEF5I,KAAA,CAAAC,aAAA,CAACQ,UAAU,EAAA;AAACC,IAAAA,OAAO,EAAC,IAAI;AAAC6B,IAAAA,EAAE,EAAC,YAAY;AAACsG,IAAAA,SAAS,EAAC;GAAK,EACrD/B,QAAQ,CAACiB,MAAM,EAAC,WACP,CAAC,eAEb/H,KAAA,CAAAC,aAAA,CAAC6I,UAAU,EAAA;IAACC,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQlB,WAAW,CAACf,QAAQ,CAAC;AAAA,IAAA;GAAC,EAC9CgB,UAAU,iBAAI9H,KAAA,CAAAC,aAAA,CAAC+I,IAAI,EAAA,IAAE,CACZ,CACT,CACG,CAAC;AAEf;AAEApB,oBAAoB,CAAC7G,SAAS,GAAG;AAC/B+F,EAAAA,QAAQ,EAAE9F,SAAS,CAACuE,KAAK,CAACrE,UAAU;EACpC2G,WAAW,EAAE7G,SAAS,CAACiI,IAAI;EAC3BnB,UAAU,EAAE9G,SAAS,CAACkI;AACxB,CAAC;;ACpCD,SAASC,UAAUA,CAAAvJ,IAAA,EAAqB;AAAA,EAAA,IAAlBwJ,IAAI,GAAAxJ,IAAA,CAAJwJ,IAAI;IAAEC,QAAQ,GAAAzJ,IAAA,CAARyJ,QAAQ;AAClC,EAAA,oBACErJ,KAAA,CAAAC,aAAA,CAACQ,UAAU,EAAA;AACTC,IAAAA,OAAO,EAAE2I,QAAQ,GAAG,IAAI,GAAG,IAAK;AAChC1I,IAAAA,KAAK,EAAE0I,QAAQ,GAAG,WAAW,GAAG,SAAU;AAC1C/I,IAAAA,EAAE,EAAE;AAAEE,MAAAA,CAAC,EAAE;AAAE;AAAE,GAAA,EAEZ4I,IACS,CAAC;AAEjB;AAEAD,UAAU,CAACpI,SAAS,GAAG;EACrBqI,IAAI,EAAEpI,SAAS,CAACsI,MAAM;EACtBD,QAAQ,EAAErI,SAAS,CAACC;AACtB,CAAC;;ACdD,SAASsI,SAASA,CAAA3J,IAAA,EAAoC;AAAA,EAAA,IAAjC4J,UAAU,GAAA5J,IAAA,CAAV4J,UAAU;IAAEC,OAAO,GAAA7J,IAAA,CAAP6J,OAAO;IAAEC,QAAQ,GAAA9J,IAAA,CAAR8J,QAAQ;EAChD,IAAMC,SAAS,GAAG,OAAOD,QAAQ,KAAK,UAAU,IAAI,OAAOF,UAAU,KAAK,UAAU;EAEpF,IAAI,CAACG,SAAS,EAAE;AACd,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAMpC,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACxB,IAAA,IAAI,OAAOmC,QAAQ,KAAK,UAAU,EAAE;AAClCA,MAAAA,QAAQ,EAAE;AACZ,IAAA,CAAC,MAAM,IAAI,OAAOF,UAAU,KAAK,UAAU,EAAE;MAC3CA,UAAU,CAAC,IAAI,CAAC;AAClB,IAAA;EACF,CAAC;AAED,EAAA,oBACExJ,KAAA,CAAAC,aAAA,CAAC2J,OAAO,EAAA;AAACC,IAAAA,KAAK,EAAC;AAAQ,GAAA,eACrB7J,KAAA,CAAAC,aAAA,CAAC6J,MAAM,EAAA;AACLpJ,IAAAA,OAAO,EAAC,WAAW;AACnBC,IAAAA,KAAK,EAAC,SAAS;AACfoI,IAAAA,OAAO,EAAExB,WAAY;AACrBwC,IAAAA,QAAQ,EAAEN;GAAQ,eAElBzJ,KAAA,CAAAC,aAAA,CAAC+J,WAAW,EAAA,IAAE,CACR,CACD,CAAC;AAEd;AAEAT,SAAS,CAACxI,SAAS,GAAG;EACpByI,UAAU,EAAExI,SAAS,CAACiI,IAAI;EAC1BQ,OAAO,EAAEzI,SAAS,CAACC,IAAI;AACvB;EACAyI,QAAQ,EAAE1I,SAAS,CAACiI;AACtB,CAAC;;AC3Bc,SAASgB,WAAWA,CAAArK,IAAA,EAAsB;AAAA,EAAA,IAAnBkB,KAAK,GAAAlB,IAAA,CAALkB,KAAK;IAAEoJ,QAAQ,GAAAtK,IAAA,CAARsK,QAAQ;AACnD,EAAA,IAAA7D,eAAA,GAA4BrG,KAAK,CAACsG,QAAQ,CAACxF,KAAK,CAAC;IAAAyF,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAA1C8D,IAAAA,MAAM,GAAA5D,gBAAA,CAAA,CAAA,CAAA;AAAE6D,IAAAA,SAAS,GAAA7D,gBAAA,CAAA,CAAA,CAAA;EACxB,IAAA8D,gBAAA,GAA0BrK,KAAK,CAACsG,QAAQ,CAACgE,OAAO,CAACH,MAAM,CAAC,CAAC;IAAAI,gBAAA,GAAA/D,cAAA,CAAA6D,gBAAA,EAAA,CAAA,CAAA;AAAlDG,IAAAA,KAAK,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,QAAQ,GAAAF,gBAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAMG,QAAQ,GAAGF,KAAK,IAAIF,OAAO,CAACH,MAAM,CAAC;AAEzC,EAAA,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAC,EAAK;IAC1BA,CAAC,CAACC,cAAc,EAAE;IAClBX,QAAQ,CAACC,MAAM,CAAC;EAClB,CAAC;AAED,EAAA,IAAMW,cAAc,GAAG,SAAjBA,cAAcA,GAAS;IAC3BL,QAAQ,CAAC,KAAK,CAAC;EACjB,CAAC;;AAED;AACA;AACA;AACA,EAAA,IAAMM,UAAU,GAAG/K,KAAK,CAACgL,MAAM,CAAC,KAAK,CAAC;EAEtChL,KAAK,CAACiL,SAAS,CAAC,YAAM;IACpB,IAAIF,UAAU,CAACG,OAAO,EAAE;AACtB;MACAH,UAAU,CAACG,OAAO,GAAG,KAAK;AAC1B,MAAA,IAAMC,KAAK,GAAGC,UAAU,CAAC,YAAM;QAC7BlB,QAAQ,CAACC,MAAM,CAAC;MAClB,CAAC,EAAE,GAAG,CAAC;MACP,OAAO,YAAA;QAAA,OAAMkB,YAAY,CAACF,KAAK,CAAC;AAAA,MAAA,CAAA;AAClC,IAAA;AACA;AACA;IACAf,SAAS,CAACtJ,KAAK,CAAC;AAChB,IAAA,OAAOuD,SAAS;EAClB,CAAC,EAAE,CAAC8F,MAAM,EAAErJ,KAAK,EAAEoJ,QAAQ,CAAC,CAAC;EAE7B,oBACElK,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMiK,IAAAA,QAAQ,EAAES;AAAa,GAAA,eAC3B3K,KAAA,CAAAC,aAAA,CAACqL,KAAK,EAAA;AACJC,IAAAA,SAAS,EAAE,CAAE;AACbjL,IAAAA,EAAE,EAAE;AACFoI,MAAAA,YAAY,EAAEgC,QAAQ,GAAG,MAAM,GAAG,MAAM;AACxC1C,MAAAA,OAAO,EAAE,MAAM;AACfwD,MAAAA,UAAU,EAAE,QAAQ;AACpBC,MAAAA,UAAU,EAAE,sBAAsB;AAClCjL,MAAAA,CAAC,EAAEkK,QAAQ,GAAG,CAAC,GAAG,GAAG;AACrBnK,MAAAA,KAAK,EAAE,aAAa;AACpBc,MAAAA,MAAM,EAAE,SAARA,MAAMA,CAAG8G,KAAK,EAAA;AAAA,QAAA,OAAA,YAAA,CAAAT,MAAA,CAAkBS,KAAK,CAACE,OAAO,CAACqD,OAAO,CAAA;MAAA,CAAE;AACvD9K,MAAAA,EAAE,EAAE;KACJ;IACF+K,YAAY,EAAE,SAAdA,YAAYA,GAAA;MAAA,OAAQlB,QAAQ,CAAC,IAAI,CAAC;IAAA,CAAC;AACnCmB,IAAAA,YAAY,EAAEd,cAAe;AAC7Be,IAAAA,SAAS,EAAE,SAAXA,SAASA,CAAGjB,CAAC,EAAA;MAAA,OAAKA,CAAC,CAACkB,GAAG,KAAK,OAAO,IAAInB,YAAY,CAACC,CAAC,CAAC;AAAA,IAAA;AAAC,GAAA,eAEvD5K,KAAA,CAAAC,aAAA,CAAC8L,SAAS,EAAA;AACRC,IAAAA,WAAW,EAAC,QAAQ;AACpBlL,IAAAA,KAAK,EAAEqJ,MAAO;AACd8B,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGrB,CAAC,EAAK;MACfG,UAAU,CAACG,OAAO,GAAG,IAAI;AACzBd,MAAAA,SAAS,CAACQ,CAAC,CAACxD,MAAM,CAACtG,KAAK,CAAC;IAC3B,CAAE;AACFR,IAAAA,EAAE,EAAAyF,cAAA,CAAA;AACAmG,MAAAA,EAAE,EAAE,CAAC;AACL3L,MAAAA,KAAK,EAAEmK,QAAQ,GAAG,MAAM,GAAG,CAAC;AAC5Be,MAAAA,UAAU,EAAE;AAAwB,KAAA,EAChCf,QAAQ,GAAG,EAAE,GAAG;AAAElJ,MAAAA,MAAM,EAAE;AAAE,KAAC,CACjC;AACF2K,IAAAA,MAAM,EAAErB;AAAe,GACxB,CAAC,eAEF9K,KAAA,CAAAC,aAAA,CAACC,QAAQ,EAAA;IACP,IAAA,EAAIoK,OAAO,CAACH,MAAM,CAAE;AACpBiC,IAAAA,WAAW,EAAC,YAAY;IACxBhM,aAAa,EAAA;AAAA,GAAA,eAEbJ,KAAA,CAAAC,aAAA,CAACoM,KAAK,EAAA;AACJC,IAAAA,SAAS,EAAC,KAAK;AACfd,IAAAA,UAAU,EAAC,QAAQ;AACnBe,IAAAA,OAAO,EAAE,CAAE;AACXjM,IAAAA,EAAE,EAAE;AAAEkM,MAAAA,EAAE,EAAE;AAAE;AAAE,GAAA,eAEdxM,KAAA,CAAAC,aAAA,CAAC6I,UAAU,EAAA;AACTC,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACbgC,UAAU,CAACG,OAAO,GAAG,KAAK;MAC1Bd,SAAS,CAAC,EAAE,CAAC;AACb;MACAF,QAAQ,CAAC,EAAE,CAAC;AACd,IAAA;AAAE,GAAA,eAEFlK,KAAA,CAAAC,aAAA,CAACwM,KAAK,EAAA,IAAE,CACE,CAAC,eACbzM,KAAA,CAAAC,aAAA,CAACyM,OAAO,EAAA;AAACN,IAAAA,WAAW,EAAC,UAAU;IAACO,QAAQ,EAAA;GAAE,CACrC,CACC,CAAC,eAEX3M,KAAA,CAAAC,aAAA,CAAC6I,UAAU,EAAA;AAACC,IAAAA,OAAO,EAAE4B,YAAa;AAACiC,IAAAA,IAAI,EAAC;GAAQ,eAC9C5M,KAAA,CAAAC,aAAA,CAAC4M,MAAM,EAAA,IAAE,CACC,CACP,CACH,CAAC;AAEX;AAEA5C,WAAW,CAAClJ,SAAS,GAAG;EACtBD,KAAK,EAAEE,SAAS,CAACsI,MAAM;AACvBY,EAAAA,QAAQ,EAAElJ,SAAS,CAACiI,IAAI,CAAC/H;AAC3B,CAAC;;AChHD,SAAS4L,UAAUA,CAACC,KAAK,EAAE;AACzB,EAAA,IAAQ7B,OAAO,GAA6C6B,KAAK,CAAzD7B,OAAO;IAAE8B,WAAW,GAAgCD,KAAK,CAAhDC,WAAW;IAAEC,UAAU,GAAoBF,KAAK,CAAnCE,UAAU;IAAEC,aAAa,GAAKH,KAAK,CAAvBG,aAAa;AAEvD,EAAA,IAAMC,SAAS,GAAGnN,KAAK,CAAC0G,OAAO,CAAC,YAAM;IACpC,IAAIwE,OAAO,KAAK7G,SAAS,IAAI6G,OAAO,KAAK,IAAI,EAAE,OAAOA,OAAO;IAC7D,IAAIgC,aAAa,IAAID,UAAU,EAAE;AAAA,MAAA,IAAAG,qBAAA;AAC/B,MAAA,OAAA,CAAAA,qBAAA,GAAOC,cAAc,CAACC,OAAO,cAAA5F,MAAA,CAAcuF,UAAU,CAAE,CAAC,MAAA,IAAA,IAAAG,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE;AAChE,IAAA;AACA,IAAA,OAAO,EAAE;EACX,CAAC,EAAE,CAAClC,OAAO,EAAEgC,aAAa,EAAED,UAAU,CAAC,CAAC;EAExC,oBACEjN,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK6L,IAAAA,GAAG,EAAC;AAAY,GAAA,eACnB9L,KAAA,CAAAC,aAAA,CAACgK,WAAW,EAAA;AAACnJ,IAAAA,KAAK,EAAEqM,SAAU;AAACjD,IAAAA,QAAQ,EAAE8C;AAAY,GAAE,CACpD,CAAC;AAEV;AAEAF,UAAU,CAAC/L,SAAS,GAAG;EACrBmK,OAAO,EAAElK,SAAS,CAACsI,MAAM;AACzB0D,EAAAA,WAAW,EAAEhM,SAAS,CAACiI,IAAI,CAAC/H,UAAU;EACtC+L,UAAU,EAAEjM,SAAS,CAACsI,MAAM;AAC5B;EACA4D,aAAa,EAAElM,SAAS,CAACC;AAC3B,CAAC;;ACtBD,SAASsM,mBAAmBA,CAAA3N,IAAA,EAQzB;AAAA,EAAA,IAPD4J,UAAU,GAAA5J,IAAA,CAAV4J,UAAU;IACVE,QAAQ,GAAA9J,IAAA,CAAR8J,QAAQ;IACR8D,gBAAgB,GAAA5N,IAAA,CAAhB4N,gBAAgB;IAChB9K,UAAU,GAAA9C,IAAA,CAAV8C,UAAU;IACV+K,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;IACdrE,IAAI,GAAAxJ,IAAA,CAAJwJ,IAAI;IACJ8D,aAAa,GAAAtN,IAAA,CAAbsN,aAAa;AAEb,EAAA,oBACElN,KAAA,CAAAC,aAAA,CAACyN,OAAO,EAAA;AACNpN,IAAAA,EAAE,EAAE;AACFqN,MAAAA,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE;OAAG;AACbC,MAAAA,EAAE,EAAE;AAAEC,QAAAA,EAAE,EAAE,CAAC;AAAEF,QAAAA,EAAE,EAAE;OAAG;AACpBG,MAAAA,EAAE,EAAE;AACN;AAAE,GAAA,eAEF/N,KAAA,CAAAC,aAAA,CAACoM,KAAK,EAAA;AACJE,IAAAA,OAAO,EAAE,CAAE;AACXD,IAAAA,SAAS,EAAE;AAAEwB,MAAAA,EAAE,EAAE,QAAQ;AAAEE,MAAAA,EAAE,EAAE;KAAQ;AACvC1N,IAAAA,EAAE,EAAE;AACFC,MAAAA,KAAK,EAAE,MAAM;AACbiL,MAAAA,UAAU,EAAE;AAAEsC,QAAAA,EAAE,EAAE,YAAY;AAAEE,QAAAA,EAAE,EAAE;AAAS;AAC/C;AAAE,GAAA,eAEFhO,KAAA,CAAAC,aAAA,CAACI,GAAG,EAAA;AAACC,IAAAA,EAAE,EAAE;AAAE2N,MAAAA,IAAI,EAAE;KAAa;AAAC1L,IAAAA,EAAE,EAAC;AAAY,GAAA,eAC5CvC,KAAA,CAAAC,aAAA,CAACsJ,SAAS,EAAA;AAACC,IAAAA,UAAU,EAAEA,UAAW;AAACE,IAAAA,QAAQ,EAAEA,QAAS;AAACD,IAAAA,OAAO,EAAE+D;AAAiB,GAAE,CAChF,CAAC,eACNxN,KAAA,CAAAC,aAAA,CAAC6M,UAAU,EAAA;AACT5B,IAAAA,OAAO,EAAExI,UAAW;AACpBsK,IAAAA,WAAW,EAAES,cAAe;AAC5BR,IAAAA,UAAU,EAAE7D,IAAK;AACjB8D,IAAAA,aAAa,EAAEA;GAChB,CACI,CACA,CAAC;AAEd;AAEAK,mBAAmB,CAACxM,SAAS,GAAG;EAC9ByI,UAAU,EAAExI,SAAS,CAACiI,IAAI;EAC1BS,QAAQ,EAAE1I,SAAS,CAACiI,IAAI;EACxBuE,gBAAgB,EAAExM,SAAS,CAACC,IAAI;EAChCyB,UAAU,EAAE1B,SAAS,CAACsI,MAAM;AAC5BmE,EAAAA,cAAc,EAAEzM,SAAS,CAACiI,IAAI,CAAC/H,UAAU;EACzCkI,IAAI,EAAEpI,SAAS,CAACsI,MAAM;EACtB4D,aAAa,EAAElM,SAAS,CAACC;AAC3B,CAAC;;ACnDc,SAASiN,qBAAqBA,CAAAtO,IAAA,EAAgC;AAAA,EAAA,IAA7B+G,IAAI,GAAA/G,IAAA,CAAJ+G,IAAI;IAAE0C,QAAQ,GAAAzJ,IAAA,CAARyJ,QAAQ;IAAE8E,SAAS,GAAAvO,IAAA,CAATuO,SAAS;AACvE,EAAA,IAAA9H,eAAA,GAA0BrG,KAAK,CAACsG,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAxCpC,IAAAA,KAAK,GAAAsC,gBAAA,CAAA,CAAA,CAAA;AAAE6H,IAAAA,QAAQ,GAAA7H,gBAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAA8D,gBAAA,GAA8BrK,KAAK,CAACsG,QAAQ,CAAC,EAAE,CAAC;IAAAiE,gBAAA,GAAA/D,cAAA,CAAA6D,gBAAA,EAAA,CAAA,CAAA;AAAzCtG,IAAAA,OAAO,GAAAwG,gBAAA,CAAA,CAAA,CAAA;AAAE8D,IAAAA,UAAU,GAAA9D,gBAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAA+D,gBAAA,GAAoCtO,KAAK,CAACsG,QAAQ,CAAC,YAAA;MAAA,OAAO;AACxDiI,QAAAA,IAAI,EAAE,CAAC;AACPC,QAAAA,WAAW,EAAEnF,QAAQ,GAAG1C,IAAI,CAACoB,MAAM,GAAG,CAAC;AACvCoG,QAAAA,SAAS,EAATA;OACD;AAAA,IAAA,CAAC,CAAC;IAAAM,gBAAA,GAAAjI,cAAA,CAAA8H,gBAAA,EAAA,CAAA,CAAA;AAJII,IAAAA,UAAU,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,gBAAA,CAAA,CAAA,CAAA;EAMhCzO,KAAK,CAACiL,SAAS,CAAC,YAAM;AACpB;IACA0D,aAAa,CAAC,UAACnH,QAAQ,EAAK;AAC1B,MAAA,IAAIA,QAAQ,CAAC2G,SAAS,KAAKA,SAAS,EAAE;AACpC,QAAA,OAAO3G,QAAQ;AACjB,MAAA;AAEA,MAAA,OAAAzB,cAAA,CAAAA,cAAA,CAAA,EAAA,EACKyB,QAAQ,CAAA,EAAA,EAAA,EAAA;AACX+G,QAAAA,IAAI,EAAE,CAAC;AACPJ,QAAAA,SAAS,EAATA;AAAS,OAAA,CAAA;AAEb,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;AAEf,EAAA,IAAMI,IAAI,GAAGG,UAAU,CAACH,IAAI;EAC5B,IAAMC,WAAW,GAAGnF,QAAQ,GAAG1C,IAAI,CAACoB,MAAM,GAAG2G,UAAU,CAACF,WAAW;EAEnE,IAAMI,iBAAiB,GAAG5O,KAAK,CAACiH,WAAW,CACzC,UAACE,KAAK,EAAEnB,QAAQ,EAAK;IACnB,IAAM6I,KAAK,GAAG9K,OAAO,KAAKiC,QAAQ,IAAI/B,KAAK,KAAK,KAAK;AACrDmK,IAAAA,QAAQ,CAACS,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAChCR,UAAU,CAACrI,QAAQ,CAAC;AACtB,EAAA,CAAC,EACD,CAAC/B,KAAK,EAAEF,OAAO,CACjB,CAAC;EAED,IAAM+K,gBAAgB,GAAG9O,KAAK,CAACiH,WAAW,CACxC,UAACE,KAAK,EAAE4H,OAAO,EAAK;IAClBJ,aAAa,CAAC,UAACnH,QAAQ,EAAA;AAAA,MAAA,OAAAzB,cAAA,CAAAA,cAAA,CAAA,EAAA,EAClByB,QAAQ,CAAA,EAAA,EAAA,EAAA;AACX+G,QAAAA,IAAI,EAAEQ;AAAO,OAAA,CAAA;AAAA,IAAA,CACb,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,IAAMC,uBAAuB,GAAGhP,KAAK,CAACiH,WAAW,CAC/C,UAACE,KAAK,EAAK;IACTwH,aAAa,CAAC,UAACnH,QAAQ,EAAA;AAAA,MAAA,OAAAzB,cAAA,CAAAA,cAAA,CAAA,EAAA,EAClByB,QAAQ,CAAA,EAAA,EAAA,EAAA;AACX+G,QAAAA,IAAI,EAAE,CAAC;QACPC,WAAW,EAAEtJ,MAAM,CAAC+J,QAAQ,CAAC9H,KAAK,CAACC,MAAM,CAACtG,KAAK,EAAE,EAAE;AAAC,OAAA,CAAA;AAAA,IAAA,CACpD,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,OAAO;AACLmD,IAAAA,KAAK,EAALA,KAAK;AACLF,IAAAA,OAAO,EAAPA,OAAO;AACPwK,IAAAA,IAAI,EAAJA,IAAI;AACJC,IAAAA,WAAW,EAAXA,WAAW;AACXI,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBE,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBE,IAAAA,uBAAuB,EAAvBA;GACD;AACH;;ACxDA,SAASE,iBAAiBA,CAACnC,KAAK,EAAE;AAChC,EAAA,IACE9I,KAAK,GAOH8I,KAAK,CAPP9I,KAAK;IACLF,OAAO,GAMLgJ,KAAK,CANPhJ,OAAO;IACPoL,aAAa,GAKXpC,KAAK,CALPoC,aAAa;IACbtI,UAAU,GAIRkG,KAAK,CAJPlG,UAAU;IACVuI,WAAW,GAGTrC,KAAK,CAHPqC,WAAW;IACXjM,QAAQ,GAEN4J,KAAK,CAFP5J,QAAQ;IACRkM,gBAAgB,GACdtC,KAAK,CADPsC,gBAAgB;AAGlB,EAAA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAItJ,QAAQ,EAAA;IAAA,OAAK,UAACmB,KAAK,EAAK;AACjDgI,MAAAA,aAAa,CAAChI,KAAK,EAAEnB,QAAQ,CAAC;IAChC,CAAC;AAAA,EAAA,CAAA;AAED,EAAA,oBACEhG,KAAA,CAAAC,aAAA,CAACsP,SAAS,EAAA,IAAA,eACRvP,KAAA,CAAAC,aAAA,CAACuP,QAAQ,QACN3I,UAAU,iBACT7G,KAAA,CAAAC,aAAA,CAACwP,SAAS,EAAA;AAAC/N,IAAAA,OAAO,EAAC;AAAU,GAAA,eAC3B1B,KAAA,CAAAC,aAAA,CAACyP,QAAQ,EAAA;AACP/O,IAAAA,KAAK,EAAC,SAAS;AACfgP,IAAAA,aAAa,EAAEP,WAAW,GAAG,CAAC,IAAIA,WAAW,GAAGjM,QAAS;AACzDkE,IAAAA,OAAO,EAAElE,QAAQ,GAAG,CAAC,IAAIiM,WAAW,KAAKjM,QAAS;AAClD8I,IAAAA,QAAQ,EAAEoD;GACX,CACQ,CACZ,EACAtC,KAAK,CAAC6C,QAAQ,CAACtN,GAAG,CAAC,UAACuN,QAAQ,EAAA;AAAA,IAAA,oBAC3B7P,KAAA,CAAAC,aAAA,CAACwP,SAAS,EAAA;MACR3D,GAAG,EAAE+D,QAAQ,CAACtN,EAAG;AACjBuN,MAAAA,KAAK,EAAED,QAAQ,CAACE,OAAO,GAAG,OAAO,GAAG,MAAO;AAC3CrO,MAAAA,OAAO,EAAC,QAAQ;MAChBsO,aAAa,EAAEjM,OAAO,KAAK8L,QAAQ,CAACtN,EAAE,GAAG0B,KAAK,GAAG;AAAM,KAAA,eAEvDjE,KAAA,CAAAC,aAAA,CAACgQ,cAAc,EAAA;AACbC,MAAAA,MAAM,EAAEnM,OAAO,KAAK8L,QAAQ,CAACtN,EAAG;MAChC+J,SAAS,EAAEvI,OAAO,KAAK8L,QAAQ,CAACtN,EAAE,GAAG0B,KAAK,GAAG,KAAM;AACnD8E,MAAAA,OAAO,EAAEuG,iBAAiB,CAACO,QAAQ,CAACtN,EAAE,CAAE;MACxCwH,QAAQ,EAAE8F,QAAQ,CAACrM;AAAO,KAAA,EAEzBqM,QAAQ,CAACM,KAAK,EACdpM,OAAO,KAAK8L,QAAQ,CAACtN,EAAE,gBACtBvC,KAAA,CAAAC,aAAA,CAACI,GAAG,EAAA;AAACwI,MAAAA,SAAS,EAAC,MAAM;AAACvI,MAAAA,EAAE,EAAEc;KAAe,EACtC6C,KAAK,KAAK,MAAM,GAAG,mBAAmB,GAAG,kBACvC,CAAC,GACJI,SACU,CACP,CAAC;EAAA,CACb,CACO,CACD,CAAC;AAEhB;AAEA6K,iBAAiB,CAACnO,SAAS,GAAG;AAC5BoO,EAAAA,aAAa,EAAEnO,SAAS,CAACiI,IAAI,CAAC/H,UAAU;AACxC+C,EAAAA,KAAK,EAAEjD,SAAS,CAACoP,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAClP,UAAU;AAClD6C,EAAAA,OAAO,EAAE/C,SAAS,CAACsI,MAAM,CAACpI,UAAU;AACpC0O,EAAAA,QAAQ,EAAE5O,SAAS,CAACuE,KAAK,CAACrE,UAAU;EACpC2F,UAAU,EAAE7F,SAAS,CAACC,IAAI;EAC1BmO,WAAW,EAAEpO,SAAS,CAACG,MAAM;EAC7BgC,QAAQ,EAAEnC,SAAS,CAACG,MAAM;EAC1BkO,gBAAgB,EAAErO,SAAS,CAACiI;AAC9B,CAAC;;AC/DD;AACA;AACA;AACA;AACA;AACA,IAAMoH,gBAAc,gBAAGrQ,KAAK,CAACsQ,IAAI,CAAC,YAAA;EAAA,OAAM,gEAA2B;AAAA,CAAA,CAAC;;AAEpE;AACA;AACA;;AAEO,SAASC,gBAAgBA,CAAA3Q,IAAA,EAAqD;AAAA,EAAA,IAAlD2D,MAAM,GAAA3D,IAAA,CAAN2D,MAAM;IAAEiN,MAAM,GAAA5Q,IAAA,CAAN4Q,MAAM;IAAEC,QAAQ,GAAA7Q,IAAA,CAAR6Q,QAAQ;IAAE5L,SAAS,GAAAjF,IAAA,CAATiF,SAAS;IAAE6L,SAAS,GAAA9Q,IAAA,CAAT8Q,SAAS;EAC/E,oBACE1Q,KAAA,CAAAC,aAAA,CAACwP,SAAS,qBACRzP,KAAA,CAAAC,aAAA,CAAC2J,OAAO,EAAA;AAACC,IAAAA,KAAK,EAAE2G,MAAM,GAAA,OAAA,CAAA9I,MAAA,CAAWnE,MAAM,CAAChB,EAAE,CAAA,GAAA,OAAA,CAAAmF,MAAA,CAAanE,MAAM,CAAChB,EAAE;GAAG,eACjEvC,KAAA,CAAAC,aAAA,CAACI,GAAG,qBACFL,KAAA,CAAAC,aAAA,CAAC6I,UAAU,EAAA;AACTC,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAG5B,KAAK,EAAK;MAClBA,KAAK,CAACwJ,eAAe,EAAE;AACvBF,MAAAA,QAAQ,EAAE;IACZ,CAAE;IACF1G,QAAQ,EAAElF,SAAS,CAACtB,MAAM,CAAChB,EAAE,CAAC,CAACwF,MAAM,KAAK,CAAE;AAC5CpH,IAAAA,KAAK,EAAE4C,MAAM,CAACqN,SAAS,IAAI;AAAY,GAAA,eAEvC5Q,KAAA,CAAAC,aAAA,CAAC4Q,KAAK,EAAA;IACJC,YAAY,EAAEjM,SAAS,CAACtB,MAAM,CAAChB,EAAE,CAAC,CAACwF,MAAO;AAC1CgJ,IAAAA,SAAS,EAAEL,SAAU;AACrBM,IAAAA,YAAY,EAAE;AACZC,MAAAA,QAAQ,EAAE,QAAQ;AAClBC,MAAAA,UAAU,EAAE;KACZ;AACF5Q,IAAAA,EAAE,EAAE;AACF,MAAA,mBAAmB,EAAE;AACnBK,QAAAA,KAAK,EAAE,SAAPA,KAAKA,CAAGwH,KAAK,EAAA;AAAA,UAAA,OAAKA,KAAK,CAACE,OAAO,CAAC8I,IAAI,CAAC7I,OAAO;AAAA,QAAA;AAC9C;AACF;AAAE,GAAA,EAEDkI,MAAM,GACH,CAAAjN,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE6N,SAAS,kBAAIpR,KAAA,CAAAC,aAAA,CAACoR,YAAY,MAAE,CAAC,GACrC,CAAA9N,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE+N,QAAQ,kBAAItR,KAAA,CAAAC,aAAA,CAACsR,SAAS,EAAA,IAAE,CAC/B,CACG,CACT,CACE,CACA,CAAC;AAEhB;AAEAhB,gBAAgB,CAACxP,SAAS,GAAG;AAC3BwC,EAAAA,MAAM,EAAEvC,SAAS,CAAC2E,MAAM,CAACzE,UAAU;AACnCsP,EAAAA,MAAM,EAAExP,SAAS,CAACC,IAAI,CAACC,UAAU;AACjCuP,EAAAA,QAAQ,EAAEzP,SAAS,CAACiI,IAAI,CAAC/H,UAAU;AACnC2D,EAAAA,SAAS,EAAE7D,SAAS,CAAC2E,MAAM,CAACzE,UAAU;EACtCwP,SAAS,EAAE1P,SAAS,CAACC;AACvB,CAAC;;AAED;AACA;AACA;;AAEO,SAASuQ,WAAWA,CAAAC,KAAA,EAAwC;AAAA,EAAA,IAArCC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAElB,MAAM,GAAAiB,KAAA,CAANjB,MAAM;IAAE3L,SAAS,GAAA4M,KAAA,CAAT5M,SAAS;IAAE8M,OAAO,GAAAF,KAAA,CAAPE,OAAO;EAC7D,oBACE3R,KAAA,CAAAC,aAAA,CAACuP,QAAQ,qBACPxP,KAAA,CAAAC,aAAA,CAACwP,SAAS,EAAA;AAACkC,IAAAA,OAAO,EAAEA,OAAQ;AAACC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,aAAa,EAAE,CAAC;AAAEC,MAAAA,UAAU,EAAE;AAAE;AAAE,GAAA,eACtE9R,KAAA,CAAAC,aAAA,CAACC,QAAQ,EAAA;AAAC,IAAA,IAAA,EAAIsQ,MAAO;AAACrQ,IAAAA,OAAO,EAAC,MAAM;IAACC,aAAa,EAAA;AAAA,GAAA,eAChDJ,KAAA,CAAAC,aAAA,CAACD,KAAK,CAAC+R,QAAQ,EAAA;AAACC,IAAAA,QAAQ,EAAE;AAAK,GAAA,eAC7BhS,KAAA,CAAAC,aAAA,CAACoQ,gBAAc,EAAA;IACb5G,OAAO,EAAEiI,KAAK,CAACjI,OAAQ;IACvBD,UAAU,EAAEkI,KAAK,CAAClI,UAAW;IAC7BE,QAAQ,EAAEgI,KAAK,CAAChI,QAAS;AACzBjH,IAAAA,IAAI,EAAEoC,SAAS,CAAC6M,KAAK,CAACnP,EAAE,CAAE;IAC1BL,OAAO,EAAEwP,KAAK,CAACxP,OAAQ;IACvBkH,IAAI,EAAEsI,KAAK,CAACO,QAAS;IACrB5I,QAAQ,EAAA;AAAA,GACT,CACa,CACR,CACD,CACH,CAAC;AAEf;AAEAmI,WAAW,CAACzQ,SAAS,GAAG;AACtB2Q,EAAAA,KAAK,EAAE1Q,SAAS,CAAC2E,MAAM,CAACzE,UAAU;AAClCsP,EAAAA,MAAM,EAAExP,SAAS,CAACC,IAAI,CAACC,UAAU;AACjC2D,EAAAA,SAAS,EAAE7D,SAAS,CAAC2E,MAAM,CAACzE,UAAU;AACtCyQ,EAAAA,OAAO,EAAE3Q,SAAS,CAACG,MAAM,CAACD;AAC5B,CAAC;;AC1FD,SAASgR,eAAeA,CAAChQ,OAAO,EAAE2C,SAAS,EAAE;AAC3C,EAAA,OAAO3C,OAAO,CAACI,GAAG,CAAC,UAACiB,MAAM,EAAExB,KAAK,EAAA;AAAA,IAAA,oBAC/B/B,KAAA,CAAAC,aAAA,CAACwP,SAAS,EAAA0C,QAAA,CAAA;AAACrG,MAAAA,GAAG,EAAEvI,MAAM,CAAChB,EAAE,IAAIR;KAAM,EAAKwB,MAAM,CAAC6O,SAAS,CAAA,EACrD7O,MAAM,CAACsF,SAAS,GACbtF,MAAM,CAACsF,SAAS,CAAChE,SAAS,CAAC,GAC3BD,eAAe,CAACrB,MAAM,EAAEsB,SAAS,CAC5B,CAAC;AAAA,EAAA,CACb,CAAC;AACJ;AAEA,IAAMwN,OAAO,gBAAGrS,KAAK,CAACsS,IAAI,CAAC,SAASD,OAAOA,CAACtF,KAAK,EAAE;AACjD,EAAA,IAAQlI,SAAS,GAAmDkI,KAAK,CAAjElI,SAAS;IAAE3C,OAAO,GAA0C6K,KAAK,CAAtD7K,OAAO;IAAE2E,UAAU,GAA8BkG,KAAK,CAA7ClG,UAAU;IAAE0L,UAAU,GAAkBxF,KAAK,CAAjCwF,UAAU;IAAEhL,WAAW,GAAKwF,KAAK,CAArBxF,WAAW;AAC/D,EAAA,IAAAiL,cAAA,GAA+BxS,KAAK,CAAC0G,OAAO,CAAC,YAAA;MAAA,OAAMtD,YAAY,CAAClB,OAAO,CAAC;IAAA,CAAA,EAAE,CACxEA,OAAO,CACR,CAAC;IAFMuB,SAAS,GAAA+O,cAAA,CAAT/O,SAAS;IAAEE,OAAO,GAAA6O,cAAA,CAAP7O,OAAO;AAG1B,EAAA,IAAM+M,SAAS,GAAG3D,KAAK,CAAC2D,SAAS,IAAI,KAAK;AAC1C,EAAA,IAAM+B,cAAc,GAAGF,UAAU,CAACxF,KAAK,CAAC2F,KAAK,CAAC;EAC9C,IAAArM,eAAA,GAA4BrG,KAAK,CAACsG,QAAQ,CACxCqM,KAAK,CAACC,IAAI,CAAC;MAAE7K,MAAM,EAAEtE,SAAS,CAACsE;AAAO,KAAC,CAAC,CAAC8K,IAAI,CAAC,KAAK,CACrD,CAAC;IAAAtM,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAFMyM,IAAAA,MAAM,GAAAvM,gBAAA,CAAA,CAAA,CAAA;AAAEwM,IAAAA,SAAS,GAAAxM,gBAAA,CAAA,CAAA,CAAA;EAIxB,IAAMyM,YAAY,GAAGhT,KAAK,CAACiH,WAAW,CAAC,UAAClF,KAAK,EAAK;IAChDgR,SAAS,CAAC,UAACvL,QAAQ,EAAK;AACtB,MAAA,IAAMyL,IAAI,GAAAtL,kBAAA,CAAOH,QAAQ,CAAC;MAC1ByL,IAAI,CAAClR,KAAK,CAAC,GAAG,CAACkR,IAAI,CAAClR,KAAK,CAAC;AAC1B,MAAA,OAAOkR,IAAI;AACb,IAAA,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,gBAAgB,GAAGlT,KAAK,CAACiH,WAAW,CACxC,UAACE,KAAK,EAAK;AACT,IAAA,IAAIN,UAAU,KAAKM,KAAK,CAAC2E,GAAG,KAAK,GAAG,IAAI3E,KAAK,CAAC2E,GAAG,KAAK,OAAO,CAAC,EAAE;MAC9D3E,KAAK,CAAC0D,cAAc,EAAE;AACtBtD,MAAAA,WAAW,CAACJ,KAAK,EAAE4F,KAAK,CAAC2F,KAAK,CAAC;AACjC,IAAA;EACF,CAAC,EACD,CAAC7L,UAAU,EAAEU,WAAW,EAAEwF,KAAK,CAAC2F,KAAK,CACvC,CAAC;AAED,EAAA,oBACE1S,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAmT,QAAA,EAAA,IAAA,eACEnT,KAAA,CAAAC,aAAA,CAACuP,QAAQ,EAAA;AACP4D,IAAAA,QAAQ,EAAEvM,UAAU,GAAG,CAAC,GAAG,EAAG;AAC9B2D,IAAAA,KAAK,EAAE3D,UAAW;AAClBwM,IAAAA,IAAI,EAAExM,UAAU,GAAG,UAAU,GAAG,KAAM;AACtCC,IAAAA,QAAQ,EAAE2L,cAAe;AACzB,IAAA,cAAA,EAAcA,cAAe;AAC7B5G,IAAAA,SAAS,EAAEqH;AAAiB,GAAA,EAE3BrM,UAAU,iBACT7G,KAAA,CAAAC,aAAA,CAACwP,SAAS,EAAA;AAAC/N,IAAAA,OAAO,EAAC;AAAU,GAAA,eAC3B1B,KAAA,CAAAC,aAAA,CAACyP,QAAQ,EAAA;AACP/O,IAAAA,KAAK,EAAC,SAAS;AACf0G,IAAAA,OAAO,EAAEoL,cAAe;AACxB1J,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAG5B,KAAK,EAAA;AAAA,MAAA,OAAKI,WAAW,CAACJ,KAAK,EAAE4F,KAAK,CAAC2F,KAAK,CAAC;AAAA,IAAA;GACpD,CACQ,CACZ,EACAjP,SAAS,CAACnB,GAAG,CAAC,UAACiB,MAAM,EAAExB,KAAK,EAAA;AAAA,IAAA,oBAC3B/B,KAAA,CAAAC,aAAA,CAACsQ,gBAAgB,EAAA;AACfzE,MAAAA,GAAG,EAAEvI,MAAM,CAAChB,EAAE,IAAIR,KAAM;AACxBwB,MAAAA,MAAM,EAAEA,MAAO;AACfiN,MAAAA,MAAM,EAAEsC,MAAM,CAAC/Q,KAAK,CAAE;MACtB0O,QAAQ,EAAE,SAAVA,QAAQA,GAAA;QAAA,OAAQuC,YAAY,CAACjR,KAAK,CAAC;MAAA,CAAC;AACpC8C,MAAAA,SAAS,EAAEA,SAAU;AACrB6L,MAAAA,SAAS,EAAEA;AAAU,KACtB,CAAC;AAAA,EAAA,CACH,CAAC,EACDwB,eAAe,CAACvO,OAAO,EAAEkB,SAAS,CAC3B,CAAC,EACVpB,SAAS,CAACnB,GAAG,CAAC,UAACoP,KAAK,EAAE3P,KAAK,EAAA;AAAA,IAAA,oBAC1B/B,KAAA,CAAAC,aAAA,CAACuR,WAAW,EAAA;AACV1F,MAAAA,GAAG,EAAE4F,KAAK,CAACnP,EAAE,IAAIR,KAAM;AACvB2P,MAAAA,KAAK,EAAEA,KAAM;AACblB,MAAAA,MAAM,EAAEsC,MAAM,CAAC/Q,KAAK,CAAE;AACtB8C,MAAAA,SAAS,EAAEA,SAAU;AACrB8M,MAAAA,OAAO,EAAE5E,KAAK,CAAC7K,OAAO,CAAC6F,MAAM,GAAG;AAAE,KACnC,CAAC;AAAA,EAAA,CACH,CACD,CAAC;AAEP,CAAC,CAAC;AAEFsK,OAAO,CAACtR,SAAS,GAAG;AAClB8D,EAAAA,SAAS,EAAE7D,SAAS,CAAC2E,MAAM,CAACzE,UAAU;AACtCgB,EAAAA,OAAO,EAAElB,SAAS,CAACuE,KAAK,CAACrE,UAAU;EACnC2F,UAAU,EAAE7F,SAAS,CAACC,IAAI;AAC1BsR,EAAAA,UAAU,EAAEvR,SAAS,CAACiI,IAAI,CAAC/H,UAAU;EACrCqG,WAAW,EAAEvG,SAAS,CAACiI,IAAI;EAC3ByH,SAAS,EAAE1P,SAAS,CAACC,IAAI;AACzByR,EAAAA,KAAK,EAAE1R,SAAS,CAACsS,SAAS,CAAC,CAACtS,SAAS,CAACsI,MAAM,EAAEtI,SAAS,CAACG,MAAM,CAAC,CAAC,CAACD;AACnE,CAAC;;AC5FD,IAAMqS,WAAW,GAAG,SAAdA,WAAWA,GAAS;EACxB,oBACEvT,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAmT,QAAA,EAAA,IAAA,eACEnT,KAAA,CAAAC,aAAA,CAACsP,SAAS,EAAA,IAAE,CAAC,eACbvP,KAAA,CAAAC,aAAA,CAACuT,SAAS,EAAA,IAAA,EACPb,KAAK,CAACC,IAAI,CAAC;AAAE7K,IAAAA,MAAM,EAAE;AAAE,GAAC,CAAC,CAACzF,GAAG,CAAC,UAACmR,CAAC,EAAE1R,KAAK,EAAA;AAAA,IAAA,oBACtC/B,KAAA,CAAAC,aAAA,CAACuP,QAAQ,EAAA;AAAC1D,MAAAA,GAAG,EAAE/J;KAAM,EAClB4Q,KAAK,CAACC,IAAI,CAAC;AAAE7K,MAAAA,MAAM,EAAE;AAAE,KAAC,CAAC,CAACzF,GAAG,CAAC,UAACmR,CAAC,EAAEC,SAAS,EAAA;AAAA,MAAA,oBAC1C1T,KAAA,CAAAC,aAAA,CAACwP,SAAS,EAAA;AAAC3D,QAAAA,GAAG,EAAE4H;AAAU,OAAA,eACxB1T,KAAA,CAAAC,aAAA,CAAC0T,QAAQ,EAAA;AAACpS,QAAAA,MAAM,EAAE;AAAG,OAAE,CACd,CAAC;AAAA,IAAA,CACb,CACO,CAAC;EAAA,CACZ,CACQ,CACX,CAAC;AAEP,CAAC;;ACJD,SAASqS,aAAaA,CAAC7G,KAAK,EAAE;AAC5B,EAAA,IAAQ7K,OAAO,GAAyC6K,KAAK,CAArD7K,OAAO;IAAEyE,IAAI,GAAmCoG,KAAK,CAA5CpG,IAAI;IAAE0C,QAAQ,GAAyB0D,KAAK,CAAtC1D,QAAQ;IAAEvC,QAAQ,GAAeiG,KAAK,CAA5BjG,QAAQ;IAAE9E,QAAQ,GAAK+K,KAAK,CAAlB/K,QAAQ;EAEnD,IAAA6R,qBAAA,GAQI3F,qBAAqB,CAAC;AACxBvH,MAAAA,IAAI,EAAJA,IAAI;AACJ0C,MAAAA,QAAQ,EAARA,QAAQ;MACR8E,SAAS,EAAEpB,KAAK,CAACoB;AACnB,KAAC,CAAC;IAXAlK,KAAK,GAAA4P,qBAAA,CAAL5P,KAAK;IACLF,OAAO,GAAA8P,qBAAA,CAAP9P,OAAO;IACPwK,IAAI,GAAAsF,qBAAA,CAAJtF,IAAI;IACJC,WAAW,GAAAqF,qBAAA,CAAXrF,WAAW;IACXI,iBAAiB,GAAAiF,qBAAA,CAAjBjF,iBAAiB;IACjBE,gBAAgB,GAAA+E,qBAAA,CAAhB/E,gBAAgB;IAChBE,uBAAuB,GAAA6E,qBAAA,CAAvB7E,uBAAuB;EAOzB,IAAM8E,SAAS,GAAGC,IAAI,CAACC,GAAG,CACxB,CAAC,EACDxF,WAAW,GAAGuF,IAAI,CAACE,GAAG,CAACzF,WAAW,EAAE7H,IAAI,CAACoB,MAAM,GAAGwG,IAAI,GAAGC,WAAW,CACtE,CAAC;AAED,EAAA,IAAM+D,UAAU,GAAGvS,KAAK,CAACiH,WAAW,CAClC,UAAC1E,EAAE,EAAA;AAAA,IAAA,OAAKuE,QAAQ,CAAC7D,QAAQ,CAACV,EAAE,CAAC;EAAA,CAAA,EAC7B,CAACuE,QAAQ,CACX,CAAC;AAED,EAAA,IAAMoN,WAAW,GAAGlU,KAAK,CAAC0G,OAAO,CAC/B,YAAA;IAAA,OACEpB,UAAU,CAACqB,IAAI,EAAE3C,aAAa,CAACC,KAAK,EAAEF,OAAO,CAAC,EAAE7B,OAAO,CAAC,CAACiS,KAAK,CAC5D5F,IAAI,GAAGC,WAAW,EAClBD,IAAI,GAAGC,WAAW,GAAGA,WACvB,CAAC;AAAA,EAAA,CAAA,EACH,CAACtM,OAAO,EAAE+B,KAAK,EAAEF,OAAO,EAAEwK,IAAI,EAAE5H,IAAI,EAAE6H,WAAW,CACnD,CAAC;EAED,oBACExO,KAAA,CAAAC,aAAA,CAACmU,cAAc,qBACbpU,KAAA,CAAAC,aAAA,CAACoU,KAAK,EAAA;AACJ/T,IAAAA,EAAE,EAAE;AAAEgU,MAAAA,QAAQ,EAAE;KAAM;AACtBC,IAAAA,IAAI,EAAU,OAAO,CAAY;IACjC,YAAA,EAAYxH,KAAK,CAAC3D,IAAI,IAAI;GAAa,EAEtC2D,KAAK,CAACtD,OAAO,gBACZzJ,KAAA,CAAAC,aAAA,CAACsT,WAAW,EAAA,IAAE,CAAC,gBAEfvT,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAmT,QAAA,qBACEnT,KAAA,CAAAC,aAAA,CAACiP,iBAAiB,EAAA;AAChBjL,IAAAA,KAAK,EAAEA,KAAM;AACbF,IAAAA,OAAO,EAAEA,OAAQ;AACjBoL,IAAAA,aAAa,EAAEP,iBAAkB;AACjCgB,IAAAA,QAAQ,EAAE1N,OAAQ;IAClB2E,UAAU,EAAEkG,KAAK,CAAClG,UAAW;IAC7BuI,WAAW,EAAEtI,QAAQ,CAACiB,MAAO;IAC7B5E,QAAQ,EAAEwD,IAAI,CAACoB,MAAO;IACtBsH,gBAAgB,EAAEtC,KAAK,CAAC7F;AAAqB,GAC9C,CAAC,eAEFlH,KAAA,CAAAC,aAAA,CAACuT,SAAS,EAAA,IAAA,EACPU,WAAW,CAAC5R,GAAG,CAAC,UAACR,GAAG,EAAEC,KAAK,EAAK;AAC/B,IAAA,IAAMyS,MAAM,GAAGxS,QAAQ,GACnBF,GAAG,CAACE,QAAQ,CAAC,GAAA,MAAA,CAAA0F,MAAA,CACN6G,IAAI,GAAGC,WAAW,GAAGzM,KAAK,CAAE;IACvC,IAAM2Q,KAAK,GAAG7Q,kBAAkB,CAACC,GAAG,EAAEC,KAAK,EAAEC,QAAQ,CAAC;AAEtD,IAAA,oBACEhC,KAAA,CAAAC,aAAA,CAACoS,OAAO,EAAA;AACNvG,MAAAA,GAAG,EAAE0I,MAAO;AACZ9B,MAAAA,KAAK,EAAEA,KAAM;AACbxQ,MAAAA,OAAO,EAAEA,OAAQ;AACjB2C,MAAAA,SAAS,EAAE/C,GAAI;MACf4O,SAAS,EAAE3D,KAAK,CAAC2D,SAAU;MAC3B7J,UAAU,EAAEkG,KAAK,CAAClG,UAAW;MAC7BU,WAAW,EAAEwF,KAAK,CAACxF,WAAY;AAC/BgL,MAAAA,UAAU,EAAEA;AAAW,KACxB,CAAC;AAEN,EAAA,CAAC,CAAC,EACD,CAAClJ,QAAQ,IAAIyK,SAAS,GAAG,CAAC,iBACzB9T,KAAA,CAAAC,aAAA,CAACuP,QAAQ,EAAA;AAACoC,IAAAA,KAAK,EAAE;AAAErQ,MAAAA,MAAM,EAAE,CAAS,EAAE,CAAK,IAAIuS;AAAU;AAAE,GAAA,eACzD9T,KAAA,CAAAC,aAAA,CAACwP,SAAS,EAAA;IAACkC,OAAO,EAAEzP,OAAO,CAAC6F;AAAO,GAAE,CAC7B,CAEH,CACX,CAEC,CAAC,EACPsB,QAAQ,gBACPrJ,KAAA,CAAAC,aAAA,CAACI,GAAG,EAAA;AAACC,IAAAA,EAAE,EAAE;AAAEM,MAAAA,EAAE,EAAE;AAAE;AAAE,GAAE,CAAC,gBAEtBZ,KAAA,CAAAC,aAAA,CAACwU,eAAe,EAAA;IACdC,kBAAkB,EAAE3H,KAAK,CAAC4H,eAAe,IAAIzR,cAAc,CAACyD,IAAI,CAACoB,MAAM,CAAE;AACzEc,IAAAA,SAAS,EAAC,KAAK;IACf+L,KAAK,EAAEjO,IAAI,CAACoB,MAAO;AACnByG,IAAAA,WAAW,EAAEA,WAAY;AACzBD,IAAAA,IAAI,EAAEA,IAAK;AACXsG,IAAAA,YAAY,EAAE/F,gBAAiB;AAC/BgG,IAAAA,mBAAmB,EAAE9F,uBAAwB;AAC7C1O,IAAAA,EAAE,EAAE;AAAEmB,MAAAA,QAAQ,EAAE;KAAY;IAC5BsT,eAAe,EAAA,IAAA;IACfC,cAAc,EAAA;AAAA,GACf,CAEW,CAAC;AAErB;AAEApB,aAAa,CAAC7S,SAAS,GAAG;AACxBmB,EAAAA,OAAO,EAAElB,SAAS,CAACuE,KAAK,CAACrE,UAAU;AACnCyF,EAAAA,IAAI,EAAE3F,SAAS,CAACuE,KAAK,CAACrE,UAAU;EAChCmI,QAAQ,EAAErI,SAAS,CAACC,IAAI;EACxByP,SAAS,EAAE1P,SAAS,CAACC,IAAI;EACzBwI,OAAO,EAAEzI,SAAS,CAACC,IAAI;EACvB4F,UAAU,EAAE7F,SAAS,CAACC,IAAI;EAC1BiG,oBAAoB,EAAElG,SAAS,CAACiI,IAAI;EACpC1B,WAAW,EAAEvG,SAAS,CAACiI,IAAI;EAC3BnC,QAAQ,EAAE9F,SAAS,CAACuE,KAAK;EACzBvD,QAAQ,EAAEhB,SAAS,CAACsI,MAAM;EAC1B6E,SAAS,EAAEnN,SAAS,CAACsI,MAAM;EAC3BqL,eAAe,EAAE3T,SAAS,CAACiU,OAAO,CAACjU,SAAS,CAACG,MAAM,CAAC;EACpDiI,IAAI,EAAEpI,SAAS,CAACsI;AAClB,CAAC;;ACpIc,SAAS+G,cAAcA,CAAAzQ,IAAA,EAmBnC;AAAA,EAAA,IAlBD6J,OAAO,GAAA7J,IAAA,CAAP6J,OAAO;IACPD,UAAU,GAAA5J,IAAA,CAAV4J,UAAU;IACVE,QAAQ,GAAA9J,IAAA,CAAR8J,QAAQ;IAAAwL,gBAAA,GAAAtV,IAAA,CACRuV,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;IACnBpV,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACV0C,IAAI,GAAA7C,IAAA,CAAJ6C,IAAI;IACJP,OAAO,GAAAtC,IAAA,CAAPsC,OAAO;IACPkH,IAAI,GAAAxJ,IAAA,CAAJwJ,IAAI;IACJoE,gBAAgB,GAAA5N,IAAA,CAAhB4N,gBAAgB;IAAA4H,aAAA,GAAAxV,IAAA,CAChByJ,QAAQ;AAARA,IAAAA,QAAQ,GAAA+L,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAAC,cAAA,GAAAzV,IAAA,CAChB8Q,SAAS;AAATA,IAAAA,SAAS,GAAA2E,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IAAAC,eAAA,GAAA1V,IAAA,CACjBiH,UAAU;AAAVA,IAAAA,UAAU,GAAAyO,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAClBtT,QAAQ,GAAApC,IAAA,CAARoC,QAAQ;IACR8F,UAAU,GAAAlI,IAAA,CAAVkI,UAAU;IACVD,WAAW,GAAAjI,IAAA,CAAXiI,WAAW;IACX8M,eAAe,GAAA/U,IAAA,CAAf+U,eAAe;IACfzH,aAAa,GAAAtN,IAAA,CAAbsN,aAAa;AAEb,EAAA,IAAMqI,IAAI,GAAGrT,OAAO,IAAI,EAAE;AAC1B,EAAA,IAAAsT,kBAAA,GAA4CpP,iBAAiB,CAAC3D,IAAI,EAAE8S,IAAI,CAAC;IAAjE5O,IAAI,GAAA6O,kBAAA,CAAJ7O,IAAI;IAAEjE,UAAU,GAAA8S,kBAAA,CAAV9S,UAAU;IAAE+D,aAAa,GAAA+O,kBAAA,CAAb/O,aAAa;EACvC,IAAAgP,kBAAA,GACE7O,iBAAiB,CAAC;AAChBD,MAAAA,IAAI,EAAJA,IAAI;AACJE,MAAAA,UAAU,EAAVA,UAAU;AACV7E,MAAAA,QAAQ,EAARA;AACF,KAAC,CAAC;IALI8E,QAAQ,GAAA2O,kBAAA,CAAR3O,QAAQ;IAAEE,cAAc,GAAAyO,kBAAA,CAAdzO,cAAc;IAAEE,oBAAoB,GAAAuO,kBAAA,CAApBvO,oBAAoB;IAAEK,WAAW,GAAAkO,kBAAA,CAAXlO,WAAW;EAOnE,IAAMmO,kBAAkB,GAAG1V,KAAK,CAACiH,WAAW,CAC1C,UAACnG,KAAK,EAAK;AACTkG,IAAAA,cAAc,EAAE;IAChBP,aAAa,CAAC3F,KAAK,CAAC;AACtB,EAAA,CAAC,EACD,CAACkG,cAAc,EAAEP,aAAa,CAChC,CAAC;AAED,EAAA,oBACEzG,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAmT,QAAA,EAAA,IAAA,eACEnT,KAAA,CAAAC,aAAA,CAACN,oBAAoB,EAAA;AACnBE,IAAAA,IAAI,EAAEsV,WAAY;AAClBrV,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,UAAU,EAAEA;AAAW,GACxB,CAAC,eACFC,KAAA,CAAAC,aAAA,CAACqL,OAAK,EAAA;AACJhL,IAAAA,EAAE,EAAAyF,cAAA,CAAA,EAAA,EACIsD,QAAQ,IAAI;AAAEsM,MAAAA,SAAS,EAAE;KAAQ;AACrC,GAAA,eAEF3V,KAAA,CAAAC,aAAA,CAAC2H,oBAAoB,EAAA;AACnBd,IAAAA,QAAQ,EAAEA,QAAS;AACnBe,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,UAAU,EAAEA;AAAW,GACxB,CAAC,eACF9H,KAAA,CAAAC,aAAA,CAACkJ,UAAU,EAAA;AAACC,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,QAAQ,EAAEA;GAAW,CAAC,EAC7C,CAACA,QAAQ,iBACRrJ,KAAA,CAAAC,aAAA,CAACsN,mBAAmB,EAAA;AAClB/D,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,QAAQ,EAAEA,QAAS;AACnB8D,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnC9K,IAAAA,UAAU,EAAEA,UAAW;AACvB+K,IAAAA,cAAc,EAAEiI,kBAAmB;AACnCtM,IAAAA,IAAI,EAAEA,IAAK;AACX8D,IAAAA,aAAa,EAAEA;AAAc,GAC9B,CACF,eACDlN,KAAA,CAAAC,aAAA,CAAC2T,aAAa,EAAA;AACZ1R,IAAAA,OAAO,EAAEqT,IAAK;AACd5O,IAAAA,IAAI,EAAEA,IAAK;AACXwH,IAAAA,SAAS,EAAEzL,UAAW;AACtB2G,IAAAA,QAAQ,EAAEA,QAAS;AACnBqH,IAAAA,SAAS,EAAEA,SAAU;AACrBjH,IAAAA,OAAO,EAAEA,OAAQ;AACjB5C,IAAAA,UAAU,EAAEA,UAAW;AACvBK,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CK,IAAAA,WAAW,EAAEA,WAAY;AACzBT,IAAAA,QAAQ,EAAEA,QAAS;AACnB9E,IAAAA,QAAQ,EAAEA,QAAS;AACnB2S,IAAAA,eAAe,EAAEA,eAAgB;AACjCvL,IAAAA,IAAI,EAAEA;GACP,CACI,CACP,CAAC;AAEP;AAEAiH,cAAc,CAACtP,SAAS,GAAG;EACzB0I,OAAO,EAAEzI,SAAS,CAACC,IAAI;EACvBuI,UAAU,EAAExI,SAAS,CAACiI,IAAI;AAC1B;EACAS,QAAQ,EAAE1I,SAAS,CAACiI,IAAI;EACxBkM,WAAW,EAAEnU,SAAS,CAACC,IAAI;EAC3BnB,WAAW,EAAEkB,SAAS,CAACG,MAAM;EAC7BpB,UAAU,EAAEiB,SAAS,CAACG,MAAM;AAC5BsB,EAAAA,IAAI,EAAEzB,SAAS,CAACuE,KAAK,CAACrE,UAAU;AAChCgB,EAAAA,OAAO,EAAElB,SAAS,CAACuE,KAAK,CAACrE,UAAU;EACnCkI,IAAI,EAAEpI,SAAS,CAACsI,MAAM;EACtBkE,gBAAgB,EAAExM,SAAS,CAACC,IAAI;EAChCoI,QAAQ,EAAErI,SAAS,CAACC,IAAI;EACxByP,SAAS,EAAE1P,SAAS,CAACC,IAAI;EACzB4F,UAAU,EAAE7F,SAAS,CAACC,IAAI;EAC1Be,QAAQ,EAAEhB,SAAS,CAACsI,MAAM;EAC1BxB,UAAU,EAAE9G,SAAS,CAACkI,OAAO;EAC7BrB,WAAW,EAAE7G,SAAS,CAACiI,IAAI;AAC3B;EACA0L,eAAe,EAAE3T,SAAS,CAACiU,OAAO,CAACjU,SAAS,CAACG,MAAM,CAAC;AACpD;EACA+L,aAAa,EAAElM,SAAS,CAACC;AAC3B,CAAC;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -224,6 +224,14 @@ function getComparator(order, orderBy) {
224
224
  return -descendingComparator(a, b, orderBy);
225
225
  };
226
226
  }
227
+ var browserDateTimeFormatter = new Intl.DateTimeFormat(undefined, {
228
+ year: "numeric",
229
+ month: "short",
230
+ day: "numeric",
231
+ hour: "numeric",
232
+ minute: "2-digit",
233
+ hour12: true
234
+ });
227
235
 
228
236
  /**
229
237
  * Format a cell value for display. Handles dates safely:
@@ -248,11 +256,7 @@ function formatCellValue(header, rowValues) {
248
256
  if (Number.isNaN(d.getTime())) {
249
257
  return raw;
250
258
  }
251
- return d.toDateString() + " " + d.toLocaleTimeString("en-US", {
252
- hour: "numeric",
253
- minute: "2-digit",
254
- hour12: true
255
- });
259
+ return browserDateTimeFormatter.format(d);
256
260
  }
257
261
  function stableSort(array, comparator, headers) {
258
262
  var dateColumns = new Set(headers.filter(function (object) {
@@ -720,7 +724,8 @@ function EnhancedTableHead(props) {
720
724
  }, /*#__PURE__*/React.createElement(material.TableSortLabel, {
721
725
  active: orderBy === headCell.id,
722
726
  direction: orderBy === headCell.id ? order : "asc",
723
- onClick: createSortHandler(headCell.id)
727
+ onClick: createSortHandler(headCell.id),
728
+ disabled: headCell.subRow
724
729
  }, headCell.label, orderBy === headCell.id ? /*#__PURE__*/React.createElement(material.Box, {
725
730
  component: "span",
726
731
  sx: visuallyHidden
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/LazyLoadingIndicator.jsx","../src/utils/tableUtils.js","../src/hooks/useSearchableRows.js","../src/hooks/useSelectableRows.js","../src/components/TableSelectionBanner.jsx","../src/components/TableTitle.jsx","../src/components/ReloadBtn.jsx","../src/components/FancySearch.jsx","../src/components/SearchArea.jsx","../src/components/TableToolbarContent.jsx","../src/hooks/useEnhancedTableState.js","../src/components/EnhancedTableHead.jsx","../src/components/SubTableRow.jsx","../src/components/DataRow.jsx","../src/components/TableLoader.jsx","../src/components/EnhancedTable.jsx","../src/UniversalTable.jsx"],"sourcesContent":["import React from \"react\";\nimport { Box, LinearProgress, Typography, Collapse } from \"@mui/material\";\nimport PropTypes from \"prop-types\";\n\nconst LazyLoadingIndicator = ({ show, currentPage, totalPages }) => {\n return (\n <Collapse in={show} timeout=\"auto\" unmountOnExit>\n <Box sx={{ width: \"100%\", p: 2 }}>\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mb: 1 }}>\n Loading page {currentPage} of {totalPages}...\n </Typography>\n <LinearProgress\n variant=\"determinate\"\n value={(currentPage / totalPages) * 100}\n />\n </Box>\n </Collapse>\n );\n};\n\nLazyLoadingIndicator.propTypes = {\n show: PropTypes.bool.isRequired,\n currentPage: PropTypes.number,\n totalPages: PropTypes.number,\n};\n\nexport default LazyLoadingIndicator;\n","/**\n * Standard visually-hidden style: content is accessible to screen readers\n * but invisible on screen. Defined locally to avoid importing from\n * @mui/utils which is not a declared peer dependency.\n */\nexport const visuallyHidden = {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: -1,\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n};\n\nexport function getSelectableRowId(row, index, selectID) {\n return selectID ? row[selectID] : index;\n}\n\nexport function getSearchableColumnIds(headers) {\n return headers\n .filter((column) => column.searchable)\n .map((column) => column.id);\n}\n\nexport function filterRows(data, searchTerm, filterOptions) {\n if (!searchTerm) {\n return data;\n }\n\n const term = searchTerm.toLocaleLowerCase();\n return data.filter((row) =>\n filterOptions.some((filterOption) =>\n String(row[filterOption]).toLocaleLowerCase().includes(term),\n ),\n );\n}\n\nexport function getPageOptions(rowCount) {\n if (rowCount <= 5) return [5];\n if (rowCount <= 10) return [5, rowCount];\n if (rowCount <= 25) return [5, 10, rowCount];\n if (rowCount < 50) return [5, 10, 25, rowCount];\n if (rowCount < 100) return [5, 10, 25, 50, rowCount];\n return [5, 10, 25, 50, 100, rowCount];\n}\n\nexport function splitHeaders(headers) {\n return headers.reduce(\n (groups, header) => {\n if (header.subRow) {\n groups.subTables.push(header);\n } else {\n groups.columns.push(header);\n }\n\n return groups;\n },\n { subTables: [], columns: [] },\n );\n}\n\nexport function descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nexport function getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\n/**\n * Format a cell value for display. Handles dates safely:\n * returns the raw value for non-date headers, and a formatted\n * date string for date headers (guards against invalid dates).\n *\n * Uses `new Date(raw)` directly rather than `Date.parse(raw)` to\n * handle epoch-millisecond numbers, Date objects, and string\n * formats that Date.parse may reject.\n */\nexport function formatCellValue(header, rowValues) {\n const raw = rowValues[header.id];\n if (!header.date) {\n return raw;\n }\n\n // null and undefined produce a valid epoch-0 Date, not Invalid Date\n if (raw === null || raw === undefined) {\n return raw;\n }\n\n const d = new Date(raw);\n if (Number.isNaN(d.getTime())) {\n return raw;\n }\n\n return d.toDateString() + \" \" + d.toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n });\n}\n\nexport function stableSort(array, comparator, headers) {\n const dateColumns = new Set(\n headers.filter((object) => object.date).map((value) => value.id),\n );\n\n // Build stable entries — compare pre-computed sort keys so we never\n // mutate the original data or its shallow copies.\n // Each entry is [originalRow, sortKey, index] so that the comparator\n // works on numeric-converted date values while the original rows are\n // returned unchanged (preserving the data seen by header.component).\n const stabilizedThis = array.map((el, index) => {\n const sortKey = { ...el };\n for (const property in sortKey) {\n if (dateColumns.has(property)) {\n const parsed = Number(new Date(sortKey[property]));\n // Preserve the original value for invalid dates so formatCellValue\n // can display the fallback instead of passing NaN to React children.\n if (!Number.isNaN(parsed)) {\n sortKey[property] = parsed;\n }\n }\n }\n return [el, sortKey, index];\n });\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[1], b[1]);\n if (order !== 0) return order;\n return a[2] - b[2];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\n\n","import React from \"react\";\nimport { getSearchableColumnIds, filterRows } from \"../utils/tableUtils\";\n\nexport default function useSearchableRows(data, headers) {\n const [searchTerm, setSearchTerm] = React.useState(\"\");\n\n const filterOptions = React.useMemo(\n () => getSearchableColumnIds(headers),\n [headers],\n );\n\n const rows = React.useMemo(\n () => filterRows(data, searchTerm, filterOptions),\n [data, filterOptions, searchTerm],\n );\n\n return {\n rows,\n searchTerm,\n setSearchTerm,\n };\n}\n","import React from \"react\";\nimport { getSelectableRowId } from \"../utils/tableUtils\";\n\nexport default function useSelectableRows({ rows, selectRows, selectID }) {\n const [selected, setSelected] = React.useState([]);\n\n const clearSelection = React.useCallback(() => {\n setSelected([]);\n }, []);\n\n const handleSelectAllClick = React.useCallback(\n (event) => {\n if (!event.target.checked) {\n setSelected([]);\n return;\n }\n\n const newSelected = rows.map((row, index) =>\n getSelectableRowId(row, index, selectID),\n );\n setSelected(newSelected);\n },\n [rows, selectID],\n );\n\n const handleClick = React.useCallback(\n (event, id) => {\n if (!selectRows) {\n return;\n }\n\n setSelected((previous) =>\n previous.includes(id)\n ? previous.filter((selectedId) => selectedId !== id)\n : [...previous, id],\n );\n },\n [selectRows],\n );\n\n return {\n selected,\n clearSelection,\n handleSelectAllClick,\n handleClick,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Collapse, IconButton, Typography } from \"@mui/material\";\nimport { alpha } from \"@mui/material/styles\";\nimport { Task } from \"@mui/icons-material\";\n\nfunction TableSelectionBanner({ selected, onSelection, selectIcon }) {\n return (\n <Collapse in={selected.length > 0} unmountOnExit>\n <Box\n sx={{\n p: 2,\n display: \"flex\",\n justifyContent: \"space-between\",\n bgcolor: (theme) =>\n alpha(\n theme.palette.primary.main,\n theme.palette.action.activatedOpacity,\n ),\n borderRadius: 1,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n }}\n >\n <Typography variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {selected.length} selected\n </Typography>\n\n <IconButton onClick={() => onSelection(selected)}>\n {selectIcon || <Task />}\n </IconButton>\n </Box>\n </Collapse>\n );\n}\n\nTableSelectionBanner.propTypes = {\n selected: PropTypes.array.isRequired,\n onSelection: PropTypes.func,\n selectIcon: PropTypes.element,\n};\n\nexport default TableSelectionBanner;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Typography } from \"@mui/material\";\n\nfunction TableTitle({ name, subTable }) {\n return (\n <Typography\n variant={subTable ? \"h6\" : \"h5\"}\n color={subTable ? \"secondary\" : \"primary\"}\n sx={{ p: 2 }}\n >\n {name}\n </Typography>\n );\n}\n\nTableTitle.propTypes = {\n name: PropTypes.string,\n subTable: PropTypes.bool,\n};\n\nexport default TableTitle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Button, Tooltip } from \"@mui/material\";\nimport RefreshIcon from \"@mui/icons-material/Refresh\";\n\nfunction ReloadBtn({ setLoading, loading, onReload }) {\n const canReload = typeof onReload === \"function\" || typeof setLoading === \"function\";\n\n if (!canReload) {\n return null;\n }\n\n const handleClick = () => {\n if (typeof onReload === \"function\") {\n onReload();\n } else if (typeof setLoading === \"function\") {\n setLoading(true);\n }\n };\n\n return (\n <Tooltip title=\"Reload\">\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={handleClick}\n disabled={loading}\n >\n <RefreshIcon />\n </Button>\n </Tooltip>\n );\n}\n\nReloadBtn.propTypes = {\n setLoading: PropTypes.func,\n loading: PropTypes.bool,\n /** Preferred callback — fires when the user clicks reload. */\n onReload: PropTypes.func,\n};\n\nexport default ReloadBtn;\n","import React from \"react\";\nimport {\n Collapse,\n Divider,\n IconButton,\n InputBase,\n Paper,\n Stack,\n} from \"@mui/material\";\nimport { Clear, Search } from \"@mui/icons-material\";\nimport PropTypes from \"prop-types\";\n\nexport default function FancySearch({ value, onSubmit }) {\n const [search, setSearch] = React.useState(value);\n const [hover, setHover] = React.useState(Boolean(search));\n const expanded = hover || Boolean(search);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit(search);\n };\n\n const handleEndHover = () => {\n setHover(false);\n };\n\n // Sync internal state when the parent clears/changes the search term.\n // A ref tracks whether this sync came from the user typing or from a parent\n // update, so the debounce only fires for genuine user input.\n const isUserType = React.useRef(false);\n\n React.useEffect(() => {\n if (isUserType.current) {\n // User is typing — debounce as normal\n isUserType.current = false;\n const timer = setTimeout(() => {\n onSubmit(search);\n }, 700);\n return () => clearTimeout(timer);\n }\n // External value change (parent reset, clear from clearSelection, etc.)\n // — sync state and do NOT fire a stale debounce.\n setSearch(value);\n return undefined;\n }, [search, value, onSubmit]);\n\n return (\n <form onSubmit={handleSubmit}>\n <Paper\n elevation={0}\n sx={{\n borderRadius: expanded ? \"24px\" : \"50px\",\n display: \"flex\",\n alignItems: \"center\",\n transition: \"all 0.5s ease-in-out\",\n p: expanded ? 1 : 0.5,\n width: \"fit-content\",\n border: (theme) => `1px solid ${theme.palette.divider}`,\n mb: 1,\n }}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={handleEndHover}\n onKeyDown={(e) => e.key === \"Enter\" && handleSubmit(e)}\n >\n <InputBase\n placeholder=\"Search\"\n value={search}\n onChange={(e) => {\n isUserType.current = true;\n setSearch(e.target.value);\n }}\n sx={{\n ml: 1,\n width: expanded ? \"100%\" : 0,\n transition: \"width 0.5s ease-in-out\",\n ...(expanded ? {} : { margin: 0 }),\n }}\n onBlur={handleEndHover}\n />\n\n <Collapse\n in={Boolean(search)}\n orientation=\"horizontal\"\n unmountOnExit\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n spacing={0}\n sx={{ mr: 3 }}\n >\n <IconButton\n onClick={() => {\n isUserType.current = false;\n setSearch(\"\");\n // Immediately clear instead of waiting for the debounce\n onSubmit(\"\");\n }}\n >\n <Clear />\n </IconButton>\n <Divider orientation=\"vertical\" flexItem />\n </Stack>\n </Collapse>\n\n <IconButton onClick={handleSubmit} type=\"submit\">\n <Search />\n </IconButton>\n </Paper>\n </form>\n );\n}\n\nFancySearch.propTypes = {\n value: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport FancySearch from \"./FancySearch\";\n\nfunction SearchArea(props) {\n const { current, setFinalVal, searchName, persistSearch } = props;\n\n const searchVal = React.useMemo(() => {\n if (current !== undefined && current !== null) return current;\n if (persistSearch && searchName) {\n return sessionStorage.getItem(`searchVal:${searchName}`) ?? \"\";\n }\n return \"\";\n }, [current, persistSearch, searchName]);\n\n return (\n <div key=\"SearchArea\">\n <FancySearch value={searchVal} onSubmit={setFinalVal} />\n </div>\n );\n}\n\nSearchArea.propTypes = {\n current: PropTypes.string,\n setFinalVal: PropTypes.func.isRequired,\n searchName: PropTypes.string,\n /** Persist search term to sessionStorage (requires searchName). Default: false */\n persistSearch: PropTypes.bool,\n};\n\nexport default SearchArea;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Stack, Toolbar } from \"@mui/material\";\nimport ReloadBtn from \"./ReloadBtn\";\nimport SearchArea from \"./SearchArea\";\n\nfunction TableToolbarContent({\n setLoading,\n onReload,\n reloadBtnLoading,\n searchTerm,\n onSearchChange,\n name,\n persistSearch,\n}) {\n return (\n <Toolbar\n sx={{\n pl: { sm: 2 },\n pr: { xs: 1, sm: 1 },\n pt: 2,\n }}\n >\n <Stack\n spacing={2}\n direction={{ xs: \"column\", md: \"row\" }}\n sx={{\n width: \"100%\",\n alignItems: { xs: \"flex-start\", md: \"center\" },\n }}\n >\n <Box sx={{ flex: \"1 1 100%\" }} id=\"tableTitle\">\n <ReloadBtn setLoading={setLoading} onReload={onReload} loading={reloadBtnLoading} />\n </Box>\n <SearchArea\n current={searchTerm}\n setFinalVal={onSearchChange}\n searchName={name}\n persistSearch={persistSearch}\n />\n </Stack>\n </Toolbar>\n );\n}\n\nTableToolbarContent.propTypes = {\n setLoading: PropTypes.func,\n onReload: PropTypes.func,\n reloadBtnLoading: PropTypes.bool,\n searchTerm: PropTypes.string,\n onSearchChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n persistSearch: PropTypes.bool,\n};\n\nexport default TableToolbarContent;\n","import React from \"react\";\n\nexport default function useEnhancedTableState({ rows, subTable, resetFlag }) {\n const [order, setOrder] = React.useState(\"asc\");\n const [orderBy, setOrderBy] = React.useState(\"\");\n const [pagination, setPagination] = React.useState(() => ({\n page: 0,\n rowsPerPage: subTable ? rows.length : 5,\n resetFlag,\n }));\n\n React.useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setPagination((previous) => {\n if (previous.resetFlag === resetFlag) {\n return previous;\n }\n\n return {\n ...previous,\n page: 0,\n resetFlag,\n };\n });\n }, [resetFlag]);\n\n const page = pagination.page;\n const rowsPerPage = subTable ? rows.length : pagination.rowsPerPage;\n\n const handleRequestSort = React.useCallback(\n (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n },\n [order, orderBy],\n );\n\n const handleChangePage = React.useCallback(\n (event, newPage) => {\n setPagination((previous) => ({\n ...previous,\n page: newPage,\n }));\n },\n [],\n );\n\n const handleChangeRowsPerPage = React.useCallback(\n (event) => {\n setPagination((previous) => ({\n ...previous,\n page: 0,\n rowsPerPage: Number.parseInt(event.target.value, 10),\n }));\n },\n [],\n );\n\n return {\n order,\n orderBy,\n page,\n rowsPerPage,\n handleRequestSort,\n handleChangePage,\n handleChangeRowsPerPage,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Checkbox, TableCell, TableHead, TableRow, TableSortLabel } from \"@mui/material\";\nimport { visuallyHidden } from \"../utils/tableUtils\";\n\nfunction EnhancedTableHead(props) {\n const {\n order,\n orderBy,\n onRequestSort,\n selectRows,\n numSelected,\n rowCount,\n onSelectAllClick,\n } = props;\n\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n <TableHead>\n <TableRow>\n {selectRows && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n color=\"primary\"\n indeterminate={numSelected > 0 && numSelected < rowCount}\n checked={rowCount > 0 && numSelected === rowCount}\n onChange={onSelectAllClick}\n />\n </TableCell>\n )}\n {props.headings.map((headCell) => (\n <TableCell\n key={headCell.id}\n align={headCell.numeric ? \"right\" : \"left\"}\n padding=\"normal\"\n sortDirection={orderBy === headCell.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : \"asc\"}\n onClick={createSortHandler(headCell.id)}\n >\n {headCell.label}\n {orderBy === headCell.id ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\" ? \"sorted descending\" : \"sorted ascending\"}\n </Box>\n ) : undefined}\n </TableSortLabel>\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n );\n}\n\nEnhancedTableHead.propTypes = {\n onRequestSort: PropTypes.func.isRequired,\n order: PropTypes.oneOf([\"asc\", \"desc\"]).isRequired,\n orderBy: PropTypes.string.isRequired,\n headings: PropTypes.array.isRequired,\n selectRows: PropTypes.bool,\n numSelected: PropTypes.number,\n rowCount: PropTypes.number,\n onSelectAllClick: PropTypes.func,\n};\n\nexport default EnhancedTableHead;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Badge,\n Box,\n Collapse,\n IconButton,\n TableCell,\n TableRow,\n Tooltip,\n} from \"@mui/material\";\nimport { AddCircle, RemoveCircle } from \"@mui/icons-material\";\n\n/**\n * Lazily import UniversalTable to statically break the circular dependency:\n * UniversalTable → EnhancedTable → DataRow → SubTableRow → UniversalTable\n * React.lazy resolves the import at render time, so the module graph stays acyclic.\n */\nconst UniversalTable = React.lazy(() => import(\"../UniversalTable\"));\n\n// ---------------------------------------------------------------------------\n// SubRowToggleCell\n// ---------------------------------------------------------------------------\n\nexport function SubRowToggleCell({ header, isOpen, onToggle, rowValues, hideBadge }) {\n return (\n <TableCell>\n <Tooltip title={isOpen ? `Hide ${header.id}` : `Show ${header.id}`}>\n <Box>\n <IconButton\n onClick={(event) => {\n event.stopPropagation();\n onToggle();\n }}\n disabled={rowValues[header.id].length === 0}\n color={header.iconColor || \"secondary\"}\n >\n <Badge\n badgeContent={rowValues[header.id].length}\n invisible={hideBadge}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"right\",\n }}\n sx={{\n \"& .MuiBadge-badge\": {\n color: (theme) => theme.palette.text.primary,\n },\n }}\n >\n {isOpen\n ? header?.closeIcon || <RemoveCircle />\n : header?.openIcon || <AddCircle />}\n </Badge>\n </IconButton>\n </Box>\n </Tooltip>\n </TableCell>\n );\n}\n\nSubRowToggleCell.propTypes = {\n header: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n onToggle: PropTypes.func.isRequired,\n rowValues: PropTypes.object.isRequired,\n hideBadge: PropTypes.bool,\n};\n\n// ---------------------------------------------------------------------------\n// SubTableRow\n// ---------------------------------------------------------------------------\n\nexport function SubTableRow({ table, isOpen, rowValues, colSpan }) {\n return (\n <TableRow>\n <TableCell colSpan={colSpan} style={{ paddingBottom: 0, paddingTop: 0 }}>\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit>\n <React.Suspense fallback={null}>\n <UniversalTable\n loading={table.loading}\n setLoading={table.setLoading}\n onReload={table.onReload}\n data={rowValues[table.id]}\n headers={table.headers}\n name={table.subTitle}\n subTable\n />\n </React.Suspense>\n </Collapse>\n </TableCell>\n </TableRow>\n );\n}\n\nSubTableRow.propTypes = {\n table: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n rowValues: PropTypes.object.isRequired,\n colSpan: PropTypes.number.isRequired,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Checkbox,\n TableCell,\n TableRow,\n} from \"@mui/material\";\nimport { SubRowToggleCell, SubTableRow } from \"./SubTableRow\";\nimport { splitHeaders, formatCellValue } from \"../utils/tableUtils\";\n\nfunction renderDataCells(headers, rowValues) {\n return headers.map((header, index) => (\n <TableCell key={header.id || index} {...header.cellProps}>\n {header.component\n ? header.component(rowValues)\n : formatCellValue(header, rowValues)}\n </TableCell>\n ));\n}\n\nconst DataRow = React.memo(function DataRow(props) {\n const { rowValues, headers, selectRows, isSelected, handleClick } = props;\n const { subTables, columns } = React.useMemo(() => splitHeaders(headers), [\n headers,\n ]);\n const hideBadge = props.hideBadge || false;\n const isItemSelected = isSelected(props.rowID);\n const [reveal, setReveal] = React.useState(\n Array.from({ length: subTables.length }).fill(false),\n );\n\n const toggleSubRow = React.useCallback((index) => {\n setReveal((previous) => {\n const next = [...previous];\n next[index] = !next[index];\n return next;\n });\n }, []);\n\n const handleRowKeyDown = React.useCallback(\n (event) => {\n if (selectRows && (event.key === \" \" || event.key === \"Enter\")) {\n event.preventDefault();\n handleClick(event, props.rowID);\n }\n },\n [selectRows, handleClick, props.rowID],\n );\n\n return (\n <>\n <TableRow\n tabIndex={selectRows ? 0 : -1}\n hover={selectRows}\n role={selectRows ? \"checkbox\" : \"row\"}\n selected={isItemSelected}\n aria-checked={isItemSelected}\n onKeyDown={handleRowKeyDown}\n >\n {selectRows && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n color=\"primary\"\n checked={isItemSelected}\n onClick={(event) => handleClick(event, props.rowID)}\n />\n </TableCell>\n )}\n {subTables.map((header, index) => (\n <SubRowToggleCell\n key={header.id || index}\n header={header}\n isOpen={reveal[index]}\n onToggle={() => toggleSubRow(index)}\n rowValues={rowValues}\n hideBadge={hideBadge}\n />\n ))}\n {renderDataCells(columns, rowValues)}\n </TableRow>\n {subTables.map((table, index) => (\n <SubTableRow\n key={table.id || index}\n table={table}\n isOpen={reveal[index]}\n rowValues={rowValues}\n colSpan={props.headers.length + 1}\n />\n ))}\n </>\n );\n});\n\nDataRow.propTypes = {\n rowValues: PropTypes.object.isRequired,\n headers: PropTypes.array.isRequired,\n selectRows: PropTypes.bool,\n isSelected: PropTypes.func.isRequired,\n handleClick: PropTypes.func,\n hideBadge: PropTypes.bool,\n rowID: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n};\n\nexport default DataRow;\n","import React from \"react\";\nimport {\n TableBody,\n TableCell,\n TableRow,\n Skeleton,\n TableHead,\n} from \"@mui/material\";\n\nconst TableLoader = () => {\n return (\n <>\n <TableHead />\n <TableBody>\n {Array.from({ length: 5 }).map((_, index) => (\n <TableRow key={index}>\n {Array.from({ length: 4 }).map((_, cellIndex) => (\n <TableCell key={cellIndex}>\n <Skeleton height={30} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </>\n );\n};\n\nexport default TableLoader;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TablePagination,\n TableRow,\n} from \"@mui/material\";\nimport useEnhancedTableState from \"../hooks/useEnhancedTableState\";\nimport {\n getComparator,\n getPageOptions,\n getSelectableRowId,\n stableSort,\n} from \"../utils/tableUtils\";\nimport EnhancedTableHead from \"./EnhancedTableHead\";\nimport DataRow from \"./DataRow\";\nimport TableLoader from \"./TableLoader\";\n\nfunction EnhancedTable(props) {\n const { headers, rows, subTable, selected, selectID } = props;\n const dense = true;\n const {\n order,\n orderBy,\n page,\n rowsPerPage,\n handleRequestSort,\n handleChangePage,\n handleChangeRowsPerPage,\n } = useEnhancedTableState({\n rows,\n subTable,\n resetFlag: props.resetFlag,\n });\n\n const emptyRows = Math.max(\n 0,\n rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage),\n );\n\n const isSelected = React.useCallback(\n (id) => selected.includes(id),\n [selected],\n );\n\n const visibleRows = React.useMemo(\n () =>\n stableSort(rows, getComparator(order, orderBy), headers).slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage,\n ),\n [headers, order, orderBy, page, rows, rowsPerPage],\n );\n\n return (\n <TableContainer>\n <Table\n sx={{ minWidth: 750 }}\n size={dense ? \"small\" : \"medium\"}\n aria-label={props.name || \"data table\"}\n >\n {props.loading ? (\n <TableLoader />\n ) : (\n <>\n <EnhancedTableHead\n order={order}\n orderBy={orderBy}\n onRequestSort={handleRequestSort}\n headings={headers}\n selectRows={props.selectRows}\n numSelected={selected.length}\n rowCount={rows.length}\n onSelectAllClick={props.handleSelectAllClick}\n />\n\n <TableBody>\n {visibleRows.map((row, index) => {\n const rowKey = selectID\n ? row[selectID]\n : `row-${page * rowsPerPage + index}`;\n const rowID = getSelectableRowId(row, index, selectID);\n\n return (\n <DataRow\n key={rowKey}\n rowID={rowID}\n headers={headers}\n rowValues={row}\n hideBadge={props.hideBadge}\n selectRows={props.selectRows}\n handleClick={props.handleClick}\n isSelected={isSelected}\n />\n );\n })}\n {!subTable && emptyRows > 0 && (\n <TableRow style={{ height: (dense ? 33 : 53) * emptyRows }}>\n <TableCell colSpan={headers.length} />\n </TableRow>\n )}\n </TableBody>\n </>\n )}\n </Table>\n {subTable ? (\n <Box sx={{ mb: 3 }} />\n ) : (\n <TablePagination\n rowsPerPageOptions={props.pageSizeOptions || getPageOptions(rows.length)}\n component=\"div\"\n count={rows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n sx={{ overflow: \"visible\" }}\n showFirstButton\n showLastButton\n />\n )}\n </TableContainer>\n );\n}\n\nEnhancedTable.propTypes = {\n headers: PropTypes.array.isRequired,\n rows: PropTypes.array.isRequired,\n subTable: PropTypes.bool,\n hideBadge: PropTypes.bool,\n loading: PropTypes.bool,\n selectRows: PropTypes.bool,\n handleSelectAllClick: PropTypes.func,\n handleClick: PropTypes.func,\n selected: PropTypes.array,\n selectID: PropTypes.string,\n resetFlag: PropTypes.string,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n name: PropTypes.string,\n};\n\nexport default EnhancedTable;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Paper from \"@mui/material/Paper\";\nimport LazyLoadingIndicator from \"./components/LazyLoadingIndicator\";\nimport useSearchableRows from \"./hooks/useSearchableRows\";\nimport useSelectableRows from \"./hooks/useSelectableRows\";\nimport TableSelectionBanner from \"./components/TableSelectionBanner\";\nimport TableTitle from \"./components/TableTitle\";\nimport TableToolbarContent from \"./components/TableToolbarContent\";\nimport EnhancedTable from \"./components/EnhancedTable\";\n\nexport default function UniversalTable({\n loading,\n setLoading,\n onReload,\n lazyloading = false,\n currentPage,\n totalPages,\n data,\n headers,\n name,\n reloadBtnLoading,\n subTable = false,\n hideBadge = false,\n selectRows = false,\n selectID,\n selectIcon,\n onSelection,\n pageSizeOptions,\n persistSearch,\n}) {\n const head = headers || [];\n const { rows, searchTerm, setSearchTerm } = useSearchableRows(data, head);\n const { selected, clearSelection, handleSelectAllClick, handleClick } =\n useSelectableRows({\n rows,\n selectRows,\n selectID,\n });\n\n const handleSearchChange = React.useCallback(\n (value) => {\n clearSelection();\n setSearchTerm(value);\n },\n [clearSelection, setSearchTerm],\n );\n\n return (\n <>\n <LazyLoadingIndicator\n show={lazyloading}\n currentPage={currentPage}\n totalPages={totalPages}\n />\n <Paper\n sx={{\n ...(subTable && { boxShadow: \"none\" }),\n }}\n >\n <TableSelectionBanner\n selected={selected}\n onSelection={onSelection}\n selectIcon={selectIcon}\n />\n <TableTitle name={name} subTable={subTable} />\n {!subTable && (\n <TableToolbarContent\n setLoading={setLoading}\n onReload={onReload}\n reloadBtnLoading={reloadBtnLoading}\n searchTerm={searchTerm}\n onSearchChange={handleSearchChange}\n name={name}\n persistSearch={persistSearch}\n />\n )}\n <EnhancedTable\n headers={head}\n rows={rows}\n resetFlag={searchTerm}\n subTable={subTable}\n hideBadge={hideBadge}\n loading={loading}\n selectRows={selectRows}\n handleSelectAllClick={handleSelectAllClick}\n handleClick={handleClick}\n selected={selected}\n selectID={selectID}\n pageSizeOptions={pageSizeOptions}\n name={name}\n />\n </Paper>\n </>\n );\n}\n\nUniversalTable.propTypes = {\n loading: PropTypes.bool,\n setLoading: PropTypes.func,\n /** Preferred callback — fires when the user clicks reload. */\n onReload: PropTypes.func,\n lazyloading: PropTypes.bool,\n currentPage: PropTypes.number,\n totalPages: PropTypes.number,\n data: PropTypes.array.isRequired,\n headers: PropTypes.array.isRequired,\n name: PropTypes.string,\n reloadBtnLoading: PropTypes.bool,\n subTable: PropTypes.bool,\n hideBadge: PropTypes.bool,\n selectRows: PropTypes.bool,\n selectID: PropTypes.string,\n selectIcon: PropTypes.element,\n onSelection: PropTypes.func,\n /** Override default page size options (e.g. [10, 25, 50]). Default auto-computed. */\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n /** Persist search term to sessionStorage (requires name prop). Default: false */\n persistSearch: PropTypes.bool,\n};\n"],"names":["LazyLoadingIndicator","_ref","show","currentPage","totalPages","React","createElement","Collapse","timeout","unmountOnExit","Box","sx","width","p","Typography","variant","color","mb","LinearProgress","value","propTypes","PropTypes","bool","isRequired","number","visuallyHidden","border","clip","height","margin","overflow","padding","position","whiteSpace","getSelectableRowId","row","index","selectID","getSearchableColumnIds","headers","filter","column","searchable","map","id","filterRows","data","searchTerm","filterOptions","term","toLocaleLowerCase","some","filterOption","String","includes","getPageOptions","rowCount","splitHeaders","reduce","groups","header","subRow","subTables","push","columns","descendingComparator","a","b","orderBy","getComparator","order","formatCellValue","rowValues","raw","date","undefined","d","Date","Number","isNaN","getTime","toDateString","toLocaleTimeString","hour","minute","hour12","stableSort","array","comparator","dateColumns","Set","object","stabilizedThis","el","sortKey","_objectSpread","property","has","parsed","sort","useSearchableRows","_React$useState","useState","_React$useState2","_slicedToArray","setSearchTerm","useMemo","rows","useSelectableRows","selectRows","selected","setSelected","clearSelection","useCallback","handleSelectAllClick","event","target","checked","newSelected","handleClick","previous","selectedId","concat","_toConsumableArray","TableSelectionBanner","onSelection","selectIcon","length","display","justifyContent","bgcolor","theme","alpha","palette","primary","main","action","activatedOpacity","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","component","IconButton","onClick","Task","func","element","TableTitle","name","subTable","string","ReloadBtn","setLoading","loading","onReload","canReload","Tooltip","title","Button","disabled","RefreshIcon","FancySearch","onSubmit","search","setSearch","_React$useState3","Boolean","_React$useState4","hover","setHover","expanded","handleSubmit","e","preventDefault","handleEndHover","isUserType","useRef","useEffect","current","timer","setTimeout","clearTimeout","Paper","elevation","alignItems","transition","divider","onMouseEnter","onMouseLeave","onKeyDown","key","InputBase","placeholder","onChange","ml","onBlur","orientation","Stack","direction","spacing","mr","Clear","Divider","flexItem","type","Search","SearchArea","props","setFinalVal","searchName","persistSearch","searchVal","_sessionStorage$getIt","sessionStorage","getItem","TableToolbarContent","reloadBtnLoading","onSearchChange","Toolbar","pl","sm","pr","xs","pt","md","flex","useEnhancedTableState","resetFlag","setOrder","setOrderBy","_React$useState5","page","rowsPerPage","_React$useState6","pagination","setPagination","handleRequestSort","isAsc","handleChangePage","newPage","handleChangeRowsPerPage","parseInt","EnhancedTableHead","onRequestSort","numSelected","onSelectAllClick","createSortHandler","TableHead","TableRow","TableCell","Checkbox","indeterminate","headings","headCell","align","numeric","sortDirection","TableSortLabel","active","label","oneOf","UniversalTable","lazy","SubRowToggleCell","isOpen","onToggle","hideBadge","stopPropagation","iconColor","Badge","badgeContent","invisible","anchorOrigin","vertical","horizontal","text","closeIcon","RemoveCircle","openIcon","AddCircle","SubTableRow","_ref2","table","colSpan","style","paddingBottom","paddingTop","Suspense","fallback","subTitle","renderDataCells","_extends","cellProps","DataRow","memo","isSelected","_React$useMemo","isItemSelected","rowID","Array","from","fill","reveal","setReveal","toggleSubRow","next","handleRowKeyDown","Fragment","tabIndex","role","oneOfType","TableLoader","TableBody","_","cellIndex","Skeleton","EnhancedTable","_useEnhancedTableStat","emptyRows","Math","max","min","visibleRows","slice","TableContainer","Table","minWidth","size","rowKey","TablePagination","rowsPerPageOptions","pageSizeOptions","count","onPageChange","onRowsPerPageChange","showFirstButton","showLastButton","arrayOf","_ref$lazyloading","lazyloading","_ref$subTable","_ref$hideBadge","_ref$selectRows","head","_useSearchableRows","_useSelectableRows","handleSearchChange","boxShadow"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/LazyLoadingIndicator.jsx","../src/utils/tableUtils.js","../src/hooks/useSearchableRows.js","../src/hooks/useSelectableRows.js","../src/components/TableSelectionBanner.jsx","../src/components/TableTitle.jsx","../src/components/ReloadBtn.jsx","../src/components/FancySearch.jsx","../src/components/SearchArea.jsx","../src/components/TableToolbarContent.jsx","../src/hooks/useEnhancedTableState.js","../src/components/EnhancedTableHead.jsx","../src/components/SubTableRow.jsx","../src/components/DataRow.jsx","../src/components/TableLoader.jsx","../src/components/EnhancedTable.jsx","../src/UniversalTable.jsx"],"sourcesContent":["import React from \"react\";\nimport { Box, LinearProgress, Typography, Collapse } from \"@mui/material\";\nimport PropTypes from \"prop-types\";\n\nconst LazyLoadingIndicator = ({ show, currentPage, totalPages }) => {\n return (\n <Collapse in={show} timeout=\"auto\" unmountOnExit>\n <Box sx={{ width: \"100%\", p: 2 }}>\n <Typography variant=\"body2\" color=\"text.secondary\" sx={{ mb: 1 }}>\n Loading page {currentPage} of {totalPages}...\n </Typography>\n <LinearProgress\n variant=\"determinate\"\n value={(currentPage / totalPages) * 100}\n />\n </Box>\n </Collapse>\n );\n};\n\nLazyLoadingIndicator.propTypes = {\n show: PropTypes.bool.isRequired,\n currentPage: PropTypes.number,\n totalPages: PropTypes.number,\n};\n\nexport default LazyLoadingIndicator;\n","/**\n * Standard visually-hidden style: content is accessible to screen readers\n * but invisible on screen. Defined locally to avoid importing from\n * @mui/utils which is not a declared peer dependency.\n */\nexport const visuallyHidden = {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: -1,\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n};\n\nexport function getSelectableRowId(row, index, selectID) {\n return selectID ? row[selectID] : index;\n}\n\nexport function getSearchableColumnIds(headers) {\n return headers\n .filter((column) => column.searchable)\n .map((column) => column.id);\n}\n\nexport function filterRows(data, searchTerm, filterOptions) {\n if (!searchTerm) {\n return data;\n }\n\n const term = searchTerm.toLocaleLowerCase();\n return data.filter((row) =>\n filterOptions.some((filterOption) =>\n String(row[filterOption]).toLocaleLowerCase().includes(term),\n ),\n );\n}\n\nexport function getPageOptions(rowCount) {\n if (rowCount <= 5) return [5];\n if (rowCount <= 10) return [5, rowCount];\n if (rowCount <= 25) return [5, 10, rowCount];\n if (rowCount < 50) return [5, 10, 25, rowCount];\n if (rowCount < 100) return [5, 10, 25, 50, rowCount];\n return [5, 10, 25, 50, 100, rowCount];\n}\n\nexport function splitHeaders(headers) {\n return headers.reduce(\n (groups, header) => {\n if (header.subRow) {\n groups.subTables.push(header);\n } else {\n groups.columns.push(header);\n }\n\n return groups;\n },\n { subTables: [], columns: [] },\n );\n}\n\nexport function descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nexport function getComparator(order, orderBy) {\n return order === \"desc\"\n ? (a, b) => descendingComparator(a, b, orderBy)\n : (a, b) => -descendingComparator(a, b, orderBy);\n}\n\nconst browserDateTimeFormatter = new Intl.DateTimeFormat(undefined, {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"2-digit\",\n hour12: true,\n});\n\n/**\n * Format a cell value for display. Handles dates safely:\n * returns the raw value for non-date headers, and a formatted\n * date string for date headers (guards against invalid dates).\n *\n * Uses `new Date(raw)` directly rather than `Date.parse(raw)` to\n * handle epoch-millisecond numbers, Date objects, and string\n * formats that Date.parse may reject.\n */\nexport function formatCellValue(header, rowValues) {\n const raw = rowValues[header.id];\n if (!header.date) {\n return raw;\n }\n\n // null and undefined produce a valid epoch-0 Date, not Invalid Date\n if (raw === null || raw === undefined) {\n return raw;\n }\n\n const d = new Date(raw);\n if (Number.isNaN(d.getTime())) {\n return raw;\n }\n\n return browserDateTimeFormatter.format(d);\n}\n\nexport function stableSort(array, comparator, headers) {\n const dateColumns = new Set(\n headers.filter((object) => object.date).map((value) => value.id),\n );\n\n // Build stable entries — compare pre-computed sort keys so we never\n // mutate the original data or its shallow copies.\n // Each entry is [originalRow, sortKey, index] so that the comparator\n // works on numeric-converted date values while the original rows are\n // returned unchanged (preserving the data seen by header.component).\n const stabilizedThis = array.map((el, index) => {\n const sortKey = { ...el };\n for (const property in sortKey) {\n if (dateColumns.has(property)) {\n const parsed = Number(new Date(sortKey[property]));\n // Preserve the original value for invalid dates so formatCellValue\n // can display the fallback instead of passing NaN to React children.\n if (!Number.isNaN(parsed)) {\n sortKey[property] = parsed;\n }\n }\n }\n return [el, sortKey, index];\n });\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[1], b[1]);\n if (order !== 0) return order;\n return a[2] - b[2];\n });\n return stabilizedThis.map((el) => el[0]);\n}\n\n","import React from \"react\";\nimport { getSearchableColumnIds, filterRows } from \"../utils/tableUtils\";\n\nexport default function useSearchableRows(data, headers) {\n const [searchTerm, setSearchTerm] = React.useState(\"\");\n\n const filterOptions = React.useMemo(\n () => getSearchableColumnIds(headers),\n [headers],\n );\n\n const rows = React.useMemo(\n () => filterRows(data, searchTerm, filterOptions),\n [data, filterOptions, searchTerm],\n );\n\n return {\n rows,\n searchTerm,\n setSearchTerm,\n };\n}\n","import React from \"react\";\nimport { getSelectableRowId } from \"../utils/tableUtils\";\n\nexport default function useSelectableRows({ rows, selectRows, selectID }) {\n const [selected, setSelected] = React.useState([]);\n\n const clearSelection = React.useCallback(() => {\n setSelected([]);\n }, []);\n\n const handleSelectAllClick = React.useCallback(\n (event) => {\n if (!event.target.checked) {\n setSelected([]);\n return;\n }\n\n const newSelected = rows.map((row, index) =>\n getSelectableRowId(row, index, selectID),\n );\n setSelected(newSelected);\n },\n [rows, selectID],\n );\n\n const handleClick = React.useCallback(\n (event, id) => {\n if (!selectRows) {\n return;\n }\n\n setSelected((previous) =>\n previous.includes(id)\n ? previous.filter((selectedId) => selectedId !== id)\n : [...previous, id],\n );\n },\n [selectRows],\n );\n\n return {\n selected,\n clearSelection,\n handleSelectAllClick,\n handleClick,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Collapse, IconButton, Typography } from \"@mui/material\";\nimport { alpha } from \"@mui/material/styles\";\nimport { Task } from \"@mui/icons-material\";\n\nfunction TableSelectionBanner({ selected, onSelection, selectIcon }) {\n return (\n <Collapse in={selected.length > 0} unmountOnExit>\n <Box\n sx={{\n p: 2,\n display: \"flex\",\n justifyContent: \"space-between\",\n bgcolor: (theme) =>\n alpha(\n theme.palette.primary.main,\n theme.palette.action.activatedOpacity,\n ),\n borderRadius: 1,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n }}\n >\n <Typography variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {selected.length} selected\n </Typography>\n\n <IconButton onClick={() => onSelection(selected)}>\n {selectIcon || <Task />}\n </IconButton>\n </Box>\n </Collapse>\n );\n}\n\nTableSelectionBanner.propTypes = {\n selected: PropTypes.array.isRequired,\n onSelection: PropTypes.func,\n selectIcon: PropTypes.element,\n};\n\nexport default TableSelectionBanner;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Typography } from \"@mui/material\";\n\nfunction TableTitle({ name, subTable }) {\n return (\n <Typography\n variant={subTable ? \"h6\" : \"h5\"}\n color={subTable ? \"secondary\" : \"primary\"}\n sx={{ p: 2 }}\n >\n {name}\n </Typography>\n );\n}\n\nTableTitle.propTypes = {\n name: PropTypes.string,\n subTable: PropTypes.bool,\n};\n\nexport default TableTitle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Button, Tooltip } from \"@mui/material\";\nimport RefreshIcon from \"@mui/icons-material/Refresh\";\n\nfunction ReloadBtn({ setLoading, loading, onReload }) {\n const canReload = typeof onReload === \"function\" || typeof setLoading === \"function\";\n\n if (!canReload) {\n return null;\n }\n\n const handleClick = () => {\n if (typeof onReload === \"function\") {\n onReload();\n } else if (typeof setLoading === \"function\") {\n setLoading(true);\n }\n };\n\n return (\n <Tooltip title=\"Reload\">\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={handleClick}\n disabled={loading}\n >\n <RefreshIcon />\n </Button>\n </Tooltip>\n );\n}\n\nReloadBtn.propTypes = {\n setLoading: PropTypes.func,\n loading: PropTypes.bool,\n /** Preferred callback — fires when the user clicks reload. */\n onReload: PropTypes.func,\n};\n\nexport default ReloadBtn;\n","import React from \"react\";\nimport {\n Collapse,\n Divider,\n IconButton,\n InputBase,\n Paper,\n Stack,\n} from \"@mui/material\";\nimport { Clear, Search } from \"@mui/icons-material\";\nimport PropTypes from \"prop-types\";\n\nexport default function FancySearch({ value, onSubmit }) {\n const [search, setSearch] = React.useState(value);\n const [hover, setHover] = React.useState(Boolean(search));\n const expanded = hover || Boolean(search);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit(search);\n };\n\n const handleEndHover = () => {\n setHover(false);\n };\n\n // Sync internal state when the parent clears/changes the search term.\n // A ref tracks whether this sync came from the user typing or from a parent\n // update, so the debounce only fires for genuine user input.\n const isUserType = React.useRef(false);\n\n React.useEffect(() => {\n if (isUserType.current) {\n // User is typing — debounce as normal\n isUserType.current = false;\n const timer = setTimeout(() => {\n onSubmit(search);\n }, 700);\n return () => clearTimeout(timer);\n }\n // External value change (parent reset, clear from clearSelection, etc.)\n // — sync state and do NOT fire a stale debounce.\n setSearch(value);\n return undefined;\n }, [search, value, onSubmit]);\n\n return (\n <form onSubmit={handleSubmit}>\n <Paper\n elevation={0}\n sx={{\n borderRadius: expanded ? \"24px\" : \"50px\",\n display: \"flex\",\n alignItems: \"center\",\n transition: \"all 0.5s ease-in-out\",\n p: expanded ? 1 : 0.5,\n width: \"fit-content\",\n border: (theme) => `1px solid ${theme.palette.divider}`,\n mb: 1,\n }}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={handleEndHover}\n onKeyDown={(e) => e.key === \"Enter\" && handleSubmit(e)}\n >\n <InputBase\n placeholder=\"Search\"\n value={search}\n onChange={(e) => {\n isUserType.current = true;\n setSearch(e.target.value);\n }}\n sx={{\n ml: 1,\n width: expanded ? \"100%\" : 0,\n transition: \"width 0.5s ease-in-out\",\n ...(expanded ? {} : { margin: 0 }),\n }}\n onBlur={handleEndHover}\n />\n\n <Collapse\n in={Boolean(search)}\n orientation=\"horizontal\"\n unmountOnExit\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n spacing={0}\n sx={{ mr: 3 }}\n >\n <IconButton\n onClick={() => {\n isUserType.current = false;\n setSearch(\"\");\n // Immediately clear instead of waiting for the debounce\n onSubmit(\"\");\n }}\n >\n <Clear />\n </IconButton>\n <Divider orientation=\"vertical\" flexItem />\n </Stack>\n </Collapse>\n\n <IconButton onClick={handleSubmit} type=\"submit\">\n <Search />\n </IconButton>\n </Paper>\n </form>\n );\n}\n\nFancySearch.propTypes = {\n value: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport FancySearch from \"./FancySearch\";\n\nfunction SearchArea(props) {\n const { current, setFinalVal, searchName, persistSearch } = props;\n\n const searchVal = React.useMemo(() => {\n if (current !== undefined && current !== null) return current;\n if (persistSearch && searchName) {\n return sessionStorage.getItem(`searchVal:${searchName}`) ?? \"\";\n }\n return \"\";\n }, [current, persistSearch, searchName]);\n\n return (\n <div key=\"SearchArea\">\n <FancySearch value={searchVal} onSubmit={setFinalVal} />\n </div>\n );\n}\n\nSearchArea.propTypes = {\n current: PropTypes.string,\n setFinalVal: PropTypes.func.isRequired,\n searchName: PropTypes.string,\n /** Persist search term to sessionStorage (requires searchName). Default: false */\n persistSearch: PropTypes.bool,\n};\n\nexport default SearchArea;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Box, Stack, Toolbar } from \"@mui/material\";\nimport ReloadBtn from \"./ReloadBtn\";\nimport SearchArea from \"./SearchArea\";\n\nfunction TableToolbarContent({\n setLoading,\n onReload,\n reloadBtnLoading,\n searchTerm,\n onSearchChange,\n name,\n persistSearch,\n}) {\n return (\n <Toolbar\n sx={{\n pl: { sm: 2 },\n pr: { xs: 1, sm: 1 },\n pt: 2,\n }}\n >\n <Stack\n spacing={2}\n direction={{ xs: \"column\", md: \"row\" }}\n sx={{\n width: \"100%\",\n alignItems: { xs: \"flex-start\", md: \"center\" },\n }}\n >\n <Box sx={{ flex: \"1 1 100%\" }} id=\"tableTitle\">\n <ReloadBtn setLoading={setLoading} onReload={onReload} loading={reloadBtnLoading} />\n </Box>\n <SearchArea\n current={searchTerm}\n setFinalVal={onSearchChange}\n searchName={name}\n persistSearch={persistSearch}\n />\n </Stack>\n </Toolbar>\n );\n}\n\nTableToolbarContent.propTypes = {\n setLoading: PropTypes.func,\n onReload: PropTypes.func,\n reloadBtnLoading: PropTypes.bool,\n searchTerm: PropTypes.string,\n onSearchChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n persistSearch: PropTypes.bool,\n};\n\nexport default TableToolbarContent;\n","import React from \"react\";\n\nexport default function useEnhancedTableState({ rows, subTable, resetFlag }) {\n const [order, setOrder] = React.useState(\"asc\");\n const [orderBy, setOrderBy] = React.useState(\"\");\n const [pagination, setPagination] = React.useState(() => ({\n page: 0,\n rowsPerPage: subTable ? rows.length : 5,\n resetFlag,\n }));\n\n React.useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setPagination((previous) => {\n if (previous.resetFlag === resetFlag) {\n return previous;\n }\n\n return {\n ...previous,\n page: 0,\n resetFlag,\n };\n });\n }, [resetFlag]);\n\n const page = pagination.page;\n const rowsPerPage = subTable ? rows.length : pagination.rowsPerPage;\n\n const handleRequestSort = React.useCallback(\n (event, property) => {\n const isAsc = orderBy === property && order === \"asc\";\n setOrder(isAsc ? \"desc\" : \"asc\");\n setOrderBy(property);\n },\n [order, orderBy],\n );\n\n const handleChangePage = React.useCallback(\n (event, newPage) => {\n setPagination((previous) => ({\n ...previous,\n page: newPage,\n }));\n },\n [],\n );\n\n const handleChangeRowsPerPage = React.useCallback(\n (event) => {\n setPagination((previous) => ({\n ...previous,\n page: 0,\n rowsPerPage: Number.parseInt(event.target.value, 10),\n }));\n },\n [],\n );\n\n return {\n order,\n orderBy,\n page,\n rowsPerPage,\n handleRequestSort,\n handleChangePage,\n handleChangeRowsPerPage,\n };\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Box,\n Checkbox,\n TableCell,\n TableHead,\n TableRow,\n TableSortLabel,\n} from \"@mui/material\";\nimport { visuallyHidden } from \"../utils/tableUtils\";\n\nfunction EnhancedTableHead(props) {\n const {\n order,\n orderBy,\n onRequestSort,\n selectRows,\n numSelected,\n rowCount,\n onSelectAllClick,\n } = props;\n\n const createSortHandler = (property) => (event) => {\n onRequestSort(event, property);\n };\n\n return (\n <TableHead>\n <TableRow>\n {selectRows && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n color=\"primary\"\n indeterminate={numSelected > 0 && numSelected < rowCount}\n checked={rowCount > 0 && numSelected === rowCount}\n onChange={onSelectAllClick}\n />\n </TableCell>\n )}\n {props.headings.map((headCell) => (\n <TableCell\n key={headCell.id}\n align={headCell.numeric ? \"right\" : \"left\"}\n padding=\"normal\"\n sortDirection={orderBy === headCell.id ? order : false}\n >\n <TableSortLabel\n active={orderBy === headCell.id}\n direction={orderBy === headCell.id ? order : \"asc\"}\n onClick={createSortHandler(headCell.id)}\n disabled={headCell.subRow}\n >\n {headCell.label}\n {orderBy === headCell.id ? (\n <Box component=\"span\" sx={visuallyHidden}>\n {order === \"desc\" ? \"sorted descending\" : \"sorted ascending\"}\n </Box>\n ) : undefined}\n </TableSortLabel>\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n );\n}\n\nEnhancedTableHead.propTypes = {\n onRequestSort: PropTypes.func.isRequired,\n order: PropTypes.oneOf([\"asc\", \"desc\"]).isRequired,\n orderBy: PropTypes.string.isRequired,\n headings: PropTypes.array.isRequired,\n selectRows: PropTypes.bool,\n numSelected: PropTypes.number,\n rowCount: PropTypes.number,\n onSelectAllClick: PropTypes.func,\n};\n\nexport default EnhancedTableHead;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Badge,\n Box,\n Collapse,\n IconButton,\n TableCell,\n TableRow,\n Tooltip,\n} from \"@mui/material\";\nimport { AddCircle, RemoveCircle } from \"@mui/icons-material\";\n\n/**\n * Lazily import UniversalTable to statically break the circular dependency:\n * UniversalTable → EnhancedTable → DataRow → SubTableRow → UniversalTable\n * React.lazy resolves the import at render time, so the module graph stays acyclic.\n */\nconst UniversalTable = React.lazy(() => import(\"../UniversalTable\"));\n\n// ---------------------------------------------------------------------------\n// SubRowToggleCell\n// ---------------------------------------------------------------------------\n\nexport function SubRowToggleCell({ header, isOpen, onToggle, rowValues, hideBadge }) {\n return (\n <TableCell>\n <Tooltip title={isOpen ? `Hide ${header.id}` : `Show ${header.id}`}>\n <Box>\n <IconButton\n onClick={(event) => {\n event.stopPropagation();\n onToggle();\n }}\n disabled={rowValues[header.id].length === 0}\n color={header.iconColor || \"secondary\"}\n >\n <Badge\n badgeContent={rowValues[header.id].length}\n invisible={hideBadge}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"right\",\n }}\n sx={{\n \"& .MuiBadge-badge\": {\n color: (theme) => theme.palette.text.primary,\n },\n }}\n >\n {isOpen\n ? header?.closeIcon || <RemoveCircle />\n : header?.openIcon || <AddCircle />}\n </Badge>\n </IconButton>\n </Box>\n </Tooltip>\n </TableCell>\n );\n}\n\nSubRowToggleCell.propTypes = {\n header: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n onToggle: PropTypes.func.isRequired,\n rowValues: PropTypes.object.isRequired,\n hideBadge: PropTypes.bool,\n};\n\n// ---------------------------------------------------------------------------\n// SubTableRow\n// ---------------------------------------------------------------------------\n\nexport function SubTableRow({ table, isOpen, rowValues, colSpan }) {\n return (\n <TableRow>\n <TableCell colSpan={colSpan} style={{ paddingBottom: 0, paddingTop: 0 }}>\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit>\n <React.Suspense fallback={null}>\n <UniversalTable\n loading={table.loading}\n setLoading={table.setLoading}\n onReload={table.onReload}\n data={rowValues[table.id]}\n headers={table.headers}\n name={table.subTitle}\n subTable\n />\n </React.Suspense>\n </Collapse>\n </TableCell>\n </TableRow>\n );\n}\n\nSubTableRow.propTypes = {\n table: PropTypes.object.isRequired,\n isOpen: PropTypes.bool.isRequired,\n rowValues: PropTypes.object.isRequired,\n colSpan: PropTypes.number.isRequired,\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Checkbox,\n TableCell,\n TableRow,\n} from \"@mui/material\";\nimport { SubRowToggleCell, SubTableRow } from \"./SubTableRow\";\nimport { splitHeaders, formatCellValue } from \"../utils/tableUtils\";\n\nfunction renderDataCells(headers, rowValues) {\n return headers.map((header, index) => (\n <TableCell key={header.id || index} {...header.cellProps}>\n {header.component\n ? header.component(rowValues)\n : formatCellValue(header, rowValues)}\n </TableCell>\n ));\n}\n\nconst DataRow = React.memo(function DataRow(props) {\n const { rowValues, headers, selectRows, isSelected, handleClick } = props;\n const { subTables, columns } = React.useMemo(() => splitHeaders(headers), [\n headers,\n ]);\n const hideBadge = props.hideBadge || false;\n const isItemSelected = isSelected(props.rowID);\n const [reveal, setReveal] = React.useState(\n Array.from({ length: subTables.length }).fill(false),\n );\n\n const toggleSubRow = React.useCallback((index) => {\n setReveal((previous) => {\n const next = [...previous];\n next[index] = !next[index];\n return next;\n });\n }, []);\n\n const handleRowKeyDown = React.useCallback(\n (event) => {\n if (selectRows && (event.key === \" \" || event.key === \"Enter\")) {\n event.preventDefault();\n handleClick(event, props.rowID);\n }\n },\n [selectRows, handleClick, props.rowID],\n );\n\n return (\n <>\n <TableRow\n tabIndex={selectRows ? 0 : -1}\n hover={selectRows}\n role={selectRows ? \"checkbox\" : \"row\"}\n selected={isItemSelected}\n aria-checked={isItemSelected}\n onKeyDown={handleRowKeyDown}\n >\n {selectRows && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n color=\"primary\"\n checked={isItemSelected}\n onClick={(event) => handleClick(event, props.rowID)}\n />\n </TableCell>\n )}\n {subTables.map((header, index) => (\n <SubRowToggleCell\n key={header.id || index}\n header={header}\n isOpen={reveal[index]}\n onToggle={() => toggleSubRow(index)}\n rowValues={rowValues}\n hideBadge={hideBadge}\n />\n ))}\n {renderDataCells(columns, rowValues)}\n </TableRow>\n {subTables.map((table, index) => (\n <SubTableRow\n key={table.id || index}\n table={table}\n isOpen={reveal[index]}\n rowValues={rowValues}\n colSpan={props.headers.length + 1}\n />\n ))}\n </>\n );\n});\n\nDataRow.propTypes = {\n rowValues: PropTypes.object.isRequired,\n headers: PropTypes.array.isRequired,\n selectRows: PropTypes.bool,\n isSelected: PropTypes.func.isRequired,\n handleClick: PropTypes.func,\n hideBadge: PropTypes.bool,\n rowID: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n};\n\nexport default DataRow;\n","import React from \"react\";\nimport {\n TableBody,\n TableCell,\n TableRow,\n Skeleton,\n TableHead,\n} from \"@mui/material\";\n\nconst TableLoader = () => {\n return (\n <>\n <TableHead />\n <TableBody>\n {Array.from({ length: 5 }).map((_, index) => (\n <TableRow key={index}>\n {Array.from({ length: 4 }).map((_, cellIndex) => (\n <TableCell key={cellIndex}>\n <Skeleton height={30} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </>\n );\n};\n\nexport default TableLoader;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {\n Box,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TablePagination,\n TableRow,\n} from \"@mui/material\";\nimport useEnhancedTableState from \"../hooks/useEnhancedTableState\";\nimport {\n getComparator,\n getPageOptions,\n getSelectableRowId,\n stableSort,\n} from \"../utils/tableUtils\";\nimport EnhancedTableHead from \"./EnhancedTableHead\";\nimport DataRow from \"./DataRow\";\nimport TableLoader from \"./TableLoader\";\n\nfunction EnhancedTable(props) {\n const { headers, rows, subTable, selected, selectID } = props;\n const dense = true;\n const {\n order,\n orderBy,\n page,\n rowsPerPage,\n handleRequestSort,\n handleChangePage,\n handleChangeRowsPerPage,\n } = useEnhancedTableState({\n rows,\n subTable,\n resetFlag: props.resetFlag,\n });\n\n const emptyRows = Math.max(\n 0,\n rowsPerPage - Math.min(rowsPerPage, rows.length - page * rowsPerPage),\n );\n\n const isSelected = React.useCallback(\n (id) => selected.includes(id),\n [selected],\n );\n\n const visibleRows = React.useMemo(\n () =>\n stableSort(rows, getComparator(order, orderBy), headers).slice(\n page * rowsPerPage,\n page * rowsPerPage + rowsPerPage,\n ),\n [headers, order, orderBy, page, rows, rowsPerPage],\n );\n\n return (\n <TableContainer>\n <Table\n sx={{ minWidth: 750 }}\n size={dense ? \"small\" : \"medium\"}\n aria-label={props.name || \"data table\"}\n >\n {props.loading ? (\n <TableLoader />\n ) : (\n <>\n <EnhancedTableHead\n order={order}\n orderBy={orderBy}\n onRequestSort={handleRequestSort}\n headings={headers}\n selectRows={props.selectRows}\n numSelected={selected.length}\n rowCount={rows.length}\n onSelectAllClick={props.handleSelectAllClick}\n />\n\n <TableBody>\n {visibleRows.map((row, index) => {\n const rowKey = selectID\n ? row[selectID]\n : `row-${page * rowsPerPage + index}`;\n const rowID = getSelectableRowId(row, index, selectID);\n\n return (\n <DataRow\n key={rowKey}\n rowID={rowID}\n headers={headers}\n rowValues={row}\n hideBadge={props.hideBadge}\n selectRows={props.selectRows}\n handleClick={props.handleClick}\n isSelected={isSelected}\n />\n );\n })}\n {!subTable && emptyRows > 0 && (\n <TableRow style={{ height: (dense ? 33 : 53) * emptyRows }}>\n <TableCell colSpan={headers.length} />\n </TableRow>\n )}\n </TableBody>\n </>\n )}\n </Table>\n {subTable ? (\n <Box sx={{ mb: 3 }} />\n ) : (\n <TablePagination\n rowsPerPageOptions={props.pageSizeOptions || getPageOptions(rows.length)}\n component=\"div\"\n count={rows.length}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n sx={{ overflow: \"visible\" }}\n showFirstButton\n showLastButton\n />\n )}\n </TableContainer>\n );\n}\n\nEnhancedTable.propTypes = {\n headers: PropTypes.array.isRequired,\n rows: PropTypes.array.isRequired,\n subTable: PropTypes.bool,\n hideBadge: PropTypes.bool,\n loading: PropTypes.bool,\n selectRows: PropTypes.bool,\n handleSelectAllClick: PropTypes.func,\n handleClick: PropTypes.func,\n selected: PropTypes.array,\n selectID: PropTypes.string,\n resetFlag: PropTypes.string,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n name: PropTypes.string,\n};\n\nexport default EnhancedTable;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Paper from \"@mui/material/Paper\";\nimport LazyLoadingIndicator from \"./components/LazyLoadingIndicator\";\nimport useSearchableRows from \"./hooks/useSearchableRows\";\nimport useSelectableRows from \"./hooks/useSelectableRows\";\nimport TableSelectionBanner from \"./components/TableSelectionBanner\";\nimport TableTitle from \"./components/TableTitle\";\nimport TableToolbarContent from \"./components/TableToolbarContent\";\nimport EnhancedTable from \"./components/EnhancedTable\";\n\nexport default function UniversalTable({\n loading,\n setLoading,\n onReload,\n lazyloading = false,\n currentPage,\n totalPages,\n data,\n headers,\n name,\n reloadBtnLoading,\n subTable = false,\n hideBadge = false,\n selectRows = false,\n selectID,\n selectIcon,\n onSelection,\n pageSizeOptions,\n persistSearch,\n}) {\n const head = headers || [];\n const { rows, searchTerm, setSearchTerm } = useSearchableRows(data, head);\n const { selected, clearSelection, handleSelectAllClick, handleClick } =\n useSelectableRows({\n rows,\n selectRows,\n selectID,\n });\n\n const handleSearchChange = React.useCallback(\n (value) => {\n clearSelection();\n setSearchTerm(value);\n },\n [clearSelection, setSearchTerm],\n );\n\n return (\n <>\n <LazyLoadingIndicator\n show={lazyloading}\n currentPage={currentPage}\n totalPages={totalPages}\n />\n <Paper\n sx={{\n ...(subTable && { boxShadow: \"none\" }),\n }}\n >\n <TableSelectionBanner\n selected={selected}\n onSelection={onSelection}\n selectIcon={selectIcon}\n />\n <TableTitle name={name} subTable={subTable} />\n {!subTable && (\n <TableToolbarContent\n setLoading={setLoading}\n onReload={onReload}\n reloadBtnLoading={reloadBtnLoading}\n searchTerm={searchTerm}\n onSearchChange={handleSearchChange}\n name={name}\n persistSearch={persistSearch}\n />\n )}\n <EnhancedTable\n headers={head}\n rows={rows}\n resetFlag={searchTerm}\n subTable={subTable}\n hideBadge={hideBadge}\n loading={loading}\n selectRows={selectRows}\n handleSelectAllClick={handleSelectAllClick}\n handleClick={handleClick}\n selected={selected}\n selectID={selectID}\n pageSizeOptions={pageSizeOptions}\n name={name}\n />\n </Paper>\n </>\n );\n}\n\nUniversalTable.propTypes = {\n loading: PropTypes.bool,\n setLoading: PropTypes.func,\n /** Preferred callback — fires when the user clicks reload. */\n onReload: PropTypes.func,\n lazyloading: PropTypes.bool,\n currentPage: PropTypes.number,\n totalPages: PropTypes.number,\n data: PropTypes.array.isRequired,\n headers: PropTypes.array.isRequired,\n name: PropTypes.string,\n reloadBtnLoading: PropTypes.bool,\n subTable: PropTypes.bool,\n hideBadge: PropTypes.bool,\n selectRows: PropTypes.bool,\n selectID: PropTypes.string,\n selectIcon: PropTypes.element,\n onSelection: PropTypes.func,\n /** Override default page size options (e.g. [10, 25, 50]). Default auto-computed. */\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n /** Persist search term to sessionStorage (requires name prop). Default: false */\n persistSearch: PropTypes.bool,\n};\n"],"names":["LazyLoadingIndicator","_ref","show","currentPage","totalPages","React","createElement","Collapse","timeout","unmountOnExit","Box","sx","width","p","Typography","variant","color","mb","LinearProgress","value","propTypes","PropTypes","bool","isRequired","number","visuallyHidden","border","clip","height","margin","overflow","padding","position","whiteSpace","getSelectableRowId","row","index","selectID","getSearchableColumnIds","headers","filter","column","searchable","map","id","filterRows","data","searchTerm","filterOptions","term","toLocaleLowerCase","some","filterOption","String","includes","getPageOptions","rowCount","splitHeaders","reduce","groups","header","subRow","subTables","push","columns","descendingComparator","a","b","orderBy","getComparator","order","browserDateTimeFormatter","Intl","DateTimeFormat","undefined","year","month","day","hour","minute","hour12","formatCellValue","rowValues","raw","date","d","Date","Number","isNaN","getTime","format","stableSort","array","comparator","dateColumns","Set","object","stabilizedThis","el","sortKey","_objectSpread","property","has","parsed","sort","useSearchableRows","_React$useState","useState","_React$useState2","_slicedToArray","setSearchTerm","useMemo","rows","useSelectableRows","selectRows","selected","setSelected","clearSelection","useCallback","handleSelectAllClick","event","target","checked","newSelected","handleClick","previous","selectedId","concat","_toConsumableArray","TableSelectionBanner","onSelection","selectIcon","length","display","justifyContent","bgcolor","theme","alpha","palette","primary","main","action","activatedOpacity","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","component","IconButton","onClick","Task","func","element","TableTitle","name","subTable","string","ReloadBtn","setLoading","loading","onReload","canReload","Tooltip","title","Button","disabled","RefreshIcon","FancySearch","onSubmit","search","setSearch","_React$useState3","Boolean","_React$useState4","hover","setHover","expanded","handleSubmit","e","preventDefault","handleEndHover","isUserType","useRef","useEffect","current","timer","setTimeout","clearTimeout","Paper","elevation","alignItems","transition","divider","onMouseEnter","onMouseLeave","onKeyDown","key","InputBase","placeholder","onChange","ml","onBlur","orientation","Stack","direction","spacing","mr","Clear","Divider","flexItem","type","Search","SearchArea","props","setFinalVal","searchName","persistSearch","searchVal","_sessionStorage$getIt","sessionStorage","getItem","TableToolbarContent","reloadBtnLoading","onSearchChange","Toolbar","pl","sm","pr","xs","pt","md","flex","useEnhancedTableState","resetFlag","setOrder","setOrderBy","_React$useState5","page","rowsPerPage","_React$useState6","pagination","setPagination","handleRequestSort","isAsc","handleChangePage","newPage","handleChangeRowsPerPage","parseInt","EnhancedTableHead","onRequestSort","numSelected","onSelectAllClick","createSortHandler","TableHead","TableRow","TableCell","Checkbox","indeterminate","headings","headCell","align","numeric","sortDirection","TableSortLabel","active","label","oneOf","UniversalTable","lazy","SubRowToggleCell","isOpen","onToggle","hideBadge","stopPropagation","iconColor","Badge","badgeContent","invisible","anchorOrigin","vertical","horizontal","text","closeIcon","RemoveCircle","openIcon","AddCircle","SubTableRow","_ref2","table","colSpan","style","paddingBottom","paddingTop","Suspense","fallback","subTitle","renderDataCells","_extends","cellProps","DataRow","memo","isSelected","_React$useMemo","isItemSelected","rowID","Array","from","fill","reveal","setReveal","toggleSubRow","next","handleRowKeyDown","Fragment","tabIndex","role","oneOfType","TableLoader","TableBody","_","cellIndex","Skeleton","EnhancedTable","_useEnhancedTableStat","emptyRows","Math","max","min","visibleRows","slice","TableContainer","Table","minWidth","size","rowKey","TablePagination","rowsPerPageOptions","pageSizeOptions","count","onPageChange","onRowsPerPageChange","showFirstButton","showLastButton","arrayOf","_ref$lazyloading","lazyloading","_ref$subTable","_ref$hideBadge","_ref$selectRows","head","_useSearchableRows","_useSelectableRows","handleSearchChange","boxShadow"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mui-universal-table",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "A universal table component built with Material UI for React applications",
5
5
  "keywords": [
6
6
  "react",