@atlaskit/table-tree 9.12.2 → 10.0.1

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 (53) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/components/cell.js +19 -41
  3. package/dist/cjs/components/header.js +25 -38
  4. package/dist/cjs/components/headers.js +31 -40
  5. package/dist/cjs/components/internal/chevron.js +32 -59
  6. package/dist/cjs/components/internal/item.js +38 -52
  7. package/dist/cjs/components/internal/items.js +32 -84
  8. package/dist/cjs/components/internal/loader-item.js +35 -67
  9. package/dist/cjs/components/internal/with-column-width.js +3 -5
  10. package/dist/cjs/components/row.js +121 -178
  11. package/dist/cjs/components/rows.js +17 -37
  12. package/dist/cjs/components/table-tree.js +76 -120
  13. package/dist/es2019/components/cell.js +18 -22
  14. package/dist/es2019/components/header.js +18 -21
  15. package/dist/es2019/components/headers.js +22 -19
  16. package/dist/es2019/components/internal/chevron.js +25 -35
  17. package/dist/es2019/components/internal/item.js +32 -36
  18. package/dist/es2019/components/internal/items.js +24 -60
  19. package/dist/es2019/components/internal/loader-item.js +29 -46
  20. package/dist/es2019/components/internal/with-column-width.js +2 -4
  21. package/dist/es2019/components/row.js +95 -147
  22. package/dist/es2019/components/rows.js +17 -17
  23. package/dist/es2019/components/table-tree.js +66 -90
  24. package/dist/esm/components/cell.js +19 -38
  25. package/dist/esm/components/header.js +19 -36
  26. package/dist/esm/components/headers.js +26 -40
  27. package/dist/esm/components/internal/chevron.js +29 -57
  28. package/dist/esm/components/internal/item.js +33 -53
  29. package/dist/esm/components/internal/items.js +32 -86
  30. package/dist/esm/components/internal/loader-item.js +33 -68
  31. package/dist/esm/components/internal/with-column-width.js +2 -4
  32. package/dist/esm/components/row.js +116 -179
  33. package/dist/esm/components/rows.js +17 -35
  34. package/dist/esm/components/table-tree.js +75 -121
  35. package/dist/types/components/header.d.ts +12 -1
  36. package/dist/types/components/headers.d.ts +13 -3
  37. package/dist/types/components/internal/chevron.d.ts +15 -13
  38. package/dist/types/components/internal/item.d.ts +24 -12
  39. package/dist/types/components/internal/items.d.ts +12 -23
  40. package/dist/types/components/internal/loader-item.d.ts +7 -16
  41. package/dist/types/components/row.d.ts +11 -39
  42. package/dist/types/components/rows.d.ts +15 -10
  43. package/dist/types/components/table-tree.d.ts +10 -20
  44. package/dist/types-ts4.5/components/header.d.ts +12 -1
  45. package/dist/types-ts4.5/components/headers.d.ts +13 -3
  46. package/dist/types-ts4.5/components/internal/chevron.d.ts +15 -13
  47. package/dist/types-ts4.5/components/internal/item.d.ts +24 -12
  48. package/dist/types-ts4.5/components/internal/items.d.ts +12 -23
  49. package/dist/types-ts4.5/components/internal/loader-item.d.ts +7 -16
  50. package/dist/types-ts4.5/components/row.d.ts +11 -39
  51. package/dist/types-ts4.5/components/rows.d.ts +15 -10
  52. package/dist/types-ts4.5/components/table-tree.d.ts +10 -20
  53. package/package.json +5 -9
@@ -6,76 +6,44 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
10
  var _react = _interopRequireWildcard(require("react"));
17
11
  var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
18
12
  var _commonCell = _interopRequireDefault(require("./common-cell"));
19
13
  var _styled = require("./styled");
