import * as DropdownMenuPrimitive from '@rn-primitives/dropdown-menu'; import * as React from 'react'; import { Platform, type StyleProp, StyleSheet, Text, type TextProps, View, type ViewStyle, } from 'react-native'; import { Check } from '../../lib/icons/Check'; import { ChevronDown } from '../../lib/icons/ChevronDown'; import { ChevronRight } from '../../lib/icons/ChevronRight'; import { ChevronUp } from '../../lib/icons/ChevronUp'; import { cn } from '../../lib/utils'; import { TextClassContext } from '../../components/ui/text'; const DropdownMenu = DropdownMenuPrimitive.Root; const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger; const DropdownMenuGroup = DropdownMenuPrimitive.Group; const DropdownMenuPortal = DropdownMenuPrimitive.Portal; const DropdownMenuSub = DropdownMenuPrimitive.Sub; const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup; function DropdownMenuSubTrigger({ className, inset, children, ...props }: DropdownMenuPrimitive.SubTriggerProps & { ref?: React.RefObject; className?: string; inset?: boolean; children?: React.ReactNode; }) { const { open } = DropdownMenuPrimitive.useSubContext(); const Icon = Platform.OS === 'web' ? ChevronRight : open ? ChevronUp : ChevronDown; return ( {children} ); } function DropdownMenuSubContent({ className, ...props }: DropdownMenuPrimitive.SubContentProps & { ref?: React.RefObject; }) { const { open } = DropdownMenuPrimitive.useSubContext(); return ( ); } function DropdownMenuContent({ className, overlayClassName, overlayStyle, portalHost, ...props }: DropdownMenuPrimitive.ContentProps & { ref?: React.RefObject; overlayStyle?: StyleProp; overlayClassName?: string; portalHost?: string; }) { const { open } = DropdownMenuPrimitive.useRootContext(); return ( ); } function DropdownMenuItem({ className, inset, ...props }: DropdownMenuPrimitive.ItemProps & { ref?: React.RefObject; className?: string; inset?: boolean; }) { return ( ); } function DropdownMenuCheckboxItem({ className, children, checked, ...props }: DropdownMenuPrimitive.CheckboxItemProps & { ref?: React.RefObject; children?: React.ReactNode; }) { return ( {children} ); } function DropdownMenuRadioItem({ className, children, ...props }: DropdownMenuPrimitive.RadioItemProps & { ref?: React.RefObject; children?: React.ReactNode; }) { return ( {children} ); } function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuPrimitive.LabelProps & { ref?: React.RefObject; className?: string; inset?: boolean; }) { return ( ); } function DropdownMenuSeparator({ className, ...props }: DropdownMenuPrimitive.SeparatorProps & { ref?: React.RefObject; }) { return ( ); } function DropdownMenuShortcut({ className, ...props }: TextProps) { return ( ); } export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };