1
0
mirror of synced 2025-12-23 11:54:18 -05:00
Files
docs/components/ui/Picker/Fields.tsx
Grace Park baa53b778f Picker refactor (#33113)
Co-authored-by: Peter Bengtsson <peterbe@github.com>
2022-12-07 23:17:06 +00:00

34 lines
883 B
TypeScript

import { ReactNode } from 'react'
import { ActionList } from '@primer/react'
import { PickerItem } from './Picker'
import { Link } from 'components/Link'
export const Fields = (fieldProps: {
open: boolean
setOpen: React.Dispatch<React.SetStateAction<boolean>>
items: PickerItem[]
onSelect?: (item: PickerItem) => void
renderItem?: (item: PickerItem) => ReactNode | string
}) => {
const { open, setOpen, items, onSelect, renderItem } = fieldProps
return (
<ActionList selectionVariant="single">
{items.map((item) => (
<ActionList.LinkItem
as={Link}
key={item.text}
href={item.href}
onClick={() => {
if (onSelect) onSelect(item)
setOpen(!open)
}}
>
{renderItem ? renderItem(item) : item.text}
</ActionList.LinkItem>
))}
</ActionList>
)
}