UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

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