@dfds-ui/experiences 2.0.29-alpha.d07b42dd → 2.0.29-alpha.d8ff8a45

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 (43) hide show
  1. package/cjs/dynamic-table/Body/TableBody.d.ts +1 -1
  2. package/cjs/dynamic-table/Body/TableBody.js +5 -3
  3. package/cjs/dynamic-table/Body/TableBody.types.d.ts +1 -0
  4. package/cjs/dynamic-table/Body/TableCell.styles.d.ts +1 -0
  5. package/cjs/dynamic-table/Body/TableCell.styles.js +6 -4
  6. package/cjs/dynamic-table/Body/TableRow.d.ts +1 -1
  7. package/cjs/dynamic-table/Body/TableRow.js +46 -25
  8. package/cjs/dynamic-table/Body/TableRow.styles.d.ts +5 -1
  9. package/cjs/dynamic-table/Body/TableRow.styles.js +24 -5
  10. package/cjs/dynamic-table/Body/TableRow.types.d.ts +7 -0
  11. package/cjs/dynamic-table/Body/TableRowGroup.d.ts +4 -0
  12. package/cjs/dynamic-table/Body/TableRowGroup.js +59 -0
  13. package/cjs/dynamic-table/Body/TableRowGroup.types.d.ts +14 -0
  14. package/cjs/dynamic-table/Body/TableRowGroup.types.js +5 -0
  15. package/cjs/dynamic-table/DynamicTable.js +4 -1
  16. package/cjs/dynamic-table/DynamicTable.types.d.ts +7 -0
  17. package/cjs/dynamic-table/Head/TableHead.d.ts +1 -1
  18. package/cjs/dynamic-table/Head/TableHead.js +2 -1
  19. package/cjs/dynamic-table/Head/TableHead.types.d.ts +1 -0
  20. package/cjs/dynamic-table/stories/tableRowsExpandable.d.ts +3 -0
  21. package/cjs/dynamic-table/stories/tableRowsExpandable.js +73 -0
  22. package/dynamic-table/Body/TableBody.d.ts +1 -1
  23. package/dynamic-table/Body/TableBody.js +5 -3
  24. package/dynamic-table/Body/TableBody.types.d.ts +1 -0
  25. package/dynamic-table/Body/TableCell.styles.d.ts +1 -0
  26. package/dynamic-table/Body/TableCell.styles.js +4 -3
  27. package/dynamic-table/Body/TableRow.d.ts +1 -1
  28. package/dynamic-table/Body/TableRow.js +25 -6
  29. package/dynamic-table/Body/TableRow.styles.d.ts +5 -1
  30. package/dynamic-table/Body/TableRow.styles.js +18 -3
  31. package/dynamic-table/Body/TableRow.types.d.ts +7 -0
  32. package/dynamic-table/Body/TableRowGroup.d.ts +4 -0
  33. package/dynamic-table/Body/TableRowGroup.js +52 -0
  34. package/dynamic-table/Body/TableRowGroup.types.d.ts +14 -0
  35. package/dynamic-table/Body/TableRowGroup.types.js +1 -0
  36. package/dynamic-table/DynamicTable.js +4 -1
  37. package/dynamic-table/DynamicTable.types.d.ts +7 -0
  38. package/dynamic-table/Head/TableHead.d.ts +1 -1
  39. package/dynamic-table/Head/TableHead.js +3 -2
  40. package/dynamic-table/Head/TableHead.types.d.ts +1 -0
  41. package/dynamic-table/stories/tableRowsExpandable.d.ts +3 -0
  42. package/dynamic-table/stories/tableRowsExpandable.js +67 -0
  43. 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,12 +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
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
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); }
12
12
  const TableBody = /*#__PURE__*/_react.default.memo(({
13
13
  activeRow,
14
+ expandable,
14
15
  headerRow,
15
16
  onClickRow,
16
17
  onSelectRow,
@@ -32,9 +33,10 @@ const TableBody = /*#__PURE__*/_react.default.memo(({
32
33
  }
33
34
  }
34
35
  }, [selectableRows, selectedRows]);
35
- 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, index) => (0, _react2.jsx)(_TableRowGroup.default, {
37
+ activeRow: activeRow,
38
+ expandable: expandable,
36
39
  headerRow: headerRow,
37
- isActive: activeRow ? row.id === activeRow : false,
38
40
  key: index,
39
41
  onClickRow: onClickRow,
40
42
  onSelectRow: updateSelectedRows,
@@ -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;
@@ -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: import("@emotion/utils").SerializedStyles;
7
8
  export declare const tableCellCheckboxStyles: import("@emotion/utils").SerializedStyles;
8
9
  export {};
@@ -3,7 +3,7 @@
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; }
@@ -11,12 +11,14 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
11
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/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbFN0eWxlcyA9ICh7IGFsaWduLCBjdXN0b21XaWR0aCB9OiBUYWJsZUNlbGxQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1pbi13aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuICB0ZXh0LWFsaWduOiAke2FsaWduIHx8ICdsZWZ0J307XG4gIHdpZHRoOiAke2N1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxFeHBhbmRlclN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1heC13aWR0aDogNDhweDtcbiAgd2lkdGg6IDQ4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
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+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
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 = /*#__PURE__*/(0, _react.css)(_objectSpread({}, genericTableCellStyles), " cursor:pointer;max-width:48px;width:48px;" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellExpanderStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEIwQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
22
+ exports.tableCellExpanderStyles = tableCellExpanderStyles;
23
+ 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0MwQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
22
24
  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, }: TableRowProps) => JSX.Element>;
4
4
  export default TableRow;
@@ -9,39 +9,60 @@ 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
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,
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
+ }) => {
28
+ var _row$subRows;
29
+ const hasSubRows = (((_row$subRows = row.subRows) === null || _row$subRows === void 0 ? void 0 : _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
+ onClick: () => onClickRow && onClickRow(row.id ? String(row.id) : '')
39
+ }, expandable && (0, _react2.jsx)("td", {
40
+ css: _TableCell2.tableCellExpanderStyles,
41
+ onClick: e => {
42
+ e.stopPropagation();
43
+ setIsExpanded(!isExpanded);
44
+ }
45
+ }, hasSubRows ? (0, _react2.jsx)(_system.ChevronRight, {
46
+ css: (0, _TableRow.chevronStyles)({
47
+ expanded: isExpanded
48
+ })
49
+ }) : null), selectableRows && row.id && (0, _react2.jsx)("td", {
50
+ css: _TableCell2.tableCellCheckboxStyles
51
+ }, (0, _react2.jsx)(_forms.Checkbox, {
52
+ checked: selectedRows.includes(row.id),
53
+ name: row.id,
54
+ onChange: () => {
55
+ if (!row.id) return;
56
+ onSelectRow(row.id);
57
+ },
58
+ onLabelClick: e => {
59
+ e.stopPropagation();
60
+ },
61
+ visualSize: "small"
62
+ })), headerRow.map((headerCell, index) => (0, _react2.jsx)(_TableCell.default, {
63
+ headerCell: headerRow === null || headerRow === void 0 ? void 0 : headerRow[index],
64
+ key: index
65
+ }, row[headerCell.key] || '-')));
66
+ });
46
67
  var _default = TableRow;
