@atlaskit/table 0.2.1 → 0.2.3

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 (80) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/body.js +16 -35
  3. package/dist/cjs/head-cell.js +5 -11
  4. package/dist/cjs/hooks/selection-provider.js +1 -9
  5. package/dist/cjs/hooks/use-row-id.js +2 -5
  6. package/dist/cjs/hooks/use-selectable.js +13 -29
  7. package/dist/cjs/hooks/use-sorting.js +6 -17
  8. package/dist/cjs/hooks/use-table-body.js +1 -7
  9. package/dist/cjs/hooks/use-table.js +4 -13
  10. package/dist/cjs/index.js +0 -8
  11. package/dist/cjs/row.js +8 -25
  12. package/dist/cjs/selectable-cell.js +9 -21
  13. package/dist/cjs/sortable-column.js +33 -44
  14. package/dist/cjs/table.js +8 -22
  15. package/dist/cjs/thead.js +12 -29
  16. package/dist/cjs/ui/base-cell.js +17 -21
  17. package/dist/cjs/ui/bulk-action-overlay.js +2 -5
  18. package/dist/cjs/ui/index.js +0 -9
  19. package/dist/cjs/ui/selectable-cell.js +4 -7
  20. package/dist/cjs/ui/sort-icon.js +2 -14
  21. package/dist/cjs/ui/table.js +2 -5
  22. package/dist/cjs/ui/tbody.js +2 -5
  23. package/dist/cjs/ui/td.js +3 -10
  24. package/dist/cjs/ui/th.js +8 -11
  25. package/dist/cjs/ui/thead.js +2 -4
  26. package/dist/cjs/ui/tr.js +6 -11
  27. package/dist/cjs/version.json +1 -1
  28. package/dist/es2019/body.js +11 -8
  29. package/dist/es2019/head-cell.js +2 -3
  30. package/dist/es2019/hooks/selection-provider.js +1 -2
  31. package/dist/es2019/hooks/use-row-id.js +2 -2
  32. package/dist/es2019/hooks/use-selectable.js +4 -13
  33. package/dist/es2019/hooks/use-sorting.js +0 -4
  34. package/dist/es2019/hooks/use-table-body.js +1 -1
  35. package/dist/es2019/hooks/use-table.js +3 -4
  36. package/dist/es2019/row.js +2 -4
  37. package/dist/es2019/selectable-cell.js +3 -3
  38. package/dist/es2019/sortable-column.js +24 -26
  39. package/dist/es2019/table.js +0 -2
  40. package/dist/es2019/thead.js +5 -8
  41. package/dist/es2019/ui/base-cell.js +5 -4
  42. package/dist/es2019/ui/bulk-action-overlay.js +2 -1
  43. package/dist/es2019/ui/selectable-cell.js +2 -1
  44. package/dist/es2019/ui/sort-icon.js +1 -5
  45. package/dist/es2019/ui/table.js +1 -1
  46. package/dist/es2019/ui/tbody.js +2 -2
  47. package/dist/es2019/ui/td.js +4 -3
  48. package/dist/es2019/ui/th.js +4 -3
  49. package/dist/es2019/ui/thead.js +2 -1
  50. package/dist/es2019/ui/tr.js +2 -2
  51. package/dist/es2019/version.json +1 -1
  52. package/dist/esm/body.js +16 -21
  53. package/dist/esm/head-cell.js +7 -8
  54. package/dist/esm/hooks/selection-provider.js +1 -2
  55. package/dist/esm/hooks/use-row-id.js +2 -2
  56. package/dist/esm/hooks/use-selectable.js +13 -25
  57. package/dist/esm/hooks/use-sorting.js +6 -12
  58. package/dist/esm/hooks/use-table-body.js +1 -1
  59. package/dist/esm/hooks/use-table.js +4 -5
  60. package/dist/esm/row.js +8 -13
  61. package/dist/esm/selectable-cell.js +8 -10
  62. package/dist/esm/sortable-column.js +33 -36
  63. package/dist/esm/table.js +8 -12
  64. package/dist/esm/thead.js +12 -18
  65. package/dist/esm/ui/base-cell.js +16 -15
  66. package/dist/esm/ui/bulk-action-overlay.js +2 -1
  67. package/dist/esm/ui/selectable-cell.js +4 -3
  68. package/dist/esm/ui/sort-icon.js +3 -8
  69. package/dist/esm/ui/table.js +3 -3
  70. package/dist/esm/ui/tbody.js +2 -2
  71. package/dist/esm/ui/td.js +5 -5
  72. package/dist/esm/ui/th.js +8 -7
  73. package/dist/esm/ui/thead.js +2 -1
  74. package/dist/esm/ui/tr.js +6 -6
  75. package/dist/esm/version.json +1 -1
  76. package/dist/types/ui/base-cell.d.ts +7 -1
  77. package/dist/types/ui/th.d.ts +6 -2
  78. package/package.json +9 -6
  79. package/constellation/index/examples.mdx +0 -19
  80. package/constellation/index/props.mdx +0 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/table
