FTXUI v2.0.0 Release Notes

  • ๐Ÿ”‹ Features:

    Screen

    • โž• Add the automerge to the Pixel bit field. This now controls which pixels are automatically merged.

    DOM:

    • โž• Add the Canvas class and ElementFrom('canvas') function. Together users of the library can draw using braille and block characters.
    • ๐Ÿ‘Œ Support flexbox dom elements. This is build symmetrically to the HTML one. All the following attributes are supported: direction, wrap, justify-content, align-items, align-content, gap
    • โž• Add the dom elements helper based on flexbox:
      • paragraph
      • paragraphAlignLeft
      • paragraphAlignCenter
      • paragraphAlignRight
      • paragraphAlignJustify
    • โž• Add the helper elements based on flexbox: hflow(), vflow().
    • โž• Add: focusPositionRelative and focusPosition
    • โž• Add Table constructor from 2D vector of Element, instead of string.

    Component

    • โž• Add the collapsible component.
    • โž• Add the ScreenInteractive::WithRestoredIO. This decorates a callback. This runs it with the terminal hooks temporarilly uninstalled. This is useful if you want to execute command using directly stdin/stdout/sterr.

    ๐Ÿ› Bug

    Table

    • The table horizontal and vertical separator are now correctly expanded.

    Component

    • Input shouldn't take focus when hovered by the mouse.
    • Modifying Input's during on_enter/on_change event is now working correctly.

    ๐Ÿ’ฅ Breaking changes:

    • The behavior of paragraph has been modified. It now returns en Element, instead of a list of elements.