pub mod error;
pub mod frame;
pub mod input;
pub mod keys;
pub mod modals;
pub mod nav;
pub mod section;
pub mod shortcuts;
pub mod terminal;
pub mod text_flow;
pub mod theme;
pub use error::{Result, TuiError};
pub use frame::{render_too_small, BoxFrame, FrameLine};
pub use input::{TextInput, TextInputAction};
pub use keys::{KeyAction, KeyHelpMode, KeyMap};
pub use modals::*;
pub use nav::{
box_breadcrumbs, clear_root_breadcrumbs, format_breadcrumbs, get_breadcrumbs,
set_root_breadcrumbs, NavGuard,
};
pub use section::{
FieldSection, FooterSection, MenuEntry, MenuSection, ModalSection, SelectItem, TextSection,
TitleSection,
};
pub use shortcuts::{Shortcut, ShortcutBar, Shortcuts};
pub use terminal::{
clean_exit, get_content_width, get_terminal_size, init_terminal_panic_hook,
is_terminal_too_small, restore_terminal, wait_for_constraints, wait_for_valid_size,
AltScreenGuard, TerminalConstraints, TerminalGuard, MIN_TERM_HEIGHT, MIN_TERM_WIDTH,
};
pub use text_flow::{
truncate_ansi, truncate_ellipsis, truncate_str, wrap_button_items, wrap_delimited_string,
wrap_fields, wrap_words,
};
pub use theme::{
box_bottom, box_divider, box_line, box_title, box_title_simple, box_top, is_utf8_supported,
strip_ansi, visible_len,
};
pub mod prelude {
pub use crate::error::{Result, TuiError};
pub use crate::frame::{render_too_small, BoxFrame, FrameLine};
pub use crate::keys::{KeyAction, KeyHelpMode, KeyMap};
pub use crate::modals::{
confirm::{ConfirmModal, ConfirmOutcome},
form::{FormField, FormFieldType, FormModal, FormResult},
info::InfoModal,
input::{InputModal, InputOutcome, InputValidator},
select::{parse_header_lines, SelectModal, SelectOutcome},
table::{ColumnAlign, TableColumn, TableModal, TableOutcome},
waiting::{render_boxed_status, WaitingModal, SPINNER_FRAMES},
};
pub use crate::nav::NavGuard;
pub use crate::section::{
FieldSection, FooterSection, MenuEntry, MenuSection, ModalSection, SelectItem, TextSection,
TitleSection,
};
pub use crate::shortcuts::{Shortcut, ShortcutBar, Shortcuts};
pub use crate::terminal::{
clean_exit, get_content_width, get_terminal_size, restore_terminal, wait_for_valid_size,
AltScreenGuard, TerminalConstraints, TerminalGuard,
};
pub use crate::text_flow::{
truncate_ansi, truncate_ellipsis, truncate_str, wrap_button_items, wrap_delimited_string,
wrap_fields, wrap_words,
};
pub use crate::theme::{strip_ansi, visible_len};
}