@dxc-technology/halstack-react 0.0.0-82fa030 → 0.0.0-839d2dc

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 (359) 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.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/Alert.stories.tsx +170 -0
  18. package/alert/types.d.ts +49 -0
  19. package/alert/types.js +5 -0
  20. package/badge/Badge.js +59 -0
  21. package/box/Box.d.ts +4 -0
  22. package/box/Box.js +129 -0
  23. package/box/Box.stories.tsx +132 -0
  24. package/box/types.d.ts +47 -0
  25. package/box/types.js +5 -0
  26. package/button/Button.d.ts +4 -0
  27. package/button/Button.js +177 -0
  28. package/button/Button.stories.tsx +276 -0
  29. package/button/types.d.ts +57 -0
  30. package/button/types.js +5 -0
  31. package/card/Card.d.ts +4 -0
  32. package/card/Card.js +165 -0
  33. package/card/types.d.ts +69 -0
  34. package/card/types.js +5 -0
  35. package/checkbox/Checkbox.d.ts +4 -0
  36. package/checkbox/Checkbox.js +253 -0
  37. package/checkbox/Checkbox.stories.tsx +192 -0
  38. package/checkbox/types.d.ts +60 -0
  39. package/checkbox/types.js +5 -0
  40. package/chip/Chip.js +221 -0
  41. package/chip/index.d.ts +22 -0
  42. package/{dist/common → common}/OpenSans.css +0 -0
  43. package/{dist/common → common}/RequiredComponent.js +5 -19
  44. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  54. package/common/utils.js +22 -0
  55. package/common/variables.js +1577 -0
  56. package/{dist/date → date}/Date.js +87 -70
  57. package/date/index.d.ts +27 -0
  58. package/date-input/DateInput.d.ts +4 -0
  59. package/date-input/DateInput.js +361 -0
  60. package/date-input/DateInput.stories.tsx +138 -0
  61. package/date-input/types.d.ts +100 -0
  62. package/date-input/types.js +5 -0
  63. package/dialog/Dialog.d.ts +4 -0
  64. package/dialog/Dialog.js +165 -0
  65. package/dialog/types.d.ts +43 -0
  66. package/dialog/types.js +5 -0
  67. package/dropdown/Dropdown.d.ts +4 -0
  68. package/dropdown/Dropdown.js +417 -0
  69. package/dropdown/types.d.ts +89 -0
  70. package/dropdown/types.js +5 -0
  71. package/file-input/FileInput.js +532 -0
  72. package/file-input/FileItem.js +193 -0
  73. package/file-input/index.d.ts +81 -0
  74. package/footer/Footer.d.ts +4 -0
  75. package/footer/Footer.js +266 -0
  76. package/footer/Footer.stories.jsx +151 -0
  77. package/footer/Icons.js +77 -0
  78. package/footer/types.d.ts +61 -0
  79. package/footer/types.js +5 -0
  80. package/header/Header.d.ts +7 -0
  81. package/header/Header.js +324 -0
  82. package/header/Icons.js +34 -0
  83. package/header/types.d.ts +45 -0
  84. package/header/types.js +5 -0
  85. package/heading/Heading.js +176 -0
  86. package/heading/index.d.ts +17 -0
  87. package/input-text/Icons.js +22 -0
  88. package/input-text/InputText.js +611 -0
  89. package/input-text/index.d.ts +36 -0
  90. package/{dist/layout → layout}/ApplicationLayout.js +42 -142
  91. package/layout/Icons.js +55 -0
  92. package/link/Link.d.ts +3 -0
  93. package/link/Link.js +161 -0
  94. package/link/Link.stories.tsx +70 -0
  95. package/link/types.d.ts +74 -0
  96. package/link/types.js +5 -0
  97. package/main.d.ts +44 -0
  98. package/{dist/main.js → main.js} +137 -53
  99. package/number-input/NumberInput.d.ts +4 -0
  100. package/number-input/NumberInput.js +86 -0
  101. package/number-input/NumberInput.stories.tsx +115 -0
  102. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +3 -2
  103. package/number-input/types.d.ts +117 -0
  104. package/number-input/types.js +5 -0
  105. package/package.json +37 -23
  106. package/paginator/Icons.js +66 -0
  107. package/paginator/Paginator.d.ts +4 -0
  108. package/paginator/Paginator.js +198 -0
  109. package/paginator/Paginator.stories.tsx +63 -0
  110. package/paginator/types.d.ts +38 -0
  111. package/paginator/types.js +5 -0
  112. package/password-input/PasswordInput.d.ts +4 -0
  113. package/password-input/PasswordInput.js +162 -0
  114. package/password-input/PasswordInput.stories.tsx +131 -0
  115. package/password-input/types.d.ts +100 -0
  116. package/password-input/types.js +5 -0
  117. package/progress-bar/ProgressBar.d.ts +4 -0
  118. package/progress-bar/ProgressBar.js +170 -0
  119. package/progress-bar/ProgressBar.stories.jsx +58 -0
  120. package/progress-bar/types.d.ts +37 -0
  121. package/progress-bar/types.js +5 -0
  122. package/radio/Radio.d.ts +4 -0
  123. package/radio/Radio.js +174 -0
  124. package/radio/Radio.stories.tsx +192 -0
  125. package/radio/types.d.ts +54 -0
  126. package/radio/types.js +5 -0
  127. package/resultsetTable/ResultsetTable.js +274 -0
  128. package/resultsetTable/index.d.ts +19 -0
  129. package/select/Select.js +865 -0
  130. package/select/index.d.ts +131 -0
  131. package/sidenav/Sidenav.d.ts +9 -0
  132. package/sidenav/Sidenav.js +136 -0
  133. package/sidenav/types.d.ts +50 -0
  134. package/sidenav/types.js +5 -0
  135. package/slider/Slider.d.ts +4 -0
  136. package/slider/Slider.js +317 -0
  137. package/slider/Slider.stories.tsx +172 -0
  138. package/slider/types.d.ts +78 -0
  139. package/slider/types.js +5 -0
  140. package/spinner/Spinner.d.ts +4 -0
  141. package/spinner/Spinner.js +250 -0
  142. package/spinner/Spinner.stories.jsx +102 -0
  143. package/spinner/types.d.ts +32 -0
  144. package/spinner/types.js +5 -0
  145. package/switch/Switch.d.ts +4 -0
  146. package/switch/Switch.js +179 -0
  147. package/switch/Switch.stories.tsx +160 -0
  148. package/switch/types.d.ts +58 -0
  149. package/switch/types.js +5 -0
  150. package/table/Table.d.ts +4 -0
  151. package/table/Table.js +118 -0
  152. package/table/Table.stories.jsx +276 -0
  153. package/table/types.d.ts +21 -0
  154. package/table/types.js +5 -0
  155. package/tabs/Tabs.d.ts +4 -0
  156. package/tabs/Tabs.js +211 -0
  157. package/tabs/types.d.ts +71 -0
  158. package/tabs/types.js +5 -0
  159. package/tag/Tag.d.ts +4 -0
  160. package/tag/Tag.js +193 -0
  161. package/tag/Tag.stories.tsx +145 -0
  162. package/tag/types.d.ts +60 -0
  163. package/tag/types.js +5 -0
  164. package/text-input/TextInput.js +825 -0
  165. package/text-input/index.d.ts +135 -0
  166. package/textarea/Textarea.js +317 -0
  167. package/textarea/Textarea.stories.jsx +135 -0
  168. package/textarea/index.d.ts +117 -0
  169. package/{dist/toggle → toggle}/Toggle.js +30 -67
  170. package/toggle/index.d.ts +21 -0
  171. package/toggle-group/ToggleGroup.js +243 -0
  172. package/toggle-group/index.d.ts +21 -0
  173. package/{dist/upload → upload}/Upload.js +23 -22
  174. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  175. package/upload/buttons-upload/Icons.js +40 -0
  176. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  177. package/upload/dragAndDropArea/Icons.js +39 -0
  178. package/upload/file-upload/FileToUpload.js +115 -0
  179. package/upload/file-upload/Icons.js +66 -0
  180. package/upload/files-upload/FilesToUpload.js +109 -0
  181. package/upload/index.d.ts +15 -0
  182. package/upload/transaction/Icons.js +160 -0
  183. package/upload/transaction/Transaction.js +104 -0
  184. package/upload/transactions/Transactions.js +94 -0
  185. package/useTheme.js +22 -0
  186. package/wizard/Icons.js +65 -0
  187. package/wizard/Wizard.d.ts +4 -0
  188. package/wizard/Wizard.js +231 -0
  189. package/wizard/types.d.ts +64 -0
  190. package/wizard/types.js +5 -0
  191. package/README.md +0 -66
  192. package/babel.config.js +0 -4
  193. package/dist/accordion/Accordion.js +0 -248
  194. package/dist/accordion/Accordion.stories.js +0 -207
  195. package/dist/accordion/readme.md +0 -96
  196. package/dist/alert/Alert.js +0 -304
  197. package/dist/alert/Alert.stories.js +0 -158
  198. package/dist/alert/close.svg +0 -4
  199. package/dist/alert/error.svg +0 -4
  200. package/dist/alert/info.svg +0 -4
  201. package/dist/alert/readme.md +0 -43
  202. package/dist/alert/success.svg +0 -4
  203. package/dist/alert/warning.svg +0 -4
  204. package/dist/box/Box.js +0 -148
  205. package/dist/button/Button.js +0 -202
  206. package/dist/button/Button.stories.js +0 -224
  207. package/dist/button/readme.md +0 -93
  208. package/dist/card/Card.js +0 -217
  209. package/dist/checkbox/Checkbox.js +0 -240
  210. package/dist/checkbox/Checkbox.stories.js +0 -144
  211. package/dist/checkbox/readme.md +0 -116
  212. package/dist/chip/Chip.js +0 -173
  213. package/dist/common/services/example-service.js +0 -10
  214. package/dist/common/services/example-service.test.js +0 -12
  215. package/dist/common/utils.js +0 -42
  216. package/dist/common/variables.js +0 -434
  217. package/dist/date/Date.stories.js +0 -205
  218. package/dist/date/calendar.svg +0 -1
  219. package/dist/date/calendar_dark.svg +0 -1
  220. package/dist/date/readme.md +0 -73
  221. package/dist/dialog/Dialog.js +0 -197
  222. package/dist/dialog/Dialog.stories.js +0 -217
  223. package/dist/dialog/readme.md +0 -32
  224. package/dist/dropdown/Dropdown.js +0 -416
  225. package/dist/dropdown/Dropdown.stories.js +0 -249
  226. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  227. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  228. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  229. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  230. package/dist/dropdown/readme.md +0 -69
  231. package/dist/footer/Footer.js +0 -346
  232. package/dist/footer/Footer.stories.js +0 -94
  233. package/dist/footer/dxc_logo_wht.png +0 -0
  234. package/dist/footer/readme.md +0 -41
  235. package/dist/header/Header.js +0 -373
  236. package/dist/header/Header.stories.js +0 -176
  237. package/dist/header/close_icon.svg +0 -1
  238. package/dist/header/dxc_logo_black.png +0 -0
  239. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  240. package/dist/header/dxc_logo_white.png +0 -0
  241. package/dist/header/hamb_menu_black.svg +0 -1
  242. package/dist/header/hamb_menu_white.svg +0 -1
  243. package/dist/header/readme.md +0 -33
  244. package/dist/heading/Heading.js +0 -153
  245. package/dist/input-text/InputText.js +0 -519
  246. package/dist/input-text/InputText.stories.js +0 -209
  247. package/dist/input-text/error.svg +0 -1
  248. package/dist/input-text/readme.md +0 -91
  249. package/dist/layout/facebook.svg +0 -45
  250. package/dist/layout/linkedin.svg +0 -50
  251. package/dist/layout/twitter.svg +0 -53
  252. package/dist/link/Link.js +0 -171
  253. package/dist/link/readme.md +0 -51
  254. package/dist/paginator/Paginator.js +0 -196
  255. package/dist/paginator/images/next.svg +0 -3
  256. package/dist/paginator/images/nextPage.svg +0 -3
  257. package/dist/paginator/images/previous.svg +0 -3
  258. package/dist/paginator/images/previousPage.svg +0 -3
  259. package/dist/paginator/readme.md +0 -50
  260. package/dist/progress-bar/ProgressBar.js +0 -185
  261. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  262. package/dist/progress-bar/readme.md +0 -63
  263. package/dist/radio/Radio.js +0 -195
  264. package/dist/radio/Radio.stories.js +0 -166
  265. package/dist/radio/readme.md +0 -70
  266. package/dist/resultsetTable/ResultsetTable.js +0 -333
  267. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  268. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  269. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  270. package/dist/select/Select.js +0 -453
  271. package/dist/select/Select.stories.js +0 -235
  272. package/dist/select/readme.md +0 -72
  273. package/dist/sidenav/Sidenav.js +0 -128
  274. package/dist/slider/Slider.js +0 -266
  275. package/dist/slider/Slider.stories.js +0 -241
  276. package/dist/slider/readme.md +0 -64
  277. package/dist/spinner/Spinner.js +0 -193
  278. package/dist/spinner/Spinner.stories.js +0 -183
  279. package/dist/spinner/readme.md +0 -65
  280. package/dist/switch/Switch.js +0 -199
  281. package/dist/switch/Switch.stories.js +0 -134
  282. package/dist/switch/readme.md +0 -133
  283. package/dist/table/Table.js +0 -105
  284. package/dist/tabs/Tabs.js +0 -172
  285. package/dist/tabs/Tabs.stories.js +0 -130
  286. package/dist/tabs/readme.md +0 -78
  287. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  288. package/dist/tabs-for-sections/readme.md +0 -78
  289. package/dist/tag/Tag.js +0 -234
  290. package/dist/textarea/Textarea.js +0 -227
  291. package/dist/toggle/Toggle.stories.js +0 -297
  292. package/dist/toggle/readme.md +0 -80
  293. package/dist/toggle-group/ToggleGroup.js +0 -214
  294. package/dist/toggle-group/readme.md +0 -82
  295. package/dist/upload/Upload.stories.js +0 -72
  296. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  297. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  298. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  299. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  300. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  301. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  302. package/dist/upload/file-upload/FileToUpload.js +0 -158
  303. package/dist/upload/file-upload/audio-icon.svg +0 -4
  304. package/dist/upload/file-upload/close.svg +0 -4
  305. package/dist/upload/file-upload/file-icon.svg +0 -4
  306. package/dist/upload/file-upload/video-icon.svg +0 -4
  307. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  308. package/dist/upload/readme.md +0 -37
  309. package/dist/upload/transaction/Transaction.js +0 -155
  310. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  311. package/dist/upload/transaction/audio-icon.svg +0 -4
  312. package/dist/upload/transaction/error-icon.svg +0 -4
  313. package/dist/upload/transaction/file-icon-err.svg +0 -4
  314. package/dist/upload/transaction/file-icon.svg +0 -4
  315. package/dist/upload/transaction/image-icon-err.svg +0 -4
  316. package/dist/upload/transaction/image-icon.svg +0 -4
  317. package/dist/upload/transaction/success-icon.svg +0 -4
  318. package/dist/upload/transaction/video-icon-err.svg +0 -4
  319. package/dist/upload/transaction/video-icon.svg +0 -4
  320. package/dist/upload/transactions/Transactions.js +0 -120
  321. package/dist/wizard/Wizard.js +0 -327
  322. package/dist/wizard/invalid_icon.svg +0 -6
  323. package/dist/wizard/valid_icon.svg +0 -6
  324. package/dist/wizard/validation-wrong.svg +0 -6
  325. package/test/Accordion.test.js +0 -33
  326. package/test/Alert.test.js +0 -53
  327. package/test/Box.test.js +0 -10
  328. package/test/Button.test.js +0 -18
  329. package/test/Card.test.js +0 -30
  330. package/test/Checkbox.test.js +0 -45
  331. package/test/Chip.test.js +0 -25
  332. package/test/Date.test.js +0 -393
  333. package/test/Dialog.test.js +0 -23
  334. package/test/Dropdown.test.js +0 -130
  335. package/test/Footer.test.js +0 -99
  336. package/test/Header.test.js +0 -39
  337. package/test/Heading.test.js +0 -35
  338. package/test/InputText.test.js +0 -236
  339. package/test/Link.test.js +0 -33
  340. package/test/Paginator.test.js +0 -165
  341. package/test/ProgressBar.test.js +0 -35
  342. package/test/Radio.test.js +0 -37
  343. package/test/ResultsetTable.test.js +0 -282
  344. package/test/Select.test.js +0 -191
  345. package/test/Sidenav.test.js +0 -45
  346. package/test/Slider.test.js +0 -82
  347. package/test/Spinner.test.js +0 -27
  348. package/test/Switch.test.js +0 -45
  349. package/test/Table.test.js +0 -36
  350. package/test/Tabs.test.js +0 -88
  351. package/test/TabsForSections.test.js +0 -34
  352. package/test/Tag.test.js +0 -32
  353. package/test/TextArea.test.js +0 -52
  354. package/test/Toggle.test.js +0 -43
  355. package/test/ToggleGroup.test.js +0 -81
  356. package/test/Upload.test.js +0 -60
  357. package/test/Wizard.test.js +0 -130
  358. package/test/mocks/pngMock.js +0 -1
  359. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,54 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * If true, the radio is selected. If undefined the component will be uncontrolled
