@dxc-technology/halstack-react 0.0.0-faa7105 → 0.0.0-fb9047c

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 (288) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.js +289 -0
  8. package/accordion/index.d.ts +28 -0
  9. package/accordion-group/AccordionGroup.js +184 -0
  10. package/accordion-group/index.d.ts +16 -0
  11. package/alert/Alert.js +309 -0
  12. package/alert/index.d.ts +51 -0
  13. package/badge/Badge.js +59 -0
  14. package/{dist/box → box}/Box.js +38 -34
  15. package/box/index.d.ts +25 -0
  16. package/button/Button.d.ts +4 -0
  17. package/button/Button.js +182 -0
  18. package/button/Button.stories.tsx +306 -0
  19. package/button/types.d.ts +57 -0
  20. package/button/types.js +5 -0
  21. package/card/Card.js +200 -0
  22. package/card/index.d.ts +22 -0
  23. package/checkbox/Checkbox.d.ts +4 -0
  24. package/checkbox/Checkbox.js +253 -0
  25. package/checkbox/types.d.ts +61 -0
  26. package/checkbox/types.js +5 -0
  27. package/chip/Chip.js +221 -0
  28. package/chip/index.d.ts +22 -0
  29. package/{dist/common → common}/OpenSans.css +0 -0
  30. package/{dist/common → common}/RequiredComponent.js +5 -19
  31. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  32. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  33. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  34. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  35. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  36. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  37. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  38. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  39. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  40. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  41. package/common/utils.js +22 -0
  42. package/common/variables.js +1569 -0
  43. package/{dist/date → date}/Date.js +87 -71
  44. package/date/index.d.ts +27 -0
  45. package/date-input/DateInput.js +396 -0
  46. package/date-input/index.d.ts +95 -0
  47. package/dialog/Dialog.js +184 -0
  48. package/dialog/index.d.ts +18 -0
  49. package/dropdown/Dropdown.js +450 -0
  50. package/dropdown/index.d.ts +26 -0
  51. package/file-input/FileInput.js +532 -0
  52. package/file-input/FileItem.js +193 -0
  53. package/file-input/index.d.ts +81 -0
  54. package/footer/Footer.js +297 -0
  55. package/footer/Icons.js +77 -0
  56. package/footer/index.d.ts +25 -0
  57. package/header/Header.js +326 -0
  58. package/header/Icons.js +59 -0
  59. package/header/index.d.ts +25 -0
  60. package/heading/Heading.js +176 -0
  61. package/heading/index.d.ts +17 -0
  62. package/input-text/Icons.js +22 -0
  63. package/input-text/InputText.js +611 -0
  64. package/input-text/index.d.ts +36 -0
  65. package/layout/ApplicationLayout.js +235 -0
  66. package/layout/Icons.js +55 -0
  67. package/link/Link.js +183 -0
  68. package/link/index.d.ts +23 -0
  69. package/main.d.ts +44 -0
  70. package/{dist/main.js → main.js} +143 -43
  71. package/number-input/NumberInput.js +128 -0
  72. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  73. package/number-input/index.d.ts +113 -0
  74. package/package.json +39 -24
  75. package/paginator/Icons.js +66 -0
  76. package/paginator/Paginator.d.ts +4 -0
  77. package/paginator/Paginator.js +198 -0
  78. package/paginator/types.d.ts +38 -0
  79. package/paginator/types.js +5 -0
  80. package/password-input/PasswordInput.js +199 -0
  81. package/password-input/index.d.ts +94 -0
  82. package/progress-bar/ProgressBar.js +188 -0
  83. package/progress-bar/index.d.ts +18 -0
  84. package/{dist/radio → radio}/Radio.js +48 -40
  85. package/radio/index.d.ts +23 -0
  86. package/resultsetTable/ResultsetTable.js +274 -0
  87. package/resultsetTable/index.d.ts +19 -0
  88. package/select/Select.js +865 -0
  89. package/select/index.d.ts +131 -0
  90. package/sidenav/Sidenav.js +145 -0
  91. package/sidenav/index.d.ts +13 -0
  92. package/slider/Slider.js +340 -0
  93. package/slider/index.d.ts +29 -0
  94. package/spinner/Spinner.js +267 -0
  95. package/spinner/index.d.ts +17 -0
  96. package/switch/Switch.js +208 -0
  97. package/switch/index.d.ts +24 -0
  98. package/table/Table.js +118 -0
  99. package/table/index.d.ts +13 -0
  100. package/tabs/Tabs.js +259 -0
  101. package/tabs/index.d.ts +19 -0
  102. package/tag/Tag.js +208 -0
  103. package/tag/index.d.ts +24 -0
  104. package/text-input/TextInput.js +825 -0
  105. package/text-input/index.d.ts +135 -0
  106. package/textarea/Textarea.js +317 -0
  107. package/textarea/index.d.ts +117 -0
  108. package/{dist/toggle → toggle}/Toggle.js +30 -67
  109. package/toggle/index.d.ts +21 -0
  110. package/toggle-group/ToggleGroup.js +243 -0
  111. package/toggle-group/index.d.ts +21 -0
  112. package/{dist/upload → upload}/Upload.js +23 -22
  113. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  114. package/upload/buttons-upload/Icons.js +40 -0
  115. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  116. package/upload/dragAndDropArea/Icons.js +39 -0
  117. package/upload/file-upload/FileToUpload.js +115 -0
  118. package/upload/file-upload/Icons.js +66 -0
  119. package/upload/files-upload/FilesToUpload.js +109 -0
  120. package/upload/index.d.ts +15 -0
  121. package/upload/transaction/Icons.js +160 -0
  122. package/upload/transaction/Transaction.js +104 -0
  123. package/upload/transactions/Transactions.js +94 -0
  124. package/useTheme.js +22 -0
  125. package/wizard/Icons.js +65 -0
  126. package/wizard/Wizard.js +271 -0
  127. package/wizard/index.d.ts +18 -0
  128. package/README.md +0 -66
  129. package/babel.config.js +0 -4
  130. package/dist/accordion/Accordion.js +0 -242
  131. package/dist/accordion/Accordion.stories.js +0 -207
  132. package/dist/accordion/readme.md +0 -96
  133. package/dist/alert/Alert.js +0 -304
  134. package/dist/alert/Alert.stories.js +0 -158
  135. package/dist/alert/close.svg +0 -4
  136. package/dist/alert/error.svg +0 -4
  137. package/dist/alert/info.svg +0 -4
  138. package/dist/alert/readme.md +0 -43
  139. package/dist/alert/success.svg +0 -4
  140. package/dist/alert/warning.svg +0 -4
  141. package/dist/button/Button.js +0 -181
  142. package/dist/button/Button.stories.js +0 -224
  143. package/dist/button/readme.md +0 -93
  144. package/dist/card/Card.js +0 -217
  145. package/dist/checkbox/Checkbox.js +0 -224
  146. package/dist/checkbox/Checkbox.stories.js +0 -144
  147. package/dist/checkbox/readme.md +0 -116
  148. package/dist/chip/Chip.js +0 -173
  149. package/dist/common/services/example-service.js +0 -10
  150. package/dist/common/services/example-service.test.js +0 -12
  151. package/dist/common/utils.js +0 -42
  152. package/dist/common/variables.js +0 -400
  153. package/dist/date/Date.stories.js +0 -205
  154. package/dist/date/calendar.svg +0 -1
  155. package/dist/date/calendar_dark.svg +0 -1
  156. package/dist/date/readme.md +0 -73
  157. package/dist/dialog/Dialog.js +0 -197
  158. package/dist/dialog/Dialog.stories.js +0 -217
  159. package/dist/dialog/readme.md +0 -32
  160. package/dist/dropdown/Dropdown.js +0 -424
  161. package/dist/dropdown/Dropdown.stories.js +0 -249
  162. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  163. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  164. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  165. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  166. package/dist/dropdown/readme.md +0 -69
  167. package/dist/footer/Footer.js +0 -346
  168. package/dist/footer/Footer.stories.js +0 -94
  169. package/dist/footer/dxc_logo_wht.png +0 -0
  170. package/dist/footer/readme.md +0 -41
  171. package/dist/header/Header.js +0 -372
  172. package/dist/header/Header.stories.js +0 -176
  173. package/dist/header/close_icon.svg +0 -1
  174. package/dist/header/dxc_logo_black.png +0 -0
  175. package/dist/header/dxc_logo_white.png +0 -0
  176. package/dist/header/hamb_menu_black.svg +0 -1
  177. package/dist/header/hamb_menu_white.svg +0 -1
  178. package/dist/header/readme.md +0 -33
  179. package/dist/heading/Heading.js +0 -153
  180. package/dist/input-text/InputText.js +0 -519
  181. package/dist/input-text/InputText.stories.js +0 -209
  182. package/dist/input-text/error.svg +0 -1
  183. package/dist/input-text/readme.md +0 -91
  184. package/dist/link/Link.js +0 -136
  185. package/dist/link/readme.md +0 -51
  186. package/dist/paginator/Paginator.js +0 -196
  187. package/dist/paginator/images/next.svg +0 -3
  188. package/dist/paginator/images/nextPage.svg +0 -3
  189. package/dist/paginator/images/previous.svg +0 -3
  190. package/dist/paginator/images/previousPage.svg +0 -3
  191. package/dist/paginator/readme.md +0 -50
  192. package/dist/progress-bar/ProgressBar.js +0 -185
  193. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  194. package/dist/progress-bar/readme.md +0 -63
  195. package/dist/radio/Radio.stories.js +0 -166
  196. package/dist/radio/readme.md +0 -70
  197. package/dist/resultsetTable/ResultsetTable.js +0 -333
  198. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  199. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  200. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  201. package/dist/select/Select.js +0 -445
  202. package/dist/select/Select.stories.js +0 -235
  203. package/dist/select/readme.md +0 -72
  204. package/dist/sidenav/Sidenav.js +0 -236
  205. package/dist/sidenav/arrow_icon.svg +0 -3
  206. package/dist/slider/Slider.js +0 -258
  207. package/dist/slider/Slider.stories.js +0 -241
  208. package/dist/slider/readme.md +0 -64
  209. package/dist/spinner/Spinner.js +0 -193
  210. package/dist/spinner/Spinner.stories.js +0 -183
  211. package/dist/spinner/readme.md +0 -65
  212. package/dist/switch/Switch.js +0 -199
  213. package/dist/switch/Switch.stories.js +0 -134
  214. package/dist/switch/readme.md +0 -133
  215. package/dist/table/Table.js +0 -87
  216. package/dist/tabs/Tabs.js +0 -172
  217. package/dist/tabs/Tabs.stories.js +0 -130
  218. package/dist/tabs/readme.md +0 -78
  219. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  220. package/dist/tabs-for-sections/readme.md +0 -78
  221. package/dist/tag/Tag.js +0 -217
  222. package/dist/textarea/Textarea.js +0 -227
  223. package/dist/toggle/Toggle.stories.js +0 -297
  224. package/dist/toggle/readme.md +0 -80
  225. package/dist/upload/Upload.stories.js +0 -72
  226. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  227. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  228. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  229. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  230. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  231. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  232. package/dist/upload/file-upload/FileToUpload.js +0 -158
  233. package/dist/upload/file-upload/audio-icon.svg +0 -4
  234. package/dist/upload/file-upload/close.svg +0 -4
  235. package/dist/upload/file-upload/file-icon.svg +0 -4
  236. package/dist/upload/file-upload/video-icon.svg +0 -4
  237. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  238. package/dist/upload/readme.md +0 -37
  239. package/dist/upload/transaction/Transaction.js +0 -155
  240. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  241. package/dist/upload/transaction/audio-icon.svg +0 -4
  242. package/dist/upload/transaction/error-icon.svg +0 -4
  243. package/dist/upload/transaction/file-icon-err.svg +0 -4
  244. package/dist/upload/transaction/file-icon.svg +0 -4
  245. package/dist/upload/transaction/image-icon-err.svg +0 -4
  246. package/dist/upload/transaction/image-icon.svg +0 -4
  247. package/dist/upload/transaction/success-icon.svg +0 -4
  248. package/dist/upload/transaction/video-icon-err.svg +0 -4
  249. package/dist/upload/transaction/video-icon.svg +0 -4
  250. package/dist/upload/transactions/Transactions.js +0 -120
  251. package/dist/wizard/Wizard.js +0 -327
  252. package/dist/wizard/invalid_icon.svg +0 -6
  253. package/dist/wizard/valid_icon.svg +0 -6
  254. package/dist/wizard/validation-wrong.svg +0 -6
  255. package/test/Accordion.test.js +0 -33
  256. package/test/Alert.test.js +0 -53
  257. package/test/Box.test.js +0 -10
  258. package/test/Button.test.js +0 -18
  259. package/test/Card.test.js +0 -30
  260. package/test/Checkbox.test.js +0 -45
  261. package/test/Chip.test.js +0 -25
  262. package/test/Date.test.js +0 -393
  263. package/test/Dialog.test.js +0 -23
  264. package/test/Dropdown.test.js +0 -130
  265. package/test/Footer.test.js +0 -99
  266. package/test/Header.test.js +0 -39
  267. package/test/Heading.test.js +0 -35
  268. package/test/InputText.test.js +0 -236
  269. package/test/Link.test.js +0 -25
  270. package/test/Paginator.test.js +0 -165
  271. package/test/ProgressBar.test.js +0 -35
  272. package/test/Radio.test.js +0 -37
  273. package/test/ResultsetTable.test.js +0 -282
  274. package/test/Select.test.js +0 -191
  275. package/test/Sidenav.test.js +0 -87
  276. package/test/Slider.test.js +0 -65
  277. package/test/Spinner.test.js +0 -27
  278. package/test/Switch.test.js +0 -45
  279. package/test/Table.test.js +0 -36
  280. package/test/Tabs.test.js +0 -88
  281. package/test/TabsForSections.test.js +0 -34
  282. package/test/Tag.test.js +0 -32
  283. package/test/TextArea.test.js +0 -52
  284. package/test/Toggle.test.js +0 -43
  285. package/test/Upload.test.js +0 -60
  286. package/test/Wizard.test.js +0 -130
  287. package/test/mocks/pngMock.js +0 -1
  288. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _variables = require("../common/variables.js");
