@itwin/itwinui-react
Version:
A react component library for iTwinUI
38 lines (37 loc) • 1.18 kB
JavaScript
import * as React from 'react';
import { SvgChevronRight } from '../../utils/index.js';
import { IconButton } from '../Buttons/IconButton.js';
export const SubRowExpander = (props) => {
let { cell, isDisabled, cellProps, expanderCell, density, ...rest } = props;
return React.createElement(
React.Fragment,
null,
expanderCell
? expanderCell(cellProps)
: React.createElement(
IconButton,
{
'aria-label': 'Toggle sub row',
'aria-expanded': cell.row.isExpanded ? 'true' : 'false',
style: {
marginInlineEnd:
'default' === density || void 0 === density ? 8 : 4,
},
className: 'iui-table-row-expander',
styleType: 'borderless',
size: 'small',
onClick: (e) => {
e.stopPropagation();
cell.row.toggleRowExpanded();
},
disabled: isDisabled,
...rest,
},
React.createElement(SvgChevronRight, {
style: {
transform: cell.row.isExpanded ? 'rotate(90deg)' : void 0,
},
}),
),
);
};