2
2
 
3
+ ## 0.2.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [`8fb961ffa76`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8fb961ffa76) - [ux] Fixed some accessibility bugs. Now checkboxes in selectable cells are labelled for assistive technology users, sortable columns have their sorting state programmatically associated through the `aria-sort` attribute, and the sort button has an `aria-roledescription` to ensure that assistive technology users are informed that the column headers are sortable in nature.
8
+
9
+ ## 0.2.2
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 0.2.1
4
16
 
5
17
  ### Patch Changes
package/dist/cjs/body.js CHANGED
@@ -1,70 +1,51 @@
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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = require("react");
19
-
20
13
  var _react2 = require("@emotion/react");
21
-
22
14
  var _selectionProvider = require("./hooks/selection-provider");
23
-
24
15
  var _useRowId = require("./hooks/use-row-id");
25
-
26
16
  var _useTable2 = require("./hooks/use-table");
27
-
28
17
  var _useTableBody = require("./hooks/use-table-body");
29
-
30
18
  var Primitives = _interopRequireWildcard(require("./ui"));
31
-
32
19
  var _excluded = ["idx"];
33
-
34
20
  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); }
35
-
36
21
  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; }
37
-
38
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
39
-
40
23
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
-
42
24
  /**
43
25
  * __Table body__
44
26
  */
45
27
  function TBody(_ref) {
46
28
  var rows = _ref.rows,
47
- children = _ref.children;
48
-
29
+ children = _ref.children;
49
30
  var _useTable = (0, _useTable2.useTable)(),
50
- sortFn = _useTable.sortFn;
51
-
31
+ sortFn = _useTable.sortFn;
52
32
  var _useSelection = (0, _selectionProvider.useSelection)(),
53
- _useSelection2 = (0, _slicedToArray2.default)(_useSelection, 2),
54
- _state = _useSelection2[0],
55
- _useSelection2$ = _useSelection2[1],
56
- removeAll = _useSelection2$.removeAll,
57
- setMax = _useSelection2$.setMax; // TODO: this seems like something the user should control or opt into.
58
-
33
+ _useSelection2 = (0, _slicedToArray2.default)(_useSelection, 2),
34
+ _state = _useSelection2[0],
35
+ _useSelection2$ = _useSelection2[1],
36
+ removeAll = _useSelection2$.removeAll,
37
+ setMax = _useSelection2$.setMax;
59
38
 
39
+ // TODO: this seems like something the user should control or opt into.
60
40
  (0, _react.useEffect)(function () {
61
- removeAll === null || removeAll === void 0 ? void 0 : removeAll(); // eslint-disable-next-line react-hooks/exhaustive-deps -- When the rows change, we [currently] want to call removeAll.
62
- }, [rows]);
41
+ removeAll === null || removeAll === void 0 ? void 0 : removeAll();
63
42
 
43
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- When the rows change, we [currently] want to call removeAll.
44
+ }, [rows]);
64
45
  var childrenCount = _react.Children.count(children);
46
+ var rowsLength = rows === null || rows === void 0 ? void 0 : rows.length;
65
47
 
