import { forwardRef, MouseEventHandler, ReactNode, Ref } from 'react' import Icon from '@/Components/Icon/Icon' import Switch from '@/Components/Switch/Switch' import { SwitchProps } from '@/Components/Switch/SwitchProps' import { IconType } from '@standardnotes/snjs' import { FOCUSABLE_BUT_NOT_TABBABLE } from '@/Constants/Constants' import { MenuItemType } from './MenuItemType' import RadioIndicator from '../Radio/RadioIndicator' import { classNames } from '@/Utils/ConcatenateClassNames' import { PlatformedKeyboardShortcut } from '@standardnotes/ui-services' import { KeyboardShortcutIndicator } from '../KeyboardShortcutIndicator/KeyboardShortcutIndicator' type MenuItemProps = { children: ReactNode type?: MenuItemType onClick?: MouseEventHandler onChange?: SwitchProps['onChange'] onBlur?: (event: { relatedTarget: EventTarget | null }) => void className?: string checked?: boolean icon?: IconType iconClassName?: string tabIndex?: number disabled?: boolean shortcut?: PlatformedKeyboardShortcut } const MenuItem = forwardRef( ( { children, onClick, onChange, onBlur, className = '', type = MenuItemType.IconButton, checked, icon, iconClassName, tabIndex, disabled, shortcut, }: MenuItemProps, ref: Ref, ) => { return type === MenuItemType.SwitchButton && typeof onChange === 'function' ? (
  • ) : (
  • ) }, ) export default MenuItem