1use crate::chart::{build_histogram_config, render_chart, Candle, ChartBuilder, HistogramBuilder};
2use crate::event::{Event, KeyCode, KeyEventKind, KeyModifiers, MouseButton, MouseKind};
3use crate::halfblock::HalfBlockImage;
4use crate::layout::{Command, Direction};
5use crate::rect::Rect;
6use crate::style::{
7 Align, Border, BorderSides, Breakpoint, Color, Constraints, ContainerStyle, Justify, Margin,
8 Modifiers, Padding, Style, Theme, WidgetColors,
9};
10use crate::widgets::{
11 ApprovalAction, ButtonVariant, CalendarState, CommandPaletteState, ContextItem,
12 FilePickerState, FormField, FormState, ListState, MultiSelectState, RadioState, ScreenState,
13 ScrollState, SelectState, SpinnerState, StreamingTextState, TableState, TabsState,
14 TextInputState, TextareaState, ToastLevel, ToastState, ToolApprovalState, TreeState,
15};
16use crate::FrameState;
17use unicode_width::{UnicodeWidthChar, UnicodeWidthStr};
18
19#[allow(dead_code)]
20fn slt_assert(condition: bool, msg: &str) {
21 if !condition {
22 panic!("[SLT] {}", msg);
23 }
24}
25
26#[cfg(debug_assertions)]
27#[allow(dead_code, clippy::print_stderr)]
28fn slt_warn(msg: &str) {
29 eprintln!("[33m[SLT warning][0m {}", msg);
30}
31
32#[cfg(not(debug_assertions))]
33#[allow(dead_code)]
34fn slt_warn(_msg: &str) {}
35
36mod widgets_display;
37mod widgets_input;
38mod widgets_interactive;
39mod widgets_viz;
40
41include!("context/state.rs");
42include!("context/bars.rs");
43include!("context/widget.rs");
44include!("context/core.rs");
45include!("context/container.rs");
46include!("context/runtime.rs");
47include!("context/helpers.rs");
48
49#[cfg(test)]
50mod tests;