import React, { cloneElement, forwardRef, ReactElement } from 'react'; import { SegmentedButtonProps } from './segmented-buttons.types'; export const SegmentedButtons = forwardRef< HTMLDivElement, SegmentedButtonProps >(({ children, ...props }, ref) => { if (children.length <= 1) { throw 'You must build segmented button with 2 or more buttton'; } const buttons = children.map((button: ReactElement, index) => { const classes = `m3-button-segment ${button.props.className ?? ''}`.trimEnd(); return cloneElement(button, { className: classes, key: index, }); }); return (
{buttons}
); });