@dxc-technology/halstack-react 0.0.0-9282b45 → 0.0.0-92fa0e1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1229 -6
  4. package/HalstackContext.js +125 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +36 -99
  8. package/accordion/Accordion.stories.tsx +101 -124
  9. package/accordion/Accordion.test.js +19 -34
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +29 -77
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +44 -72
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +6 -18
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +43 -0
  20. package/action-icon/types.d.ts +26 -0
  21. package/alert/Alert.js +19 -58
  22. package/alert/Alert.stories.tsx +28 -0
  23. package/alert/Alert.test.js +29 -46
  24. package/alert/types.d.ts +5 -5
  25. package/badge/Badge.js +4 -17
  26. package/badge/types.d.ts +1 -1
  27. package/bleed/Bleed.js +13 -21
  28. package/bleed/Bleed.stories.tsx +1 -0
  29. package/bleed/types.d.ts +2 -2
  30. package/box/Box.d.ts +1 -1
  31. package/box/Box.js +18 -59
  32. package/box/Box.stories.tsx +38 -51
  33. package/box/Box.test.js +2 -7
  34. package/box/types.d.ts +3 -15
  35. package/bulleted-list/BulletedList.js +19 -53
  36. package/bulleted-list/BulletedList.stories.tsx +8 -93
  37. package/bulleted-list/types.d.ts +32 -5
  38. package/button/Button.d.ts +1 -1
  39. package/button/Button.js +69 -105
  40. package/button/Button.stories.tsx +152 -91
  41. package/button/Button.test.js +18 -17
  42. package/button/types.d.ts +8 -4
  43. package/card/Card.d.ts +1 -1
  44. package/card/Card.js +48 -89
  45. package/card/Card.stories.tsx +12 -42
  46. package/card/Card.test.js +11 -22
  47. package/card/types.d.ts +6 -12
  48. package/checkbox/Checkbox.d.ts +2 -2
  49. package/checkbox/Checkbox.js +92 -126
  50. package/checkbox/Checkbox.stories.tsx +128 -94
  51. package/checkbox/Checkbox.test.js +108 -64
  52. package/checkbox/types.d.ts +11 -3
  53. package/chip/Chip.js +39 -79
  54. package/chip/Chip.stories.tsx +121 -26
  55. package/chip/Chip.test.js +16 -31
  56. package/chip/types.d.ts +4 -4
  57. package/common/OpenSans.css +68 -80
  58. package/common/coreTokens.d.ts +237 -0
  59. package/common/coreTokens.js +184 -0
  60. package/common/utils.d.ts +1 -0
  61. package/common/utils.js +6 -12
  62. package/common/variables.d.ts +1381 -0
  63. package/common/variables.js +893 -1148
  64. package/container/Container.d.ts +4 -0
  65. package/container/Container.js +194 -0
  66. package/container/Container.stories.tsx +214 -0
  67. package/container/types.d.ts +74 -0
  68. package/date-input/Calendar.d.ts +4 -0
  69. package/date-input/Calendar.js +214 -0
  70. package/date-input/DateInput.js +150 -299
  71. package/date-input/DateInput.stories.tsx +203 -56
  72. package/date-input/DateInput.test.js +700 -371
  73. package/date-input/DatePicker.d.ts +4 -0
  74. package/date-input/DatePicker.js +115 -0
  75. package/date-input/Icons.d.ts +6 -0
  76. package/date-input/Icons.js +58 -0
  77. package/date-input/YearPicker.d.ts +4 -0
  78. package/date-input/YearPicker.js +100 -0
  79. package/date-input/types.d.ts +72 -15
  80. package/dialog/Dialog.d.ts +1 -1
  81. package/dialog/Dialog.js +61 -119
  82. package/dialog/Dialog.stories.tsx +310 -212
  83. package/dialog/Dialog.test.js +269 -32
  84. package/dialog/types.d.ts +18 -26
  85. package/dropdown/Dropdown.js +66 -120
  86. package/dropdown/Dropdown.stories.tsx +210 -84
  87. package/dropdown/Dropdown.test.js +409 -400
  88. package/dropdown/DropdownMenu.js +20 -37
  89. package/dropdown/DropdownMenuItem.js +9 -34
  90. package/dropdown/types.d.ts +17 -19
  91. package/file-input/FileInput.d.ts +2 -2
  92. package/file-input/FileInput.js +241 -355
  93. package/file-input/FileInput.stories.tsx +123 -12
  94. package/file-input/FileInput.test.js +369 -367
  95. package/file-input/FileItem.d.ts +4 -14
  96. package/file-input/FileItem.js +45 -96
  97. package/file-input/types.d.ts +25 -8
  98. package/flex/Flex.js +27 -39
  99. package/flex/Flex.stories.tsx +35 -26
  100. package/flex/types.d.ts +74 -9
  101. package/footer/Footer.d.ts +1 -1
  102. package/footer/Footer.js +70 -117
  103. package/footer/Footer.stories.tsx +55 -21
  104. package/footer/Footer.test.js +33 -57
  105. package/footer/Icons.d.ts +3 -2
  106. package/footer/Icons.js +66 -7
  107. package/footer/types.d.ts +25 -27
  108. package/grid/Grid.d.ts +7 -0
  109. package/grid/Grid.js +76 -0
  110. package/grid/Grid.stories.tsx +219 -0
  111. package/grid/types.d.ts +115 -0
  112. package/header/Header.d.ts +4 -3
  113. package/header/Header.js +48 -133
  114. package/header/Header.stories.tsx +115 -36
  115. package/header/Header.test.js +13 -26
  116. package/header/Icons.d.ts +2 -2
  117. package/header/Icons.js +2 -7
  118. package/header/types.d.ts +5 -20
  119. package/heading/Heading.js +10 -32
  120. package/heading/Heading.test.js +71 -88
  121. package/heading/types.d.ts +7 -7
  122. package/image/Image.d.ts +4 -0
  123. package/image/Image.js +70 -0
  124. package/image/Image.stories.tsx +127 -0
  125. package/image/types.d.ts +72 -0
  126. package/image/types.js +5 -0
  127. package/inset/Inset.js +13 -21
  128. package/inset/Inset.stories.tsx +2 -1
  129. package/inset/types.d.ts +2 -2
  130. package/layout/ApplicationLayout.d.ts +5 -5
  131. package/layout/ApplicationLayout.js +29 -66
  132. package/layout/ApplicationLayout.stories.tsx +1 -1
  133. package/layout/Icons.d.ts +8 -5
  134. package/layout/Icons.js +51 -59
  135. package/layout/SidenavContext.d.ts +1 -1
  136. package/layout/SidenavContext.js +3 -9
  137. package/layout/types.d.ts +5 -6
  138. package/link/Link.js +25 -46
  139. package/link/Link.stories.tsx +60 -0
  140. package/link/Link.test.js +24 -44
  141. package/link/types.d.ts +14 -14
  142. package/main.d.ts +7 -4
  143. package/main.js +32 -58
  144. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  145. package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
  146. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +111 -7
  147. package/{tabs-nav → nav-tabs}/NavTabs.test.js +37 -44
  148. package/nav-tabs/Tab.js +117 -0
  149. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  150. package/nav-tabs/types.js +5 -0
  151. package/number-input/NumberInput.d.ts +7 -0
  152. package/number-input/NumberInput.js +26 -35
  153. package/number-input/NumberInput.stories.tsx +42 -26
  154. package/number-input/NumberInput.test.js +701 -377
  155. package/number-input/types.d.ts +11 -5
  156. package/package.json +37 -40
  157. package/paginator/Icons.d.ts +5 -0
  158. package/paginator/Icons.js +21 -47
  159. package/paginator/Paginator.js +23 -59
  160. package/paginator/Paginator.stories.tsx +24 -0
  161. package/paginator/Paginator.test.js +253 -226
  162. package/paginator/types.d.ts +3 -3
  163. package/paragraph/Paragraph.d.ts +3 -4
  164. package/paragraph/Paragraph.js +6 -22
  165. package/paragraph/Paragraph.stories.tsx +0 -17
  166. package/password-input/Icons.d.ts +6 -0
  167. package/password-input/Icons.js +35 -0
  168. package/password-input/PasswordInput.js +57 -128
  169. package/password-input/PasswordInput.stories.tsx +1 -33
  170. package/password-input/PasswordInput.test.js +158 -141
  171. package/password-input/types.d.ts +8 -7
  172. package/progress-bar/ProgressBar.d.ts +2 -2
  173. package/progress-bar/ProgressBar.js +23 -55
  174. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  175. package/progress-bar/ProgressBar.test.js +36 -53
  176. package/progress-bar/types.d.ts +4 -3
  177. package/quick-nav/QuickNav.js +4 -27
  178. package/quick-nav/QuickNav.stories.tsx +15 -1
  179. package/quick-nav/types.d.ts +10 -10
  180. package/radio-group/Radio.d.ts +1 -1
  181. package/radio-group/Radio.js +31 -63
  182. package/radio-group/RadioGroup.js +45 -93
  183. package/radio-group/RadioGroup.stories.tsx +131 -18
  184. package/radio-group/RadioGroup.test.js +505 -471
  185. package/radio-group/types.d.ts +8 -8
  186. package/resultset-table/Icons.d.ts +7 -0
  187. package/resultset-table/Icons.js +47 -0
  188. package/resultset-table/ResultsetTable.js +159 -0
  189. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  190. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +101 -144
  191. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  192. package/resultset-table/types.js +5 -0
  193. package/select/Icons.d.ts +7 -7
  194. package/select/Icons.js +1 -5
  195. package/select/Listbox.d.ts +1 -1
  196. package/select/Listbox.js +17 -72
  197. package/select/Option.js +27 -50
  198. package/select/Select.js +120 -175
  199. package/select/Select.stories.tsx +497 -153
  200. package/select/Select.test.js +1974 -1837
  201. package/select/types.d.ts +16 -17
  202. package/sidenav/Icons.d.ts +7 -0
  203. package/sidenav/Icons.js +47 -0
  204. package/sidenav/Sidenav.d.ts +2 -2
  205. package/sidenav/Sidenav.js +81 -153
  206. package/sidenav/Sidenav.stories.tsx +165 -63
  207. package/sidenav/Sidenav.test.js +3 -10
  208. package/sidenav/types.d.ts +31 -28
  209. package/slider/Slider.d.ts +2 -2
  210. package/slider/Slider.js +77 -134
  211. package/slider/Slider.test.js +108 -104
  212. package/slider/types.d.ts +7 -3
  213. package/spinner/Spinner.js +31 -75
  214. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  215. package/spinner/Spinner.test.js +26 -35
  216. package/spinner/types.d.ts +3 -3
  217. package/status-light/StatusLight.d.ts +4 -0
  218. package/status-light/StatusLight.js +51 -0
  219. package/status-light/StatusLight.stories.tsx +74 -0
  220. package/status-light/StatusLight.test.js +25 -0
  221. package/status-light/types.d.ts +17 -0
  222. package/status-light/types.js +5 -0
  223. package/switch/Switch.d.ts +3 -3
  224. package/switch/Switch.js +56 -103
  225. package/switch/Switch.stories.tsx +33 -34
  226. package/switch/Switch.test.js +52 -97
  227. package/switch/types.d.ts +8 -3
  228. package/table/Table.js +8 -30
  229. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  230. package/table/Table.test.js +3 -8
  231. package/table/types.d.ts +8 -8
  232. package/tabs/Tab.js +22 -44
  233. package/tabs/Tabs.js +62 -145
  234. package/tabs/Tabs.stories.tsx +45 -5
  235. package/tabs/Tabs.test.js +66 -123
  236. package/tabs/types.d.ts +19 -19
  237. package/tag/Tag.js +28 -60
  238. package/tag/Tag.stories.tsx +14 -1
  239. package/tag/Tag.test.js +20 -31
  240. package/tag/types.d.ts +7 -7
  241. package/text-input/Icons.d.ts +5 -5
  242. package/text-input/Icons.js +1 -5
  243. package/text-input/Suggestion.js +35 -25
  244. package/text-input/Suggestions.d.ts +1 -1
  245. package/text-input/Suggestions.js +15 -65
  246. package/text-input/TextInput.js +219 -320
  247. package/text-input/TextInput.stories.tsx +139 -155
  248. package/text-input/TextInput.test.js +1372 -1347
  249. package/text-input/types.d.ts +27 -19
  250. package/textarea/Textarea.js +70 -113
  251. package/textarea/Textarea.stories.tsx +174 -0
  252. package/textarea/Textarea.test.js +152 -183
  253. package/textarea/types.d.ts +9 -5
  254. package/toggle-group/ToggleGroup.d.ts +2 -2
  255. package/toggle-group/ToggleGroup.js +92 -106
  256. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  257. package/toggle-group/ToggleGroup.test.js +69 -88
  258. package/toggle-group/types.d.ts +26 -17
  259. package/typography/Typography.d.ts +2 -2
  260. package/typography/Typography.js +15 -123
  261. package/typography/Typography.stories.tsx +1 -1
  262. package/typography/types.d.ts +1 -1
  263. package/useTheme.d.ts +1133 -1
  264. package/useTheme.js +2 -9
  265. package/useTranslatedLabels.d.ts +84 -1
  266. package/useTranslatedLabels.js +1 -7
  267. package/utils/BaseTypography.d.ts +21 -0
  268. package/utils/BaseTypography.js +94 -0
  269. package/utils/FocusLock.d.ts +13 -0
  270. package/utils/FocusLock.js +124 -0
  271. package/wizard/Wizard.js +16 -51
  272. package/wizard/Wizard.stories.tsx +20 -0
  273. package/wizard/Wizard.test.js +54 -81
  274. package/wizard/types.d.ts +8 -9
  275. package/card/ice-cream.jpg +0 -0
  276. package/common/RequiredComponent.js +0 -32
  277. package/number-input/NumberInputContext.d.ts +0 -4
  278. package/number-input/NumberInputContext.js +0 -19
  279. package/number-input/numberInputContextTypes.d.ts +0 -19
  280. package/resultsetTable/ResultsetTable.js +0 -254
  281. package/slider/Slider.stories.tsx +0 -183
  282. package/tabs-nav/Tab.js +0 -130
  283. package/textarea/Textarea.stories.jsx +0 -157
  284. /package/{resultsetTable → action-icon}/types.js +0 -0
  285. /package/{tabs-nav → container}/types.js +0 -0
  286. /package/{number-input/numberInputContextTypes.js → grid/types.js} +0 -0
  287. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  288. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
