@dxc-technology/halstack-react 0.0.0-a33ff0e → 0.0.0-a46858f

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 (266) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +15 -47
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +15 -17
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/AccordionGroup.test.js +151 -0
  14. package/accordion-group/types.d.ts +8 -8
  15. package/alert/Alert.js +6 -3
  16. package/alert/Alert.test.js +92 -0
  17. package/badge/Badge.d.ts +4 -0
  18. package/badge/Badge.js +6 -4
  19. package/badge/types.d.ts +5 -0
  20. package/{radio → badge}/types.js +0 -0
  21. package/bleed/Bleed.d.ts +3 -0
  22. package/bleed/Bleed.js +51 -0
  23. package/bleed/Bleed.stories.tsx +341 -0
  24. package/bleed/types.d.ts +37 -0
  25. package/bleed/types.js +5 -0
  26. package/box/Box.js +24 -34
  27. package/box/Box.test.js +18 -0
  28. package/button/Button.d.ts +1 -1
  29. package/button/Button.js +24 -27
  30. package/button/Button.stories.tsx +6 -8
  31. package/button/Button.test.js +35 -0
  32. package/button/types.d.ts +5 -9
  33. package/card/Card.js +25 -28
  34. package/card/Card.stories.tsx +1 -1
  35. package/card/Card.test.js +50 -0
  36. package/checkbox/Checkbox.d.ts +1 -1
  37. package/checkbox/Checkbox.js +45 -41
  38. package/checkbox/Checkbox.stories.tsx +124 -128
  39. package/checkbox/Checkbox.test.js +78 -0
  40. package/checkbox/types.d.ts +8 -4
  41. package/chip/Chip.d.ts +4 -0
  42. package/chip/Chip.js +16 -76
  43. package/chip/Chip.stories.tsx +6 -8
  44. package/chip/Chip.test.js +56 -0
  45. package/chip/types.d.ts +45 -0
  46. package/chip/types.js +5 -0
  47. package/common/variables.js +234 -341
  48. package/date-input/DateInput.js +63 -52
  49. package/date-input/DateInput.stories.tsx +7 -7
  50. package/date-input/DateInput.test.js +479 -0
  51. package/date-input/types.d.ts +16 -9
  52. package/dialog/Dialog.js +8 -35
  53. package/dialog/Dialog.test.js +40 -0
  54. package/dropdown/Dropdown.d.ts +1 -1
  55. package/dropdown/Dropdown.js +22 -48
  56. package/dropdown/Dropdown.stories.tsx +249 -0
  57. package/dropdown/Dropdown.test.js +189 -0
  58. package/dropdown/types.d.ts +6 -15
  59. package/file-input/FileInput.d.ts +1 -1
  60. package/file-input/FileInput.js +165 -83
  61. package/file-input/FileInput.stories.tsx +507 -0
  62. package/file-input/FileInput.test.js +457 -0
  63. package/file-input/FileItem.js +12 -8
  64. package/file-input/types.d.ts +32 -7
  65. package/footer/Footer.d.ts +1 -1
  66. package/footer/Footer.js +32 -113
  67. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
  68. package/footer/Footer.test.js +109 -0
  69. package/footer/Icons.d.ts +2 -0
  70. package/footer/Icons.js +4 -4
  71. package/footer/types.d.ts +21 -17
  72. package/header/Header.js +29 -50
  73. package/header/Header.stories.tsx +46 -36
  74. package/header/Header.test.js +79 -0
  75. package/header/Icons.d.ts +2 -0
  76. package/heading/Heading.js +1 -1
  77. package/heading/Heading.stories.tsx +3 -2
  78. package/heading/Heading.test.js +186 -0
  79. package/inline/Inline.d.ts +4 -0
  80. package/inline/Inline.js +56 -0
  81. package/inline/Inline.stories.tsx +264 -0
  82. package/inline/types.d.ts +32 -0
  83. package/inline/types.js +5 -0
  84. package/inset/Inset.d.ts +3 -0
  85. package/inset/Inset.js +51 -0
  86. package/inset/Inset.stories.tsx +229 -0
  87. package/inset/types.d.ts +37 -0
  88. package/inset/types.js +5 -0
  89. package/layout/ApplicationLayout.d.ts +11 -0
  90. package/layout/ApplicationLayout.js +84 -120
  91. package/layout/ApplicationLayout.stories.tsx +126 -0
  92. package/layout/Icons.d.ts +5 -0
  93. package/layout/Icons.js +13 -2
  94. package/layout/SidenavContext.d.ts +5 -0
  95. package/layout/SidenavContext.js +19 -0
  96. package/layout/types.d.ts +52 -0
  97. package/layout/types.js +5 -0
  98. package/link/Link.d.ts +3 -2
  99. package/link/Link.js +61 -86
  100. package/link/Link.stories.tsx +91 -51
  101. package/link/Link.test.js +83 -0
  102. package/link/types.d.ts +9 -29
  103. package/list/List.d.ts +4 -0
  104. package/list/List.js +47 -0
  105. package/list/List.stories.tsx +89 -0
  106. package/list/types.d.ts +7 -0
  107. package/list/types.js +5 -0
  108. package/main.d.ts +13 -9
  109. package/main.js +80 -42
  110. package/number-input/NumberInput.js +14 -24
  111. package/number-input/NumberInput.stories.tsx +5 -5
  112. package/number-input/NumberInput.test.js +506 -0
  113. package/number-input/types.d.ts +17 -10
  114. package/package.json +10 -6
  115. package/paginator/Paginator.js +19 -46
  116. package/paginator/Paginator.test.js +308 -0
  117. package/password-input/PasswordInput.js +23 -19
  118. package/password-input/PasswordInput.stories.tsx +3 -3
  119. package/password-input/PasswordInput.test.js +180 -0
  120. package/password-input/types.d.ts +26 -21
  121. package/progress-bar/ProgressBar.js +5 -5
  122. package/progress-bar/ProgressBar.stories.jsx +11 -11
  123. package/progress-bar/ProgressBar.test.js +65 -0
  124. package/quick-nav/QuickNav.d.ts +4 -0
  125. package/quick-nav/QuickNav.js +112 -0
  126. package/quick-nav/QuickNav.stories.tsx +237 -0
  127. package/quick-nav/types.d.ts +21 -0
  128. package/quick-nav/types.js +5 -0
  129. package/radio-group/Radio.d.ts +4 -0
  130. package/radio-group/Radio.js +141 -0
  131. package/radio-group/RadioGroup.d.ts +4 -0
  132. package/radio-group/RadioGroup.js +282 -0
  133. package/radio-group/RadioGroup.stories.tsx +100 -0
  134. package/radio-group/RadioGroup.test.js +695 -0
  135. package/radio-group/types.d.ts +114 -0
  136. package/radio-group/types.js +5 -0
  137. package/resultsetTable/ResultsetTable.d.ts +4 -0
  138. package/resultsetTable/ResultsetTable.js +9 -29
  139. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  140. package/resultsetTable/ResultsetTable.test.js +348 -0
  141. package/resultsetTable/types.d.ts +67 -0
  142. package/resultsetTable/types.js +5 -0
  143. package/row/Row.d.ts +3 -0
  144. package/row/Row.js +127 -0
  145. package/row/Row.stories.tsx +237 -0
  146. package/row/types.d.ts +28 -0
  147. package/row/types.js +5 -0
  148. package/select/Icons.d.ts +10 -0
  149. package/select/Icons.js +93 -0
  150. package/select/Listbox.d.ts +4 -0
  151. package/select/Listbox.js +175 -0
  152. package/select/Option.d.ts +4 -0
  153. package/select/Option.js +110 -0
  154. package/select/Select.d.ts +4 -0
  155. package/select/Select.js +161 -366
  156. package/select/Select.stories.tsx +230 -176
  157. package/select/Select.test.js +2162 -0
  158. package/select/types.d.ts +212 -0
  159. package/select/types.js +5 -0
  160. package/sidenav/Sidenav.d.ts +1 -1
  161. package/sidenav/Sidenav.js +22 -11
  162. package/sidenav/Sidenav.stories.tsx +18 -1
  163. package/sidenav/Sidenav.test.js +56 -0
  164. package/slider/Slider.d.ts +1 -1
  165. package/slider/Slider.js +4 -3
  166. package/slider/Slider.stories.tsx +8 -8
  167. package/slider/Slider.test.js +150 -0
  168. package/slider/types.d.ts +4 -0
  169. package/spinner/Spinner.js +3 -3
  170. package/spinner/Spinner.stories.jsx +1 -0
  171. package/spinner/Spinner.test.js +64 -0
  172. package/stack/Stack.d.ts +4 -0
  173. package/stack/Stack.js +50 -0
  174. package/stack/Stack.stories.tsx +225 -0
  175. package/stack/types.d.ts +28 -0
  176. package/stack/types.js +5 -0
  177. package/switch/Switch.d.ts +1 -1
  178. package/switch/Switch.js +37 -21
  179. package/switch/Switch.stories.tsx +15 -15
  180. package/switch/Switch.test.js +98 -0
  181. package/switch/types.d.ts +6 -2
  182. package/table/Table.js +3 -3
  183. package/table/Table.stories.jsx +2 -1
  184. package/table/Table.test.js +26 -0
  185. package/tabs/Tabs.d.ts +1 -1
  186. package/tabs/Tabs.js +17 -19
  187. package/tabs/Tabs.stories.tsx +112 -0
  188. package/tabs/Tabs.test.js +140 -0
  189. package/tabs/types.d.ts +27 -15
  190. package/tabs-nav/NavTabs.d.ts +8 -0
  191. package/tabs-nav/NavTabs.js +125 -0
  192. package/tabs-nav/NavTabs.stories.tsx +170 -0
  193. package/tabs-nav/NavTabs.test.js +82 -0
  194. package/tabs-nav/Tab.d.ts +4 -0
  195. package/tabs-nav/Tab.js +132 -0
  196. package/tabs-nav/types.d.ts +53 -0
  197. package/tabs-nav/types.js +5 -0
  198. package/tag/Tag.d.ts +1 -1
  199. package/tag/Tag.js +18 -28
  200. package/tag/Tag.stories.tsx +26 -29
  201. package/tag/Tag.test.js +60 -0
  202. package/tag/types.d.ts +23 -14
  203. package/text/Text.d.ts +7 -0
  204. package/text/Text.js +30 -0
  205. package/text/Text.stories.tsx +19 -0
  206. package/text-input/Suggestion.d.ts +4 -0
  207. package/text-input/Suggestion.js +55 -0
  208. package/text-input/TextInput.js +88 -103
  209. package/text-input/TextInput.stories.tsx +474 -0
  210. package/text-input/TextInput.test.js +1712 -0
  211. package/text-input/types.d.ts +44 -23
  212. package/textarea/Textarea.d.ts +4 -0
  213. package/textarea/Textarea.js +39 -79
  214. package/textarea/Textarea.stories.jsx +37 -15
  215. package/textarea/Textarea.test.js +437 -0
  216. package/textarea/types.d.ts +137 -0
  217. package/textarea/types.js +5 -0
  218. package/toggle-group/ToggleGroup.d.ts +4 -0
  219. package/toggle-group/ToggleGroup.js +18 -46
  220. package/toggle-group/ToggleGroup.stories.tsx +27 -32
  221. package/toggle-group/ToggleGroup.test.js +156 -0
  222. package/toggle-group/types.d.ts +105 -0
  223. package/toggle-group/types.js +5 -0
  224. package/useTheme.d.ts +2 -0
  225. package/useTheme.js +2 -2
  226. package/useTranslatedLabels.d.ts +2 -0
  227. package/useTranslatedLabels.js +20 -0
  228. package/wizard/Wizard.d.ts +1 -1
  229. package/wizard/Wizard.js +107 -46
  230. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +13 -23
  231. package/wizard/Wizard.test.js +141 -0
  232. package/wizard/types.d.ts +9 -9
  233. package/ThemeContext.js +0 -246
  234. package/V3Select/V3Select.js +0 -455
  235. package/V3Select/index.d.ts +0 -27
  236. package/V3Textarea/V3Textarea.js +0 -260
  237. package/V3Textarea/index.d.ts +0 -27
  238. package/chip/index.d.ts +0 -22
  239. package/date/Date.js +0 -373
  240. package/date/index.d.ts +0 -27
  241. package/input-text/Icons.js +0 -22
  242. package/input-text/InputText.js +0 -611
  243. package/input-text/index.d.ts +0 -36
  244. package/radio/Radio.d.ts +0 -4
  245. package/radio/Radio.js +0 -174
  246. package/radio/Radio.stories.tsx +0 -192
  247. package/radio/types.d.ts +0 -54
  248. package/resultsetTable/index.d.ts +0 -19
  249. package/select/index.d.ts +0 -131
  250. package/textarea/index.d.ts +0 -117
  251. package/toggle/Toggle.js +0 -186
  252. package/toggle/index.d.ts +0 -21
  253. package/toggle-group/index.d.ts +0 -21
  254. package/upload/Upload.js +0 -201
  255. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  256. package/upload/buttons-upload/Icons.js +0 -40
  257. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  258. package/upload/dragAndDropArea/Icons.js +0 -39
  259. package/upload/file-upload/FileToUpload.js +0 -115
  260. package/upload/file-upload/Icons.js +0 -66
  261. package/upload/files-upload/FilesToUpload.js +0 -109
  262. package/upload/index.d.ts +0 -15
  263. package/upload/transaction/Icons.js +0 -160
  264. package/upload/transaction/Transaction.js +0 -104
  265. package/upload/transactions/Transactions.js +0 -94
  266. package/wizard/Icons.js +0 -65
