Mosaic_uiSourceTerminal UI toolkit: widgets, rendering, and event dispatch.
Mosaic_ui re-exports the modules that make up the Mosaic UI layer. It provides:
Event for input events, Selection for text selections, Renderable for the mutable node tree, Renderer for the layout-render-diff pipeline, and Vnode for declarative virtual-node descriptions.Text_buffer for styled text storage, Text_surface for viewport-aware text rendering with wrapping, and Edit_buffer for grapheme-aware editing with undo.Box, Text, Slider, Text_input, Canvas, Select, Tab_select, Markdown, Spinner, Progress_bar, Textarea, Scroll_bar, Scroll_box, Table, Tree, Code, and Line_number.Syntax_theme for tree-sitter/TextMate-style syntax colouring.Mutable UI tree nodes with layout integration.
Styled text storage with per-character styles and highlight overlays.
Text rendering surface with wrapping, viewport, and selection.
Grapheme-aware text editing buffer with cursor, selection, and undo.
module Box : sig ... endBordered container with background fill and optional title.
module Text : sig ... endStyled text display with wrapping, truncation, and selection.
module Slider : sig ... endInteractive horizontal or vertical slider.
module Text_input : sig ... endSingle-line text input with cursor, selection, and clipboard.
module Canvas : sig ... endLow-level drawing surface for custom cell-level rendering.
module Select : sig ... endVertical list selector with optional descriptions.
module Tab_select : sig ... endHorizontal tab navigation with optional underline and descriptions.
module Markdown : sig ... endCommonMark renderer with headings, code blocks, lists, and tables.
module Spinner : sig ... endAnimated loading indicator with preset frame sets.
module Progress_bar : sig ... endProgress bar with sub-cell precision via Unicode half-blocks.
module Textarea : sig ... endMulti-line text editor with wrapping, scrolling, and selection.
module Scroll_bar : sig ... endScrollbar with proportional thumb sizing and arrow buttons.
module Scroll_box : sig ... endScrollable container with optional scrollbars and sticky scroll.
module Table : sig ... endData table with columns, rows, keyboard navigation, and selection.
module Tree : sig ... endHierarchical tree with expandable nodes, guide lines, and selection.
module Code : sig ... endCode display with syntax highlighting, wrapping, and selection.
module Line_number : sig ... endLine-number gutter with per-line colours, signs, and custom numbering.
Syntax themes: maps capture-group names to terminal styles.