@dxc-technology/halstack-react 0.0.0-e49dc66 → 0.0.0-e4ccd42

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 (373) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +118 -194
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +12 -23
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +39 -108
  13. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  14. package/accordion-group/AccordionGroup.test.js +98 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +18 -23
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +24 -60
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +75 -0
  26. package/alert/types.d.ts +6 -6
  27. package/badge/Badge.d.ts +4 -0
  28. package/badge/Badge.js +141 -41
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +54 -0
  32. package/badge/types.js +5 -0
  33. package/bleed/Bleed.d.ts +3 -0
  34. package/bleed/Bleed.js +43 -0
  35. package/bleed/Bleed.stories.tsx +342 -0
  36. package/bleed/types.d.ts +37 -0
  37. package/bleed/types.js +5 -0
  38. package/box/Box.d.ts +1 -1
  39. package/box/Box.js +32 -86
  40. package/box/Box.stories.tsx +38 -51
  41. package/box/Box.test.js +13 -0
  42. package/box/types.d.ts +3 -18
  43. package/bulleted-list/BulletedList.d.ts +7 -0
  44. package/bulleted-list/BulletedList.js +89 -0
  45. package/bulleted-list/BulletedList.stories.tsx +115 -0
  46. package/bulleted-list/types.d.ts +38 -0
  47. package/bulleted-list/types.js +5 -0
  48. package/button/Button.d.ts +1 -1
  49. package/button/Button.js +65 -122
  50. package/button/Button.stories.tsx +164 -96
  51. package/button/Button.test.js +38 -0
  52. package/button/types.d.ts +14 -14
  53. package/card/Card.d.ts +1 -1
  54. package/card/Card.js +59 -104
  55. package/card/Card.stories.tsx +171 -0
  56. package/card/Card.test.js +39 -0
  57. package/card/types.d.ts +8 -15
  58. package/checkbox/Checkbox.d.ts +2 -2
  59. package/checkbox/Checkbox.js +145 -183
  60. package/checkbox/Checkbox.stories.tsx +166 -136
  61. package/checkbox/Checkbox.test.js +199 -0
  62. package/checkbox/types.d.ts +20 -8
  63. package/chip/Chip.d.ts +4 -0
  64. package/chip/Chip.js +48 -148
  65. package/chip/Chip.stories.tsx +214 -0
  66. package/chip/Chip.test.js +41 -0
  67. package/chip/types.d.ts +45 -0
  68. package/chip/types.js +5 -0
  69. package/common/OpenSans.css +68 -80
  70. package/common/coreTokens.d.ts +237 -0
  71. package/common/coreTokens.js +184 -0
  72. package/common/utils.d.ts +1 -0
  73. package/common/utils.js +6 -12
  74. package/common/variables.d.ts +1395 -0
  75. package/common/variables.js +1033 -1343
  76. package/container/Container.d.ts +4 -0
  77. package/container/Container.js +194 -0
  78. package/container/Container.stories.tsx +214 -0
  79. package/container/types.d.ts +74 -0
  80. package/container/types.js +5 -0
  81. package/date-input/Calendar.d.ts +4 -0
  82. package/date-input/Calendar.js +214 -0
  83. package/date-input/DateInput.js +175 -313
  84. package/date-input/DateInput.stories.tsx +203 -56
  85. package/date-input/DateInput.test.js +808 -0
  86. package/date-input/DatePicker.d.ts +4 -0
  87. package/date-input/DatePicker.js +115 -0
  88. package/date-input/Icons.d.ts +6 -0
  89. package/date-input/Icons.js +58 -0
  90. package/date-input/YearPicker.d.ts +4 -0
  91. package/date-input/YearPicker.js +100 -0
  92. package/date-input/types.d.ts +86 -22
  93. package/dialog/Dialog.d.ts +1 -1
  94. package/dialog/Dialog.js +69 -130
  95. package/dialog/Dialog.stories.tsx +365 -0
  96. package/dialog/Dialog.test.js +307 -0
  97. package/dialog/types.d.ts +18 -25
  98. package/dropdown/Dropdown.d.ts +1 -1
  99. package/dropdown/Dropdown.js +250 -331
  100. package/dropdown/Dropdown.stories.tsx +438 -0
  101. package/dropdown/Dropdown.test.js +599 -0
  102. package/dropdown/DropdownMenu.d.ts +4 -0
  103. package/dropdown/DropdownMenu.js +63 -0
  104. package/dropdown/DropdownMenuItem.d.ts +4 -0
  105. package/dropdown/DropdownMenuItem.js +67 -0
  106. package/dropdown/types.d.ts +37 -28
  107. package/file-input/FileInput.d.ts +4 -0
  108. package/file-input/FileInput.js +274 -327
  109. package/file-input/FileInput.stories.tsx +618 -0
  110. package/file-input/FileInput.test.js +459 -0
  111. package/file-input/FileItem.d.ts +4 -0
  112. package/file-input/FileItem.js +54 -112
  113. package/file-input/types.d.ts +129 -0
  114. package/file-input/types.js +5 -0
  115. package/flex/Flex.d.ts +4 -0
  116. package/flex/Flex.js +57 -0
  117. package/flex/Flex.stories.tsx +112 -0
  118. package/flex/types.d.ts +97 -0
  119. package/flex/types.js +5 -0
  120. package/footer/Footer.d.ts +1 -1
  121. package/footer/Footer.js +73 -201
  122. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +57 -37
  123. package/footer/Footer.test.js +85 -0
  124. package/footer/Icons.d.ts +3 -0
  125. package/footer/Icons.js +67 -8
  126. package/footer/types.d.ts +41 -38
  127. package/grid/Grid.d.ts +7 -0
  128. package/grid/Grid.js +76 -0
  129. package/grid/Grid.stories.tsx +219 -0
  130. package/grid/types.d.ts +115 -0
  131. package/grid/types.js +5 -0
  132. package/header/Header.d.ts +4 -3
  133. package/header/Header.js +100 -204
  134. package/header/Header.stories.tsx +251 -0
  135. package/header/Header.test.js +66 -0
  136. package/header/Icons.d.ts +2 -0
  137. package/header/Icons.js +4 -9
  138. package/header/types.d.ts +4 -16
  139. package/heading/Heading.d.ts +4 -0
  140. package/heading/Heading.js +16 -55
  141. package/heading/Heading.stories.tsx +54 -0
  142. package/heading/Heading.test.js +169 -0
  143. package/heading/types.d.ts +33 -0
  144. package/heading/types.js +5 -0
  145. package/image/Image.d.ts +4 -0
  146. package/image/Image.js +70 -0
  147. package/image/Image.stories.tsx +129 -0
  148. package/image/types.d.ts +72 -0
  149. package/image/types.js +5 -0
  150. package/inset/Inset.d.ts +3 -0
  151. package/inset/Inset.js +43 -0
  152. package/inset/Inset.stories.tsx +230 -0
  153. package/inset/types.d.ts +37 -0
  154. package/inset/types.js +5 -0
  155. package/layout/ApplicationLayout.d.ts +20 -0
  156. package/layout/ApplicationLayout.js +83 -184
  157. package/layout/ApplicationLayout.stories.tsx +162 -0
  158. package/layout/Icons.d.ts +8 -0
  159. package/layout/Icons.js +51 -48
  160. package/layout/SidenavContext.d.ts +5 -0
  161. package/layout/SidenavContext.js +13 -0
  162. package/layout/types.d.ts +41 -0
  163. package/layout/types.js +5 -0
  164. package/link/Link.d.ts +3 -2
  165. package/link/Link.js +65 -111
  166. package/link/Link.stories.tsx +199 -16
  167. package/link/Link.test.js +63 -0
  168. package/link/types.d.ts +15 -35
  169. package/main.d.ts +17 -14
  170. package/main.js +78 -98
  171. package/nav-tabs/NavTabs.d.ts +8 -0
  172. package/nav-tabs/NavTabs.js +93 -0
  173. package/nav-tabs/NavTabs.stories.tsx +276 -0
  174. package/nav-tabs/NavTabs.test.js +76 -0
  175. package/nav-tabs/Tab.d.ts +4 -0
  176. package/nav-tabs/Tab.js +118 -0
  177. package/nav-tabs/types.d.ts +52 -0
  178. package/nav-tabs/types.js +5 -0
  179. package/number-input/NumberInput.d.ts +11 -0
  180. package/number-input/NumberInput.js +49 -91
  181. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +44 -28
  182. package/number-input/NumberInput.test.js +989 -0
  183. package/number-input/types.d.ts +130 -0
  184. package/number-input/types.js +5 -0
  185. package/package.json +46 -45
  186. package/paginator/Icons.d.ts +5 -0
  187. package/paginator/Icons.js +21 -47
  188. package/paginator/Paginator.js +35 -98
  189. package/paginator/Paginator.stories.tsx +24 -0
  190. package/paginator/Paginator.test.js +335 -0
  191. package/paginator/types.d.ts +3 -3
  192. package/paragraph/Paragraph.d.ts +5 -0
  193. package/paragraph/Paragraph.js +22 -0
  194. package/paragraph/Paragraph.stories.tsx +27 -0
  195. package/password-input/Icons.d.ts +6 -0
  196. package/password-input/Icons.js +35 -0
  197. package/password-input/PasswordInput.js +60 -125
  198. package/password-input/PasswordInput.stories.tsx +3 -35
  199. package/password-input/PasswordInput.test.js +198 -0
  200. package/password-input/types.d.ts +35 -24
  201. package/progress-bar/ProgressBar.js +66 -92
  202. package/progress-bar/ProgressBar.stories.tsx +93 -0
  203. package/progress-bar/ProgressBar.test.js +93 -0
  204. package/progress-bar/types.d.ts +3 -3
  205. package/quick-nav/QuickNav.d.ts +4 -0
  206. package/quick-nav/QuickNav.js +94 -0
  207. package/quick-nav/QuickNav.stories.tsx +356 -0
  208. package/quick-nav/types.d.ts +21 -0
  209. package/quick-nav/types.js +5 -0
  210. package/radio-group/Radio.d.ts +4 -0
  211. package/radio-group/Radio.js +124 -0
  212. package/radio-group/RadioGroup.d.ts +4 -0
  213. package/radio-group/RadioGroup.js +235 -0
  214. package/radio-group/RadioGroup.stories.tsx +214 -0
  215. package/radio-group/RadioGroup.test.js +756 -0
  216. package/radio-group/types.d.ts +114 -0
  217. package/radio-group/types.js +5 -0
  218. package/resultset-table/Icons.d.ts +7 -0
  219. package/resultset-table/Icons.js +47 -0
  220. package/resultset-table/ResultsetTable.d.ts +7 -0
  221. package/resultset-table/ResultsetTable.js +166 -0
  222. package/resultset-table/ResultsetTable.stories.tsx +397 -0
  223. package/resultset-table/ResultsetTable.test.js +371 -0
  224. package/resultset-table/types.d.ts +73 -0
  225. package/resultset-table/types.js +5 -0
  226. package/select/Icons.d.ts +10 -0
  227. package/select/Icons.js +89 -0
  228. package/select/Listbox.d.ts +4 -0
  229. package/select/Listbox.js +143 -0
  230. package/select/Option.d.ts +4 -0
  231. package/select/Option.js +87 -0
  232. package/select/Select.d.ts +4 -0
  233. package/select/Select.js +240 -515
  234. package/select/Select.stories.tsx +971 -0
  235. package/select/Select.test.js +2370 -0
  236. package/select/types.d.ts +209 -0
  237. package/select/types.js +5 -0
  238. package/sidenav/Icons.d.ts +7 -0
  239. package/sidenav/Icons.js +47 -0
  240. package/sidenav/Sidenav.d.ts +10 -0
  241. package/sidenav/Sidenav.js +132 -81
  242. package/sidenav/Sidenav.stories.tsx +282 -0
  243. package/sidenav/Sidenav.test.js +37 -0
  244. package/sidenav/types.d.ts +76 -0
  245. package/sidenav/types.js +5 -0
  246. package/slider/Slider.d.ts +2 -2
  247. package/slider/Slider.js +151 -183
  248. package/slider/Slider.test.js +254 -0
  249. package/slider/types.d.ts +11 -3
  250. package/spinner/Spinner.js +32 -76
  251. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  252. package/spinner/Spinner.test.js +55 -0
  253. package/spinner/types.d.ts +3 -3
  254. package/status-light/StatusLight.d.ts +4 -0
  255. package/status-light/StatusLight.js +51 -0
  256. package/status-light/StatusLight.stories.tsx +74 -0
  257. package/status-light/StatusLight.test.js +25 -0
  258. package/status-light/types.d.ts +17 -0
  259. package/status-light/types.js +5 -0
  260. package/switch/Switch.d.ts +2 -2
  261. package/switch/Switch.js +150 -115
  262. package/switch/Switch.stories.tsx +45 -68
  263. package/switch/Switch.test.js +180 -0
  264. package/switch/types.d.ts +13 -5
  265. package/table/DropdownTheme.js +62 -0
  266. package/table/Table.d.ts +6 -2
  267. package/table/Table.js +89 -37
  268. package/table/Table.stories.tsx +658 -0
  269. package/table/Table.test.js +113 -0
  270. package/table/types.d.ts +48 -6
  271. package/tabs/Tab.d.ts +4 -0
  272. package/tabs/Tab.js +116 -0
  273. package/tabs/Tabs.d.ts +1 -1
  274. package/tabs/Tabs.js +318 -145
  275. package/tabs/Tabs.stories.tsx +226 -0
  276. package/tabs/Tabs.test.js +294 -0
  277. package/tabs/types.d.ts +48 -27
  278. package/tag/Tag.d.ts +1 -1
  279. package/tag/Tag.js +44 -86
  280. package/tag/Tag.stories.tsx +38 -28
  281. package/tag/Tag.test.js +49 -0
  282. package/tag/types.d.ts +25 -16
  283. package/text-input/Icons.d.ts +8 -0
  284. package/text-input/Icons.js +56 -0
  285. package/text-input/Suggestion.d.ts +4 -0
  286. package/text-input/Suggestion.js +67 -0
  287. package/text-input/Suggestions.d.ts +4 -0
  288. package/text-input/Suggestions.js +84 -0
  289. package/text-input/TextInput.d.ts +4 -0
  290. package/text-input/TextInput.js +333 -593
  291. package/text-input/TextInput.stories.tsx +465 -0
  292. package/text-input/TextInput.test.js +1756 -0
  293. package/text-input/types.d.ts +205 -0
  294. package/text-input/types.js +5 -0
  295. package/textarea/Textarea.d.ts +4 -0
  296. package/textarea/Textarea.js +98 -181
  297. package/textarea/Textarea.stories.tsx +174 -0
  298. package/textarea/Textarea.test.js +406 -0
  299. package/textarea/types.d.ts +141 -0
  300. package/textarea/types.js +5 -0
  301. package/toggle-group/ToggleGroup.d.ts +4 -0
  302. package/toggle-group/ToggleGroup.js +100 -142
  303. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  304. package/toggle-group/ToggleGroup.test.js +137 -0
  305. package/toggle-group/types.d.ts +114 -0
  306. package/toggle-group/types.js +5 -0
  307. package/typography/Typography.d.ts +4 -0
  308. package/typography/Typography.js +23 -0
  309. package/typography/Typography.stories.tsx +198 -0
  310. package/typography/types.d.ts +18 -0
  311. package/typography/types.js +5 -0
  312. package/useTheme.d.ts +1148 -0
  313. package/useTheme.js +4 -11
  314. package/useTranslatedLabels.d.ts +85 -0
  315. package/useTranslatedLabels.js +14 -0
  316. package/utils/BaseTypography.d.ts +21 -0
  317. package/utils/BaseTypography.js +94 -0
  318. package/utils/FocusLock.d.ts +13 -0
  319. package/utils/FocusLock.js +124 -0
  320. package/wizard/Wizard.d.ts +4 -0
  321. package/wizard/Wizard.js +130 -151
  322. package/wizard/Wizard.stories.tsx +253 -0
  323. package/wizard/Wizard.test.js +114 -0
  324. package/wizard/types.d.ts +64 -0
  325. package/wizard/types.js +5 -0
  326. package/ThemeContext.js +0 -246
  327. package/V3Select/V3Select.js +0 -455
  328. package/V3Select/index.d.ts +0 -27
  329. package/V3Textarea/V3Textarea.js +0 -260
  330. package/V3Textarea/index.d.ts +0 -27
  331. package/chip/index.d.ts +0 -22
  332. package/common/RequiredComponent.js +0 -32
  333. package/date/Date.js +0 -373
  334. package/date/index.d.ts +0 -27
  335. package/file-input/index.d.ts +0 -81
  336. package/heading/index.d.ts +0 -17
  337. package/input-text/Icons.js +0 -22
  338. package/input-text/InputText.js +0 -611
  339. package/input-text/index.d.ts +0 -36
  340. package/number-input/NumberInputContext.js +0 -16
  341. package/number-input/index.d.ts +0 -113
  342. package/progress-bar/ProgressBar.stories.jsx +0 -58
  343. package/radio/Radio.d.ts +0 -4
  344. package/radio/Radio.js +0 -174
  345. package/radio/Radio.stories.tsx +0 -192
  346. package/radio/types.d.ts +0 -54
  347. package/resultsetTable/ResultsetTable.js +0 -274
  348. package/resultsetTable/index.d.ts +0 -19
  349. package/select/index.d.ts +0 -131
  350. package/sidenav/index.d.ts +0 -13
  351. package/slider/Slider.stories.tsx +0 -172
  352. package/table/Table.stories.jsx +0 -276
  353. package/text-input/index.d.ts +0 -135
  354. package/textarea/Textarea.stories.jsx +0 -135
  355. package/textarea/index.d.ts +0 -117
  356. package/toggle/Toggle.js +0 -186
  357. package/toggle/index.d.ts +0 -21
  358. package/toggle-group/index.d.ts +0 -21
  359. package/upload/Upload.js +0 -201
  360. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  361. package/upload/buttons-upload/Icons.js +0 -40
  362. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  363. package/upload/dragAndDropArea/Icons.js +0 -39
  364. package/upload/file-upload/FileToUpload.js +0 -115
  365. package/upload/file-upload/Icons.js +0 -66
  366. package/upload/files-upload/FilesToUpload.js +0 -109
  367. package/upload/index.d.ts +0 -15
  368. package/upload/transaction/Icons.js +0 -160
  369. package/upload/transaction/Transaction.js +0 -104
  370. package/upload/transactions/Transactions.js +0 -94
  371. package/wizard/Icons.js +0 -65
  372. package/wizard/index.d.ts +0 -18
  373. /package/{radio → action-icon}/types.js +0 -0
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
+ var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable.tsx"));
12
+ // Mocking DOMRect for Radix Primitive Popover
13
+ global.globalThis = global;
14
+ global.DOMRect = {
15
+ fromRect: function fromRect() {
16
+ return {
17
+ top: 0,
18
+ left: 0,
19
+ bottom: 0,
20
+ right: 0,
21
+ width: 0,
22
+ height: 0
23
+ };
24
+ }
25
+ };
26
+ global.ResizeObserver = /*#__PURE__*/function () {
27
+ function ResizeObserver() {
28
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
29
+ }
30
+ (0, _createClass2["default"])(ResizeObserver, [{
31
+ key: "observe",
32
+ value: function observe() {}
33
+ }, {
34
+ key: "unobserve",
35
+ value: function unobserve() {}
36
+ }, {
37
+ key: "disconnect",
38
+ value: function disconnect() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+ var icon = /*#__PURE__*/_react["default"].createElement("svg", {
43
+ xmlns: "http://www.w3.org/2000/svg",
44
+ height: "24px",
45
+ viewBox: "0 0 24 24",
46
+ width: "24px",
47
+ fill: "currentColor"
48
+ }, /*#__PURE__*/_react["default"].createElement("path", {
49
+ d: "M0 0h24v24H0V0zm0 0h24v24H0V0z",
50
+ fill: "none"
51
+ }), /*#__PURE__*/_react["default"].createElement("path", {
52
+ d: "M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z"
53
+ }));
54
+ var columns = [{
55
+ displayValue: "Id",
56
+ isSortable: false
57
+ }, {
58
+ displayValue: "Name",
59
+ isSortable: true
60
+ }, {
61
+ displayValue: "City",
62
+ isSortable: false
63
+ }];
64
+ var rows = [[{
65
+ displayValue: "001",
66
+ sortValue: "001"
67
+ }, {
68
+ displayValue: "Peter",
69
+ sortValue: "Peter"
70
+ }, {
71
+ displayValue: "Oviedo",
72
+ sortValue: "Oviedo"
73
+ }], [{
74
+ displayValue: "002",
75
+ sortValue: "002"
76
+ }, {
77
+ displayValue: "Louis",
78
+ sortValue: "Louis"
79
+ }, {
80
+ displayValue: "Oviedo",
81
+ sortValue: "Oviedo"
82
+ }], [{
83
+ displayValue: "003",
84
+ sortValue: "003"
85
+ }, {
86
+ displayValue: "Lana",
87
+ sortValue: "Lana"
88
+ }, {
89
+ displayValue: "Albacete",
90
+ sortValue: "Albacete"
91
+ }], [{
92
+ displayValue: "004",
93
+ sortValue: "004"
94
+ }, {
95
+ displayValue: "Rick",
96
+ sortValue: "Rick"
97
+ }, {
98
+ displayValue: "Albacete",
99
+ sortValue: "Albacete"
100
+ }], [{
101
+ displayValue: "005",
102
+ sortValue: "005"
103
+ }, {
104
+ displayValue: "Mark",
105
+ sortValue: "Mark"
106
+ }, {
107
+ displayValue: "Madrid",
108
+ sortValue: "Madrid"
109
+ }], [{
110
+ displayValue: "006",
111
+ sortValue: "006"
112
+ }, {
113
+ displayValue: "Cris",
114
+ sortValue: "Cris"
115
+ }, {
116
+ displayValue: "Barcelona",
117
+ sortValue: "Barcelona"
118
+ }], [{
119
+ displayValue: "007",
120
+ sortValue: "007"
121
+ }, {
122
+ displayValue: "Susan",
123
+ sortValue: "Susan"
124
+ }, {
125
+ displayValue: "Madrid",
126
+ sortValue: "Madrid"
127
+ }], [{
128
+ displayValue: "008",
129
+ sortValue: "008"
130
+ }, {
131
+ displayValue: "Tina",
132
+ sortValue: "Tina"
133
+ }, {
134
+ displayValue: "Barcelona",
135
+ sortValue: "Barcelona"
136
+ }], [{
137
+ displayValue: "009",
138
+ sortValue: "009"
139
+ }, {
140
+ displayValue: "Kevin",
141
+ sortValue: "Kevin"
142
+ }, {
143
+ displayValue: "Oviedo",
144
+ sortValue: "Oviedo"
145
+ }], [{
146
+ displayValue: "010",
147
+ sortValue: "010"
148
+ }, {
149
+ displayValue: "Cosmin",
150
+ sortValue: "Cosmin"
151
+ }, {
152
+ displayValue: "Barcelona",
153
+ sortValue: "Barcelona"
154
+ }]];
155
+ var rows2 = [[{
156
+ displayValue: "546",
157
+ sortValue: "465"
158
+ }, {
159
+ displayValue: "OtherValue",
160
+ sortValue: "OtherValue"
161
+ }, {
162
+ displayValue: "OtherValue",
163
+ sortValue: "OtherValue"
164
+ }], [{
165
+ displayValue: "978",
166
+ sortValue: "465"
167
+ }, {
168
+ displayValue: "OtherValue",
169
+ sortValue: "OtherValue"
170
+ }, {
171
+ displayValue: "OtherValue",
172
+ sortValue: "OtherValue"
173
+ }, {
174
+ displayValue: ""
175
+ }], [{
176
+ displayValue: "678",
177
+ sortValue: "344"
178
+ }, {
179
+ displayValue: "OtherValue",
180
+ sortValue: "OtherValue"
181
+ }, {
182
+ displayValue: "OtherValue",
183
+ sortValue: "OtherValue"
184
+ }]];
185
+ describe("Resultset table component tests", function () {
186
+ test("Resultset table rendered correctly", function () {
187
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
188
+ columns: columns,
189
+ rows: rows,
190
+ itemsPerPage: 3
191
+ })),
192
+ getByText = _render.getByText;
193
+ expect(getByText("Peter")).toBeTruthy();
194
+ });
195
+ test("Resultset table shows as many rows as itemsPerPage", function () {
196
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
197
+ columns: columns,
198
+ rows: rows,
199
+ itemsPerPage: 3
200
+ })),
201
+ getAllByRole = _render2.getAllByRole;
202
+ expect(getAllByRole("row").length - 1).toEqual(3);
203
+ });
204
+ test("Resultset table shows rows on second page", function () {
205
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
206
+ columns: columns,
207
+ rows: rows,
208
+ itemsPerPage: 3
209
+ })),
210
+ getByText = _render3.getByText,
211
+ getAllByRole = _render3.getAllByRole;
212
+ expect(getByText("Peter")).toBeTruthy();
213
+ expect(getByText("Louis")).toBeTruthy();
214
+ expect(getByText("Lana")).toBeTruthy();
215
+ expect(getAllByRole("row").length - 1).toEqual(3);
216
+ var nextButton = getAllByRole("button")[3];
217
+ _react2.fireEvent.click(nextButton);
218
+ expect(getByText("4 to 6 of 10")).toBeTruthy();
219
+ expect(getByText("Rick")).toBeTruthy();
220
+ expect(getByText("Mark")).toBeTruthy();
221
+ expect(getByText("Cris")).toBeTruthy();
222
+ expect(getAllByRole("row").length - 1).toEqual(3);
223
+ });
224
+ test("Resultset table goToPage works as expected", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
225
+ var _render4, getByText, getAllByRole, goToPageSelect, goToPageOption;
226
+ return _regenerator["default"].wrap(function _callee$(_context) {
227
+ while (1) switch (_context.prev = _context.next) {
228
+ case 0:
229
+ window.HTMLElement.prototype.scrollIntoView = function () {};
230
+ window.HTMLElement.prototype.scrollTo = function () {};
231
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
232
+ columns: columns,
233
+ showGoToPage: true,
234
+ rows: rows,
235
+ itemsPerPage: 3
236
+ })), getByText = _render4.getByText, getAllByRole = _render4.getAllByRole;
237
+ expect(getByText("Peter")).toBeTruthy();
238
+ expect(getByText("Louis")).toBeTruthy();
239
+ expect(getByText("Lana")).toBeTruthy();
240
+ expect(getAllByRole("row").length - 1).toEqual(3);
241
+ goToPageSelect = getAllByRole("button")[3];
242
+ _context.next = 10;
243
+ return _userEvent["default"].click(goToPageSelect);
244
+ case 10:
245
+ goToPageOption = getByText("2");
246
+ _context.next = 13;
247
+ return _userEvent["default"].click(goToPageOption);
248
+ case 13:
249
+ expect(getByText("4 to 6 of 10")).toBeTruthy();
250
+ expect(getByText("Rick")).toBeTruthy();
251
+ expect(getByText("Mark")).toBeTruthy();
252
+ expect(getByText("Cris")).toBeTruthy();
253
+ expect(getAllByRole("row").length - 1).toEqual(3);
254
+ case 18:
255
+ case "end":
256
+ return _context.stop();
257
+ }
258
+ }, _callee);
259
+ })));
260
+ test("Resultset table going to the last page shows only one row", function () {
261
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
262
+ columns: columns,
263
+ rows: rows,
264
+ itemsPerPage: 3
265
+ })),
266
+ getByText = _render5.getByText,
267
+ getAllByRole = _render5.getAllByRole;
268
+ var lastButton = getAllByRole("button")[4];
269
+ _react2.fireEvent.click(lastButton);
270
+ expect(getByText("10 to 10 of 10")).toBeTruthy();
271
+ expect(getAllByRole("row")).toHaveLength(2);
272
+ expect(getByText("Cosmin")).toBeTruthy();
273
+ });
274
+ test("Resultset table sort rows by column", function () {
275
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
276
+ columns: columns,
277
+ rows: rows,
278
+ itemsPerPage: 3
279
+ }));
280
+ expect(component.queryByText("Peter")).toBeTruthy();
281
+ _react2.fireEvent.click(component.queryByText("Name"));
282
+ expect(component.queryByText("Tina")).not.toBeTruthy();
283
+ expect(component.queryByText("Cosmin")).toBeTruthy();
284
+ _react2.fireEvent.click(component.queryByText("Name"));
285
+ expect(component.queryByText("Tina")).toBeTruthy();
286
+ expect(component.queryByText("Cosmin")).not.toBeTruthy();
287
+ });
288
+ test("Resultset table change rows should go to first page", function () {
289
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
290
+ columns: columns,
291
+ rows: rows,
292
+ itemsPerPage: 3
293
+ })),
294
+ queryByText = _render6.queryByText,
295
+ rerender = _render6.rerender;
296
+ expect(queryByText("Peter")).toBeTruthy();
297
+ rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
298
+ columns: columns,
299
+ rows: rows2,
300
+ itemsPerPage: 3
301
+ }));
302
+ expect(queryByText("1 to 3 of 3")).toBeTruthy();
303
+ });
304
+ test("Resultset table change itemsPerPage should go to first page", function () {
305
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
306
+ columns: columns,
307
+ rows: rows,
308
+ itemsPerPage: 3,
309
+ itemsPerPageOptions: [2, 3]
310
+ })),
311
+ getAllByRole = _render7.getAllByRole;
312
+ var lastButton = getAllByRole("button")[4];
313
+ expect(getAllByRole("row").length - 1).toEqual(3);
314
+ _react2.fireEvent.click(lastButton);
315
+ expect(getAllByRole("row").length - 1).toEqual(1);
316
+ });
317
+ test("Resultset table with ActionsCell", function () {
318
+ var onSelectOption = jest.fn();
319
+ var onClick = jest.fn();
320
+ var actions = [{
321
+ icon: icon,
322
+ title: "icon1",
323
+ onClick: onSelectOption,
324
+ options: [{
325
+ value: "1",
326
+ label: "Amazon"
327
+ }, {
328
+ value: "2",
329
+ label: "Ebay"
330
+ }, {
331
+ value: "3",
332
+ label: "Aliexpress"
333
+ }]
334
+ }, {
335
+ icon: icon,
336
+ title: "icon2",
337
+ onClick: onClick
338
+ }];
339
+ var actionRows = [[{
340
+ displayValue: "001",
341
+ sortValue: "001"
342
+ }, {
343
+ displayValue: "Peter",
344
+ sortValue: "Peter"
345
+ }, {
346
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
347
+ actions: actions
348
+ }),
349
+ sortValue: "Actions"
350
+ }]];
351
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
352
+ columns: columns,
353
+ rows: actionRows,
354
+ itemsPerPage: 3
355
+ })),
356
+ getAllByRole = _render8.getAllByRole,
357
+ getByRole = _render8.getByRole,
358
+ getByText = _render8.getByText;
359
+ var dropdown = getAllByRole("button")[2];
360
+ (0, _react2.act)(function () {
361
+ _userEvent["default"].click(dropdown);
362
+ });
363
+ expect(getByRole("menu")).toBeTruthy();
364
+ var option = getByText("Aliexpress");
365
+ _userEvent["default"].click(option);
366
+ expect(onSelectOption).toHaveBeenCalledWith("3");
367
+ var action = getAllByRole("button")[1];
368
+ _userEvent["default"].click(action);
369
+ expect(onClick).toHaveBeenCalled();
370
+ });
371
+ });
@@ -0,0 +1,73 @@
1
+ /// <reference types="react" />
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ export type Column = {
10
+ /**
11
+ * Column display value.
12
+ */
13
+ displayValue: React.ReactNode;
14
+ /**
15
+ * Boolean value to indicate whether the column is sortable or not.
16
+ */
17
+ isSortable?: boolean;
18
+ };
19
+ type Row = {
20
+ /**
21
+ * Value to be displayed in the cell.
22
+ */
23
+ displayValue: React.ReactNode;
24
+ /**
25
+ * Value to be used when sorting the table by that
26
+ * column. If not indicated displayValue will be used for sorting.
27
+ */
28
+ sortValue?: string;
29
+ };
30
+ type Props = {
31
+ /**
32
+ * An array of objects representing the columns of the table.
33
+ */
34
+ columns: Column[];
35
+ /**
36
+ * An array of objects representing the rows of the table, you will have
37
+ * as many objects as columns in the table.
38
+ */
39
+ rows: Row[][];
40
+ /**
41
+ * If true, a select component for navigation between pages will be displayed.
42
+ */
43
+ showGoToPage?: boolean;
44
+ /**
45
+ * Number of items per page.
46
+ */
47
+ itemsPerPage?: number;
48
+ /**
49
+ * An array of numbers representing the items per page options.
50
+ */
51
+ itemsPerPageOptions?: number[];
52
+ /**
53
+ * This function will be called when the user selects an item per page
54
+ * option. The value selected will be passed as a parameter.
55
+ */
56
+ itemsPerPageFunction?: (value: number) => void;
57
+ /**
58
+ * Size of the margin to be applied to the component. You can pass an object with 'top',
59
+ * 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
60
+ */
61
+ margin?: Space | Margin;
62
+ /**
63
+ * Value of the tabindex attribute applied to the sortable icon.
64
+ */
65
+ tabIndex?: number;
66
+ /**
67
+ * Determines the visual style and layout
68
+ * - "default": The default mode with big spacing
69
+ * - "reduced": A reduced mode with minimal spacing for dense tables
70
+ */
71
+ mode?: "default" | "reduced";
72
+ };
73
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ declare const selectIcons: {
3
+ error: React.JSX.Element;
4
+ arrowUp: React.JSX.Element;
5
+ arrowDown: React.JSX.Element;
6
+ clear: React.JSX.Element;
7
+ selected: React.JSX.Element;
8
+ searchOff: React.JSX.Element;
9
+ };
10
+ export default selectIcons;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var selectIcons = {
10
+ error: /*#__PURE__*/_react["default"].createElement("svg", {
11
+ role: "img",
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ height: "24px",
14
+ viewBox: "0 0 24 24",
15
+ width: "24px",
16
+ fill: "currentColor"
17
+ }, /*#__PURE__*/_react["default"].createElement("path", {
18
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
19
+ })),
20
+ arrowUp: /*#__PURE__*/_react["default"].createElement("svg", {
21
+ role: "img",
22
+ xmlns: "http://www.w3.org/2000/svg",
23
+ height: "24px",
24
+ viewBox: "0 0 24 24",
25
+ width: "24px",
26
+ fill: "currentColor"
27
+ }, /*#__PURE__*/_react["default"].createElement("path", {
28
+ d: "M0 0h24v24H0V0z",
29
+ fill: "none"
30
+ }), /*#__PURE__*/_react["default"].createElement("path", {
31
+ d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
32
+ })),
33
+ arrowDown: /*#__PURE__*/_react["default"].createElement("svg", {
34
+ role: "img",
35
+ xmlns: "http://www.w3.org/2000/svg",
36
+ height: "24px",
37
+ viewBox: "0 0 24 24",
38
+ width: "24px",
39
+ fill: "currentColor"
40
+ }, /*#__PURE__*/_react["default"].createElement("path", {
41
+ d: "M0 0h24v24H0V0z",
42
+ fill: "none"
43
+ }), /*#__PURE__*/_react["default"].createElement("path", {
44
+ d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
45
+ })),
46
+ clear: /*#__PURE__*/_react["default"].createElement("svg", {
47
+ role: "img",
48
+ xmlns: "http://www.w3.org/2000/svg",
49
+ width: "24",
50
+ height: "24",
51
+ viewBox: "0 0 24 24",
52
+ fill: "currentColor"
53
+ }, /*#__PURE__*/_react["default"].createElement("path", {
54
+ d: "M0 0h24v24H0V0z",
55
+ fill: "none"
56
+ }), /*#__PURE__*/_react["default"].createElement("path", {
57
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
58
+ })),
59
+ selected: /*#__PURE__*/_react["default"].createElement("svg", {
60
+ role: "img",
61
+ xmlns: "http://www.w3.org/2000/svg",
62
+ height: "24px",
63
+ viewBox: "0 0 24 24",
64
+ width: "24px",
65
+ fill: "currentColor"
66
+ }, /*#__PURE__*/_react["default"].createElement("path", {
67
+ d: "M0 0h24v24H0z",
68
+ fill: "none"
69
+ }), /*#__PURE__*/_react["default"].createElement("path", {
70
+ d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
71
+ })),
72
+ searchOff: /*#__PURE__*/_react["default"].createElement("svg", {
73
+ role: "img",
74
+ xmlns: "http://www.w3.org/2000/svg",
75
+ height: "24px",
76
+ viewBox: "0 0 24 24",
77
+ width: "24px",
78
+ fill: "currentColor"
79
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
80
+ fill: "none",
81
+ height: "24",
82
+ width: "24"
83
+ })), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
84
+ d: "M15.5,14h-0.79l-0.28-0.27C15.41,12.59,16,11.11,16,9.5C16,5.91,13.09,3,9.5,3C6.08,3,3.28,5.64,3.03,9h2.02 C5.3,6.75,7.18,5,9.5,5C11.99,5,14,7.01,14,9.5S11.99,14,9.5,14c-0.17,0-0.33-0.03-0.5-0.05v2.02C9.17,15.99,9.33,16,9.5,16 c1.61,0,3.09-0.59,4.23-1.57L14,14.71v0.79l5,4.99L20.49,19L15.5,14z"
85
+ }), /*#__PURE__*/_react["default"].createElement("polygon", {
86
+ points: "6.47,10.82 4,13.29 1.53,10.82 0.82,11.53 3.29,14 0.82,16.47 1.53,17.18 4,14.71 6.47,17.18 7.18,16.47 4.71,14 7.18,11.53"
87
+ }))))
88
+ };
89
+ var _default = exports["default"] = selectIcons;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { ListboxProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, styles, }: ListboxProps) => JSX.Element>;
4
+ export default _default;