47
68
  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,7 +3,7 @@
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; }
@@ -11,15 +11,34 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
11
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,17 @@
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
+ };
15
+ export declare type ChevronProps = {
16
+ expanded: boolean;
10
17
  };
@@ -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,59 @@
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
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_TableRow.default, {
33
+ headerRow: headerRow,
34
+ expandable: expandable,
35
+ isActive: activeRow ? row.id === activeRow : false,
36
+ isExpanded: isExpanded,
37
+ onClickRow: onClickRow,
38
+ onSelectRow: onSelectRow,
39
+ row: row,
40
+ selectableRows: selectableRows,
41
+ selectedRows: selectedRows,
42
+ setIsExpanded: setIsExpanded
43
+ }), subRows.map((row, index) => (0, _react2.jsx)(_TableRow.default, {
44
+ headerRow: headerRow,
45
+ expandable: expandable,
46
+ isActive: activeRow ? row.id === activeRow : false,
47
+ isExpanded: isExpanded,
48
+ isSubRow: true,
49
+ key: index,
50
+ onClickRow: onClickRow,
51
+ onSelectRow: onSelectRow,
52
+ row: row,
53
+ selectableRows: selectableRows,
54
+ selectedRows: selectedRows,
55
+ setIsExpanded: setIsExpanded
56
+ })));
57
+ });
58
+ var _default = TableRowGroup;
59
+ 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,7 +11,7 @@ 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"];
14
+ const _excluded = ["activeRow", "descending", "expandable", "height", "headerRow", "isLoading", "onClickRow", "onSelectRow", "onSort", "rows", "selectedRows", "sortingBy", "stickyHeader"];
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
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
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); }
@@ -26,6 +26,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
26
26
  const DynamicTable = _ref => {
27
27
  let activeRow = _ref.activeRow,
28
28
  descending = _ref.descending,
29
+ expandable = _ref.expandable,
29
30
  height = _ref.height,
30
31
  headerRow = _ref.headerRow,
31
32
  isLoading = _ref.isLoading,
@@ -62,6 +63,7 @@ const DynamicTable = _ref => {
62
63
  css: _DynamicTable.tableStyles,
63
64
  "data-cy": !isLoading ? `dynamic-table-isLoaded` : ''
64
65
  }, headerRow && (0, _react2.jsx)(_TableHead.default, {
66
+ expandable: expandable,
65
67
  headerRow: headerRow,
66
68
  onSelectRow: onSelectRow,
67
69
  onSort: onSort,
@@ -75,6 +77,7 @@ const DynamicTable = _ref => {
75
77
  stickyHeader: stickyHeader
76
78
  }), (0, _react2.jsx)(_TableBody.default, {
77
79
  activeRow: activeRow,
80
+ expandable: expandable,
78
81
  headerRow: headerRow,
79
82
  onClickRow: onClickRow,
80
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;
@@ -12,6 +12,7 @@ var _TableRow = require("../Body/TableRow.styles");
12
12
  var _react2 = require("@emotion/react");
13
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); }
14
14
  const TableHead = /*#__PURE__*/_react.default.memo(({
15
+ expandable,
15
16
  headerRow,
16
17
  onSelectRow,
17
18
  onSort,
@@ -45,7 +46,7 @@ const TableHead = /*#__PURE__*/_react.default.memo(({
45
46
  }, [onSort, setSortDescending, setSortByKeyValue, sortDescending]);
46
47
  return (0, _react2.jsx)("thead", null, (0, _react2.jsx)("tr", {
47
48
  css: _TableRow.genericTableRowStyles
48
- }, selectableRows && (0, _react2.jsx)("th", {
49
+ }, expandable && (0, _react2.jsx)("th", null), selectableRows && (0, _react2.jsx)("th", {
49
50
  css: (0, _TableHead.tableHeadCellCheckboxStyles)({
50
51
  stickyHeader
51
52
  })
@@ -1,5 +1,6 @@
1
1
  import { Header, Row } from '../DynamicTable.types';
2
2
  export declare type TableHeadProps = {
3
+ expandable?: boolean;
3
4
  headerRow: Header[];
4
5
  onSelectRow?: (list: string[]) => void;
5
6
  onSort?: (value: string, sortDescending: boolean) => void;
@@ -0,0 +1,3 @@
1
+ import { Row } from '../DynamicTable.types';
2
+ declare const tableRowsExpandable: Row[];
3
+ export default tableRowsExpandable;
@@ -0,0 +1,73 @@
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 _react2 = require("@emotion/react");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const Currency = () => (0, _react2.jsx)("span", {
11
+ style: {
12
+ fontSize: '10px'
13
+ }
14
+ }, "EUR");
15
+ const tableRowsExpandable = [{
16
+ id: '1001',
17
+ pallets: 10,
18
+ from: 'Copenhagen',
19
+ to: 'Stockholm',
20
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "200"))
21
+ }, {
22
+ id: '1002',
23
+ pallets: 41,
24
+ from: 'Istanbul',
25
+ to: 'London',
26
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "320"))
27
+ }, {
28
+ id: '1003',
29
+ pallets: 9,
30
+ from: 'Delphi',
31
+ to: 'Madrid',
32
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "1574")),
33
+ subRows: [{
34
+ id: '1004',
35
+ pallets: 52,
36
+ from: 'Stockholm',
37
+ to: 'Amsterdam',
38
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "945.50"))
39
+ }, {
40
+ id: '1005',
41
+ pallets: 4,
42
+ from: 'London',
43
+ to: 'Paris',
44
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "850"))
45
+ }]
46
+ }, {
47
+ id: '1006',
48
+ pallets: 33,
49
+ from: 'Madrid',
50
+ to: 'Berlin',
51
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "2000"))
52
+ }, {
53
+ id: '1007',
54
+ pallets: 17,
55
+ from: 'Berlin',
56
+ to: 'Oslo',
57
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "887")),
58
+ subRows: [{
59
+ id: '1008',
60
+ pallets: 14,
61
+ from: 'Oslo',
62
+ to: 'Cairo',
63
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "2400"))
64
+ }]
65
+ }, {
66
+ id: '1009',
67
+ pallets: 23,
68
+ from: 'Paris',
69
+ to: 'Rome',
70
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "1280.30"))
71
+ }];
72
+ var _default = tableRowsExpandable;
73
+ exports.default = _default;
@@ -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,10 +5,11 @@ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Sym
5
5
  function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
