UNPKG

@atlaskit/table-tree

Version:

A table tree is an expandable table for showing nested hierarchies of information.

40 lines (38 loc) • 1.15 kB
/* eslint-disable @repo/internal/react/no-clone-element */ import React, { cloneElement } from 'react'; import toItemId from '../../utils/to-item-id'; import Items from './items'; /** * __Item__ * Internal item component. */ function Item(_ref) { var _ref$depth = _ref.depth, depth = _ref$depth === void 0 ? 0 : _ref$depth, data = _ref.data, render = _ref.render, loadingLabel = _ref.loadingLabel; var renderedRow = render(data); if (!renderedRow) { return null; } // itemId exists on RowProps, but not on RowsProps var itemId = 'itemId' in renderedRow.props ? renderedRow.props.itemId : undefined; var items = renderedRow.props.items; return /*#__PURE__*/cloneElement(renderedRow, { depth: depth, data: data, loadingLabel: loadingLabel, renderChildren: function renderChildren() { return /*#__PURE__*/React.createElement("div", { id: !!itemId ? toItemId(itemId) : undefined }, /*#__PURE__*/React.createElement(Items, { depth: depth, items: items, render: render, loadingLabel: loadingLabel })); } }); } export default Item;