Behaviour, renderer dispatch, and shared helpers for declarative TUI widgets.
Summary
Types
@type line() :: IO.chardata()
Callbacks
@callback render(Vibe.TUI.Node.t(), pos_integer(), Vibe.Terminal.Theme.t()) :: [line()]
Functions
@spec background_line( IO.chardata(), pos_integer(), Vibe.Terminal.Theme.t(), atom(), keyword() ) :: line()
@spec block_lines( [IO.chardata()], pos_integer(), Vibe.Terminal.Theme.t(), atom(), keyword() ) :: [ line() ]
@spec fit_line(IO.chardata(), pos_integer()) :: line()
@spec fit_line(IO.chardata(), pos_integer(), keyword()) :: line()
@spec frame_line(IO.chardata(), pos_integer(), Vibe.Terminal.Theme.t()) :: line()
@spec inset_line(IO.chardata(), non_neg_integer()) :: line()
@spec join_sides(IO.chardata(), IO.chardata(), pos_integer()) :: line()
@spec pad_line(IO.chardata(), non_neg_integer()) :: line()
@spec render( Vibe.TUI.Node.t() | IO.chardata(), pos_integer(), Vibe.Terminal.Theme.t() ) :: [line()]
@spec repeat(IO.chardata(), integer()) :: IO.chardata()
@spec wrap(IO.chardata(), pos_integer()) :: [line()]