UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

48 lines (47 loc) 1.63 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); Object.defineProperty(exports, 'TreeNodeExpander', { enumerable: true, get: function () { return TreeNodeExpander; }, }); const _interop_require_default = require('@swc/helpers/_/_interop_require_default'); const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard'); const _react = /*#__PURE__*/ _interop_require_wildcard._(require('react')); const _classnames = /*#__PURE__*/ _interop_require_default._( require('classnames'), ); const _index = require('../../utils/index.js'); const _IconButton = require('../Buttons/IconButton.js'); const _TreeContext = require('./TreeContext.js'); const TreeNodeExpander = _react.forwardRef((props, ref) => { let { isExpanded, expanderIconProps = {}, ...rest } = props; let size = _react.useContext(_TreeContext.TreeContext)?.size ?? 'default'; let ChevronIcon = 'small' === size ? _index.SvgChevronRightSmall : _index.SvgChevronRight; return _react.createElement( _IconButton.IconButton, { styleType: 'borderless', size: 'small', 'aria-label': isExpanded ? 'Collapse' : 'Expand', ref: ref, ...rest, }, _react.createElement(ChevronIcon, { ...expanderIconProps, className: (0, _classnames.default)( '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';