///|
/// TUI Event types for luna integration
///|
/// Mouse button
pub(all) enum MouseButton {
Left
Right
Middle
}
///|
/// TUI Event - passed to event handlers
pub(all) enum TuiEvent {
/// Mouse click event
Click(x~ : Int, y~ : Int, button~ : MouseButton)
/// Mouse hover event
Hover(x~ : Int, y~ : Int, id~ : String)
/// Key press event
Key(key~ : String, modifiers~ : Int)
}
///|
/// Type alias for luna Node with TuiEvent and TuiAttrValue
pub type TuiNode = @luna.Node[TuiEvent, TuiAttrValue]
///|
/// Type alias for luna Attr with TuiEvent and TuiAttrValue
pub type TuiAttr = @luna.Attr[TuiEvent, TuiAttrValue]
///|
/// Type alias for luna EventHandler with TuiEvent
pub type TuiHandler = @luna.EventHandler[TuiEvent]