|
- from __future__ import annotations
-
- from typing import TYPE_CHECKING, Any, Dict, NamedTuple, Optional
-
- if TYPE_CHECKING:
- from .styles import BaseStyle
-
-
- class CursorOffset(NamedTuple):
- top: int
- left: int
-
-
- class Element:
- metadata: Dict[Any, Any] = {}
- style: BaseStyle
-
- focusable: bool = True
-
- def __init__(
- self,
- style: Optional[BaseStyle] = None,
- metadata: Optional[Dict[Any, Any]] = None,
- ):
- from .styles import MinimalStyle
-
- self._cancelled = False
- self.metadata = metadata or {}
- self.style = style or MinimalStyle()
-
- @property
- def cursor_offset(self) -> CursorOffset:
- return CursorOffset(top=0, left=0)
-
- @property
- def should_show_cursor(self) -> bool:
- return False
-
- def handle_key(self, key: str) -> None: # noqa: B027
- pass
-
- def on_cancel(self) -> None: # noqa: B027
- self._cancelled = True
|