import * as ContextMenuPrimitive from '@rn-primitives/context-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 ContextMenu = ContextMenuPrimitive.Root; const ContextMenuTrigger = ContextMenuPrimitive.Trigger; const ContextMenuGroup = ContextMenuPrimitive.Group; const ContextMenuSub = ContextMenuPrimitive.Sub; const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup; function ContextMenuSubTrigger({ className, inset, children, ...props }: ContextMenuPrimitive.SubTriggerProps & { ref?: React.RefObject; children?: React.ReactNode; inset?: boolean; }) { const { open } = ContextMenuPrimitive.useSubContext(); const Icon = Platform.OS === 'web' ? ChevronRight : open ? ChevronUp : ChevronDown; return ( {children} ); } function ContextMenuSubContent({ className, ...props }: ContextMenuPrimitive.SubContentProps & { ref?: React.RefObject; }) { const { open } = ContextMenuPrimitive.useSubContext(); return ( ); } function ContextMenuContent({ className, overlayClassName, overlayStyle, portalHost, ...props }: ContextMenuPrimitive.ContentProps & { ref?: React.RefObject; overlayStyle?: StyleProp; overlayClassName?: string; portalHost?: string; }) { const { open } = ContextMenuPrimitive.useRootContext(); return ( ); } function ContextMenuItem({ className, inset, ...props }: ContextMenuPrimitive.ItemProps & { ref?: React.RefObject; className?: string; inset?: boolean; }) { return ( ); } function ContextMenuCheckboxItem({ className, children, ...props }: ContextMenuPrimitive.CheckboxItemProps & { ref?: React.RefObject; children?: React.ReactNode; }) { return ( {children} ); } function ContextMenuRadioItem({ className, children, ...props }: ContextMenuPrimitive.RadioItemProps & { ref?: React.RefObject; children?: React.ReactNode; }) { return ( {children} ); } function ContextMenuLabel({ className, inset, ...props }: ContextMenuPrimitive.LabelProps & { ref?: React.RefObject; className?: string; inset?: boolean; }) { return ( ); } function ContextMenuSeparator({ className, ...props }: ContextMenuPrimitive.SeparatorProps & { ref?: React.RefObject; }) { return ( ); } function ContextMenuShortcut({ className, ...props }: TextProps) { return ( ); } export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, };