import React, { useState, useEffect } from 'react'; import PropTypes from 'prop-types'; import './SegmentedControls.scss'; import { blurOnBubbling } from '../button/script'; import Text from '../text/Text'; import RawIcon from '../system-icons/RawIcon'; function SegmentedControls({ selected, segments, onSelect, }) { const [select, setSelect] = useState(selected); function selectSegment(segmentIndex) { setSelect(segmentIndex); onSelect(segmentIndex); } useEffect(() => { setSelect(selected); }, [selected]); return (
{ segments.map((segment, index) => ( )) }
); } SegmentedControls.propTypes = { selected: PropTypes.number.isRequired, segments: PropTypes.arrayOf(PropTypes.shape({ iconSrc: PropTypes.string, text: PropTypes.string, })).isRequired, onSelect: PropTypes.func.isRequired, }; export default SegmentedControls;