66
- var rowsLength = rows === null || rows === void 0 ? void 0 : rows.length; // Set data length (via setMax) whenever data changes
67
-
48
+ // Set data length (via setMax) whenever data changes
68
49
  (0, _react.useEffect)(function () {
69
50
  var numRows = rowsLength !== null && rowsLength !== void 0 ? rowsLength : childrenCount;
70
51
  setMax === null || setMax === void 0 ? void 0 : setMax(numRows);
@@ -80,11 +61,12 @@ function TBody(_ref) {
80
61
  value: true
81
62
  }, (0, _react2.jsx)(Primitives.TBody, null, typeof children === 'function' && sortedRows ? sortedRows.map(function (_ref2) {
82
63
  var idx = _ref2.idx,
83
- row = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
64
+ row = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
84
65
  return (0, _react2.jsx)(_useRowId.RowProvider, {
85
66
  key: idx,
86
67
  value: idx
87
- }, // @ts-expect-error
68
+ },
69
+ // @ts-expect-error
88
70
  children(row));
89
71
  }) : _react.Children.map(children, function (row, idx) {
90
72
  return (0, _react2.jsx)(_useRowId.RowProvider, {
@@ -93,6 +75,5 @@ function TBody(_ref) {
93
75
  }, row);
94
76
  })));
95
77
  }
96
-
97
78
  var _default = TBody;
98
79
  exports.default = _default;
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("@emotion/react");
9
-
10
8
  var _dsExplorations = require("@atlaskit/ds-explorations");
11
-
12
9
  var _th = require("./ui/th");
13
-
14
10
  /* eslint-disable no-unused-vars */
15
-
16
11
  /** @jsx jsx */
17
12
 
18
13
  /**
@@ -22,11 +17,11 @@ var _th = require("./ui/th");
22
17
  */
23
18
  var Column = function Column(_ref) {
24
19
  var children = _ref.children,
25
- align = _ref.align,
26
- testId = _ref.testId,
27
- backgroundColor = _ref.backgroundColor,
28
- _ref$scope = _ref.scope,
29
- scope = _ref$scope === void 0 ? 'col' : _ref$scope;
20
+ align = _ref.align,
21
+ testId = _ref.testId,
22
+ backgroundColor = _ref.backgroundColor,
23
+ _ref$scope = _ref.scope,
24
+ scope = _ref$scope === void 0 ? 'col' : _ref$scope;
30
25
  return (0, _react.jsx)(_th.TH, {
31
26
  scope: scope,
32
27
  align: align,
@@ -37,6 +32,5 @@ var Column = function Column(_ref) {
37
32
  fontWeight: "medium"
38
33
  }, children));
39
34
  };
40
-
41
35
  var _default = Column;
42
36
  exports.default = _default;
@@ -1,21 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useSelection = exports.default = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _useSelectable = _interopRequireWildcard(require("./use-selectable"));
13
-
14
10
  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); }
15
-
16
11
  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; }
17
-
18
12
  var SelectionContext = /*#__PURE__*/(0, _react.createContext)([_useSelectable.defaultSelectableState, {}]);
