1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#![doc = include_str!("../readme.md")]
#![allow(clippy::collapsible_else_if)]

pub mod button;
pub mod calender;
pub mod date_input;
pub mod edit_table;
pub mod input;
pub mod list;
pub mod masked_input;
pub mod menuline;
pub mod number_input;
pub mod table;
pub mod textarea;

pub use pure_rust_locales::Locale;

/// Module for focus-handling functionality.
/// For details see [rat-focus](https://docs.rs/rat-focus)
pub mod focus {
    pub use rat_focus::{
        match_focus, on_gained, on_lost, Focus, FocusFlag, HasFocus, HasFocusFlag,
    };
}

pub mod scrolled {
    pub use rat_scrolled::{
        HScrollPosition, Inner, ScrollbarPolicy, Scrolled, ScrolledState, ScrolledStyle,
        ScrollingState, ScrollingWidget, VScrollPosition, View, ViewState, Viewport, ViewportState,
    };
}

pub mod event {
    pub use rat_ftable::event::{DoubleClick, DoubleClickOutcome, EditKeys, EditOutcome};
    pub use rat_input::event::{
        crossterm, ct_event, flow, flow_ok, util, ConsumedEvent, FocusKeys, HandleEvent, MouseOnly,
        Outcome, ReadOnly, TextOutcome,
    };
    pub use rat_scrolled::event::ScrollOutcome;
}

pub mod layout {
    pub use rat_input::layout_dialog::{layout_dialog, LayoutDialog};
    pub use rat_input::layout_edit::{layout_edit, EditConstraint, LayoutEdit, LayoutEditIterator};
}

pub mod msgdialog {
    pub use rat_input::msgdialog::{MsgDialog, MsgDialogState, MsgDialogStyle};
}

pub mod statusline {
    pub use rat_input::statusline::{StatusLine, StatusLineState};
}

pub mod fill {
    pub use rat_input::fill::Fill;
}

mod _private {
    // todo: remvoe
    #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
    pub struct NonExhaustive;
}