import { zIndex } from '@/styles/constants'; import { cn } from '@/styles/theme'; import type React from 'react'; import * as DropdownMenuPrimitives from '@radix-ui/react-dropdown-menu'; import { ComponentProps, ReactNode } from 'react'; import { useLayerConfigContext } from './LayerConfigProvider'; const DropdownMenuRoot = DropdownMenuPrimitives.Root; const DropdownMenuTrigger = DropdownMenuPrimitives.Trigger; const DropdownMenuContent = DropdownMenuPrimitives.Content; export const DropdownMenuItem = DropdownMenuPrimitives.Item; type DropdownMenuProps = { /** Content of the dropdown menu */ children: React.ReactNode; isOpen?: boolean; /** Callback for when the dropdown should close */ onClose?: () => void; /** The element that triggers the dropdown menu */ trigger: ReactNode; 'aria-label'?: string; className?: string; } & ComponentProps; export const DropdownMenu = ({ isOpen, onClose, trigger, sideOffset = 8, side = 'bottom', children, align = 'start', 'aria-label': ariaLabel, className, }: DropdownMenuProps) => { const { forceDropdownModal } = useLayerConfigContext(); return ( { if (!flag) { onClose?.(); } }} modal={forceDropdownModal} > {trigger} {children} ); };