20
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
23
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable react/prop-types */
24
- var LoaderItem = exports.default = /*#__PURE__*/function (_Component) {
25
- (0, _inherits2.default)(LoaderItem, _Component);
26
- var _super = _createSuper(LoaderItem);
27
- function LoaderItem() {
28
- var _this;
29
- (0, _classCallCheck2.default)(this, LoaderItem);
30
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
31
- args[_key] = arguments[_key];
32
- }
33
- _this = _super.call.apply(_super, [this].concat(args));
34
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
35
- phase: 'loading'
36
- });
37
- return _this;
38
- }
39
- (0, _createClass2.default)(LoaderItem, [{
40
- key: "componentDidUpdate",
41
- value: function componentDidUpdate(prevProps, prevState) {
42
- if (prevState.phase === 'loading' && this.state.phase === 'complete') {
43
- if (this.props.onComplete) {
44
- this.props.onComplete();
45
- }
46
- }
47
- }
48
- }, {
49
- key: "render",
50
- value: function render() {
51
- var _this$props = this.props,
52
- depth = _this$props.depth,
53
- loadingLabel = _this$props.loadingLabel;
54
- var phase = this.state.phase;
55
- return phase === 'loading' ? /*#__PURE__*/_react.default.createElement(_styled.TreeRowContainer, null, /*#__PURE__*/_react.default.createElement(_commonCell.default, {
56
- indent: "calc(".concat(_styled.indentBase, " * ").concat(depth, ")"),
57
- width: "100%"
58
- }, /*#__PURE__*/_react.default.createElement(_styled.LoaderItemContainer, {
59
- isRoot: depth === 1
60
- }, /*#__PURE__*/_react.default.createElement(_spinner.default, {
61
- size: "small",
62
- testId: "table-tree-spinner",
63
- label: loadingLabel
64
- })))) : null;
65
- }
66
- }], [{
67
- key: "getDerivedStateFromProps",
68
- value: function getDerivedStateFromProps(nextProps, prevState) {
69
- if (nextProps.isCompleting && prevState.phase === 'loading') {
70
- return {
71
- phase: 'complete'
72
- };
73
- }
74
- return null;
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ /* eslint-disable react/prop-types */
17
+
18
+ var LoaderItem = function LoaderItem(_ref) {
19
+ var _ref$depth = _ref.depth,
20
+ depth = _ref$depth === void 0 ? 1 : _ref$depth,
21
+ loadingLabel = _ref.loadingLabel,
22
+ isCompleting = _ref.isCompleting,
23
+ onComplete = _ref.onComplete;
24
+ var _useState = (0, _react.useState)('loading'),
25
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
26
+ phase = _useState2[0],
27
+ setPhase = _useState2[1];
28
+ (0, _react.useEffect)(function () {
29
+ if (phase === 'loading' && isCompleting) {
30
+ setPhase(function () {
31
+ onComplete();
32
+ return 'complete';
33
+ });
75
34
  }
76
- }]);
77
- return LoaderItem;
78
- }(_react.Component);
79
- (0, _defineProperty2.default)(LoaderItem, "defaultProps", {
80
- depth: 1
81
- });
35
+ }, [isCompleting, onComplete, phase]);
36
+ return phase === 'loading' ? /*#__PURE__*/_react.default.createElement(_styled.TreeRowContainer, null, /*#__PURE__*/_react.default.createElement(_commonCell.default, {
37
+ indent: "calc(".concat(_styled.indentBase, " * ").concat(depth, ")"),
38
+ width: "100%"
39
+ }, /*#__PURE__*/_react.default.createElement(_styled.LoaderItemContainer, {
40
+ isRoot: depth === 1
41
+ }, /*#__PURE__*/_react.default.createElement(_spinner.default, {
42
+ size: "small",
43
+ testId: "table-tree-spinner",
44
+ label: loadingLabel
45
+ })))) : null;
46
+ };
47
+
48
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
49
+ var _default = exports.default = LoaderItem;
@@ -12,7 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _context = require("./context");
13
13
  var _excluded = ["width", "columnIndex"];
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  function withColumnWidth(Cell) {
17
17
  return function (props) {
18
18
  var _useContext = (0, _react.useContext)(_context.TableTreeContext),
@@ -29,10 +29,8 @@ function withColumnWidth(Cell) {
29
29
  var columnWidth;
30
30
  if (width !== null && width !== undefined) {
31
31
  columnWidth = width;
32
- } else {
33
- if (columnIndex !== undefined) {
34
- columnWidth = getColumnWidth(columnIndex);
35
- }
32
+ } else if (columnIndex !== undefined) {
33
+ columnWidth = getColumnWidth(columnIndex);
36
34
  }
37
35
  return /*#__PURE__*/_react.default.createElement(Cell, (0, _extends2.default)({
38
36
  width: columnWidth
@@ -5,15 +5,8 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.RowWithoutAnalytics = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
+ exports.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
10
  var _react = _interopRequireWildcard(require("react"));
18
11
  var _react2 = require("@emotion/react");
19
12
  var _analyticsNext = require("@atlaskit/analytics-next");
@@ -21,187 +14,137 @@ var _toItemId = _interopRequireDefault(require("../utils/to-item-id"));
21
14
  var _chevron = _interopRequireDefault(require("./internal/chevron"));
22
15
  var _styled = require("./internal/styled");
23
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
26
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /**
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ /**
27
19
  * @jsxRuntime classic
28
20
  * @jsx jsx
29
- */ /* eslint-disable @repo/internal/react/no-clone-element */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
21
+ */
22
+
23
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
24
+
30
25
  var treeRowClickableStyles = (0, _react2.css)({
31
26
  cursor: 'pointer'
32
27
  });
33
- var packageName = "@atlaskit/table-tree";
34
- var packageVersion = "9.12.2";
35
-
36
- /**
37
- * This is hard-coded here because our actual <TableTree /> has no typings
38
- * for its props.
39
- *
40
- * Adding types for real *might* break things so will need a little care.
41
- *
42
- * Defining it here for now lets us provide *something* without much headache.
43
- */
44
- var RowComponent = exports.RowWithoutAnalytics = /*#__PURE__*/function (_Component) {
45
- (0, _inherits2.default)(RowComponent, _Component);
46
- var _super = _createSuper(RowComponent);
47
- function RowComponent() {
48
- var _this;
49
- (0, _classCallCheck2.default)(this, RowComponent);
50
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
51
- args[_key] = arguments[_key];
52
- }
53
- _this = _super.call.apply(_super, [this].concat(args));
54
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
55
- isExpanded: _this.props.isDefaultExpanded || false
56
- });
57
- /**
58
- * This ensures a user won't trigger a click event and expand the accordion
59
- * when making a text selection.
60
- */
61
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onClickHandler", function (e) {
62
- var _window$getSelection;
63
- var selection = ((_window$getSelection = window.getSelection()) === null || _window$getSelection === void 0 ? void 0 : _window$getSelection.toString()) || '';
64
- if ((selection === null || selection === void 0 ? void 0 : selection.length) === 0) {
65
- _this.onExpandToggle();
66
- }
67
- });
68
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onExpandToggle", function () {
69
- var isExpanded = _this.props.isExpanded;
70
- if (isExpanded !== undefined) {
71
- _this.onExpandStateChange(!isExpanded);
72
- } else {
73
- _this.setState({
74
- isExpanded: !_this.state.isExpanded
75
- });
76
- _this.onExpandStateChange(!_this.state.isExpanded);
77
- }
78
- });
79
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getExtendedLabel", function (cellContent, cellIndex, mainColumnForExpandCollapseLabel) {
80
- /**
81
- * First condition - when we pass data via `items` property in `<TableTree />`
82
- * Second condition - when we pass data via `<Rows />` as children in `<TableTree />`.
83
- */
84
- if (cellContent.hasOwnProperty('props')) {
85
- return cellContent === null || cellContent === void 0 ? void 0 : cellContent.props[mainColumnForExpandCollapseLabel === null || mainColumnForExpandCollapseLabel === void 0 ? void 0 : mainColumnForExpandCollapseLabel.toLowerCase()];
86
- } else if (cellIndex === mainColumnForExpandCollapseLabel) {
87
- return cellContent;
88
- }
89
- return undefined;
90
- });
91
- return _this;
28
+ var getExtendedLabel = function getExtendedLabel(cellContent, cellIndex, mainColumnForExpandCollapseLabel) {
29
+ /**
30
+ * First condition - when we pass data via `items` property in `<TableTree />`
31
+ * Second condition - when we pass data via `<Rows />` as children in `<TableTree />`.
32
+ */
33
+ if (cellContent.hasOwnProperty('props')) {
34
+ return cellContent === null || cellContent === void 0 ? void 0 : cellContent.props[mainColumnForExpandCollapseLabel === null || mainColumnForExpandCollapseLabel === void 0 ? void 0 : mainColumnForExpandCollapseLabel.toLowerCase()];
35
+ } else if (cellIndex === mainColumnForExpandCollapseLabel) {
36
+ return cellContent;
92
37
  }
93
- (0, _createClass2.default)(RowComponent, [{
94
- key: "componentDidUpdate",
95
- value: function componentDidUpdate(prevProps) {
96
- var _this$props = this.props,
97
- isDefaultExpanded = _this$props.isDefaultExpanded,
98
- isExpanded = _this$props.isExpanded;
99
- if (isExpanded === undefined && isDefaultExpanded !== undefined && prevProps.isDefaultExpanded !== isDefaultExpanded && this.state.isExpanded !== isDefaultExpanded) {
100
- // eslint-disable-next-line react/no-did-update-set-state
101
- this.setState({
102
- isExpanded: isDefaultExpanded
103
- });
104
- }
105
- }
106
- }, {
107
- key: "onExpandStateChange",
108
- value: function onExpandStateChange(isExpanded) {
109
- if (this.props.data) {
110
- if (isExpanded && this.props.onExpand) {
111
- this.props.onExpand(this.props.data);
112
- } else if (!isExpanded && this.props.onCollapse) {
113
- this.props.onCollapse(this.props.data);
114
- }
115
- }
116
- }
117
- }, {
118
- key: "isExpanded",
119
- value: function isExpanded() {
120
- var isExpanded = this.props.isExpanded;
121
- return isExpanded !== undefined ? isExpanded : this.state.isExpanded;
122
- }
123
- }, {
124
- key: "renderCell",
125
- value: function renderCell(cell, cellIndex) {
126
- var props = this.props;
127
- var isExpanded = this.isExpanded();
128
- var hasChildren = props.hasChildren,
129
- depth = props.depth,
130
- mainColumnForExpandCollapseLabel = props.mainColumnForExpandCollapseLabel;
131
- var isFirstCell = cellIndex === 0;
132
- var indentLevel = isFirstCell ? depth : 0;
133
- var cellContent = cell.props.children || [];
134
- var extendedLabel = this.getExtendedLabel(cellContent, cellIndex, mainColumnForExpandCollapseLabel);
135
- if (isFirstCell && hasChildren) {
136
- cellContent = [(0, _react2.jsx)(_chevron.default, {
137
- key: "chevron",
138
- expandLabel: props.expandLabel,
139
- collapseLabel: props.collapseLabel,
140
- extendedLabel: extendedLabel,
141
- isExpanded: isExpanded,
142
- onExpandToggle: this.onExpandToggle,
143
- ariaControls: isExpanded ? (0, _toItemId.default)(props.itemId) : undefined,
144
- rowId: props.itemId
145
- })].concat(cellContent);
146
- }
147
- return /*#__PURE__*/_react.default.cloneElement(cell, {
148
- key: cellIndex,
149
- columnIndex: cellIndex,
150
- indentLevel: indentLevel
151
- }, cellContent);
152
- }
153
- }, {
154
- key: "render",
155
- value: function render() {
156
- var _this2 = this;
157
- var _this$props2 = this.props,
158
- shouldExpandOnClick = _this$props2.shouldExpandOnClick,
159
- hasChildren = _this$props2.hasChildren,
160
- depth = _this$props2.depth,
161
- renderChildren = _this$props2.renderChildren;
162
- var isExpanded = this.isExpanded();
163
- var ariaAttrs = {};
164
- if (hasChildren) {
165
- ariaAttrs['aria-expanded'] = isExpanded;
166
- }
167
- if (depth !== undefined) {
168
- ariaAttrs['aria-level'] = depth;
169
- }
170
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_styled.TreeRowContainer, (0, _extends2.default)({
171
- css: hasChildren && shouldExpandOnClick ? treeRowClickableStyles : undefined,
172
- onClick: hasChildren && shouldExpandOnClick ? this.onClickHandler : undefined
173
- }, ariaAttrs), _react.default.Children.map(this.props.children, function (cell, index) {
174
- return _this2.renderCell(cell, index);
175
- })), hasChildren && isExpanded && renderChildren && renderChildren());
38
+ return undefined;
39
+ };
40
+ function Row(_ref) {
41
+ var shouldExpandOnClick = _ref.shouldExpandOnClick,
42
+ hasChildren = _ref.hasChildren,
43
+ depth = _ref.depth,
44
+ renderChildren = _ref.renderChildren,
45
+ isDefaultExpanded = _ref.isDefaultExpanded,
46
+ data = _ref.data,
47
+ providedOnExpand = _ref.onExpand,
48
+ providedOnCollapse = _ref.onCollapse,
49
+ mainColumnForExpandCollapseLabel = _ref.mainColumnForExpandCollapseLabel,
50
+ expandLabel = _ref.expandLabel,
51
+ collapseLabel = _ref.collapseLabel,
52
+ itemId = _ref.itemId,
53
+ children = _ref.children,
54
+ isProvidedExpanded = _ref.isExpanded;
55
+ var _useState = (0, _react.useState)(isDefaultExpanded || false),
56
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
+ isExpandedState = _useState2[0],
58
+ setIsExpandedState = _useState2[1];
59
+ (0, _react.useEffect)(function () {
60
+ if (isProvidedExpanded === undefined && isDefaultExpanded !== undefined && isExpandedState !== isDefaultExpanded) {
61
+ setIsExpandedState(isDefaultExpanded);
176
62
  }
177
- }]);
178
- return RowComponent;
179
- }(_react.Component);
180
- var createAndFireEventOnAtlaskit = (0, _analyticsNext.createAndFireEvent)('atlaskit');
181
- var Row = (0, _analyticsNext.withAnalyticsContext)({
182
- componentName: 'row',
183
- packageName: packageName,
184
- packageVersion: packageVersion
185
- })((0, _analyticsNext.withAnalyticsEvents)({
186
- onExpand: createAndFireEventOnAtlaskit({
63
+ }, [isDefaultExpanded, isProvidedExpanded, isExpandedState]);
64
+ var onExpand = (0, _analyticsNext.usePlatformLeafEventHandler)({
65
+ fn: function fn(value) {
66
+ return providedOnExpand && providedOnExpand(value);
67
+ },
187
68
  action: 'expanded',
188
69
  actionSubject: 'tableTree',
189
- attributes: {
190
- componentName: 'row',
191
- packageName: packageName,
192
- packageVersion: packageVersion
193
- }
194
- }),
195
- onCollapse: createAndFireEventOnAtlaskit({
70
+ componentName: 'row',
71
+ packageName: "@atlaskit/table-tree",
72
+ packageVersion: "10.0.1"
73
+ });
74
+ var onCollapse = (0, _analyticsNext.usePlatformLeafEventHandler)({
75
+ fn: function fn(value) {
76
+ return providedOnCollapse && providedOnCollapse(value);
77
+ },
196
78
  action: 'collapsed',
197
79
  actionSubject: 'tableTree',
198
- attributes: {
199
- componentName: 'row',
200
- packageName: packageName,
201
- packageVersion: packageVersion
80
+ componentName: 'row',
81
+ packageName: "@atlaskit/table-tree",
82
+ packageVersion: "10.0.1"
83
+ });
84
+
85
+ /**
86
+ * This ensures a user won't trigger a click event and expand the accordion
87
+ * when making a text selection.
88
+ */
89
+ var onClickHandler = function onClickHandler(e) {
90
+ var _window$getSelection;
91
+ var selection = ((_window$getSelection = window.getSelection()) === null || _window$getSelection === void 0 ? void 0 : _window$getSelection.toString()) || '';
92
+ if ((selection === null || selection === void 0 ? void 0 : selection.length) === 0) {
93
+ onExpandToggle();
94
+ }
95
+ };
96
+ var onExpandStateChange = function onExpandStateChange(isExpanded) {
97
+ if (data) {
98
+ if (isExpanded && onExpand) {
99
+ onExpand(data);
100
+ } else if (!isExpanded && onCollapse) {
101
+ onCollapse(data);
102
+ }
103
+ }
104
+ };
105
+ var onExpandToggle = function onExpandToggle() {
106
+ if (isProvidedExpanded !== undefined) {
107
+ onExpandStateChange(!isProvidedExpanded);
108
+ } else {
109
+ setIsExpandedState(function (prevState) {
110
+ onExpandStateChange(!prevState);
111
+ return !prevState;
112
+ });
113
+ }
114
+ };
115
+ var renderCell = function renderCell(cell, cellIndex) {
116
+ var isFirstCell = cellIndex === 0;
117
+ var indentLevel = isFirstCell ? depth : 0;
118
+ var cellContent = cell.props.children || [];
119
+ var extendedLabel = getExtendedLabel(cellContent, cellIndex, mainColumnForExpandCollapseLabel);
120
+ if (isFirstCell && hasChildren) {
121
+ cellContent = [(0, _react2.jsx)(_chevron.default, {
122
+ key: "chevron",
123
+ expandLabel: expandLabel,
124
+ collapseLabel: collapseLabel,
125
+ extendedLabel: extendedLabel,
126
+ isExpanded: isProvidedExpanded !== undefined ? isProvidedExpanded : isExpandedState,
127
+ onExpandToggle: onExpandToggle,
128
+ ariaControls: (isProvidedExpanded !== undefined ? isProvidedExpanded : isExpandedState) && !!itemId ? (0, _toItemId.default)(itemId) : undefined,
129
+ rowId: !!itemId ? itemId : ''
130
+ })].concat(cellContent);
202
131
  }
203
- })
204
- })(RowComponent));
132
+ // eslint-disable-next-line @repo/internal/react/no-clone-element
133
+ return /*#__PURE__*/_react.default.cloneElement(cell, {
134
+ key: cellIndex,
135
+ columnIndex: cellIndex,
136
+ indentLevel: indentLevel
137
+ }, cellContent);
138
+ };
139
+ return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_styled.TreeRowContainer, {
140
+ css: hasChildren && shouldExpandOnClick ? treeRowClickableStyles : undefined,
141
+ onClick: hasChildren && shouldExpandOnClick ? onClickHandler : undefined,
142
+ "aria-expanded": hasChildren ? isExpandedState : undefined,
143
+ "aria-level": depth ? depth : undefined
144
+ }, _react.default.Children.map(children, function (cell, index) {
145
+ return renderCell(cell, index);
146
+ })), hasChildren && (isProvidedExpanded !== undefined ? isProvidedExpanded : isExpandedState) && renderChildren && renderChildren());
147
+ }
205
148
 
