ADDED: base styles for segmented buttons

This commit is contained in:
2024-02-08 12:49:46 +04:00
parent 0d1b643abf
commit e97411466d
13 changed files with 906 additions and 1892 deletions

View File

@@ -1,4 +1,4 @@
import React, { forwardRef } from 'react';
import React, { cloneElement, forwardRef, ReactElement } from 'react';
import { SegmentedButtonProps } from './segmented-buttons.types';
export const SegmentedButtons = forwardRef<
@@ -9,12 +9,21 @@ export const SegmentedButtons = forwardRef<
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 (
<div
className={`m3 m3-segmented-buttons ${props.className ?? ''}`.trimEnd()}
ref={ref}
>
{children}
{buttons}
</div>
);
});
});