@dfds-ui/experiences 2.2.0-alpha.8d87a90d → 2.2.0-alpha.e74a6756
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/cjs/dynamic-table/Body/TableBody.d.ts +4 -0
- package/cjs/dynamic-table/Body/TableBody.js +50 -0
- package/cjs/dynamic-table/Body/TableBody.types.d.ts +11 -0
- package/cjs/dynamic-table/Body/TableBody.types.js +5 -0
- package/cjs/dynamic-table/Body/TableCell.d.ts +4 -0
- package/cjs/dynamic-table/Body/TableCell.js +22 -0
- package/cjs/dynamic-table/Body/TableCell.styles.d.ts +9 -0
- package/cjs/dynamic-table/Body/TableCell.styles.js +27 -0
- package/cjs/dynamic-table/Body/TableCell.types.d.ts +6 -0
- package/cjs/dynamic-table/Body/TableCell.types.js +5 -0
- package/cjs/dynamic-table/Body/TableRow.d.ts +4 -0
- package/cjs/dynamic-table/Body/TableRow.js +71 -0
- package/cjs/dynamic-table/Body/TableRow.styles.d.ts +11 -0
- package/cjs/dynamic-table/Body/TableRow.styles.js +38 -0
- package/cjs/dynamic-table/Body/TableRow.types.d.ts +19 -0
- package/cjs/dynamic-table/Body/TableRow.types.js +5 -0
- package/cjs/dynamic-table/Body/TableRowGroup.d.ts +4 -0
- package/cjs/dynamic-table/Body/TableRowGroup.js +52 -0
- package/cjs/dynamic-table/Body/TableRowGroup.types.d.ts +14 -0
- package/cjs/dynamic-table/Body/TableRowGroup.types.js +5 -0
- package/cjs/dynamic-table/DynamicTable.d.ts +4 -0
- package/cjs/dynamic-table/DynamicTable.js +78 -0
- package/cjs/dynamic-table/DynamicTable.styles.d.ts +6 -0
- package/cjs/dynamic-table/DynamicTable.styles.js +17 -0
- package/cjs/dynamic-table/DynamicTable.types.d.ts +36 -0
- package/cjs/dynamic-table/DynamicTable.types.js +5 -0
- package/cjs/dynamic-table/Head/TableHead.d.ts +4 -0
- package/cjs/dynamic-table/Head/TableHead.js +88 -0
- package/cjs/dynamic-table/Head/TableHead.styles.d.ts +5 -0
- package/cjs/dynamic-table/Head/TableHead.styles.js +70 -0
- package/cjs/dynamic-table/Head/TableHead.types.d.ts +36 -0
- package/cjs/dynamic-table/Head/TableHead.types.js +5 -0
- package/cjs/dynamic-table/Skeleton/SkeletonTable.styles.d.ts +1 -0
- package/cjs/dynamic-table/Skeleton/SkeletonTable.styles.js +18 -0
- package/cjs/dynamic-table/Skeleton/helpers/createSkeletonRows.d.ts +3 -0
- package/cjs/dynamic-table/Skeleton/helpers/createSkeletonRows.js +33 -0
- package/cjs/dynamic-table/helpers/getHeaderRow.d.ts +3 -0
- package/cjs/dynamic-table/helpers/getHeaderRow.js +22 -0
- package/cjs/dynamic-table/stories/headerRow.d.ts +3 -0
- package/cjs/dynamic-table/stories/headerRow.js +27 -0
- package/cjs/dynamic-table/stories/headerRowSortable.d.ts +3 -0
- package/cjs/dynamic-table/stories/headerRowSortable.js +29 -0
- package/cjs/dynamic-table/stories/tableRows.d.ts +3 -0
- package/cjs/dynamic-table/stories/tableRows.js +71 -0
- package/cjs/dynamic-table/stories/tableRowsExpandable.d.ts +3 -0
- package/cjs/dynamic-table/stories/tableRowsExpandable.js +73 -0
- package/cjs/footer/Footer.d.ts +23 -0
- package/cjs/footer/Footer.js +91 -0
- package/cjs/footer/FooterColumn.d.ts +11 -0
- package/cjs/footer/FooterColumn.js +33 -0
- package/cjs/footer/FooterColumnItem.d.ts +7 -0
- package/cjs/footer/FooterColumnItem.js +30 -0
- package/cjs/footer/FooterMetaLink.d.ts +7 -0
- package/cjs/footer/FooterMetaLink.js +33 -0
- package/cjs/footer/index.d.ts +4 -0
- package/cjs/footer/index.js +49 -0
- package/cjs/index.d.ts +5 -0
- package/cjs/index.js +60 -0
- package/cjs/internet-explorer-modal/IEModal.d.ts +69 -0
- package/cjs/internet-explorer-modal/IEModal.js +111 -0
- package/cjs/locale-selector/LocaleOption.d.ts +9 -0
- package/cjs/locale-selector/LocaleOption.js +41 -0
- package/cjs/locale-selector/LocaleSelector.d.ts +53 -0
- package/cjs/locale-selector/LocaleSelector.js +89 -0
- package/cjs/locale-selector/index.d.ts +1 -0
- package/cjs/locale-selector/index.js +16 -0
- package/cjs/swiper/Swiper.d.ts +5 -0
- package/cjs/swiper/Swiper.js +30 -0
- package/cjs/swiper/SwiperCard.d.ts +5 -0
- package/cjs/swiper/SwiperCard.js +30 -0
- package/cjs/swiper/index.d.ts +2 -0
- package/cjs/swiper/index.js +27 -0
- package/dynamic-table/Body/TableBody.d.ts +4 -0
- package/dynamic-table/Body/TableBody.js +47 -0
- package/dynamic-table/Body/TableBody.types.d.ts +11 -0
- package/dynamic-table/Body/TableBody.types.js +1 -0
- package/dynamic-table/Body/TableCell.d.ts +4 -0
- package/dynamic-table/Body/TableCell.js +15 -0
- package/dynamic-table/Body/TableCell.styles.d.ts +9 -0
- package/dynamic-table/Body/TableCell.styles.js +18 -0
- package/dynamic-table/Body/TableCell.types.d.ts +6 -0
- package/dynamic-table/Body/TableCell.types.js +1 -0
- package/dynamic-table/Body/TableRow.d.ts +4 -0
- package/dynamic-table/Body/TableRow.js +71 -0
- package/dynamic-table/Body/TableRow.styles.d.ts +11 -0
- package/dynamic-table/Body/TableRow.styles.js +20 -0
- package/dynamic-table/Body/TableRow.types.d.ts +19 -0
- package/dynamic-table/Body/TableRow.types.js +1 -0
- package/dynamic-table/Body/TableRowGroup.d.ts +4 -0
- package/dynamic-table/Body/TableRowGroup.js +54 -0
- package/dynamic-table/Body/TableRowGroup.types.d.ts +14 -0
- package/dynamic-table/Body/TableRowGroup.types.js +1 -0
- package/dynamic-table/DynamicTable.d.ts +4 -0
- package/dynamic-table/DynamicTable.js +85 -0
- package/dynamic-table/DynamicTable.styles.d.ts +6 -0
- package/dynamic-table/DynamicTable.styles.js +7 -0
- package/dynamic-table/DynamicTable.types.d.ts +36 -0
- package/dynamic-table/DynamicTable.types.js +1 -0
- package/dynamic-table/Head/TableHead.d.ts +4 -0
- package/dynamic-table/Head/TableHead.js +80 -0
- package/dynamic-table/Head/TableHead.styles.d.ts +5 -0
- package/dynamic-table/Head/TableHead.styles.js +48 -0
- package/dynamic-table/Head/TableHead.types.d.ts +36 -0
- package/dynamic-table/Head/TableHead.types.js +1 -0
- package/dynamic-table/Skeleton/SkeletonTable.styles.d.ts +1 -0
- package/dynamic-table/Skeleton/SkeletonTable.styles.js +11 -0
- package/dynamic-table/Skeleton/helpers/createSkeletonRows.d.ts +3 -0
- package/dynamic-table/Skeleton/helpers/createSkeletonRows.js +34 -0
- package/dynamic-table/helpers/getHeaderRow.d.ts +3 -0
- package/dynamic-table/helpers/getHeaderRow.js +15 -0
- package/dynamic-table/stories/headerRow.d.ts +3 -0
- package/dynamic-table/stories/headerRow.js +20 -0
- package/dynamic-table/stories/headerRowSortable.d.ts +3 -0
- package/dynamic-table/stories/headerRowSortable.js +22 -0
- package/dynamic-table/stories/tableRows.d.ts +3 -0
- package/dynamic-table/stories/tableRows.js +65 -0
- package/dynamic-table/stories/tableRowsExpandable.d.ts +3 -0
- package/dynamic-table/stories/tableRowsExpandable.js +67 -0
- package/footer/Footer.d.ts +23 -0
- package/footer/Footer.js +65 -0
- package/footer/FooterColumn.d.ts +11 -0
- package/footer/FooterColumn.js +27 -0
- package/footer/FooterColumnItem.d.ts +7 -0
- package/footer/FooterColumnItem.js +22 -0
- package/footer/FooterMetaLink.d.ts +7 -0
- package/footer/FooterMetaLink.js +29 -0
- package/footer/index.d.ts +4 -0
- package/footer/index.js +4 -0
- package/index.d.ts +5 -0
- package/index.js +5 -0
- package/internet-explorer-modal/IEModal.d.ts +69 -0
- package/internet-explorer-modal/IEModal.js +126 -0
- package/locale-selector/LocaleOption.d.ts +9 -0
- package/locale-selector/LocaleOption.js +32 -0
- package/locale-selector/LocaleSelector.d.ts +53 -0
- package/locale-selector/LocaleSelector.js +95 -0
- package/locale-selector/index.d.ts +1 -0
- package/locale-selector/index.js +1 -0
- package/package.json +10 -10
- package/swiper/Swiper.d.ts +5 -0
- package/swiper/Swiper.js +22 -0
- package/swiper/SwiperCard.d.ts +5 -0
- package/swiper/SwiperCard.js +22 -0
- package/swiper/index.d.ts +2 -0
- package/swiper/index.js +2 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableBodyProps } from './TableBody.types';
|
|
3
|
+
declare const TableBody: React.MemoExoticComponent<({ activeRow, expandable, headerRow, onClickRow, onSelectRow, rows, selectableRows, selectedRows, }: TableBodyProps) => JSX.Element>;
|
|
4
|
+
export default TableBody;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _TableRowGroup = _interopRequireDefault(require("./TableRowGroup"));
|
|
9
|
+
var _react2 = require("@emotion/react");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
const TableBody = /*#__PURE__*/_react.default.memo(({
|
|
14
|
+
activeRow,
|
|
15
|
+
expandable,
|
|
16
|
+
headerRow,
|
|
17
|
+
onClickRow,
|
|
18
|
+
onSelectRow,
|
|
19
|
+
rows,
|
|
20
|
+
selectableRows,
|
|
21
|
+
selectedRows
|
|
22
|
+
}) => {
|
|
23
|
+
// update state and callback functions
|
|
24
|
+
const updateSelectedRows = (0, _react.useCallback)(id => {
|
|
25
|
+
if (onSelectRow && selectableRows) {
|
|
26
|
+
const selection = [...selectedRows];
|
|
27
|
+
if (selectedRows.includes(id)) {
|
|
28
|
+
const index = selectedRows.indexOf(id);
|
|
29
|
+
if (index !== -1) selection.splice(index, 1);
|
|
30
|
+
onSelectRow(selection);
|
|
31
|
+
} else {
|
|
32
|
+
selection.push(id);
|
|
33
|
+
onSelectRow(selection);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}, [selectableRows, selectedRows]);
|
|
37
|
+
return (0, _react2.jsx)("tbody", null, rows.map(row => (0, _react2.jsx)(_TableRowGroup.default, {
|
|
38
|
+
activeRow: activeRow,
|
|
39
|
+
expandable: expandable,
|
|
40
|
+
headerRow: headerRow,
|
|
41
|
+
key: row.id,
|
|
42
|
+
onClickRow: onClickRow,
|
|
43
|
+
onSelectRow: updateSelectedRows,
|
|
44
|
+
row: row,
|
|
45
|
+
selectableRows: selectableRows,
|
|
46
|
+
selectedRows: selectedRows
|
|
47
|
+
})));
|
|
48
|
+
});
|
|
49
|
+
var _default = TableBody;
|
|
50
|
+
exports.default = _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Header, Row } from '../DynamicTable.types';
|
|
2
|
+
export type TableBodyProps = {
|
|
3
|
+
activeRow?: string;
|
|
4
|
+
expandable?: boolean;
|
|
5
|
+
headerRow: Header[];
|
|
6
|
+
onClickRow?: (id: string) => void;
|
|
7
|
+
onSelectRow?: (list: string[]) => void;
|
|
8
|
+
rows: Row[];
|
|
9
|
+
selectableRows: boolean;
|
|
10
|
+
selectedRows: string[];
|
|
11
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _TableCell = require("./TableCell.styles");
|
|
9
|
+
var _react2 = require("@emotion/react");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
const TableCell = /*#__PURE__*/_react.default.memo(({
|
|
12
|
+
children,
|
|
13
|
+
headerCell
|
|
14
|
+
}) => (0, _react2.jsx)("td", {
|
|
15
|
+
css: (0, _TableCell.tableCellStyles)({
|
|
16
|
+
align: headerCell?.textAlign,
|
|
17
|
+
customWidth: headerCell?.width
|
|
18
|
+
}),
|
|
19
|
+
"data-cy": `dynamic-table-cell-${headerCell?.key}`
|
|
20
|
+
}, children));
|
|
21
|
+
var _default = TableCell;
|
|
22
|
+
exports.default = _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const genericTableCellStyles: import("@emotion/utils").SerializedStyles;
|
|
2
|
+
type TableCellProps = {
|
|
3
|
+
align?: 'center' | 'left' | 'right';
|
|
4
|
+
customWidth?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const tableCellStyles: ({ align, customWidth }: TableCellProps) => import("@emotion/utils").SerializedStyles;
|
|
7
|
+
export declare const tableCellExpanderStyles: (isExpandable: boolean) => import("@emotion/utils").SerializedStyles;
|
|
8
|
+
export declare const tableCellCheckboxStyles: import("@emotion/utils").SerializedStyles;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tableCellStyles = exports.tableCellExpanderStyles = exports.tableCellCheckboxStyles = exports.genericTableCellStyles = void 0;
|
|
7
|
+
var _theme = require("@dfds-ui/theme");
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
|
+
const genericTableCellStyles = /*#__PURE__*/(0, _react.css)("padding:0 ", _theme.theme.spacing.xs, ";&:first-of-type{padding-left:", _theme.theme.spacing.s, ";}&:last-of-type{padding-right:", _theme.theme.spacing.s, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:genericTableCellStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR3lDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVDZWxsU3R5bGVzID0gY3NzYFxuICBwYWRkaW5nOiAwICR7dGhlbWUuc3BhY2luZy54c307XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7dGhlbWUuc3BhY2luZy5zfTtcbiAgfVxuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cbmBcblxudHlwZSBUYWJsZUNlbGxQcm9wcyA9IHtcbiAgYWxpZ24/OiAnY2VudGVyJyB8ICdsZWZ0JyB8ICdyaWdodCdcbiAgY3VzdG9tV2lkdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbFN0eWxlcyA9ICh7IGFsaWduLCBjdXN0b21XaWR0aCB9OiBUYWJsZUNlbGxQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1pbi13aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuICB0ZXh0LWFsaWduOiAke2FsaWduIHx8ICdsZWZ0J307XG4gIHdpZHRoOiAke2N1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxFeHBhbmRlclN0eWxlcyA9IChpc0V4cGFuZGFibGU6IGJvb2xlYW4pID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogNDhweDtcblxuICAke2lzRXhwYW5kYWJsZSAmJlxuICBgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbENoZWNrYm94U3R5bGVzID0gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1heC13aWR0aDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG5gXG4iXX0= */");
|
|
10
|
+
exports.genericTableCellStyles = genericTableCellStyles;
|
|
11
|
+
const tableCellStyles = ({
|
|
12
|
+
align,
|
|
13
|
+
customWidth
|
|
14
|
+
}) => /*#__PURE__*/(0, _react.css)({
|
|
15
|
+
...genericTableCellStyles
|
|
16
|
+
}, " min-width:", customWidth || 'auto', ";text-align:", align || 'left', ";width:", customWidth || 'auto', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0I4RSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDQ4cHg7XG5cbiAgJHtpc0V4cGFuZGFibGUgJiZcbiAgYFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgYH07XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
|
|
17
|
+
exports.tableCellStyles = tableCellStyles;
|
|
18
|
+
const tableCellExpanderStyles = isExpandable => /*#__PURE__*/(0, _react.css)({
|
|
19
|
+
...genericTableCellStyles
|
|
20
|
+
}, " max-width:48px;user-select:none;width:48px;", isExpandable && `
|
|
21
|
+
cursor: pointer;
|
|
22
|
+
`, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellExpanderStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJxRSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDQ4cHg7XG5cbiAgJHtpc0V4cGFuZGFibGUgJiZcbiAgYFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgYH07XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
|
|
23
|
+
exports.tableCellExpanderStyles = tableCellExpanderStyles;
|
|
24
|
+
const tableCellCheckboxStyles = /*#__PURE__*/(0, _react.css)({
|
|
25
|
+
...genericTableCellStyles
|
|
26
|
+
}, " max-width:40px;width:40px;" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellCheckboxStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUMwQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDQ4cHg7XG5cbiAgJHtpc0V4cGFuZGFibGUgJiZcbiAgYFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgYH07XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
|
|
27
|
+
exports.tableCellCheckboxStyles = tableCellCheckboxStyles;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableRowProps } from './TableRow.types';
|
|
3
|
+
declare const TableRow: React.MemoExoticComponent<({ expandable, headerRow, isActive, isExpanded, isSubRow, onClickRow, onSelectRow, row, selectableRows, selectedRows, setIsExpanded, showExpander, }: TableRowProps) => JSX.Element>;
|
|
4
|
+
export default TableRow;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _forms = require("@dfds-ui/forms");
|
|
9
|
+
var _TableCell = _interopRequireDefault(require("./TableCell"));
|
|
10
|
+
var _TableCell2 = require("./TableCell.styles");
|
|
11
|
+
var _TableRow = require("./TableRow.styles");
|
|
12
|
+
var _system = require("@dfds-ui/icons/system");
|
|
13
|
+
var _react2 = require("@emotion/react");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
const TableRow = /*#__PURE__*/_react.default.memo(({
|
|
16
|
+
expandable,
|
|
17
|
+
headerRow,
|
|
18
|
+
isActive,
|
|
19
|
+
isExpanded,
|
|
20
|
+
isSubRow = false,
|
|
21
|
+
onClickRow,
|
|
22
|
+
onSelectRow,
|
|
23
|
+
row,
|
|
24
|
+
selectableRows,
|
|
25
|
+
selectedRows,
|
|
26
|
+
setIsExpanded,
|
|
27
|
+
showExpander = false
|
|
28
|
+
}) => {
|
|
29
|
+
const hasSubRows = (row.subRows?.length || 0) > 0;
|
|
30
|
+
return (0, _react2.jsx)("tr", {
|
|
31
|
+
css: (0, _TableRow.tableRowStyles)({
|
|
32
|
+
active: isActive,
|
|
33
|
+
expanded: isExpanded,
|
|
34
|
+
hoverColor: !!onClickRow,
|
|
35
|
+
subRow: !!isSubRow
|
|
36
|
+
}),
|
|
37
|
+
className: row.className,
|
|
38
|
+
"data-expanded": isExpanded,
|
|
39
|
+
"data-row-type": isSubRow ? 'sub-row' : 'row',
|
|
40
|
+
onClick: () => onClickRow && onClickRow(row.id ? String(row.id) : '')
|
|
41
|
+
}, expandable && (0, _react2.jsx)("td", {
|
|
42
|
+
css: (0, _TableCell2.tableCellExpanderStyles)(showExpander),
|
|
43
|
+
onClick: e => {
|
|
44
|
+
if (!showExpander) return;
|
|
45
|
+
e.stopPropagation();
|
|
46
|
+
setIsExpanded(prev => !prev);
|
|
47
|
+
}
|
|
48
|
+
}, hasSubRows ? (0, _react2.jsx)(_system.ChevronRight, {
|
|
49
|
+
css: (0, _TableRow.chevronStyles)({
|
|
50
|
+
expanded: isExpanded
|
|
51
|
+
})
|
|
52
|
+
}) : null), selectableRows && row.id && (0, _react2.jsx)("td", {
|
|
53
|
+
css: _TableCell2.tableCellCheckboxStyles
|
|
54
|
+
}, (0, _react2.jsx)(_forms.Checkbox, {
|
|
55
|
+
checked: selectedRows.includes(row.id),
|
|
56
|
+
name: row.id,
|
|
57
|
+
onChange: () => {
|
|
58
|
+
if (!row.id) return;
|
|
59
|
+
onSelectRow(row.id);
|
|
60
|
+
},
|
|
61
|
+
onLabelClick: e => {
|
|
62
|
+
e.stopPropagation();
|
|
63
|
+
},
|
|
64
|
+
visualSize: "small"
|
|
65
|
+
})), headerRow.map((headerCell, index) => (0, _react2.jsx)(_TableCell.default, {
|
|
66
|
+
headerCell: headerRow?.[index],
|
|
67
|
+
key: index
|
|
68
|
+
}, row[headerCell.key] || '-')));
|
|
69
|
+
});
|
|
70
|
+
var _default = TableRow;
|
|
71
|
+
exports.default = _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ChevronProps } from './TableRow.types';
|
|
2
|
+
export declare const genericTableRowStyles: import("@emotion/utils").SerializedStyles;
|
|
3
|
+
type TableRowProps = {
|
|
4
|
+
active?: boolean;
|
|
5
|
+
expanded: boolean;
|
|
6
|
+
hoverColor: boolean;
|
|
7
|
+
subRow: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const tableRowStyles: ({ active, expanded, hoverColor, subRow }: TableRowProps) => import("@emotion/utils").SerializedStyles;
|
|
10
|
+
export declare const chevronStyles: ({ expanded }: ChevronProps) => import("@emotion/utils").SerializedStyles;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tableRowStyles = exports.genericTableRowStyles = exports.chevronStyles = void 0;
|
|
7
|
+
var _theme = require("@dfds-ui/theme");
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
|
+
const genericTableRowStyles = /*#__PURE__*/(0, _react.css)("border-bottom:1px solid ", _theme.theme.colors.divider.dark, ";border-collapse:collapse;height:48px;" + (process.env.NODE_ENV === "production" ? "" : ";label:genericTableRowStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgQ2hldnJvblByb3BzIH0gZnJvbSAnLi9UYWJsZVJvdy50eXBlcydcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNUYWJsZVJvd1N0eWxlcyA9IGNzc2BcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGhlaWdodDogNDhweDtcbmBcblxudHlwZSBUYWJsZVJvd1Byb3BzID0ge1xuICBhY3RpdmU/OiBib29sZWFuXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGhvdmVyQ29sb3I6IGJvb2xlYW5cbiAgc3ViUm93OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgZXhwYW5kZWQsIGhvdmVyQ29sb3IsIHN1YlJvdyB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYH07XG4gIH1cblxuICAke2V4cGFuZGVkICYmXG4gIGBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICR7XG4gICAgICAgIGhvdmVyQ29sb3IgJiZcbiAgICAgICAgYFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICAgICAgYFxuICAgICAgfTtcbiAgICB9XG4gIGB9O1xuXG4gICR7c3ViUm93ICYmXG4gICFleHBhbmRlZCAmJlxuICBgXG4gICAgZGlzcGxheTogbm9uZTtcbiAgYH07XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuYFxuXG5leHBvcnQgY29uc3QgY2hldnJvblN0eWxlcyA9ICh7IGV4cGFuZGVkIH06IENoZXZyb25Qcm9wcykgPT4gY3NzYFxuICBjb2xvcjogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5kYXJrfTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRyYW5zZm9ybTogJHtleHBhbmRlZCAmJiAncm90YXRlKDkwZGVnKSd9O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuYFxuIl19 */");
|
|
10
|
+
exports.genericTableRowStyles = genericTableRowStyles;
|
|
11
|
+
const tableRowStyles = ({
|
|
12
|
+
active,
|
|
13
|
+
expanded,
|
|
14
|
+
hoverColor,
|
|
15
|
+
subRow
|
|
16
|
+
}) => /*#__PURE__*/(0, _react.css)({
|
|
17
|
+
...genericTableRowStyles
|
|
18
|
+
}, " &:hover{", hoverColor && `
|
|
19
|
+
background-color: ${_theme.theme.colors.surface.secondary};
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
`, ";}", expanded && `
|
|
22
|
+
background-color: ${_theme.theme.colors.surface.secondary};
|
|
23
|
+
|
|
24
|
+
&:hover {
|
|
25
|
+
${hoverColor && `
|
|
26
|
+
background-color: ${_theme.theme.colors.divider.dark};
|
|
27
|
+
`};
|
|
28
|
+
}
|
|
29
|
+
`, ";", subRow && !expanded && `
|
|
30
|
+
display: none;
|
|
31
|
+
`, ";", active && `
|
|
32
|
+
background-color: ${_theme.theme.colors.divider.dark};
|
|
33
|
+
`, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableRowStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQjhGIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENoZXZyb25Qcm9wcyB9IGZyb20gJy4vVGFibGVSb3cudHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZXMgPSBjc3NgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBoZWlnaHQ6IDQ4cHg7XG5gXG5cbnR5cGUgVGFibGVSb3dQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhblxuICBleHBhbmRlZDogYm9vbGVhblxuICBob3ZlckNvbG9yOiBib29sZWFuXG4gIHN1YlJvdzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdGFibGVSb3dTdHlsZXMgPSAoeyBhY3RpdmUsIGV4cGFuZGVkLCBob3ZlckNvbG9yLCBzdWJSb3cgfTogVGFibGVSb3dQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlUm93U3R5bGVzIH19XG5cbiAgJjpob3ZlciB7XG4gICAgJHtob3ZlckNvbG9yICYmXG4gICAgYFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGB9O1xuICB9XG5cbiAgJHtleHBhbmRlZCAmJlxuICBgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAke1xuICAgICAgICBob3ZlckNvbG9yICYmXG4gICAgICAgIGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuZGl2aWRlci5kYXJrfTtcbiAgICAgIGBcbiAgICAgIH07XG4gICAgfVxuICBgfTtcblxuICAke3N1YlJvdyAmJlxuICAhZXhwYW5kZWQgJiZcbiAgYFxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIGB9O1xuXG4gICR7YWN0aXZlICYmXG4gIGBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IGNoZXZyb25TdHlsZXMgPSAoeyBleHBhbmRlZCB9OiBDaGV2cm9uUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnByaW1hcnkuZGFya307XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0cmFuc2Zvcm06ICR7ZXhwYW5kZWQgJiYgJ3JvdGF0ZSg5MGRlZyknfTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbmBcbiJdfQ== */");
|
|
34
|
+
exports.tableRowStyles = tableRowStyles;
|
|
35
|
+
const chevronStyles = ({
|
|
36
|
+
expanded
|
|
37
|
+
}) => /*#__PURE__*/(0, _react.css)("color:", _theme.theme.colors.primary.dark, ";font-size:1.5rem;transform:", expanded && 'rotate(90deg)', ";transition-duration:250ms;transition-property:transform;" + (process.env.NODE_ENV === "production" ? "" : ";label:chevronStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzRGdFIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENoZXZyb25Qcm9wcyB9IGZyb20gJy4vVGFibGVSb3cudHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZXMgPSBjc3NgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBoZWlnaHQ6IDQ4cHg7XG5gXG5cbnR5cGUgVGFibGVSb3dQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhblxuICBleHBhbmRlZDogYm9vbGVhblxuICBob3ZlckNvbG9yOiBib29sZWFuXG4gIHN1YlJvdzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdGFibGVSb3dTdHlsZXMgPSAoeyBhY3RpdmUsIGV4cGFuZGVkLCBob3ZlckNvbG9yLCBzdWJSb3cgfTogVGFibGVSb3dQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlUm93U3R5bGVzIH19XG5cbiAgJjpob3ZlciB7XG4gICAgJHtob3ZlckNvbG9yICYmXG4gICAgYFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGB9O1xuICB9XG5cbiAgJHtleHBhbmRlZCAmJlxuICBgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAke1xuICAgICAgICBob3ZlckNvbG9yICYmXG4gICAgICAgIGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuZGl2aWRlci5kYXJrfTtcbiAgICAgIGBcbiAgICAgIH07XG4gICAgfVxuICBgfTtcblxuICAke3N1YlJvdyAmJlxuICAhZXhwYW5kZWQgJiZcbiAgYFxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIGB9O1xuXG4gICR7YWN0aXZlICYmXG4gIGBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IGNoZXZyb25TdHlsZXMgPSAoeyBleHBhbmRlZCB9OiBDaGV2cm9uUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnByaW1hcnkuZGFya307XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0cmFuc2Zvcm06ICR7ZXhwYW5kZWQgJiYgJ3JvdGF0ZSg5MGRlZyknfTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbmBcbiJdfQ== */");
|
|
38
|
+
exports.chevronStyles = chevronStyles;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Header, Row } from '../DynamicTable.types';
|
|
3
|
+
export type TableRowProps = {
|
|
4
|
+
expandable?: boolean;
|
|
5
|
+
headerRow: Header[];
|
|
6
|
+
isActive: boolean;
|
|
7
|
+
isExpanded: boolean;
|
|
8
|
+
isSubRow?: boolean;
|
|
9
|
+
onClickRow?: (id: string) => void;
|
|
10
|
+
onSelectRow: (id: string) => void;
|
|
11
|
+
row: Row;
|
|
12
|
+
selectableRows: boolean;
|
|
13
|
+
selectedRows: string[];
|
|
14
|
+
setIsExpanded: React.Dispatch<React.SetStateAction<boolean>>;
|
|
15
|
+
showExpander?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type ChevronProps = {
|
|
18
|
+
expanded: boolean;
|
|
19
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableRowGroupProps } from './TableRowGroup.types';
|
|
3
|
+
declare const TableRowGroup: React.MemoExoticComponent<({ activeRow, expandable, headerRow, onClickRow, onSelectRow, row, selectableRows, selectedRows, }: TableRowGroupProps) => JSX.Element>;
|
|
4
|
+
export default TableRowGroup;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _TableRow = _interopRequireDefault(require("./TableRow"));
|
|
9
|
+
var _react2 = require("@emotion/react");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
const TableRowGroup = /*#__PURE__*/_react.default.memo(({
|
|
12
|
+
activeRow,
|
|
13
|
+
expandable,
|
|
14
|
+
headerRow,
|
|
15
|
+
onClickRow,
|
|
16
|
+
onSelectRow,
|
|
17
|
+
row,
|
|
18
|
+
selectableRows,
|
|
19
|
+
selectedRows
|
|
20
|
+
}) => {
|
|
21
|
+
const [isExpanded, setIsExpanded] = _react.default.useState(false);
|
|
22
|
+
const subRows = row.subRows || [];
|
|
23
|
+
const hasSubRows = subRows.length > 0;
|
|
24
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_TableRow.default, {
|
|
25
|
+
expandable: expandable,
|
|
26
|
+
headerRow: headerRow,
|
|
27
|
+
isActive: activeRow ? row.id === activeRow : false,
|
|
28
|
+
isExpanded: isExpanded,
|
|
29
|
+
onClickRow: onClickRow,
|
|
30
|
+
onSelectRow: onSelectRow,
|
|
31
|
+
row: row,
|
|
32
|
+
selectableRows: selectableRows,
|
|
33
|
+
selectedRows: selectedRows,
|
|
34
|
+
setIsExpanded: setIsExpanded,
|
|
35
|
+
showExpander: hasSubRows
|
|
36
|
+
}), subRows.map(subRow => (0, _react2.jsx)(_TableRow.default, {
|
|
37
|
+
expandable: expandable,
|
|
38
|
+
headerRow: headerRow,
|
|
39
|
+
isActive: activeRow ? subRow.id === activeRow : false,
|
|
40
|
+
isExpanded: isExpanded,
|
|
41
|
+
isSubRow: true,
|
|
42
|
+
key: subRow.id,
|
|
43
|
+
onClickRow: onClickRow,
|
|
44
|
+
onSelectRow: onSelectRow,
|
|
45
|
+
row: subRow,
|
|
46
|
+
selectableRows: selectableRows,
|
|
47
|
+
selectedRows: selectedRows,
|
|
48
|
+
setIsExpanded: setIsExpanded
|
|
49
|
+
})));
|
|
50
|
+
});
|
|
51
|
+
var _default = TableRowGroup;
|
|
52
|
+
exports.default = _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Header, Row } from '../DynamicTable.types';
|
|
2
|
+
export type TableRowGroupProps = {
|
|
3
|
+
activeRow?: string;
|
|
4
|
+
expandable?: boolean;
|
|
5
|
+
headerRow: Header[];
|
|
6
|
+
onClickRow?: (id: string) => void;
|
|
7
|
+
onSelectRow: (id: string) => void;
|
|
8
|
+
row: Row;
|
|
9
|
+
selectableRows: boolean;
|
|
10
|
+
selectedRows: string[];
|
|
11
|
+
};
|
|
12
|
+
export type ChevronProps = {
|
|
13
|
+
expanded: boolean;
|
|
14
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _TableBody = _interopRequireDefault(require("./Body/TableBody"));
|
|
9
|
+
var _DynamicTable = require("./DynamicTable.styles");
|
|
10
|
+
var _TableHead = _interopRequireDefault(require("./Head/TableHead"));
|
|
11
|
+
var _createSkeletonRows = _interopRequireDefault(require("./Skeleton/helpers/createSkeletonRows"));
|
|
12
|
+
var _SkeletonTable = require("./Skeleton/SkeletonTable.styles");
|
|
13
|
+
var _react2 = require("@emotion/react");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
18
|
+
const DynamicTable = ({
|
|
19
|
+
activeRow,
|
|
20
|
+
descending,
|
|
21
|
+
expandable,
|
|
22
|
+
height,
|
|
23
|
+
headerRow,
|
|
24
|
+
isLoading,
|
|
25
|
+
onClickRow,
|
|
26
|
+
onSelectRow,
|
|
27
|
+
onSort,
|
|
28
|
+
rows,
|
|
29
|
+
selectedRows = [],
|
|
30
|
+
sortingBy,
|
|
31
|
+
stickyHeader,
|
|
32
|
+
...rest
|
|
33
|
+
}) => {
|
|
34
|
+
// states
|
|
35
|
+
const [sortByKeyValue, setSortByKeyValue] = (0, _react.useState)(sortingBy || '');
|
|
36
|
+
const [sortDescending, setSortDescending] = (0, _react.useState)(sortingBy && descending || false);
|
|
37
|
+
const selectableRows = !!onSelectRow;
|
|
38
|
+
const skeletonRows = (0, _react.useMemo)(() => (0, _createSkeletonRows.default)(headerRow), [headerRow]);
|
|
39
|
+
(0, _react.useEffect)(() => {
|
|
40
|
+
if (onSort) {
|
|
41
|
+
onSort(sortByKeyValue, sortDescending);
|
|
42
|
+
}
|
|
43
|
+
}, [sortDescending, onSort, sortByKeyValue]);
|
|
44
|
+
return (0, _react2.jsx)("div", _extends({
|
|
45
|
+
css: (0, _DynamicTable.tableWrapperStyles)({
|
|
46
|
+
height
|
|
47
|
+
})
|
|
48
|
+
}, rest), (0, _react2.jsx)("table", {
|
|
49
|
+
css: _DynamicTable.tableStyles,
|
|
50
|
+
"data-cy": !isLoading ? `dynamic-table-isLoaded` : ''
|
|
51
|
+
}, headerRow && (0, _react2.jsx)(_TableHead.default, {
|
|
52
|
+
expandable: expandable,
|
|
53
|
+
headerRow: headerRow,
|
|
54
|
+
onSelectRow: onSelectRow,
|
|
55
|
+
onSort: onSort,
|
|
56
|
+
rows: rows,
|
|
57
|
+
selectableRows: selectableRows,
|
|
58
|
+
selectedRows: selectedRows,
|
|
59
|
+
setSortDescending: setSortDescending,
|
|
60
|
+
setSortByKeyValue: setSortByKeyValue,
|
|
61
|
+
sortDescending: sortDescending,
|
|
62
|
+
sortByKeyValue: sortByKeyValue,
|
|
63
|
+
stickyHeader: stickyHeader
|
|
64
|
+
}), (0, _react2.jsx)(_TableBody.default, {
|
|
65
|
+
activeRow: activeRow,
|
|
66
|
+
expandable: expandable,
|
|
67
|
+
headerRow: headerRow,
|
|
68
|
+
onClickRow: onClickRow,
|
|
69
|
+
onSelectRow: onSelectRow,
|
|
70
|
+
rows: !isLoading ? rows : skeletonRows,
|
|
71
|
+
selectableRows: selectableRows,
|
|
72
|
+
selectedRows: selectedRows
|
|
73
|
+
})), isLoading && (0, _react2.jsx)("div", {
|
|
74
|
+
css: _SkeletonTable.fadeStyles
|
|
75
|
+
}));
|
|
76
|
+
};
|
|
77
|
+
var _default = /*#__PURE__*/_react.default.memo(DynamicTable);
|
|
78
|
+
exports.default = _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tableWrapperStyles = exports.tableStyles = void 0;
|
|
7
|
+
var _theme = require("@dfds-ui/theme");
|
|
8
|
+
var _react = require("@emotion/react");
|
|
9
|
+
const tableWrapperStyles = ({
|
|
10
|
+
height
|
|
11
|
+
}) => /*#__PURE__*/(0, _react.css)("color:", _theme.theme.colors.text.primary, ";display:flex;flex-direction:column;overflow-x:auto;width:100%;", height && `
|
|
12
|
+
height: ${height};
|
|
13
|
+
overflow-y: auto;
|
|
14
|
+
`, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableWrapperStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0R5bmFtaWNUYWJsZS5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU93RSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9EeW5hbWljVGFibGUuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxudHlwZSBUYWJsZVdyYXBwZXJQcm9wcyA9IHtcbiAgaGVpZ2h0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVdyYXBwZXJTdHlsZXMgPSAoeyBoZWlnaHQgfTogVGFibGVXcmFwcGVyUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQucHJpbWFyeX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7aGVpZ2h0ICYmXG4gIGBcbiAgICBoZWlnaHQ6ICR7aGVpZ2h0fTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IHRhYmxlU3R5bGVzID0gY3NzYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnByaW1hcnl9O1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgd2lkdGg6IDEwMCU7XG5gXG4iXX0= */");
|
|
15
|
+
exports.tableWrapperStyles = tableWrapperStyles;
|
|
16
|
+
const tableStyles = /*#__PURE__*/(0, _react.css)("background-color:", _theme.theme.colors.surface.primary, ";font-family:Verdana,sans-serif;font-size:12px;line-height:16px;width:100%;" + (process.env.NODE_ENV === "production" ? "" : ";label:tableStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0R5bmFtaWNUYWJsZS5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCOEIiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvRHluYW1pY1RhYmxlLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbnR5cGUgVGFibGVXcmFwcGVyUHJvcHMgPSB7XG4gIGhlaWdodD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgdGFibGVXcmFwcGVyU3R5bGVzID0gKHsgaGVpZ2h0IH06IFRhYmxlV3JhcHBlclByb3BzKSA9PiBjc3NgXG4gIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LnByaW1hcnl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICAke2hlaWdodCAmJlxuICBgXG4gICAgaGVpZ2h0OiAke2hlaWdodH07XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgYH07XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZVN0eWxlcyA9IGNzc2BcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5wcmltYXJ5fTtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuYFxuIl19 */");
|
|
17
|
+
exports.tableStyles = tableStyles;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type Header = {
|
|
3
|
+
displayName: string | React.ReactElement;
|
|
4
|
+
key: string;
|
|
5
|
+
sortKey?: string;
|
|
6
|
+
sortable?: boolean;
|
|
7
|
+
textAlign?: 'center' | 'left' | 'right';
|
|
8
|
+
width?: string;
|
|
9
|
+
};
|
|
10
|
+
export type SubRow = {
|
|
11
|
+
className?: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
[name: string]: any;
|
|
14
|
+
};
|
|
15
|
+
export type Row = {
|
|
16
|
+
className?: string;
|
|
17
|
+
id?: string;
|
|
18
|
+
subRows?: SubRow[];
|
|
19
|
+
[name: string]: any;
|
|
20
|
+
};
|
|
21
|
+
export type DynamicTableProps = {
|
|
22
|
+
activeRow?: string;
|
|
23
|
+
descending?: boolean;
|
|
24
|
+
expandable?: boolean;
|
|
25
|
+
headerRow: Header[];
|
|
26
|
+
height?: string;
|
|
27
|
+
isLoading?: boolean;
|
|
28
|
+
onClickRow?: (id: string) => void;
|
|
29
|
+
onSelectRow?: (list: string[]) => void;
|
|
30
|
+
onSort?: (value: string, sortDescending: boolean) => void;
|
|
31
|
+
rows: Row[];
|
|
32
|
+
selectedRows?: string[];
|
|
33
|
+
sortingBy?: string;
|
|
34
|
+
stickyHeader?: boolean;
|
|
35
|
+
translate?: 'yes' | 'no';
|
|
36
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableHeadProps } from './TableHead.types';
|
|
3
|
+
declare const TableHead: React.MemoExoticComponent<({ expandable, headerRow, onSelectRow, onSort, rows, selectableRows, selectedRows, setSortDescending, setSortByKeyValue, sortDescending, sortByKeyValue, stickyHeader, }: TableHeadProps) => JSX.Element>;
|
|
4
|
+
export default TableHead;
|