@ltht-react/table 2.0.194 → 2.0.198

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.
Files changed (40) hide show
  1. package/lib/atoms/questionnaire-withdrawn-table-cell.d.ts +6 -0
  2. package/lib/atoms/questionnaire-withdrawn-table-cell.js +19 -0
  3. package/lib/atoms/questionnaire-withdrawn-table-cell.js.map +1 -0
  4. package/lib/index.d.ts +7 -0
  5. package/lib/index.js +15 -0
  6. package/lib/index.js.map +1 -0
  7. package/lib/molecules/table-cell.d.ts +17 -0
  8. package/lib/molecules/table-cell.js +109 -0
  9. package/lib/molecules/table-cell.js.map +1 -0
  10. package/lib/molecules/table-component.d.ts +20 -0
  11. package/lib/molecules/table-component.js +78 -0
  12. package/lib/molecules/table-component.js.map +1 -0
  13. package/lib/molecules/table-header.d.ts +12 -0
  14. package/lib/molecules/table-header.js +33 -0
  15. package/lib/molecules/table-header.js.map +1 -0
  16. package/lib/molecules/table-methods.d.ts +14 -0
  17. package/lib/molecules/table-methods.js +198 -0
  18. package/lib/molecules/table-methods.js.map +1 -0
  19. package/lib/molecules/table-styled-components.d.ts +81 -0
  20. package/lib/molecules/table-styled-components.js +112 -0
  21. package/lib/molecules/table-styled-components.js.map +1 -0
  22. package/lib/molecules/table.d.ts +44 -0
  23. package/lib/molecules/table.js +95 -0
  24. package/lib/molecules/table.js.map +1 -0
  25. package/lib/molecules/useDimensionRef.d.ts +5 -0
  26. package/lib/molecules/useDimensionRef.js +31 -0
  27. package/lib/molecules/useDimensionRef.js.map +1 -0
  28. package/lib/molecules/useScrollRef.d.ts +8 -0
  29. package/lib/molecules/useScrollRef.js +30 -0
  30. package/lib/molecules/useScrollRef.js.map +1 -0
  31. package/lib/organisms/generic-table.d.ts +9 -0
  32. package/lib/organisms/generic-table.js +36 -0
  33. package/lib/organisms/generic-table.js.map +1 -0
  34. package/lib/organisms/questionnaire-table-methods.d.ts +9 -0
  35. package/lib/organisms/questionnaire-table-methods.js +247 -0
  36. package/lib/organisms/questionnaire-table-methods.js.map +1 -0
  37. package/lib/organisms/questionnaire-table.d.ts +12 -0
  38. package/lib/organisms/questionnaire-table.js +44 -0
  39. package/lib/organisms/questionnaire-table.js.map +1 -0
  40. package/package.json +8 -8
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ declare const QuestionnaireWithdrawnTableCell: FC<WithdrawnCellProps>;
3
+ export interface WithdrawnCellProps {
4
+ text?: string;
5
+ }
6
+ export default QuestionnaireWithdrawnTableCell;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ var jsx_runtime_1 = require("react/jsx-runtime");
11
+ var styled_1 = __importDefault(require("@emotion/styled"));
12
+ var StyledText = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n text-decoration: line-through;\n color: gray;\n"], ["\n text-decoration: line-through;\n color: gray;\n"])));
13
+ var QuestionnaireWithdrawnTableCell = function (_a) {
14
+ var text = _a.text;
15
+ return (0, jsx_runtime_1.jsx)(StyledText, { children: text !== null && text !== void 0 ? text : '' });
16
+ };
17
+ exports.default = QuestionnaireWithdrawnTableCell;
18
+ var templateObject_1;
19
+ //# sourceMappingURL=questionnaire-withdrawn-table-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questionnaire-withdrawn-table-cell.js","sourceRoot":"","sources":["../../src/atoms/questionnaire-withdrawn-table-cell.tsx"],"names":[],"mappings":";;;;;;;;;;AACA,2DAAoC;AAEpC,IAAM,UAAU,GAAG,gBAAM,CAAC,GAAG,yHAAA,sDAG5B,IAAA,CAAA;AAED,IAAM,+BAA+B,GAA2B,UAAC,EAAQ;QAAN,IAAI,UAAA;IAAO,OAAA,uBAAC,UAAU,cAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,GAAc;AAArC,CAAqC,CAAA;AAMnH,kBAAe,+BAA+B,CAAA"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import Table, { Header, DataEntity, TableData, CellProps } from './molecules/table';
2
+ import GenericTable from './organisms/generic-table';
3
+ import QuestionnaireTable from './organisms/questionnaire-table';
4
+ import { AdminActionsForQuestionnaire } from './organisms/questionnaire-table-methods';
5
+ export default Table;
6
+ export { Header, TableData, DataEntity, CellProps, GenericTable, QuestionnaireTable, AdminActionsForQuestionnaire };
7
+ export { default as mapQuestionnaireToTableData } from './organisms/questionnaire-table-methods';
package/lib/index.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mapQuestionnaireToTableData = exports.QuestionnaireTable = exports.GenericTable = void 0;
7
+ var table_1 = __importDefault(require("./molecules/table"));
8
+ var generic_table_1 = __importDefault(require("./organisms/generic-table"));
9
+ exports.GenericTable = generic_table_1.default;
10
+ var questionnaire_table_1 = __importDefault(require("./organisms/questionnaire-table"));
11
+ exports.QuestionnaireTable = questionnaire_table_1.default;
12
+ exports.default = table_1.default;
13
+ var questionnaire_table_methods_1 = require("./organisms/questionnaire-table-methods");
14
+ Object.defineProperty(exports, "mapQuestionnaireToTableData", { enumerable: true, get: function () { return __importDefault(questionnaire_table_methods_1).default; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;AAAA,4DAAmF;AACnF,4EAAoD;AAKD,uBAL5C,uBAAY,CAK4C;AAJ/D,wFAAgE;AAIC,6BAJ1D,6BAAkB,CAI0D;AADnF,kBAAe,eAAK,CAAA;AAEpB,uFAAgG;AAAvF,2JAAA,OAAO,OAA+B"}
@@ -0,0 +1,17 @@
1
+ import { FC } from 'react';
2
+ import { IconProps } from '@ltht-react/icon';
3
+ import { ActionMenuOption } from '@ltht-react/menu';
4
+ import { Axis } from '@ltht-react/types';
5
+ declare const TableCell: FC<CellProps>;
6
+ export interface CellProps {
7
+ adminActions?: ActionMenuOption[];
8
+ isButton?: boolean;
9
+ text?: string;
10
+ iconProps?: IconProps;
11
+ clickHandler?: React.MouseEventHandler<HTMLButtonElement>;
12
+ customComponentOverride?: JSX.Element;
13
+ parentStyle?: React.CSSProperties;
14
+ headerAxis?: Axis;
15
+ id?: string;
16
+ }
17
+ export default TableCell;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ var jsx_runtime_1 = require("react/jsx-runtime");
45
+ var react_1 = require("react");
46
+ var button_1 = require("@ltht-react/button");
47
+ var styled_1 = __importDefault(require("@emotion/styled"));
48
+ var icon_1 = __importStar(require("@ltht-react/icon"));
49
+ var menu_1 = __importDefault(require("@ltht-react/menu"));
50
+ var styles_1 = require("@ltht-react/styles");
51
+ var StyledIconText = styled_1.default.span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-left: 0.4rem;\n"], ["\n margin-left: 0.4rem;\n"])));
52
+ var StyledActionMenuContainer = styled_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n"], ["\n display: flex;\n justify-content: center;\n"
53
+ // TODO: This component is still a WIP and will be re-factored soon!
54
+ // May be best to split it out into different components, the important part is unifying Type used by React-Table so the mapping can be simplified
55
+ // It will need to facilitate the Actions list capability Jonny Dyson has requested
56
+ // Betters ways of handling the customComponentOverride will be considered too
57
+ ])));
58
+ // TODO: This component is still a WIP and will be re-factored soon!
59
+ // May be best to split it out into different components, the important part is unifying Type used by React-Table so the mapping can be simplified
60
+ // It will need to facilitate the Actions list capability Jonny Dyson has requested
61
+ // Betters ways of handling the customComponentOverride will be considered too
62
+ var TableCell = function (_a) {
63
+ var id = _a.id, adminActions = _a.adminActions, _b = _a.isButton, isButton = _b === void 0 ? false : _b, text = _a.text, iconProps = _a.iconProps, _c = _a.headerAxis, headerAxis = _c === void 0 ? 'x' : _c, clickHandler = _a.clickHandler, customComponentOverride = _a.customComponentOverride;
64
+ /*
65
+ * Ensures the action menu popup is rendered within the table’s DOM.
66
+ * Needed for Fullscreen API, since only elements inside the fullscreen subtree are visible.
67
+ * Using this ref as the portal root keeps the popup visible on top of the table in fullscreen.
68
+ */
69
+ var actionMenuRootElementRef = (0, react_1.useRef)(null);
70
+ if (customComponentOverride) {
71
+ return customComponentOverride;
72
+ }
73
+ if (adminActions) {
74
+ if (adminActions.length === 0) {
75
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
76
+ }
77
+ return ((0, jsx_runtime_1.jsx)(StyledActionMenuContainer, { ref: actionMenuRootElementRef, children: (0, jsx_runtime_1.jsx)(menu_1.default, { root: actionMenuRootElementRef, id: "".concat("".concat(id !== null && id !== void 0 ? id : '', "-"), "action-menu-button"), actions: adminActions, menuButtonOptions: {
78
+ type: 'button',
79
+ text: '',
80
+ buttonProps: {
81
+ styling: {
82
+ buttonStyle: 'standard',
83
+ padding: headerAxis === 'x' ? '0.3rem 0.5rem' : '0.15rem 0.3rem',
84
+ },
85
+ icon: ((0, jsx_runtime_1.jsx)(icon_1.default, { type: headerAxis === 'x' ? 'ellipsis-vertical' : 'ellipsis-horizontal', size: 'medium' })),
86
+ iconPlacement: 'center',
87
+ color: "".concat(styles_1.BTN_COLOURS.DANGER.VALUE),
88
+ },
89
+ }, style: {
90
+ width: 'fit-content',
91
+ } }) }));
92
+ }
93
+ if (isButton) {
94
+ return (0, jsx_runtime_1.jsx)(button_1.Button, { id: id, value: text, icon: iconProps && (0, jsx_runtime_1.jsx)(icon_1.default, __assign({}, iconProps)), onClick: clickHandler });
95
+ }
96
+ if (clickHandler && iconProps) {
97
+ return (0, jsx_runtime_1.jsx)(icon_1.IconButton, { id: id, iconProps: iconProps, text: text, onClick: clickHandler });
98
+ }
99
+ if (iconProps) {
100
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(icon_1.default, __assign({}, iconProps)), text && (0, jsx_runtime_1.jsx)(StyledIconText, { children: text })] }));
101
+ }
102
+ if (text) {
103
+ return (0, jsx_runtime_1.jsx)("div", { id: id, children: text !== null && text !== void 0 ? text : '' });
104
+ }
105
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
106
+ };
107
+ exports.default = TableCell;
108
+ var templateObject_1, templateObject_2;
109
+ //# sourceMappingURL=table-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-cell.js","sourceRoot":"","sources":["../../src/molecules/table-cell.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkC;AAClC,6CAA2C;AAC3C,2DAAoC;AACpC,uDAA8D;AAC9D,0DAA+D;AAC/D,6CAAgD;AAGhD,IAAM,cAAc,GAAG,gBAAM,CAAC,IAAI,+FAAA,4BAEjC,IAAA,CAAA;AACD,IAAM,yBAAyB,GAAG,gBAAM,CAAC,GAAG,qHAAA,kDAG3C;IAED,oEAAoE;IACpE,kJAAkJ;IAClJ,mFAAmF;IACnF,8EAA8E;IAL7E,CAAA;AAED,oEAAoE;AACpE,kJAAkJ;AAClJ,mFAAmF;AACnF,8EAA8E;AAC9E,IAAM,SAAS,GAAkB,UAAC,EASjC;QARC,EAAE,QAAA,EACF,YAAY,kBAAA,EACZ,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,kBAAgB,EAAhB,UAAU,mBAAG,GAAG,KAAA,EAChB,YAAY,kBAAA,EACZ,uBAAuB,6BAAA;IAEvB;;;;OAIG;IACH,IAAM,wBAAwB,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAA;IAE7D,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,uBAAuB,CAAA;IAChC,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,kDAAK,CAAA;QACd,CAAC;QACD,OAAO,CACL,uBAAC,yBAAyB,IAAC,GAAG,EAAE,wBAAwB,YACtD,uBAAC,cAAU,IACT,IAAI,EAAE,wBAAwB,EAC9B,EAAE,EAAE,UAAG,UAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,EAAE,MAAG,uBAAoB,EACzC,OAAO,EAAE,YAAY,EACrB,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE;wBACX,OAAO,EAAE;4BACP,WAAW,EAAE,UAAU;4BACvB,OAAO,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;yBACjE;wBACD,IAAI,EAAE,CACJ,uBAAC,cAAI,IAAO,IAAI,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,EAAE,IAAI,EAAE,QAAQ,GAAM,CACzG;wBACD,aAAa,EAAE,QAAQ;wBACvB,KAAK,EAAE,UAAG,oBAAW,CAAC,MAAM,CAAC,KAAK,CAAE;qBACrC;iBACF,EACD,KAAK,EAAE;oBACL,KAAK,EAAE,aAAa;iBACrB,GACD,GACwB,CAC7B,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,uBAAC,eAAM,IAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,IAAI,uBAAC,cAAI,eAAK,SAAS,EAAI,EAAE,OAAO,EAAE,YAAY,GAAI,CAAA;IAC3G,CAAC;IAED,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,uBAAC,iBAAU,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,GAAI,CAAA;IACxF,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,6DACE,uBAAC,cAAI,eAAK,SAAS,EAAI,EACtB,IAAI,IAAI,uBAAC,cAAc,cAAE,IAAI,GAAkB,IAC/C,CACJ,CAAA;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,gCAAK,EAAE,EAAE,EAAE,YAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,GAAO,CAAA;IACxC,CAAC;IAED,OAAO,kDAAK,CAAA;AACd,CAAC,CAAA;AAcD,kBAAe,SAAS,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { Table } from '@tanstack/react-table';
2
+ import { HTMLAttributes } from 'react';
3
+ import { ITableConfig } from './table';
4
+ declare const TableComponent: <T>({ table, staticColumns, headerAxis, ...rest }: ITableHeadProps<T>) => JSX.Element;
5
+ declare const TableNavigationButton: ({ position, hidden, clickHandler }: ITableNavButtonProps) => import("react/jsx-runtime").JSX.Element;
6
+ declare const TableSpinner: ({ position, hidden }: ITableSpinnerProps) => import("react/jsx-runtime").JSX.Element;
7
+ interface ITableNavButtonProps {
8
+ position: 'bottom' | 'right';
9
+ hidden: boolean;
10
+ clickHandler: () => void;
11
+ }
12
+ interface ITableSpinnerProps {
13
+ position: 'bottom' | 'right';
14
+ hidden: boolean;
15
+ }
16
+ interface ITableHeadProps<T> extends ITableConfig, HTMLAttributes<HTMLTableElement> {
17
+ table: Table<T>;
18
+ }
19
+ export default TableComponent;
20
+ export { TableNavigationButton, TableSpinner };
@@ -0,0 +1,78 @@
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
+ 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
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.TableSpinner = exports.TableNavigationButton = void 0;
29
+ var jsx_runtime_1 = require("react/jsx-runtime");
30
+ var icon_1 = __importDefault(require("@ltht-react/icon"));
31
+ var react_table_1 = require("@tanstack/react-table");
32
+ var react_1 = require("react");
33
+ var table_methods_1 = require("./table-methods");
34
+ var table_styled_components_1 = require("./table-styled-components");
35
+ var useDimensionRef_1 = __importDefault(require("./useDimensionRef"));
36
+ var table_header_1 = __importDefault(require("./table-header"));
37
+ var TableComponent = function (_a) {
38
+ var table = _a.table, _b = _a.staticColumns, staticColumns = _b === void 0 ? 0 : _b, headerAxis = _a.headerAxis, rest = __rest(_a, ["table", "staticColumns", "headerAxis"]);
39
+ var tableIdPrefix = rest.id ? "".concat(rest.id, "-") : '';
40
+ var firstColumn = (0, react_1.useRef)(null);
41
+ var secondColumn = (0, react_1.useRef)(null);
42
+ var tableElement = (0, react_1.useRef)(null);
43
+ var firstColumnWidth = (0, useDimensionRef_1.default)(firstColumn, tableElement).width;
44
+ var secondColumnWidth = (0, useDimensionRef_1.default)(secondColumn, tableElement).width;
45
+ var usingExpanderColumn = table.getHeaderGroups().some(function (x) { return x.headers.some(function (h) { return h.column.id === 'expander'; }); });
46
+ var totalStaticColumns = (0, react_1.useMemo)(function () { return (usingExpanderColumn ? staticColumns + 1 : staticColumns); }, [usingExpanderColumn, staticColumns]);
47
+ var getHeaderColumn = function (header, headerIndex) {
48
+ var stickyWidth = (0, table_methods_1.calculateStaticColumnOffset)(headerIndex, totalStaticColumns, firstColumnWidth, secondColumnWidth);
49
+ var headerProps = {
50
+ header: header,
51
+ stickyWidth: stickyWidth,
52
+ };
53
+ switch (headerIndex) {
54
+ case 0:
55
+ return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ tableId: tableIdPrefix, ref: firstColumn }, headerProps), header.id);
56
+ case 1:
57
+ return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ tableId: tableIdPrefix, ref: secondColumn }, headerProps), header.id);
58
+ default:
59
+ return (0, jsx_runtime_1.jsx)(table_header_1.default, __assign({ tableId: tableIdPrefix }, headerProps), header.id);
60
+ }
61
+ };
62
+ 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", { id: "".concat(tableIdPrefix).concat(headerGroup.id), 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) {
63
+ var _a;
64
+ return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableData, { tableHeaderAxis: headerAxis, stickyWidth: (0, table_methods_1.calculateStaticColumnOffset)(cellIdx, totalStaticColumns, firstColumnWidth, secondColumnWidth), id: "".concat(tableIdPrefix).concat(cell.id), 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));
65
+ }) }, row.id)); }) })] })));
66
+ };
67
+ var TableNavigationButton = function (_a) {
68
+ var position = _a.position, hidden = _a.hidden, clickHandler = _a.clickHandler;
69
+ return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledNextPageButtonContainer, { role: "button", elementPosition: position, onClick: function () { return clickHandler(); }, hidden: hidden, children: (0, jsx_runtime_1.jsx)(icon_1.default, { type: "chevron", direction: position === 'bottom' ? 'down' : 'right', size: "medium" }) }));
70
+ };
71
+ exports.TableNavigationButton = TableNavigationButton;
72
+ var TableSpinner = function (_a) {
73
+ var position = _a.position, hidden = _a.hidden;
74
+ return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledSpinnerContainer, { elementPosition: position, hidden: hidden, children: (0, jsx_runtime_1.jsx)(icon_1.default, { type: "spinner", size: "medium", title: "Loading..." }) }));
75
+ };
76
+ exports.TableSpinner = TableSpinner;
77
+ exports.default = TableComponent;
78
+ //# sourceMappingURL=table-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-component.js","sourceRoot":"","sources":["../../src/molecules/table-component.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Ref } from 'react';
2
+ import { Header as ReactTableHeader } from '@tanstack/react-table';
3
+ interface TableHeaderProps<TData, TValue> {
4
+ tableId?: string;
5
+ header: ReactTableHeader<TData, TValue>;
6
+ stickyWidth?: number;
7
+ }
8
+ export declare const Wrapper: <TData, TValue>({ tableId, header, stickyWidth }: TableHeaderProps<TData, TValue>, ref?: Ref<HTMLTableCellElement>) => import("react/jsx-runtime").JSX.Element;
9
+ declare const TableHeader: <TData, TValue>(props: TableHeaderProps<TData, TValue> & {
10
+ ref?: Ref<HTMLTableCellElement> | undefined;
11
+ }) => ReturnType<typeof Wrapper>;
12
+ 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 tableId = _a.tableId, header = _a.header, stickyWidth = _a.stickyWidth;
21
+ return ((0, jsx_runtime_1.jsx)(table_styled_components_1.StyledTableHeader, __assign({ id: "".concat(tableId).concat(header.id), 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()) })));
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;AAQtD,IAAM,OAAO,GAAG,UACrB,EAAiE,EACjE,GAA+B;QAD7B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,WAAW,iBAAA;IAE3B,OAAA,CACH,uBAAC,2CAAiB,aAChB,EAAE,EAAE,UAAG,OAAO,SAAG,MAAM,CAAC,EAAE,CAAE,EAC5B,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,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,IAC5E,CACrB;AAlBI,CAkBJ,CAAA;AArBY,QAAA,OAAO,WAqBnB;AAED,IAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,eAAO,CAEP,CAAA;AAE/B,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { ColumnDef } from '@tanstack/react-table';
2
+ import { Axis } from '@ltht-react/types';
3
+ import React from 'react';
4
+ import { TableData, DataEntity } from './table';
5
+ import { ScrollState } from './useScrollRef';
6
+ declare const createColumns: (tableData: TableData, headerAxis: Axis) => ColumnDef<DataEntity>[];
7
+ declare const calculateStaticColumnOffset: (cellIdx: number, staticColumns: number, firstColumnWidth: number, secondColumnWidth: number) => number | undefined;
8
+ declare const handleScrollEvent: (pagination: {
9
+ getCanNextPage: () => boolean;
10
+ nextPage: VoidFunction;
11
+ }, headerAxis: Axis, scrollState: ScrollState) => void;
12
+ declare const handleDataUpdate: (tableData: TableData, pageIndex: number, pageSize: number, headerAxis: Axis, setColumns: (value: React.SetStateAction<ColumnDef<DataEntity>[]>) => void, setData: (value: React.SetStateAction<DataEntity[]>) => void, setPageCount: (value: React.SetStateAction<number>) => void) => void;
13
+ declare const handleDataUpdateForManualPagination: (tableData: TableData, headerAxis: Axis, keepPreviousData: boolean, setColumns: (value: React.SetStateAction<ColumnDef<DataEntity>[]>) => void, setData: (value: React.SetStateAction<DataEntity[]>) => void) => void;
14
+ export { createColumns, calculateStaticColumnOffset, handleScrollEvent, handleDataUpdate, handleDataUpdateForManualPagination, };
@@ -0,0 +1,198 @@
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
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.handleDataUpdateForManualPagination = exports.handleDataUpdate = exports.handleScrollEvent = exports.calculateStaticColumnOffset = exports.createColumns = void 0;
27
+ var jsx_runtime_1 = require("react/jsx-runtime");
28
+ var react_table_1 = require("@tanstack/react-table");
29
+ var table_cell_1 = __importDefault(require("./table-cell"));
30
+ var createColumns = function (tableData, headerAxis) {
31
+ var columnHelper = (0, react_table_1.createColumnHelper)();
32
+ var columns = createColumnsRecursively(tableData.headers, columnHelper, headerAxis);
33
+ if (tableData.rows.some(function (row) { return row.subRows; })) {
34
+ columns = prependColumnWithExpansionControls(columns, columnHelper, headerAxis);
35
+ }
36
+ return columns;
37
+ };
38
+ exports.createColumns = createColumns;
39
+ var createColumnsRecursively = function (headers, columnHelper, headerAxis) {
40
+ var result = headers.map(function (header) {
41
+ var _a, _b;
42
+ if (header.type === 'display') {
43
+ return columnHelper.display({
44
+ id: header.id,
45
+ header: function () {
46
+ var headerCellProps = __assign(__assign({}, header.cellProps), { headerAxis: headerAxis });
47
+ return (0, jsx_runtime_1.jsx)(table_cell_1.default, __assign({}, headerCellProps));
48
+ },
49
+ cell: function (props) {
50
+ var cellProps = __assign(__assign({}, props.getValue()), { headerAxis: headerAxis });
51
+ return (0, jsx_runtime_1.jsx)(table_cell_1.default, __assign({}, cellProps));
52
+ },
53
+ });
54
+ }
55
+ if (header.type === 'accessor') {
56
+ return columnHelper.accessor(header.id, {
57
+ header: function (props) {
58
+ var cellProps = __assign(__assign({}, header.cellProps), { iconProps: deriveHeaderIconProps(props), headerAxis: headerAxis });
59
+ return (0, jsx_runtime_1.jsx)(table_cell_1.default, __assign({}, cellProps));
60
+ },
61
+ cell: function (props) {
62
+ var cellProps = __assign(__assign({}, props.getValue()), { headerAxis: headerAxis });
63
+ return (0, jsx_runtime_1.jsx)(table_cell_1.default, __assign({}, cellProps));
64
+ },
65
+ });
66
+ }
67
+ return columnHelper.group({
68
+ header: (_a = header.cellProps.text) !== null && _a !== void 0 ? _a : '',
69
+ columns: createColumnsRecursively((_b = header.subHeaders) !== null && _b !== void 0 ? _b : [], columnHelper, headerAxis),
70
+ });
71
+ });
72
+ return result;
73
+ };
74
+ var deriveHeaderIconProps = function (props) {
75
+ if (props.column.getIsSorted() === 'asc') {
76
+ return {
77
+ type: 'chevron',
78
+ direction: 'up',
79
+ size: 'medium',
80
+ };
81
+ }
82
+ if (props.column.getIsSorted() === 'desc') {
83
+ return {
84
+ type: 'chevron',
85
+ direction: 'down',
86
+ size: 'medium',
87
+ };
88
+ }
89
+ return undefined;
90
+ };
91
+ var prependColumnWithExpansionControls = function (columns, columnHelper, headerAxis) {
92
+ var expanderColumn = columnHelper.display({
93
+ id: 'expander',
94
+ header: function (_a) {
95
+ var table = _a.table;
96
+ var headerCellProps = {
97
+ iconProps: {
98
+ type: 'chevron',
99
+ direction: table.getIsAllRowsExpanded() ? 'down' : 'right',
100
+ size: 'medium',
101
+ },
102
+ headerAxis: headerAxis,
103
+ clickHandler: table.getToggleAllRowsExpandedHandler(),
104
+ };
105
+ return (0, jsx_runtime_1.jsx)(table_cell_1.default, __assign({}, headerCellProps));
106
+ },
107
+ cell: function (props) {
108
+ var cellProps = props.row.getCanExpand()
109
+ ? {
110
+ iconProps: {
111
+ type: 'chevron',
112
+ direction: props.row.getIsExpanded() ? 'down' : 'right',
113
+ size: 'medium',
114
+ },
115
+ headerAxis: headerAxis,
116
+ clickHandler: props.row.getToggleExpandedHandler(),
117
+ }
118
+ : { headerAxis: headerAxis };
119
+ return (0, jsx_runtime_1.jsx)(table_cell_1.default, __assign({}, cellProps));
120
+ },
121
+ });
122
+ return [expanderColumn].concat(columns);
123
+ };
124
+ var calculateStaticColumnOffset = function (cellIdx, staticColumns, firstColumnWidth, secondColumnWidth) {
125
+ if (staticColumns === 0) {
126
+ return undefined;
127
+ }
128
+ switch (cellIdx) {
129
+ case 0:
130
+ return 0;
131
+ case 1:
132
+ return cellIdx < staticColumns ? firstColumnWidth : undefined;
133
+ case 2:
134
+ return cellIdx < staticColumns ? firstColumnWidth + secondColumnWidth : undefined;
135
+ default:
136
+ return undefined;
137
+ }
138
+ };
139
+ exports.calculateStaticColumnOffset = calculateStaticColumnOffset;
140
+ var handleScrollEvent = function (pagination, headerAxis, scrollState) {
141
+ var scrollWidth = scrollState.scrollWidth, scrollHeight = scrollState.scrollHeight, currentXScroll = scrollState.currentXScroll, currentYScroll = scrollState.currentYScroll;
142
+ if (headerAxis === 'x' &&
143
+ currentYScroll >= scrollHeight - getPercentageOfMax(5, scrollHeight) &&
144
+ currentYScroll <= scrollHeight &&
145
+ pagination.getCanNextPage()) {
146
+ pagination.nextPage();
147
+ }
148
+ if (headerAxis === 'y' &&
149
+ currentXScroll >= scrollWidth - getPercentageOfMax(5, scrollWidth) &&
150
+ currentXScroll <= scrollWidth &&
151
+ pagination.getCanNextPage()) {
152
+ pagination.nextPage();
153
+ }
154
+ };
155
+ exports.handleScrollEvent = handleScrollEvent;
156
+ var getPercentageOfMax = function (percentage, max) { return max * (percentage / 100); };
157
+ var handleDataUpdate = function (tableData, pageIndex, pageSize, headerAxis, setColumns, setData, setPageCount) {
158
+ if (tableData && tableData.headers.length > 0) {
159
+ if (headerAxis === 'x') {
160
+ setColumns(createColumns(tableData, headerAxis));
161
+ setData(tableData.rows.slice(0, (pageIndex + 1) * pageSize));
162
+ setPageCount(Math.ceil(tableData.rows.length / pageSize));
163
+ }
164
+ else {
165
+ var head = tableData.headers[0];
166
+ var tail = tableData.headers.slice(1, tableData.headers.length);
167
+ setColumns(createColumns({ headers: __spreadArray([head], tail.slice(0, (pageIndex + 1) * pageSize), true), rows: tableData.rows }, headerAxis));
168
+ setData(tableData.rows);
169
+ setPageCount(Math.ceil(tail.length / pageSize));
170
+ }
171
+ }
172
+ };
173
+ exports.handleDataUpdate = handleDataUpdate;
174
+ var calculateSliceStartPoint = function (oldLength, usingExpanderColumn) {
175
+ if (oldLength > 0) {
176
+ return usingExpanderColumn ? 2 : 1;
177
+ }
178
+ return 0;
179
+ };
180
+ var handleDataUpdateForManualPagination = function (tableData, headerAxis, keepPreviousData, setColumns, setData) {
181
+ if (headerAxis === 'x') {
182
+ setData(function (old) {
183
+ var newData = keepPreviousData ? __spreadArray(__spreadArray([], old, true), tableData.rows, true) : tableData.rows;
184
+ setColumns(createColumns({ headers: tableData.headers, rows: newData }, headerAxis));
185
+ return newData;
186
+ });
187
+ }
188
+ else if (tableData.headers.length > 0) {
189
+ setColumns(function (old) {
190
+ var newColumns = createColumns(tableData, headerAxis);
191
+ var sliceStartPoint = calculateSliceStartPoint(old.length, tableData.rows.some(function (x) { return x.subRows; }));
192
+ return keepPreviousData ? __spreadArray(__spreadArray([], old, true), newColumns.slice(sliceStartPoint, newColumns.length), true) : newColumns;
193
+ });
194
+ setData(tableData.rows);
195
+ }
196
+ };
197
+ exports.handleDataUpdateForManualPagination = handleDataUpdateForManualPagination;
198
+ //# sourceMappingURL=table-methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-methods.js","sourceRoot":"","sources":["../../src/molecules/table-methods.tsx"],"names":[],"mappings":"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"}