code: def __init__(
      self,
      text: str = "",
      handler: Callable[[], None] | None = None,
      children: list[MenuItem] | None = None,
      shortcut: Sequence[Keys | str] | None = None,
      disabled: bool = False,
  ) -> None:
      self.text = text
      self.handler = handler
      self.children = children or []
      self.shortcut = shortcut
      self.disabled = disabled
      self.selected_item = 0
  
imports: from __future__ import annotations
  from typing import Callable, Iterable, Sequence
  from prompt_toolkit.application.current import get_app
  from prompt_toolkit.filters import Condition
  from prompt_toolkit.formatted_text.base import OneStyleAndTextTuple, StyleAndTextTuples
  from prompt_toolkit.key_binding.key_bindings import KeyBindings, KeyBindingsBase
  from prompt_toolkit.key_binding.key_processor import KeyPressEvent
  from prompt_toolkit.keys import Keys
  from prompt_toolkit.layout.containers import AnyContainer, ConditionalContainer, Container, Float, FloatContainer, HSplit, Window
  from prompt_toolkit.layout.controls import FormattedTextControl
  from prompt_toolkit.mouse_events import MouseEvent, MouseEventType
  from prompt_toolkit.utils import get_cwidth
  from prompt_toolkit.widgets import Shadow
  from .base import Border
label_desc: Use image node_id 1 to create a new MenuItem object  with example: obj = MenuItem(text, handler, children, shortcut, disabled)