@laerdal/life-react-components 1.3.2-dev.9 → 1.4.0

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 (102) hide show
  1. package/dist/esm/Accordion/ContentAccordion.js +102 -81
  2. package/dist/esm/Accordion/ContentAccordion.js.map +1 -1
  3. package/dist/esm/Accordion/__tests__/ContetnAccordion.test.js +27 -27
  4. package/dist/esm/Accordion/__tests__/ContetnAccordion.test.js.map +1 -1
  5. package/dist/esm/Button/Iconbutton.js +0 -1
  6. package/dist/esm/Button/Iconbutton.js.map +1 -1
  7. package/dist/esm/Dropdown/DropdownButton.js +5 -2
  8. package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
  9. package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
  10. package/dist/esm/HyperLink/HyperLink.js +2 -1
  11. package/dist/esm/HyperLink/HyperLink.js.map +1 -1
  12. package/dist/esm/InputFields/Checkbox.js +23 -13
  13. package/dist/esm/InputFields/Checkbox.js.map +1 -1
  14. package/dist/esm/Modals/ModalDialog.js +7 -4
  15. package/dist/esm/Modals/ModalDialog.js.map +1 -1
  16. package/dist/esm/Modals/ModalNote.js +1 -1
  17. package/dist/esm/Modals/ModalNote.js.map +1 -1
  18. package/dist/esm/Table/Table.js +131 -181
  19. package/dist/esm/Table/Table.js.map +1 -1
  20. package/dist/esm/Table/TableBody.js +135 -0
  21. package/dist/esm/Table/TableBody.js.map +1 -0
  22. package/dist/esm/Table/TableFooter.js +68 -0
  23. package/dist/esm/Table/TableFooter.js.map +1 -0
  24. package/dist/esm/Table/TableHeaders.js +55 -0
  25. package/dist/esm/Table/TableHeaders.js.map +1 -0
  26. package/dist/esm/Table/TableStyles.js +181 -110
  27. package/dist/esm/Table/TableStyles.js.map +1 -1
  28. package/dist/esm/Table/__tests__/Table.test.js +162 -21
  29. package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
  30. package/dist/js/Accordion/ContentAccordion.d.ts +0 -9
  31. package/dist/js/Accordion/ContentAccordion.js +21 -42
  32. package/dist/js/Accordion/ContentAccordion.js.map +1 -1
  33. package/dist/js/Accordion/__tests__/ContetnAccordion.test.js +27 -33
  34. package/dist/js/Accordion/__tests__/ContetnAccordion.test.js.map +1 -1
  35. package/dist/js/Button/Iconbutton.d.ts +2 -2
  36. package/dist/js/Button/Iconbutton.js +0 -1
  37. package/dist/js/Button/Iconbutton.js.map +1 -1
  38. package/dist/js/Dropdown/DropdownButton.d.ts +1 -1
  39. package/dist/js/Dropdown/DropdownButton.js +5 -2
  40. package/dist/js/Dropdown/DropdownButton.js.map +1 -1
  41. package/dist/js/Dropdown/DropdownButtonTypes.d.ts +1 -0
  42. package/dist/js/Dropdown/DropdownFilter.d.ts +1 -1
  43. package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
  44. package/dist/js/HyperLink/HyperLink.d.ts +1 -1
  45. package/dist/js/HyperLink/HyperLink.js +2 -2
  46. package/dist/js/HyperLink/HyperLink.js.map +1 -1
  47. package/dist/js/InputFields/Checkbox.d.ts +3 -2
  48. package/dist/js/InputFields/Checkbox.js +13 -11
  49. package/dist/js/InputFields/Checkbox.js.map +1 -1
  50. package/dist/js/Modals/ModalDialog.d.ts +2 -1
  51. package/dist/js/Modals/ModalDialog.js +7 -4
  52. package/dist/js/Modals/ModalDialog.js.map +1 -1
  53. package/dist/js/Modals/ModalNote.d.ts +1 -1
  54. package/dist/js/Modals/ModalNote.js +1 -1
  55. package/dist/js/Modals/ModalNote.js.map +1 -1
  56. package/dist/js/Table/Table.js +166 -209
  57. package/dist/js/Table/Table.js.map +1 -1
  58. package/dist/js/Table/TableBody.d.ts +9 -0
  59. package/dist/js/Table/TableBody.js +167 -0
  60. package/dist/js/Table/TableBody.js.map +1 -0
  61. package/dist/js/Table/TableFooter.d.ts +15 -0
  62. package/dist/js/Table/TableFooter.js +95 -0
  63. package/dist/js/Table/TableFooter.js.map +1 -0
  64. package/dist/js/Table/TableHeaders.d.ts +9 -0
  65. package/dist/js/Table/TableHeaders.js +77 -0
  66. package/dist/js/Table/TableHeaders.js.map +1 -0
  67. package/dist/js/Table/TableStyles.d.ts +19 -7
  68. package/dist/js/Table/TableStyles.js +66 -16
  69. package/dist/js/Table/TableStyles.js.map +1 -1
  70. package/dist/js/Table/TableTypes.d.ts +26 -16
  71. package/dist/js/Table/__tests__/Table.test.js +172 -30
  72. package/dist/js/Table/__tests__/Table.test.js.map +1 -1
  73. package/dist/umd/Accordion/ContentAccordion.js +103 -82
  74. package/dist/umd/Accordion/ContentAccordion.js.map +1 -1
  75. package/dist/umd/Accordion/__tests__/ContetnAccordion.test.js +26 -26
  76. package/dist/umd/Accordion/__tests__/ContetnAccordion.test.js.map +1 -1
  77. package/dist/umd/Button/Iconbutton.js +0 -1
  78. package/dist/umd/Button/Iconbutton.js.map +1 -1
  79. package/dist/umd/Dropdown/DropdownButton.js +5 -2
  80. package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
  81. package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
  82. package/dist/umd/HyperLink/HyperLink.js +2 -1
  83. package/dist/umd/HyperLink/HyperLink.js.map +1 -1
  84. package/dist/umd/InputFields/Checkbox.js +23 -13
  85. package/dist/umd/InputFields/Checkbox.js.map +1 -1
  86. package/dist/umd/Modals/ModalDialog.js +7 -4
  87. package/dist/umd/Modals/ModalDialog.js.map +1 -1
  88. package/dist/umd/Modals/ModalNote.js +1 -1
  89. package/dist/umd/Modals/ModalNote.js.map +1 -1
  90. package/dist/umd/Table/Table.js +157 -188
  91. package/dist/umd/Table/Table.js.map +1 -1
  92. package/dist/umd/Table/TableBody.js +270 -0
  93. package/dist/umd/Table/TableBody.js.map +1 -0
  94. package/dist/umd/Table/TableFooter.js +89 -0
  95. package/dist/umd/Table/TableFooter.js.map +1 -0
  96. package/dist/umd/Table/TableHeaders.js +91 -0
  97. package/dist/umd/Table/TableHeaders.js.map +1 -0
  98. package/dist/umd/Table/TableStyles.js +185 -115
  99. package/dist/umd/Table/TableStyles.js.map +1 -1
  100. package/dist/umd/Table/__tests__/Table.test.js +164 -25
  101. package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
  102. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TableFooterCol = exports.TableDataCol = exports.TableDataRow = exports.TableColumnHeaderCol = exports.TableHeaderRowCol = exports.TableContainer = exports.TableLoadingIndicator = exports.TableWrapper = void 0;
