@dxc-technology/halstack-react 0.0.0-2eb3d87 → 0.0.0-2f08981

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 (229) hide show
  1. package/README.md +66 -0
  2. package/babel.config.js +6 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +237 -2
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Select/index.d.ts +27 -0
  7. package/dist/V3Textarea/V3Textarea.js +264 -0
  8. package/dist/V3Textarea/index.d.ts +27 -0
  9. package/dist/accordion/Accordion.js +170 -81
  10. package/dist/accordion/index.d.ts +28 -0
  11. package/dist/accordion-group/AccordionGroup.js +186 -0
  12. package/dist/accordion-group/index.d.ts +16 -0
  13. package/dist/alert/Alert.js +184 -83
  14. package/dist/alert/index.d.ts +51 -0
  15. package/dist/badge/Badge.js +63 -0
  16. package/dist/box/Box.js +39 -19
  17. package/dist/box/index.d.ts +25 -0
  18. package/dist/button/Button.js +93 -42
  19. package/dist/button/index.d.ts +24 -0
  20. package/dist/card/Card.js +64 -56
  21. package/dist/card/index.d.ts +22 -0
  22. package/dist/checkbox/Checkbox.js +117 -39
  23. package/dist/checkbox/index.d.ts +24 -0
  24. package/dist/chip/Chip.js +265 -0
  25. package/dist/chip/index.d.ts +22 -0
  26. package/dist/common/RequiredComponent.js +5 -15
  27. package/dist/common/variables.js +1507 -10
  28. package/dist/date/Date.js +110 -76
  29. package/dist/date/index.d.ts +27 -0
  30. package/dist/date-input/DateInput.js +400 -0
  31. package/dist/date-input/index.d.ts +95 -0
  32. package/dist/dialog/Dialog.js +87 -33
  33. package/dist/dialog/index.d.ts +18 -0
  34. package/dist/dropdown/Dropdown.js +226 -94
  35. package/dist/dropdown/index.d.ts +26 -0
  36. package/dist/file-input/FileInput.js +644 -0
  37. package/dist/file-input/FileItem.js +287 -0
  38. package/dist/file-input/index.d.ts +81 -0
  39. package/dist/footer/Footer.js +125 -45
  40. package/dist/footer/Icons.js +77 -0
  41. package/dist/footer/index.d.ts +25 -0
  42. package/dist/header/Header.js +215 -85
  43. package/dist/header/Icons.js +59 -0
  44. package/dist/header/index.d.ts +25 -0
  45. package/dist/heading/Heading.js +93 -22
  46. package/dist/heading/index.d.ts +17 -0
  47. package/dist/input-text/Icons.js +22 -0
  48. package/dist/input-text/InputText.js +300 -104
  49. package/dist/input-text/index.d.ts +36 -0
  50. package/dist/layout/ApplicationLayout.js +327 -0
  51. package/dist/layout/Icons.js +55 -0
  52. package/dist/link/Link.js +142 -34
  53. package/dist/link/index.d.ts +23 -0
  54. package/dist/main.d.ts +40 -0
  55. package/dist/main.js +120 -24
  56. package/dist/number-input/NumberInput.js +136 -0
  57. package/dist/number-input/NumberInputContext.js +16 -0
  58. package/dist/number-input/index.d.ts +113 -0
  59. package/dist/paginator/Icons.js +66 -0
  60. package/dist/paginator/Paginator.js +187 -60
  61. package/dist/paginator/index.d.ts +20 -0
  62. package/dist/password-input/PasswordInput.js +203 -0
  63. package/dist/password-input/index.d.ts +94 -0
  64. package/dist/progress-bar/ProgressBar.js +97 -44
  65. package/dist/progress-bar/index.d.ts +18 -0
  66. package/dist/radio/Radio.js +39 -34
  67. package/dist/radio/index.d.ts +23 -0
  68. package/dist/resultsetTable/ResultsetTable.js +99 -71
  69. package/dist/resultsetTable/index.d.ts +19 -0
  70. package/dist/select/Select.js +920 -249
  71. package/dist/select/index.d.ts +53 -0
  72. package/dist/sidenav/Sidenav.js +87 -125
  73. package/dist/sidenav/index.d.ts +13 -0
  74. package/dist/slider/Slider.js +219 -83
  75. package/dist/slider/index.d.ts +29 -0
  76. package/dist/spinner/Spinner.js +249 -64
  77. package/dist/spinner/index.d.ts +17 -0
  78. package/dist/switch/Switch.js +54 -51
  79. package/dist/switch/index.d.ts +24 -0
  80. package/dist/table/Table.js +63 -15
  81. package/dist/table/index.d.ts +13 -0
  82. package/dist/tabs/Tabs.js +210 -50
  83. package/dist/tabs/index.d.ts +19 -0
  84. package/dist/tag/Tag.js +100 -35
  85. package/dist/tag/index.d.ts +24 -0
  86. package/dist/text-input/TextInput.js +974 -0
  87. package/dist/text-input/index.d.ts +135 -0
  88. package/dist/textarea/Textarea.js +250 -107
  89. package/dist/textarea/index.d.ts +117 -0
  90. package/dist/toggle/Toggle.js +16 -19
  91. package/dist/toggle/index.d.ts +21 -0
  92. package/dist/toggle-group/ToggleGroup.js +327 -0
  93. package/dist/toggle-group/index.d.ts +21 -0
  94. package/dist/upload/Upload.js +13 -8
  95. package/dist/upload/buttons-upload/ButtonsUpload.js +35 -25
  96. package/dist/upload/buttons-upload/Icons.js +40 -0
  97. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -37
  98. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  99. package/dist/upload/file-upload/FileToUpload.js +64 -33
  100. package/dist/upload/file-upload/Icons.js +66 -0
  101. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  102. package/dist/upload/index.d.ts +15 -0
  103. package/dist/upload/transaction/Icons.js +160 -0
  104. package/dist/upload/transaction/Transaction.js +42 -49
  105. package/dist/upload/transactions/Transactions.js +38 -20
  106. package/dist/useTheme.js +22 -0
  107. package/dist/wizard/Icons.js +65 -0
  108. package/dist/wizard/Wizard.js +156 -61
  109. package/dist/wizard/index.d.ts +18 -0
  110. package/package.json +23 -16
  111. package/test/AccordionGroup.test.js +125 -0
  112. package/test/Chip.test.js +25 -0
  113. package/test/Date.test.js +15 -13
  114. package/test/DateInput.test.js +242 -0
  115. package/test/Dropdown.test.js +19 -4
  116. package/test/FileInput.test.js +201 -0
  117. package/test/Footer.test.js +2 -7
  118. package/test/Header.test.js +7 -20
  119. package/test/Heading.test.js +60 -12
  120. package/test/InputText.test.js +30 -26
  121. package/test/Link.test.js +25 -7
  122. package/test/NumberInput.test.js +259 -0
  123. package/test/Paginator.test.js +76 -60
  124. package/test/PasswordInput.test.js +83 -0
  125. package/test/ResultsetTable.test.js +65 -17
  126. package/test/Select.test.js +371 -147
  127. package/test/Sidenav.test.js +22 -64
  128. package/test/Slider.test.js +24 -15
  129. package/test/Spinner.test.js +5 -0
  130. package/test/Tabs.test.js +21 -0
  131. package/test/TextInput.test.js +732 -0
  132. package/test/Textarea.test.js +193 -0
  133. package/test/ToggleGroup.test.js +85 -0
  134. package/test/Upload.test.js +1 -1
  135. package/test/V3Select.test.js +212 -0
  136. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  137. package/dist/accordion/Accordion.stories.js +0 -207
  138. package/dist/accordion/readme.md +0 -96
  139. package/dist/alert/Alert.stories.js +0 -158
  140. package/dist/alert/close.svg +0 -4
  141. package/dist/alert/error.svg +0 -4
  142. package/dist/alert/info.svg +0 -4
  143. package/dist/alert/readme.md +0 -43
  144. package/dist/alert/success.svg +0 -4
  145. package/dist/alert/warning.svg +0 -4
  146. package/dist/button/Button.stories.js +0 -224
  147. package/dist/button/readme.md +0 -93
  148. package/dist/checkbox/Checkbox.stories.js +0 -144
  149. package/dist/checkbox/readme.md +0 -116
  150. package/dist/common/services/example-service.js +0 -10
  151. package/dist/common/services/example-service.test.js +0 -12
  152. package/dist/date/Date.stories.js +0 -205
  153. package/dist/date/calendar.svg +0 -1
  154. package/dist/date/calendar_dark.svg +0 -1
  155. package/dist/date/readme.md +0 -73
  156. package/dist/dialog/Dialog.stories.js +0 -217
  157. package/dist/dialog/readme.md +0 -32
  158. package/dist/dropdown/Dropdown.stories.js +0 -249
  159. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  160. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  161. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  162. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  163. package/dist/dropdown/readme.md +0 -69
  164. package/dist/footer/Footer.stories.js +0 -94
  165. package/dist/footer/dxc_logo_wht.png +0 -0
  166. package/dist/footer/readme.md +0 -41
  167. package/dist/header/Header.stories.js +0 -176
  168. package/dist/header/close_icon.svg +0 -1
  169. package/dist/header/dxc_logo_black.png +0 -0
  170. package/dist/header/dxc_logo_white.png +0 -0
  171. package/dist/header/hamb_menu_black.svg +0 -1
  172. package/dist/header/hamb_menu_white.svg +0 -1
  173. package/dist/header/readme.md +0 -33
  174. package/dist/input-text/InputText.stories.js +0 -209
  175. package/dist/input-text/error.svg +0 -1
  176. package/dist/input-text/readme.md +0 -91
  177. package/dist/link/readme.md +0 -51
  178. package/dist/paginator/images/next.svg +0 -3
  179. package/dist/paginator/images/nextPage.svg +0 -3
  180. package/dist/paginator/images/previous.svg +0 -3
  181. package/dist/paginator/images/previousPage.svg +0 -3
  182. package/dist/paginator/readme.md +0 -50
  183. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  184. package/dist/progress-bar/readme.md +0 -63
  185. package/dist/radio/Radio.stories.js +0 -166
  186. package/dist/radio/readme.md +0 -70
  187. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  188. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  189. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  190. package/dist/select/Select.stories.js +0 -235
  191. package/dist/select/readme.md +0 -72
  192. package/dist/sidenav/arrow_icon.svg +0 -3
  193. package/dist/slider/Slider.stories.js +0 -241
  194. package/dist/slider/readme.md +0 -64
  195. package/dist/spinner/Spinner.stories.js +0 -183
  196. package/dist/spinner/readme.md +0 -65
  197. package/dist/switch/Switch.stories.js +0 -134
  198. package/dist/switch/readme.md +0 -133
  199. package/dist/tabs/Tabs.stories.js +0 -130
  200. package/dist/tabs/readme.md +0 -78
  201. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  202. package/dist/tabs-for-sections/readme.md +0 -78
  203. package/dist/toggle/Toggle.stories.js +0 -297
  204. package/dist/toggle/readme.md +0 -80
  205. package/dist/upload/Upload.stories.js +0 -72
  206. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  207. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  208. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  209. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  210. package/dist/upload/file-upload/audio-icon.svg +0 -4
  211. package/dist/upload/file-upload/close.svg +0 -4
  212. package/dist/upload/file-upload/file-icon.svg +0 -4
  213. package/dist/upload/file-upload/video-icon.svg +0 -4
  214. package/dist/upload/readme.md +0 -37
  215. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  216. package/dist/upload/transaction/audio-icon.svg +0 -4
  217. package/dist/upload/transaction/error-icon.svg +0 -4
  218. package/dist/upload/transaction/file-icon-err.svg +0 -4
  219. package/dist/upload/transaction/file-icon.svg +0 -4
  220. package/dist/upload/transaction/image-icon-err.svg +0 -4
  221. package/dist/upload/transaction/image-icon.svg +0 -4
  222. package/dist/upload/transaction/success-icon.svg +0 -4
  223. package/dist/upload/transaction/video-icon-err.svg +0 -4
  224. package/dist/upload/transaction/video-icon.svg +0 -4
  225. package/dist/wizard/invalid_icon.svg +0 -6
  226. package/dist/wizard/valid_icon.svg +0 -6
  227. package/dist/wizard/validation-wrong.svg +0 -6
  228. package/test/TabsForSections.test.js +0 -34
  229. package/test/Toggle.test.js +0 -43