@@ -0,0 +1,348 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
+
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _react2 = require("@testing-library/react");
12
+
13
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
+
15
+ var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable"));
16
+
17
+ // Mocking DOMRect for Radix Primitive Popover
18
+ global.globalThis = global;
19
+
20
+ global.ResizeObserver = /*#__PURE__*/function () {
21
+ function ResizeObserver(cb) {
22
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
23
+ this.cb = cb;
24
+ }
25
+
26
+ (0, _createClass2["default"])(ResizeObserver, [{
27
+ key: "observe",
28
+ value: function observe() {
29
+ this.cb([{
30
+ borderBoxSize: {
31
+ inlineSize: 0,
32
+ blockSize: 0
33
+ }
34
+ }]);
35
+ }
36
+ }, {
37
+ key: "unobserve",
38
+ value: function unobserve() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+
43
+ global.DOMRect = {
44
+ fromRect: function fromRect() {
45
+ return {
46
+ top: 0,
47
+ left: 0,
48
+ bottom: 0,
49
+ right: 0,
50
+ width: 0,
51
+ height: 0
52
+ };
53
+ }
54
+ };
55
+ var columns = [{
56
+ displayValue: "Id",
57
+ isSortable: false
58
+ }, {
59
+ displayValue: "Name",
60
+ isSortable: true
61
+ }, {
62
+ displayValue: "City",
63
+ isSortable: false
64
+ }];
65
+ var rows = [[{
66
+ displayValue: "001",
67
+ sortValue: "001"
68
+ }, {
69
+ displayValue: "Peter",
70
+ sortValue: "Peter"
71
+ }, {
72
+ displayValue: "Oviedo",
73
+ sortValue: "Oviedo"
74
+ }], [{
75
+ displayValue: "002",
76
+ sortValue: "002"
77
+ }, {
78
+ displayValue: "Louis",
79
+ sortValue: "Louis"
80
+ }, {
81
+ displayValue: "Oviedo",
82
+ sortValue: "Oviedo"
83
+ }, {
84
+ displayValue: ""
85
+ }], [{
86
+ displayValue: "003",
87
+ sortValue: "003"
88
+ }, {
89
+ displayValue: "Lana",
90
+ sortValue: "Lana"
91
+ }, {
92
+ displayValue: "Albacete",
93
+ sortValue: "Albacete"
94
+ }], [{
95
+ displayValue: "004",
96
+ sortValue: "004"
97
+ }, {
98
+ displayValue: "Rick",
99
+ sortValue: "Rick"
100
+ }, {
101
+ displayValue: "Albacete",
102
+ sortValue: "Albacete"
103
+ }], [{
104
+ displayValue: "005",
105
+ sortValue: "005"
106
+ }, {
107
+ displayValue: "Mark",
108
+ sortValue: "Mark"
109
+ }, {
110
+ displayValue: "Madrid",
111
+ sortValue: "Madrid"
112
+ }], [{
113
+ displayValue: "006",
114
+ sortValue: "006"
115
+ }, {
116
+ displayValue: "Cris",
117
+ sortValue: "Cris"
118
+ }, {
119
+ displayValue: "Barcelona",
120
+ sortValue: "Barcelona"
121
+ }, {
122
+ displayValue: ""
123
+ }], [{
124
+ displayValue: "007",
125
+ sortValue: "007"
126
+ }, {
127
+ displayValue: "Susan",
128
+ sortValue: "Susan"
129
+ }, {
130
+ displayValue: "Madrid",
131
+ sortValue: "Madrid"
132
+ }], [{
133
+ displayValue: "008",
134
+ sortValue: "008"
135
+ }, {
136
+ displayValue: "Tina",
137
+ sortValue: "Tina"
138
+ }, {
139
+ displayValue: "Barcelona",
140
+ sortValue: "Barcelona"
141
+ }], [{
142
+ displayValue: "009",
143
+ sortValue: "009"
144
+ }, {
145
+ displayValue: "Kevin",
146
+ sortValue: "Kevin"
147
+ }, {
148
+ displayValue: "Oviedo",
149
+ sortValue: "Oviedo"
150
+ }, {
151
+ displayValue: ""
152
+ }], [{
153
+ displayValue: "010",
154
+ sortValue: "010"
155
+ }, {
156
+ displayValue: "Cosmin",
157
+ sortValue: "Cosmin"
158
+ }, {
159
+ displayValue: "Barcelona",
160
+ sortValue: "Barcelona"
161
+ }, {
162
+ displayValue: ""
163
+ }]];
164
+ var rows2 = [[{
165
+ displayValue: "546",
166
+ sortValue: "465"
167
+ }, {
168
+ displayValue: "OtherValue",
169
+ sortValue: "OtherValue"
170
+ }, {
171
+ displayValue: "OtherValue",
172
+ sortValue: "OtherValue"
173
+ }], [{
174
+ displayValue: "978",
175
+ sortValue: "465"
176
+ }, {
177
+ displayValue: "OtherValue",
178
+ sortValue: "OtherValue"
179
+ }, {
180
+ displayValue: "OtherValue",
181
+ sortValue: "OtherValue"
182
+ }, {
183
+ displayValue: ""
184
+ }], [{
185
+ displayValue: "678",
186
+ sortValue: "344"
187
+ }, {
188
+ displayValue: "OtherValue",
189
+ sortValue: "OtherValue"
190
+ }, {
191
+ displayValue: "OtherValue",
192
+ sortValue: "OtherValue"
193
+ }]];
194
+ describe("ResultsetTable component tests", function () {
195
+ test("ResultsetTable rendered correctly", function () {
196
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
197
+ columns: columns,
198
+ rows: rows,
199
+ itemsPerPage: 3
200
+ })),
201
+ getByText = _render.getByText;
202
+
203
+ expect(getByText("Peter")).toBeTruthy();
204
+ });
205
+ test("Resultsettable shows as many rows as itemsPerPage", function () {
206
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
207
+ columns: columns,
208
+ rows: rows,
209
+ itemsPerPage: 3
210
+ })),
211
+ getAllByRole = _render2.getAllByRole;
212
+
213
+ expect(getAllByRole("row").length - 1).toEqual(3);
214
+ });
215
+ test("Resultsettable shows rows on second page", function () {
216
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
217
+ columns: columns,
218
+ rows: rows,
219
+ itemsPerPage: 3
220
+ })),
221
+ getByText = _render3.getByText,
222
+ getAllByRole = _render3.getAllByRole;
223
+
224
+ expect(getByText("Peter")).toBeTruthy();
225
+ expect(getByText("Louis")).toBeTruthy();
226
+ expect(getByText("Lana")).toBeTruthy();
227
+ expect(getAllByRole("row").length - 1).toEqual(3);
228
+ var nextButton = getAllByRole("button")[2];
229
+
230
+ _react2.fireEvent.click(nextButton);
231
+
232
+ expect(getByText("4 to 6 of 10")).toBeTruthy(); // expect(getByText("Page: 2 of 4")).toBeTruthy();
233
+
234
+ expect(getByText("Rick")).toBeTruthy();
235
+ expect(getByText("Mark")).toBeTruthy();
236
+ expect(getByText("Cris")).toBeTruthy();
237
+ expect(getAllByRole("row").length - 1).toEqual(3);
238
+ });
239
+ test("Resultsettable goToPage works as expected", function () {
240
+ window.HTMLElement.prototype.scrollIntoView = function () {};
241
+
242
+ window.HTMLElement.prototype.scrollTo = function () {};
243
+
244
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
245
+ columns: columns,
246
+ showGoToPage: true,
247
+ rows: rows,
248
+ itemsPerPage: 3
249
+ })),
250
+ getByText = _render4.getByText,
251
+ getAllByRole = _render4.getAllByRole,
252
+ getByRole = _render4.getByRole;
253
+
254
+ expect(getByText("Peter")).toBeTruthy();
255
+ expect(getByText("Louis")).toBeTruthy();
256
+ expect(getByText("Lana")).toBeTruthy();
257
+ expect(getAllByRole("row").length - 1).toEqual(3);
258
+ var goToPageSelect = getAllByRole("button")[2];
259
+ (0, _react2.act)(function () {
260
+ _userEvent["default"].click(goToPageSelect);
261
+ });
262
+ var goToPageOption = getByText("2");
263
+ (0, _react2.act)(function () {
264
+ _userEvent["default"].click(goToPageOption);
265
+ });
266
+ expect(getByText("4 to 6 of 10")).toBeTruthy();
267
+ expect(getByText("Rick")).toBeTruthy();
268
+ expect(getByText("Mark")).toBeTruthy();
269
+ expect(getByText("Cris")).toBeTruthy();
270
+ expect(getAllByRole("row").length - 1).toEqual(3);
271
+ });
272
+ test("Resultsettable going to the last page shows only one row", function () {
273
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
274
+ columns: columns,
275
+ rows: rows,
276
+ itemsPerPage: 3
277
+ })),
278
+ getByText = _render5.getByText,
279
+ getAllByRole = _render5.getAllByRole;
280
+
281
+ var lastButton = getAllByRole("button")[3];
282
+
283
+ _react2.fireEvent.click(lastButton);
284
+
285
+ expect(getByText("10 to 10 of 10")).toBeTruthy();
286
+ expect(getAllByRole("row")).toHaveLength(2);
287
+ expect(getByText("Cosmin")).toBeTruthy();
288
+ });
289
+ test("Resultsettable sort rows by column", function () {
290
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
291
+ columns: columns,
292
+ rows: rows,
293
+ itemsPerPage: 3
294
+ }));
295
+ expect(component.queryByText("Peter")).toBeTruthy();
296
+
297
+ _react2.fireEvent.click(component.queryByText("Name"));
298
+
299
+ expect(component.queryByText("Tina")).not.toBeTruthy();
300
+ expect(component.queryByText("Cosmin")).toBeTruthy();
301
+
302
+ _react2.fireEvent.click(component.queryByText("Name"));
303
+
304
+ expect(component.queryByText("Tina")).toBeTruthy();
305
+ expect(component.queryByText("Cosmin")).not.toBeTruthy();
306
+ });
307
+ test("Resultsettable change rows should go to first page", function () {
308
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
309
+ columns: columns,
310
+ rows: rows,
311
+ itemsPerPage: 3
312
+ })),
313
+ queryByText = _render6.queryByText,
314
+ rerender = _render6.rerender;
315
+
316
+ expect(queryByText("Peter")).toBeTruthy();
317
+ rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
318
+ columns: columns,
319
+ rows: rows2,
320
+ itemsPerPage: 3
321
+ }));
322
+ expect(queryByText("1 to 3 of 3")).toBeTruthy();
323
+ });
324
+ test("Resultsettable change itemsPerPage should go to first page", function () {
325
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
326
+ columns: columns,
327
+ rows: rows,
328
+ itemsPerPage: 3,
329
+ itemsPerPageOptions: [2, 3]
330
+ })),
331
+ getAllByRole = _render7.getAllByRole,
332
+ queryByText = _render7.queryByText,
333
+ rerender = _render7.rerender;
334
+
335
+ var lastButton = getAllByRole("button")[3];
336
+
337
+ _react2.fireEvent.click(lastButton);
338
+
339
+ expect(getAllByRole("row").length - 1).toEqual(1);
340
+ rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
341
+ columns: columns,
342
+ rows: rows,
343
+ itemsPerPage: 6
344
+ }));
345
+ expect(getAllByRole("row").length - 1).toEqual(6);
346
+ expect(queryByText("Peter")).toBeTruthy();
347
+ });
348
+ });
@@ -0,0 +1,67 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare 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
+ declare 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
+ declare 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?: (newValue: 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 given to the sortable icon.
64
+ */
65
+ tabIndex?: number;
66
+ };
67
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/row/Row.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import RowPropsType from "./types";
3
+ export default function Row({ gutter, align, justify, wrap, reverse, children, }: RowPropsType): JSX.Element;
package/row/Row.js ADDED
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = Row;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _templateObject;
17
+
18
+ function Row(_ref) {
19
+ var _ref$gutter = _ref.gutter,
20
+ gutter = _ref$gutter === void 0 ? "none" : _ref$gutter,
21
+ align = _ref.align,
22
+ justify = _ref.justify,
23
+ _ref$wrap = _ref.wrap,
24
+ wrap = _ref$wrap === void 0 ? true : _ref$wrap,
25
+ _ref$reverse = _ref.reverse,
26
+ reverse = _ref$reverse === void 0 ? false : _ref$reverse,
27
+ children = _ref.children;
28
+ return /*#__PURE__*/_react["default"].createElement(StyledRow, {
29
+ gutter: gutter,
30
+ align: align,
31
+ justify: justify,
32
+ wrap: wrap,
33
+ reverse: reverse
34
+ }, children);
35
+ }
36
+
37
+ var StyledRow = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n flex-wrap: ", ";\n align-items: ", ";\n justify-content: ", ";\n gap: ", ";\n"])), function (_ref2) {
38
+ var reverse = _ref2.reverse;
39
+ return reverse ? "row-reverse" : "row";
40
+ }, function (_ref3) {
41
+ var wrap = _ref3.wrap;
42
+ return wrap ? "wrap" : "nowrap";
43
+ }, function (_ref4) {
44
+ var align = _ref4.align;
45
+
46
+ switch (align) {
47
+ case "start":
48
+ return "flex-start";
49
+
50
+ case "center":
51
+ return "center";
52
+
53
+ case "end":
54
+ return "flex-end";
55
+
56
+ case "baseline":
57
+ return "baseline";
58
+
59
+ case "stretch":
60
+ return "stretch";
61
+
62
+ default:
63
+ return "initial";
64
+ }
65
+ }, function (_ref5) {
66
+ var justify = _ref5.justify;
67
+
68
+ switch (justify) {
69
+ case "spaceBetween":
70
+ return "space-between";
71
+
72
+ case "spaceAround":
73
+ return "space-around";
74
+
75
+ case "spaceEvenly":
76
+ return "space-evenly";
77
+
78
+ case "start":
79
+ return "flex-start";
80
+
81
+ case "center":
82
+ return "center";
83
+
84
+ case "end":
85
+ return "flex-end";
86
+
87
+ default:
88
+ return "initial";
89
+ }
90
+ }, function (_ref6) {
91
+ var gutter = _ref6.gutter;
92
+
93
+ switch (gutter) {
94
+ case "none":
95
+ return "0";
96
+
97
+ case "xxxsmall":
98
+ return "0.125rem";
99
+
100
+ case "xxsmall":
101
+ return "0.25rem";
102
+
103
+ case "xsmall":
104
+ return "0.5rem";
105
+
106
+ case "small":
107
+ return "1rem";
108
+
109
+ case "medium":
110
+ return "1.5rem";
111
+
112
+ case "large":
113
+ return "2rem";
114
+
115
+ case "xlarge":
116
+ return "3rem";
117
+
118
+ case "xxlarge":
119
+ return "4rem";
120
+
121
+ case "xxxlarge":
122
+ return "5rem";
123
+
124
+ default:
125
+ return "0";
126
+ }
127
+ });