import * as PopoverPrimitive from '@radix-ui/react-popover' import { useContainer } from '@tldraw/editor' import { memo } from 'react' import { TLUiMenuChild } from '../hooks/menuHelpers' import { useActionsMenuSchema } from '../hooks/useActionsMenuSchema' import { useReadonly } from '../hooks/useReadonly' import { useTranslation } from '../hooks/useTranslation/useTranslation' import { Button } from './primitives/Button' import { Popover, PopoverTrigger } from './primitives/Popover' import { kbdStr } from './primitives/shared' export const ActionsMenu = memo(function ActionsMenu() { const msg = useTranslation() const container = useContainer() const menuSchema = useActionsMenuSchema() const isReadonly = useReadonly() function getActionMenuItem(item: TLUiMenuChild) { if (!item) return null if (isReadonly && !item.readonlyOk) return null switch (item.type) { case 'item': { const { id, icon, label, kbd, onSelect } = item.actionItem return (