@krowdy-ui/views
Version:
React components that implement Google's Material Design.
32 lines (30 loc) • 926 B
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import { ButtonGroup } from '@krowdy-ui/core';
const SwitchButton = props => {
const {
selected,
children,
onChange = () => {},
classes
} = props;
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ButtonGroup, {
className: classes.buttongroup
}, children.map((child, index) => React.cloneElement(child, {
key: `SwitchButton-${index}`,
onClick: e => {
onChange(index);
if (index !== selected && child.props.onClick) child.props.onClick(e);
},
variant: index === selected ? 'contained' : 'outlined'
}))));
};
process.env.NODE_ENV !== "production" ? SwitchButton.propTypes = {
classes: PropTypes.shape({
buttongroup: PropTypes.string
}),
index: PropTypes.number,
onChange: PropTypes.func,
selected: PropTypes.number
} : void 0;
export default SwitchButton;