27
+
28
+ var _Table = _interopRequireDefault(require("../table/Table"));
29
+
30
+ var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
31
+
32
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
33
+
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
35
+
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ function normalizeSortValue(sortValue) {
41
+ return typeof sortValue === "string" ? sortValue.toUpperCase() : sortValue;
42
+ }
43
+
44
+ function sortArray(index, order, resultset) {
45
+ return resultset.slice().sort(function (element1, element2) {
46
+ var sortValueA = normalizeSortValue(element1[index].sortValue || element1[index].displayValue);
47
+ var sortValueB = normalizeSortValue(element2[index].sortValue || element2[index].displayValue);
48
+ var comparison = 0;
49
+
50
+ if ((0, _typeof2["default"])(sortValueA) === "object") {
51
+ comparison = -1;
52
+ } else if ((0, _typeof2["default"])(sortValueB) === "object") {
53
+ comparison = 1;
54
+ } else if (sortValueA > sortValueB) {
55
+ comparison = 1;
56
+ } else if (sortValueA < sortValueB) {
57
+ comparison = -1;
58
+ }
59
+
60
+ return order === "desc" ? comparison * -1 : comparison;
61
+ });
62
+ }
63
+
64
+ var getMinItemsPerPageIndex = function getMinItemsPerPageIndex(currentPageInternal, itemsPerPage, page) {
65
+ return currentPageInternal === 1 ? 0 : itemsPerPage * (page - 1);
66
+ };
67
+
68
+ var getMaxItemsPerPageIndex = function getMaxItemsPerPageIndex(minItemsPerPageIndex, itemsPerPage, resultset, page) {
69
+ return minItemsPerPageIndex + itemsPerPage > resultset.length ? resultset.length : itemsPerPage * page - 1;
70
+ };
71
+
72
+ var ArrowUp = function ArrowUp() {
73
+ return /*#__PURE__*/_react["default"].createElement("svg", {
74
+ xmlns: "http://www.w3.org/2000/svg",
75
+ height: "24",
76
+ viewBox: "0 0 24 24",
77
+ width: "24",
78
+ fill: "currentColor"
79
+ }, /*#__PURE__*/_react["default"].createElement("path", {
80
+ d: "M0 0h24v24H0V0z",
81
+ fill: "none"
82
+ }), /*#__PURE__*/_react["default"].createElement("path", {
83
+ d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"
84
+ }));
85
+ };
86
+
87
+ var ArrowDown = function ArrowDown() {
88
+ return /*#__PURE__*/_react["default"].createElement("svg", {
89
+ xmlns: "http://www.w3.org/2000/svg",
90
+ height: "24",
91
+ viewBox: "0 0 24 24",
92
+ width: "24",
93
+ fill: "currentColor"
94
+ }, /*#__PURE__*/_react["default"].createElement("path", {
95
+ d: "M0 0h24v24H0V0z",
96
+ fill: "none"
97
+ }), /*#__PURE__*/_react["default"].createElement("path", {
98
+ d: "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
99
+ }));
100
+ };
101
+
102
+ var BothArrows = function BothArrows() {
103
+ return /*#__PURE__*/_react["default"].createElement("svg", {
104
+ xmlns: "http://www.w3.org/2000/svg",
105
+ height: "24",
106
+ viewBox: "0 0 24 24",
107
+ width: "24",
108
+ fill: "currentColor"
109
+ }, /*#__PURE__*/_react["default"].createElement("path", {
110
+ d: "M0 0h24v24H0z",
111
+ fill: "none"
112
+ }), /*#__PURE__*/_react["default"].createElement("path", {
113
+ 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"
114
+ }));
115
+ };
116
+
117
+ var DxcResultsetTable = function DxcResultsetTable(_ref) {
118
+ var columns = _ref.columns,
119
+ rows = _ref.rows,
120
+ _ref$itemsPerPage = _ref.itemsPerPage,
121
+ itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
122
+ itemsPerPageOptions = _ref.itemsPerPageOptions,
123
+ itemsPerPageFunction = _ref.itemsPerPageFunction,
124
+ margin = _ref.margin,
125
+ _ref$tabIndex = _ref.tabIndex,
126
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
127
+ var colorsTheme = (0, _useTheme["default"])();
128
+
129
+ var _useState = (0, _react.useState)(1),
130
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
131
+ page = _useState2[0],
132
+ changePage = _useState2[1];
133
+
134
+ var _useState3 = (0, _react.useState)(""),
135
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
136
+ sortColumnIndex = _useState4[0],
137
+ changeSortColumnIndex = _useState4[1];
138
+
139
+ var _useState5 = (0, _react.useState)("asc"),
140
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
141
+ sortOrder = _useState6[0],
142
+ changeSortOrder = _useState6[1];
143
+
144
+ var minItemsPerPageIndex = (0, _react.useMemo)(function () {
145
+ return getMinItemsPerPageIndex(page, itemsPerPage, page);
146
+ }, [itemsPerPage, page]);
147
+ var maxItemsPerPageIndex = (0, _react.useMemo)(function () {
148
+ return getMaxItemsPerPageIndex(minItemsPerPageIndex, itemsPerPage, rows, page);
149
+ }, [itemsPerPage, minItemsPerPageIndex, page, rows]);
150
+
151
+ var goToPage = function goToPage(newPage) {
152
+ changePage(newPage);
153
+ };
154
+
155
+ var changeSorting = function changeSorting(columnIndex) {
156
+ changePage(1);
157
+ changeSortColumnIndex(columnIndex);
158
+ changeSortOrder(sortColumnIndex === "" || sortColumnIndex !== columnIndex ? "asc" : sortOrder === "asc" ? "desc" : "asc");
159
+ };
160
+
161
+ var getIconForSortableColumn = function getIconForSortableColumn(clickedColumnIndex) {
162
+ return sortColumnIndex === clickedColumnIndex ? sortOrder === "asc" ? /*#__PURE__*/_react["default"].createElement(ArrowUp, null) : /*#__PURE__*/_react["default"].createElement(ArrowDown, null) : /*#__PURE__*/_react["default"].createElement(BothArrows, null);
163
+ };
164
+
165
+ (0, _react.useEffect)(function () {
166
+ if (rows.length > 0) {
167
+ changePage(1);
168
+ } else {
169
+ changePage(0);
170
+ }
171
+ }, [rows.length, itemsPerPage]);
172
+ var sortedResultset = (0, _react.useMemo)(function () {
173
+ return sortColumnIndex !== "" ? sortArray(sortColumnIndex, sortOrder, rows) : rows;
174
+ }, [sortColumnIndex, sortOrder, rows]);
175
+ var filteredResultset = (0, _react.useMemo)(function () {
176
+ return sortedResultset && sortedResultset.slice(minItemsPerPageIndex, maxItemsPerPageIndex + 1);
177
+ }, [sortedResultset, minItemsPerPageIndex, maxItemsPerPageIndex]);
178
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
179
+ theme: colorsTheme.table
180
+ }, /*#__PURE__*/_react["default"].createElement(DxcResultsetTableContainer, {
181
+ margin: margin
182
+ }, /*#__PURE__*/_react["default"].createElement(TableContainer, null, /*#__PURE__*/_react["default"].createElement(_Table["default"], null, /*#__PURE__*/_react["default"].createElement(HeaderRow, null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column, index) {
183
+ return /*#__PURE__*/_react["default"].createElement(TableHeader, {
184
+ key: "tableHeader_".concat(index)
185
+ }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
186
+ key: "headerContainer_".concat(index),
187
+ onClick: function onClick() {
188
+ return column.isSortable && changeSorting(index);
189
+ },
190
+ tabIndex: column.isSortable ? tabIndex : -1
191
+ }, /*#__PURE__*/_react["default"].createElement(TitleDiv, {
192
+ isSortable: column.isSortable
193
+ }, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, getIconForSortableColumn(index))));
194
+ }))), /*#__PURE__*/_react["default"].createElement(TableRowGroup, null, filteredResultset.map(function (cells, index) {
195
+ return /*#__PURE__*/_react["default"].createElement("tr", {
196
+ key: "resultSetTableCell_".concat(index)
197
+ }, cells.map(function (cellContent, index) {
198
+ return /*#__PURE__*/_react["default"].createElement("td", {
199
+ key: "resultSetTableCellContent_".concat(index)
200
+ }, cellContent.displayValue);
201
+ }));
202
+ })))), /*#__PURE__*/_react["default"].createElement(PaginatorContainer, null, /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
203
+ totalItems: rows.length,
204
+ itemsPerPage: itemsPerPage,
205
+ itemsPerPageOptions: itemsPerPageOptions,
206
+ itemsPerPageFunction: itemsPerPageFunction,
207
+ currentPage: page,
208
+ showGoToPage: true,
209
+ onPageChange: goToPage,
210
+ tabIndex: tabIndex
211
+ }))));
212
+ };
213
+
214
+ var TableContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n & table {\n table-layout: auto;\n }\n"])));
215
+
216
+ var PaginatorContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
217
+
218
+ var TableRowGroup = _styledComponents["default"].tbody(_templateObject3 || (_templateObject3 = (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"])), function (props) {
219
+ return props.theme.rowHeight || "70px";
220
+ });
221
+
222
+ var SortIcon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (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"])), function (props) {
223
+ return props.theme.sortIconColor;
224
+ });
225
+
226
+ var TitleDiv = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n"])), function (props) {
227
+ return props.isSortable && "pointer" || "default";
228
+ });
229
+
230
+ var TableHeader = _styledComponents["default"].th(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
231
+
232
+ var HeaderContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n width: 100%;\n"])), function (props) {
233
+ return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
234
+ });
235
+
236
+ var HeaderRow = _styledComponents["default"].thead(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 60px;\n"])));
237
+
238
+ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
239
+ return props.theme.fontSizeBase;
240
+ }, function (props) {
241
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
242
+ }, function (props) {
243
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
244
+ }, function (props) {
245
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
246
+ }, function (props) {
247
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
248
+ }, function (props) {
249
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
250
+ });
251
+
252
+ DxcResultsetTable.propTypes = {
253
+ rows: _propTypes["default"].array,
254
+ columns: _propTypes["default"].array,
255
+ itemsPerPage: _propTypes["default"].number,
256
+ itemsPerPageOptions: _propTypes["default"].arrayOf(_propTypes["default"].number),
257
+ itemsPerPageFunction: _propTypes["default"].func,
258
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
259
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
260
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
261
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
262
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
263
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
264
+ tabIndex: _propTypes["default"].number
265
+ };
266
+ DxcResultsetTable.defaultProps = {
267
+ rows: [],
268
+ columns: [],
269
+ itemsPerPage: 5,
270
+ itemsPerPageOptions: null,
271
+ itemsPerPageFunction: null
272
+ };
273
+ var _default = DxcResultsetTable;
274
+ 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;