Files
box/bin/hatch_menu/__init__.py
T

54 lines
1.2 KiB
Python
Raw Normal View History

"""hatch_menu — modular muse.ai settings-menu navigation + toggles.
One module per part so a site change means patching one file:
mouse.py trusted input primitives (real click, escape, close)
dialog.py settings dialog open / tab nav / rows / back / text
controls.py generic radio/switch primitives (verify-then-fallback)
toggles.py toggle registry + sessions over controls and tabs
tabs/ one module per settings tab (uniform describe())
invite.py consumes this package; `box chromebox` exposes toggles.
"""
from hatch_menu.dialog import (
TAB_NAMES,
TABS,
click_row,
close_settings,
describe_rows,
dialog_present,
dialog_text,
go_back,
goto_tab,
open_settings,
)
from hatch_menu.mouse import MouseError, close, escape, real_click
from hatch_menu.toggles import (
MenuError,
describe_tab,
get_toggle,
list_toggles,
set_toggle,
)
__all__ = [
"TAB_NAMES",
"TABS",
"MenuError",
"MouseError",
"click_row",
"close",
"close_settings",
"describe_rows",
"describe_tab",
"dialog_present",
"dialog_text",
"escape",
"get_toggle",
"go_back",
"goto_tab",
"list_toggles",
"open_settings",
"real_click",
]