@nomios/web-uikit
Version:
Nomios' living web UIKit
30 lines (28 loc) • 759 B
JavaScript
import React, { cloneElement } from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import styles from './TypeGroup.css';
const TypeGroup = ({
children,
className,
name,
onSelect,
selectedId
}) => {
const clonedChildren = React.Children.map(children, child => cloneElement(child, {
groupName: name,
onSelect,
selected: child.props.id === selectedId
}));
return React.createElement("div", {
className: classNames(styles.group, className)
}, clonedChildren);
};
TypeGroup.propTypes = {
children: PropTypes.node.isRequired,
onSelect: PropTypes.func.isRequired,
name: PropTypes.string.isRequired,
selectedId: PropTypes.string,
className: PropTypes.string
};
export default TypeGroup;