import { ReactNode, useState } from 'react' import { ActionMenu } from '@primer/react' import { AnchorAlignment } from '@primer/behaviors' import { Fields } from './Fields' import styles from './Picker.module.scss' interface Props { items: PickerItem[] onSelect?: (item: PickerItem) => void buttonBorder?: boolean pickerLabel?: string dataTestId: string defaultText: string ariaLabel: string alignment: AnchorAlignment descriptionFontSize?: number renderItem?: (item: PickerItem) => ReactNode | string } export interface PickerItem { href: string text: string selected: boolean extra?: { [key: string]: any } divider?: boolean } export const Picker = ({ items, ariaLabel, pickerLabel, buttonBorder, dataTestId, defaultText, onSelect, alignment, descriptionFontSize, renderItem, }: Props) => { const [open, setOpen] = useState(false) const selectedOption = items.find((item) => item.selected === true) return ( {pickerLabel && {`${pickerLabel}`}} {selectedOption?.text || defaultText} ) }