use ratatui::layout::{Constraint, Direction, Layout, Rect};
pub fn vstack(area: Rect, constraints: &[Constraint]) -> Vec<Rect> {
Layout::default()
.direction(Direction::Vertical)
.constraints(constraints)
.split(area)
.to_vec()
}
pub fn hstack(area: Rect, constraints: &[Constraint]) -> Vec<Rect> {
Layout::default()
.direction(Direction::Horizontal)
.constraints(constraints)
.split(area)
.to_vec()
}
pub fn centered(area: Rect, width: u16, height: u16) -> Rect {
let x = area.x + (area.width.saturating_sub(width)) / 2;
let y = area.y + (area.height.saturating_sub(height)) / 2;
Rect::new(x, y, width.min(area.width), height.min(area.height))
}
pub fn with_margin(area: Rect, margin: u16) -> Rect {
Rect::new(
area.x + margin,
area.y + margin,
area.width.saturating_sub(margin * 2),
area.height.saturating_sub(margin * 2),
)
}