import { usePassThroughWheelEvents } from '@tldraw/editor' import { ReactNode, memo, useRef } from 'react' import { PORTRAIT_BREAKPOINT } from '../../constants' import { useBreakpoint } from '../../context/breakpoints' import { useTranslation } from '../../hooks/useTranslation/useTranslation' import { TldrawUiButton } from '../primitives/Button/TldrawUiButton' import { TldrawUiButtonIcon } from '../primitives/Button/TldrawUiButtonIcon' import { TldrawUiMenuContextProvider } from '../primitives/menus/TldrawUiMenuContext' import { TldrawUiDropdownMenuContent, TldrawUiDropdownMenuRoot, TldrawUiDropdownMenuTrigger, } from '../primitives/TldrawUiDropdownMenu' import { DefaultHelpMenuContent } from './DefaultHelpMenuContent' /** @public */ export interface TLUiHelpMenuProps { children?: ReactNode } /** @public @react */ export const DefaultHelpMenu = memo(function DefaultHelpMenu({ children }: TLUiHelpMenuProps) { const msg = useTranslation() const breakpoint = useBreakpoint() const ref = useRef(null) usePassThroughWheelEvents(ref) // Get the help menu content, either the default component or the user's // override. If there's no menu content, then the user has set it to null, // so skip rendering the menu. const content = children ?? if (breakpoint < PORTRAIT_BREAKPOINT.MOBILE) return null return (
{content}
) })