import * as React from 'react'; import { ViewInstance } from '@difizen/mana-core'; import { useInject } from '@difizen/mana-observable'; import type { TreeNodeProps } from '../tree'; import { TreeNode, TreeNodeComponents } from '../tree'; import { TREE_NODE_CONTENT_CLASS } from '../tree-protocol'; import type { TreeView } from '../view/tree-view'; export const TreeNodeComponent: React.FC = (props: TreeNodeProps) => { const treeNodeComponents = useInject(TreeNodeComponents); const treeView = useInject(ViewInstance); const { TreeNodeIconDecorator, TreeNodeCaptionAffixes, TreeNodeExpansion, TreeNodeIcon, TreeNodeTailDecorations, TreeNodeCaption, } = treeNodeComponents; const { node } = props; if (!TreeNode.isVisible(node)) { return null; } const attrs = treeView.createNodeAttributes(node, props.nodeProps); return (
)}>
} />
); };