mod fiber;
pub mod fiber_tree;
pub mod render_context;
pub mod element;
pub mod event;
pub mod global_events;
pub mod panic_handler;
mod component;
pub mod context_stack;
pub mod hooks;
pub mod scheduler;
mod runtime;
mod strict_mode;
pub mod components;
pub use component::{Component, ComponentArea, reset_component_position_counter};
pub use context_stack::ContextStack;
pub use element::{Element, RenderableComponent};
pub use event::{
clear_current_event, get_current_event, peek_current_event, set_current_event,
stop_event_propagation,
};
pub use fiber::{
AsyncCleanupFn, AsyncEffectFn, AsyncEffectFuture, AsyncPendingEffect, CleanupFn, Fiber,
FiberId, PendingEffect,
};
pub use fiber_tree::FiberTree;
pub use global_events::{clear_global_handlers, on_global_event, process_global_event};
pub use panic_handler::setup_panic_handler;
pub use render_context::{
RenderContext, clear_render_context, init_render_context, is_render_context_initialized,
with_render_context, with_render_context_mut,
};
pub use runtime::{
RenderOptions, is_in_render_phase, render, render_with_options, request_exit, reset_exit,
should_exit, warn_if_effect_during_render,
};
pub use strict_mode::{StrictMode, is_strict_mode_enabled, set_strict_mode_enabled};
pub use crossterm::event::{Event, KeyCode, KeyEvent, KeyEventKind, KeyModifiers};
pub use ratatui;
pub use ratatui::{
buffer::Buffer,
layout::{Alignment, Constraint, Direction, Layout, Rect},
style::{Color, Modifier, Style, Stylize},
text::{Line, Span, Text},
widgets::{Block, Borders, Padding, Paragraph, Widget, Wrap},
};
pub mod prelude {
pub use crate::component::{Component, ComponentArea};
pub use crate::context_stack::ContextStack;
pub use crate::element::{Element, RenderableComponent};
pub use crate::fiber::{Fiber, FiberId};
pub use crate::fiber_tree::FiberTree;
pub use crate::render_context::{
RenderContext, clear_render_context, init_render_context, is_render_context_initialized,
with_render_context, with_render_context_mut,
};
pub use crate::runtime::{
RenderOptions, is_in_render_phase, render, render_with_options, request_exit, should_exit,
};
pub use crate::strict_mode::{StrictMode, is_strict_mode_enabled, set_strict_mode_enabled};
pub use crate::hooks::{
Dispatch, EffectEvent, HistoryHandle, IntervalHandle, Ref, ScrollHandle, StateSetter,
TimeoutHandle, peek_event, stop_propagation, try_use_context, use_async_effect,
use_async_effect_once, use_callback, use_context, use_context_provider, use_effect,
use_effect_event, use_effect_once, use_event, use_history, use_id, use_interval, use_memo,
use_reducer, use_ref, use_scroll, use_scroll_keyboard, use_state, use_timeout,
};
pub use crate::components::{ScrollIndicator, ScrollView, ScrollViewProps};
pub use crossterm::event::{Event, KeyCode, KeyEvent, KeyEventKind, KeyModifiers};
pub use ratatui::{
self,
buffer::Buffer,
layout::{Alignment, Constraint, Direction, Layout, Rect},
style::{Color, Modifier, Style, Stylize},
text::{Line, Span, Text},
widgets::{Block, Borders, Padding, Paragraph, Widget, Wrap},
};
}