6
+ exports.StyledTableFooterCollapseButton = exports.StyledTableSpinner = exports.StyledTableFooterControls = exports.StyledTableFooterCurrentInfo = exports.StyledTableFooterContent = exports.StyledTableFooter = exports.StyledTableCellText = exports.StyledTableCellIcon = exports.StyledTableCellContent = exports.StyledTableCell = exports.StyledTableBody = exports.StyledTableBodyRow = exports.StyledTableHeaderColumn = exports.StyledTableHeaderColumnContent = exports.StyledTableHeaderColumns = exports.StyledTableHeaderTitleContent = exports.StyledTableHeaderTitle = exports.StyledTableHeader = exports.StyledTable = exports.TableWrapper = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
 
@@ -11,7 +11,9 @@ var _styles = require("../styles");
11
11
 
12
12
  var _typography = require("../styles/typography");
13
13
 
14
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
14
+ var _zIndexes = require("../styles/z-indexes");
15
+
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;
15
17
 
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
@@ -24,31 +26,79 @@ var TableWrapper = _styledComponents.default.div(_templateObject || (_templateOb
24
26
 
25
27
  exports.TableWrapper = TableWrapper;
26
28
 
27
- var TableLoadingIndicator = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(0, 0, 0, 0.5);\n top: 0;\n"])));
29
+ var StyledTable = _styledComponents.default.table(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: transparent;\n width: 100%;\n table-layout: fixed;\n"])));
30
+
31
+ exports.StyledTable = StyledTable;
32
+
33
+ var StyledTableHeader = _styledComponents.default.thead(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n"])));
34
+
35
+ exports.StyledTableHeader = StyledTableHeader;
36
+
37
+ var StyledTableHeaderTitle = _styledComponents.default.tr(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n"])));
38
+
39
+ exports.StyledTableHeaderTitle = StyledTableHeaderTitle;
40
+
41
+ var StyledTableHeaderTitleContent = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n box-sizing: border-box;\n min-height: 56px;\n border-bottom: 1px solid ", ";\n border-top: 2px solid ", ";\n padding: 0 16px;\n\n ", "\n .title-menu {\n margin-right: -16px;\n }\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_200, (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.black));
42
+
43
+ exports.StyledTableHeaderTitleContent = StyledTableHeaderTitleContent;
44
+
45
+ var StyledTableHeaderColumns = _styledComponents.default.tr(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n"])));
46
+
47
+ exports.StyledTableHeaderColumns = StyledTableHeaderColumns;
48
+
49
+ var StyledTableHeaderColumnContent = _styledComponents.default.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n box-sizing: border-box;\n min-height: 56px;\n padding: 0 16px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-top: 1px solid ", ";\n border-bottom: 1px solid ", ";\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_200);
50
+
51
+ exports.StyledTableHeaderColumnContent = StyledTableHeaderColumnContent;
52
+
53
+ var StyledTableHeaderColumn = _styledComponents.default.th(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n ", "\n position: relative;\n\n background-color: ", ";\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n &:active {\n background-color: ", ";\n color: ", ";\n box-shadow: none !important;\n z-index: ", ";\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 4px 12px ", ", 0 0 8px ", ";\n z-index: ", ";\n }\n }\n\n &.sortable ", " > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ", " > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ", ";\n }\n\n"])), (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.COLORS.white, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _zIndexes.Z_INDEXES.active, _styles.COLORS.focus_25, _styles.COLORS.focus, _zIndexes.Z_INDEXES.focus, StyledTableHeaderColumnContent, StyledTableHeaderColumnContent, _styles.COLORS.neutral_20);
54
+
55
+ exports.StyledTableHeaderColumn = StyledTableHeaderColumn;
56
+
57
+ var StyledTableBodyRow = _styledComponents.default.tr(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n cursor: pointer;\n position: relative;\n outline: none;\n\n &:hover {\n background-color: ", ";\n z-index: ", ";\n }\n\n &:focus {\n background-color: ", ";\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2E7FA1;\n z-index: ", ";\n outline: none;\n }\n\n &:active {\n box-shadow: none;\n z-index: ", ";\n }\n\n"])), _styles.COLORS.primary_200, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_200, _zIndexes.Z_INDEXES.focus, _zIndexes.Z_INDEXES.active);
58
+
59
+ exports.StyledTableBodyRow = StyledTableBodyRow;
60
+
61
+ var StyledTableBody = _styledComponents.default.tbody(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n ", ":nth-child(odd):not(:hover):not(:focus):not(:active) {\n background-color: ", ";\n }\n\n ", ":nth-child(even):not(:hover):not(:focus):not(:active) {\n background-color: ", ";\n }\n"])), StyledTableBodyRow, _styles.COLORS.neutral_100, StyledTableBodyRow, _styles.COLORS.neutral_20);
62
+
63
+ exports.StyledTableBody = StyledTableBody;
64
+
65
+ var StyledTableCell = _styledComponents.default.td(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([""])));
66
+
67
+ exports.StyledTableCell = StyledTableCell;
68
+
69
+ var StyledTableCellContent = _styledComponents.default.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n min-height: 48px;\n\n padding: 0 16px;\n ", "\n\n display: flex;\n align-items: center;\n justify-content: left;\n gap: 8px;\n\n &.truncate-text,\n &.truncate-text span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &.left {\n justify-content: left;\n }\n\n &.right {\n justify-content: right;\n }\n\n &.center {\n justify-content: center;\n }\n\n a:first-letter,\n span:first-letter {\n text-transform: uppercase;\n }\n"])), (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black));
70
+
71
+ exports.StyledTableCellContent = StyledTableCellContent;
72
+
73
+ var StyledTableCellIcon = _styledComponents.default.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n color: ", ";\n width: 24px;\n height: 24px;\n\n svg {\n color: ", ";\n width: 24px;\n height: 24px;\n }\n"])), _styles.COLORS.neutral_700, _styles.COLORS.neutral_700);
74
+
75
+ exports.StyledTableCellIcon = StyledTableCellIcon;
76
+
77
+ var StyledTableCellText = _styledComponents.default.span(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n padding: 12px 0;\n"])));
28
78
 
29
- exports.TableLoadingIndicator = TableLoadingIndicator;
79
+ exports.StyledTableCellText = StyledTableCellText;
30
80
 
31
- var TableContainer = _styledComponents.default.table(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background: transparent;\n width: 100%;\n border-top: 2px solid ", ";\n border-bottom: 2px solid ", ";\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_200);
81
+ var StyledTableFooter = _styledComponents.default.tfoot(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n"])));
32
82
 
33
- exports.TableContainer = TableContainer;
83
+ exports.StyledTableFooter = StyledTableFooter;
34
84
 
35
- var TableHeaderRowCol = _styledComponents.default.th(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n\n ", "\n padding: 16px 19px 16px 16px;\n\n div {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n svg {\n cursor: pointer;\n }\n }\n"])), _styles.COLORS.neutral_20, _styles.COLORS.neutral_200, (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600));
85
+ var StyledTableFooterContent = _styledComponents.default.div(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n border-top: 2px solid ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n min-height: 56px;\n\n display: flex;\n align-items: center;\n justify-content: right;\n\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_200);
36
86
 
37
- exports.TableHeaderRowCol = TableHeaderRowCol;
87
+ exports.StyledTableFooterContent = StyledTableFooterContent;
38
88
 
39
- var TableColumnHeaderCol = _styledComponents.default.th(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background-color: ", ";\n border-top: 1px solid ", ";\n\n ", "\n padding: 18px 16px;\n text-align: left;\n\n &.justify-center {\n text-align: center;\n }\n\n &.justify-left {\n text-align: left;\n }\n\n &.justify-right {\n text-align: right;\n }\n\n &.no-border {\n border: none;\n }\n\n &.sortable {\n cursor: pointer;\n\n > svg {\n float: right;\n }\n\n &:hover {\n background: ", ";\n }\n\n &:focus {\n background: ", ";\n }\n }\n"])), _styles.COLORS.white, _styles.COLORS.neutral_300, (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.COLORS.primary_20, _styles.COLORS.primary_100);
89
+ var StyledTableFooterCurrentInfo = _styledComponents.default.span(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n padding: 0 16px;\n ", "\n"])), (0, _typography.ComponentXSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black));
40
90
 
41
- exports.TableColumnHeaderCol = TableColumnHeaderCol;
91
+ exports.StyledTableFooterCurrentInfo = StyledTableFooterCurrentInfo;
42
92
 
43
- var TableDataRow = _styledComponents.default.tr(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n background-color: ", ";\n\n &:nth-child(2n) {\n background-color: ", ";\n }\n\n &:hover {\n cursor: pointer;\n background-color: ", ";\n }\n\n &.no-rows:hover {\n cursor: default;\n background-color: ", ";\n }\n"])), _styles.COLORS.neutral_100, _styles.COLORS.neutral_20, _styles.COLORS.primary_200, _styles.COLORS.neutral_100);
93
+ var StyledTableFooterControls = _styledComponents.default.div(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n display: flex;\n"])));
44
94
 
45
- exports.TableDataRow = TableDataRow;
95
+ exports.StyledTableFooterControls = StyledTableFooterControls;
46
96
 
47
- var TableDataCol = _styledComponents.default.td(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n background: transparent;\n\n ", "\n padding: 15px 16px;\n border: none;\n\n &.truncate-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &.justify-center {\n text-align: center;\n }\n\n &.justify-left {\n text-align: left;\n }\n\n &.justify-right {\n text-align: right;\n }\n\n button {\n color: ", ";\n text-decoration: none;\n\n &:hover {\n color: ", ";\n text-decoration: underline;\n }\n\n &:focus {\n text-decoration: underline;\n outline: none;\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n color: ", ";\n }\n }\n\n &.center {\n text-align: center;\n }\n"])), (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black), _styles.COLORS.primary_600, _styles.COLORS.primary_700, _styles.COLORS.focus_25, _styles.COLORS.focus, _styles.COLORS.primary_700);
97
+ var StyledTableSpinner = _styledComponents.default.div(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(0, 0, 0, 0.5);\n top: 0;\n"])));
48
98
 
49
- exports.TableDataCol = TableDataCol;
99
+ exports.StyledTableSpinner = StyledTableSpinner;
50
100
 
51
- var TableFooterCol = _styledComponents.default.td(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n border-top: 1px solid ", ";\n padding: 3.5px 20px 3.5px 16px;\n\n > div {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n\n > div > div:first-of-type {\n ", "\n display: block;\n padding-top: 11px;\n padding-left: 2px;\n padding-right: 30px;\n }\n\n span {\n ", "\n\n &.current-page-info {\n margin-right: 34px;\n margin-left: 39px;\n }\n }\n\n .controls {\n display: flex;\n justify-content: space-between;\n }\n }\n"])), _styles.COLORS.neutral_200, (0, _typography.ComponentXSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black), (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black));
101
+ var StyledTableFooterCollapseButton = _styledComponents.default.button(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n position: relative;\n border-bottom: 1px solid ", ";\n border-top: 1px solid ", ";\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ", ";\n\n cursor: pointer;\n\n ", "\n &:focus {\n outline: none;\n z-index: ", ";\n color: ", ";\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2E7FA1;\n }\n\n &:hover {\n z-index: ", ";\n background: ", ";\n color: ", ";\n }\n\n &:active {\n box-shadow: none;\n z-index: ", ";\n background: ", ";\n color: ", ";\n }\n\n &:disabled {\n display: none;\n }\n\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_200, _styles.COLORS.white, (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_800), _zIndexes.Z_INDEXES.focus, _styles.COLORS.neutral_600, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _zIndexes.Z_INDEXES.active, _styles.COLORS.primary_100, _styles.COLORS.primary_800);
52
102
 
53
- exports.TableFooterCol = TableFooterCol;
103
+ exports.StyledTableFooterCollapseButton = StyledTableFooterCollapseButton;
54
104
  //# sourceMappingURL=TableStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Table/TableStyles.ts"],"names":["TableWrapper","styled","div","TableLoadingIndicator","TableContainer","table","COLORS","neutral_200","TableHeaderRowCol","th","neutral_20","ComponentTextStyle","Bold","neutral_600","TableColumnHeaderCol","white","neutral_300","primary_20","primary_100","TableDataRow","tr","neutral_100","primary_200","TableDataCol","td","Regular","black","primary_600","primary_700","focus_25","focus","TableFooterCol"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;;;;;;;AAEA;AACA;AACA;AAEO,IAAMA,YAAY,GAAGC,0BAAOC,GAAV,8FAAlB;;;;AAIA,IAAMC,qBAAqB,GAAGF,0BAAOC,GAAV,qLAA3B;;;;AAQA,IAAME,cAAc,GAAGH,0BAAOI,KAAV,uLAGDC,eAAOC,WAHN,EAIED,eAAOC,WAJT,CAApB;;;;AAOA,IAAMC,iBAAiB,GAAGP,0BAAOQ,EAAV,iUACRH,eAAOI,UADC,EAEDJ,eAAOC,WAFN,EAI1B,mCAAkBI,+BAAmBC,IAArC,EAA2CN,eAAOO,WAAlD,CAJ0B,CAAvB;;;;AAkBA,IAAMC,oBAAoB,GAAGb,0BAAOQ,EAAV,2jBACXH,eAAOS,KADI,EAEPT,eAAOU,WAFA,EAI7B,mCAAkBL,+BAAmBC,IAArC,EAA2CN,eAAOO,WAAlD,CAJ6B,EAgCbP,eAAOW,UAhCM,EAoCbX,eAAOY,WApCM,CAA1B;;;;AAyCA,IAAMC,YAAY,GAAGlB,0BAAOmB,EAAV,oTACHd,eAAOe,WADJ,EAIDf,eAAOI,UAJN,EASDJ,eAAOgB,WATN,EAcDhB,eAAOe,WAdN,CAAlB;;;;AAkBA,IAAME,YAAY,GAAGtB,0BAAOuB,EAAV,qwBAGrB,mCAAkBb,+BAAmBc,OAArC,EAA8CnB,eAAOoB,KAArD,CAHqB,EA0BZpB,eAAOqB,WA1BK,EA8BVrB,eAAOsB,WA9BG,EAqCQtB,eAAOuB,QArCf,EAqCwCvB,eAAOwB,KArC/C,EAsCVxB,eAAOsB,WAtCG,CAAlB;;;;AA+CA,IAAMG,cAAc,GAAG9B,0BAAOuB,EAAV,kmBACDlB,eAAOC,WADN,EAUnB,oCAAmBI,+BAAmBc,OAAtC,EAA+CnB,eAAOoB,KAAtD,CAVmB,EAkBnB,mCAAkBf,+BAAmBc,OAArC,EAA8CnB,eAAOoB,KAArD,CAlBmB,CAApB","sourcesContent":["/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom style properties.\n */\nimport { COLORS } from '../styles';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle, ComponentXSStyling } from '../styles/typography';\n\n/**\n * Table styles\n */\n\nexport const TableWrapper = styled.div`\n position: relative;\n`;\n\nexport const TableLoadingIndicator = styled.div`\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(0, 0, 0, 0.5);\n top: 0;\n`;\n\nexport const TableContainer = styled.table`\n background: transparent;\n width: 100%;\n border-top: 2px solid ${COLORS.neutral_200};\n border-bottom: 2px solid ${COLORS.neutral_200};\n`;\n\nexport const TableHeaderRowCol = styled.th`\n background-color: ${COLORS.neutral_20};\n border-bottom: 1px solid ${COLORS.neutral_200};\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n padding: 16px 19px 16px 16px;\n\n div {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n svg {\n cursor: pointer;\n }\n }\n`;\n\nexport const TableColumnHeaderCol = styled.th`\n background-color: ${COLORS.white};\n border-top: 1px solid ${COLORS.neutral_300};\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n padding: 18px 16px;\n text-align: left;\n\n &.justify-center {\n text-align: center;\n }\n\n &.justify-left {\n text-align: left;\n }\n\n &.justify-right {\n text-align: right;\n }\n\n &.no-border {\n border: none;\n }\n\n &.sortable {\n cursor: pointer;\n\n > svg {\n float: right;\n }\n\n &:hover {\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n background: ${COLORS.primary_100};\n }\n }\n`;\n\nexport const TableDataRow = styled.tr`\n background-color: ${COLORS.neutral_100};\n\n &:nth-child(2n) {\n background-color: ${COLORS.neutral_20};\n }\n\n &:hover {\n cursor: pointer;\n background-color: ${COLORS.primary_200};\n }\n\n &.no-rows:hover {\n cursor: default;\n background-color: ${COLORS.neutral_100};\n }\n`;\n\nexport const TableDataCol = styled.td`\n background: transparent;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n padding: 15px 16px;\n border: none;\n\n &.truncate-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &.justify-center {\n text-align: center;\n }\n\n &.justify-left {\n text-align: left;\n }\n\n &.justify-right {\n text-align: right;\n }\n\n button {\n color: ${COLORS.primary_600};\n text-decoration: none;\n\n &:hover {\n color: ${COLORS.primary_700};\n text-decoration: underline;\n }\n\n &:focus {\n text-decoration: underline;\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n color: ${COLORS.primary_700};\n }\n }\n\n &.center {\n text-align: center;\n }\n`;\n\nexport const TableFooterCol = styled.td`\n border-top: 1px solid ${COLORS.neutral_200};\n padding: 3.5px 20px 3.5px 16px;\n\n > div {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n\n > div > div:first-of-type {\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n display: block;\n padding-top: 11px;\n padding-left: 2px;\n padding-right: 30px;\n }\n\n span {\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n &.current-page-info {\n margin-right: 34px;\n margin-left: 39px;\n }\n }\n\n .controls {\n display: flex;\n justify-content: space-between;\n }\n }\n`;\n"],"file":"TableStyles.js"}
1
+ {"version":3,"sources":["../../../src/Table/TableStyles.ts"],"names":["TableWrapper","styled","div","StyledTable","table","StyledTableHeader","thead","StyledTableHeaderTitle","tr","StyledTableHeaderTitleContent","COLORS","neutral_200","ComponentTextStyle","Bold","black","StyledTableHeaderColumns","StyledTableHeaderColumnContent","StyledTableHeaderColumn","th","neutral_600","white","primary_20","primary_700","Z_INDEXES","hover","primary_100","primary_800","active","focus_25","focus","neutral_20","StyledTableBodyRow","primary_200","StyledTableBody","tbody","neutral_100","StyledTableCell","td","StyledTableCellContent","Regular","StyledTableCellIcon","neutral_700","StyledTableCellText","span","StyledTableFooter","tfoot","StyledTableFooterContent","StyledTableFooterCurrentInfo","StyledTableFooterControls","StyledTableSpinner","StyledTableFooterCollapseButton","button","neutral_800"],"mappings":"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","sourcesContent":["/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom style properties.\n */\nimport {COLORS} from '../styles';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling\n} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\n/**\n * Table styles\n */\n\nexport const TableWrapper = styled.div`\n position: relative;\n`;\n\n\nexport const StyledTable = styled.table`\n background: transparent;\n width: 100%;\n table-layout: fixed;\n`;\n\nexport const StyledTableHeader = styled.thead`\n`;\n\nexport const StyledTableHeaderTitle = styled.tr`\n`;\n\nexport const StyledTableHeaderTitleContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n box-sizing: border-box;\n min-height: 56px;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 2px solid ${COLORS.neutral_200};\n padding: 0 16px;\n\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.black)}\n .title-menu {\n margin-right: -16px;\n }\n`;\n\nexport const StyledTableHeaderColumns = styled.tr`\n`;\n\nexport const StyledTableHeaderColumnContent = styled.div`\n box-sizing: border-box;\n min-height: 56px;\n padding: 0 16px;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-top: 1px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n`;\n\nexport const StyledTableHeaderColumn = styled.th`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n position: relative;\n\n background-color: ${COLORS.white};\n\n //fixes header heights no idea why\n height: 1px;\n\n &.sortable {\n cursor: pointer;\n\n &:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:active {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: none !important;\n z-index: ${Z_INDEXES.active};\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 4px 12px ${COLORS.focus_25}, 0 0 8px ${COLORS.focus};\n z-index: ${Z_INDEXES.focus};\n }\n }\n\n &.sortable ${StyledTableHeaderColumnContent} > svg {\n opacity: 0;\n }\n\n &.sortable.sorted ${StyledTableHeaderColumnContent} > svg {\n opacity: 1;\n }\n\n &.sorted {\n background-color: ${COLORS.neutral_20};\n }\n\n`;\n\nexport const StyledTableBodyRow = styled.tr`\n cursor: pointer;\n position: relative;\n outline: none;\n\n &:hover {\n background-color: ${COLORS.primary_200};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n background-color: ${COLORS.primary_200};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2E7FA1;\n z-index: ${Z_INDEXES.focus};\n outline: none;\n }\n\n &:active {\n box-shadow: none;\n z-index: ${Z_INDEXES.active};\n }\n\n`;\n\nexport const StyledTableBody = styled.tbody`\n ${StyledTableBodyRow}:nth-child(odd):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_100};\n }\n\n ${StyledTableBodyRow}:nth-child(even):not(:hover):not(:focus):not(:active) {\n background-color: ${COLORS.neutral_20};\n }\n`;\n\n\nexport const StyledTableCell = styled.td``;\n\nexport const StyledTableCellContent = styled.div`\n min-height: 48px;\n\n padding: 0 16px;\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n display: flex;\n align-items: center;\n justify-content: left;\n gap: 8px;\n\n &.truncate-text,\n &.truncate-text span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &.left {\n justify-content: left;\n }\n\n &.right {\n justify-content: right;\n }\n\n &.center {\n justify-content: center;\n }\n\n a:first-letter,\n span:first-letter {\n text-transform: uppercase;\n }\n`;\n\nexport const StyledTableCellIcon = styled.div`\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n\n svg {\n color: ${COLORS.neutral_700};\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const StyledTableCellText = styled.span`\n padding: 12px 0;\n`;\n\n\nexport const StyledTableFooter = styled.tfoot`\n`;\n\nexport const StyledTableFooterContent = styled.div`\n border-top: 2px solid ${COLORS.neutral_200};\n border-bottom: 1px solid ${COLORS.neutral_200};\n box-sizing: border-box;\n min-height: 56px;\n\n display: flex;\n align-items: center;\n justify-content: right;\n\n`;\n\nexport const StyledTableFooterCurrentInfo = styled.span`\n padding: 0 16px;\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n`;\n\nexport const StyledTableFooterControls = styled.div`\n display: flex;\n`;\n\nexport const StyledTableSpinner = styled.div`\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(0, 0, 0, 0.5);\n top: 0;\n`;\n\nexport const StyledTableFooterCollapseButton = styled.button`\n position: relative;\n border-bottom: 1px solid ${COLORS.neutral_200};\n border-top: 1px solid ${COLORS.neutral_200};\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ${COLORS.white};\n\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_800)}\n &:focus {\n outline: none;\n z-index: ${Z_INDEXES.focus};\n color: ${COLORS.neutral_600};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2E7FA1;\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:active {\n box-shadow: none;\n z-index: ${Z_INDEXES.active};\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &:disabled {\n display: none;\n }\n\n`;\n"],"file":"TableStyles.js"}
@@ -1,38 +1,49 @@
1
1
  /**
2
2
  * Types for the table.
3
3
  */
4
+ import { DropdownButtonProps } from '../Dropdown/DropdownButtonTypes';
5
+ import { ButtonProps } from '../Button/Button';
6
+ import { IconButtonProps } from '../Button/Iconbutton';
7
+ import { HyperlinkProps } from '../HyperLink/HyperLink';
4
8
  export interface TableProps {
5
- rowClick?: (row: any) => void;
6
- linkClick?: (row: any, key: string) => void;
7
- iconClick?: (row: any, key: string) => void;
8
9
  title?: string;
9
10
  columns: TableColumn[];
10
11
  rows: any[];
11
- remotePagination?: boolean;
12
+ accordion?: boolean;
13
+ collapsed?: boolean;
14
+ collapsedRows?: number;
15
+ remoteOperations?: boolean;
12
16
  pagination?: TablePagination;
13
- previousPageClick?: () => void;
14
- nextPageClick?: () => void;
15
- rowsPerPageChange?: (count: number) => void;
16
- triggerSortingChange?: (key: string, direction: TableSortingDirection) => void;
17
+ onPreviousPageClick?: () => void;
18
+ onNextPageClick?: () => void;
19
+ onRowsPerPageChange?: (count: number) => void;
20
+ onTriggerSortingChange?: (key: string, direction: TableSortingDirection) => void;
17
21
  showLoadingIndicator?: boolean;
22
+ menu?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width' | 'itemsType' | 'multiSelect'>;
23
+ selectable?: boolean;
24
+ onSelectionChange?: (value: any | any[]) => void;
25
+ multiSelect?: boolean;
26
+ keyExpr?: string;
27
+ selectedRows?: any[];
18
28
  }
19
29
  export interface TableColumn {
30
+ key: string;
20
31
  name: string;
21
32
  filterValue?: string;
22
- key: string;
33
+ icon?: React.ReactNode;
34
+ width?: string | number;
23
35
  colorFn?: (row: any, key: string) => string;
24
- isIcon?: boolean;
25
- icon?: ColumnIcons;
26
- isLink?: boolean;
27
- width?: number;
36
+ justify?: TableJustification;
28
37
  shortenText?: boolean;
38
+ action?: (row: any, event: any) => void;
39
+ type?: TableColumnTypes;
40
+ additionalProps?: Pick<ButtonProps, 'variant' | 'size' | 'width' | 'icon'> | Pick<IconButtonProps, 'variant' | 'shape' | 'disabled'> | Pick<HyperlinkProps, 'variant'>;
29
41
  customContent?: (row: any, key: string) => any;
30
42
  sortable?: boolean;
31
- justify?: TableJustification;
32
43
  sortingDirection?: TableSortingDirection;
33
44
  }
45
+ export declare type TableColumnTypes = 'text' | 'boolean' | 'number' | 'custom' | 'button' | 'icon' | 'link';
34
46
  export declare type TableJustification = 'right' | 'left' | 'center';
35
- declare type ColumnIcons = 'Add' | 'ArrowDropDown' | 'ArrowDropUp' | 'ArrowLineDown' | 'ArrowLineLeft' | 'ArrowLineRight' | 'ArrowLineUp' | 'ArrowStopLeft' | 'ArrowStopRight' | 'Attachment' | 'Attention' | 'BackwardsFiveSec' | 'Book' | 'BookmarkOff' | 'BookmarkOn' | 'Bullet' | 'Calendar' | 'CheckboxOff' | 'CheckboxOn' | 'CheckboxSemi' | 'CheckComplete' | 'ChevronDown' | 'ChevronLeft' | 'ChevronRight' | 'ChevronUp' | 'Clear' | 'Close' | 'ClosedCaptionOff' | 'ClosedCaptionOn' | 'CloudAttention' | 'CloudCheck' | 'CloudDownload' | 'CloudLocked' | 'CloudNoConnection' | 'CloudSyncing' | 'CloudUpload' | 'Cloud' | 'Dashboard' | 'Delete' | 'Download' | 'DragHandle' | 'DragIndicator' | 'Edit' | 'Educator' | 'Equals' | 'EventLog' | 'ExtendTextArea' | 'Filter' | 'Forward' | 'ForwardSlash' | 'ForwardFiveSec' | 'FullscreenExit' | 'Fullscreen' | 'GearSettings' | 'GridView' | 'Group' | 'GuidedTour' | 'Help' | 'Hierarchy' | 'History' | 'Home' | 'Information' | 'Institute' | 'Language' | 'ListView' | 'LoadingMedium' | 'LoadingSmall' | 'LockedOff' | 'LockedOn' | 'Login' | 'Logout' | 'Loop' | 'Mail' | 'Manikin' | 'MapPoint' | 'Menu' | 'Minus' | 'MoreHorizontal' | 'MoreVertical' | 'NotificationNew' | 'Notification' | 'OpenFolder' | 'OpenNewWindow' | 'Pause' | 'PlayOutline' | 'Play' | 'Plus' | 'PointDown' | 'PointLeft' | 'PointRight' | 'PointUp' | 'RadioButtonOff' | 'RadioButtonOn' | 'Record' | 'Refresh' | 'Replay' | 'Rewind' | 'Save' | 'Search' | 'Share' | 'ShoppingCart' | 'StarFilled' | 'StarOutlined' | 'Stop' | 'Support' | 'Team' | 'ThumbsDown' | 'ThumbsUp' | 'TimeLimited' | 'Time' | 'Tip' | 'Upload' | 'Usb' | 'User' | 'Video' | 'VisibleOff' | 'VisibleOn' | 'VolumeDown' | 'VolumeOff' | 'VolumeUp';
36
47
  export declare type TableSortingDirection = 'asc' | 'desc';
37
48
  export interface TablePagination {
38
49
  from: number;
@@ -41,4 +52,3 @@ export interface TablePagination {
41
52
  currentPage: number;
42
53
  rowsPerPage: number;
43
54
  }
44
- export {};
@@ -8,6 +8,10 @@ var _index = require("../index");
8
8
 
9
9
  require("jest-styled-components");
10
10
 
11
+ var _TableStyles = require("../TableStyles");
12
+
13
+ var _testUtils = require("react-dom/test-utils");
14
+
11
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
16
 
13
17
  /**
@@ -226,28 +230,6 @@ describe('<Table />', function () {
226
230
  expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);
227
231
  expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);
228
232
  });
229
- it('Should render columns with no-border class in the column header row, in case title is not passed', function () {
230
- var columns = [{
231
- key: 'column1',
232
- name: 'Column 1'
233
- }, {
234
- key: 'column2',
235
- name: 'Column 2'
236
- }];
237
- var rows = [{
238
- column1: 'Test content',
239
- column2: 'Test content 2'
240
- }];
241
-
242
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
243
- rows: rows,
244
- columns: columns
245
- })),
246
- getByTestId = _render10.getByTestId;
247
-
248
- expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(true);
249
- expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(true);
250
- });
251
233
  });
252
234
  describe('Table Body Row tests', function () {
253
235
  it('Should not render "No Data" row in case there are rows', function () {
@@ -263,11 +245,11 @@ describe('<Table />', function () {
263
245
  column2: 'Test content 2'
264
246
  }];
265
247
 
266
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
248
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
267
249
  rows: rows,
268
250
  columns: columns
269
251
  })),
270
- queryByTestId = _render11.queryByTestId;
252
+ queryByTestId = _render10.queryByTestId;
271
253
 
272
254
  expect(queryByTestId('TestTableNoDataRow')).toBeNull();
273
255
  });
@@ -283,11 +265,11 @@ describe('<Table />', function () {
283
265
  }];
284
266
  var rows = [];
285
267
 
286
- var _render12 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
268
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
287
269
  rows: rows,
288
270
  columns: columns
289
271
  })),
290
- queryByTestId = _render12.queryByTestId;
272
+ queryByTestId = _render11.queryByTestId;
291
273
 
292
274
  expect(queryByTestId('TestTableNoDataRow')).not.toBeNull();
293
275
  expect((_queryByTestId2 = queryByTestId('TestTableNoDataRow')) === null || _queryByTestId2 === void 0 ? void 0 : _queryByTestId2.textContent).toEqual('There are no rows to display');
@@ -305,11 +287,11 @@ describe('<Table />', function () {
305
287
  column2: 'Test content 2'
306
288
  }];
307
289
 
308
- var _render13 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
290
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
309
291
  rows: rows,
310
292
  columns: columns
311
293
  })),
312
- getByTestId = _render13.getByTestId;
294
+ getByTestId = _render12.getByTestId;
313
295
 
314
296
  expect(getByTestId('TestTableDataRow')).toBeDefined();
315
297
  expect(getByTestId('TestTableDataRow').children.length).toEqual(2);
@@ -330,13 +312,173 @@ describe('<Table />', function () {
330
312
  column2: 'Test content 2'
331
313
  }];
332
314
 
333
- var _render14 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
315
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
334
316
  rows: rows,
335
317
  columns: columns
336
318
  })),
337
- getByTestId = _render14.getByTestId;
319
+ getByTestId = _render13.getByTestId;
338
320
 
339
321
  expect(getByTestId('TestTableFooterRow')).toBeDefined();
340
322
  });
323
+ describe('Table Accordion tests', function () {
324
+ it('Should render collapse button when configured as accordion', function () {
325
+ var columns = [{
326
+ key: 'column1',
327
+ name: 'Column 1'
328
+ }, {
329
+ key: 'column2',
330
+ name: 'Column 2'
331
+ }];
332
+ var rows = [{
333
+ column1: 'Test content',
334
+ column2: 'Test content 2'
335
+ }, {
336
+ column1: 'Test content',
337
+ column2: 'Test content 2'
338
+ }, {
339
+ column1: 'Test content',
340
+ column2: 'Test content 2'
341
+ }, {
342
+ column1: 'Test content',
343
+ column2: 'Test content 2'
344
+ }];
345
+ var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
346
+ rows: rows,
347
+ columns: columns,
348
+ accordion: true,
349
+ collapsedRows: 3
350
+ }));
351
+ expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableFooterCollapseButton))).toHaveLength(1);
352
+ });
353
+ it('Should not render all items when collapsed', function () {
354
+ var columns = [{
355
+ key: 'column1',
356
+ name: 'Column 1'
357
+ }, {
358
+ key: 'column2',
359
+ name: 'Column 2'
360
+ }];
361
+ var rows = [{
362
+ column1: 'Test content',
363
+ column2: 'Test content 2'
364
+ }, {
365
+ column1: 'Test content',
366
+ column2: 'Test content 2'
367
+ }, {
368
+ column1: 'Test content',
369
+ column2: 'Test content 2'
370
+ }, {
371
+ column1: 'Test content',
372
+ column2: 'Test content 2'
373
+ }];
374
+ var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
375
+ rows: rows,
376
+ columns: columns,
377
+ accordion: true,
378
+ collapsedRows: 3
379
+ }));
380
+ expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(3);
381
+ });
382
+ it('Should render all items when not collapsed', function () {
383
+ var columns = [{
384
+ key: 'column1',
385
+ name: 'Column 1'
386
+ }, {
387
+ key: 'column2',
388
+ name: 'Column 2'
389
+ }];
390
+ var rows = [{
391
+ column1: 'Test content',
392
+ column2: 'Test content 2'
393
+ }, {
394
+ column1: 'Test content',
395
+ column2: 'Test content 2'
396
+ }, {
397
+ column1: 'Test content',
398
+ column2: 'Test content 2'
399
+ }, {
400
+ column1: 'Test content',
401
+ column2: 'Test content 2'
402
+ }];
403
+ var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
404
+ rows: rows,
405
+ columns: columns,
406
+ accordion: true,
407
+ collapsedRows: 3,
408
+ collapsed: false
409
+ }));
410
+ expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(4);
411
+ });
412
+ it('Should expand when show more button is clicked', function () {
413
+ var columns = [{
414
+ key: 'column1',
415
+ name: 'Column 1'
416
+ }, {
417
+ key: 'column2',
418
+ name: 'Column 2'
419
+ }];
420
+ var rows = [{
421
+ column1: 'Test content',
422
+ column2: 'Test content 2'
423
+ }, {
424
+ column1: 'Test content',
425
+ column2: 'Test content 2'
426
+ }, {
427
+ column1: 'Test content',
428
+ column2: 'Test content 2'
429
+ }, {
430
+ column1: 'Test content',
431
+ column2: 'Test content 2'
432
+ }];
433
+ var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
434
+ rows: rows,
435
+ columns: columns,
436
+ accordion: true,
437
+ collapsedRows: 3,
438
+ collapsed: true
439
+ }));
440
+ expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(3);
441
+ (0, _testUtils.act)(function () {
442
+ var button = wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableFooterCollapseButton))[0];
443
+ button.click();
444
+ });
445
+ expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(4);
446
+ });
447
+ it('Should collapse when show less button is clicked', function () {
448
+ var columns = [{
449
+ key: 'column1',
450
+ name: 'Column 1'
451
+ }, {
452
+ key: 'column2',
453
+ name: 'Column 2'
454
+ }];
455
+ var rows = [{
456
+ column1: 'Test content',
457
+ column2: 'Test content 2'
458
+ }, {
459
+ column1: 'Test content',
460
+ column2: 'Test content 2'
461
+ }, {
462
+ column1: 'Test content',
463
+ column2: 'Test content 2'
464
+ }, {
465
+ column1: 'Test content',
466
+ column2: 'Test content 2'
467
+ }];
468
+ var wrapper = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.Table, {
469
+ rows: rows,
470
+ columns: columns,
471
+ accordion: true,
472
+ collapsedRows: 3,
473
+ collapsed: false
474
+ }));
475
+ expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(4);
476
+ (0, _testUtils.act)(function () {
477
+ var button = wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableFooterCollapseButton))[0];
478
+ button.click();
479
+ });
480
+ expect(wrapper.container.querySelectorAll("".concat(_TableStyles.StyledTableBodyRow))).toHaveLength(3);
481
+ });
482
+ });
341
483
  });
342
484
  //# sourceMappingURL=Table.test.js.map