in packages-ext/recoil-devtools/src/pages/Popup/Items/Item.js [38:84]
function Item({
name,
content,
startCollapsed,
node,
isRoot = false,
}: KeyProps): React.Node {
const connection = nullthrows(useContext(ConnectionContext));
const [txID] = useSelectedTransaction();
const deps = isRoot
? connection.dependencies.get(name.toString(), txID)
: null;
const hasDescription = hasItemDescription(content);
return (
<CollapsibleItem
key={name}
isRoot={isRoot}
collapsible={hasDescription || (deps != null && deps.size > 0)}
startCollapsed={startCollapsed}
label={
<span>
<>
<ItemLabel name={name} node={node} isRoot={isRoot} />
{hasDescription ? (
<ItemDescription content={content} />
) : (
<ItemValue
content={content}
inline={true}
startCollapsed={startCollapsed}
/>
)}
</>
</span>
}>
<div>
{hasDescription && (
<ItemValue content={content} startCollapsed={startCollapsed} />
)}
<ItemMoreItems content={content} />
{isRoot && <ItemDependencies name={name.toString()} />}
</div>
</CollapsibleItem>
);
}