import React from 'react'; import composeClassName from './classNames'; const PanelHeader = ({ className = '', leading = null, title = null, titleTag = 'h2', titleProps = {}, actions = null, }) => { const headerClassName = composeClassName('panel-header', className); const renderTitle = () => { if (title == null) { return null; } if (React.isValidElement(title)) { if (title.type === React.Fragment) { return ( {title} ); } const mergedClassName = composeClassName('panel-header__title', title.props.className || ''); return React.cloneElement(title, { ...titleProps, className: mergedClassName, }); } const HeadingTag = titleTag; return ( {title} ); }; return (
{leading ?
{leading}
: null} {renderTitle()} {actions ?
{actions}
: null}
); }; export default PanelHeader;