@@ -25,20 +25,14 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
25
25
 
26
26
  var _variables = require("../common/variables.js");
27
27
 
28
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
29
-
30
28
  var _Table = _interopRequireDefault(require("../table/Table"));
31
29
 
32
30
  var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
33
31
 
34
- var _arrow_upward24px_wht = _interopRequireDefault(require("./arrow_upward-24px_wht.svg"));
35
-
36
- var _arrow_downward24px_wht = _interopRequireDefault(require("./arrow_downward-24px_wht.svg"));
37
-
38
- var _unfold_more24px_wht = _interopRequireDefault(require("./unfold_more-24px_wht.svg"));
32
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
39
33
 
40
34
  function _templateObject9() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow-x: auto;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n &::-webkit-scrollbar {\n height: 6px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 6px;\n }\n"]);
35
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n overflow: hidden;\n"]);
42
36
 
43
37
  _templateObject9 = function _templateObject9() {
44
38
  return data;
@@ -58,7 +52,7 @@ function _templateObject8() {
58
52
  }
59
53
 
60
54
  function _templateObject7() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n width: fit-content;\n"]);
55
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n width: 100%;\n"]);
62
56
 
63
57
  _templateObject7 = function _templateObject7() {
64
58
  return data;
@@ -88,7 +82,7 @@ function _templateObject5() {
88
82
  }
89
83
 
90
84
  function _templateObject4() {
91
- var data = (0, _taggedTemplateLiteral2["default"])(["\n top: 409px;\n left: 390px;\n height: 14px;\n cursor: pointer;\n"]);
85
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n top: 409px;\n left: 390px;\n height: 14px;\n cursor: pointer;\n color: ", ";\n\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
92
86
 
93
87
  _templateObject4 = function _templateObject4() {
94
88
  return data;
@@ -98,7 +92,7 @@ function _templateObject4() {
98
92
  }
99
93
 
100
94
  function _templateObject3() {
101
- var data = (0, _taggedTemplateLiteral2["default"])(["\n > div:nth-child(1) {\n position: absolute;\n left: calc(50% - 68.5px);\n bottom: calc(50% - 68.5px - 30px);\n }\n & tr {\n height: 70px;\n }\n"]);
95
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n > div:nth-child(1) {\n position: absolute;\n left: calc(50% - 68.5px);\n bottom: calc(50% - 68.5px - 30px);\n }\n & tr {\n height: ", ";\n }\n"]);
102
96
 
103
97
  _templateObject3 = function _templateObject3() {
104
98
  return data;
@@ -108,7 +102,7 @@ function _templateObject3() {
108
102
  }
109
103
 
110
104
  function _templateObject2() {
111
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n margin-right: ", ";\n"]);
105
+ var data = (0, _taggedTemplateLiteral2["default"])([""]);
112
106
 
113
107
  _templateObject2 = function _templateObject2() {
114
108
  return data;
@@ -118,7 +112,7 @@ function _templateObject2() {
118
112
  }
119
113
 
120
114
  function _templateObject() {
121
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & table {\n table-layout: fixed;\n }\n"]);
115
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n & table {\n table-layout: auto;\n }\n"]);
122
116
 
123
117
  _templateObject = function _templateObject() {
124
118
  return data;
@@ -159,14 +153,62 @@ var getMaxItemsPerPageIndex = function getMaxItemsPerPageIndex(minItemsPerPageIn
159
153
  return minItemsPerPageIndex + itemsPerPage > resultset.length ? resultset.length : itemsPerPage * page - 1;
160
154
  };
161
155
 
156
+ var ArrowUp = function ArrowUp() {
157
+ return _react["default"].createElement("svg", {
158
+ xmlns: "http://www.w3.org/2000/svg",
159
+ height: "24",
160
+ viewBox: "0 0 24 24",
161
+ width: "24",
162
+ fill: "currentColor"
163
+ }, _react["default"].createElement("path", {
164
+ d: "M0 0h24v24H0V0z",
165
+ fill: "none"
166
+ }), _react["default"].createElement("path", {
167
+ d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"
168
+ }));
169
+ };
170
+
171
+ var ArrowDown = function ArrowDown() {
172
+ return _react["default"].createElement("svg", {
173
+ xmlns: "http://www.w3.org/2000/svg",
174
+ height: "24",
175
+ viewBox: "0 0 24 24",
176
+ width: "24",
177
+ fill: "currentColor"
178
+ }, _react["default"].createElement("path", {
179
+ d: "M0 0h24v24H0V0z",
180
+ fill: "none"
181
+ }), _react["default"].createElement("path", {
182
+ d: "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
183
+ }));
184
+ };
185
+
186
+ var BothArrows = function BothArrows() {
187
+ return _react["default"].createElement("svg", {
188
+ xmlns: "http://www.w3.org/2000/svg",
189
+ height: "24",
190
+ viewBox: "0 0 24 24",
191
+ width: "24",
192
+ fill: "currentColor"
193
+ }, _react["default"].createElement("path", {
194
+ d: "M0 0h24v24H0z",
195
+ fill: "none"
196
+ }), _react["default"].createElement("path", {
197
+ d: "M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"
198
+ }));
199
+ };
200
+
162
201
  var DxcResultsetTable = function DxcResultsetTable(_ref) {
163
202
  var columns = _ref.columns,
164
203
  rows = _ref.rows,
165
204
  _ref$itemsPerPage = _ref.itemsPerPage,
166
205
  itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
167
- margin = _ref.margin;
168
-
169
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
206
+ itemsPerPageOptions = _ref.itemsPerPageOptions,
207
+ itemsPerPageFunction = _ref.itemsPerPageFunction,
208
+ margin = _ref.margin,
209
+ _ref$tabIndex = _ref.tabIndex,
210
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
211
+ var colorsTheme = (0, _useTheme["default"])();
170
212
 
171
213
  var _useState = (0, _react.useState)(1),
172
214
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -185,26 +227,13 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
185
227
 
186
228
  var minItemsPerPageIndex = (0, _react.useMemo)(function () {
187
229
  return getMinItemsPerPageIndex(page, itemsPerPage, page);
188
- }, [page]); //Merece la pena sacar a una función para usar useMemo?
189
-
230
+ }, [itemsPerPage, page]);
190
231
  var maxItemsPerPageIndex = (0, _react.useMemo)(function () {
191
232
  return getMaxItemsPerPageIndex(minItemsPerPageIndex, itemsPerPage, rows, page);
192
- }, [page]);
193
-
194
- var next = function next() {
195
- changePage(page + 1);
196
- };
197
-
198
- var previous = function previous() {
199
- changePage(page - 1);
200
- };
233
+ }, [itemsPerPage, minItemsPerPageIndex, page, rows]);
201
234
 
202
- var first = function first() {
203
- changePage(1);
204
- };
205
-
206
- var last = function last() {
207
- changePage(Math.ceil(rows.length / itemsPerPage));
235
+ var goToPage = function goToPage(newPage) {
236
+ changePage(newPage);
208
237
  };
209
238
 
210
239
  var changeSorting = function changeSorting(columnIndex) {
@@ -214,42 +243,38 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
214
243
  };
215
244
 
216
245
  var getIconForSortableColumn = function getIconForSortableColumn(clickedColumnIndex) {
217
- return sortColumnIndex === clickedColumnIndex ? sortOrder === "asc" ? _arrow_upward24px_wht["default"] : _arrow_downward24px_wht["default"] : _unfold_more24px_wht["default"];
246
+ return sortColumnIndex === clickedColumnIndex ? sortOrder === "asc" ? _react["default"].createElement(ArrowUp, null) : _react["default"].createElement(ArrowDown, null) : _react["default"].createElement(BothArrows, null);
218
247
  };
219
248
 
220
249
  (0, _react.useEffect)(function () {
221
- changePage(1);
222
- }, [rows]);
250
+ if (rows.length > 0) {
251
+ changePage(1);
252
+ } else {
253
+ changePage(0);
254
+ }
255
+ }, [rows.length, itemsPerPage]);
223
256
  var sortedResultset = (0, _react.useMemo)(function () {
224
257
  return sortColumnIndex !== "" ? sortArray(sortColumnIndex, sortOrder, rows) : rows;
225
258
  }, [sortColumnIndex, sortOrder, rows]);
226
259
  var filteredResultset = (0, _react.useMemo)(function () {
227
260
  return sortedResultset && sortedResultset.slice(minItemsPerPageIndex, maxItemsPerPageIndex + 1);
228
- }, [page, sortColumnIndex, sortOrder, rows]);
261
+ }, [sortedResultset, minItemsPerPageIndex, maxItemsPerPageIndex]);
229
262
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
230
- theme: colorsTheme
263
+ theme: colorsTheme.table
231
264
  }, _react["default"].createElement(DxcResultsetTableContainer, {
232
265
  margin: margin
233
- }, _react["default"].createElement(TableContainer, null, _react["default"].createElement(_Table["default"], {
234
- margin: {
235
- top: margin,
236
- right: margin,
237
- bottom: "0px",
238
- left: margin
239
- }
240
- }, _react["default"].createElement(HeaderRow, null, _react["default"].createElement("tr", null, columns.map(function (column, index) {
266
+ }, _react["default"].createElement(TableContainer, null, _react["default"].createElement(_Table["default"], null, _react["default"].createElement(HeaderRow, null, _react["default"].createElement("tr", null, columns.map(function (column, index) {
241
267
  return _react["default"].createElement(TableHeader, {
242
268
  key: "tableHeader_".concat(index)
243
269
  }, _react["default"].createElement(HeaderContainer, {
244
270
  key: "headerContainer_".concat(index),
245
271
  onClick: function onClick() {
246
272
  return column.isSortable && changeSorting(index);
247
- }
273
+ },
274
+ tabIndex: column.isSortable ? tabIndex : -1
248
275
  }, _react["default"].createElement(TitleDiv, {
249
276
  isSortable: column.isSortable
250
- }, column.displayValue), column.isSortable && _react["default"].createElement(SortIcon, {
251
- src: getIconForSortableColumn(index)
252
- })));
277
+ }, column.displayValue), column.isSortable && _react["default"].createElement(SortIcon, null, getIconForSortableColumn(index))));
253
278
  }))), _react["default"].createElement(TableRowGroup, null, filteredResultset.map(function (cells, index) {
254
279
  return _react["default"].createElement("tr", {
255
280
  key: "resultSetTableCell_".concat(index)
@@ -258,30 +283,29 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
258
283
  key: "resultSetTableCellContent_".concat(index)
259
284
  }, cellContent.displayValue);
260
285
  }));
261
- })))), _react["default"].createElement(PaginatorContainer, {
262
- margin: margin
263
- }, _react["default"].createElement(_Paginator["default"], {
286
+ })))), _react["default"].createElement(PaginatorContainer, null, _react["default"].createElement(_Paginator["default"], {
264
287
  totalItems: rows.length,
265
288
  itemsPerPage: itemsPerPage,
289
+ itemsPerPageOptions: itemsPerPageOptions,
290
+ itemsPerPageFunction: itemsPerPageFunction,
266
291
  currentPage: page,
267
- nextFunction: next,
268
- prevFunction: previous,
269
- firstFunction: first,
270
- lastFunction: last
292
+ showGoToPage: true,
293
+ onPageChange: goToPage,
294
+ tabIndex: tabIndex
271
295
  }))));
