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/editable-field/types/ViewField'; type TableOptionsDropdownSectionProps = { renderActions: ( column: ViewFieldDefinition, ) => DropdownMenuItemProps['actions']; title: string; columns: ViewFieldDefinition[]; }; export const TableOptionsDropdownSection = ({ renderActions, title, columns, }: TableOptionsDropdownSectionProps) => { const theme = useTheme(); return ( <> {title} {columns.map((column) => ( {column.columnIcon && cloneElement(column.columnIcon, { size: theme.icon.size.md, })} {column.columnLabel} ))} ); };