@laerdal/life-react-components 1.3.1 → 1.3.2-dev.12

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 (157) hide show
  1. package/dist/esm/Accordion/ContentAccordion.js +238 -0
  2. package/dist/esm/Accordion/ContentAccordion.js.map +1 -0
  3. package/dist/esm/Accordion/__tests__/ContetnAccordion.test.js +137 -0
  4. package/dist/esm/Accordion/__tests__/ContetnAccordion.test.js.map +1 -0
  5. package/dist/esm/Accordion/index.js +1 -0
  6. package/dist/esm/Accordion/index.js.map +1 -1
  7. package/dist/esm/AuthPage/AuthPage.js +1 -1
  8. package/dist/esm/AuthPage/AuthPage.js.map +1 -1
  9. package/dist/esm/AuthPage/Information.js +1 -1
  10. package/dist/esm/AuthPage/Information.js.map +1 -1
  11. package/dist/esm/Banners/Banner.js +16 -16
  12. package/dist/esm/Banners/Banner.js.map +1 -1
  13. package/dist/esm/Button/Button.js +8 -53
  14. package/dist/esm/Button/Button.js.map +1 -1
  15. package/dist/esm/Button/DualFunctionButton.js +4 -0
  16. package/dist/esm/Button/DualFunctionButton.js.map +1 -1
  17. package/dist/esm/Button/Iconbutton.js +0 -1
  18. package/dist/esm/Button/Iconbutton.js.map +1 -1
  19. package/dist/esm/Dropdown/CommonStyling.js +4 -0
  20. package/dist/esm/Dropdown/CommonStyling.js.map +1 -1
  21. package/dist/esm/Dropdown/DropdownButton.js +5 -2
  22. package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
  23. package/dist/esm/Dropdown/DropdownContent.js +6 -6
  24. package/dist/esm/Dropdown/DropdownContent.js.map +1 -1
  25. package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
  26. package/dist/esm/HyperLink/HyperLink.js +2 -1
  27. package/dist/esm/HyperLink/HyperLink.js.map +1 -1
  28. package/dist/esm/InputFields/Checkbox.js +23 -13
  29. package/dist/esm/InputFields/Checkbox.js.map +1 -1
  30. package/dist/esm/Modals/__tests__/Modal.test.js +154 -0
  31. package/dist/esm/Modals/__tests__/Modal.test.js.map +1 -0
  32. package/dist/esm/Table/Table.js +113 -181
  33. package/dist/esm/Table/Table.js.map +1 -1
  34. package/dist/esm/Table/TableBody.js +135 -0
  35. package/dist/esm/Table/TableBody.js.map +1 -0
  36. package/dist/esm/Table/TableFooter.js +60 -0
  37. package/dist/esm/Table/TableFooter.js.map +1 -0
  38. package/dist/esm/Table/TableHeaders.js +55 -0
  39. package/dist/esm/Table/TableHeaders.js.map +1 -0
  40. package/dist/esm/Table/TableStyles.js +130 -117
  41. package/dist/esm/Table/TableStyles.js.map +1 -1
  42. package/dist/esm/Table/__tests__/Table.test.js +0 -21
  43. package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
  44. package/dist/esm/Tabs/TabLink.js +1 -0
  45. package/dist/esm/Tabs/TabLink.js.map +1 -1
  46. package/dist/esm/styles/typography.js +66 -66
  47. package/dist/esm/styles/typography.js.map +1 -1
  48. package/dist/js/Accordion/ContentAccordion.d.ts +18 -0
  49. package/dist/js/Accordion/ContentAccordion.js +151 -0
  50. package/dist/js/Accordion/ContentAccordion.js.map +1 -0
  51. package/dist/js/Accordion/__tests__/ContetnAccordion.test.js +151 -0
  52. package/dist/js/Accordion/__tests__/ContetnAccordion.test.js.map +1 -0
  53. package/dist/js/Accordion/index.d.ts +1 -0
  54. package/dist/js/Accordion/index.js +8 -0
  55. package/dist/js/Accordion/index.js.map +1 -1
  56. package/dist/js/AuthPage/AuthPage.js +1 -1
  57. package/dist/js/AuthPage/AuthPage.js.map +1 -1
  58. package/dist/js/AuthPage/Information.d.ts +1 -1
  59. package/dist/js/AuthPage/Information.js +1 -1
  60. package/dist/js/AuthPage/Information.js.map +1 -1
  61. package/dist/js/Banners/Banner.js +16 -19
  62. package/dist/js/Banners/Banner.js.map +1 -1
  63. package/dist/js/Button/Button.js +6 -12
  64. package/dist/js/Button/Button.js.map +1 -1
  65. package/dist/js/Button/DualFunctionButton.js +4 -0
  66. package/dist/js/Button/DualFunctionButton.js.map +1 -1
  67. package/dist/js/Button/Iconbutton.d.ts +2 -2
  68. package/dist/js/Button/Iconbutton.js +0 -1
  69. package/dist/js/Button/Iconbutton.js.map +1 -1
  70. package/dist/js/Dropdown/CommonStyling.js +1 -1
  71. package/dist/js/Dropdown/CommonStyling.js.map +1 -1
  72. package/dist/js/Dropdown/DropdownButton.d.ts +1 -1
  73. package/dist/js/Dropdown/DropdownButton.js +5 -2
  74. package/dist/js/Dropdown/DropdownButton.js.map +1 -1
  75. package/dist/js/Dropdown/DropdownButtonTypes.d.ts +1 -0
  76. package/dist/js/Dropdown/DropdownContent.js +8 -8
  77. package/dist/js/Dropdown/DropdownContent.js.map +1 -1
  78. package/dist/js/Dropdown/DropdownFilter.d.ts +1 -1
  79. package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
  80. package/dist/js/HyperLink/HyperLink.d.ts +1 -1
  81. package/dist/js/HyperLink/HyperLink.js +2 -2
  82. package/dist/js/HyperLink/HyperLink.js.map +1 -1
  83. package/dist/js/InputFields/Checkbox.d.ts +3 -2
  84. package/dist/js/InputFields/Checkbox.js +13 -11
  85. package/dist/js/InputFields/Checkbox.js.map +1 -1
  86. package/dist/js/Modals/__tests__/Modal.test.js +231 -0
  87. package/dist/js/Modals/__tests__/Modal.test.js.map +1 -0
  88. package/dist/js/Table/Table.js +143 -209
  89. package/dist/js/Table/Table.js.map +1 -1
  90. package/dist/js/Table/TableBody.d.ts +9 -0
  91. package/dist/js/Table/TableBody.js +167 -0
  92. package/dist/js/Table/TableBody.js.map +1 -0
  93. package/dist/js/Table/TableFooter.d.ts +13 -0
  94. package/dist/js/Table/TableFooter.js +82 -0
  95. package/dist/js/Table/TableFooter.js.map +1 -0
  96. package/dist/js/Table/TableHeaders.d.ts +9 -0
  97. package/dist/js/Table/TableHeaders.js +77 -0
  98. package/dist/js/Table/TableHeaders.js.map +1 -0
  99. package/dist/js/Table/TableStyles.d.ts +17 -7
  100. package/dist/js/Table/TableStyles.js +58 -16
  101. package/dist/js/Table/TableStyles.js.map +1 -1
  102. package/dist/js/Table/TableTypes.d.ts +23 -16
  103. package/dist/js/Table/__tests__/Table.test.js +8 -30
  104. package/dist/js/Table/__tests__/Table.test.js.map +1 -1
  105. package/dist/js/Tabs/TabLink.js +1 -1
  106. package/dist/js/Tabs/TabLink.js.map +1 -1
  107. package/dist/js/styles/typography.d.ts +6 -6
  108. package/dist/js/styles/typography.js +66 -66
  109. package/dist/js/styles/typography.js.map +1 -1
  110. package/dist/umd/Accordion/ContentAccordion.js +266 -0
  111. package/dist/umd/Accordion/ContentAccordion.js.map +1 -0
  112. package/dist/umd/Accordion/__tests__/ContetnAccordion.test.js +165 -0
  113. package/dist/umd/Accordion/__tests__/ContetnAccordion.test.js.map +1 -0
  114. package/dist/umd/Accordion/index.js +10 -4
  115. package/dist/umd/Accordion/index.js.map +1 -1
  116. package/dist/umd/AuthPage/AuthPage.js +1 -1
  117. package/dist/umd/AuthPage/AuthPage.js.map +1 -1
  118. package/dist/umd/AuthPage/Information.js +1 -1
  119. package/dist/umd/AuthPage/Information.js.map +1 -1
  120. package/dist/umd/Banners/Banner.js +16 -16
  121. package/dist/umd/Banners/Banner.js.map +1 -1
  122. package/dist/umd/Button/Button.js +8 -53
  123. package/dist/umd/Button/Button.js.map +1 -1
  124. package/dist/umd/Button/DualFunctionButton.js +4 -0
  125. package/dist/umd/Button/DualFunctionButton.js.map +1 -1
  126. package/dist/umd/Button/Iconbutton.js +0 -1
  127. package/dist/umd/Button/Iconbutton.js.map +1 -1
  128. package/dist/umd/Dropdown/CommonStyling.js +4 -0
  129. package/dist/umd/Dropdown/CommonStyling.js.map +1 -1
  130. package/dist/umd/Dropdown/DropdownButton.js +5 -2
  131. package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
  132. package/dist/umd/Dropdown/DropdownContent.js +6 -6
  133. package/dist/umd/Dropdown/DropdownContent.js.map +1 -1
  134. package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
  135. package/dist/umd/HyperLink/HyperLink.js +2 -1
  136. package/dist/umd/HyperLink/HyperLink.js.map +1 -1
  137. package/dist/umd/InputFields/Checkbox.js +23 -13
  138. package/dist/umd/InputFields/Checkbox.js.map +1 -1
  139. package/dist/umd/Modals/__tests__/Modal.test.js +173 -0
  140. package/dist/umd/Modals/__tests__/Modal.test.js.map +1 -0
  141. package/dist/umd/Table/Table.js +139 -188
  142. package/dist/umd/Table/Table.js.map +1 -1
  143. package/dist/umd/Table/TableBody.js +270 -0
  144. package/dist/umd/Table/TableBody.js.map +1 -0
  145. package/dist/umd/Table/TableFooter.js +82 -0
  146. package/dist/umd/Table/TableFooter.js.map +1 -0
  147. package/dist/umd/Table/TableHeaders.js +91 -0
  148. package/dist/umd/Table/TableHeaders.js.map +1 -0
  149. package/dist/umd/Table/TableStyles.js +134 -122
  150. package/dist/umd/Table/TableStyles.js.map +1 -1
  151. package/dist/umd/Table/__tests__/Table.test.js +0 -21
  152. package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
  153. package/dist/umd/Tabs/TabLink.js +1 -0
  154. package/dist/umd/Tabs/TabLink.js.map +1 -1
  155. package/dist/umd/styles/typography.js +66 -66
  156. package/dist/umd/styles/typography.js.map +1 -1
  157. package/package.json +1 -1
