import { cloneElement } from 'react'; import { useTheme } from '@emotion/react'; import { DropdownMenuItem, DropdownMenuItemProps, } from '@/ui/dropdown/components/DropdownMenuItem'; import { DropdownMenuItemsContainer } from '@/ui/dropdown/components/DropdownMenuItemsContainer'; import { DropdownMenuSubheader } from '@/ui/dropdown/components/DropdownMenuSubheader'; import { ViewFieldDefinition, ViewFieldMetadata, } from '@/ui/table/types/ViewField'; type OptionsDropdownSectionProps = { renderActions: ( viewField: ViewFieldDefinition, ) => DropdownMenuItemProps['actions']; title: string; viewFields: ViewFieldDefinition[]; }; export const OptionsDropdownSection = ({ renderActions, title, viewFields, }: OptionsDropdownSectionProps) => { const theme = useTheme(); return ( <> {title} {viewFields.map((viewField) => ( {viewField.columnIcon && cloneElement(viewField.columnIcon, { size: theme.icon.size.md, })} {viewField.columnLabel} ))} ); };