@dfds-ui/experiences 2.2.0-alpha.6205287b → 2.2.0-alpha.8b81d140

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