@pingux/astro 2.206.2-alpha.0 → 2.207.0-alpha.0
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.
- package/lib/cjs/components/Button/Buttons.styles.d.ts +14 -0
- package/lib/cjs/components/Button/Buttons.styles.js +11 -1
- package/lib/cjs/components/TableBase/TableBase.js +138 -32
- package/lib/cjs/components/TableBase/TableBase.mdx +46 -13
- package/lib/cjs/components/TableBase/TableBase.stories.js +52 -2
- package/lib/cjs/components/TableBase/TableBase.styles.d.ts +84 -9
- package/lib/cjs/components/TableBase/TableBase.styles.js +61 -10
- package/lib/cjs/components/TableBase/TableBase.test.js +585 -105
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +14 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +16 -2
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +10 -0
- package/lib/cjs/styles/themes/next-gen/variants/button.d.ts +7 -0
- package/lib/cjs/styles/themes/next-gen/variants/button.js +4 -1
- package/lib/cjs/styles/themes/next-gen/variants/tableBase.d.ts +3 -0
- package/lib/cjs/styles/themes/next-gen/variants/tableBase.js +6 -1
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +3 -0
- package/lib/cjs/types/tableBase.d.ts +21 -5
- package/lib/components/Button/Buttons.styles.js +11 -1
- package/lib/components/TableBase/TableBase.js +139 -33
- package/lib/components/TableBase/TableBase.mdx +46 -13
- package/lib/components/TableBase/TableBase.stories.js +51 -1
- package/lib/components/TableBase/TableBase.styles.js +61 -10
- package/lib/components/TableBase/TableBase.test.js +585 -105
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +16 -2
- package/lib/styles/themes/next-gen/variants/button.js +4 -1
- package/lib/styles/themes/next-gen/variants/tableBase.js +6 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ var _Symbol$iterator = require("@babel/runtime-corejs3/core-js-stable/symbol/ite
|
|
|
13
13
|
var _reverseInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/reverse");
|
|
14
14
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
15
15
|
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
|
16
|
+
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
16
17
|
var _sort2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/sort"));
|
|
17
18
|
var _parseInt2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-int"));
|
|
18
19
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
|
|
@@ -21,6 +22,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
21
22
|
var _reactStately = require("react-stately");
|
|
22
23
|
var _react2 = require("@testing-library/react");
|
|
23
24
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
25
|
+
var _jestAxe = require("jest-axe");
|
|
24
26
|
var _index = require("../../index");
|
|
25
27
|
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
|
26
28
|
var _TableBase = _interopRequireDefault(require("./TableBase"));
|
|
@@ -89,8 +91,6 @@ var getComponent = function getComponent() {
|
|
|
89
91
|
});
|
|
90
92
|
})));
|
|
91
93
|
};
|
|
92
|
-
|
|
93
|
-
// Needs to be added to each components test file
|
|
94
94
|
(0, _universalComponentTest.universalComponentTests)({
|
|
95
95
|
renderComponent: function renderComponent(props) {
|
|
96
96
|
return (0, _react3.jsx)(_TableBase["default"], (0, _extends2["default"])({}, defaultProps, props), (0, _react3.jsx)(_index.THead, {
|
|
@@ -172,26 +172,205 @@ test('should change selection on mouse press', /*#__PURE__*/(0, _asyncToGenerato
|
|
|
172
172
|
}
|
|
173
173
|
}, _callee);
|
|
174
174
|
})));
|
|
175
|
+
test('should NOT change selection on row body click when hasSelectionCheckboxes is true', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
176
|
+
var rows, firstBodyRowCells;
|
|
177
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
178
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
179
|
+
case 0:
|
|
180
|
+
getComponent({
|
|
181
|
+
selectionMode: 'multiple',
|
|
182
|
+
hasSelectionCheckboxes: true
|
|
183
|
+
});
|
|
184
|
+
rows = _react2.screen.getAllByRole('row'); // Click on a cell (the actual user target) — cell-level stopPropagation prevents
|
|
185
|
+
// the row's press handler from firing, so no selection is triggered.
|
|
186
|
+
firstBodyRowCells = rows[1].querySelectorAll('td');
|
|
187
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
188
|
+
_context2.next = 6;
|
|
189
|
+
return _userEvent["default"].click(firstBodyRowCells[1]);
|
|
190
|
+
case 6:
|
|
191
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
192
|
+
case 7:
|
|
193
|
+
case "end":
|
|
194
|
+
return _context2.stop();
|
|
195
|
+
}
|
|
196
|
+
}, _callee2);
|
|
197
|
+
})));
|
|
198
|
+
test('should change selection via checkbox when hasSelectionCheckboxes is true', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
199
|
+
var rows, firstRowCheckbox;
|
|
200
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
201
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
202
|
+
case 0:
|
|
203
|
+
getComponent({
|
|
204
|
+
selectionMode: 'multiple',
|
|
205
|
+
hasSelectionCheckboxes: true
|
|
206
|
+
});
|
|
207
|
+
rows = _react2.screen.getAllByRole('row');
|
|
208
|
+
firstRowCheckbox = (0, _react2.within)(rows[1]).getByRole('checkbox');
|
|
209
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
210
|
+
_context3.next = 6;
|
|
211
|
+
return _userEvent["default"].click(firstRowCheckbox);
|
|
212
|
+
case 6:
|
|
213
|
+
expect(rows[1]).toHaveClass('is-selected');
|
|
214
|
+
case 7:
|
|
215
|
+
case "end":
|
|
216
|
+
return _context3.stop();
|
|
217
|
+
}
|
|
218
|
+
}, _callee3);
|
|
219
|
+
})));
|
|
220
|
+
test('mousedown on a cell does not bubble to row via React synthetic event', function () {
|
|
221
|
+
// Verify that the cell-level stopPropagation approach prevents the row's React
|
|
222
|
+
// onMouseDown handler from firing. We test this with a simple isolated component
|
|
223
|
+
// that matches the structure used in TableCell (mergeProps with stopPropagation).
|
|
224
|
+
// The full integration is covered by the hasSelectionCheckboxes test above.
|
|
225
|
+
var rowSpy = jest.fn();
|
|
226
|
+
(0, _react2.render)((0, _react3.jsx)("table", null, (0, _react3.jsx)("tbody", null, (0, _react3.jsx)("tr", {
|
|
227
|
+
"data-testid": "test-row",
|
|
228
|
+
onMouseDown: rowSpy
|
|
229
|
+
}, (0, _react3.jsx)("td", {
|
|
230
|
+
"data-testid": "test-cell",
|
|
231
|
+
onMouseDown: function onMouseDown(e) {
|
|
232
|
+
return e.stopPropagation();
|
|
233
|
+
}
|
|
234
|
+
}, "cell content")))));
|
|
235
|
+
_react2.fireEvent.mouseDown(_react2.screen.getByTestId('test-cell'));
|
|
236
|
+
// The row's React onMouseDown should not have fired because stopPropagation
|
|
237
|
+
// was called on the td's synthetic onMouseDown handler.
|
|
238
|
+
expect(rowSpy).not.toHaveBeenCalled();
|
|
239
|
+
});
|
|
240
|
+
test('should toggle selection on Enter key when row is focused', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
241
|
+
var rows;
|
|
242
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
243
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
244
|
+
case 0:
|
|
245
|
+
getComponent({
|
|
246
|
+
selectionMode: 'multiple'
|
|
247
|
+
});
|
|
248
|
+
rows = _react2.screen.getAllByRole('row');
|
|
249
|
+
_context4.next = 4;
|
|
250
|
+
return _userEvent["default"].tab();
|
|
251
|
+
case 4:
|
|
252
|
+
expect(rows[1]).toHaveFocus();
|
|
253
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
254
|
+
_react2.fireEvent.keyDown(rows[1], {
|
|
255
|
+
key: 'Enter'
|
|
256
|
+
});
|
|
257
|
+
expect(rows[1]).toHaveClass('is-selected');
|
|
258
|
+
_react2.fireEvent.keyDown(rows[1], {
|
|
259
|
+
key: 'Enter'
|
|
260
|
+
});
|
|
261
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
262
|
+
case 10:
|
|
263
|
+
case "end":
|
|
264
|
+
return _context4.stop();
|
|
265
|
+
}
|
|
266
|
+
}, _callee4);
|
|
267
|
+
})));
|
|
268
|
+
test('Enter key should toggle selection on focused row with checkboxes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
269
|
+
var rows;
|
|
270
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
271
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
272
|
+
case 0:
|
|
273
|
+
getComponent({
|
|
274
|
+
selectionMode: 'multiple'
|
|
275
|
+
});
|
|
276
|
+
rows = _react2.screen.getAllByRole('row');
|
|
277
|
+
_context5.next = 4;
|
|
278
|
+
return _userEvent["default"].tab();
|
|
279
|
+
case 4:
|
|
280
|
+
expect(rows[1]).toHaveFocus();
|
|
281
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
282
|
+
_react2.fireEvent.keyDown(rows[1], {
|
|
283
|
+
key: 'Enter'
|
|
284
|
+
});
|
|
285
|
+
expect(rows[1]).toHaveClass('is-selected');
|
|
286
|
+
case 8:
|
|
287
|
+
case "end":
|
|
288
|
+
return _context5.stop();
|
|
289
|
+
}
|
|
290
|
+
}, _callee5);
|
|
291
|
+
})));
|
|
292
|
+
test('Enter key should not change selection when selectionMode is none', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
293
|
+
var rows;
|
|
294
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
295
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
296
|
+
case 0:
|
|
297
|
+
getComponent();
|
|
298
|
+
rows = _react2.screen.getAllByRole('row');
|
|
299
|
+
_context6.next = 4;
|
|
300
|
+
return _userEvent["default"].tab();
|
|
301
|
+
case 4:
|
|
302
|
+
expect(rows[1]).toHaveFocus();
|
|
303
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
304
|
+
_react2.fireEvent.keyDown(rows[1], {
|
|
305
|
+
key: 'Enter'
|
|
306
|
+
});
|
|
307
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
308
|
+
case 8:
|
|
309
|
+
case "end":
|
|
310
|
+
return _context6.stop();
|
|
311
|
+
}
|
|
312
|
+
}, _callee6);
|
|
313
|
+
})));
|
|
314
|
+
test('Enter key should toggle a row checkbox when the checkbox input is focused', function () {
|
|
315
|
+
getComponent({
|
|
316
|
+
selectionMode: 'multiple'
|
|
317
|
+
});
|
|
318
|
+
var rows = _react2.screen.getAllByRole('row');
|
|
319
|
+
var checkboxes = _react2.screen.getAllByRole('checkbox');
|
|
320
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
321
|
+
// focus() triggers React Aria focus state updates and must be wrapped in act
|
|
322
|
+
(0, _react2.act)(function () {
|
|
323
|
+
checkboxes[1].focus();
|
|
324
|
+
});
|
|
325
|
+
_react2.fireEvent.keyDown(checkboxes[1], {
|
|
326
|
+
key: 'Enter'
|
|
327
|
+
});
|
|
328
|
+
expect(rows[1]).toHaveClass('is-selected');
|
|
329
|
+
_react2.fireEvent.keyDown(checkboxes[1], {
|
|
330
|
+
key: 'Enter'
|
|
331
|
+
});
|
|
332
|
+
expect(rows[1]).not.toHaveClass('is-selected');
|
|
333
|
+
});
|
|
334
|
+
test('Enter key should toggle select-all checkbox when it is focused', function () {
|
|
335
|
+
var _context7, _context8;
|
|
336
|
+
getComponent({
|
|
337
|
+
selectionMode: 'multiple'
|
|
338
|
+
});
|
|
339
|
+
var rows = _react2.screen.getAllByRole('row');
|
|
340
|
+
var selectAllCheckbox = _react2.screen.getByTestId('select-all-checkbox');
|
|
341
|
+
(0, _forEach["default"])(_context7 = (0, _slice["default"])(rows).call(rows, 1)).call(_context7, function (row) {
|
|
342
|
+
return expect(row).not.toHaveClass('is-selected');
|
|
343
|
+
});
|
|
344
|
+
(0, _react2.act)(function () {
|
|
345
|
+
selectAllCheckbox.focus();
|
|
346
|
+
});
|
|
347
|
+
_react2.fireEvent.keyDown(selectAllCheckbox, {
|
|
348
|
+
key: 'Enter'
|
|
349
|
+
});
|
|
350
|
+
(0, _forEach["default"])(_context8 = (0, _slice["default"])(rows).call(rows, 1)).call(_context8, function (row) {
|
|
351
|
+
return expect(row).toHaveClass('is-selected');
|
|
352
|
+
});
|
|
353
|
+
});
|
|
175
354
|
test('should change select all checkbox on mouse press', function () {
|
|
176
355
|
getComponent({
|
|
177
356
|
selectionMode: 'multiple'
|
|
178
357
|
});
|
|
179
358
|
var rows = _react2.screen.getAllByRole('row');
|
|
180
359
|
(0, _forEach["default"])(rows).call(rows, /*#__PURE__*/function () {
|
|
181
|
-
var
|
|
182
|
-
return _regeneratorRuntime().wrap(function
|
|
183
|
-
while (1) switch (
|
|
360
|
+
var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(element) {
|
|
361
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context9) {
|
|
362
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
184
363
|
case 0:
|
|
185
|
-
|
|
364
|
+
_context9.next = 2;
|
|
186
365
|
return _userEvent["default"].click(element);
|
|
187
366
|
case 2:
|
|
188
367
|
case "end":
|
|
189
|
-
return
|
|
368
|
+
return _context9.stop();
|
|
190
369
|
}
|
|
191
|
-
},
|
|
370
|
+
}, _callee7);
|
|
192
371
|
}));
|
|
193
372
|
return function (_x) {
|
|
194
|
-
return
|
|
373
|
+
return _ref7.apply(this, arguments);
|
|
195
374
|
};
|
|
196
375
|
}());
|
|
197
376
|
var headerCheckbox = _react2.screen.getByTestId('select-all-checkbox');
|
|
@@ -213,31 +392,31 @@ test('should checked checkboxes if selected keys are provided', function () {
|
|
|
213
392
|
var headerCheckbox = _react2.screen.getByTestId('select-all-checkbox');
|
|
214
393
|
expect(headerCheckbox).toBePartiallyChecked();
|
|
215
394
|
});
|
|
216
|
-
test('tab key should focus on the first cell of the first row', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
395
|
+
test('tab key should focus on the first cell of the first row', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
217
396
|
var rows;
|
|
218
|
-
return _regeneratorRuntime().wrap(function
|
|
219
|
-
while (1) switch (
|
|
397
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context0) {
|
|
398
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
220
399
|
case 0:
|
|
221
400
|
getComponent();
|
|
222
401
|
rows = _react2.screen.getAllByRole('row');
|
|
223
|
-
|
|
402
|
+
_context0.next = 4;
|
|
224
403
|
return _userEvent["default"].tab();
|
|
225
404
|
case 4:
|
|
226
405
|
expect(rows[1]).toHaveFocus();
|
|
227
406
|
case 5:
|
|
228
407
|
case "end":
|
|
229
|
-
return
|
|
408
|
+
return _context0.stop();
|
|
230
409
|
}
|
|
231
|
-
},
|
|
410
|
+
}, _callee8);
|
|
232
411
|
})));
|
|
233
|
-
test('Arrow Down key should focus the next row', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
412
|
+
test('Arrow Down key should focus the next row', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
234
413
|
var rows;
|
|
235
|
-
return _regeneratorRuntime().wrap(function
|
|
236
|
-
while (1) switch (
|
|
414
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context1) {
|
|
415
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
237
416
|
case 0:
|
|
238
417
|
getComponent();
|
|
239
418
|
rows = _react2.screen.getAllByRole('row');
|
|
240
|
-
|
|
419
|
+
_context1.next = 4;
|
|
241
420
|
return _userEvent["default"].tab();
|
|
242
421
|
case 4:
|
|
243
422
|
expect(rows[1]).toHaveFocus();
|
|
@@ -257,18 +436,18 @@ test('Arrow Down key should focus the next row', /*#__PURE__*/(0, _asyncToGenera
|
|
|
257
436
|
expect(rows[3]).toHaveFocus();
|
|
258
437
|
case 11:
|
|
259
438
|
case "end":
|
|
260
|
-
return
|
|
439
|
+
return _context1.stop();
|
|
261
440
|
}
|
|
262
|
-
},
|
|
441
|
+
}, _callee9);
|
|
263
442
|
})));
|
|
264
|
-
test('Arrow Up key should focus the next row', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
443
|
+
test('Arrow Up key should focus the next row', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee0() {
|
|
265
444
|
var rows, columnheader;
|
|
266
|
-
return _regeneratorRuntime().wrap(function
|
|
267
|
-
while (1) switch (
|
|
445
|
+
return _regeneratorRuntime().wrap(function _callee0$(_context10) {
|
|
446
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
268
447
|
case 0:
|
|
269
448
|
getComponent();
|
|
270
449
|
rows = _react2.screen.getAllByRole('row');
|
|
271
|
-
|
|
450
|
+
_context10.next = 4;
|
|
272
451
|
return _userEvent["default"].tab();
|
|
273
452
|
case 4:
|
|
274
453
|
expect(rows[1]).toHaveFocus();
|
|
@@ -282,20 +461,20 @@ test('Arrow Up key should focus the next row', /*#__PURE__*/(0, _asyncToGenerato
|
|
|
282
461
|
expect(columnheader[0]).toHaveFocus();
|
|
283
462
|
case 9:
|
|
284
463
|
case "end":
|
|
285
|
-
return
|
|
464
|
+
return _context10.stop();
|
|
286
465
|
}
|
|
287
|
-
},
|
|
466
|
+
}, _callee0);
|
|
288
467
|
})));
|
|
289
|
-
test('Arrow Right move the focus to next cell', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
468
|
+
test('Arrow Right move the focus to next cell', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee1() {
|
|
290
469
|
var rows, firstRow, tableCells;
|
|
291
|
-
return _regeneratorRuntime().wrap(function
|
|
292
|
-
while (1) switch (
|
|
470
|
+
return _regeneratorRuntime().wrap(function _callee1$(_context11) {
|
|
471
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
293
472
|
case 0:
|
|
294
473
|
getComponent();
|
|
295
474
|
rows = _react2.screen.getAllByRole('row');
|
|
296
475
|
firstRow = _react2.screen.getAllByRole('row')[1];
|
|
297
476
|
tableCells = firstRow.querySelectorAll('td');
|
|
298
|
-
|
|
477
|
+
_context11.next = 6;
|
|
299
478
|
return _userEvent["default"].tab();
|
|
300
479
|
case 6:
|
|
301
480
|
expect(rows[1]).toHaveFocus();
|
|
@@ -329,20 +508,20 @@ test('Arrow Right move the focus to next cell', /*#__PURE__*/(0, _asyncToGenerat
|
|
|
329
508
|
expect(rows[1]).toHaveFocus();
|
|
330
509
|
case 19:
|
|
331
510
|
case "end":
|
|
332
|
-
return
|
|
511
|
+
return _context11.stop();
|
|
333
512
|
}
|
|
334
|
-
},
|
|
513
|
+
}, _callee1);
|
|
335
514
|
})));
|
|
336
|
-
test('Arrow Left move the focus to next cell', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
515
|
+
test('Arrow Left move the focus to next cell', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
337
516
|
var rows, firstRow, tableCells;
|
|
338
|
-
return _regeneratorRuntime().wrap(function
|
|
339
|
-
while (1) switch (
|
|
517
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context12) {
|
|
518
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
340
519
|
case 0:
|
|
341
520
|
getComponent();
|
|
342
521
|
rows = _react2.screen.getAllByRole('row');
|
|
343
522
|
firstRow = _react2.screen.getAllByRole('row')[1];
|
|
344
523
|
tableCells = firstRow.querySelectorAll('td');
|
|
345
|
-
|
|
524
|
+
_context12.next = 6;
|
|
346
525
|
return _userEvent["default"].tab();
|
|
347
526
|
case 6:
|
|
348
527
|
expect(rows[1]).toHaveFocus();
|
|
@@ -376,10 +555,311 @@ test('Arrow Left move the focus to next cell', /*#__PURE__*/(0, _asyncToGenerato
|
|
|
376
555
|
expect(rows[1]).toHaveFocus();
|
|
377
556
|
case 19:
|
|
378
557
|
case "end":
|
|
379
|
-
return
|
|
558
|
+
return _context12.stop();
|
|
380
559
|
}
|
|
381
|
-
},
|
|
560
|
+
}, _callee10);
|
|
382
561
|
})));
|
|
562
|
+
describe('Resizable columns', function () {
|
|
563
|
+
var resizableHeaders = [{
|
|
564
|
+
key: 'name',
|
|
565
|
+
name: 'Name'
|
|
566
|
+
}, {
|
|
567
|
+
key: 'value',
|
|
568
|
+
name: 'Value'
|
|
569
|
+
}];
|
|
570
|
+
var resizableObjects = [{
|
|
571
|
+
key: '1',
|
|
572
|
+
name: 'Alpha',
|
|
573
|
+
value: '10'
|
|
574
|
+
}, {
|
|
575
|
+
key: '2',
|
|
576
|
+
name: 'Beta',
|
|
577
|
+
value: '20'
|
|
578
|
+
}];
|
|
579
|
+
test('renders resize slider input for a resizable column', function () {
|
|
580
|
+
(0, _react2.render)((0, _react3.jsx)(_TableBase["default"], {
|
|
581
|
+
"aria-label": "resizable table"
|
|
582
|
+
}, (0, _react3.jsx)(_index.THead, {
|
|
583
|
+
columns: resizableHeaders
|
|
584
|
+
}, function (head) {
|
|
585
|
+
return (0, _react3.jsx)(_index.Column, {
|
|
586
|
+
key: head.key,
|
|
587
|
+
allowsResizing: true
|
|
588
|
+
}, head.name);
|
|
589
|
+
}), (0, _react3.jsx)(_index.TBody, {
|
|
590
|
+
items: resizableObjects
|
|
591
|
+
}, function (row) {
|
|
592
|
+
return (0, _react3.jsx)(_index.Row, {
|
|
593
|
+
key: row.key
|
|
594
|
+
}, function (columnKey) {
|
|
595
|
+
return (0, _react3.jsx)(_index.Cell, null, row[columnKey]);
|
|
596
|
+
});
|
|
597
|
+
})));
|
|
598
|
+
|
|
599
|
+
// Each resizable column renders a visually-hidden <input type="range">
|
|
600
|
+
// accessible as role="slider" with an aria-label containing the column name
|
|
601
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
602
|
+
name: /Name column width/i
|
|
603
|
+
});
|
|
604
|
+
expect(slider).toBeInTheDocument();
|
|
605
|
+
expect(_react2.screen.getByRole('slider', {
|
|
606
|
+
name: /Value column width/i
|
|
607
|
+
})).toBeInTheDocument();
|
|
608
|
+
});
|
|
609
|
+
test('resizable table has no accessibility violations', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {
|
|
610
|
+
var _render, container, results;
|
|
611
|
+
return _regeneratorRuntime().wrap(function _callee11$(_context13) {
|
|
612
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
613
|
+
case 0:
|
|
614
|
+
jest.useRealTimers();
|
|
615
|
+
_render = (0, _react2.render)((0, _react3.jsx)(_TableBase["default"], {
|
|
616
|
+
"aria-label": "resizable table"
|
|
617
|
+
}, (0, _react3.jsx)(_index.THead, {
|
|
618
|
+
columns: resizableHeaders
|
|
619
|
+
}, function (head) {
|
|
620
|
+
return (0, _react3.jsx)(_index.Column, {
|
|
621
|
+
key: head.key,
|
|
622
|
+
allowsResizing: true
|
|
623
|
+
}, head.name);
|
|
624
|
+
}), (0, _react3.jsx)(_index.TBody, {
|
|
625
|
+
items: resizableObjects
|
|
626
|
+
}, function (row) {
|
|
627
|
+
return (0, _react3.jsx)(_index.Row, {
|
|
628
|
+
key: row.key
|
|
629
|
+
}, function (columnKey) {
|
|
630
|
+
return (0, _react3.jsx)(_index.Cell, null, row[columnKey]);
|
|
631
|
+
});
|
|
632
|
+
}))), container = _render.container;
|
|
633
|
+
_context13.next = 4;
|
|
634
|
+
return (0, _jestAxe.axe)(container);
|
|
635
|
+
case 4:
|
|
636
|
+
results = _context13.sent;
|
|
637
|
+
jest.useFakeTimers();
|
|
638
|
+
expect(results).toHaveNoViolations();
|
|
639
|
+
case 7:
|
|
640
|
+
case "end":
|
|
641
|
+
return _context13.stop();
|
|
642
|
+
}
|
|
643
|
+
}, _callee11);
|
|
644
|
+
})));
|
|
645
|
+
test('does not render resize slider input for a non-resizable column', function () {
|
|
646
|
+
(0, _react2.render)((0, _react3.jsx)(_TableBase["default"], {
|
|
647
|
+
"aria-label": "non-resizable table"
|
|
648
|
+
}, (0, _react3.jsx)(_index.THead, {
|
|
649
|
+
columns: resizableHeaders
|
|
650
|
+
}, function (head) {
|
|
651
|
+
return (0, _react3.jsx)(_index.Column, {
|
|
652
|
+
key: head.key
|
|
653
|
+
}, head.name);
|
|
654
|
+
}), (0, _react3.jsx)(_index.TBody, {
|
|
655
|
+
items: resizableObjects
|
|
656
|
+
}, function (row) {
|
|
657
|
+
return (0, _react3.jsx)(_index.Row, {
|
|
658
|
+
key: row.key
|
|
659
|
+
}, function (columnKey) {
|
|
660
|
+
return (0, _react3.jsx)(_index.Cell, null, row[columnKey]);
|
|
661
|
+
});
|
|
662
|
+
})));
|
|
663
|
+
expect(_react2.screen.queryByRole('slider')).not.toBeInTheDocument();
|
|
664
|
+
});
|
|
665
|
+
describe('keyboard resizing', function () {
|
|
666
|
+
var getResizableWithCallbacks = function getResizableWithCallbacks() {
|
|
667
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
668
|
+
return (0, _react2.render)((0, _react3.jsx)(_TableBase["default"], (0, _extends2["default"])({
|
|
669
|
+
"aria-label": "resizable table"
|
|
670
|
+
}, props), (0, _react3.jsx)(_index.THead, {
|
|
671
|
+
columns: resizableHeaders
|
|
672
|
+
}, function (head) {
|
|
673
|
+
return (0, _react3.jsx)(_index.Column, {
|
|
674
|
+
key: head.key,
|
|
675
|
+
allowsResizing: true
|
|
676
|
+
}, head.name);
|
|
677
|
+
}), (0, _react3.jsx)(_index.TBody, {
|
|
678
|
+
items: resizableObjects
|
|
679
|
+
}, function (row) {
|
|
680
|
+
return (0, _react3.jsx)(_index.Row, {
|
|
681
|
+
key: row.key
|
|
682
|
+
}, function (columnKey) {
|
|
683
|
+
return (0, _react3.jsx)(_index.Cell, null, row[columnKey]);
|
|
684
|
+
});
|
|
685
|
+
})));
|
|
686
|
+
};
|
|
687
|
+
test('Enter on resizer input starts resize and calls onResizeStart', function () {
|
|
688
|
+
var onResizeStart = jest.fn();
|
|
689
|
+
getResizableWithCallbacks({
|
|
690
|
+
onResizeStart: onResizeStart
|
|
691
|
+
});
|
|
692
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
693
|
+
name: /Name column width/i
|
|
694
|
+
});
|
|
695
|
+
(0, _react2.act)(function () {
|
|
696
|
+
slider.focus();
|
|
697
|
+
});
|
|
698
|
+
_react2.fireEvent.keyDown(slider, {
|
|
699
|
+
key: 'Enter'
|
|
700
|
+
});
|
|
701
|
+
expect(onResizeStart).toHaveBeenCalledTimes(1);
|
|
702
|
+
});
|
|
703
|
+
test('ArrowRight during active resize calls onResize', function () {
|
|
704
|
+
var onResize = jest.fn();
|
|
705
|
+
getResizableWithCallbacks({
|
|
706
|
+
onResize: onResize
|
|
707
|
+
});
|
|
708
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
709
|
+
name: /Name column width/i
|
|
710
|
+
});
|
|
711
|
+
(0, _react2.act)(function () {
|
|
712
|
+
slider.focus();
|
|
713
|
+
});
|
|
714
|
+
_react2.fireEvent.keyDown(slider, {
|
|
715
|
+
key: 'Enter'
|
|
716
|
+
});
|
|
717
|
+
_react2.fireEvent.keyDown(slider, {
|
|
718
|
+
key: 'ArrowRight'
|
|
719
|
+
});
|
|
720
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
721
|
+
});
|
|
722
|
+
test('ArrowLeft during active resize calls onResize', function () {
|
|
723
|
+
var onResize = jest.fn();
|
|
724
|
+
getResizableWithCallbacks({
|
|
725
|
+
onResize: onResize
|
|
726
|
+
});
|
|
727
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
728
|
+
name: /Name column width/i
|
|
729
|
+
});
|
|
730
|
+
(0, _react2.act)(function () {
|
|
731
|
+
slider.focus();
|
|
732
|
+
});
|
|
733
|
+
_react2.fireEvent.keyDown(slider, {
|
|
734
|
+
key: 'Enter'
|
|
735
|
+
});
|
|
736
|
+
_react2.fireEvent.keyDown(slider, {
|
|
737
|
+
key: 'ArrowLeft'
|
|
738
|
+
});
|
|
739
|
+
expect(onResize).toHaveBeenCalledTimes(1);
|
|
740
|
+
});
|
|
741
|
+
test('multiple ArrowRight presses each call onResize', function () {
|
|
742
|
+
var onResize = jest.fn();
|
|
743
|
+
getResizableWithCallbacks({
|
|
744
|
+
onResize: onResize
|
|
745
|
+
});
|
|
746
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
747
|
+
name: /Name column width/i
|
|
748
|
+
});
|
|
749
|
+
(0, _react2.act)(function () {
|
|
750
|
+
slider.focus();
|
|
751
|
+
});
|
|
752
|
+
_react2.fireEvent.keyDown(slider, {
|
|
753
|
+
key: 'Enter'
|
|
754
|
+
});
|
|
755
|
+
_react2.fireEvent.keyDown(slider, {
|
|
756
|
+
key: 'ArrowRight'
|
|
757
|
+
});
|
|
758
|
+
_react2.fireEvent.keyDown(slider, {
|
|
759
|
+
key: 'ArrowRight'
|
|
760
|
+
});
|
|
761
|
+
_react2.fireEvent.keyDown(slider, {
|
|
762
|
+
key: 'ArrowRight'
|
|
763
|
+
});
|
|
764
|
+
expect(onResize).toHaveBeenCalledTimes(3);
|
|
765
|
+
});
|
|
766
|
+
test('Escape ends resize and calls onResizeEnd', function () {
|
|
767
|
+
var onResizeEnd = jest.fn();
|
|
768
|
+
getResizableWithCallbacks({
|
|
769
|
+
onResizeEnd: onResizeEnd
|
|
770
|
+
});
|
|
771
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
772
|
+
name: /Name column width/i
|
|
773
|
+
});
|
|
774
|
+
(0, _react2.act)(function () {
|
|
775
|
+
slider.focus();
|
|
776
|
+
});
|
|
777
|
+
_react2.fireEvent.keyDown(slider, {
|
|
778
|
+
key: 'Enter'
|
|
779
|
+
});
|
|
780
|
+
_react2.fireEvent.keyDown(slider, {
|
|
781
|
+
key: 'Escape'
|
|
782
|
+
});
|
|
783
|
+
expect(onResizeEnd).toHaveBeenCalledTimes(1);
|
|
784
|
+
});
|
|
785
|
+
test('Space ends resize and calls onResizeEnd', function () {
|
|
786
|
+
var onResizeEnd = jest.fn();
|
|
787
|
+
getResizableWithCallbacks({
|
|
788
|
+
onResizeEnd: onResizeEnd
|
|
789
|
+
});
|
|
790
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
791
|
+
name: /Name column width/i
|
|
792
|
+
});
|
|
793
|
+
(0, _react2.act)(function () {
|
|
794
|
+
slider.focus();
|
|
795
|
+
});
|
|
796
|
+
_react2.fireEvent.keyDown(slider, {
|
|
797
|
+
key: 'Enter'
|
|
798
|
+
});
|
|
799
|
+
_react2.fireEvent.keyDown(slider, {
|
|
800
|
+
key: ' '
|
|
801
|
+
});
|
|
802
|
+
expect(onResizeEnd).toHaveBeenCalledTimes(1);
|
|
803
|
+
});
|
|
804
|
+
test('second Enter ends resize and calls onResizeEnd', function () {
|
|
805
|
+
var onResizeEnd = jest.fn();
|
|
806
|
+
getResizableWithCallbacks({
|
|
807
|
+
onResizeEnd: onResizeEnd
|
|
808
|
+
});
|
|
809
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
810
|
+
name: /Name column width/i
|
|
811
|
+
});
|
|
812
|
+
(0, _react2.act)(function () {
|
|
813
|
+
slider.focus();
|
|
814
|
+
});
|
|
815
|
+
_react2.fireEvent.keyDown(slider, {
|
|
816
|
+
key: 'Enter'
|
|
817
|
+
});
|
|
818
|
+
_react2.fireEvent.keyDown(slider, {
|
|
819
|
+
key: 'Enter'
|
|
820
|
+
});
|
|
821
|
+
expect(onResizeEnd).toHaveBeenCalledTimes(1);
|
|
822
|
+
});
|
|
823
|
+
test('ArrowRight before resize starts does not call onResize', function () {
|
|
824
|
+
var onResize = jest.fn();
|
|
825
|
+
getResizableWithCallbacks({
|
|
826
|
+
onResize: onResize
|
|
827
|
+
});
|
|
828
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
829
|
+
name: /Name column width/i
|
|
830
|
+
});
|
|
831
|
+
(0, _react2.act)(function () {
|
|
832
|
+
slider.focus();
|
|
833
|
+
});
|
|
834
|
+
_react2.fireEvent.keyDown(slider, {
|
|
835
|
+
key: 'ArrowRight'
|
|
836
|
+
});
|
|
837
|
+
expect(onResize).not.toHaveBeenCalled();
|
|
838
|
+
});
|
|
839
|
+
test('onResize is not called after resize ends', function () {
|
|
840
|
+
var onResize = jest.fn();
|
|
841
|
+
getResizableWithCallbacks({
|
|
842
|
+
onResize: onResize
|
|
843
|
+
});
|
|
844
|
+
var slider = _react2.screen.getByRole('slider', {
|
|
845
|
+
name: /Name column width/i
|
|
846
|
+
});
|
|
847
|
+
(0, _react2.act)(function () {
|
|
848
|
+
slider.focus();
|
|
849
|
+
});
|
|
850
|
+
_react2.fireEvent.keyDown(slider, {
|
|
851
|
+
key: 'Enter'
|
|
852
|
+
});
|
|
853
|
+
_react2.fireEvent.keyDown(slider, {
|
|
854
|
+
key: 'Escape'
|
|
855
|
+
});
|
|
856
|
+
_react2.fireEvent.keyDown(slider, {
|
|
857
|
+
key: 'ArrowRight'
|
|
858
|
+
});
|
|
859
|
+
expect(onResize).not.toHaveBeenCalled();
|
|
860
|
+
});
|
|
861
|
+
});
|
|
862
|
+
});
|
|
383
863
|
describe('Sortable Table with useAsyncList', function () {
|
|
384
864
|
var dataTestId = 'sortableTable';
|
|
385
865
|
var defaultTableProps = {
|
|
@@ -392,18 +872,18 @@ describe('Sortable Table with useAsyncList', function () {
|
|
|
392
872
|
return _load.apply(this, arguments);
|
|
393
873
|
}
|
|
394
874
|
function _load() {
|
|
395
|
-
_load = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
396
|
-
return _regeneratorRuntime().wrap(function
|
|
397
|
-
while (1) switch (
|
|
875
|
+
_load = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee20() {
|
|
876
|
+
return _regeneratorRuntime().wrap(function _callee20$(_context24) {
|
|
877
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
398
878
|
case 0:
|
|
399
|
-
return
|
|
879
|
+
return _context24.abrupt("return", {
|
|
400
880
|
items: objects
|
|
401
881
|
});
|
|
402
882
|
case 1:
|
|
403
883
|
case "end":
|
|
404
|
-
return
|
|
884
|
+
return _context24.stop();
|
|
405
885
|
}
|
|
406
|
-
},
|
|
886
|
+
}, _callee20);
|
|
407
887
|
}));
|
|
408
888
|
return _load.apply(this, arguments);
|
|
409
889
|
}
|
|
@@ -411,13 +891,13 @@ describe('Sortable Table with useAsyncList', function () {
|
|
|
411
891
|
return _sort.apply(this, arguments);
|
|
412
892
|
}
|
|
413
893
|
function _sort() {
|
|
414
|
-
_sort = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
415
|
-
var
|
|
416
|
-
return _regeneratorRuntime().wrap(function
|
|
417
|
-
while (1) switch (
|
|
894
|
+
_sort = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee21(list) {
|
|
895
|
+
var _context25;
|
|
896
|
+
return _regeneratorRuntime().wrap(function _callee21$(_context26) {
|
|
897
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
418
898
|
case 0:
|
|
419
899
|
// eslint-disable-next-line no-param-reassign
|
|
420
|
-
list.items = (0, _sort2["default"])(
|
|
900
|
+
list.items = (0, _sort2["default"])(_context25 = list.items).call(_context25, function (a, b) {
|
|
421
901
|
var first = a[list.sortDescriptor.column];
|
|
422
902
|
var second = b[list.sortDescriptor.column];
|
|
423
903
|
var cmp = ((0, _parseInt2["default"])(first) || first) < ((0, _parseInt2["default"])(second) || second) // eslint-disable-line
|
|
@@ -427,17 +907,17 @@ describe('Sortable Table with useAsyncList', function () {
|
|
|
427
907
|
}
|
|
428
908
|
return cmp;
|
|
429
909
|
});
|
|
430
|
-
return
|
|
910
|
+
return _context26.abrupt("return", list);
|
|
431
911
|
case 2:
|
|
432
912
|
case "end":
|
|
433
|
-
return
|
|
913
|
+
return _context26.stop();
|
|
434
914
|
}
|
|
435
|
-
},
|
|
915
|
+
}, _callee21);
|
|
436
916
|
}));
|
|
437
917
|
return _sort.apply(this, arguments);
|
|
438
918
|
}
|
|
439
|
-
var sortableDataTable = function sortableDataTable(
|
|
440
|
-
var result =
|
|
919
|
+
var sortableDataTable = function sortableDataTable(_ref12) {
|
|
920
|
+
var result = _ref12.result;
|
|
441
921
|
return (0, _react2.render)((0, _react3.jsx)(_TableBase["default"], (0, _extends2["default"])({}, defaultTableProps, {
|
|
442
922
|
sortDescriptor: result.current.sortDescriptor
|
|
443
923
|
}), (0, _react3.jsx)(_index.THead, {
|
|
@@ -454,10 +934,10 @@ describe('Sortable Table with useAsyncList', function () {
|
|
|
454
934
|
});
|
|
455
935
|
})));
|
|
456
936
|
};
|
|
457
|
-
test('sort by country column A => Z', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
937
|
+
test('sort by country column A => Z', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee15() {
|
|
458
938
|
var _renderHook, result, sortableTable, rowgroups, thead, headerCells, tRows;
|
|
459
|
-
return _regeneratorRuntime().wrap(function
|
|
460
|
-
while (1) switch (
|
|
939
|
+
return _regeneratorRuntime().wrap(function _callee15$(_context18) {
|
|
940
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
461
941
|
case 0:
|
|
462
942
|
_renderHook = (0, _react2.renderHook)(function () {
|
|
463
943
|
return (0, _reactStately.useAsyncList)({
|
|
@@ -469,47 +949,47 @@ describe('Sortable Table with useAsyncList', function () {
|
|
|
469
949
|
}
|
|
470
950
|
});
|
|
471
951
|
}), result = _renderHook.result;
|
|
472
|
-
|
|
473
|
-
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
474
|
-
return _regeneratorRuntime().wrap(function
|
|
475
|
-
while (1) switch (
|
|
952
|
+
_context18.next = 3;
|
|
953
|
+
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12() {
|
|
954
|
+
return _regeneratorRuntime().wrap(function _callee12$(_context14) {
|
|
955
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
476
956
|
case 0:
|
|
477
957
|
jest.runOnlyPendingTimers();
|
|
478
958
|
case 1:
|
|
479
959
|
case "end":
|
|
480
|
-
return
|
|
960
|
+
return _context14.stop();
|
|
481
961
|
}
|
|
482
|
-
},
|
|
962
|
+
}, _callee12);
|
|
483
963
|
})));
|
|
484
964
|
case 3:
|
|
485
|
-
|
|
486
|
-
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
487
|
-
var
|
|
488
|
-
return _regeneratorRuntime().wrap(function
|
|
489
|
-
while (1) switch (
|
|
965
|
+
_context18.next = 5;
|
|
966
|
+
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13() {
|
|
967
|
+
var _context15;
|
|
968
|
+
return _regeneratorRuntime().wrap(function _callee13$(_context16) {
|
|
969
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
490
970
|
case 0:
|
|
491
|
-
(0, _sort2["default"])(
|
|
971
|
+
(0, _sort2["default"])(_context15 = result.current).call(_context15, {
|
|
492
972
|
column: 'country',
|
|
493
973
|
direction: 'ascending'
|
|
494
974
|
});
|
|
495
975
|
case 1:
|
|
496
976
|
case "end":
|
|
497
|
-
return
|
|
977
|
+
return _context16.stop();
|
|
498
978
|
}
|
|
499
|
-
},
|
|
979
|
+
}, _callee13);
|
|
500
980
|
})));
|
|
501
981
|
case 5:
|
|
502
|
-
|
|
503
|
-
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
504
|
-
return _regeneratorRuntime().wrap(function
|
|
505
|
-
while (1) switch (
|
|
982
|
+
_context18.next = 7;
|
|
983
|
+
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14() {
|
|
984
|
+
return _regeneratorRuntime().wrap(function _callee14$(_context17) {
|
|
985
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
506
986
|
case 0:
|
|
507
987
|
jest.runOnlyPendingTimers();
|
|
508
988
|
case 1:
|
|
509
989
|
case "end":
|
|
510
|
-
return
|
|
990
|
+
return _context17.stop();
|
|
511
991
|
}
|
|
512
|
-
},
|
|
992
|
+
}, _callee14);
|
|
513
993
|
})));
|
|
514
994
|
case 7:
|
|
515
995
|
sortableDataTable({
|
|
@@ -537,14 +1017,14 @@ describe('Sortable Table with useAsyncList', function () {
|
|
|
537
1017
|
expect(tRows[3]).toHaveTextContent('USA');
|
|
538
1018
|
case 28:
|
|
539
1019
|
case "end":
|
|
540
|
-
return
|
|
1020
|
+
return _context18.stop();
|
|
541
1021
|
}
|
|
542
|
-
},
|
|
1022
|
+
}, _callee15);
|
|
543
1023
|
})));
|
|
544
|
-
test('sort by country column Z => A', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1024
|
+
test('sort by country column Z => A', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19() {
|
|
545
1025
|
var _renderHook2, result, sortableTable, rowgroups, tRows;
|
|
546
|
-
return _regeneratorRuntime().wrap(function
|
|
547
|
-
while (1) switch (
|
|
1026
|
+
return _regeneratorRuntime().wrap(function _callee19$(_context23) {
|
|
1027
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
548
1028
|
case 0:
|
|
549
1029
|
_renderHook2 = (0, _react2.renderHook)(function () {
|
|
550
1030
|
return (0, _reactStately.useAsyncList)({
|
|
@@ -556,47 +1036,47 @@ describe('Sortable Table with useAsyncList', function () {
|
|
|
556
1036
|
}
|
|
557
1037
|
});
|
|
558
1038
|
}), result = _renderHook2.result;
|
|
559
|
-
|
|
560
|
-
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
561
|
-
return _regeneratorRuntime().wrap(function
|
|
562
|
-
while (1) switch (
|
|
1039
|
+
_context23.next = 3;
|
|
1040
|
+
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16() {
|
|
1041
|
+
return _regeneratorRuntime().wrap(function _callee16$(_context19) {
|
|
1042
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
563
1043
|
case 0:
|
|
564
1044
|
jest.runOnlyPendingTimers();
|
|
565
1045
|
case 1:
|
|
566
1046
|
case "end":
|
|
567
|
-
return
|
|
1047
|
+
return _context19.stop();
|
|
568
1048
|
}
|
|
569
|
-
},
|
|
1049
|
+
}, _callee16);
|
|
570
1050
|
})));
|
|
571
1051
|
case 3:
|
|
572
|
-
|
|
573
|
-
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
574
|
-
var
|
|
575
|
-
return _regeneratorRuntime().wrap(function
|
|
576
|
-
while (1) switch (
|
|
1052
|
+
_context23.next = 5;
|
|
1053
|
+
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee17() {
|
|
1054
|
+
var _context20;
|
|
1055
|
+
return _regeneratorRuntime().wrap(function _callee17$(_context21) {
|
|
1056
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
577
1057
|
case 0:
|
|
578
|
-
(0, _sort2["default"])(
|
|
1058
|
+
(0, _sort2["default"])(_context20 = result.current).call(_context20, {
|
|
579
1059
|
column: 'country',
|
|
580
1060
|
direction: 'descending'
|
|
581
1061
|
});
|
|
582
1062
|
case 1:
|
|
583
1063
|
case "end":
|
|
584
|
-
return
|
|
1064
|
+
return _context21.stop();
|
|
585
1065
|
}
|
|
586
|
-
},
|
|
1066
|
+
}, _callee17);
|
|
587
1067
|
})));
|
|
588
1068
|
case 5:
|
|
589
|
-
|
|
590
|
-
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
591
|
-
return _regeneratorRuntime().wrap(function
|
|
592
|
-
while (1) switch (
|
|
1069
|
+
_context23.next = 7;
|
|
1070
|
+
return (0, _react2.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18() {
|
|
1071
|
+
return _regeneratorRuntime().wrap(function _callee18$(_context22) {
|
|
1072
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
593
1073
|
case 0:
|
|
594
1074
|
jest.runOnlyPendingTimers();
|
|
595
1075
|
case 1:
|
|
596
1076
|
case "end":
|
|
597
|
-
return
|
|
1077
|
+
return _context22.stop();
|
|
598
1078
|
}
|
|
599
|
-
},
|
|
1079
|
+
}, _callee18);
|
|
600
1080
|
})));
|
|
601
1081
|
case 7:
|
|
602
1082
|
sortableDataTable({
|
|
@@ -620,8 +1100,8 @@ describe('Sortable Table with useAsyncList', function () {
|
|
|
620
1100
|
expect(tRows[3]).toHaveTextContent('Canada');
|
|
621
1101
|
case 24:
|
|
622
1102
|
case "end":
|
|
623
|
-
return
|
|
1103
|
+
return _context23.stop();
|
|
624
1104
|
}
|
|
625
|
-
},
|
|
1105
|
+
}, _callee19);
|
|
626
1106
|
})));
|
|
627
1107
|
});
|