@@ -1,45 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
5
6
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
-
7
7
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
-
9
8
  var _react = _interopRequireDefault(require("react"));
10
-
11
9
  var _react2 = require("@testing-library/react");
12
-
13
10
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
-
15
- var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable"));
16
-
11
+ var _ResultsetTable = _interopRequireDefault(require("./ResultsetTable.tsx"));
17
12
  // Mocking DOMRect for Radix Primitive Popover
18
13
  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
14
  global.DOMRect = {
44
15
  fromRect: function fromRect() {
45
16
  return {
@@ -52,6 +23,22 @@ global.DOMRect = {
52
23
  };
53
24
  }
54
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
+ }();
55
42
  var columns = [{
56
43
  displayValue: "Id",
57
44
  isSortable: false
@@ -80,8 +67,6 @@ var rows = [[{
80
67
  }, {
81
68
  displayValue: "Oviedo",
82
69
  sortValue: "Oviedo"
83
- }, {
84
- displayValue: ""
85
70
  }], [{
86
71
  displayValue: "003",
87
72
  sortValue: "003"
@@ -118,8 +103,6 @@ var rows = [[{
118
103
  }, {
119
104
  displayValue: "Barcelona",
120
105
  sortValue: "Barcelona"
121
- }, {
122
- displayValue: ""
123
106
  }], [{
124
107
  displayValue: "007",
125
108
  sortValue: "007"
@@ -147,8 +130,6 @@ var rows = [[{
147
130
  }, {
148
131
  displayValue: "Oviedo",
149
132
  sortValue: "Oviedo"
150
- }, {
151
- displayValue: ""
152
133
  }], [{
153
134
  displayValue: "010",
154
135
  sortValue: "010"
@@ -158,8 +139,6 @@ var rows = [[{
158
139
  }, {
159
140
  displayValue: "Barcelona",
160
141
  sortValue: "Barcelona"
161
- }, {
162
- displayValue: ""
163
142
  }]];
164
143
  var rows2 = [[{
165
144
  displayValue: "546",
@@ -191,128 +170,117 @@ var rows2 = [[{
191
170
  displayValue: "OtherValue",
192
171
  sortValue: "OtherValue"
193
172
  }]];
194
- describe("ResultsetTable component tests", function () {
195
- test("ResultsetTable rendered correctly", function () {
173
+ describe("Resultset table component tests", function () {
174
+ test("Resultset table rendered correctly", function () {
196
175
  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
-
176
+ columns: columns,
177
+ rows: rows,
178
+ itemsPerPage: 3
179
+ })),
180
+ getByText = _render.getByText;
203
181
  expect(getByText("Peter")).toBeTruthy();
204
182
  });
205
- test("Resultsettable shows as many rows as itemsPerPage", function () {
183
+ test("Resultset table shows as many rows as itemsPerPage", function () {
206
184
  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
-
185
+ columns: columns,
186
+ rows: rows,
187
+ itemsPerPage: 3
188
+ })),
189
+ getAllByRole = _render2.getAllByRole;
213
190
  expect(getAllByRole("row").length - 1).toEqual(3);
214
191
  });
215
- test("Resultsettable shows rows on second page", function () {
192
+ test("Resultset table shows rows on second page", function () {
216
193
  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
-
194
+ columns: columns,
195
+ rows: rows,
196
+ itemsPerPage: 3
197
+ })),
198
+ getByText = _render3.getByText,
199
+ getAllByRole = _render3.getAllByRole;
224
200
  expect(getByText("Peter")).toBeTruthy();
225
201
  expect(getByText("Louis")).toBeTruthy();
226
202
  expect(getByText("Lana")).toBeTruthy();
227
203
  expect(getAllByRole("row").length - 1).toEqual(3);
228
- var nextButton = getAllByRole("button")[2];
229
-
204
+ var nextButton = getAllByRole("button")[3];
230
205
  _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
206
  expect(getByText("4 to 6 of 10")).toBeTruthy();
267
207
  expect(getByText("Rick")).toBeTruthy();
268
208
  expect(getByText("Mark")).toBeTruthy();
269
209
  expect(getByText("Cris")).toBeTruthy();
270
210
  expect(getAllByRole("row").length - 1).toEqual(3);
271
211
  });
272
- test("Resultsettable going to the last page shows only one row", function () {
212
+ test("Resultset table goToPage works as expected", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
213
+ var _render4, getByText, getAllByRole, goToPageSelect, goToPageOption;
214
+ return _regenerator["default"].wrap(function _callee$(_context) {
215
+ while (1) switch (_context.prev = _context.next) {
216
+ case 0:
217
+ window.HTMLElement.prototype.scrollIntoView = function () {};
218
+ window.HTMLElement.prototype.scrollTo = function () {};
219
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
220
+ columns: columns,
221
+ showGoToPage: true,
222
+ rows: rows,
223
+ itemsPerPage: 3
224
+ })), getByText = _render4.getByText, getAllByRole = _render4.getAllByRole;
225
+ expect(getByText("Peter")).toBeTruthy();
226
+ expect(getByText("Louis")).toBeTruthy();
227
+ expect(getByText("Lana")).toBeTruthy();
228
+ expect(getAllByRole("row").length - 1).toEqual(3);
229
+ goToPageSelect = getAllByRole("button")[3];
230
+ _context.next = 10;
231
+ return _userEvent["default"].click(goToPageSelect);
232
+ case 10:
233
+ goToPageOption = getByText("2");
234
+ _context.next = 13;
235
+ return _userEvent["default"].click(goToPageOption);
236
+ case 13:
237
+ expect(getByText("4 to 6 of 10")).toBeTruthy();
238
+ expect(getByText("Rick")).toBeTruthy();
239
+ expect(getByText("Mark")).toBeTruthy();
240
+ expect(getByText("Cris")).toBeTruthy();
241
+ expect(getAllByRole("row").length - 1).toEqual(3);
242
+ case 18:
243
+ case "end":
244
+ return _context.stop();
245
+ }
246
+ }, _callee);
247
+ })));
248
+ test("Resultset table going to the last page shows only one row", function () {
273
249
  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
-
250
+ columns: columns,
251
+ rows: rows,
252
+ itemsPerPage: 3
253
+ })),
254
+ getByText = _render5.getByText,
255
+ getAllByRole = _render5.getAllByRole;
256
+ var lastButton = getAllByRole("button")[4];
283
257
  _react2.fireEvent.click(lastButton);
284
-
285
258
  expect(getByText("10 to 10 of 10")).toBeTruthy();
286
259
  expect(getAllByRole("row")).toHaveLength(2);
287
260
  expect(getByText("Cosmin")).toBeTruthy();
288
261
  });
289
- test("Resultsettable sort rows by column", function () {
262
+ test("Resultset table sort rows by column", function () {
290
263
  var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
291
264
  columns: columns,
292
265
  rows: rows,
293
266
  itemsPerPage: 3
294
267
  }));
295
268
  expect(component.queryByText("Peter")).toBeTruthy();
296
-
297
269
  _react2.fireEvent.click(component.queryByText("Name"));
298
-
299
270
  expect(component.queryByText("Tina")).not.toBeTruthy();
300
271
  expect(component.queryByText("Cosmin")).toBeTruthy();
301
-
302
272
  _react2.fireEvent.click(component.queryByText("Name"));
303
-
304
273
  expect(component.queryByText("Tina")).toBeTruthy();
305
274
  expect(component.queryByText("Cosmin")).not.toBeTruthy();
306
275
  });
307
- test("Resultsettable change rows should go to first page", function () {
276
+ test("Resultset table change rows should go to first page", function () {
308
277
  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
-
278
+ columns: columns,
279
+ rows: rows,
280
+ itemsPerPage: 3
281
+ })),
282
+ queryByText = _render6.queryByText,
283
+ rerender = _render6.rerender;
316
284
  expect(queryByText("Peter")).toBeTruthy();
317
285
  rerender( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
318
286
  columns: columns,
@@ -321,28 +289,17 @@ describe("ResultsetTable component tests", function () {
321
289
  }));
322
290
  expect(queryByText("1 to 3 of 3")).toBeTruthy();
323
291
  });
324
- test("Resultsettable change itemsPerPage should go to first page", function () {
292
+ test("Resultset table change itemsPerPage should go to first page", function () {
325
293
  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
-
294
+ columns: columns,
295
+ rows: rows,
296
+ itemsPerPage: 3,
297
+ itemsPerPageOptions: [2, 3]
298
+ })),
299
+ getAllByRole = _render7.getAllByRole;
300
+ var lastButton = getAllByRole("button")[4];
301
+ expect(getAllByRole("row").length - 1).toEqual(3);
337
302
  _react2.fireEvent.click(lastButton);
338
-
339
303
  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
304
  });
348
305
  });
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type Column = {
9
+ export type Column = {
10
10
  /**
11
11
  * Column display value.
12
12
  */
@@ -16,7 +16,7 @@ declare type Column = {
16
16
  */
17
17
  isSortable?: boolean;
18
18
  };
19
- declare type Row = {
19
+ type Row = {
20
20
  /**
21
21
  * Value to be displayed in the cell.
22
22
  */
@@ -27,7 +27,7 @@ declare type Row = {
27
27
  */
28
28
  sortValue?: string;
29
29
  };
30
- declare type Props = {
30
+ type Props = {
31
31
  /**
32
32
  * An array of objects representing the columns of the table.
33
33
  */
@@ -53,14 +53,14 @@ declare type Props = {
53
53
  * This function will be called when the user selects an item per page
54
54
  * option. The value selected will be passed as a parameter.
55
55
  */
56
- itemsPerPageFunction?: (newValue: number) => void;
56
+ itemsPerPageFunction?: (value: number) => void;
57
57
  /**
58
58
  * Size of the margin to be applied to the component. You can pass an object with 'top',
59
59
  * 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
60
60
  */
61
61
  margin?: Space | Margin;
62
62
  /**
63
- * Value of the tabindex attribute given to the sortable icon.
63
+ * Value of the tabindex attribute applied to the sortable icon.
64
64
  */
65
65
  tabIndex?: number;
66
66
  };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/select/Icons.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  declare const selectIcons: {
3
- error: JSX.Element;
4
- arrowUp: JSX.Element;
5
- arrowDown: JSX.Element;
6
- clear: JSX.Element;
7
- selected: JSX.Element;
8
- searchOff: JSX.Element;
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
9
  };
10
10
  export default selectIcons;
package/select/Icons.js CHANGED
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var selectIcons = {
13
10
  error: /*#__PURE__*/_react["default"].createElement("svg", {
14
11
  role: "img",
@@ -89,5 +86,4 @@ var selectIcons = {
89
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"
90
87
  }))))
91
88
  };
92
- var _default = selectIcons;
93
- exports["default"] = _default;
89
+ var _default = exports["default"] = selectIcons;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { ListboxProps } from "./types";
3
- declare const _default: React.MemoExoticComponent<({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, getSelectWidth, }: ListboxProps) => JSX.Element>;
3
+ declare const _default: React.MemoExoticComponent<({ id, currentValue, options, visualFocusIndex, lastOptionIndex, multiple, optional, optionalItem, searchable, handleOptionOnClick, styles, }: ListboxProps) => JSX.Element>;
4
4
  export default _default;
package/select/Listbox.js CHANGED
@@ -1,67 +1,41 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
10
  var _react = _interopRequireWildcard(require("react"));
17
-
18
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
- var _useTheme = _interopRequireDefault(require("../useTheme"));
21
-
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
22
12
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
23
-
24
13
  var _Option = _interopRequireDefault(require("./Option"));
25
-
26
14
  var _Icons = _interopRequireDefault(require("./Icons"));
27
-
28
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
29
-
30
- 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); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
33
-
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
34
18
  var groupsHaveOptions = function groupsHaveOptions(options) {
35
19
  return options !== null && options !== void 0 && options[0].options ? options.some(function (groupOption) {
36
20
  var _groupOption$options;
37
-
38
21
  return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
39
22
  }) : true;
40
23
  };
41
-
42
24
  var Listbox = function Listbox(_ref) {
43
25
  var id = _ref.id,
44
- currentValue = _ref.currentValue,
45
- options = _ref.options,
46
- visualFocusIndex = _ref.visualFocusIndex,
47
- lastOptionIndex = _ref.lastOptionIndex,
48
- multiple = _ref.multiple,
49
- optional = _ref.optional,
50
- optionalItem = _ref.optionalItem,
51
- searchable = _ref.searchable,
52
- handleOptionOnClick = _ref.handleOptionOnClick,
53
- getSelectWidth = _ref.getSelectWidth;
54
- var colorsTheme = (0, _useTheme["default"])();
26
+ currentValue = _ref.currentValue,
27
+ options = _ref.options,
28
+ visualFocusIndex = _ref.visualFocusIndex,
29
+ lastOptionIndex = _ref.lastOptionIndex,
30
+ multiple = _ref.multiple,
31
+ optional = _ref.optional,
32
+ optionalItem = _ref.optionalItem,
33
+ searchable = _ref.searchable,
34
+ handleOptionOnClick = _ref.handleOptionOnClick,
35
+ styles = _ref.styles;
55
36
  var translatedLabels = (0, _useTranslatedLabels["default"])();
56
37
  var listboxRef = (0, _react.useRef)(null);
57
-
58
- var _useState = (0, _react.useState)(null),
59
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
60
- styles = _useState2[0],
61
- setStyles = _useState2[1];
62
-
63
- var globalIndex = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
64
-
38
+ var globalIndex = optional && !multiple ? 0 : -1;
65
39
  var mapOptionFunc = function mapOptionFunc(option, mapIndex) {
66
40
  if (option.options) {
67
41
  var groupId = "group-".concat(mapIndex);
@@ -101,11 +75,9 @@ var Listbox = function Listbox(_ref) {
101
75
  });
102
76
  }
103
77
  };
104
-
105
78
  (0, _react.useLayoutEffect)(function () {
106
79
  if (currentValue && !multiple) {
107
80
  var _listEl$scrollTo;
108
-
109
81
  var listEl = listboxRef === null || listboxRef === void 0 ? void 0 : listboxRef.current;
110
82
  var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
111
83
  listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
@@ -115,32 +87,13 @@ var Listbox = function Listbox(_ref) {
115
87
  }, [currentValue, multiple]);
116
88
  (0, _react.useLayoutEffect)(function () {
117
89
  var _listboxRef$current, _visualFocusedOptionE;
118
-
119
90
  var visualFocusedOptionEl = listboxRef === null || listboxRef === void 0 ? void 0 : (_listboxRef$current = listboxRef.current) === null || _listboxRef$current === void 0 ? void 0 : _listboxRef$current.querySelectorAll("[role='option']")[visualFocusIndex];
120
91
  visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
121
92
  block: "nearest",
122
93
  inline: "start"
123
94
  });
124
95
  }, [visualFocusIndex]);
125
-
126
- var handleResize = function handleResize() {
127
- setStyles({
128
- width: getSelectWidth()
129
- });
130
- };
131
-
132
- (0, _react.useLayoutEffect)(function () {
133
- handleResize();
134
- }, [getSelectWidth]);
135
- (0, _react.useEffect)(function () {
136
- window.addEventListener("resize", handleResize);
137
- return function () {
138
- window.removeEventListener("resize", handleResize);
139
- };
140
- }, [getSelectWidth]);
141
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
142
- theme: colorsTheme.select
143
- }, /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
96
+ return /*#__PURE__*/_react["default"].createElement(ListboxContainer, {
144
97
  id: id,
145
98
  onClick: function onClick(event) {
146
99
  event.stopPropagation();
@@ -162,9 +115,8 @@ var Listbox = function Listbox(_ref) {
162
115
  isGroupedOption: false,
163
116
  isLastOption: lastOptionIndex === 0,
164
117
  isSelected: multiple ? currentValue.includes(optionalItem.value) : currentValue === optionalItem.value
165
- }), options.map(mapOptionFunc)));
118
+ }), options.map(mapOptionFunc));
166
119
  };
167
-
168
120
  var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
169
121
  return props.theme.listDialogBackgroundColor;
170
122
  }, function (props) {
@@ -180,19 +132,12 @@ var ListboxContainer = _styledComponents["default"].ul(_templateObject || (_temp
180
132
  }, function (props) {
181
133
  return props.theme.listOptionFontWeight;
182
134
  });
183
-
184
135
  var OptionsSystemMessage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"])), function (props) {
185
136
  return props.theme.systemMessageFontColor;
186
137
  });
187
-
188
138
  var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: 0.25rem;\n"])));
189
-
190
139
  var GroupList = _styledComponents["default"].ul(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"])));
191
-
192
140
  var GroupLabel = _styledComponents["default"].li(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"])), function (props) {
193
141
  return props.theme.listGroupLabelFontWeight;
194
142
  });
195
-
196
- var _default = /*#__PURE__*/_react["default"].memo(Listbox);
197
-
198
- exports["default"] = _default;
143
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Listbox);