272
296
  };
273
297
 
274
298
  var TableContainer = _styledComponents["default"].div(_templateObject());
275
299
 
276
- var PaginatorContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
277
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
278
- }, function (props) {
279
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
280
- });
300
+ var PaginatorContainer = _styledComponents["default"].div(_templateObject2());
281
301
 
282
- var TableRowGroup = _styledComponents["default"].tbody(_templateObject3());
302
+ var TableRowGroup = _styledComponents["default"].tbody(_templateObject3(), function (props) {
303
+ return props.theme.rowHeight || "70px";
304
+ });
283
305
 
284
- var SortIcon = _styledComponents["default"].img(_templateObject4());
306
+ var SortIcon = _styledComponents["default"].div(_templateObject4(), function (props) {
307
+ return props.theme.sortIconColor;
308
+ });
285
309
 
286
310
  var TitleDiv = _styledComponents["default"].div(_templateObject5(), function (props) {
287
311
  return props.isSortable && "pointer" || "default";
@@ -289,11 +313,15 @@ var TitleDiv = _styledComponents["default"].div(_templateObject5(), function (pr
289
313
 
290
314
  var TableHeader = _styledComponents["default"].th(_templateObject6());
291
315
 
292
- var HeaderContainer = _styledComponents["default"].div(_templateObject7());
316
+ var HeaderContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
317
+ return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
318
+ });
293
319
 
294
320
  var HeaderRow = _styledComponents["default"].thead(_templateObject8());
295
321
 
296
322
  var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObject9(), function (props) {
323
+ return props.theme.fontSizeBase;
324
+ }, function (props) {
297
325
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
298
326
  }, function (props) {
299
327
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -303,28 +331,28 @@ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObjec
303
331
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
304
332
  }, function (props) {
305
333
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
306
- }, function (props) {
307
- return props.theme.darkGrey;
308
- }, function (props) {
309
- return props.theme.lightGrey;
310
334
  });
311
335
 
312
336
  DxcResultsetTable.propTypes = {
313
337
  rows: _propTypes["default"].array,
314
338
  columns: _propTypes["default"].array,
315
339
  itemsPerPage: _propTypes["default"].number,
340
+ itemsPerPageOptions: _propTypes["default"].arrayOf(_propTypes["default"].number),
341
+ itemsPerPageFunction: _propTypes["default"].func,
316
342
  margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
317
343
  top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
318
344
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
319
345
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
320
346
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
321
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
347
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
348
+ tabIndex: _propTypes["default"].number
322
349
  };
323
350
  DxcResultsetTable.defaultProps = {
324
351
  rows: [],
325
352
  columns: [],
326
353
  itemsPerPage: 5,
327
- margin: "xxsmall"
354
+ itemsPerPageOptions: null,
355
+ itemsPerPageFunction: null
328
356
  };
329
357
  var _default = DxcResultsetTable;
330
358
  exports["default"] = _default;
@@ -0,0 +1,19 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+
9
+ type Props = {
10
+ columns?: any;
11
+ rows?: any;
12
+ itemsPerPage?: number;
13
+ itemsPerPageOptions?: number[];
14
+ itemsPerPageFunction?: void,
15
+ margin?: Space | Margin;
16
+ tabIndex?: number;
17
+ };
18
+
19
+ export default function DxcResultsetTable(props: Props): JSX.Element;