UNPKG

@atlaskit/table-tree

Version:

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

38 lines (36 loc) • 944 B
/* 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({ depth = 0, data, render, loadingLabel }) { const renderedRow = render(data); if (!renderedRow) { return null; } // itemId exists on RowProps, but not on RowsProps const itemId = 'itemId' in renderedRow.props ? renderedRow.props.itemId : undefined; const items = renderedRow.props.items; return /*#__PURE__*/cloneElement(renderedRow, { depth, data, loadingLabel, renderChildren: () => /*#__PURE__*/React.createElement("div", { id: !!itemId ? toItemId(itemId) : undefined }, /*#__PURE__*/React.createElement(Items, { depth: depth, items: items, render: render, loadingLabel: loadingLabel })) }); } export default Item;