import React from 'react' import * as styles from './styles.css' import { Menu } from '../Menu/Menu' import { Text } from '../Text/Text' import { Box } from '../Box/Box' import { Badge } from '../Badge/Badge' import { Variants } from '../Badge/styles.css' import { IconSolidCheveronDown } from '../icons' type Props = styles.Variants & { options: { key: string render: React.ReactNode variants?: Variants }[] selectedKey?: string onChange: (value: string) => void divider?: boolean } export const MenuButton: React.FC = ({ ...props }) => { const [selected, setSelected] = React.useState( props.selectedKey ?? props.options[0].key, ) return ( {selected} {props.options.map((o, idx) => { const item = ( { setSelected(o.key) props.onChange(o.key) }} > {o.variants ? ( ) : ( {o.render} )} ) if ( props.divider && props.options.length > 2 && idx === 0 ) { return ( <> {item} ) } return item })} ) }