ratatui_interact/components/
mod.rs1pub mod accordion;
48pub mod animated_text;
49pub mod breadcrumb;
50pub mod button;
51pub mod checkbox;
52pub mod container;
53pub mod context_menu;
54pub mod diff_viewer;
55pub mod file_explorer;
56pub mod hotkey_dialog;
57pub mod input;
58pub mod list_picker;
59pub mod log_viewer;
60pub mod marquee;
61pub mod menu_bar;
62pub mod mouse_pointer;
63pub mod paragraph_ext;
64pub mod progress;
65pub mod scrollable_content;
66pub mod select;
67pub mod spinner;
68pub mod split_pane;
69pub mod step_display;
70pub mod tab_view;
71pub mod textarea;
72pub mod toast;
73pub mod tree_view;
74
75pub use accordion::{
76 Accordion, AccordionMode, AccordionState, AccordionStyle, calculate_height as accordion_height,
77 handle_accordion_key, handle_accordion_mouse,
78};
79pub use animated_text::{
80 AnimatedText, AnimatedTextEffect, AnimatedTextState, AnimatedTextStyle, WaveDirection,
81};
82pub use breadcrumb::{
83 Breadcrumb, BreadcrumbAction, BreadcrumbItem, BreadcrumbState, BreadcrumbStyle,
84 get_hovered_index as breadcrumb_hovered_index, handle_breadcrumb_key, handle_breadcrumb_mouse,
85};
86pub use button::{Button, ButtonAction, ButtonState, ButtonStyle, ButtonVariant};
87pub use checkbox::{CheckBox, CheckBoxAction, CheckBoxState, CheckBoxStyle};
88pub use container::{DialogConfig, DialogFocusTarget, DialogState, PopupDialog};
89pub use context_menu::{
90 ContextMenu, ContextMenuAction, ContextMenuItem, ContextMenuState, ContextMenuStyle,
91 calculate_menu_height, handle_context_menu_key, handle_context_menu_mouse,
92 is_context_menu_trigger,
93};
94pub use menu_bar::{
95 Menu, MenuBar, MenuBarAction, MenuBarClickTarget, MenuBarItem, MenuBarState, MenuBarStyle,
96 calculate_dropdown_height as menu_bar_dropdown_height, calculate_menu_bar_height,
97 handle_menu_bar_key, handle_menu_bar_mouse,
98};
99pub use diff_viewer::{
100 DiffData, DiffHunk, DiffLine, DiffLineType, DiffViewMode, DiffViewer, DiffViewerAction,
101 DiffViewerState, DiffViewerStyle, handle_diff_viewer_key, handle_diff_viewer_mouse,
102};
103pub use file_explorer::{EntryType, FileEntry, FileExplorer, FileExplorerState, FileExplorerStyle};
104pub use hotkey_dialog::{
105 CategoryClickRegion, HotkeyCategory, HotkeyClickRegion, HotkeyDialog, HotkeyDialogAction,
106 HotkeyDialogState, HotkeyDialogStyle, HotkeyEntryData, HotkeyFocus, HotkeyProvider,
107 handle_hotkey_dialog_key, handle_hotkey_dialog_mouse, is_close_key as hotkey_is_close_key,
108 is_navigation_key as hotkey_is_navigation_key, render_hotkey_dialog,
109};
110pub use input::{Input, InputAction, InputState, InputStyle};
111pub use list_picker::{ListPicker, ListPickerState, ListPickerStyle, key_hints_footer};
112pub use log_viewer::{LogViewer, LogViewerState, LogViewerStyle, SearchState};
113pub use marquee::{
114 MarqueeMode, MarqueeState, MarqueeStyle, MarqueeText, ScrollDir, bounce_marquee,
115 continuous_marquee,
116};
117pub use mouse_pointer::{MousePointer, MousePointerState, MousePointerStyle};
118pub use paragraph_ext::ParagraphExt;
119pub use progress::{Progress, ProgressStyle};
120pub use scrollable_content::{
121 ScrollableContent, ScrollableContentAction, ScrollableContentState, ScrollableContentStyle,
122 handle_scrollable_content_key, handle_scrollable_content_mouse,
123};
124pub use spinner::{LabelPosition, Spinner, SpinnerFrames, SpinnerState, SpinnerStyle};
125pub use select::{
126 Select, SelectAction, SelectState, SelectStyle, calculate_dropdown_height, handle_select_key,
127 handle_select_mouse,
128};
129pub use split_pane::{
130 Orientation, SplitPane, SplitPaneAction, SplitPaneState, SplitPaneStyle, handle_split_pane_key,
131 handle_split_pane_mouse,
132};
133pub use step_display::{
134 Step, StepDisplay, StepDisplayState, StepDisplayStyle, StepStatus, SubStep,
135 calculate_height as step_display_height,
136};
137pub use tab_view::{
138 Tab, TabPosition, TabView, TabViewAction, TabViewState, TabViewStyle, handle_tab_view_key,
139 handle_tab_view_mouse,
140};
141pub use textarea::{TabConfig, TextArea, TextAreaAction, TextAreaState, TextAreaStyle, WrapMode};
142pub use toast::{Toast, ToastState, ToastStyle};
143pub use tree_view::{FlatNode, TreeNode, TreeStyle, TreeView, TreeViewState, get_selected_id};