@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.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/body.js +16 -35
- package/dist/cjs/head-cell.js +5 -11
- package/dist/cjs/hooks/selection-provider.js +1 -9
- package/dist/cjs/hooks/use-row-id.js +2 -5
- package/dist/cjs/hooks/use-selectable.js +13 -29
- package/dist/cjs/hooks/use-sorting.js +6 -17
- package/dist/cjs/hooks/use-table-body.js +1 -7
- package/dist/cjs/hooks/use-table.js +4 -13
- package/dist/cjs/index.js +0 -8
- package/dist/cjs/row.js +8 -25
- package/dist/cjs/selectable-cell.js +9 -21
- package/dist/cjs/sortable-column.js +33 -44
- package/dist/cjs/table.js +8 -22
- package/dist/cjs/thead.js +12 -29
- package/dist/cjs/ui/base-cell.js +17 -21
- package/dist/cjs/ui/bulk-action-overlay.js +2 -5
- package/dist/cjs/ui/index.js +0 -9
- package/dist/cjs/ui/selectable-cell.js +4 -7
- package/dist/cjs/ui/sort-icon.js +2 -14
- package/dist/cjs/ui/table.js +2 -5
- package/dist/cjs/ui/tbody.js +2 -5
- package/dist/cjs/ui/td.js +3 -10
- package/dist/cjs/ui/th.js +8 -11
- package/dist/cjs/ui/thead.js +2 -4
- package/dist/cjs/ui/tr.js +6 -11
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/body.js +11 -8
- package/dist/es2019/head-cell.js +2 -3
- package/dist/es2019/hooks/selection-provider.js +1 -2
- package/dist/es2019/hooks/use-row-id.js +2 -2
- package/dist/es2019/hooks/use-selectable.js +4 -13
- package/dist/es2019/hooks/use-sorting.js +0 -4
- package/dist/es2019/hooks/use-table-body.js +1 -1
- package/dist/es2019/hooks/use-table.js +3 -4
- package/dist/es2019/row.js +2 -4
- package/dist/es2019/selectable-cell.js +3 -3
- package/dist/es2019/sortable-column.js +24 -26
- package/dist/es2019/table.js +0 -2
- package/dist/es2019/thead.js +5 -8
- package/dist/es2019/ui/base-cell.js +5 -4
- package/dist/es2019/ui/bulk-action-overlay.js +2 -1
- package/dist/es2019/ui/selectable-cell.js +2 -1
- package/dist/es2019/ui/sort-icon.js +1 -5
- package/dist/es2019/ui/table.js +1 -1
- package/dist/es2019/ui/tbody.js +2 -2
- package/dist/es2019/ui/td.js +4 -3
- package/dist/es2019/ui/th.js +4 -3
- package/dist/es2019/ui/thead.js +2 -1
- package/dist/es2019/ui/tr.js +2 -2
- package/dist/es2019/version.json +1 -1
- package/dist/esm/body.js +16 -21
- package/dist/esm/head-cell.js +7 -8
- package/dist/esm/hooks/selection-provider.js +1 -2
- package/dist/esm/hooks/use-row-id.js +2 -2
- package/dist/esm/hooks/use-selectable.js +13 -25
- package/dist/esm/hooks/use-sorting.js +6 -12
- package/dist/esm/hooks/use-table-body.js +1 -1
- package/dist/esm/hooks/use-table.js +4 -5
- package/dist/esm/row.js +8 -13
- package/dist/esm/selectable-cell.js +8 -10
- package/dist/esm/sortable-column.js +33 -36
- package/dist/esm/table.js +8 -12
- package/dist/esm/thead.js +12 -18
- package/dist/esm/ui/base-cell.js +16 -15
- package/dist/esm/ui/bulk-action-overlay.js +2 -1
- package/dist/esm/ui/selectable-cell.js +4 -3
- package/dist/esm/ui/sort-icon.js +3 -8
- package/dist/esm/ui/table.js +3 -3
- package/dist/esm/ui/tbody.js +2 -2
- package/dist/esm/ui/td.js +5 -5
- package/dist/esm/ui/th.js +8 -7
- package/dist/esm/ui/thead.js +2 -1
- package/dist/esm/ui/tr.js +6 -6
- package/dist/esm/version.json +1 -1
- package/dist/types/ui/base-cell.d.ts +7 -1
- package/dist/types/ui/th.d.ts +6 -2
- package/package.json +9 -6
- package/constellation/index/examples.mdx +0 -19
- 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
|
-
|
|
48
|
-
|
|
29
|
+
children = _ref.children;
|
|
49
30
|
var _useTable = (0, _useTable2.useTable)(),
|
|
50
|
-
|
|
51
|
-
|
|
31
|
+
sortFn = _useTable.sortFn;
|
|
52
32
|
var _useSelection = (0, _selectionProvider.useSelection)(),
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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();
|
|
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
|
-
|
|
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
|
-
|
|
64
|
+
row = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
84
65
|
return (0, _react2.jsx)(_useRowId.RowProvider, {
|
|
85
66
|
key: idx,
|
|
86
67
|
value: idx
|
|
87
|
-
},
|
|
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;
|
package/dist/cjs/head-cell.js
CHANGED
|
@@ -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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
55
|
-
|
|
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
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
13
|
+
localSortKey = _useState2[0],
|
|
14
|
+
setLocalSortKey = _useState2[1];
|
|
20
15
|
var _useState3 = (0, _react.useState)(),
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
31
|
+
testId = _ref.testId;
|
|
46
32
|
// To ensure valid nesting
|
|
47
|
-
(0, _useTableBody.useTableBody)();
|
|
48
|
-
|
|
33
|
+
(0, _useTableBody.useTableBody)();
|
|
34
|
+
// to access table state
|
|
49
35
|
var _useTable = (0, _useTable2.useTable)(),
|
|
50
|
-
|
|
51
|
-
|
|
36
|
+
isSelectable = _useTable.isSelectable;
|
|
52
37
|
var _useSelection = (0, _selectionProvider.useSelection)(),
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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, {
|