#tui #component

anathema-extras

Additional components for Anathema

1 unstable release

Uses new Rust 2024

0.1.0 Jun 21, 2025

#1785 in Command-line interface

MIT license

12KB
237 lines

Anathema extras

This crate contains third party components for Anathema.

Input

A single line input field.

builder
    .default::<Input>("input", Input::template())
    .unwrap();

The input component can be registered as a prototype as well.

builder
    .prototype("input", Input::template(), Input::new, InputState::new)
    .unwrap();

Supported events:

The following events are provided:

on_enter

The enter key was pressed. This event publishes anathema_extras::Text, which implements Deref<str>.

on_change

A change was made to the text (insert or remove). This event publishes anathema_extras::InputChange.

on_focus

The input component gained focus. This event publishes ().

on_blur

The input component lost focus. This event publishes ().

Attributes

clear_on_enter

If the desired outcome is to retain the text when the enter key is pressed set this attribute to false.

@input [clear_on_enter: false]

Example

vstack
    @input (on_enter->update_label_a)
    @input (on_enter->update_label_b)

Button

Dependencies

~19–32MB
~269K SLoC