@dfds-ui/experiences 2.0.28 → 2.0.29-alpha.07cf1c48

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 (67) hide show
  1. package/cjs/dynamic-table/Body/TableBody.d.ts +1 -1
  2. package/cjs/dynamic-table/Body/TableBody.js +8 -7
  3. package/cjs/dynamic-table/Body/TableBody.types.d.ts +1 -0
  4. package/cjs/dynamic-table/Body/TableCell.js +1 -1
  5. package/cjs/dynamic-table/Body/TableCell.styles.d.ts +1 -0
  6. package/cjs/dynamic-table/Body/TableCell.styles.js +9 -5
  7. package/cjs/dynamic-table/Body/TableRow.d.ts +1 -1
  8. package/cjs/dynamic-table/Body/TableRow.js +51 -26
  9. package/cjs/dynamic-table/Body/TableRow.styles.d.ts +5 -1
  10. package/cjs/dynamic-table/Body/TableRow.styles.js +25 -6
  11. package/cjs/dynamic-table/Body/TableRow.types.d.ts +8 -0
  12. package/cjs/dynamic-table/Body/TableRowGroup.d.ts +4 -0
  13. package/cjs/dynamic-table/Body/TableRowGroup.js +61 -0
  14. package/cjs/dynamic-table/Body/TableRowGroup.types.d.ts +14 -0
  15. package/cjs/dynamic-table/Body/TableRowGroup.types.js +5 -0
  16. package/cjs/dynamic-table/DynamicTable.js +13 -11
  17. package/cjs/dynamic-table/DynamicTable.types.d.ts +7 -0
  18. package/cjs/dynamic-table/Head/TableHead.d.ts +1 -1
  19. package/cjs/dynamic-table/Head/TableHead.js +7 -3
  20. package/cjs/dynamic-table/Head/TableHead.styles.d.ts +2 -1
  21. package/cjs/dynamic-table/Head/TableHead.styles.js +18 -6
  22. package/cjs/dynamic-table/Head/TableHead.types.d.ts +4 -0
  23. package/cjs/dynamic-table/Skeleton/helpers/createSkeletonRows.js +1 -1
  24. package/cjs/dynamic-table/stories/tableRows.js +1 -1
  25. package/cjs/dynamic-table/stories/tableRowsExpandable.d.ts +3 -0
  26. package/cjs/dynamic-table/stories/tableRowsExpandable.js +73 -0
  27. package/cjs/footer/Footer.js +4 -4
  28. package/cjs/footer/FooterColumn.js +4 -4
  29. package/cjs/footer/FooterColumnItem.js +4 -4
  30. package/cjs/footer/FooterMetaLink.js +4 -4
  31. package/cjs/index.js +1 -1
  32. package/cjs/internet-explorer-modal/IEModal.js +8 -9
  33. package/cjs/locale-selector/LocaleOption.js +1 -1
  34. package/cjs/locale-selector/LocaleSelector.js +6 -7
  35. package/cjs/swiper/Swiper.js +1 -1
  36. package/cjs/swiper/SwiperCard.js +1 -1
  37. package/dynamic-table/Body/TableBody.d.ts +1 -1
  38. package/dynamic-table/Body/TableBody.js +12 -10
  39. package/dynamic-table/Body/TableBody.types.d.ts +1 -0
  40. package/dynamic-table/Body/TableCell.styles.d.ts +1 -0
  41. package/dynamic-table/Body/TableCell.styles.js +7 -4
  42. package/dynamic-table/Body/TableRow.d.ts +1 -1
  43. package/dynamic-table/Body/TableRow.js +31 -6
  44. package/dynamic-table/Body/TableRow.styles.d.ts +5 -1
  45. package/dynamic-table/Body/TableRow.styles.js +19 -4
  46. package/dynamic-table/Body/TableRow.types.d.ts +8 -0
  47. package/dynamic-table/Body/TableRowGroup.d.ts +4 -0
  48. package/dynamic-table/Body/TableRowGroup.js +54 -0
  49. package/dynamic-table/Body/TableRowGroup.types.d.ts +14 -0
  50. package/dynamic-table/Body/TableRowGroup.types.js +1 -0
  51. package/dynamic-table/DynamicTable.js +11 -8
  52. package/dynamic-table/DynamicTable.types.d.ts +7 -0
  53. package/dynamic-table/Head/TableHead.d.ts +1 -1
  54. package/dynamic-table/Head/TableHead.js +8 -3
  55. package/dynamic-table/Head/TableHead.styles.d.ts +2 -1
  56. package/dynamic-table/Head/TableHead.styles.js +17 -9
  57. package/dynamic-table/Head/TableHead.types.d.ts +4 -0
  58. package/dynamic-table/Skeleton/helpers/createSkeletonRows.js +5 -5
  59. package/dynamic-table/stories/tableRowsExpandable.d.ts +3 -0
  60. package/dynamic-table/stories/tableRowsExpandable.js +67 -0
  61. package/footer/Footer.js +4 -4
  62. package/footer/FooterColumn.js +4 -4
  63. package/footer/FooterColumnItem.js +4 -4
  64. package/footer/FooterMetaLink.js +3 -3
  65. package/internet-explorer-modal/IEModal.js +7 -7
  66. package/locale-selector/LocaleSelector.js +5 -5
  67. package/package.json +10 -10
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { TableBodyProps } from './TableBody.types';
3
- declare const TableBody: React.MemoExoticComponent<({ activeRow, headerRow, onClickRow, onSelectRow, rows, selectableRows, selectedRows }: TableBodyProps) => JSX.Element>;
3
+ declare const TableBody: React.MemoExoticComponent<({ activeRow, expandable, headerRow, onClickRow, onSelectRow, rows, selectableRows, selectedRows, }: TableBodyProps) => JSX.Element>;
4
4
  export default TableBody;
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _TableRow = _interopRequireDefault(require("./TableRow"));
8
+ var _TableRowGroup = _interopRequireDefault(require("./TableRowGroup"));
9
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 _getRequireWildcardCache(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; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
12
  const TableBody = /*#__PURE__*/_react.default.memo(({
14
13
  activeRow,
14
+ expandable,
15
15
  headerRow,
16
16
  onClickRow,
17
17
  onSelectRow,
@@ -33,10 +33,11 @@ const TableBody = /*#__PURE__*/_react.default.memo(({
33
33
  }
34
34
  }
35
35
  }, [selectableRows, selectedRows]);
36
- return (0, _react2.jsx)("tbody", null, rows.map((row, index) => (0, _react2.jsx)(_TableRow.default, {
36
+ return (0, _react2.jsx)("tbody", null, rows.map(row => (0, _react2.jsx)(_TableRowGroup.default, {
37
+ activeRow: activeRow,
38
+ expandable: expandable,
37
39
  headerRow: headerRow,
38
- isActive: activeRow ? row.id === activeRow : false,
39
- key: index,
40
+ key: row.id,
40
41
  onClickRow: onClickRow,
41
42
  onSelectRow: updateSelectedRows,
42
43
  row: row,
@@ -1,6 +1,7 @@
1
1
  import { Header, Row } from '../DynamicTable.types';
2
2
  export declare type TableBodyProps = {
3
3
  activeRow?: string;
4
+ expandable?: boolean;
4
5
  headerRow: Header[];
5
6
  onClickRow?: (id: string) => void;
6
7
  onSelectRow?: (list: string[]) => void;
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _TableCell = require("./TableCell.styles");
9
9
  var _react2 = require("@emotion/react");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  const TableCell = /*#__PURE__*/_react.default.memo(({
12
12
  children,
13
13
  headerCell
@@ -4,5 +4,6 @@ declare type TableCellProps = {
4
4
  customWidth?: string;
5
5
  };
6
6
  export declare const tableCellStyles: ({ align, customWidth }: TableCellProps) => import("@emotion/utils").SerializedStyles;
7
+ export declare const tableCellExpanderStyles: (isExpandable: boolean) => import("@emotion/utils").SerializedStyles;
7
8
  export declare const tableCellCheckboxStyles: import("@emotion/utils").SerializedStyles;
8
9
  export {};
@@ -3,20 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.tableCellStyles = exports.tableCellCheckboxStyles = exports.genericTableCellStyles = void 0;
6
+ exports.tableCellStyles = exports.tableCellExpanderStyles = exports.tableCellCheckboxStyles = exports.genericTableCellStyles = void 0;
7
7
  var _theme = require("@dfds-ui/theme");
8
8
  var _react = require("@emotion/react");
9
9
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
10
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
12
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
13
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
- 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/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbFN0eWxlcyA9ICh7IGFsaWduLCBjdXN0b21XaWR0aCB9OiBUYWJsZUNlbGxQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1pbi13aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuICB0ZXh0LWFsaWduOiAke2FsaWduIHx8ICdsZWZ0J307XG4gIHdpZHRoOiAke2N1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
14
+ 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+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuXG4gICR7aXNFeHBhbmRhYmxlICYmXG4gIGBcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIGB9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
15
15
  exports.genericTableCellStyles = genericTableCellStyles;
16
16
  const tableCellStyles = ({
17
17
  align,
18
18
  customWidth
19
- }) => /*#__PURE__*/(0, _react.css)(_objectSpread({}, genericTableCellStyles), " 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+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
19
+ }) => /*#__PURE__*/(0, _react.css)(_objectSpread({}, genericTableCellStyles), " 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+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB3aWR0aDogNDhweDtcblxuICAke2lzRXhwYW5kYWJsZSAmJlxuICBgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbENoZWNrYm94U3R5bGVzID0gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1heC13aWR0aDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG5gXG4iXX0= */");
20
20
  exports.tableCellStyles = tableCellStyles;
21
- const tableCellCheckboxStyles = /*#__PURE__*/(0, _react.css)(_objectSpread({}, genericTableCellStyles), " 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEIwQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
21
+ const tableCellExpanderStyles = isExpandable => /*#__PURE__*/(0, _react.css)(_objectSpread({}, genericTableCellStyles), " max-width:48px;width:48px;", isExpandable && `
22
+ cursor: pointer;
23
+ `, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellExpanderStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJxRSIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB3aWR0aDogNDhweDtcblxuICAke2lzRXhwYW5kYWJsZSAmJlxuICBgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbENoZWNrYm94U3R5bGVzID0gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1heC13aWR0aDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG5gXG4iXX0= */");
24
+ exports.tableCellExpanderStyles = tableCellExpanderStyles;
25
+ const tableCellCheckboxStyles = /*#__PURE__*/(0, _react.css)(_objectSpread({}, genericTableCellStyles), " 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0MwQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB3aWR0aDogNDhweDtcblxuICAke2lzRXhwYW5kYWJsZSAmJlxuICBgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbENoZWNrYm94U3R5bGVzID0gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1heC13aWR0aDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG5gXG4iXX0= */");
22
26
  exports.tableCellCheckboxStyles = tableCellCheckboxStyles;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { TableRowProps } from './TableRow.types';
3
- declare const TableRow: React.MemoExoticComponent<({ headerRow, isActive, onClickRow, onSelectRow, row, selectableRows, selectedRows }: TableRowProps) => JSX.Element>;
3
+ declare const TableRow: React.MemoExoticComponent<({ expandable, headerRow, isActive, isExpanded, isSubRow, onClickRow, onSelectRow, row, selectableRows, selectedRows, setIsExpanded, showExpander, }: TableRowProps) => JSX.Element>;
4
4
  export default TableRow;
@@ -9,39 +9,64 @@ var _forms = require("@dfds-ui/forms");
9
9
  var _TableCell = _interopRequireDefault(require("./TableCell"));
10
10
  var _TableCell2 = require("./TableCell.styles");
11
11
  var _TableRow = require("./TableRow.styles");
12
+ var _system = require("@dfds-ui/icons/system");
12
13
  var _react2 = require("@emotion/react");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
15
  const TableRow = /*#__PURE__*/_react.default.memo(({
16
+ expandable,
15
17
  headerRow,
16
18
  isActive,
19
+ isExpanded,
20
+ isSubRow = false,
17
21
  onClickRow,
18
22
  onSelectRow,
19
23
  row,
20
24
  selectableRows,
21
- selectedRows
22
- }) => (0, _react2.jsx)("tr", {
23
- css: (0, _TableRow.tableRowStyles)({
24
- active: isActive,
25
- hoverColor: !!onClickRow
26
- }),
27
- className: row.className,
28
- onClick: () => onClickRow && onClickRow(row.id ? String(row.id) : '')
29
- }, selectableRows && row.id && (0, _react2.jsx)("td", {
30
- css: _TableCell2.tableCellCheckboxStyles
31
- }, (0, _react2.jsx)(_forms.Checkbox, {
32
- checked: selectedRows.includes(row.id),
33
- name: row.id,
34
- onChange: () => {
35
- if (!row.id) return;
36
- onSelectRow(row.id);
37
- },
38
- onLabelClick: e => {
39
- e.stopPropagation();
40
- },
41
- visualSize: "small"
42
- })), headerRow.map((headerCell, index) => (0, _react2.jsx)(_TableCell.default, {
43
- headerCell: headerRow === null || headerRow === void 0 ? void 0 : headerRow[index],
44
- key: index
45
- }, row[headerCell.key] || '-'))));
25
+ selectedRows,
26
+ setIsExpanded,
27
+ showExpander = false
28
+ }) => {
29
+ var _row$subRows;
30
+ const hasSubRows = (((_row$subRows = row.subRows) === null || _row$subRows === void 0 ? void 0 : _row$subRows.length) || 0) > 0;
31
+ return (0, _react2.jsx)("tr", {
32
+ css: (0, _TableRow.tableRowStyles)({
33
+ active: isActive,
34
+ expanded: isExpanded,
35
+ hoverColor: !!onClickRow,
36
+ subRow: !!isSubRow
37
+ }),
38
+ className: row.className,
39
+ "data-expanded": isExpanded,
40
+ "data-row-type": isSubRow ? 'sub-row' : 'row',
41
+ onClick: () => onClickRow && onClickRow(row.id ? String(row.id) : '')
42
+ }, expandable && (0, _react2.jsx)("td", {
43
+ css: (0, _TableCell2.tableCellExpanderStyles)(showExpander),
44
+ onClick: e => {
45
+ if (!showExpander) return;
46
+ e.stopPropagation();
47
+ setIsExpanded(!isExpanded);
48
+ }
49
+ }, hasSubRows ? (0, _react2.jsx)(_system.ChevronRight, {
50
+ css: (0, _TableRow.chevronStyles)({
51
+ expanded: isExpanded
52
+ })
53
+ }) : null), selectableRows && row.id && (0, _react2.jsx)("td", {
54
+ css: _TableCell2.tableCellCheckboxStyles
55
+ }, (0, _react2.jsx)(_forms.Checkbox, {
56
+ checked: selectedRows.includes(row.id),
57
+ name: row.id,
58
+ onChange: () => {
59
+ if (!row.id) return;
60
+ onSelectRow(row.id);
61
+ },
62
+ onLabelClick: e => {
63
+ e.stopPropagation();
64
+ },
65
+ visualSize: "small"
66
+ })), headerRow.map((headerCell, index) => (0, _react2.jsx)(_TableCell.default, {
67
+ headerCell: headerRow === null || headerRow === void 0 ? void 0 : headerRow[index],
68
+ key: index
69
+ }, row[headerCell.key] || '-')));
70
+ });
46
71
  var _default = TableRow;
47
72
  exports.default = _default;
@@ -1,7 +1,11 @@
1
+ import { ChevronProps } from './TableRow.types';
1
2
  export declare const genericTableRowStyles: import("@emotion/utils").SerializedStyles;
2
3
  declare type TableRowProps = {
3
4
  active?: boolean;
5
+ expanded: boolean;
4
6
  hoverColor: boolean;
7
+ subRow: boolean;
5
8
  };
6
- export declare const tableRowStyles: ({ active, hoverColor }: TableRowProps) => import("@emotion/utils").SerializedStyles;
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;
7
11
  export {};
@@ -3,23 +3,42 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.tableRowStyles = exports.genericTableRowStyles = void 0;
6
+ exports.tableRowStyles = exports.genericTableRowStyles = exports.chevronStyles = void 0;
7
7
  var _theme = require("@dfds-ui/theme");
8
8
  var _react = require("@emotion/react");
9
9
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
10
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
12
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
13
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
- const genericTableRowStyles = /*#__PURE__*/(0, _react.css)("border-bottom:1px solid ", _theme.theme.colors.surface.secondary, ";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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlUm93U3R5bGVzID0gY3NzYFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBoZWlnaHQ6IDQ4cHg7XG5gXG5cbnR5cGUgVGFibGVSb3dQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhblxuICBob3ZlckNvbG9yOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgaG92ZXJDb2xvciB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6ICR7aG92ZXJDb2xvciAmJiAncG9pbnRlcid9O1xuICAgIGB9O1xuICB9XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuYFxuIl19 */");
14
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
15
+ const genericTableRowStyles = process.env.NODE_ENV === "production" ? {
16
+ name: "674hgm",
17
+ styles: "border-bottom:1px solid #4d4e4c29;border-collapse:collapse;height:48px"
18
+ } : {
19
+ name: "1sc9lfj-genericTableRowStyles",
20
+ styles: "border-bottom:1px solid #4d4e4c29;border-collapse:collapse;height:48px;label:genericTableRowStyles;",
21
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgQ2hldnJvblByb3BzIH0gZnJvbSAnLi9UYWJsZVJvdy50eXBlcydcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNUYWJsZVJvd1N0eWxlcyA9IGNzc2BcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0ZDRlNGMyOTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgaGVpZ2h0OiA0OHB4O1xuYFxuXG50eXBlIFRhYmxlUm93UHJvcHMgPSB7XG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgaG92ZXJDb2xvcjogYm9vbGVhblxuICBzdWJSb3c6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHRhYmxlUm93U3R5bGVzID0gKHsgYWN0aXZlLCBleHBhbmRlZCwgaG92ZXJDb2xvciwgc3ViUm93IH06IFRhYmxlUm93UHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZVJvd1N0eWxlcyB9fVxuXG4gICY6aG92ZXIge1xuICAgICR7aG92ZXJDb2xvciAmJlxuICAgIGBcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgICAgIGN1cnNvcjogJHtob3ZlckNvbG9yICYmICdwb2ludGVyJ307XG4gICAgYH07XG4gIH1cblxuICAke2FjdGl2ZSAmJlxuICBgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuZGl2aWRlci5kYXJrfTtcbiAgYH07XG5cbiAgJHtleHBhbmRlZCAmJlxuICBgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICBgfTtcblxuICAke3N1YlJvdyAmJlxuICAhZXhwYW5kZWQgJiZcbiAgYFxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIGB9O1xuYFxuXG5leHBvcnQgY29uc3QgY2hldnJvblN0eWxlcyA9ICh7IGV4cGFuZGVkIH06IENoZXZyb25Qcm9wcykgPT4gY3NzYFxuICBjb2xvcjogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5kYXJrfTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRyYW5zZm9ybTogJHtleHBhbmRlZCAmJiAncm90YXRlKDkwZGVnKSd9O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuYFxuIl19 */",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ };
15
24
  exports.genericTableRowStyles = genericTableRowStyles;
16
25
  const tableRowStyles = ({
17
26
  active,
18
- hoverColor
27
+ expanded,
28
+ hoverColor,
29
+ subRow
19
30
  }) => /*#__PURE__*/(0, _react.css)(_objectSpread({}, genericTableRowStyles), " &:hover{", hoverColor && `
20
31
  background-color: ${_theme.theme.colors.surface.secondary};
21
32
  cursor: ${hoverColor && 'pointer'};
22
33
  `, ";}", active && `
23
34
  background-color: ${_theme.theme.colors.divider.dark};
24
- `, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableRowStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjNEUiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlUm93U3R5bGVzID0gY3NzYFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBoZWlnaHQ6IDQ4cHg7XG5gXG5cbnR5cGUgVGFibGVSb3dQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhblxuICBob3ZlckNvbG9yOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgaG92ZXJDb2xvciB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6ICR7aG92ZXJDb2xvciAmJiAncG9pbnRlcid9O1xuICAgIGB9O1xuICB9XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuYFxuIl19 */");
25
- exports.tableRowStyles = tableRowStyles;
35
+ `, ";", expanded && `
36
+ background-color: ${_theme.theme.colors.surface.secondary};
37
+ `, ";", subRow && !expanded && `
38
+ display: none;
39
+ `, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableRowStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQjhGIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENoZXZyb25Qcm9wcyB9IGZyb20gJy4vVGFibGVSb3cudHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZXMgPSBjc3NgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNGQ0ZTRjMjk7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGhlaWdodDogNDhweDtcbmBcblxudHlwZSBUYWJsZVJvd1Byb3BzID0ge1xuICBhY3RpdmU/OiBib29sZWFuXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGhvdmVyQ29sb3I6IGJvb2xlYW5cbiAgc3ViUm93OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgZXhwYW5kZWQsIGhvdmVyQ29sb3IsIHN1YlJvdyB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6ICR7aG92ZXJDb2xvciAmJiAncG9pbnRlcid9O1xuICAgIGB9O1xuICB9XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuXG4gICR7ZXhwYW5kZWQgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgYH07XG5cbiAgJHtzdWJSb3cgJiZcbiAgIWV4cGFuZGVkICYmXG4gIGBcbiAgICBkaXNwbGF5OiBub25lO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IGNoZXZyb25TdHlsZXMgPSAoeyBleHBhbmRlZCB9OiBDaGV2cm9uUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnByaW1hcnkuZGFya307XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0cmFuc2Zvcm06ICR7ZXhwYW5kZWQgJiYgJ3JvdGF0ZSg5MGRlZyknfTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbmBcbiJdfQ== */");
40
+ exports.tableRowStyles = tableRowStyles;
41
+ const chevronStyles = ({
42
+ expanded
43
+ }) => /*#__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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2Q2dFIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENoZXZyb25Qcm9wcyB9IGZyb20gJy4vVGFibGVSb3cudHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZXMgPSBjc3NgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNGQ0ZTRjMjk7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGhlaWdodDogNDhweDtcbmBcblxudHlwZSBUYWJsZVJvd1Byb3BzID0ge1xuICBhY3RpdmU/OiBib29sZWFuXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGhvdmVyQ29sb3I6IGJvb2xlYW5cbiAgc3ViUm93OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgZXhwYW5kZWQsIGhvdmVyQ29sb3IsIHN1YlJvdyB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6ICR7aG92ZXJDb2xvciAmJiAncG9pbnRlcid9O1xuICAgIGB9O1xuICB9XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuXG4gICR7ZXhwYW5kZWQgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgYH07XG5cbiAgJHtzdWJSb3cgJiZcbiAgIWV4cGFuZGVkICYmXG4gIGBcbiAgICBkaXNwbGF5OiBub25lO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IGNoZXZyb25TdHlsZXMgPSAoeyBleHBhbmRlZCB9OiBDaGV2cm9uUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnByaW1hcnkuZGFya307XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0cmFuc2Zvcm06ICR7ZXhwYW5kZWQgJiYgJ3JvdGF0ZSg5MGRlZyknfTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbmBcbiJdfQ== */");
44
+ exports.chevronStyles = chevronStyles;
@@ -1,10 +1,18 @@
1
1
  import { Header, Row } from '../DynamicTable.types';
2
2
  export declare type TableRowProps = {
3
+ expandable?: boolean;
3
4
  headerRow: Header[];
4
5
  isActive: boolean;
6
+ isExpanded: boolean;
7
+ isSubRow?: boolean;
5
8
  onClickRow?: (id: string) => void;
6
9
  onSelectRow: (id: string) => void;
7
10
  row: Row;
8
11
  selectableRows: boolean;
9
12
  selectedRows: string[];
13
+ setIsExpanded: (expanded: boolean) => void;
14
+ showExpander?: boolean;
15
+ };
16
+ export declare type ChevronProps = {
17
+ expanded: boolean;
10
18
  };
@@ -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,61 @@
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(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
+ const TableRowGroup = /*#__PURE__*/_react.default.memo(({
18
+ activeRow,
19
+ expandable,
20
+ headerRow,
21
+ onClickRow,
22
+ onSelectRow,
23
+ row,
24
+ selectableRows,
25
+ selectedRows
26
+ }) => {
27
+ const _React$useState = _react.default.useState(false),
28
+ _React$useState2 = _slicedToArray(_React$useState, 2),
29
+ isExpanded = _React$useState2[0],
30
+ setIsExpanded = _React$useState2[1];
31
+ const subRows = row.subRows || [];
32
+ const hasSubRows = subRows.length > 0;
33
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_TableRow.default, {
34
+ expandable: expandable,
35
+ headerRow: headerRow,
36
+ isActive: activeRow ? row.id === activeRow : false,
37
+ isExpanded: isExpanded,
38
+ onClickRow: onClickRow,
39
+ onSelectRow: onSelectRow,
40
+ row: row,
41
+ selectableRows: selectableRows,
42
+ selectedRows: selectedRows,
43
+ setIsExpanded: setIsExpanded,
44
+ showExpander: hasSubRows
45
+ }), subRows.map(row => (0, _react2.jsx)(_TableRow.default, {
46
+ expandable: expandable,
47
+ headerRow: headerRow,
48
+ isActive: activeRow ? row.id === activeRow : false,
49
+ isExpanded: isExpanded,
50
+ isSubRow: true,
51
+ key: row.id,
52
+ onClickRow: onClickRow,
53
+ onSelectRow: onSelectRow,
54
+ row: row,
55
+ selectableRows: selectableRows,
56
+ selectedRows: selectedRows,
57
+ setIsExpanded: setIsExpanded
58
+ })));
59
+ });
60
+ var _default = TableRowGroup;
61
+ exports.default = _default;
@@ -0,0 +1,14 @@
1
+ import { Header, Row } from '../DynamicTable.types';
2
+ export declare 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 declare type ChevronProps = {
13
+ expanded: boolean;
14
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -11,22 +11,22 @@ var _TableHead = _interopRequireDefault(require("./Head/TableHead"));
11
11
  var _createSkeletonRows = _interopRequireDefault(require("./Skeleton/helpers/createSkeletonRows"));
12
12
  var _SkeletonTable = require("./Skeleton/SkeletonTable.styles");
13
13
  var _react2 = require("@emotion/react");
14
- const _excluded = ["activeRow", "descending", "height", "headerRow", "isLoading", "onClickRow", "onSelectRow", "onSort", "rows", "selectedRows", "sortingBy", "stickyHeader"];
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
- 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; }
18
- 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); }
19
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
+ const _excluded = ["activeRow", "descending", "expandable", "height", "headerRow", "isLoading", "onClickRow", "onSelectRow", "onSort", "rows", "selectedRows", "sortingBy", "stickyHeader"];
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
20
19
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
22
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
20
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
23
22
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
24
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
26
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
25
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
27
26
  const DynamicTable = _ref => {
28
27
  let activeRow = _ref.activeRow,
29
28
  descending = _ref.descending,
29
+ expandable = _ref.expandable,
30
30
  height = _ref.height,
31
31
  headerRow = _ref.headerRow,
32
32
  isLoading = _ref.isLoading,
@@ -63,6 +63,7 @@ const DynamicTable = _ref => {
63
63
  css: _DynamicTable.tableStyles,
64
64
  "data-cy": !isLoading ? `dynamic-table-isLoaded` : ''
65
65
  }, headerRow && (0, _react2.jsx)(_TableHead.default, {
66
+ expandable: expandable,
66
67
  headerRow: headerRow,
67
68
  onSelectRow: onSelectRow,
68
69
  onSort: onSort,
@@ -76,6 +77,7 @@ const DynamicTable = _ref => {
76
77
  stickyHeader: stickyHeader
77
78
  }), (0, _react2.jsx)(_TableBody.default, {
78
79
  activeRow: activeRow,
80
+ expandable: expandable,
79
81
  headerRow: headerRow,
80
82
  onClickRow: onClickRow,
81
83
  onSelectRow: onSelectRow,
@@ -7,14 +7,21 @@ export declare type Header = {
7
7
  textAlign?: 'center' | 'left' | 'right';
8
8
  width?: string;
9
9
  };
10
+ export declare type SubRow = {
11
+ className?: string;
12
+ id?: string;
13
+ [name: string]: any;
14
+ };
10
15
  export declare type Row = {
11
16
  className?: string;
12
17
  id?: string;
18
+ subRows?: SubRow[];
13
19
  [name: string]: any;
14
20
  };
15
21
  export declare type DynamicTableProps = {
16
22
  activeRow?: string;
17
23
  descending?: boolean;
24
+ expandable?: boolean;
18
25
  headerRow: Header[];
19
26
  height?: string;
20
27
  isLoading?: boolean;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { TableHeadProps } from './TableHead.types';
3
- declare const TableHead: React.MemoExoticComponent<({ headerRow, onSelectRow, onSort, rows, selectableRows, selectedRows, setSortDescending, setSortByKeyValue, sortDescending, sortByKeyValue, stickyHeader, }: TableHeadProps) => JSX.Element>;
3
+ declare const TableHead: React.MemoExoticComponent<({ expandable, headerRow, onSelectRow, onSort, rows, selectableRows, selectedRows, setSortDescending, setSortByKeyValue, sortDescending, sortByKeyValue, stickyHeader, }: TableHeadProps) => JSX.Element>;
4
4
  export default TableHead;
@@ -10,9 +10,9 @@ var _reactComponents = require("@dfds-ui/react-components");
10
10
  var _TableHead = require("./TableHead.styles");
11
11
  var _TableRow = require("../Body/TableRow.styles");
12
12
  var _react2 = require("@emotion/react");
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
- 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
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
14
  const TableHead = /*#__PURE__*/_react.default.memo(({
15
+ expandable,
16
16
  headerRow,
17
17
  onSelectRow,
18
18
  onSort,
@@ -46,7 +46,11 @@ const TableHead = /*#__PURE__*/_react.default.memo(({
46
46
  }, [onSort, setSortDescending, setSortByKeyValue, sortDescending]);
47
47
  return (0, _react2.jsx)("thead", null, (0, _react2.jsx)("tr", {
48
48
  css: _TableRow.genericTableRowStyles
49
- }, selectableRows && (0, _react2.jsx)("th", {
49
+ }, expandable && (0, _react2.jsx)("th", {
50
+ css: (0, _TableHead.tableHeadCellExpanderStyles)({
51
+ stickyHeader
52
+ })
53
+ }), selectableRows && (0, _react2.jsx)("th", {
50
54
  css: (0, _TableHead.tableHeadCellCheckboxStyles)({
51
55
  stickyHeader
52
56
  })
@@ -1,4 +1,5 @@
1
- import { ChevronProps, TableHeadCellCheckboxProps, TableHeadCellProps } from './TableHead.types';
1
+ import { ChevronProps, TableHeadCellCExpanderProps, TableHeadCellCheckboxProps, TableHeadCellProps } from './TableHead.types';
2
2
  export declare const tableHeadCellStyles: ({ align, customWidth, sortable, sortByKey, stickyHeader, }: TableHeadCellProps) => import("@emotion/utils").SerializedStyles;
3
+ export declare const tableHeadCellExpanderStyles: ({ stickyHeader }: TableHeadCellCExpanderProps) => import("@emotion/utils").SerializedStyles;
3
4
  export declare const tableHeadCellCheckboxStyles: ({ stickyHeader }: TableHeadCellCheckboxProps) => import("@emotion/utils").SerializedStyles;
4
5
  export declare const chevronStyles: ({ descending, show }: ChevronProps) => import("@emotion/utils").SerializedStyles;