13
+
19
14
  /**
20
15
  * __Selection provider__
21
16
  *
@@ -25,7 +20,6 @@ var SelectionContext = /*#__PURE__*/(0, _react.createContext)([_useSelectable.de
25
20
  * - [Code](https://atlassian.design/components/{packageName}/code)
26
21
  * - [Usage](https://atlassian.design/components/{packageName}/usage)
27
22
  */
28
-
29
23
  var SelectionProvider = function SelectionProvider(_ref) {
30
24
  var children = _ref.children;
31
25
  var reducer = (0, _useSelectable.default)();
@@ -33,11 +27,9 @@ var SelectionProvider = function SelectionProvider(_ref) {
33
27
  value: reducer
34
28
  }, children);
35
29
  };
36
-
37
30
  var useSelection = function useSelection() {
38
31
  return (0, _react.useContext)(SelectionContext);
39
32
  };
40
-
41
33
  exports.useSelection = useSelection;
42
34
  var _default = SelectionProvider;
43
35
  exports.default = _default;
@@ -4,23 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useRowId = exports.RowProvider = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var RowContext = /*#__PURE__*/(0, _react.createContext)(undefined);
9
+
11
10
  /**
12
11
  * @internal
13
12
  */
14
-
15
13
  var useRowId = function useRowId() {
16
14
  return (0, _react.useContext)(RowContext);
17
15
  };
16
+
18
17
  /**
19
18
  * __Row provider__
20
19
  * @internal
21
20
  */
22
-
23
-
24
21
  exports.useRowId = useRowId;
25
22
  var RowProvider = RowContext.Provider;
26
23
  exports.RowProvider = RowProvider;
@@ -1,16 +1,12 @@
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.defaultSelectableState = exports.default = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _react = require("react");
13
-
14
10
  var defaultSelectableState = {
15
11
  checked: [],
16
12
  allChecked: false,
@@ -20,50 +16,45 @@ var defaultSelectableState = {
20
16
  previousSelection: []
21
17
  };
22
18
  exports.defaultSelectableState = defaultSelectableState;
23
-
24
19
  var arrayFromRange = function arrayFromRange(from, to) {
25
20
  var startIdx = from;
26
21
  var stopIdx = to;
27
22
  var increment = 1;
28
-
29
23
  if (from > to) {
30
24
  startIdx = to;
31
25
  stopIdx = from;
32
26
  increment = 0;
33
- } // Create an array with values between `from` and `to` - either ascending or descending
34
-
27
+ }
35
28
 
29
+ // Create an array with values between `from` and `to` - either ascending or descending
36
30
  return Array.from({
37
31
  length: stopIdx - startIdx
38
32
  }, function (_, i) {
39
33
  return startIdx + i + increment;
40
34
  });
41
35
  };
42
-
43
36
  function reducer(_ref, action) {
44
37
  var checked = _ref.checked,
45
- anyChecked = _ref.anyChecked,
46
- maxChecked = _ref.maxChecked,
47
- selectionStart = _ref.selectionStart,
48
- previousSelection = _ref.previousSelection;
49
-
38
+ anyChecked = _ref.anyChecked,
39
+ maxChecked = _ref.maxChecked,
40
+ selectionStart = _ref.selectionStart,
41
+ previousSelection = _ref.previousSelection;
50
42
  switch (action.type) {
51
43
  case 'toggle_selection':
52
44
  {
53
45
  var _action$value = action.value,
54
- _id = _action$value.id,
55
- _shiftHeld = _action$value.shiftHeld;
46
+ _id = _action$value.id,
47
+ _shiftHeld = _action$value.shiftHeld;
56
48
  var updated = checked.slice();
57
49
  var newSelectionStart = selectionStart;
58
50
  var newPreviousSelection = previousSelection.slice();
59
-
60
51
  if (_shiftHeld) {
61
52
  if (checked.length > 0) {
62
53
  var newIds = arrayFromRange(selectionStart, _id); // create an array of the new ids
54
+
63
55
  // Uncheck ids from the previous selection.
64
56
  // This is done to maintain consistency with Shift-select behaviour elsewhere (e.g. macOS)
65
57
  // TODO: Code could be improved to only remove ids that are not included in the new range, avoiding needing to re-add them below
66
-
67
58
  updated = updated.filter(function (id) {
68
59
  return !previousSelection.includes(id);
69
60
  });
@@ -71,6 +62,7 @@ function reducer(_ref, action) {
71
62
  return updated.indexOf(id) === -1 && updated.push(id);
72
63
  } // If the new id is not already checked, check it
73
64
  );
65
+
74
66
  newPreviousSelection = newIds; // Maintain an array of the previous selection to allow for consistent Shift-select behaviour
75
67
  }
76
68
  } else {
@@ -83,12 +75,10 @@ function reducer(_ref, action) {
83
75
  }
84
76
 
85
77
  newSelectionStart = _id; // Reset selection start id to this non-shift-selected id
86
-
87
78
  newPreviousSelection = []; // Reset previous selection as it is no longer relevant once a new non-shift-selected id is added
88
79
  }
89
80
 
90
81
  var _anyChecked = updated.length > 0;
91
-
92
82
  return {
93
83
  checked: updated,
94
84
  allChecked: updated.length === maxChecked,
@@ -98,7 +88,6 @@ function reducer(_ref, action) {
98
88
  previousSelection: newPreviousSelection
99
89
  };
100
90
  }
101
-
102
91
  case 'set_root':
103
92
  return {
104
93
  checked: action.value ? Array.from(Array(maxChecked).keys()) : [],
@@ -108,7 +97,6 @@ function reducer(_ref, action) {
108
97
  selectionStart: selectionStart,
109
98
  previousSelection: previousSelection
110
99
  };
111
-
112
100
  case 'set_max':
113
101
  {
114
102
  var _max = action.value;
@@ -121,18 +109,15 @@ function reducer(_ref, action) {
121
109
  previousSelection: previousSelection
122
110
  };
123
111
  }
124
-
125
112
  default:
126
113
  throw new Error();
127
114
  }
128
115
  }
129
-
130
116
  function useSelectable() {
131
117
  var _useReducer = (0, _react.useReducer)(reducer, defaultSelectableState),
132
- _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
133
- state = _useReducer2[0],
134
- dispatch = _useReducer2[1];
135
-
118
+ _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
119
+ state = _useReducer2[0],
120
+ dispatch = _useReducer2[1];
136
121
  var toggleSelection = (0, _react.useCallback)(function (id, shiftHeld) {
137
122
  dispatch({
138
123
  type: 'toggle_selection',
@@ -167,6 +152,5 @@ function useSelectable() {
167
152
  setMax: setMax
168
153
  }];
169
154
  }
170
-
171
155
  var _default = useSelectable;
172
156
  exports.default = _default;
@@ -1,36 +1,28 @@
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.useSorting = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _react = require("react");
13
-
14
10
  var useSorting = function useSorting(sortKey) {
15
11
  var _useState = (0, _react.useState)(sortKey),
16
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
17
- localSortKey = _useState2[0],
18
- setLocalSortKey = _useState2[1];
19
-
12
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
13
+ localSortKey = _useState2[0],
14
+ setLocalSortKey = _useState2[1];
20
15
  var _useState3 = (0, _react.useState)(),
21
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
22
- localSortDirection = _useState4[0],
23
- setLocalSortDirection = _useState4[1];
24
-
16
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
17
+ localSortDirection = _useState4[0],
18
+ setLocalSortDirection = _useState4[1];
25
19
  var toggleSortDirection = (0, _react.useCallback)(function () {
26
20
  setLocalSortDirection(function (oldLocalSortDirection) {
27
21
  switch (oldLocalSortDirection) {
28
22
  case undefined:
29
23
  return 'ascending';
30
-
31
24
  case 'ascending':
32
25
  return 'descending';
33
-
34
26
  case 'descending':
35
27
  return 'ascending';
36
28
  }
@@ -45,7 +37,6 @@ var useSorting = function useSorting(sortKey) {
45
37
  } else {
46
38
  toggleSortDirection();
47
39
  }
48
-
49
40
  return localSortKey;
50
41
  });
51
42
  }, [toggleSortDirection]);
@@ -53,7 +44,6 @@ var useSorting = function useSorting(sortKey) {
53
44
  if (localSortKey === 'unset') {
54
45
  return 0;
55
46
  }
56
-
57
47
  var ascendingComparator = rowA[localSortKey] < rowB[localSortKey] ? -1 : 1;
58
48
  return localSortDirection === 'ascending' ? ascendingComparator : -ascendingComparator;
59
49
  }, [localSortDirection, localSortKey]);
@@ -64,5 +54,4 @@ var useSorting = function useSorting(sortKey) {
64
54
  sortFn: sortFn
65
55
  };
66
56
  };
67
-
68
57
  exports.useSorting = useSorting;
@@ -1,28 +1,22 @@
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.useTableBody = exports.TableBodyProvider = void 0;
9
-
10
8
  var _react = require("react");
11
-
12
9
  var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
13
-
14
10
  var TableBodyContext = /*#__PURE__*/(0, _react.createContext)(false);
11
+
15
12
  /**
16
13
  * __Table body provider__
17
14
  * Ensures correct nesting of table elements.
18
15
  */
19
-
20
16
  var TableBodyProvider = TableBodyContext.Provider;
21
17
  exports.TableBodyProvider = TableBodyProvider;
22
-
23
18
  var useTableBody = function useTableBody() {
24
19
  var hasTableBody = (0, _react.useContext)(TableBodyContext);
25
20
  (0, _tinyInvariant.default)(hasTableBody, '<Row /> must be nested inside a <TableBody>');
26
21
  };
27
-
28
22
  exports.useTableBody = useTableBody;
@@ -1,23 +1,16 @@
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.TableProvider = TableProvider;
11
9
  exports.useTable = void 0;
12
-
13
10
  var _react = _interopRequireWildcard(require("react"));
14
-
15
11
  var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
16
-
17
12
  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); }
18
-
19
13
  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; }
20
-
21
14
  function generateContext() {
22
15
  return /*#__PURE__*/(0, _react.createContext)({
23
16
  isSelectable: false,
@@ -28,8 +21,8 @@ function generateContext() {
28
21
  }
29
22
  });
30
23
  }
31
-
32
24
  var TableContext = generateContext();
25
+
33
26
  /**
34
27
  * __Table state provider__
35
28
  *
@@ -37,10 +30,9 @@ var TableContext = generateContext();
37
30
  *
38
31
  * - [Examples](https://atlassian.design/components/table/examples)
39
32
  */
40
-
41
33
  function TableProvider(_ref) {
42
34
  var children = _ref.children,
43
- state = _ref.state;
35
+ state = _ref.state;
44
36
  return (
45
37
  /*#__PURE__*/
46
38
  // @ts-expect-error
@@ -49,11 +41,10 @@ function TableProvider(_ref) {
49
41
  }, children)
50
42
  );
51
43
  }
52
-
53
44
  var useTable = function useTable() {
54
- return (// @ts-expect-error
45
+ return (
46
+ // @ts-expect-error
55
47
  (0, _react.useContext)(TableContext)
56
48
  );
57
49
  };
58
-
59
50
  exports.useTable = useTable;
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,6 @@
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
  });
@@ -47,17 +46,10 @@ Object.defineProperty(exports, "default", {
47
46
  return _table.default;
48
47
  }
49
48
  });