6
  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; }
7
7
  import React, { useCallback } from 'react';
8
- import TableRow from './TableRow';
8
+ import TableRowGroup from './TableRowGroup';
9
9
  import { jsx as ___EmotionJSX } from "@emotion/react";
10
10
  var TableBody = /*#__PURE__*/React.memo(function (_ref) {
11
11
  var activeRow = _ref.activeRow,
12
+ expandable = _ref.expandable,
12
13
  headerRow = _ref.headerRow,
13
14
  onClickRow = _ref.onClickRow,
14
15
  onSelectRow = _ref.onSelectRow,
@@ -30,9 +31,10 @@ var TableBody = /*#__PURE__*/React.memo(function (_ref) {
30
31
  }
31
32
  }, [selectableRows, selectedRows]);
32
33
  return ___EmotionJSX("tbody", null, rows.map(function (row, index) {
33
- return ___EmotionJSX(TableRow, {
34
+ return ___EmotionJSX(TableRowGroup, {
35
+ activeRow: activeRow,
36
+ expandable: expandable,
34
37
  headerRow: headerRow,
35
- isActive: activeRow ? row.id === activeRow : false,
36
38
  key: index,
37
39
  onClickRow: onClickRow,
38
40
  onSelectRow: updateSelectedRows,
@@ -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;
@@ -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: import("@emotion/utils").SerializedStyles;
7
8
  export declare const tableCellCheckboxStyles: import("@emotion/utils").SerializedStyles;
8
9
  export {};
@@ -6,10 +6,11 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
6
6
  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); }
7
7
  import { theme } from '@dfds-ui/theme';
8
8
  import { css } from '@emotion/react';
9
- export var genericTableCellStyles = /*#__PURE__*/css("padding:0 ", theme.spacing.xs, ";&:first-of-type{padding-left:", theme.spacing.s, ";}&:last-of-type{padding-right:", theme.spacing.s, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:genericTableCellStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR3lDIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVDZWxsU3R5bGVzID0gY3NzYFxuICBwYWRkaW5nOiAwICR7dGhlbWUuc3BhY2luZy54c307XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7dGhlbWUuc3BhY2luZy5zfTtcbiAgfVxuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cbmBcblxudHlwZSBUYWJsZUNlbGxQcm9wcyA9IHtcbiAgYWxpZ24/OiAnY2VudGVyJyB8ICdsZWZ0JyB8ICdyaWdodCdcbiAgY3VzdG9tV2lkdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbFN0eWxlcyA9ICh7IGFsaWduLCBjdXN0b21XaWR0aCB9OiBUYWJsZUNlbGxQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1pbi13aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuICB0ZXh0LWFsaWduOiAke2FsaWduIHx8ICdsZWZ0J307XG4gIHdpZHRoOiAke2N1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
9
+ export var genericTableCellStyles = /*#__PURE__*/css("padding:0 ", theme.spacing.xs, ";&:first-of-type{padding-left:", theme.spacing.s, ";}&:last-of-type{padding-right:", theme.spacing.s, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:genericTableCellStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR3lDIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVDZWxsU3R5bGVzID0gY3NzYFxuICBwYWRkaW5nOiAwICR7dGhlbWUuc3BhY2luZy54c307XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7dGhlbWUuc3BhY2luZy5zfTtcbiAgfVxuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cbmBcblxudHlwZSBUYWJsZUNlbGxQcm9wcyA9IHtcbiAgYWxpZ24/OiAnY2VudGVyJyB8ICdsZWZ0JyB8ICdyaWdodCdcbiAgY3VzdG9tV2lkdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbFN0eWxlcyA9ICh7IGFsaWduLCBjdXN0b21XaWR0aCB9OiBUYWJsZUNlbGxQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1pbi13aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuICB0ZXh0LWFsaWduOiAke2FsaWduIHx8ICdsZWZ0J307XG4gIHdpZHRoOiAke2N1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxFeHBhbmRlclN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1heC13aWR0aDogNDhweDtcbiAgd2lkdGg6IDQ4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
10
10
  export var tableCellStyles = function tableCellStyles(_ref) {
11
11
  var align = _ref.align,
12
12
  customWidth = _ref.customWidth;
13
- return /*#__PURE__*/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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0I4RSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
13
+ return /*#__PURE__*/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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0I4RSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
14
14
  };
15
- export var tableCellCheckboxStyles = /*#__PURE__*/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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEIwQyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
15
+ export var tableCellExpanderStyles = /*#__PURE__*/css(_objectSpread({}, genericTableCellStyles), " cursor:pointer;max-width:48px;width:48px;" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellExpanderStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEIwQyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
16
+ export var tableCellCheckboxStyles = /*#__PURE__*/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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0MwQyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsQ2hlY2tib3hTdHlsZXMgPSBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
@@ -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, }: TableRowProps) => JSX.Element>;
4
4
  export default TableRow;
@@ -1,27 +1,46 @@
1
1
  import React from 'react';
2
2
  import { Checkbox } from '@dfds-ui/forms';
3
3
  import TableCell from './TableCell';
4
- import { tableCellCheckboxStyles } from './TableCell.styles';
5
- import { tableRowStyles } from './TableRow.styles';
4
+ import { tableCellCheckboxStyles, tableCellExpanderStyles } from './TableCell.styles';
5
+ import { chevronStyles, tableRowStyles } from './TableRow.styles';
6
+ import { ChevronRight } from '@dfds-ui/icons/system';
6
7
  import { jsx as ___EmotionJSX } from "@emotion/react";
7
8
  var TableRow = /*#__PURE__*/React.memo(function (_ref) {
8
- var headerRow = _ref.headerRow,
9
+ var _row$subRows;
10
+ var expandable = _ref.expandable,
11
+ headerRow = _ref.headerRow,
9
12
  isActive = _ref.isActive,
13
+ isExpanded = _ref.isExpanded,
14
+ isSubRow = _ref.isSubRow,
10
15
  onClickRow = _ref.onClickRow,
11
16
  onSelectRow = _ref.onSelectRow,
12
17
  row = _ref.row,
13
18
  selectableRows = _ref.selectableRows,
14
- selectedRows = _ref.selectedRows;
19
+ selectedRows = _ref.selectedRows,
20
+ setIsExpanded = _ref.setIsExpanded;
21
+ var hasSubRows = (((_row$subRows = row.subRows) === null || _row$subRows === void 0 ? void 0 : _row$subRows.length) || 0) > 0;
15
22
  return ___EmotionJSX("tr", {
16
23
  css: tableRowStyles({
17
24
  active: isActive,
18
- hoverColor: !!onClickRow
25
+ expanded: isExpanded,
26
+ hoverColor: !!onClickRow,
27
+ subRow: !!isSubRow
19
28
  }),
20
29
  className: row.className,
21
30
  onClick: function onClick() {
22
31
  return onClickRow && onClickRow(row.id ? String(row.id) : '');
23
32
  }
24
- }, selectableRows && row.id && ___EmotionJSX("td", {
33
+ }, expandable && ___EmotionJSX("td", {
34
+ css: tableCellExpanderStyles,
35
+ onClick: function onClick(e) {
36
+ e.stopPropagation();
37
+ setIsExpanded(!isExpanded);
38
+ }
39
+ }, hasSubRows ? ___EmotionJSX(ChevronRight, {
40
+ css: chevronStyles({
41
+ expanded: isExpanded
42
+ })
43
+ }) : null), selectableRows && row.id && ___EmotionJSX("td", {
25
44
  css: tableCellCheckboxStyles
26
45
  }, ___EmotionJSX(Checkbox, {
27
46
  checked: selectedRows.includes(row.id),
@@ -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 {};
@@ -4,11 +4,26 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  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; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
6
  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); }
7
+ 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)."; }
7
8
  import { theme } from '@dfds-ui/theme';
8
9
  import { css } from '@emotion/react';
9
- export var genericTableRowStyles = /*#__PURE__*/css("border-bottom:1px solid ", 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHd0MiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlUm93U3R5bGVzID0gY3NzYFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBoZWlnaHQ6IDQ4cHg7XG5gXG5cbnR5cGUgVGFibGVSb3dQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhblxuICBob3ZlckNvbG9yOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgaG92ZXJDb2xvciB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6ICR7aG92ZXJDb2xvciAmJiAncG9pbnRlcid9O1xuICAgIGB9O1xuICB9XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuYFxuIl19 */");
10
+ export var genericTableRowStyles = process.env.NODE_ENV === "production" ? {
11
+ name: "674hgm",
12
+ styles: "border-bottom:1px solid #4d4e4c29;border-collapse:collapse;height:48px"
13
+ } : {
14
+ name: "1sc9lfj-genericTableRowStyles",
15
+ styles: "border-bottom:1px solid #4d4e4c29;border-collapse:collapse;height:48px;label:genericTableRowStyles;",
16
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJd0MiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgQ2hldnJvblByb3BzIH0gZnJvbSAnLi9UYWJsZVJvdy50eXBlcydcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNUYWJsZVJvd1N0eWxlcyA9IGNzc2BcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0ZDRlNGMyOTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgaGVpZ2h0OiA0OHB4O1xuYFxuXG50eXBlIFRhYmxlUm93UHJvcHMgPSB7XG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgaG92ZXJDb2xvcjogYm9vbGVhblxuICBzdWJSb3c6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHRhYmxlUm93U3R5bGVzID0gKHsgYWN0aXZlLCBleHBhbmRlZCwgaG92ZXJDb2xvciwgc3ViUm93IH06IFRhYmxlUm93UHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZVJvd1N0eWxlcyB9fVxuXG4gICY6aG92ZXIge1xuICAgICR7aG92ZXJDb2xvciAmJlxuICAgIGBcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgICAgIGN1cnNvcjogJHtob3ZlckNvbG9yICYmICdwb2ludGVyJ307XG4gICAgYH07XG4gIH1cblxuICAke2FjdGl2ZSAmJlxuICBgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuZGl2aWRlci5kYXJrfTtcbiAgYH07XG5cbiAgJHtleHBhbmRlZCAmJlxuICBgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICBgfTtcblxuICAke3N1YlJvdyAmJlxuICAhZXhwYW5kZWQgJiZcbiAgYFxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIGB9O1xuYFxuXG5leHBvcnQgY29uc3QgY2hldnJvblN0eWxlcyA9ICh7IGV4cGFuZGVkIH06IENoZXZyb25Qcm9wcykgPT4gY3NzYFxuICBjb2xvcjogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5kYXJrfTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRyYW5zZm9ybTogJHtleHBhbmRlZCAmJiAncm90YXRlKDkwZGVnKSd9O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuYFxuIl19 */",
17
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
18
+ };
10
19
  export var tableRowStyles = function tableRowStyles(_ref) {
11
20
  var active = _ref.active,
12
- hoverColor = _ref.hoverColor;
13
- return /*#__PURE__*/css(_objectSpread({}, genericTableRowStyles), " &:hover{", hoverColor && "\n background-color: ".concat(theme.colors.surface.secondary, ";\n cursor: ").concat(hoverColor && 'pointer', ";\n "), ";}", active && "\n background-color: ".concat(theme.colors.divider.dark, ";\n "), ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableRowStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjNEUiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlUm93U3R5bGVzID0gY3NzYFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBoZWlnaHQ6IDQ4cHg7XG5gXG5cbnR5cGUgVGFibGVSb3dQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhblxuICBob3ZlckNvbG9yOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgaG92ZXJDb2xvciB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6ICR7aG92ZXJDb2xvciAmJiAncG9pbnRlcid9O1xuICAgIGB9O1xuICB9XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuYFxuIl19 */");
21
+ expanded = _ref.expanded,
22
+ hoverColor = _ref.hoverColor,
23
+ subRow = _ref.subRow;
24
+ return /*#__PURE__*/css(_objectSpread({}, genericTableRowStyles), " &:hover{", hoverColor && "\n background-color: ".concat(theme.colors.surface.secondary, ";\n cursor: ").concat(hoverColor && 'pointer', ";\n "), ";}", active && "\n background-color: ".concat(theme.colors.divider.dark, ";\n "), ";", expanded && "\n background-color: ".concat(theme.colors.surface.secondary, ";\n "), ";", subRow && !expanded && "\n display: none;\n ", ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableRowStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQjhGIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENoZXZyb25Qcm9wcyB9IGZyb20gJy4vVGFibGVSb3cudHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZXMgPSBjc3NgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNGQ0ZTRjMjk7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGhlaWdodDogNDhweDtcbmBcblxudHlwZSBUYWJsZVJvd1Byb3BzID0ge1xuICBhY3RpdmU/OiBib29sZWFuXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGhvdmVyQ29sb3I6IGJvb2xlYW5cbiAgc3ViUm93OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgZXhwYW5kZWQsIGhvdmVyQ29sb3IsIHN1YlJvdyB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6ICR7aG92ZXJDb2xvciAmJiAncG9pbnRlcid9O1xuICAgIGB9O1xuICB9XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuXG4gICR7ZXhwYW5kZWQgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgYH07XG5cbiAgJHtzdWJSb3cgJiZcbiAgIWV4cGFuZGVkICYmXG4gIGBcbiAgICBkaXNwbGF5OiBub25lO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IGNoZXZyb25TdHlsZXMgPSAoeyBleHBhbmRlZCB9OiBDaGV2cm9uUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnByaW1hcnkuZGFya307XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0cmFuc2Zvcm06ICR7ZXhwYW5kZWQgJiYgJ3JvdGF0ZSg5MGRlZyknfTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbmBcbiJdfQ== */");
25
+ };
26
+ export var chevronStyles = function chevronStyles(_ref2) {
27
+ var expanded = _ref2.expanded;
28
+ return /*#__PURE__*/css("color:", 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2Q2dFIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENoZXZyb25Qcm9wcyB9IGZyb20gJy4vVGFibGVSb3cudHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZXMgPSBjc3NgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNGQ0ZTRjMjk7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGhlaWdodDogNDhweDtcbmBcblxudHlwZSBUYWJsZVJvd1Byb3BzID0ge1xuICBhY3RpdmU/OiBib29sZWFuXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGhvdmVyQ29sb3I6IGJvb2xlYW5cbiAgc3ViUm93OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgZXhwYW5kZWQsIGhvdmVyQ29sb3IsIHN1YlJvdyB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6ICR7aG92ZXJDb2xvciAmJiAncG9pbnRlcid9O1xuICAgIGB9O1xuICB9XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuXG4gICR7ZXhwYW5kZWQgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgYH07XG5cbiAgJHtzdWJSb3cgJiZcbiAgIWV4cGFuZGVkICYmXG4gIGBcbiAgICBkaXNwbGF5OiBub25lO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IGNoZXZyb25TdHlsZXMgPSAoeyBleHBhbmRlZCB9OiBDaGV2cm9uUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnByaW1hcnkuZGFya307XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0cmFuc2Zvcm06ICR7ZXhwYW5kZWQgJiYgJ3JvdGF0ZSg5MGRlZyknfTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbmBcbiJdfQ== */");
14
29
  };
@@ -1,10 +1,17 @@
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
+ };
15
+ export declare type ChevronProps = {
16
+ expanded: boolean;
10
17
  };
@@ -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
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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; } }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ import React from 'react';
8
+ import TableRow from './TableRow';
9
+ import { jsx as ___EmotionJSX } from "@emotion/react";
10
+ var TableRowGroup = /*#__PURE__*/React.memo(function (_ref) {
11
+ var activeRow = _ref.activeRow,
12
+ expandable = _ref.expandable,
13
+ headerRow = _ref.headerRow,
14
+ onClickRow = _ref.onClickRow,
15
+ onSelectRow = _ref.onSelectRow,
16
+ row = _ref.row,
17
+ selectableRows = _ref.selectableRows,
18
+ selectedRows = _ref.selectedRows;
19
+ var _React$useState = React.useState(false),
20
+ _React$useState2 = _slicedToArray(_React$useState, 2),
21
+ isExpanded = _React$useState2[0],
22
+ setIsExpanded = _React$useState2[1];
23
+ var subRows = row.subRows || [];
24
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(TableRow, {
25
+ headerRow: headerRow,
26
+ expandable: expandable,
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
+ }), subRows.map(function (row, index) {
36
+ return ___EmotionJSX(TableRow, {
37
+ headerRow: headerRow,
38
+ expandable: expandable,
39
+ isActive: activeRow ? row.id === activeRow : false,
40
+ isExpanded: isExpanded,
41
+ isSubRow: true,
42
+ key: index,
43
+ onClickRow: onClickRow,
44
+ onSelectRow: onSelectRow,
45
+ row: row,
46
+ selectableRows: selectableRows,
47
+ selectedRows: selectedRows,
48
+ setIsExpanded: setIsExpanded
49
+ });
50
+ }));
51
+ });
52
+ export default TableRowGroup;
@@ -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 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- var _excluded = ["activeRow", "descending", "height", "headerRow", "isLoading", "onClickRow", "onSelectRow", "onSort", "rows", "selectedRows", "sortingBy", "stickyHeader"];
1
+ var _excluded = ["activeRow", "descending", "expandable", "height", "headerRow", "isLoading", "onClickRow", "onSelectRow", "onSort", "rows", "selectedRows", "sortingBy", "stickyHeader"];
2
2
  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); }
3
3
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
4
4
  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."); }
@@ -18,6 +18,7 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
18
18
  var DynamicTable = function DynamicTable(_ref) {
19
19
  var activeRow = _ref.activeRow,
20
20
  descending = _ref.descending,
21
+ expandable = _ref.expandable,
21
22
  height = _ref.height,
22
23
  headerRow = _ref.headerRow,
23
24
  isLoading = _ref.isLoading,
@@ -56,6 +57,7 @@ var DynamicTable = function DynamicTable(_ref) {
56
57
  css: tableStyles,
57
58
  "data-cy": !isLoading ? "dynamic-table-isLoaded" : ''
58
59
  }, headerRow && ___EmotionJSX(TableHead, {
60
+ expandable: expandable,
59
61
  headerRow: headerRow,
60
62
  onSelectRow: onSelectRow,
61
63
  onSort: onSort,
@@ -69,6 +71,7 @@ var DynamicTable = function DynamicTable(_ref) {
69
71
  stickyHeader: stickyHeader
70
72
  }), ___EmotionJSX(TableBody, {
71
73
  activeRow: activeRow,
74
+ expandable: expandable,
72
75
  headerRow: headerRow,
73
76
  onClickRow: onClickRow,
74
77
  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;
@@ -5,7 +5,8 @@ import { chevronStyles, tableHeadCellCheckboxStyles, tableHeadCellStyles } from
5
5
  import { genericTableRowStyles } from '../Body/TableRow.styles';
6
6
  import { jsx as ___EmotionJSX } from "@emotion/react";
7
7
  var TableHead = /*#__PURE__*/React.memo(function (_ref) {
8
- var headerRow = _ref.headerRow,
8
+ var expandable = _ref.expandable,
9
+ headerRow = _ref.headerRow,
9
10
  onSelectRow = _ref.onSelectRow,
10
11
  onSort = _ref.onSort,
11
12
  rows = _ref.rows,
@@ -37,7 +38,7 @@ var TableHead = /*#__PURE__*/React.memo(function (_ref) {
37
38
  }, [onSort, setSortDescending, setSortByKeyValue, sortDescending]);
38
39
  return ___EmotionJSX("thead", null, ___EmotionJSX("tr", {
39
40
  css: genericTableRowStyles
40
- }, selectableRows && ___EmotionJSX("th", {
41
+ }, expandable && ___EmotionJSX("th", null), selectableRows && ___EmotionJSX("th", {
41
42
  css: tableHeadCellCheckboxStyles({
42
43
  stickyHeader: stickyHeader
43
44
  })
@@ -1,5 +1,6 @@
1
1
  import { Header, Row } from '../DynamicTable.types';
2
2
  export declare type TableHeadProps = {
3
+ expandable?: boolean;
3
4
  headerRow: Header[];
4
5
  onSelectRow?: (list: string[]) => void;
5
6
  onSort?: (value: string, sortDescending: boolean) => void;
@@ -0,0 +1,3 @@
1
+ import { Row } from '../DynamicTable.types';
2
+ declare const tableRowsExpandable: Row[];
3
+ export default tableRowsExpandable;
@@ -0,0 +1,67 @@
1
+ import React from 'react';
2
+ import { jsx as ___EmotionJSX } from "@emotion/react";
3
+ var Currency = function Currency() {
4
+ return ___EmotionJSX("span", {
5
+ style: {
6
+ fontSize: '10px'
7
+ }
8
+ }, "EUR");
9
+ };
10
+ var tableRowsExpandable = [{
11
+ id: '1001',
12
+ pallets: 10,
13
+ from: 'Copenhagen',
14
+ to: 'Stockholm',
15
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "200"))
16
+ }, {
17
+ id: '1002',
18
+ pallets: 41,
19
+ from: 'Istanbul',
20
+ to: 'London',
21
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "320"))
22
+ }, {
23
+ id: '1003',
24
+ pallets: 9,
25
+ from: 'Delphi',
26
+ to: 'Madrid',
27
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "1574")),
28
+ subRows: [{
29
+ id: '1004',
30
+ pallets: 52,
31
+ from: 'Stockholm',
32
+ to: 'Amsterdam',
33
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "945.50"))
34
+ }, {
35
+ id: '1005',
36
+ pallets: 4,
37
+ from: 'London',
38
+ to: 'Paris',
39
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "850"))
40
+ }]
41
+ }, {
42
+ id: '1006',
43
+ pallets: 33,
44
+ from: 'Madrid',
45
+ to: 'Berlin',
46
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "2000"))
47
+ }, {
48
+ id: '1007',
49
+ pallets: 17,
50
+ from: 'Berlin',
51
+ to: 'Oslo',
52
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "887")),
53
+ subRows: [{
54
+ id: '1008',
55
+ pallets: 14,
56
+ from: 'Oslo',
57
+ to: 'Cairo',
58
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "2400"))
59
+ }]
60
+ }, {
61
+ id: '1009',
62
+ pallets: 23,
63
+ from: 'Paris',
64
+ to: 'Rome',
65
+ price: ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Currency, null), " ", ___EmotionJSX("strong", null, "1280.30"))
66
+ }];
67
+ export default tableRowsExpandable;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "React components for building experiences",
4
4
  "license": "MIT",
5
5
  "private": false,
6
- "version": "2.0.29-alpha.d07b42dd",
6
+ "version": "2.0.29-alpha.d8ff8a45",
7
7
  "sideEffects": false,
8
8
  "main": "./cjs/index.js",
9
9
  "module": "./index.js",
@@ -16,16 +16,16 @@
16
16
  "react-dom": ">= 17.0.2"
17
17
  },
18
18
  "dependencies": {
19
- "@dfds-ui/colors": "2.0.29-alpha.d07b42dd",
20
- "@dfds-ui/forms": "2.0.29-alpha.d07b42dd",
21
- "@dfds-ui/grid": "2.0.29-alpha.d07b42dd",
22
- "@dfds-ui/icons": "2.0.29-alpha.d07b42dd",
23
- "@dfds-ui/modal": "2.0.29-alpha.d07b42dd",
24
- "@dfds-ui/react-components": "2.0.29-alpha.d07b42dd",
25
- "@dfds-ui/theme": "2.0.29-alpha.d07b42dd",
26
- "@dfds-ui/typography": "2.0.29-alpha.d07b42dd"
19
+ "@dfds-ui/colors": "2.0.29-alpha.d8ff8a45",
20
+ "@dfds-ui/forms": "2.0.29-alpha.d8ff8a45",
21
+ "@dfds-ui/grid": "2.0.29-alpha.d8ff8a45",
22
+ "@dfds-ui/icons": "2.0.29-alpha.d8ff8a45",
23
+ "@dfds-ui/modal": "2.0.29-alpha.d8ff8a45",
24
+ "@dfds-ui/react-components": "2.0.29-alpha.d8ff8a45",
25
+ "@dfds-ui/theme": "2.0.29-alpha.d8ff8a45",
26
+ "@dfds-ui/typography": "2.0.29-alpha.d8ff8a45"
27
27
  },
28
- "gitHead": "d07b42dd93fd1c33776a0a5afce418b48b54213d",
28
+ "gitHead": "d8ff8a45b9cee86c722974b50fbc84e777a8b49e",
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  }