@@ -1,22 +1,22 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "styled-components", "../styles", "../styles/typography"], factory);
3
+ define(["exports", "styled-components", "../styles", "../styles/typography", "../styles/z-indexes"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("styled-components"), require("../styles"), require("../styles/typography"));
5
+ factory(exports, require("styled-components"), require("../styles"), require("../styles/typography"), require("../styles/z-indexes"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.styledComponents, global.styles, global.typography);
10
+ factory(mod.exports, global.styledComponents, global.styles, global.typography, global.zIndexes);
11
11
  global.undefined = mod.exports;
12
12
  }
13
- })(this, function (exports, _styledComponents, _styles, _typography) {
13
+ })(this, function (exports, _styledComponents, _styles, _typography, _zIndexes) {
14
14
  "use strict";
15
15
 
16
16
  Object.defineProperty(exports, "__esModule", {
17
17
  value: true
18
18
  });
19
- exports.TableFooterCol = exports.TableDataCol = exports.TableDataRow = exports.TableColumnHeaderCol = exports.TableHeaderRowCol = exports.TableContainer = exports.TableLoadingIndicator = exports.TableWrapper = undefined;
19
+ exports.StyledTableSpinner = exports.StyledTableFooterControls = exports.StyledTableFooterCurrentInfo = exports.StyledTableFooterContent = exports.StyledTableFooter = 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 = undefined;
20
20
 
21
21
  var _styledComponents2 = _interopRequireDefault(_styledComponents);
22
22
 
@@ -40,170 +40,182 @@
40
40
  const TableWrapper = exports.TableWrapper = _styledComponents2.default.div`
41
41
  position: relative;
42
42
  `;
43
- const TableLoadingIndicator = exports.TableLoadingIndicator = _styledComponents2.default.div`
44
- height: 100%;
45
- width: 100%;
46
- position: absolute;
47
- background-color: rgba(0, 0, 0, 0.5);
48
- top: 0;
49
- `;
50
- const TableContainer = exports.TableContainer = _styledComponents2.default.table`
43
+ const StyledTable = exports.StyledTable = _styledComponents2.default.table`
51
44
  background: transparent;
52
45
  width: 100%;
53
- border-top: 2px solid ${_styles.COLORS.neutral_200};
54
- border-bottom: 2px solid ${_styles.COLORS.neutral_200};
55
46
  `;
56
- const TableHeaderRowCol = exports.TableHeaderRowCol = _styledComponents2.default.th`
57
- background-color: ${_styles.COLORS.neutral_20};
47
+ const StyledTableHeader = exports.StyledTableHeader = _styledComponents2.default.thead`
48
+ `;
49
+ const StyledTableHeaderTitle = exports.StyledTableHeaderTitle = _styledComponents2.default.tr`
50
+ `;
51
+ const StyledTableHeaderTitleContent = exports.StyledTableHeaderTitleContent = _styledComponents2.default.div`
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: space-between;
55
+ width: 100%;
56
+ box-sizing: border-box;
57
+ min-height: 56px;
58
58
  border-bottom: 1px solid ${_styles.COLORS.neutral_200};
59
+ border-top: 2px solid ${_styles.COLORS.neutral_200};
60
+ padding: 0 16px;
59
61
 
60
- ${(0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600)}
61
- padding: 16px 19px 16px 16px;
62
-
63
- div {
64
- display: flex;
65
- justify-content: space-between;
66
- align-items: center;
67
-
68
- svg {
69
- cursor: pointer;
70
- }
62
+ ${(0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.black)}
63
+ .title-menu {
64
+ margin-right: -16px;
71
65
  }
72
66
  `;
73
- const TableColumnHeaderCol = exports.TableColumnHeaderCol = _styledComponents2.default.th`
74
- background-color: ${_styles.COLORS.white};
75
- border-top: 1px solid ${_styles.COLORS.neutral_300};
76
-
67
+ const StyledTableHeaderColumns = exports.StyledTableHeaderColumns = _styledComponents2.default.tr`
68
+ `;
69
+ const StyledTableHeaderColumnContent = exports.StyledTableHeaderColumnContent = _styledComponents2.default.div`
70
+ box-sizing: border-box;
71
+ min-height: 56px;
72
+ padding: 0 16px;
73
+ height: 100%;
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: space-between;
77
+ border-top: 1px solid ${_styles.COLORS.neutral_200};
78
+ border-bottom: 1px solid ${_styles.COLORS.neutral_200};
79
+ `;
80
+ const StyledTableHeaderColumn = exports.StyledTableHeaderColumn = _styledComponents2.default.th`
77
81
  ${(0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600)}
78
- padding: 18px 16px;
79
- text-align: left;
80
-
81
- &.justify-center {
82
- text-align: center;
83
- }
84
-
85
- &.justify-left {
86
- text-align: left;
87
- }
82
+ position: relative;
88
83
 
89
- &.justify-right {
90
- text-align: right;
91
- }
84
+ background-color: ${_styles.COLORS.white};
92
85
 
93
- &.no-border {
94
- border: none;
95
- }
86
+ //fixes header heights no idea why
87
+ height: 1px;
96
88
 
97
89
  &.sortable {
98
90
  cursor: pointer;
99
91
 
100
- > svg {
101
- float: right;
92
+ &:hover {
93
+ background-color: ${_styles.COLORS.primary_20};
94
+ color: ${_styles.COLORS.primary_700};
95
+ z-index: ${_zIndexes.Z_INDEXES.hover};
102
96
  }
103
97
 
104
- &:hover {
105
- background: ${_styles.COLORS.primary_20};
98
+ &:active {
99
+ background-color: ${_styles.COLORS.primary_100};
100
+ color: ${_styles.COLORS.primary_800};
101
+ box-shadow: none !important;
102
+ z-index: ${_zIndexes.Z_INDEXES.active};
106
103
  }
107
104
 
108
105
  &:focus {
109
- background: ${_styles.COLORS.primary_100};
106
+ outline: none;
107
+ box-shadow: 0 4px 12px ${_styles.COLORS.focus_25}, 0 0 8px ${_styles.COLORS.focus};
108
+ z-index: ${_zIndexes.Z_INDEXES.focus};
110
109
  }
111
110
  }
112
- `;
113
- const TableDataRow = exports.TableDataRow = _styledComponents2.default.tr`
114
- background-color: ${_styles.COLORS.neutral_100};
115
111
 
116
- &:nth-child(2n) {
117
- background-color: ${_styles.COLORS.neutral_20};
112
+ &.sortable ${StyledTableHeaderColumnContent} > svg {
113
+ opacity: 0;
114
+ }
115
+
116
+ &.sortable.sorted ${StyledTableHeaderColumnContent} > svg {
117
+ opacity: 1;
118
118
  }
119
119
 
120
+ `;
121
+ const StyledTableBodyRow = exports.StyledTableBodyRow = _styledComponents2.default.tr`
122
+ cursor: pointer;
123
+ position: relative;
124
+ outline: none;
125
+
120
126
  &:hover {
121
- cursor: pointer;
122
127
  background-color: ${_styles.COLORS.primary_200};
128
+ z-index: ${_zIndexes.Z_INDEXES.hover};
129
+ }
130
+
131
+ &:focus {
132
+ background-color: ${_styles.COLORS.primary_200};
133
+ box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2E7FA1;
134
+ z-index: ${_zIndexes.Z_INDEXES.focus};
135
+ outline: none;
136
+ }
137
+
138
+ &:active {
139
+ box-shadow: none;
140
+ z-index: ${_zIndexes.Z_INDEXES.active};
123
141
  }
124
142
 
125
- &.no-rows:hover {
126
- cursor: default;
143
+ `;
144
+ const StyledTableBody = exports.StyledTableBody = _styledComponents2.default.tbody`
145
+ ${StyledTableBodyRow}:nth-child(odd):not(:hover):not(:focus):not(:active) {
127
146
  background-color: ${_styles.COLORS.neutral_100};
128
147
  }
148
+
149
+ ${StyledTableBodyRow}:nth-child(even):not(:hover):not(:focus):not(:active) {
150
+ background-color: ${_styles.COLORS.white};
151
+ }
129
152
  `;
130
- const TableDataCol = exports.TableDataCol = _styledComponents2.default.td`
131
- background: transparent;
153
+ const StyledTableCell = exports.StyledTableCell = _styledComponents2.default.td``;
154
+ const StyledTableCellContent = exports.StyledTableCellContent = _styledComponents2.default.div`
155
+ min-height: 48px;
156
+
157
+ padding: 0 16px;
158
+ ${(0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, null)}
132
159
 
133
- ${(0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black)}
134
- padding: 15px 16px;
135
- border: none;
160
+ display: flex;
161
+ align-items: center;
162
+ gap: 8px;
136
163
 
137
- &.truncate-text {
164
+ &.truncate-text,
165
+ &.truncate-text span {
138
166
  overflow: hidden;
139
167
  text-overflow: ellipsis;
140
168
  white-space: nowrap;
141
169
  }
142
170
 
143
- &.justify-center {
144
- text-align: center;
145
- }
146
-
147
- &.justify-left {
148
- text-align: left;
171
+ &.left {
172
+ justify-content: left;
149
173
  }
150
174
 
151
- &.justify-right {
152
- text-align: right;
153
- }
154
-
155
- button {
156
- color: ${_styles.COLORS.primary_600};
157
- text-decoration: none;
158
-
159
- &:hover {
160
- color: ${_styles.COLORS.primary_700};
161
- text-decoration: underline;
162
- }
163
-
164
- &:focus {
165
- text-decoration: underline;
166
- outline: none;
167
- box-shadow: 0px 4px 12px ${_styles.COLORS.focus_25}, 0px 0px 8px ${_styles.COLORS.focus} !important;
168
- color: ${_styles.COLORS.primary_700};
169
- }
175
+ &.right {
176
+ justify-content: right;
170
177
  }
171
178
 
172
179
  &.center {
173
- text-align: center;
180
+ justify-content: center;
174
181
  }
175
182
  `;
176
- const TableFooterCol = exports.TableFooterCol = _styledComponents2.default.td`
177
- border-top: 1px solid ${_styles.COLORS.neutral_200};
178
- padding: 3.5px 20px 3.5px 16px;
179
-
180
- > div {
181
- display: flex;
182
- align-items: center;
183
- justify-content: flex-end;
184
-
185
- > div > div:first-of-type {
186
- ${(0, _typography.ComponentXSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black)}
187
- display: block;
188
- padding-top: 11px;
189
- padding-left: 2px;
190
- padding-right: 30px;
191
- }
192
-
193
- span {
194
- ${(0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black)}
195
-
196
- &.current-page-info {
197
- margin-right: 34px;
198
- margin-left: 39px;
199
- }
200
- }
183
+ const StyledTableCellIcon = exports.StyledTableCellIcon = _styledComponents2.default.div`
184
+ color: ${_styles.COLORS.neutral_700};
185
+ width: 24px;
186
+ height: 24px;
201
187
 
202
- .controls {
203
- display: flex;
204
- justify-content: space-between;
205
- }
188
+ svg {
189
+ color: ${_styles.COLORS.neutral_700};
190
+ width: 24px;
191
+ height: 24px;
206
192
  }
193
+ `;
194
+ const StyledTableFooter = exports.StyledTableFooter = _styledComponents2.default.tfoot`
195
+ `;
196
+ const StyledTableFooterContent = exports.StyledTableFooterContent = _styledComponents2.default.div`
197
+ border-top: 2px solid ${_styles.COLORS.neutral_200};
198
+ border-bottom: 1px solid ${_styles.COLORS.neutral_200};
199
+ box-sizing: border-box;
200
+ min-height: 56px;
201
+
202
+ display: flex;
203
+ align-items: center;
204
+ justify-content: right;
205
+ `;
206
+ const StyledTableFooterCurrentInfo = exports.StyledTableFooterCurrentInfo = _styledComponents2.default.span`
207
+ padding: 0 16px;
208
+ ${(0, _typography.ComponentXSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black)}
209
+ `;
210
+ const StyledTableFooterControls = exports.StyledTableFooterControls = _styledComponents2.default.div`
211
+ display: flex;
212
+ `;
213
+ const StyledTableSpinner = exports.StyledTableSpinner = _styledComponents2.default.div`
214
+ height: 100%;
215
+ width: 100%;
216
+ position: absolute;
217
+ background-color: rgba(0, 0, 0, 0.5);
218
+ top: 0;
207
219
  `;
208
220
  });
209
221
  //# 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","ComponentLStyling","ComponentTextStyle","TableColumnHeaderCol","white","neutral_300","ComponentSStyling","primary_20","primary_100","TableDataRow","tr","neutral_100","primary_200","TableDataCol","td","primary_600","primary_700","focus_25","focus","TableFooterCol","ComponentXSStyling"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAEO,QAAMA,YAAY,WAAZA,YAAY,GAAGC,2BAAOC,GAAI;AACvC;AADO,CAAA;AAIA,QAAMC,qBAAqB,WAArBA,qBAAqB,GAAGF,2BAAOC,GAAI;AAChD;AACA;AACA;AACA;AACA;AALO,CAAA;AAQA,QAAME,cAAc,WAAdA,cAAc,GAAGH,2BAAOI,KAAM;AAC3C;AACA;AACA,0BAA0BC,eAAOC,WAAY;AAC7C,6BAA6BD,eAAOC,WAAY;AAJzC,CAAA;AAOA,QAAMC,iBAAiB,WAAjBA,iBAAiB,GAAGP,2BAAOQ,EAAG;AAC3C,sBAAsBH,eAAOI,UAAW;AACxC,6BAA6BJ,eAAOC,WAAY;AAChD;AACA,IAAII,mCAAkBC,+BAAD,IAAjBD,EAA2CL,eAA1B,WAAjBK,CAA+D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAfO,CAAA;AAkBA,QAAME,oBAAoB,WAApBA,oBAAoB,GAAGZ,2BAAOQ,EAAG;AAC9C,sBAAsBH,eAAOQ,KAAM;AACnC,0BAA0BR,eAAOS,WAAY;AAC7C;AACA,IAAIC,mCAAkBJ,+BAAD,IAAjBI,EAA2CV,eAA1B,WAAjBU,CAA+D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoBV,eAAOW,UAAW;AACtC;AACA;AACA;AACA,oBAAoBX,eAAOY,WAAY;AACvC;AACA;AAtCO,CAAA;AAyCA,QAAMC,YAAY,WAAZA,YAAY,GAAGlB,2BAAOmB,EAAG;AACtC,sBAAsBd,eAAOe,WAAY;AACzC;AACA;AACA,wBAAwBf,eAAOI,UAAW;AAC1C;AACA;AACA;AACA;AACA,wBAAwBJ,eAAOgB,WAAY;AAC3C;AACA;AACA;AACA;AACA,wBAAwBhB,eAAOe,WAAY;AAC3C;AAfO,CAAA;AAkBA,QAAME,YAAY,WAAZA,YAAY,GAAGtB,2BAAOuB,EAAG;AACtC;AACA;AACA,IAAIR,mCAAkBJ,+BAAD,OAAjBI,EAA8CV,eAA7B,KAAjBU,CAA4D;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAaV,eAAOmB,WAAY;AAChC;AACA;AACA;AACA,eAAenB,eAAOoB,WAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiCpB,eAAOqB,QAAS,iBAAgBrB,eAAOsB,KAAM;AAC9E,eAAetB,eAAOoB,WAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AA5CO,CAAA;AA+CA,QAAMG,cAAc,WAAdA,cAAc,GAAG5B,2BAAOuB,EAAG;AACxC,0BAA0BlB,eAAOC,WAAY;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQuB,oCAAmBlB,+BAAD,OAAlBkB,EAA+CxB,eAA7B,KAAlBwB,CAA6D;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQd,mCAAkBJ,+BAAD,OAAjBI,EAA8CV,eAA7B,KAAjBU,CAA4D;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA9BO,CAAA","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","ComponentLStyling","ComponentTextStyle","StyledTableHeaderColumns","StyledTableHeaderColumnContent","StyledTableHeaderColumn","th","ComponentSStyling","white","primary_20","primary_700","Z_INDEXES","hover","primary_100","primary_800","active","focus_25","focus","StyledTableBodyRow","primary_200","StyledTableBody","tbody","neutral_100","StyledTableCell","td","StyledTableCellContent","StyledTableCellIcon","neutral_700","StyledTableFooter","tfoot","StyledTableFooterContent","StyledTableFooterCurrentInfo","span","ComponentXSStyling","StyledTableFooterControls","StyledTableSpinner"],"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`;\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`;\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.white};\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, null)}\n\n display: flex;\n align-items: center;\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\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\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\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"],"file":"TableStyles.js"}
@@ -230,27 +230,6 @@
230
230
  expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);
231
231
  expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);
232
232
  });
233
- it('Should render columns with no-border class in the column header row, in case title is not passed', () => {
234
- const columns = [{
235
- key: 'column1',
236
- name: 'Column 1'
237
- }, {
238
- key: 'column2',
239
- name: 'Column 2'
240
- }];
241
- const rows = [{
242
- column1: 'Test content',
243
- column2: 'Test content 2'
244
- }];
245
- const {
246
- getByTestId
247
- } = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_index.Table, {
248
- rows: rows,
249
- columns: columns
250
- }));
251
- expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(true);
252
- expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(true);
253
- });
254
233
  });
255
234
  describe('Table Body Row tests', () => {
256
235
  it('Should not render "No Data" row in case there are rows', () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Table/__tests__/Table.test.tsx"],"names":["describe","it","columns","key","name","rows","column1","column2","getByTestId","render","expect","queryByTestId","tableHeaderRow"],"mappings":"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","sourcesContent":["import React from 'react';\n/**\n * Import React libraries.\n */\nimport { render } from '@testing-library/react';\n\n/**\n * Import custom components.\n */\nimport { Table } from '../index';\n\n/**\n * Import third-party libraries.\n */\nimport 'jest-styled-components';\n\n/**\n * Import custom types.\n */\nimport { TableColumn } from '../TableTypes';\n\ndescribe('<Table />', () => {\n it('Renders the Table', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(getByTestId('TestTable')).toBeDefined();\n });\n\n describe('Table Header Row Tests', () => {\n it('Should render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(queryByTestId('TestTableHeaderRow')).not.toBeNull();\n });\n\n it('Should not render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableHeaderRow')).toBeNull();\n });\n\n describe('Table Header Row functional tests', () => {\n it('Should have title', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n const tableHeaderRow = queryByTestId('TestTableHeaderRow');\n expect(tableHeaderRow?.children[0].children[0].textContent).toContain('Test Title');\n });\n\n it('Should have options menu', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n expect(queryByTestId('TestTableHeaderRow')?.getElementsByTagName('svg')).not.toBeNull();\n });\n });\n });\n\n describe('Table Column Header Row Tests', () => {\n it('Should render column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow')).not.toBeNull();\n });\n\n it('Should render two columns in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children.length).toEqual(2);\n });\n\n it('Should render correct column names in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].textContent).toEqual('Column 1');\n expect(getByTestId('TestTableColumnHeaderRow').children[1].textContent).toEqual('Column 2');\n });\n\n it('Should render columns without no-border class in the column header row, in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"test title\" />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);\n });\n\n it('Should render columns with no-border class in the column header row, in case title is not passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(true);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(true);\n });\n });\n\n describe('Table Body Row tests', () => {\n it('Should not render \"No Data\" row in case there are rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).toBeNull();\n });\n\n it('Should render \"No Data\" row in case there are no rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).not.toBeNull();\n expect(queryByTestId('TestTableNoDataRow')?.textContent).toEqual('There are no rows to display');\n });\n\n it('Should render a data row with correct content for each row that is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableDataRow')).toBeDefined();\n expect(getByTestId('TestTableDataRow').children.length).toEqual(2);\n expect(getByTestId('TestTableDataRow').children[0].textContent).toEqual('Test content');\n expect(getByTestId('TestTableDataRow').children[1].textContent).toEqual('Test content 2');\n });\n });\n\n it('Should render footer row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableFooterRow')).toBeDefined();\n });\n});\n"],"file":"Table.test.js"}
1
+ {"version":3,"sources":["../../../../src/Table/__tests__/Table.test.tsx"],"names":["describe","it","columns","key","name","rows","column1","column2","getByTestId","render","expect","queryByTestId","tableHeaderRow"],"mappings":"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","sourcesContent":["import React from 'react';\n/**\n * Import React libraries.\n */\nimport { render } from '@testing-library/react';\n\n/**\n * Import custom components.\n */\nimport { Table } from '../index';\n\n/**\n * Import third-party libraries.\n */\nimport 'jest-styled-components';\n\n/**\n * Import custom types.\n */\nimport { TableColumn } from '../TableTypes';\n\ndescribe('<Table />', () => {\n it('Renders the Table', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(getByTestId('TestTable')).toBeDefined();\n });\n\n describe('Table Header Row Tests', () => {\n it('Should render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(queryByTestId('TestTableHeaderRow')).not.toBeNull();\n });\n\n it('Should not render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableHeaderRow')).toBeNull();\n });\n\n describe('Table Header Row functional tests', () => {\n it('Should have title', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n const tableHeaderRow = queryByTestId('TestTableHeaderRow');\n expect(tableHeaderRow?.children[0].children[0].textContent).toContain('Test Title');\n });\n\n it('Should have options menu', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n expect(queryByTestId('TestTableHeaderRow')?.getElementsByTagName('svg')).not.toBeNull();\n });\n });\n });\n\n describe('Table Column Header Row Tests', () => {\n it('Should render column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow')).not.toBeNull();\n });\n\n it('Should render two columns in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children.length).toEqual(2);\n });\n\n it('Should render correct column names in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].textContent).toEqual('Column 1');\n expect(getByTestId('TestTableColumnHeaderRow').children[1].textContent).toEqual('Column 2');\n });\n\n it('Should render columns without no-border class in the column header row, in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"test title\" />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);\n });\n\n });\n\n describe('Table Body Row tests', () => {\n it('Should not render \"No Data\" row in case there are rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).toBeNull();\n });\n\n it('Should render \"No Data\" row in case there are no rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).not.toBeNull();\n expect(queryByTestId('TestTableNoDataRow')?.textContent).toEqual('There are no rows to display');\n });\n\n it('Should render a data row with correct content for each row that is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableDataRow')).toBeDefined();\n expect(getByTestId('TestTableDataRow').children.length).toEqual(2);\n expect(getByTestId('TestTableDataRow').children[0].textContent).toEqual('Test content');\n expect(getByTestId('TestTableDataRow').children[1].textContent).toEqual('Test content 2');\n });\n });\n\n it('Should render footer row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableFooterRow')).toBeDefined();\n });\n});\n"],"file":"Table.test.js"}
@@ -195,6 +195,7 @@
195
195
  `;
196
196
  const TextContainer = _styledComponents2.default.div`
197
197
  width: 100%;
198
+ margin: auto 0 auto 16px !important;
198
199
  `;
199
200
  const StyledNotification = _styledComponents2.default.div`
200
201
  margin: 0 15px 0 0 !important;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Tabs/TabLink.tsx"],"names":["disabled","requiredLine","optionalLine","onLinkClick","testId","showNotificationDot","variant","StyledTabLink","styled","COLORS","neutral_600","props","Z_INDEXES","focus","white","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","TabLink","exact","size","Size","location","ref","React","to","OptionalLineIcon"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NavLink, NavLinkProps, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { NotificationDot } from '../NotificationDot';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\nimport { COLORS } from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n z-index: ${Z_INDEXES.focus};\n background-color: ${COLORS.white};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline: none;\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &.active:focus {\n background-color: ${COLORS.white};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst TabLink = ({ to, disabled = false, exact = false, requiredLine, optionalLine, OptionalLineIcon, onLinkClick, testId, showNotificationDot = false, size = Size.Small, variant = 'critical' }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <StyledTabLink\n to={to.toString()}\n activeClassName=\"active\"\n disabled={disabled}\n exact={exact}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => {\n ref?.current?.blur();\n if (onLinkClick) {\n onLinkClick();\n }\n }}\n ref={ref}\n data-testid={testId}>\n <TextContainer> \n <TopWrapper>\n <span>{requiredLine}</span> \n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && <OptionalLineIcon size=\"16px\" />}\n {optionalLine !== undefined && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}\n </StyledNotification>\n </StyledTabLink>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.js"}
1
+ {"version":3,"sources":["../../../src/Tabs/TabLink.tsx"],"names":["disabled","requiredLine","optionalLine","onLinkClick","testId","showNotificationDot","variant","StyledTabLink","styled","COLORS","neutral_600","props","Z_INDEXES","focus","white","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","TabLink","exact","size","Size","location","ref","React","to","OptionalLineIcon"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NavLink, NavLinkProps, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { NotificationDot } from '../NotificationDot';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\nimport { COLORS } from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n z-index: ${Z_INDEXES.focus};\n background-color: ${COLORS.white};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline: none;\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &.active:focus {\n background-color: ${COLORS.white};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst TabLink = ({ to, disabled = false, exact = false, requiredLine, optionalLine, OptionalLineIcon, onLinkClick, testId, showNotificationDot = false, size = Size.Small, variant = 'critical' }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <StyledTabLink\n to={to.toString()}\n activeClassName=\"active\"\n disabled={disabled}\n exact={exact}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => {\n ref?.current?.blur();\n if (onLinkClick) {\n onLinkClick();\n }\n }}\n ref={ref}\n data-testid={testId}>\n <TextContainer> \n <TopWrapper>\n <span>{requiredLine}</span> \n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && <OptionalLineIcon size=\"16px\" />}\n {optionalLine !== undefined && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}\n </StyledNotification>\n </StyledTabLink>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.js"}