UNPKG

@krowdy-ui/views

Version:

React components that implement Google's Material Design.

32 lines (30 loc) 926 B
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;