206
149
  // eslint-disable-next-line @repo/internal/react/require-jsdoc
207
150
  var _default = exports.default = Row;
@@ -1,45 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
15
9
  var _items = _interopRequireDefault(require("./internal/items"));
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
- var Rows = exports.default = /*#__PURE__*/function (_Component) {
21
- (0, _inherits2.default)(Rows, _Component);
22
- var _super = _createSuper(Rows);
23
- function Rows() {
24
- (0, _classCallCheck2.default)(this, Rows);
25
- return _super.apply(this, arguments);
26
- }
27
- (0, _createClass2.default)(Rows, [{
28
- key: "render",
29
- value: function render() {
30
- var _this$props = this.props,
31
- items = _this$props.items,
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, {
38
- items: items,
39
- loadingLabel: loadingLabel,
40
- render: render
41
- }));
42
- }
43
- }]);
44
- return Rows;
45
- }(_react.Component);
10
+ function Rows(_ref) {
11
+ var items = _ref.items,
12
+ render = _ref.render,
13
+ _ref$loadingLabel = _ref.loadingLabel,
14
+ loadingLabel = _ref$loadingLabel === void 0 ? 'Loading' : _ref$loadingLabel;
15
+ return /*#__PURE__*/_react.default.createElement("div", {
16
+ role: "rowgroup"
17
+ }, /*#__PURE__*/_react.default.createElement(_items.default, {
18
+ items: items,
19
+ loadingLabel: loadingLabel,
20
+ render: render
21
+ }));
22
+ }
23
+
24
+ // eslint-disable-next-line @repo/internal/react/require-jsdoc
25
+ var _default = exports.default = Rows;