@atlaskit/table-tree
Version:
A table tree is an expandable table for showing nested hierarchies of information.
35 lines (34 loc) • 1.21 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
import React, { useState } from 'react';
import Item from './item';
import LoaderItem from './loader-item';
function Items(_ref) {
var _ref$depth = _ref.depth,
depth = _ref$depth === void 0 ? 0 : _ref$depth,
items = _ref.items,
loadingLabel = _ref.loadingLabel,
render = _ref.render;
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
isLoaderShown = _useState2[0],
setIsLoaderShown = _useState2[1];
var handleLoaderComplete = function handleLoaderComplete() {
return setIsLoaderShown(false);
};
return !items || isLoaderShown ? /*#__PURE__*/React.createElement(LoaderItem, {
isCompleting: !!(items && items.length),
onComplete: handleLoaderComplete,
depth: depth + 1,
loadingLabel: loadingLabel
}) : /*#__PURE__*/React.createElement(React.Fragment, null, items.map(function (data) {
return /*#__PURE__*/React.createElement(Item, {
data: data,
depth: depth + 1,
key: data.id,
render: render,
loadingLabel: loadingLabel
});
}));
}
// eslint-disable-next-line @repo/internal/react/require-jsdoc
export default Items;