#![warn(missing_docs)]
pub use ratatui_core::widgets::{StatefulWidget, Widget};
pub use ratatui_widgets::block;
#[cfg(feature = "widget-calendar")]
pub use ratatui_widgets::calendar;
pub use ratatui_widgets::{
barchart::{Bar, BarChart, BarGroup},
block::{Block, Padding},
borders::{BorderType, Borders},
canvas,
chart::{Axis, Chart, Dataset, GraphType, LegendPosition},
clear::Clear,
gauge::{Gauge, LineGauge},
list::{List, ListDirection, ListItem, ListState},
logo::{RatatuiLogo, Size as RatatuiLogoSize},
mascot::{MascotEyeColor, RatatuiMascot},
paragraph::{Paragraph, Wrap},
scrollbar::{ScrollDirection, Scrollbar, ScrollbarOrientation, ScrollbarState},
sparkline::{RenderDirection, Sparkline, SparklineBar},
table::{Cell, HighlightSpacing, Row, Table, TableState},
tabs::Tabs,
};
#[instability::unstable(feature = "widget-ref")]
pub use {stateful_widget_ref::StatefulWidgetRef, widget_ref::WidgetRef};
mod stateful_widget_ref;
mod widget_ref;
use ratatui_core::layout::Rect;
#[instability::unstable(feature = "widget-ref")]
pub trait FrameExt {
#[allow(clippy::needless_pass_by_value)]
fn render_widget_ref<W: WidgetRef>(&mut self, widget: W, area: Rect);
#[allow(clippy::needless_pass_by_value)]
fn render_stateful_widget_ref<W>(&mut self, widget: W, area: Rect, state: &mut W::State)
where
W: StatefulWidgetRef;
}
#[cfg(feature = "unstable-widget-ref")]
impl FrameExt for ratatui_core::terminal::Frame<'_> {
#[allow(clippy::needless_pass_by_value)]
fn render_widget_ref<W: WidgetRef>(&mut self, widget: W, area: Rect) {
widget.render_ref(area, self.buffer_mut());
}
#[allow(clippy::needless_pass_by_value)]
fn render_stateful_widget_ref<W>(&mut self, widget: W, area: Rect, state: &mut W::State)
where
W: StatefulWidgetRef,
{
widget.render_ref(area, self.buffer_mut(), state);
}
}