Line data Source code
1 : import * as React from 'react';
2 : import * as styles from './button_group.module.css';
3 :
4 : import { classNames } from '../../utils/classnames.js';
5 :
6 : interface ButtonGroupProps extends React.HTMLAttributes<HTMLDivElement> {
7 : className?: string;
8 : children?: React.ReactNode;
9 : }
10 :
11 1 : export const ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>((props: ButtonGroupProps, ref) => {
12 1 : const { className, children, ...rest } = props;
13 1 : return (
14 1 : <div
15 1 : {...rest}
16 1 : ref={ref}
17 1 : className={classNames(styles.root, className)}
18 1 : role={props.role ?? 'group'}
19 : >
20 1 : {React.Children.toArray(children).map((child, index) => (
21 1 : <div key={index} className={styles.item}>
22 1 : {child}
23 1 : </div>
24 1 : ))}
25 1 : </div>
26 : );
27 1 : });
|