50
-
51
49
  var _table = _interopRequireDefault(require("./table"));
52
-
53
50
  var _body = _interopRequireDefault(require("./body"));
54
-
55
51
  var _row = _interopRequireDefault(require("./row"));
56
-
57
52
  var _ui = require("./ui");
58
-
59
53
  var _headCell = _interopRequireDefault(require("./head-cell"));
60
-
61
54
  var _sortableColumn = _interopRequireDefault(require("./sortable-column"));
62
-
63
55
  var _thead = _interopRequireDefault(require("./thead"));
package/dist/cjs/row.js CHANGED
@@ -1,36 +1,22 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
10
  var _react = require("react");
15
-
16
11
  var _react2 = require("@emotion/react");
17
-
18
12
  var _selectionProvider = require("./hooks/selection-provider");
19
-
20
13
  var _useRowId = require("./hooks/use-row-id");
21
-
22
14
  var _useTable2 = require("./hooks/use-table");
23
-
24
15
  var _useTableBody = require("./hooks/use-table-body");
25
-
26
16
  var _selectableCell = _interopRequireDefault(require("./selectable-cell"));
27
-
28
17
  var Primitives = _interopRequireWildcard(require("./ui"));
29
-
30
18
  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
19
  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
-
34
20
  /** @jsx jsx */
