@atlaskit/table-tree 9.6.8 → 9.6.10
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/components/cell.js +7 -13
- package/dist/cjs/components/internal/common-cell.js +4 -1
- package/dist/cjs/components/internal/item.js +5 -2
- package/dist/cjs/components/internal/items.js +8 -8
- package/dist/cjs/components/internal/loader-item.js +5 -2
- package/dist/cjs/components/internal/styled.js +8 -9
- package/dist/cjs/components/row.js +1 -2
- package/dist/cjs/components/rows.js +7 -2
- package/dist/es2019/components/cell.js +7 -13
- package/dist/es2019/components/internal/common-cell.js +4 -1
- package/dist/es2019/components/internal/item.js +5 -2
- package/dist/es2019/components/internal/items.js +8 -8
- package/dist/es2019/components/internal/loader-item.js +4 -2
- package/dist/es2019/components/internal/styled.js +8 -9
- package/dist/es2019/components/row.js +1 -2
- package/dist/es2019/components/rows.js +6 -2
- package/dist/esm/components/cell.js +7 -13
- package/dist/esm/components/internal/common-cell.js +4 -1
- package/dist/esm/components/internal/item.js +5 -2
- package/dist/esm/components/internal/items.js +8 -8
- package/dist/esm/components/internal/loader-item.js +5 -2
- package/dist/esm/components/internal/styled.js +8 -9
- package/dist/esm/components/row.js +1 -2
- package/dist/esm/components/rows.js +7 -2
- package/dist/types/components/internal/item.d.ts +1 -0
- package/dist/types/components/internal/items.d.ts +2 -1
- package/dist/types/components/internal/loader-item.d.ts +1 -0
- package/dist/types/components/rows.d.ts +1 -0
- package/dist/types-ts4.5/components/internal/item.d.ts +1 -0
- package/dist/types-ts4.5/components/internal/items.d.ts +2 -1
- package/dist/types-ts4.5/components/internal/loader-item.d.ts +1 -0
- package/dist/types-ts4.5/components/rows.d.ts +1 -0
- package/extract-react-types/table-tree-rows.tsx +5 -0
- package/package.json +3 -3
- package/tmp/api-report-tmp.d.ts +0 -109
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/table-tree
|
|
2
2
|
|
|
3
|
+
## 9.6.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#62386](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/62386) [`ac40d033cc90`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/ac40d033cc90) - [ux] Remove aria-busy and add more table grid semantics
|
|
8
|
+
|
|
9
|
+
## 9.6.9
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
3
15
|
## 9.6.8
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -40,19 +40,13 @@ var Cell = /*#__PURE__*/function (_Component) {
|
|
|
40
40
|
width = _this$props.width,
|
|
41
41
|
className = _this$props.className,
|
|
42
42
|
props = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
|
|
43
|
-
return (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
width: width,
|
|
51
|
-
className: className
|
|
52
|
-
}, props), /*#__PURE__*/_react.default.createElement(_overflowContainer.default, {
|
|
53
|
-
isSingleLine: singleLine
|
|
54
|
-
}, children))
|
|
55
|
-
);
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_commonCell.default, (0, _extends2.default)({
|
|
44
|
+
indent: indentLevel ? "calc(".concat(_styled.indentBase, " * ").concat(indentLevel, ")") : undefined,
|
|
45
|
+
width: width,
|
|
46
|
+
className: className
|
|
47
|
+
}, props), /*#__PURE__*/_react.default.createElement(_overflowContainer.default, {
|
|
48
|
+
isSingleLine: singleLine
|
|
49
|
+
}, children));
|
|
56
50
|
}
|
|
57
51
|
}]);
|
|
58
52
|
return Cell;
|
|
@@ -29,7 +29,10 @@ var CommonCell = function CommonCell(_ref) {
|
|
|
29
29
|
var indent = _ref.indent,
|
|
30
30
|
width = _ref.width,
|
|
31
31
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
32
|
-
return (0, _react.jsx)("div", (0, _extends2.default)({
|
|
32
|
+
return (0, _react.jsx)("div", (0, _extends2.default)({
|
|
33
|
+
role: "gridcell"
|
|
34
|
+
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
35
|
+
}, props, {
|
|
33
36
|
style: {
|
|
34
37
|
'--indent': indent,
|
|
35
38
|
width: width
|
|
@@ -31,7 +31,8 @@ var Item = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
31
31
|
var _this$props = this.props,
|
|
32
32
|
depth = _this$props.depth,
|
|
33
33
|
data = _this$props.data,
|
|
34
|
-
render = _this$props.render
|
|
34
|
+
render = _this$props.render,
|
|
35
|
+
loadingLabel = _this$props.loadingLabel;
|
|
35
36
|
var renderedRow = render(data);
|
|
36
37
|
if (!renderedRow) {
|
|
37
38
|
return null;
|
|
@@ -42,6 +43,7 @@ var Item = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
42
43
|
return /*#__PURE__*/(0, _react.cloneElement)(renderedRow, {
|
|
43
44
|
depth: depth,
|
|
44
45
|
data: data,
|
|
46
|
+
loadingLabel: loadingLabel,
|
|
45
47
|
renderChildren: function renderChildren() {
|
|
46
48
|
return (0, _react2.jsx)("div", {
|
|
47
49
|
id: (0, _toItemId.default)(itemId)
|
|
@@ -49,7 +51,8 @@ var Item = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
49
51
|
parentData: data,
|
|
50
52
|
depth: depth,
|
|
51
53
|
items: items,
|
|
52
|
-
render: render
|
|
54
|
+
render: render,
|
|
55
|
+
loadingLabel: loadingLabel
|
|
53
56
|
}));
|
|
54
57
|
}
|
|
55
58
|
});
|
|
@@ -45,11 +45,13 @@ var Items = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
45
45
|
value: function renderLoader() {
|
|
46
46
|
var _this$props = this.props,
|
|
47
47
|
depth = _this$props.depth,
|
|
48
|
-
items = _this$props.items
|
|
48
|
+
items = _this$props.items,
|
|
49
|
+
loadingLabel = _this$props.loadingLabel;
|
|
49
50
|
return /*#__PURE__*/_react.default.createElement(_loaderItem.default, {
|
|
50
51
|
isCompleting: !!(items && items.length),
|
|
51
52
|
onComplete: this.handleLoaderComplete,
|
|
52
|
-
depth: depth + 1
|
|
53
|
+
depth: depth + 1,
|
|
54
|
+
loadingLabel: loadingLabel
|
|
53
55
|
});
|
|
54
56
|
}
|
|
55
57
|
}, {
|
|
@@ -58,6 +60,7 @@ var Items = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
58
60
|
var _this$props2 = this.props,
|
|
59
61
|
render = _this$props2.render,
|
|
60
62
|
items = _this$props2.items,
|
|
63
|
+
loadingLabel = _this$props2.loadingLabel,
|
|
61
64
|
_this$props2$depth = _this$props2.depth,
|
|
62
65
|
depth = _this$props2$depth === void 0 ? 0 : _this$props2$depth;
|
|
63
66
|
return items && items.map(function (itemData, index) {
|
|
@@ -65,7 +68,8 @@ var Items = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
65
68
|
data: itemData,
|
|
66
69
|
depth: depth + 1,
|
|
67
70
|
key: itemData && itemData.id || index,
|
|
68
|
-
render: render
|
|
71
|
+
render: render,
|
|
72
|
+
loadingLabel: loadingLabel
|
|
69
73
|
});
|
|
70
74
|
});
|
|
71
75
|
}
|
|
@@ -73,11 +77,7 @@ var Items = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
73
77
|
key: "render",
|
|
74
78
|
value: function render() {
|
|
75
79
|
var isLoaderShown = this.state.isLoaderShown;
|
|
76
|
-
|
|
77
|
-
'aria-busy': true,
|
|
78
|
-
'aria-live': 'polite'
|
|
79
|
-
} : {};
|
|
80
|
-
return /*#__PURE__*/_react.default.createElement("div", busyAttrs, isLoaderShown ? this.renderLoader() : this.renderItems());
|
|
80
|
+
return isLoaderShown ? this.renderLoader() : this.renderItems();
|
|
81
81
|
}
|
|
82
82
|
}], [{
|
|
83
83
|
key: "getDerivedStateFromProps",
|
|
@@ -48,7 +48,9 @@ var LoaderItem = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
48
48
|
}, {
|
|
49
49
|
key: "render",
|
|
50
50
|
value: function render() {
|
|
51
|
-
var
|
|
51
|
+
var _this$props = this.props,
|
|
52
|
+
depth = _this$props.depth,
|
|
53
|
+
loadingLabel = _this$props.loadingLabel;
|
|
52
54
|
var phase = this.state.phase;
|
|
53
55
|
return phase === 'loading' ? /*#__PURE__*/_react.default.createElement(_styled.TreeRowContainer, null, /*#__PURE__*/_react.default.createElement(_commonCell.default, {
|
|
54
56
|
indent: "calc(".concat(_styled.indentBase, " * ").concat(depth, ")"),
|
|
@@ -57,7 +59,8 @@ var LoaderItem = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
57
59
|
isRoot: depth === 1
|
|
58
60
|
}, /*#__PURE__*/_react.default.createElement(_spinner.default, {
|
|
59
61
|
size: "small",
|
|
60
|
-
testId: "table-tree-spinner"
|
|
62
|
+
testId: "table-tree-spinner",
|
|
63
|
+
label: loadingLabel
|
|
61
64
|
})))) : null;
|
|
62
65
|
}
|
|
63
66
|
}], [{
|
|
@@ -15,7 +15,7 @@ var iconColor = exports.iconColor = "var(--ds-text, ".concat(_colors.N800, ")");
|
|
|
15
15
|
var indentBase = exports.indentBase = "var(--ds-space-300, 25px)";
|
|
16
16
|
var treeRowContainerStyles = (0, _react.css)({
|
|
17
17
|
display: 'flex',
|
|
18
|
-
|
|
18
|
+
borderBlockEnd: "1px solid ".concat("var(--ds-border, ".concat(_colors.N30, ")"))
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -25,18 +25,17 @@ var TreeRowContainer = exports.TreeRowContainer = function TreeRowContainer(prop
|
|
|
25
25
|
return (
|
|
26
26
|
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
27
27
|
(0, _react.jsx)("div", (0, _extends2.default)({
|
|
28
|
+
role: "row",
|
|
28
29
|
css: treeRowContainerStyles
|
|
29
30
|
}, props))
|
|
30
31
|
);
|
|
31
32
|
};
|
|
32
33
|
var commonChevronContainerStyles = (0, _react.css)({
|
|
33
34
|
display: 'flex',
|
|
34
|
-
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
35
|
-
marginLeft: "calc(".concat(indentBase, " * -1)"),
|
|
36
35
|
position: 'absolute',
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
insetBlockStart: 7,
|
|
38
|
+
marginInlineStart: "calc(".concat(indentBase, " * -1)")
|
|
40
39
|
});
|
|
41
40
|
/**
|
|
42
41
|
* __Chevron container__
|
|
@@ -53,7 +52,7 @@ var ChevronContainer = exports.ChevronContainer = function ChevronContainer(prop
|
|
|
53
52
|
var chevronIconContainerStyles = (0, _react.css)({
|
|
54
53
|
position: 'relative',
|
|
55
54
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
56
|
-
|
|
55
|
+
insetBlockStart: 1
|
|
57
56
|
});
|
|
58
57
|
|
|
59
58
|
/**
|
|
@@ -71,11 +70,11 @@ var ChevronIconContainer = exports.ChevronIconContainer = function ChevronIconCo
|
|
|
71
70
|
var loadingItemContainerStyles = (0, _react.css)({
|
|
72
71
|
width: '100%',
|
|
73
72
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
74
|
-
|
|
73
|
+
paddingBlockStart: 5
|
|
75
74
|
});
|
|
76
75
|
var paddingLeftStyles = (0, _react.css)({
|
|
77
76
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
78
|
-
|
|
77
|
+
paddingInlineStart: '50%'
|
|
79
78
|
});
|
|
80
79
|
/**
|
|
81
80
|
* __Loader item container__
|
|
@@ -28,7 +28,7 @@ var treeRowClickableStyles = (0, _react2.css)({
|
|
|
28
28
|
cursor: 'pointer'
|
|
29
29
|
});
|
|
30
30
|
var packageName = "@atlaskit/table-tree";
|
|
31
|
-
var packageVersion = "9.6.
|
|
31
|
+
var packageVersion = "9.6.10";
|
|
32
32
|
var Row = exports.RowWithoutAnalytics = /*#__PURE__*/function (_Component) {
|
|
33
33
|
(0, _inherits2.default)(Row, _Component);
|
|
34
34
|
var _super = _createSuper(Row);
|
|
@@ -156,7 +156,6 @@ var Row = exports.RowWithoutAnalytics = /*#__PURE__*/function (_Component) {
|
|
|
156
156
|
ariaAttrs['aria-level'] = depth;
|
|
157
157
|
}
|
|
158
158
|
return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_styled.TreeRowContainer, (0, _extends2.default)({
|
|
159
|
-
role: "row",
|
|
160
159
|
css: hasChildren && shouldExpandOnClick ? treeRowClickableStyles : undefined,
|
|
161
160
|
onClick: hasChildren && shouldExpandOnClick ? this.onClickHandler : undefined
|
|
162
161
|
}, ariaAttrs), _react.default.Children.map(this.props.children, function (cell, index) {
|
|
@@ -29,9 +29,14 @@ var Rows = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
29
29
|
value: function render() {
|
|
30
30
|
var _this$props = this.props,
|
|
31
31
|
items = _this$props.items,
|
|
32
|
-
render = _this$props.render
|
|
33
|
-
|
|
32
|
+
render = _this$props.render,
|
|
33
|
+
_this$props$loadingLa = _this$props.loadingLabel,
|
|
34
|
+
loadingLabel = _this$props$loadingLa === void 0 ? 'Loading' : _this$props$loadingLa;
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
36
|
+
role: "rowgroup"
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement(_items.default, {
|
|
34
38
|
items: items,
|
|
39
|
+
loadingLabel: loadingLabel,
|
|
35
40
|
render: render
|
|
36
41
|
}));
|
|
37
42
|
}
|
|
@@ -14,19 +14,13 @@ class Cell extends Component {
|
|
|
14
14
|
className,
|
|
15
15
|
...props
|
|
16
16
|
} = this.props;
|
|
17
|
-
return (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
width: width,
|
|
25
|
-
className: className
|
|
26
|
-
}, props), /*#__PURE__*/React.createElement(OverflowContainer, {
|
|
27
|
-
isSingleLine: singleLine
|
|
28
|
-
}, children))
|
|
29
|
-
);
|
|
17
|
+
return /*#__PURE__*/React.createElement(CommonCell, _extends({
|
|
18
|
+
indent: indentLevel ? `calc(${indentBase} * ${indentLevel})` : undefined,
|
|
19
|
+
width: width,
|
|
20
|
+
className: className
|
|
21
|
+
}, props), /*#__PURE__*/React.createElement(OverflowContainer, {
|
|
22
|
+
isSingleLine: singleLine
|
|
23
|
+
}, children));
|
|
30
24
|
}
|
|
31
25
|
}
|
|
32
26
|
export default withColumnWidth(Cell);
|
|
@@ -21,7 +21,10 @@ const CommonCell = ({
|
|
|
21
21
|
indent,
|
|
22
22
|
width,
|
|
23
23
|
...props
|
|
24
|
-
}) => jsx("div", _extends({
|
|
24
|
+
}) => jsx("div", _extends({
|
|
25
|
+
role: "gridcell"
|
|
26
|
+
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
27
|
+
}, props, {
|
|
25
28
|
style: {
|
|
26
29
|
'--indent': indent,
|
|
27
30
|
width
|
|
@@ -11,7 +11,8 @@ export default class Item extends Component {
|
|
|
11
11
|
const {
|
|
12
12
|
depth,
|
|
13
13
|
data,
|
|
14
|
-
render
|
|
14
|
+
render,
|
|
15
|
+
loadingLabel
|
|
15
16
|
} = this.props;
|
|
16
17
|
const renderedRow = render(data);
|
|
17
18
|
if (!renderedRow) {
|
|
@@ -24,13 +25,15 @@ export default class Item extends Component {
|
|
|
24
25
|
return /*#__PURE__*/cloneElement(renderedRow, {
|
|
25
26
|
depth,
|
|
26
27
|
data,
|
|
28
|
+
loadingLabel,
|
|
27
29
|
renderChildren: () => jsx("div", {
|
|
28
30
|
id: toItemId(itemId)
|
|
29
31
|
}, jsx(Items, {
|
|
30
32
|
parentData: data,
|
|
31
33
|
depth: depth,
|
|
32
34
|
items: items,
|
|
33
|
-
render: render
|
|
35
|
+
render: render,
|
|
36
|
+
loadingLabel: loadingLabel
|
|
34
37
|
}))
|
|
35
38
|
});
|
|
36
39
|
}
|
|
@@ -26,36 +26,36 @@ export default class Items extends Component {
|
|
|
26
26
|
renderLoader() {
|
|
27
27
|
const {
|
|
28
28
|
depth,
|
|
29
|
-
items
|
|
29
|
+
items,
|
|
30
|
+
loadingLabel
|
|
30
31
|
} = this.props;
|
|
31
32
|
return /*#__PURE__*/React.createElement(LoaderItem, {
|
|
32
33
|
isCompleting: !!(items && items.length),
|
|
33
34
|
onComplete: this.handleLoaderComplete,
|
|
34
|
-
depth: depth + 1
|
|
35
|
+
depth: depth + 1,
|
|
36
|
+
loadingLabel: loadingLabel
|
|
35
37
|
});
|
|
36
38
|
}
|
|
37
39
|
renderItems() {
|
|
38
40
|
const {
|
|
39
41
|
render,
|
|
40
42
|
items,
|
|
43
|
+
loadingLabel,
|
|
41
44
|
depth = 0
|
|
42
45
|
} = this.props;
|
|
43
46
|
return items && items.map((itemData, index) => /*#__PURE__*/React.createElement(Item, {
|
|
44
47
|
data: itemData,
|
|
45
48
|
depth: depth + 1,
|
|
46
49
|
key: itemData && itemData.id || index,
|
|
47
|
-
render: render
|
|
50
|
+
render: render,
|
|
51
|
+
loadingLabel: loadingLabel
|
|
48
52
|
}));
|
|
49
53
|
}
|
|
50
54
|
render() {
|
|
51
55
|
const {
|
|
52
56
|
isLoaderShown
|
|
53
57
|
} = this.state;
|
|
54
|
-
|
|
55
|
-
'aria-busy': true,
|
|
56
|
-
'aria-live': 'polite'
|
|
57
|
-
} : {};
|
|
58
|
-
return /*#__PURE__*/React.createElement("div", busyAttrs, isLoaderShown ? this.renderLoader() : this.renderItems());
|
|
58
|
+
return isLoaderShown ? this.renderLoader() : this.renderItems();
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
_defineProperty(Items, "defaultProps", {
|
|
@@ -28,7 +28,8 @@ export default class LoaderItem extends Component {
|
|
|
28
28
|
}
|
|
29
29
|
render() {
|
|
30
30
|
const {
|
|
31
|
-
depth
|
|
31
|
+
depth,
|
|
32
|
+
loadingLabel
|
|
32
33
|
} = this.props;
|
|
33
34
|
const {
|
|
34
35
|
phase
|
|
@@ -40,7 +41,8 @@ export default class LoaderItem extends Component {
|
|
|
40
41
|
isRoot: depth === 1
|
|
41
42
|
}, /*#__PURE__*/React.createElement(Spinner, {
|
|
42
43
|
size: "small",
|
|
43
|
-
testId: "table-tree-spinner"
|
|
44
|
+
testId: "table-tree-spinner",
|
|
45
|
+
label: loadingLabel
|
|
44
46
|
})))) : null;
|
|
45
47
|
}
|
|
46
48
|
}
|
|
@@ -7,7 +7,7 @@ export const iconColor = `var(--ds-text, ${N800})`;
|
|
|
7
7
|
export const indentBase = "var(--ds-space-300, 25px)";
|
|
8
8
|
const treeRowContainerStyles = css({
|
|
9
9
|
display: 'flex',
|
|
10
|
-
|
|
10
|
+
borderBlockEnd: `1px solid ${`var(--ds-border, ${N30})`}`
|
|
11
11
|
});
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -16,16 +16,15 @@ const treeRowContainerStyles = css({
|
|
|
16
16
|
export const TreeRowContainer = props =>
|
|
17
17
|
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
18
18
|
jsx("div", _extends({
|
|
19
|
+
role: "row",
|
|
19
20
|
css: treeRowContainerStyles
|
|
20
21
|
}, props));
|
|
21
22
|
const commonChevronContainerStyles = css({
|
|
22
23
|
display: 'flex',
|
|
23
|
-
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
24
|
-
marginLeft: `calc(${indentBase} * -1)`,
|
|
25
24
|
position: 'absolute',
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
insetBlockStart: 7,
|
|
27
|
+
marginInlineStart: `calc(${indentBase} * -1)`
|
|
29
28
|
});
|
|
30
29
|
/**
|
|
31
30
|
* __Chevron container__
|
|
@@ -40,7 +39,7 @@ export const ChevronContainer = (props
|
|
|
40
39
|
const chevronIconContainerStyles = css({
|
|
41
40
|
position: 'relative',
|
|
42
41
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
43
|
-
|
|
42
|
+
insetBlockStart: 1
|
|
44
43
|
});
|
|
45
44
|
|
|
46
45
|
/**
|
|
@@ -56,11 +55,11 @@ export const ChevronIconContainer = (props
|
|
|
56
55
|
const loadingItemContainerStyles = css({
|
|
57
56
|
width: '100%',
|
|
58
57
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
59
|
-
|
|
58
|
+
paddingBlockStart: 5
|
|
60
59
|
});
|
|
61
60
|
const paddingLeftStyles = css({
|
|
62
61
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
63
|
-
|
|
62
|
+
paddingInlineStart: '50%'
|
|
64
63
|
});
|
|
65
64
|
/**
|
|
66
65
|
* __Loader item container__
|
|
@@ -12,7 +12,7 @@ const treeRowClickableStyles = css({
|
|
|
12
12
|
cursor: 'pointer'
|
|
13
13
|
});
|
|
14
14
|
const packageName = "@atlaskit/table-tree";
|
|
15
|
-
const packageVersion = "9.6.
|
|
15
|
+
const packageVersion = "9.6.10";
|
|
16
16
|
class Row extends Component {
|
|
17
17
|
constructor(...args) {
|
|
18
18
|
super(...args);
|
|
@@ -131,7 +131,6 @@ class Row extends Component {
|
|
|
131
131
|
ariaAttrs['aria-level'] = depth;
|
|
132
132
|
}
|
|
133
133
|
return jsx(Fragment, null, jsx(TreeRowContainer, _extends({
|
|
134
|
-
role: "row",
|
|
135
134
|
css: hasChildren && shouldExpandOnClick ? treeRowClickableStyles : undefined,
|
|
136
135
|
onClick: hasChildren && shouldExpandOnClick ? this.onClickHandler : undefined
|
|
137
136
|
}, ariaAttrs), React.Children.map(this.props.children, (cell, index) => this.renderCell(cell, index))), hasChildren && isExpanded && renderChildren && renderChildren());
|
|
@@ -4,10 +4,14 @@ export default class Rows extends Component {
|
|
|
4
4
|
render() {
|
|
5
5
|
const {
|
|
6
6
|
items,
|
|
7
|
-
render
|
|
7
|
+
render,
|
|
8
|
+
loadingLabel = 'Loading'
|
|
8
9
|
} = this.props;
|
|
9
|
-
return /*#__PURE__*/React.createElement("div",
|
|
10
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
role: "rowgroup"
|
|
12
|
+
}, /*#__PURE__*/React.createElement(Items, {
|
|
10
13
|
items: items,
|
|
14
|
+
loadingLabel: loadingLabel,
|
|
11
15
|
render: render
|
|
12
16
|
}));
|
|
13
17
|
}
|
|
@@ -30,19 +30,13 @@ var Cell = /*#__PURE__*/function (_Component) {
|
|
|
30
30
|
width = _this$props.width,
|
|
31
31
|
className = _this$props.className,
|
|
32
32
|
props = _objectWithoutProperties(_this$props, _excluded);
|
|
33
|
-
return (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
width: width,
|
|
41
|
-
className: className
|
|
42
|
-
}, props), /*#__PURE__*/React.createElement(OverflowContainer, {
|
|
43
|
-
isSingleLine: singleLine
|
|
44
|
-
}, children))
|
|
45
|
-
);
|
|
33
|
+
return /*#__PURE__*/React.createElement(CommonCell, _extends({
|
|
34
|
+
indent: indentLevel ? "calc(".concat(indentBase, " * ").concat(indentLevel, ")") : undefined,
|
|
35
|
+
width: width,
|
|
36
|
+
className: className
|
|
37
|
+
}, props), /*#__PURE__*/React.createElement(OverflowContainer, {
|
|
38
|
+
isSingleLine: singleLine
|
|
39
|
+
}, children));
|
|
46
40
|
}
|
|
47
41
|
}]);
|
|
48
42
|
return Cell;
|
|
@@ -23,7 +23,10 @@ var CommonCell = function CommonCell(_ref) {
|
|
|
23
23
|
var indent = _ref.indent,
|
|
24
24
|
width = _ref.width,
|
|
25
25
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
26
|
-
return jsx("div", _extends({
|
|
26
|
+
return jsx("div", _extends({
|
|
27
|
+
role: "gridcell"
|
|
28
|
+
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
29
|
+
}, props, {
|
|
27
30
|
style: {
|
|
28
31
|
'--indent': indent,
|
|
29
32
|
width: width
|
|
@@ -26,7 +26,8 @@ var Item = /*#__PURE__*/function (_Component) {
|
|
|
26
26
|
var _this$props = this.props,
|
|
27
27
|
depth = _this$props.depth,
|
|
28
28
|
data = _this$props.data,
|
|
29
|
-
render = _this$props.render
|
|
29
|
+
render = _this$props.render,
|
|
30
|
+
loadingLabel = _this$props.loadingLabel;
|
|
30
31
|
var renderedRow = render(data);
|
|
31
32
|
if (!renderedRow) {
|
|
32
33
|
return null;
|
|
@@ -37,6 +38,7 @@ var Item = /*#__PURE__*/function (_Component) {
|
|
|
37
38
|
return /*#__PURE__*/cloneElement(renderedRow, {
|
|
38
39
|
depth: depth,
|
|
39
40
|
data: data,
|
|
41
|
+
loadingLabel: loadingLabel,
|
|
40
42
|
renderChildren: function renderChildren() {
|
|
41
43
|
return jsx("div", {
|
|
42
44
|
id: toItemId(itemId)
|
|
@@ -44,7 +46,8 @@ var Item = /*#__PURE__*/function (_Component) {
|
|
|
44
46
|
parentData: data,
|
|
45
47
|
depth: depth,
|
|
46
48
|
items: items,
|
|
47
|
-
render: render
|
|
49
|
+
render: render,
|
|
50
|
+
loadingLabel: loadingLabel
|
|
48
51
|
}));
|
|
49
52
|
}
|
|
50
53
|
});
|
|
@@ -36,11 +36,13 @@ var Items = /*#__PURE__*/function (_Component) {
|
|
|
36
36
|
value: function renderLoader() {
|
|
37
37
|
var _this$props = this.props,
|
|
38
38
|
depth = _this$props.depth,
|
|
39
|
-
items = _this$props.items
|
|
39
|
+
items = _this$props.items,
|
|
40
|
+
loadingLabel = _this$props.loadingLabel;
|
|
40
41
|
return /*#__PURE__*/React.createElement(LoaderItem, {
|
|
41
42
|
isCompleting: !!(items && items.length),
|
|
42
43
|
onComplete: this.handleLoaderComplete,
|
|
43
|
-
depth: depth + 1
|
|
44
|
+
depth: depth + 1,
|
|
45
|
+
loadingLabel: loadingLabel
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
}, {
|
|
@@ -49,6 +51,7 @@ var Items = /*#__PURE__*/function (_Component) {
|
|
|
49
51
|
var _this$props2 = this.props,
|
|
50
52
|
render = _this$props2.render,
|
|
51
53
|
items = _this$props2.items,
|
|
54
|
+
loadingLabel = _this$props2.loadingLabel,
|
|
52
55
|
_this$props2$depth = _this$props2.depth,
|
|
53
56
|
depth = _this$props2$depth === void 0 ? 0 : _this$props2$depth;
|
|
54
57
|
return items && items.map(function (itemData, index) {
|
|
@@ -56,7 +59,8 @@ var Items = /*#__PURE__*/function (_Component) {
|
|
|
56
59
|
data: itemData,
|
|
57
60
|
depth: depth + 1,
|
|
58
61
|
key: itemData && itemData.id || index,
|
|
59
|
-
render: render
|
|
62
|
+
render: render,
|
|
63
|
+
loadingLabel: loadingLabel
|
|
60
64
|
});
|
|
61
65
|
});
|
|
62
66
|
}
|
|
@@ -64,11 +68,7 @@ var Items = /*#__PURE__*/function (_Component) {
|
|
|
64
68
|
key: "render",
|
|
65
69
|
value: function render() {
|
|
66
70
|
var isLoaderShown = this.state.isLoaderShown;
|
|
67
|
-
|
|
68
|
-
'aria-busy': true,
|
|
69
|
-
'aria-live': 'polite'
|
|
70
|
-
} : {};
|
|
71
|
-
return /*#__PURE__*/React.createElement("div", busyAttrs, isLoaderShown ? this.renderLoader() : this.renderItems());
|
|
71
|
+
return isLoaderShown ? this.renderLoader() : this.renderItems();
|
|
72
72
|
}
|
|
73
73
|
}], [{
|
|
74
74
|
key: "getDerivedStateFromProps",
|
|
@@ -39,7 +39,9 @@ var LoaderItem = /*#__PURE__*/function (_Component) {
|
|
|
39
39
|
}, {
|
|
40
40
|
key: "render",
|
|
41
41
|
value: function render() {
|
|
42
|
-
var
|
|
42
|
+
var _this$props = this.props,
|
|
43
|
+
depth = _this$props.depth,
|
|
44
|
+
loadingLabel = _this$props.loadingLabel;
|
|
43
45
|
var phase = this.state.phase;
|
|
44
46
|
return phase === 'loading' ? /*#__PURE__*/React.createElement(TreeRowContainer, null, /*#__PURE__*/React.createElement(CommonCell, {
|
|
45
47
|
indent: "calc(".concat(indentBase, " * ").concat(depth, ")"),
|
|
@@ -48,7 +50,8 @@ var LoaderItem = /*#__PURE__*/function (_Component) {
|
|
|
48
50
|
isRoot: depth === 1
|
|
49
51
|
}, /*#__PURE__*/React.createElement(Spinner, {
|
|
50
52
|
size: "small",
|
|
51
|
-
testId: "table-tree-spinner"
|
|
53
|
+
testId: "table-tree-spinner",
|
|
54
|
+
label: loadingLabel
|
|
52
55
|
})))) : null;
|
|
53
56
|
}
|
|
54
57
|
}], [{
|
|
@@ -9,7 +9,7 @@ export var iconColor = "var(--ds-text, ".concat(N800, ")");
|
|
|
9
9
|
export var indentBase = "var(--ds-space-300, 25px)";
|
|
10
10
|
var treeRowContainerStyles = css({
|
|
11
11
|
display: 'flex',
|
|
12
|
-
|
|
12
|
+
borderBlockEnd: "1px solid ".concat("var(--ds-border, ".concat(N30, ")"))
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -19,18 +19,17 @@ export var TreeRowContainer = function TreeRowContainer(props) {
|
|
|
19
19
|
return (
|
|
20
20
|
// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props
|
|
21
21
|
jsx("div", _extends({
|
|
22
|
+
role: "row",
|
|
22
23
|
css: treeRowContainerStyles
|
|
23
24
|
}, props))
|
|
24
25
|
);
|
|
25
26
|
};
|
|
26
27
|
var commonChevronContainerStyles = css({
|
|
27
28
|
display: 'flex',
|
|
28
|
-
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
29
|
-
marginLeft: "calc(".concat(indentBase, " * -1)"),
|
|
30
29
|
position: 'absolute',
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
alignItems: 'center',
|
|
31
|
+
insetBlockStart: 7,
|
|
32
|
+
marginInlineStart: "calc(".concat(indentBase, " * -1)")
|
|
34
33
|
});
|
|
35
34
|
/**
|
|
36
35
|
* __Chevron container__
|
|
@@ -47,7 +46,7 @@ export var ChevronContainer = function ChevronContainer(props
|
|
|
47
46
|
var chevronIconContainerStyles = css({
|
|
48
47
|
position: 'relative',
|
|
49
48
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
50
|
-
|
|
49
|
+
insetBlockStart: 1
|
|
51
50
|
});
|
|
52
51
|
|
|
53
52
|
/**
|
|
@@ -65,11 +64,11 @@ export var ChevronIconContainer = function ChevronIconContainer(props
|
|
|
65
64
|
var loadingItemContainerStyles = css({
|
|
66
65
|
width: '100%',
|
|
67
66
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
68
|
-
|
|
67
|
+
paddingBlockStart: 5
|
|
69
68
|
});
|
|
70
69
|
var paddingLeftStyles = css({
|
|
71
70
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
72
|
-
|
|
71
|
+
paddingInlineStart: '50%'
|
|
73
72
|
});
|
|
74
73
|
/**
|
|
75
74
|
* __Loader item container__
|
|
@@ -20,7 +20,7 @@ var treeRowClickableStyles = css({
|
|
|
20
20
|
cursor: 'pointer'
|
|
21
21
|
});
|
|
22
22
|
var packageName = "@atlaskit/table-tree";
|
|
23
|
-
var packageVersion = "9.6.
|
|
23
|
+
var packageVersion = "9.6.10";
|
|
24
24
|
var Row = /*#__PURE__*/function (_Component) {
|
|
25
25
|
_inherits(Row, _Component);
|
|
26
26
|
var _super = _createSuper(Row);
|
|
@@ -148,7 +148,6 @@ var Row = /*#__PURE__*/function (_Component) {
|
|
|
148
148
|
ariaAttrs['aria-level'] = depth;
|
|
149
149
|
}
|
|
150
150
|
return jsx(Fragment, null, jsx(TreeRowContainer, _extends({
|
|
151
|
-
role: "row",
|
|
152
151
|
css: hasChildren && shouldExpandOnClick ? treeRowClickableStyles : undefined,
|
|
153
152
|
onClick: hasChildren && shouldExpandOnClick ? this.onClickHandler : undefined
|
|
154
153
|
}, ariaAttrs), React.Children.map(this.props.children, function (cell, index) {
|
|
@@ -19,9 +19,14 @@ var Rows = /*#__PURE__*/function (_Component) {
|
|
|
19
19
|
value: function render() {
|
|
20
20
|
var _this$props = this.props,
|
|
21
21
|
items = _this$props.items,
|
|
22
|
-
render = _this$props.render
|
|
23
|
-
|
|
22
|
+
render = _this$props.render,
|
|
23
|
+
_this$props$loadingLa = _this$props.loadingLabel,
|
|
24
|
+
loadingLabel = _this$props$loadingLa === void 0 ? 'Loading' : _this$props$loadingLa;
|
|
25
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
role: "rowgroup"
|
|
27
|
+
}, /*#__PURE__*/React.createElement(Items, {
|
|
24
28
|
items: items,
|
|
29
|
+
loadingLabel: loadingLabel,
|
|
25
30
|
render: render
|
|
26
31
|
}));
|
|
27
32
|
}
|
|
@@ -3,6 +3,7 @@ interface ItemsProps<Item = any> {
|
|
|
3
3
|
parentData?: any;
|
|
4
4
|
depth: number;
|
|
5
5
|
items?: Item[];
|
|
6
|
+
loadingLabel?: string;
|
|
6
7
|
render: (arg: Item) => React.ReactNode;
|
|
7
8
|
}
|
|
8
9
|
interface State {
|
|
@@ -19,6 +20,6 @@ export default class Items<Item> extends Component<ItemsProps<Item>, State> {
|
|
|
19
20
|
handleLoaderComplete: () => void;
|
|
20
21
|
renderLoader(): JSX.Element;
|
|
21
22
|
renderItems(): JSX.Element[] | undefined;
|
|
22
|
-
render(): JSX.Element;
|
|
23
|
+
render(): JSX.Element | JSX.Element[] | undefined;
|
|
23
24
|
}
|
|
24
25
|
export {};
|
|
@@ -3,6 +3,7 @@ interface ItemsProps<Item = any> {
|
|
|
3
3
|
parentData?: any;
|
|
4
4
|
depth: number;
|
|
5
5
|
items?: Item[];
|
|
6
|
+
loadingLabel?: string;
|
|
6
7
|
render: (arg: Item) => React.ReactNode;
|
|
7
8
|
}
|
|
8
9
|
interface State {
|
|
@@ -19,6 +20,6 @@ export default class Items<Item> extends Component<ItemsProps<Item>, State> {
|
|
|
19
20
|
handleLoaderComplete: () => void;
|
|
20
21
|
renderLoader(): JSX.Element;
|
|
21
22
|
renderItems(): JSX.Element[] | undefined;
|
|
22
|
-
render(): JSX.Element;
|
|
23
|
+
render(): JSX.Element | JSX.Element[] | undefined;
|
|
23
24
|
}
|
|
24
25
|
export {};
|
|
@@ -18,6 +18,11 @@ type RowsProps = {
|
|
|
18
18
|
*/
|
|
19
19
|
// eslint-disable-next-line @repo/internal/react/consistent-props-definitions
|
|
20
20
|
items?: Item[] | null;
|
|
21
|
+
/**
|
|
22
|
+
* Accessible name for loading states spinner. Can be used for internationalization.
|
|
23
|
+
* Default is "Loading".
|
|
24
|
+
*/
|
|
25
|
+
loadingLabel?: string | null;
|
|
21
26
|
/**
|
|
22
27
|
* Render function for child rows. Render props will contain an item from the
|
|
23
28
|
* `items` prop above.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/table-tree",
|
|
3
|
-
"version": "9.6.
|
|
3
|
+
"version": "9.6.10",
|
|
4
4
|
"description": "A table tree is an expandable table for showing nested hierarchies of information.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@atlaskit/analytics-next": "^9.1.0",
|
|
27
|
-
"@atlaskit/button": "^
|
|
27
|
+
"@atlaskit/button": "^17.1.0",
|
|
28
28
|
"@atlaskit/icon": "^22.0.0",
|
|
29
29
|
"@atlaskit/spinner": "^16.0.0",
|
|
30
30
|
"@atlaskit/theme": "^12.6.0",
|
|
31
|
-
"@atlaskit/tokens": "^1.
|
|
31
|
+
"@atlaskit/tokens": "^1.31.0",
|
|
32
32
|
"@babel/runtime": "^7.0.0",
|
|
33
33
|
"@emotion/react": "^11.7.1",
|
|
34
34
|
"lodash": "^4.17.21"
|
package/tmp/api-report-tmp.d.ts
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
## API Report File for "@atlaskit/table-tree"
|
|
2
|
-
|
|
3
|
-
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
|
|
7
|
-
/// <reference types="react" />
|
|
8
|
-
|
|
9
|
-
import { Component } from 'react';
|
|
10
|
-
import { jsx } from '@emotion/react';
|
|
11
|
-
import { default as React_2 } from 'react';
|
|
12
|
-
import { ReactNode } from 'react';
|
|
13
|
-
import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
|
|
14
|
-
import { WithContextProps } from '@atlaskit/analytics-next';
|
|
15
|
-
|
|
16
|
-
// @public (undocumented)
|
|
17
|
-
export const Cell: (props: CellProps & CellWithColumnWidthProps) => JSX.Element;
|
|
18
|
-
|
|
19
|
-
// @public (undocumented)
|
|
20
|
-
export interface CellProps {
|
|
21
|
-
children?: ReactNode;
|
|
22
|
-
className?: string;
|
|
23
|
-
indentLevel?: number;
|
|
24
|
-
singleLine?: boolean;
|
|
25
|
-
width?: number | string;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// @public (undocumented)
|
|
29
|
-
export interface CellWithColumnWidthProps {
|
|
30
|
-
// (undocumented)
|
|
31
|
-
columnIndex?: number;
|
|
32
|
-
// (undocumented)
|
|
33
|
-
width?: number | string;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// @public (undocumented)
|
|
37
|
-
type ColumnWidth = number | string;
|
|
38
|
-
|
|
39
|
-
// @public (undocumented)
|
|
40
|
-
export const Header: (props: any) => JSX.Element;
|
|
41
|
-
|
|
42
|
-
// @public (undocumented)
|
|
43
|
-
class Headers_2 extends Component<any> {
|
|
44
|
-
// (undocumented)
|
|
45
|
-
render(): jsx.JSX.Element;
|
|
46
|
-
}
|
|
47
|
-
export { Headers_2 as Headers }
|
|
48
|
-
|
|
49
|
-
// @public (undocumented)
|
|
50
|
-
export const Row: React_2.ForwardRefExoticComponent<Pick<Pick<Omit<any, keyof WithAnalyticsEventsProps>, number | string | symbol> & React_2.RefAttributes<any> & WithContextProps, number | string | symbol> & React_2.RefAttributes<any>>;
|
|
51
|
-
|
|
52
|
-
// @public (undocumented)
|
|
53
|
-
export class Rows<T> extends Component<RowsProps<T>> {
|
|
54
|
-
// (undocumented)
|
|
55
|
-
render(): JSX.Element;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// @public (undocumented)
|
|
59
|
-
export interface RowsProps<T> {
|
|
60
|
-
// (undocumented)
|
|
61
|
-
items?: WithChildren<T>[];
|
|
62
|
-
// (undocumented)
|
|
63
|
-
render: (args: WithChildren<T>) => React_2.ReactNode;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// @public (undocumented)
|
|
67
|
-
interface State {
|
|
68
|
-
// (undocumented)
|
|
69
|
-
columnWidths: ColumnWidth[];
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// @public (undocumented)
|
|
73
|
-
class TableTree extends Component<any, State> {
|
|
74
|
-
// (undocumented)
|
|
75
|
-
componentDidMount(): void;
|
|
76
|
-
// (undocumented)
|
|
77
|
-
getColumnWidth: (columnIndex: any) => ColumnWidth | null;
|
|
78
|
-
// (undocumented)
|
|
79
|
-
render(): JSX.Element;
|
|
80
|
-
// (undocumented)
|
|
81
|
-
setColumnWidth: (columnIndex: number, width: ColumnWidth) => void;
|
|
82
|
-
// (undocumented)
|
|
83
|
-
state: State;
|
|
84
|
-
}
|
|
85
|
-
export default TableTree;
|
|
86
|
-
|
|
87
|
-
// @public
|
|
88
|
-
export class TableTreeDataHelper<T extends any = any> {
|
|
89
|
-
constructor({ key }?: {
|
|
90
|
-
key?: keyof T | undefined;
|
|
91
|
-
});
|
|
92
|
-
// (undocumented)
|
|
93
|
-
appendItems(items: T[], allItems?: T[], parentItem?: T | null): T[];
|
|
94
|
-
// (undocumented)
|
|
95
|
-
key: keyof T;
|
|
96
|
-
// (undocumented)
|
|
97
|
-
keysCache: any;
|
|
98
|
-
// (undocumented)
|
|
99
|
-
updateItems(items: T[], allItems?: T[], parentItem?: T | null): T[];
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// @public (undocumented)
|
|
103
|
-
type WithChildren<T> = T & {
|
|
104
|
-
children?: T[] | null;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
// (No @packageDocumentation comment for this package)
|
|
108
|
-
|
|
109
|
-
```
|