UNPKG

@ark-ui/react

Version:

A collection of unstyled, accessible UI components for React, utilizing state machines for seamless interaction.

31 lines (28 loc) 1.12 kB
'use client'; import { jsx } from 'react/jsx-runtime'; import { mergeProps } from '@zag-js/react'; import { forwardRef } from 'react'; import { useRenderStrategyPropsContext } from '../../utils/render-strategy.js'; import { CollapsibleRoot } from '../collapsible/collapsible-root.js'; import { useTreeViewContext } from './use-tree-view-context.js'; import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js'; const TreeViewBranch = forwardRef((props, ref) => { const treeView = useTreeViewContext(); const nodeProps = useTreeViewNodePropsContext(); const renderStrategyProps = useRenderStrategyPropsContext(); const node = treeView.getNodeState(nodeProps); const mergedProps = mergeProps(treeView.getBranchProps(nodeProps), props); const branchContentProps = treeView.getBranchContentProps(nodeProps); return /* @__PURE__ */ jsx( CollapsibleRoot, { ref, open: node.expanded, ids: { content: branchContentProps.id }, ...renderStrategyProps, ...mergedProps } ); }); TreeViewBranch.displayName = "TreeViewBranch"; export { TreeViewBranch };