35
21
 
36
22
  /**
@@ -42,25 +28,22 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
42
28
  */
43
29
  var Row = /*#__PURE__*/(0, _react.memo)(function (_ref) {
44
30
  var children = _ref.children,
45
- testId = _ref.testId;
31
+ testId = _ref.testId;
46
32
  // To ensure valid nesting
47
- (0, _useTableBody.useTableBody)(); // to access table state
48
-
33
+ (0, _useTableBody.useTableBody)();
34
+ // to access table state
49
35
  var _useTable = (0, _useTable2.useTable)(),
50
- isSelectable = _useTable.isSelectable;
51
-
36
+ isSelectable = _useTable.isSelectable;
52
37
  var _useSelection = (0, _selectionProvider.useSelection)(),
53
- _useSelection2 = (0, _slicedToArray2.default)(_useSelection, 1),
54
- _useSelection2$ = _useSelection2[0],
55
- allChecked = _useSelection2$.allChecked,
56
- checked = _useSelection2$.checked;
57
-
38
+ _useSelection2 = (0, _slicedToArray2.default)(_useSelection, 1),
39
+ _useSelection2$ = _useSelection2[0],
40
+ allChecked = _useSelection2$.allChecked,
41
+ checked = _useSelection2$.checked;
58
42
  var rowId = (0, _useRowId.useRowId)();
59
43
  var isSelected = (0, _react.useMemo)(function () {
60
44
  if (!isSelectable) {
61
45
  return undefined;
62
46
  }
63
-
64
47
  return allChecked || checked.includes(rowId);
65
48
  }, [allChecked, checked, isSelectable, rowId]);
66
49
  return (0, _react2.jsx)(Primitives.TR, {