import { isWeb } from '@tamagui/web' type GetProps = T extends React.ComponentType ? P : never export function withNativeMenu< C extends React.ComponentType, N extends React.ComponentType, CP = GetProps, NP = GetProps, >({ Component, NativeComponent, }: { Component: C NativeComponent: N scope?: string isRoot?: boolean }): React.FC>> { type Props = CP & Partial> if (isWeb) { return Component as React.FC } // On native platform, always use native component // If NativeComponent is missing (zeego not set up), fall back to web Component if (!NativeComponent) { return Component as React.FC } const Menu: React.FC = (props) => { return } // displayName is required for Portal flattening (checks displayName.includes('Portal')) Menu.displayName = NativeComponent.displayName || Component?.displayName return Menu }