@itwin/itwinui-react
Version:
A react component library for iTwinUI
30 lines (29 loc) • 902 B
JavaScript
import * as React from 'react';
import cx from 'classnames';
import { SvgChevronRightSmall } from '../../utils/index.js';
import { IconButton } from '../Buttons/IconButton.js';
export const TreeNodeExpander = React.forwardRef((props, ref) => {
let { isExpanded, expanderIconProps = {}, ...rest } = props;
return React.createElement(
IconButton,
{
styleType: 'borderless',
size: 'small',
'aria-label': isExpanded ? 'Collapse' : 'Expand',
ref: ref,
...rest,
},
React.createElement(SvgChevronRightSmall, {
...expanderIconProps,
className: cx(
'iui-tree-node-content-expander-icon',
expanderIconProps?.className,
{
'iui-tree-node-content-expander-icon-expanded': isExpanded,
},
),
}),
);
});
if ('development' === process.env.NODE_ENV)
TreeNodeExpander.displayName = 'TreeNode.Expander';