11
+ * and the value will be managed internally by the component.
12
+ */
13
+ checked?: boolean;
14
+ /**
15
+ * Will be passed to the value attribute of the html input element. When inside a
16
+ * form, this value will be only submitted if the radio is checked.
17
+ */
18
+ value?: string;
19
+ /**
20
+ * Text to be placed next to the radio.
21
+ */
22
+ label: string;
23
+ /**
24
+ * Whether the label should appear after or before the radio.
25
+ */
26
+ labelPosition?: "before" | "after";
27
+ /**
28
+ * Name attribute of the input element.
29
+ */
30
+ name?: string;
31
+ /**
32
+ * If true, the component will be disabled.
33
+ */
34
+ disabled?: boolean;
35
+ /**
36
+ * If true, the radio will change its appearence, showing that the value is required.
37
+ */
38
+ required?: boolean;
39
+ /**
40
+ * This function will be called when the user clicks the radio. The new value will
41
+ * be passed as a parameter.
42
+ */
43
+ onClick?: (val: boolean) => void;
44
+ /**
45
+ * Size of the margin to be applied to the component. You can pass an object with 'top',
46
+ * 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
47
+ */
48
+ margin?: Space | Margin;
49
+ /**
50
+ * Size of the component.
51
+ */
52
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
53
+ };
54
+ export default Props;
package/radio/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -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;