import { ScrollWrapper } from '@/ui/utilities/scroll/components/ScrollWrapper'; import { css } from '@emotion/react'; import styled from '@emotion/styled'; import { useId } from 'react'; import { isDefined } from 'twenty-shared/utils'; const StyledDropdownMenuItemsExternalContainer = styled.div<{ hasMaxHeight?: boolean; width: number | 'auto' | '100%'; }>` --padding: ${({ theme }) => theme.spacing(1)}; align-items: flex-start; display: flex; flex-direction: column; max-height: ${({ hasMaxHeight }) => (hasMaxHeight ? '168px' : 'none')}; padding: var(--padding); ${({ width }) => isDefined(width) && width === '100%' ? css` width: 100%; ` : css` width: ${width}px; `} `; const StyledDropdownMenuItemsInternalContainer = styled.div` align-items: stretch; display: flex; flex-direction: column; gap: 2px; height: 100%; width: 100%; `; const StyledScrollWrapper = styled(ScrollWrapper)` width: 100%; `; export const DropdownMenuItemsContainer = ({ children, hasMaxHeight, className, scrollable = true, width = 'auto', }: { children: React.ReactNode; hasMaxHeight?: boolean; className?: string; scrollable?: boolean; width?: number | 'auto' | '100%'; }) => { const id = useId(); return scrollable !== true ? ( {hasMaxHeight ? ( {children} ) : ( {children} )} ) : ( {children} ); };