@ltht-react/table 2.0.152 → 2.0.154
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/lib/molecules/table-component.d.ts +3 -3
- package/lib/molecules/table-component.js +23 -14
- package/lib/molecules/table-component.js.map +1 -1
- package/lib/molecules/table-header.d.ts +11 -0
- package/lib/molecules/table-header.js +33 -0
- package/lib/molecules/table-header.js.map +1 -0
- package/lib/molecules/table-styled-components.js +1 -1
- package/lib/molecules/table-styled-components.js.map +1 -1
- package/lib/molecules/table.d.ts +2 -2
- package/lib/molecules/table.js +13 -2
- package/lib/molecules/table.js.map +1 -1
- package/lib/organisms/generic-table.d.ts +1 -0
- package/lib/organisms/generic-table.js.map +1 -1
- package/lib/organisms/questionnaire-table.d.ts +1 -0
- package/lib/organisms/questionnaire-table.js.map +1 -1
- package/package.json +8 -8
- package/src/molecules/table-component.tsx +18 -44
- package/src/molecules/table-header.tsx +37 -0
- package/src/molecules/table-styled-components.tsx +2 -2
- package/src/molecules/table.tsx +4 -3
- package/src/organisms/generic-table.tsx +1 -0
- package/src/organisms/questionnaire-table.tsx +1 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { Table } from '@tanstack/react-table';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
3
|
import { ITableConfig } from './table';
|
|
4
|
-
declare const TableComponent: <T>({ table, staticColumns, headerAxis }: ITableHeadProps<T>) => JSX.Element;
|
|
4
|
+
declare const TableComponent: <T>({ table, staticColumns, headerAxis, ...rest }: ITableHeadProps<T>) => JSX.Element;
|
|
5
5
|
declare const TableNavigationButton: ({ position, hidden, clickHandler }: ITableNavButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
declare const TableSpinner: ({ position, hidden }: ITableSpinnerProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
interface ITableNavButtonProps {
|
|
@@ -13,7 +13,7 @@ interface ITableSpinnerProps {
|
|
|
13
13
|
position: 'bottom' | 'right';
|
|
14
14
|
hidden: boolean;
|
|
15
15
|
}
|
|
16
|
-
interface ITableHeadProps<T> extends ITableConfig {
|
|
16
|
+
interface ITableHeadProps<T> extends ITableConfig, HTMLAttributes<HTMLTableElement> {
|
|
17
17
|
table: Table<T>;
|
|
18
18
|
}
|
|
19
19
|
export default TableComponent;
|
|
@@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
13
24
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
25
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
26
|
};
|
|
@@ -22,8 +33,9 @@ var react_1 = require("react");
|
|
|
22
33
|
var table_methods_1 = require("./table-methods");
|
|
23
34
|
var table_styled_components_1 = require("./table-styled-components");
|
|
24
35
|
var useDimensionRef_1 = __importDefault(require("./useDimensionRef"));
|
|
36
|
+
var table_header_1 = __importDefault(require("./table-header"));
|
|
25
37
|
var TableComponent = function (_a) {
|
|
26
|
-
var table = _a.table, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b, headerAxis = _a.headerAxis;
|
|
38
|
+
var table = _a.table, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b, headerAxis = _a.headerAxis, rest = __rest(_a, ["table", "staticColumns", "headerAxis"]);
|
|
27
39
|
var firstColumn = (0, react_1.useRef)(null);
|
|
28
40
|
var secondColumn = (0, react_1.useRef)(null);
|
|
29
41
|
var tableElement = (0, react_1.useRef)(null);
|
|
@@ -32,27 +44,24 @@ var TableComponent = function (_a) {
|
|
|
32
44
|
var usingExpanderColumn = table.getHeaderGroups().some(function (x) { return x.headers.some(function (h) { return h.column.id === 'expander'; }); });
|
|
33
45
|
var totalStaticColumns = (0, react_1.useMemo)(function () { return (usingExpanderColumn ? staticColumns + 1 : staticColumns); }, [usingExpanderColumn, staticColumns]);
|
|
34
46
|
var getHeaderColumn = function (header, headerIndex) {
|
|
47
|
+
var stickyWidth = (0, table_methods_1.calculateStaticColumnOffset)(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth);
|
|
48
|
+
var headerProps = {
|
|
49
|
+
header: header,
|
|
50
|
+
stickyWidth: stickyWidth,
|
|
51
|
+
};
|
|
35
52
|
switch (headerIndex) {
|
|
36
53
|
case 0:
|
|
37
|
-
return
|
|
54
|
+
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ ref: firstColumn }, headerProps));
|
|
38
55
|
case 1:
|
|
39
|
-
return
|
|
56
|
+
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ ref: secondColumn }, headerProps));
|
|
40
57
|
default:
|
|
41
|
-
return
|
|
58
|
+
return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({}, headerProps));
|
|
42
59
|
}
|
|
43
60
|
};
|
|
44
|
-
|
|
45
|
-
? {
|
|
46
|
-
style: {
|
|
47
|
-
cursor: header.column.getCanSort() ? 'pointer' : '',
|
|
48
|
-
},
|
|
49
|
-
onClick: header.column.getToggleSortingHandler(),
|
|
50
|
-
}
|
|
51
|
-
: {}), { children: header.isPlaceholder ? null : (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()) }), header.id)); };
|
|
52
|
-
return ((0, jsx_runtime_1.jsxs)(table_styled_components_1.StyledTable, { ref: tableElement, children: [(0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTHead, { children: table.getHeaderGroups().map(function (headerGroup) { return ((0, jsx_runtime_1.jsx)("tr", { role: "row", children: headerGroup.headers.map(function (header, headerIndex) { return getHeaderColumn(header, headerIndex); }) }, headerGroup.id)); }) }), (0, jsx_runtime_1.jsx)("tbody", { children: table.getRowModel().rows.map(function (row) { return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableRow, { tableHeaderAxis: headerAxis, role: "row", children: row.getVisibleCells().map(function (cell, cellIdx) {
|
|
61
|
+
return ((0, jsx_runtime_1.jsxs)(table_styled_components_1.StyledTable, __assign({ ref: tableElement }, rest, { children: [(0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTHead, { children: table.getHeaderGroups().map(function (headerGroup) { return ((0, jsx_runtime_1.jsx)("tr", { role: "row", children: headerGroup.headers.map(function (header, headerIndex) { return getHeaderColumn(header, headerIndex); }) }, headerGroup.id)); }) }), (0, jsx_runtime_1.jsx)("tbody", { children: table.getRowModel().rows.map(function (row) { return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableRow, { tableHeaderAxis: headerAxis, role: "row", children: row.getVisibleCells().map(function (cell, cellIdx) {
|
|
53
62
|
var _a;
|
|
54
63
|
return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableData, { tableHeaderAxis: headerAxis, stickyWidth: (0, table_methods_1.calculateStaticColumnOffset)(cellIdx, totalStaticColumns, firstColumnWidth, secondColumnWidth), role: "cell", style: (_a = cell.getValue()) === null || _a === void 0 ? void 0 : _a.parentStyle, children: (0, react_table_1.flexRender)(cell.column.columnDef.cell, cell.getContext()) }, cell.id));
|
|
55
|
-
}) }, row.id)); }) })] }));
|
|
64
|
+
}) }, row.id)); }) })] })));
|
|
56
65
|
};
|
|
57
66
|
var TableNavigationButton = function (_a) {
|
|
58
67
|
var position = _a.position, hidden = _a.hidden, clickHandler = _a.clickHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-component.js","sourceRoot":"","sources":["../../src/molecules/table-component.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-component.js","sourceRoot":"","sources":["../../src/molecules/table-component.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Ref } from 'react';
|
|
2
|
+
import { Header as ReactTableHeader } from '@tanstack/react-table';
|
|
3
|
+
interface TableHeaderProps<TData, TValue> {
|
|
4
|
+
header: ReactTableHeader<TData, TValue>;
|
|
5
|
+
stickyWidth?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const Wrapper: <TData, TValue>({ header, stickyWidth }: TableHeaderProps<TData, TValue>, ref?: Ref<HTMLTableCellElement>) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare const TableHeader: <TData, TValue>(props: TableHeaderProps<TData, TValue> & {
|
|
9
|
+
ref?: Ref<HTMLTableCellElement> | undefined;
|
|
10
|
+
}) => ReturnType<typeof Wrapper>;
|
|
11
|
+
export default TableHeader;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.Wrapper = void 0;
|
|
15
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
|
+
var react_1 = require("react");
|
|
17
|
+
var react_table_1 = require("@tanstack/react-table");
|
|
18
|
+
var table_styled_components_1 = require("./table-styled-components");
|
|
19
|
+
var Wrapper = function (_a, ref) {
|
|
20
|
+
var header = _a.header, stickyWidth = _a.stickyWidth;
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableHeader, __assign({ ref: ref, stickyWidth: stickyWidth, colSpan: header.colSpan, role: "columnheader" }, (header.column.id !== 'expander'
|
|
22
|
+
? {
|
|
23
|
+
style: {
|
|
24
|
+
cursor: header.column.getCanSort() ? 'pointer' : '',
|
|
25
|
+
},
|
|
26
|
+
onClick: header.column.getToggleSortingHandler(),
|
|
27
|
+
}
|
|
28
|
+
: {}), { children: header.isPlaceholder ? null : (0, react_table_1.flexRender)(header.column.columnDef.header, header.getContext()) }), header.id));
|
|
29
|
+
};
|
|
30
|
+
exports.Wrapper = Wrapper;
|
|
31
|
+
var TableHeader = (0, react_1.forwardRef)(exports.Wrapper);
|
|
32
|
+
exports.default = TableHeader;
|
|
33
|
+
//# sourceMappingURL=table-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-header.js","sourceRoot":"","sources":["../../src/molecules/table-header.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAuC;AACvC,qDAA8E;AAC9E,qEAA6D;AAOtD,IAAM,OAAO,GAAG,UACrB,EAAwD,EACxD,GAA+B;QAD7B,MAAM,YAAA,EAAE,WAAW,iBAAA;IAElB,OAAA,CACH,uBAAC,2CAAiB,aAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EAExB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,IAAI,EAAC,cAAc,IACf,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU;QAClC,CAAC,CAAC;YACE,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;aACpD;YACD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE;SACjD;QACH,CAAC,CAAC,EAAE,CAAC,cAEN,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,KAZzF,MAAM,CAAC,EAAE,CAaI,CACrB;AAlBI,CAkBJ,CAAA;AArBY,QAAA,OAAO,WAqBnB;AAED,IAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,eAAO,CAEP,CAAA;AAE/B,kBAAe,WAAW,CAAA"}
|
|
@@ -45,7 +45,7 @@ var setScrollableDisplay = function (tableHeaderAxis, isFlex) {
|
|
|
45
45
|
};
|
|
46
46
|
var ScrollableContainer = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n background-color: white;\n ", "\n border-radius: 6px;\n overflow: auto;\n &::-webkit-scrollbar {\n width: 7px;\n height: 7px;\n border: 0;\n }\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: 10px;\n }\n"], ["\n ", ";\n background-color: white;\n ", "\n border-radius: 6px;\n overflow: auto;\n &::-webkit-scrollbar {\n width: 7px;\n height: 7px;\n border: 0;\n }\n &::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: 10px;\n }\n"])), styles_1.CSS_RESET, function (_a) {
|
|
47
47
|
var tableHeaderAxis = _a.tableHeaderAxis, maxWidth = _a.maxWidth, maxHeight = _a.maxHeight, isFlex = _a.isFlex;
|
|
48
|
-
return "\n display: ".concat(setScrollableDisplay(tableHeaderAxis, isFlex), "
|
|
48
|
+
return "\n display: ".concat(setScrollableDisplay(tableHeaderAxis, isFlex), ";\n ").concat(isFlex && 'flex-direction: column', ";\n max-width: ").concat(maxWidth !== null && maxWidth !== void 0 ? maxWidth : '100%', ";\n max-height: ").concat(maxHeight !== null && maxHeight !== void 0 ? maxHeight : '100%', ";\n ");
|
|
49
49
|
}, styles_1.SCROLLBAR);
|
|
50
50
|
exports.ScrollableContainer = ScrollableContainer;
|
|
51
51
|
var StyledTable = styled_1.default.table(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border-spacing: 0;\n border-radius: 6px;\n"], ["\n border-spacing: 0;\n border-radius: 6px;\n"])));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-styled-components.js","sourceRoot":"","sources":["../../src/molecules/table-styled-components.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAU2B;AAC3B,2DAAoC;AACpC,uDAAmD;AAGnD,IAAM,oBAAoB,GAAG,UAAC,eAAqB,EAAE,MAAe;IAClE,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,IAAM,mBAAmB,GAAG,gBAAM,CAAC,GAAG,sUAAsB,MACxD,EAAS,mCAET,EAKD,gLASe,EAAS,oCAG1B,KAnBG,kBAAS,EAET,UAAC,EAAgD;QAA9C,eAAe,qBAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,MAAM,YAAA;IAAO,OAAA,yBAC3C,oBAAoB,CAAC,eAAe,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"table-styled-components.js","sourceRoot":"","sources":["../../src/molecules/table-styled-components.tsx"],"names":[],"mappings":"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"}
|
package/lib/molecules/table.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
1
|
+
import { FC, HTMLAttributes } from 'react';
|
|
2
2
|
import { SortingFn } from '@tanstack/react-table';
|
|
3
3
|
import { Axis } from '@ltht-react/types';
|
|
4
4
|
import { CellProps } from './table-cell';
|
|
5
5
|
declare const Table: FC<IProps>;
|
|
6
|
-
interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps {
|
|
6
|
+
interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps, HTMLAttributes<HTMLTableElement> {
|
|
7
7
|
tableData: TableData;
|
|
8
8
|
}
|
|
9
9
|
export interface ITableConfig {
|
package/lib/molecules/table.js
CHANGED
|
@@ -33,6 +33,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
33
33
|
__setModuleDefault(result, mod);
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
36
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
37
|
+
var t = {};
|
|
38
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
39
|
+
t[p] = s[p];
|
|
40
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
41
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
42
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
43
|
+
t[p[i]] = s[p[i]];
|
|
44
|
+
}
|
|
45
|
+
return t;
|
|
46
|
+
};
|
|
36
47
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
49
|
};
|
|
@@ -45,7 +56,7 @@ var useScrollRef_1 = __importDefault(require("./useScrollRef"));
|
|
|
45
56
|
var table_methods_1 = require("./table-methods");
|
|
46
57
|
var table_component_1 = __importStar(require("./table-component"));
|
|
47
58
|
var Table = function (_a) {
|
|
48
|
-
var tableData = _a.tableData, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b, _c = _a.currentPage, currentPage = _c === void 0 ? 1 : _c, _d = _a.pageSize, pageSizeParam = _d === void 0 ? 10 : _d, _e = _a.headerAxis, headerAxis = _e === void 0 ? 'x' : _e, _f = _a.manualPagination, manualPagination = _f === void 0 ? false : _f, _g = _a.getCanNextPage, getCanNextPage = _g === void 0 ? function () { return false; } : _g, _h = _a.nextPage, nextPage = _h === void 0 ? function () { return null; } : _h, _j = _a.isFetching, isFetching = _j === void 0 ? false : _j, _k = _a.keepPreviousData, keepPreviousData = _k === void 0 ? false : _k, maxHeight = _a.maxHeight, maxWidth = _a.maxWidth, _l = _a.isFlex, isFlex = _l === void 0 ? false : _l, _m = _a.enableSorting, enableSorting = _m === void 0 ? true : _m, _o = _a.sortingFunctions, sortingFunctions = _o === void 0 ? undefined : _o;
|
|
59
|
+
var tableData = _a.tableData, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b, _c = _a.currentPage, currentPage = _c === void 0 ? 1 : _c, _d = _a.pageSize, pageSizeParam = _d === void 0 ? 10 : _d, _e = _a.headerAxis, headerAxis = _e === void 0 ? 'x' : _e, _f = _a.manualPagination, manualPagination = _f === void 0 ? false : _f, _g = _a.getCanNextPage, getCanNextPage = _g === void 0 ? function () { return false; } : _g, _h = _a.nextPage, nextPage = _h === void 0 ? function () { return null; } : _h, _j = _a.isFetching, isFetching = _j === void 0 ? false : _j, _k = _a.keepPreviousData, keepPreviousData = _k === void 0 ? false : _k, maxHeight = _a.maxHeight, maxWidth = _a.maxWidth, _l = _a.isFlex, isFlex = _l === void 0 ? false : _l, _m = _a.enableSorting, enableSorting = _m === void 0 ? true : _m, _o = _a.sortingFunctions, sortingFunctions = _o === void 0 ? undefined : _o, rest = __rest(_a, ["tableData", "staticColumns", "currentPage", "pageSize", "headerAxis", "manualPagination", "getCanNextPage", "nextPage", "isFetching", "keepPreviousData", "maxHeight", "maxWidth", "isFlex", "enableSorting", "sortingFunctions"]);
|
|
49
60
|
var scrollableDivElement = (0, react_1.useRef)(null);
|
|
50
61
|
var scrollState = (0, useScrollRef_1.default)(scrollableDivElement);
|
|
51
62
|
var _p = (0, react_1.useState)({}), expanded = _p[0], setExpanded = _p[1];
|
|
@@ -85,7 +96,7 @@ var Table = function (_a) {
|
|
|
85
96
|
table.nextPage();
|
|
86
97
|
}
|
|
87
98
|
};
|
|
88
|
-
return ((0, jsx_runtime_1.jsxs)(table_styled_components_1.ScrollableContainer, { ref: scrollableDivElement, tableHeaderAxis: headerAxis, maxHeight: maxHeight, maxWidth: maxWidth, isFlex: isFlex, children: [(0, jsx_runtime_1.jsx)(table_component_1.default, { table: table, staticColumns: staticColumns, headerAxis: headerAxis }), manualPagination ? ((0, jsx_runtime_1.jsx)(table_component_1.TableSpinner, { position: headerAxis === 'x' ? 'bottom' : 'right', hidden: !isFetching })) : null, (0, jsx_runtime_1.jsx)(table_component_1.TableNavigationButton, { position: headerAxis === 'x' ? 'bottom' : 'right', hidden: isFetching || (manualPagination ? !getCanNextPage() : !table.getCanNextPage()), clickHandler: getNextPage })] }));
|
|
99
|
+
return ((0, jsx_runtime_1.jsxs)(table_styled_components_1.ScrollableContainer, { ref: scrollableDivElement, tableHeaderAxis: headerAxis, maxHeight: maxHeight, maxWidth: maxWidth, isFlex: isFlex, children: [(0, jsx_runtime_1.jsx)(table_component_1.default, __assign({ table: table, staticColumns: staticColumns, headerAxis: headerAxis }, rest)), manualPagination ? ((0, jsx_runtime_1.jsx)(table_component_1.TableSpinner, { position: headerAxis === 'x' ? 'bottom' : 'right', hidden: !isFetching })) : null, (0, jsx_runtime_1.jsx)(table_component_1.TableNavigationButton, { position: headerAxis === 'x' ? 'bottom' : 'right', hidden: isFetching || (manualPagination ? !getCanNextPage() : !table.getCanNextPage()), clickHandler: getNextPage })] }));
|
|
89
100
|
};
|
|
90
101
|
exports.default = Table;
|
|
91
102
|
//# sourceMappingURL=table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/molecules/table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IPaginationProps, ITableDimensionProps, ITableConfig, TableData } from '../molecules/table';
|
|
2
2
|
declare const GenericTable: <TColumn, TRow>({ columnData, rowData, mapToTableData, headerAxis, pageSize, currentPage, keepPreviousData, ...props }: IProps<TColumn, TRow>) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
interface IProps<TColumn, TRow> extends ITableConfig, IPaginationProps, ITableDimensionProps {
|
|
4
|
+
id?: string;
|
|
4
5
|
columnData: TColumn;
|
|
5
6
|
rowData: TRow;
|
|
6
7
|
mapToTableData: (colData: TColumn, rowData: TRow) => TableData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-table.js","sourceRoot":"","sources":["../../src/organisms/generic-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA2G;AAE3G,IAAM,YAAY,GAAG,UAAgB,EASb;IARtB,IAAA,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAChB,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,mBAAe,EAAf,WAAW,mBAAG,CAAC,KAAA,EACf,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACpB,KAAK,cAR2B,wGASpC,CADS;IAER,IAAM,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAErD,OAAO,CACL,uBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,IAC9B,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"generic-table.js","sourceRoot":"","sources":["../../src/organisms/generic-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA2G;AAE3G,IAAM,YAAY,GAAG,UAAgB,EASb;IARtB,IAAA,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,cAAc,oBAAA,EACd,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAChB,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,mBAAe,EAAf,WAAW,mBAAG,CAAC,KAAA,EACf,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACpB,KAAK,cAR2B,wGASpC,CADS;IAER,IAAM,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAErD,OAAO,CACL,uBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,IAC9B,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;AASD,kBAAe,YAAY,CAAA"}
|
|
@@ -4,6 +4,7 @@ import { IPaginationProps, ITableDimensionProps, ITableConfig } from '../molecul
|
|
|
4
4
|
import { AdminActionsForQuestionnaire } from './questionnaire-table-methods';
|
|
5
5
|
declare const QuestionnaireTable: FC<IProps>;
|
|
6
6
|
interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps {
|
|
7
|
+
id?: string;
|
|
7
8
|
definition: Questionnaire;
|
|
8
9
|
records: QuestionnaireResponse[];
|
|
9
10
|
adminActions?: AdminActionsForQuestionnaire[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaire-table.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAAmC;AACnC,0DAAmC;AACnC,6DAAgG;AAChG,8FAEsC;AAEtC,IAAM,kBAAkB,GAAe,UAAC,EAUvC;IATC,IAAA,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAChB,qBAAiB,EAAjB,aAAa,mBAAG,CAAC,KAAA,EACjB,YAAY,kBAAA,EACZ,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,mBAAe,EAAf,WAAW,mBAAG,CAAC,KAAA,EACf,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACpB,KAAK,cAT8B,uHAUvC,CADS;IAER,IAAM,SAAS,GAAG,IAAA,eAAO,EACvB,cAAM,OAAA,IAAA,qCAAiD,EAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,EAAhG,CAAgG,EACtG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAChD,CAAA;IAED,sEAAsE;IACtE,wCAAwC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,6DACE,uBAAC,cAAI,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,GAAG,EACpD,2FAAuD,IACtD,CACJ,CAAA;IACH,CAAC;IAED,OAAO,CACL,uBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,IAC9B,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"questionnaire-table.js","sourceRoot":"","sources":["../../src/organisms/questionnaire-table.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAAmC;AACnC,0DAAmC;AACnC,6DAAgG;AAChG,8FAEsC;AAEtC,IAAM,kBAAkB,GAAe,UAAC,EAUvC;IATC,IAAA,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAChB,qBAAiB,EAAjB,aAAa,mBAAG,CAAC,KAAA,EACjB,YAAY,kBAAA,EACZ,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,mBAAe,EAAf,WAAW,mBAAG,CAAC,KAAA,EACf,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACpB,KAAK,cAT8B,uHAUvC,CADS;IAER,IAAM,SAAS,GAAG,IAAA,eAAO,EACvB,cAAM,OAAA,IAAA,qCAAiD,EAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,EAAhG,CAAgG,EACtG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAChD,CAAA;IAED,sEAAsE;IACtE,wCAAwC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,6DACE,uBAAC,cAAI,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,KAAK,GAAG,EACpD,2FAAuD,IACtD,CACJ,CAAA;IACH,CAAC;IAED,OAAO,CACL,uBAAC,eAAK,aACJ,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,IAC9B,KAAK,EACT,CACH,CAAA;AACH,CAAC,CAAA;AASD,kBAAe,kBAAkB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ltht-react/table",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.154",
|
|
4
4
|
"description": "ltht-react Table component.",
|
|
5
5
|
"author": "LTHT",
|
|
6
6
|
"homepage": "",
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@emotion/react": "^11.0.0",
|
|
30
30
|
"@emotion/styled": "^11.0.0",
|
|
31
|
-
"@ltht-react/button": "^2.0.
|
|
32
|
-
"@ltht-react/icon": "^2.0.
|
|
33
|
-
"@ltht-react/menu": "^2.0.
|
|
34
|
-
"@ltht-react/styles": "^2.0.
|
|
35
|
-
"@ltht-react/types": "^2.0.
|
|
36
|
-
"@ltht-react/utils": "^2.0.
|
|
31
|
+
"@ltht-react/button": "^2.0.154",
|
|
32
|
+
"@ltht-react/icon": "^2.0.154",
|
|
33
|
+
"@ltht-react/menu": "^2.0.154",
|
|
34
|
+
"@ltht-react/styles": "^2.0.154",
|
|
35
|
+
"@ltht-react/types": "^2.0.154",
|
|
36
|
+
"@ltht-react/utils": "^2.0.154",
|
|
37
37
|
"@tanstack/react-table": "^8.10.7",
|
|
38
38
|
"react": "^18.2.0",
|
|
39
39
|
"react-uuid": "^2.0.0"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "2513b17becd4789a78a61c900cc7068cc320a283"
|
|
42
42
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Icon from '@ltht-react/icon'
|
|
2
2
|
import { flexRender, Header as ReactTableHeader, Table } from '@tanstack/react-table'
|
|
3
|
-
import
|
|
3
|
+
import { HTMLAttributes, useMemo, useRef } from 'react'
|
|
4
4
|
import { calculateStaticColumnOffset } from './table-methods'
|
|
5
5
|
import {
|
|
6
6
|
StyledNextPageButtonContainer,
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
StyledTable,
|
|
9
9
|
StyledTableRow,
|
|
10
10
|
StyledTableData,
|
|
11
|
-
StyledTableHeader,
|
|
12
11
|
StyledTHead,
|
|
13
12
|
} from './table-styled-components'
|
|
14
13
|
import useDimensionsRef from './useDimensionRef'
|
|
15
14
|
import { CellProps } from './table-cell'
|
|
16
15
|
import { ITableConfig } from './table'
|
|
16
|
+
import TableHeader from './table-header'
|
|
17
17
|
|
|
18
|
-
const TableComponent = <T,>({ table, staticColumns = 0, headerAxis }: ITableHeadProps<T>): JSX.Element => {
|
|
18
|
+
const TableComponent = <T,>({ table, staticColumns = 0, headerAxis, ...rest }: ITableHeadProps<T>): JSX.Element => {
|
|
19
19
|
const firstColumn = useRef(null)
|
|
20
20
|
const secondColumn = useRef(null)
|
|
21
21
|
const tableElement = useRef(null)
|
|
@@ -29,54 +29,28 @@ const TableComponent = <T,>({ table, staticColumns = 0, headerAxis }: ITableHead
|
|
|
29
29
|
)
|
|
30
30
|
|
|
31
31
|
const getHeaderColumn = <TData, TValue>(header: ReactTableHeader<TData, TValue>, headerIndex: number) => {
|
|
32
|
+
const stickyWidth = calculateStaticColumnOffset(
|
|
33
|
+
headerIndex,
|
|
34
|
+
totalStaticColumns,
|
|
35
|
+
firstColumnWidth,
|
|
36
|
+
secondColumnWidth
|
|
37
|
+
)
|
|
38
|
+
const headerProps = {
|
|
39
|
+
header,
|
|
40
|
+
stickyWidth,
|
|
41
|
+
}
|
|
32
42
|
switch (headerIndex) {
|
|
33
43
|
case 0:
|
|
34
|
-
return
|
|
35
|
-
header,
|
|
36
|
-
calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth),
|
|
37
|
-
firstColumn
|
|
38
|
-
)
|
|
44
|
+
return <TableHeader ref={firstColumn} {...headerProps} />
|
|
39
45
|
case 1:
|
|
40
|
-
return
|
|
41
|
-
header,
|
|
42
|
-
calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth),
|
|
43
|
-
secondColumn
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
+
return <TableHeader ref={secondColumn} {...headerProps} />
|
|
46
47
|
default:
|
|
47
|
-
return
|
|
48
|
-
header,
|
|
49
|
-
calculateStaticColumnOffset(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth)
|
|
50
|
-
)
|
|
48
|
+
return <TableHeader {...headerProps} />
|
|
51
49
|
}
|
|
52
50
|
}
|
|
53
51
|
|
|
54
|
-
const getHeaderElement = <TData, TValue>(
|
|
55
|
-
header: ReactTableHeader<TData, TValue>,
|
|
56
|
-
stickyWidth?: number,
|
|
57
|
-
elementRef?: React.MutableRefObject<null>
|
|
58
|
-
) => (
|
|
59
|
-
<StyledTableHeader
|
|
60
|
-
stickyWidth={stickyWidth}
|
|
61
|
-
key={header.id}
|
|
62
|
-
colSpan={header.colSpan}
|
|
63
|
-
ref={elementRef}
|
|
64
|
-
role="columnheader"
|
|
65
|
-
{...(header.column.id !== 'expander'
|
|
66
|
-
? {
|
|
67
|
-
style: {
|
|
68
|
-
cursor: header.column.getCanSort() ? 'pointer' : '',
|
|
69
|
-
},
|
|
70
|
-
onClick: header.column.getToggleSortingHandler(),
|
|
71
|
-
}
|
|
72
|
-
: {})}
|
|
73
|
-
>
|
|
74
|
-
{header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}
|
|
75
|
-
</StyledTableHeader>
|
|
76
|
-
)
|
|
77
|
-
|
|
78
52
|
return (
|
|
79
|
-
<StyledTable ref={tableElement}>
|
|
53
|
+
<StyledTable ref={tableElement} {...rest}>
|
|
80
54
|
<StyledTHead>
|
|
81
55
|
{table.getHeaderGroups().map((headerGroup) => (
|
|
82
56
|
<tr key={headerGroup.id} role="row">
|
|
@@ -138,7 +112,7 @@ interface ITableSpinnerProps {
|
|
|
138
112
|
hidden: boolean
|
|
139
113
|
}
|
|
140
114
|
|
|
141
|
-
interface ITableHeadProps<T> extends ITableConfig {
|
|
115
|
+
interface ITableHeadProps<T> extends ITableConfig, HTMLAttributes<HTMLTableElement> {
|
|
142
116
|
table: Table<T>
|
|
143
117
|
}
|
|
144
118
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { forwardRef, Ref } from 'react'
|
|
2
|
+
import { flexRender, Header as ReactTableHeader } from '@tanstack/react-table'
|
|
3
|
+
import { StyledTableHeader } from './table-styled-components'
|
|
4
|
+
|
|
5
|
+
interface TableHeaderProps<TData, TValue> {
|
|
6
|
+
header: ReactTableHeader<TData, TValue>
|
|
7
|
+
stickyWidth?: number
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const Wrapper = <TData, TValue>(
|
|
11
|
+
{ header, stickyWidth }: TableHeaderProps<TData, TValue>,
|
|
12
|
+
ref?: Ref<HTMLTableCellElement>
|
|
13
|
+
) => (
|
|
14
|
+
<StyledTableHeader
|
|
15
|
+
ref={ref}
|
|
16
|
+
stickyWidth={stickyWidth}
|
|
17
|
+
key={header.id}
|
|
18
|
+
colSpan={header.colSpan}
|
|
19
|
+
role="columnheader"
|
|
20
|
+
{...(header.column.id !== 'expander'
|
|
21
|
+
? {
|
|
22
|
+
style: {
|
|
23
|
+
cursor: header.column.getCanSort() ? 'pointer' : '',
|
|
24
|
+
},
|
|
25
|
+
onClick: header.column.getToggleSortingHandler(),
|
|
26
|
+
}
|
|
27
|
+
: {})}
|
|
28
|
+
>
|
|
29
|
+
{header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}
|
|
30
|
+
</StyledTableHeader>
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
const TableHeader = forwardRef(Wrapper) as <TData, TValue>(
|
|
34
|
+
props: TableHeaderProps<TData, TValue> & { ref?: Ref<HTMLTableCellElement> }
|
|
35
|
+
) => ReturnType<typeof Wrapper>
|
|
36
|
+
|
|
37
|
+
export default TableHeader
|
|
@@ -29,8 +29,8 @@ const ScrollableContainer = styled.div<IScrollableContainer>`
|
|
|
29
29
|
${CSS_RESET};
|
|
30
30
|
background-color: white;
|
|
31
31
|
${({ tableHeaderAxis, maxWidth, maxHeight, isFlex }) => `
|
|
32
|
-
display: ${setScrollableDisplay(tableHeaderAxis, isFlex)}
|
|
33
|
-
${isFlex && 'flex-direction: column'}
|
|
32
|
+
display: ${setScrollableDisplay(tableHeaderAxis, isFlex)};
|
|
33
|
+
${isFlex && 'flex-direction: column'};
|
|
34
34
|
max-width: ${maxWidth ?? '100%'};
|
|
35
35
|
max-height: ${maxHeight ?? '100%'};
|
|
36
36
|
`}
|
package/src/molecules/table.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC, useEffect, useMemo, useRef, useState } from 'react'
|
|
1
|
+
import { FC, HTMLAttributes, useEffect, useMemo, useRef, useState } from 'react'
|
|
2
2
|
import {
|
|
3
3
|
getCoreRowModel,
|
|
4
4
|
useReactTable,
|
|
@@ -33,6 +33,7 @@ const Table: FC<IProps> = ({
|
|
|
33
33
|
isFlex = false,
|
|
34
34
|
enableSorting = true,
|
|
35
35
|
sortingFunctions = undefined,
|
|
36
|
+
...rest
|
|
36
37
|
}) => {
|
|
37
38
|
const scrollableDivElement = useRef(null)
|
|
38
39
|
const scrollState = useScrollRef(scrollableDivElement)
|
|
@@ -107,7 +108,7 @@ const Table: FC<IProps> = ({
|
|
|
107
108
|
{...{ maxHeight, maxWidth }}
|
|
108
109
|
isFlex={isFlex}
|
|
109
110
|
>
|
|
110
|
-
<TableComponent table={table} staticColumns={staticColumns} headerAxis={headerAxis} />
|
|
111
|
+
<TableComponent table={table} staticColumns={staticColumns} headerAxis={headerAxis} {...rest} />
|
|
111
112
|
{manualPagination ? (
|
|
112
113
|
<TableSpinner position={headerAxis === 'x' ? 'bottom' : 'right'} hidden={!isFetching} />
|
|
113
114
|
) : null}
|
|
@@ -120,7 +121,7 @@ const Table: FC<IProps> = ({
|
|
|
120
121
|
)
|
|
121
122
|
}
|
|
122
123
|
|
|
123
|
-
interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps {
|
|
124
|
+
interface IProps extends ITableConfig, IPaginationProps, ITableDimensionProps, HTMLAttributes<HTMLTableElement> {
|
|
124
125
|
tableData: TableData
|
|
125
126
|
}
|
|
126
127
|
|
|
@@ -25,6 +25,7 @@ const GenericTable = <TColumn, TRow>({
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
interface IProps<TColumn, TRow> extends ITableConfig, IPaginationProps, ITableDimensionProps {
|
|
28
|
+
id?: string
|
|
28
29
|
columnData: TColumn
|
|
29
30
|
rowData: TRow
|
|
30
31
|
mapToTableData: (colData: TColumn, rowData: TRow) => TableData
|