Add decorator variants for decorator components
Add the "pipe" operator for components, similar to what was done for Elements.
We are able to put something like:
```
Button(...) | Maybe(&show_button)
```
Add decorators for:
- `Maybe`
- `CatchEvent`
- `Renderer`
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
- Provide better defaults for ComponentBase `Focusable()` and
`ActiveChild()` methods. This resolves:
https://github.com/ArthurSonzogni/FTXUI/issues/335
- Implement `Container::Tab` 's `Focusable()` methods. This prevents
the users to navigate into a tab with no interactivity.
PREFIX is by default "lib", which most of the libraries use.
this changes makes the library files libftxui-foo.a
as ArthurSonzogni/FTXUI#140 intended originally
- Add support for SIGTSTP:
https://github.com/ArthurSonzogni/FTXUI/issues/330
This
- Add support for task posting.
This allows folks to defer function execution, and execute it directly
below the main loop. The task are executed in a FIFO order.
Add the `automerge` attribute to the Pixel bit field. It controls
whether two pixels must be automerged. Defining this allows two
mergeable characters not to be merged.
This was requested by:
https://github.com/ArthurSonzogni/FTXUI/issues/285
Use std::string by default for the implementation of FTXUI's input
component.
Along the way:
- Give a correct implementation for fullwidth characters.
- Add tests
- Modify the way the cursor is drawn.
This implement the flexbox elements, following the HTML one.
Built from them, there is also the following elements:
- `paragraph`
- `paragraphAlignLeft`
- `paragraphAlignRight`
- `paragraphAlignCenter`
- `paragraphAlignJustify`
This is a breaking change.
- Let the global `BUILD_SHARED_LIBS` dictates whether the library should
be built statically or dynamically. The cmake's default is statically.
- Add library version and symlink.
This lead to the following install tree.
.
├── include
│ └── ftxui
│ ├── component [...]
│ ├── dom [...]
│ ├── screen [...]
│ └── util [...]
└── lib
├── cmake
│ └── ftxui
│ ├── ftxui-config.cmake
│ ├── ftxui-config-version.cmake
│ └── ftxui-config-version-noconfig.cmake
├── ftxui-component.so -> ftxui-component.so.0.10.369
├── ftxui-component.so.0.10.369
├── ftxui-dom.so -> ftxui-dom.so.0.10.369
├── ftxui-dom.so.0.10.369
├── ftxui-screen.so -> ftxui-screen.so.0.10.369
└── ftxui-screen.so.0.10.369
Fixed: https://github.com/ArthurSonzogni/FTXUI/issues/223
This can happen for example in embedded linux, in case
the application is started via serial terminal.
Signed-off-by: Jarosław Pelczar <jarek@jpelczar.com>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
Dom
- `vscroll_indicator`. Show a scrollback indicator on the right.
Component
- `Maybe`: Display an component conditionnally based on a boolean.
- `Dropdown`: A dropdown select list.
This address:
https://github.com/ArthurSonzogni/FTXUI/issues/204