mizchi/tui/vnode does not have a README file
pub(all) enum AlignmentValue {
Start
Center
End
Stretch
SpaceBetween
SpaceAround
SpaceEvenly
FlexStart
FlexEnd
}pub(all) enum BorderValue {
None
Single
Double
Rounded
Ascii
}pub struct BoxProps {
id : String
direction : DirectionValue
width : DimensionValue
height : DimensionValue
min_width : DimensionValue
min_height : DimensionValue
flex_grow : Double
flex_shrink : Double
gap : Double
padding : Double
padding_x : Double
padding_y : Double
margin : Double
margin_x : Double
margin_y : Double
justify : AlignmentValue?
align : AlignmentValue?
border : BorderValue
border_color : ColorValue?
bg : ColorValue?
tab_index : Int
role : Role?
}pub(all) enum ColorValue {
Transparent
Named(String)
Rgb(Int, Int, Int)
}pub(all) enum DimensionValue {
Auto
Length(Double)
Percent(Double)
}pub(all) enum DirectionValue {
Row
Column
}pub(all) enum DisplayValue {
Flex
Grid
}pub(all) struct EditConfig {
field_name : String
on_change : (String) -> Unit
on_edit_start : () -> Unit?
on_edit_end : () -> Unit?
on_force_quit : () -> Unit?
}pub struct FocusableElement {
id : String
tab_index : Int
}pub(all) struct GridAreaInfo {
column : Int
row : Int
column_span : Int
row_span : Int
}pub(all) enum GridAutoFlowValue {
Row
Column
RowDense
ColumnDense
}pub(all) enum InputState {
Idle
Focused
Editing
Disabled
}pub(all) struct OverlayEntry {
node : Node[TuiEvent, TuiAttrValue]
position : PopupPosition
backdrop : Bool
shrink : Bool
}pub struct RenderContext {
styles : Map[String, RenderStyle]
texts : Map[String, String]
handlers : Map[String, (TuiEvent) -> Unit]
roles : Map[String, Role]
id_counter : Int
area_stack : Array[Map[String, GridAreaInfo]]
}pub(all) enum TuiAttrValue {
Direction(DirectionValue)
Width(DimensionValue)
Height(DimensionValue)
MinWidth(DimensionValue)
MinHeight(DimensionValue)
FlexGrow(Double)
FlexShrink(Double)
Gap(Double)
Display(DisplayValue)
GridTemplateColumns(Array[TrackSizingFunction])
GridTemplateRows(Array[TrackSizingFunction])
GridAutoFlow(GridAutoFlowValue)
GridColumn(Int)
GridRow(Int)
GridColumnSpan(Int)
GridRowSpan(Int)
GridTemplateAreas(Array[String])
GridArea(String)
Padding(Double)
PaddingX(Double)
PaddingY(Double)
Margin(Double)
MarginX(Double)
MarginY(Double)
Justify(AlignmentValue)
Align(AlignmentValue)
Border(BorderValue)
BorderColor(ColorValue)
Fg(ColorValue)
Bg(ColorValue)
Bold(Bool)
Underline(Bool)
Id(String)
TabIndex(Int)
Role(Role)
}pub struct TypedRenderContext {
styles : Map[String, RenderStyle]
texts : Map[String, String]
handlers : Map[String, (TuiEvent) -> Unit]
roles : Map[String, Role]
id_counter : Int
area_stack : Array[Map[String, GridAreaInfo]]
}pub struct VNodeApp {
width : Int
height : Int
prev_buffer : CharBuffer?
last_layout : Layout?
overlay_layouts : Array[Layout]
render_ctx : RenderContext
}fn VNodeApp::create_render_effect(self : VNodeApp, render_fn : () -> Node[TuiEvent, TuiAttrValue], output_fn : (String) -> Unit) -> (() -> Unit)fn VNodeApp::render_frame_with_overlays(self : VNodeApp, main : Node[TuiEvent, TuiAttrValue], overlays : Array[OverlayEntry]) -> Stringfn VNodeApp::render_with_overlays(self : VNodeApp, main : Node[TuiEvent, TuiAttrValue], overlays : Array[OverlayEntry]) -> Stringfn box_node(props : BoxProps, children : Array[Node[TuiEvent, TuiAttrValue]]) -> Node[TuiEvent, TuiAttrValue]fn box_to_crater(ctx : TypedRenderContext, props : BoxProps, children : Array[Node[TuiEvent, TuiAttrValue]]) -> Nodefn column(id? : String, gap? : Double, margin? : Double, margin_x? : Double, margin_y? : Double, padding? : Double, padding_x? : Double, padding_y? : Double, width? : Double, height? : Double, min_width? : Double, min_height? : Double, flex_grow? : Double, justify? : String, align? : String, border? : String, border_color? : String, bg? : String, role? : String, tab_index? : Int, on_click? : (TuiEvent) -> Unit?, children : Array[Node[TuiEvent, TuiAttrValue]]) -> Node[TuiEvent, TuiAttrValue]fn form_edit_config(field_name : String, signal : Signal[String], on_edit_start? : () -> Unit?, on_edit_end? : () -> Unit?, on_force_quit? : () -> Unit?) -> EditConfigfn grid(columns? : Array[Double], rows? : Array[Double], areas? : Array[String], auto_flow? : String, id? : String, gap? : Double, padding? : Double, padding_x? : Double, padding_y? : Double, width? : Double, height? : Double, border? : String, border_color? : String, bg? : String, role? : String, tab_index? : Int, children : Array[Node[TuiEvent, TuiAttrValue]]) -> Node[TuiEvent, TuiAttrValue]fn grid_item(column? : Int, row? : Int, column_span? : Int, row_span? : Int, tab_index? : Int, child~ : Node[TuiEvent, TuiAttrValue]) -> Node[TuiEvent, TuiAttrValue]fn init_vnode_terminal(width : Int, height : Int, output_fn : (String) -> Unit, mouse? : Bool, raw_mode? : Bool) -> (VNodeApp, () -> Unit)fn input(value : String, id? : String, placeholder? : String, state? : InputState, fg? : String, bg? : String, placeholder_fg? : String, focus_border_color? : String, edit_border_color? : String, disabled_fg? : String, disabled_bg? : String, width? : Double, min_width? : Double, padding_x? : Double, padding_y? : Double) -> Node[TuiEvent, TuiAttrValue]fn input_plain(value : String, placeholder? : String, state? : InputState, fg? : String, placeholder_fg? : String) -> Node[TuiEvent, TuiAttrValue]fn is_printable_char(c : Char) -> Boolfn is_printable_string(s : String) -> Boolfn row(id? : String, gap? : Double, margin? : Double, margin_x? : Double, margin_y? : Double, padding? : Double, padding_x? : Double, padding_y? : Double, width? : Double, height? : Double, min_width? : Double, min_height? : Double, flex_grow? : Double, justify? : String, align? : String, border? : String, border_color? : String, bg? : String, role? : String, tab_index? : Int, on_click? : (TuiEvent) -> Unit?, children : Array[Node[TuiEvent, TuiAttrValue]]) -> Node[TuiEvent, TuiAttrValue]fn run_vnode_app(width : Int, height : Int, render_fn : () -> Node[TuiEvent, TuiAttrValue], output_fn : (String) -> Unit) -> (() -> Unit)fn show(when : () -> Bool, child : () -> Node[TuiEvent, TuiAttrValue]) -> Node[TuiEvent, TuiAttrValue]fn start_edit(config : EditConfig, current_value : String, on_complete : () -> Unit, confirm_on_shift_enter? : Bool, esc_cancels? : Bool) -> Unitfn start_edit_inplace(config : EditConfig, current_value : String, row : Int, col : Int, width : Int, height : Int, multiline : Bool, on_complete : () -> Unit, confirm_on_shift_enter? : Bool, esc_cancels? : Bool, on_lines_change? : (Int) -> Int?, on_completion? : (String, Int) -> String??) -> Unitfn start_edit_inplace_in_bounds(config : EditConfig, current_value : String, bounds : HitTestResult, multiline : Bool, on_complete : () -> Unit, confirm_on_shift_enter? : Bool, esc_cancels? : Bool, border? : Int, on_lines_change? : (Int) -> Int?, on_completion? : (String, Int) -> String??) -> Unitfn text(content : String, fg? : String, bold? : Bool, underline? : Bool, role? : String) -> Node[TuiEvent, TuiAttrValue]fn text_dyn(getter : () -> String, fg? : String, bold? : Bool, underline? : Bool, role? : String) -> Node[TuiEvent, TuiAttrValue]fn textarea(value : String, id? : String, placeholder? : String, state? : InputState, rows? : Int, fg? : String, bg? : String, placeholder_fg? : String, focus_border_color? : String, edit_border_color? : String, min_width? : Double, padding_x? : Double, padding_y? : Double) -> Node[TuiEvent, TuiAttrValue]fn view(direction? : String, id? : String, gap? : Double, margin? : Double, margin_x? : Double, margin_y? : Double, padding? : Double, padding_x? : Double, padding_y? : Double, width? : Double, height? : Double, min_width? : Double, min_height? : Double, flex_grow? : Double, justify? : String, align? : String, border? : String, border_color? : String, bg? : String, role? : String, tab_index? : Int, on_click? : (TuiEvent) -> Unit?, children : Array[Node[TuiEvent, TuiAttrValue]]) -> Node[TuiEvent, TuiAttrValue]Terminal UI library for MoonBit with reactive signals
Dependencies