import * as DropdownMenuPrimitive from "@rn-primitives/dropdown-menu"; import * as React from "react"; import { Platform, StyleSheet, Text, View } from "react-native"; import Animated from "react-native-reanimated"; import { FadeIn } from "react-native-reanimated"; import { FullWindowOverlay as RNFullWindowOverlay } from "react-native-screens"; import { cn } from "@turbostarter/ui"; import { Icons } from "./icons"; import { TextClassContext } from "./text"; import type { StyleProp, TextProps, ViewStyle } from "react-native"; 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, iconClassName, ...props }: DropdownMenuPrimitive.SubTriggerProps & React.RefAttributes & { children?: React.ReactNode; iconClassName?: string; inset?: boolean; }) { const { open } = DropdownMenuPrimitive.useSubContext(); const Icon = open ? Icons.ChevronUp : Icons.ChevronDown; return ( <>{children} ); } function DropdownMenuSubContent({ className, ...props }: DropdownMenuPrimitive.SubContentProps & React.RefAttributes) { return ( ); } const FullWindowOverlay = Platform.OS === "ios" ? RNFullWindowOverlay : React.Fragment; function DropdownMenuContent({ className, overlayClassName, overlayStyle, portalHost, ...props }: DropdownMenuPrimitive.ContentProps & React.RefAttributes & { overlayStyle?: StyleProp; overlayClassName?: string; portalHost?: string; }) { return ( ); } function DropdownMenuItem({ className, inset, variant, ...props }: DropdownMenuPrimitive.ItemProps & React.RefAttributes & { className?: string; inset?: boolean; variant?: "default" | "destructive"; }) { return ( ); } function DropdownMenuCheckboxItem({ className, children, ...props }: DropdownMenuPrimitive.CheckboxItemProps & React.RefAttributes & { children?: React.ReactNode; }) { return ( <>{children} ); } function DropdownMenuRadioItem({ className, children, ...props }: DropdownMenuPrimitive.RadioItemProps & React.RefAttributes & { children?: React.ReactNode; }) { return ( <>{children} ); } function DropdownMenuLabel({ className, inset, ...props }: DropdownMenuPrimitive.LabelProps & React.RefAttributes & { className?: string; inset?: boolean; }) { return ( ); } function DropdownMenuSeparator({ className, ...props }: DropdownMenuPrimitive.SeparatorProps & React.RefAttributes) { return ( ); } function DropdownMenuShortcut({ className, ...props }: TextProps & React.RefAttributes) { return ( ); } export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };