UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

109 lines (108 loc) 3.53 kB
import { useTable } from "./useTable.js"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, TableSortHeader } from "./Table.js"; import { c } from "react-compiler-runtime"; import { jsx, jsxs } from "react/jsx-runtime"; //#region src/DataTable/DataTable.tsx function defaultGetRowId(row) { return row.id; } function DataTable(t0) { const $ = c(27); const { "aria-labelledby": labelledby, "aria-describedby": describedby, cellPadding, columns, data, initialSortColumn, initialSortDirection, externalSorting, getRowId: t1, onToggleSort } = t0; const getRowId = t1 === void 0 ? defaultGetRowId : t1; let t2; if ($[0] !== columns || $[1] !== data || $[2] !== externalSorting || $[3] !== getRowId || $[4] !== initialSortColumn || $[5] !== initialSortDirection) { t2 = { data, columns, initialSortColumn, initialSortDirection, getRowId, externalSorting }; $[0] = columns; $[1] = data; $[2] = externalSorting; $[3] = getRowId; $[4] = initialSortColumn; $[5] = initialSortDirection; $[6] = t2; } else t2 = $[6]; const { headers, rows, actions, gridTemplateColumns } = useTable(t2); let t3; if ($[7] !== actions || $[8] !== headers || $[9] !== onToggleSort) { let t4; if ($[11] !== actions || $[12] !== onToggleSort) { t4 = (header) => { if (header.isSortable()) return /*#__PURE__*/ jsx(TableSortHeader, { align: header.column.align, direction: header.getSortDirection(), onToggleSort: () => { const nextDirection = header.getSortDirection() === "ASC" ? "DESC" : "ASC"; actions.sortBy(header); onToggleSort === null || onToggleSort === void 0 || onToggleSort(header.id, nextDirection); }, children: typeof header.column.header === "string" ? header.column.header : header.column.header() }, header.id); return /*#__PURE__*/ jsx(TableHeader, { align: header.column.align, children: typeof header.column.header === "string" ? header.column.header : header.column.header() }, header.id); }; $[11] = actions; $[12] = onToggleSort; $[13] = t4; } else t4 = $[13]; t3 = headers.map(t4); $[7] = actions; $[8] = headers; $[9] = onToggleSort; $[10] = t3; } else t3 = $[10]; let t4; if ($[14] !== t3) { t4 = /*#__PURE__*/ jsx(TableHead, { children: /*#__PURE__*/ jsx(TableRow, { children: t3 }) }); $[14] = t3; $[15] = t4; } else t4 = $[15]; let t5; if ($[16] !== rows) { t5 = rows.map(_temp); $[16] = rows; $[17] = t5; } else t5 = $[17]; let t6; if ($[18] !== t5) { t6 = /*#__PURE__*/ jsx(TableBody, { children: t5 }); $[18] = t5; $[19] = t6; } else t6 = $[19]; let t7; if ($[20] !== cellPadding || $[21] !== describedby || $[22] !== gridTemplateColumns || $[23] !== labelledby || $[24] !== t4 || $[25] !== t6) { t7 = /*#__PURE__*/ jsxs(Table, { "aria-labelledby": labelledby, "aria-describedby": describedby, cellPadding, gridTemplateColumns, children: [t4, t6] }); $[20] = cellPadding; $[21] = describedby; $[22] = gridTemplateColumns; $[23] = labelledby; $[24] = t4; $[25] = t6; $[26] = t7; } else t7 = $[26]; return t7; } function _temp(row) { return /*#__PURE__*/ jsx(TableRow, { children: row.getCells().map((cell) => /*#__PURE__*/ jsx(TableCell, { scope: cell.rowHeader ? "row" : void 0, align: cell.column.align, children: cell.column.renderCell ? cell.column.renderCell(row.getValue()) : cell.getValue() }, cell.id)) }, row.id); } _temp.displayName = "_temp"; //#endregion export { DataTable };