Skip to main content

Module scrollable_content

Module scrollable_content 

Source
Expand description

Scrollable content component

A scrollable text pane with focus support, keyboard navigation, and mouse scrolling. Ideal for displaying log output, help text, or any scrollable content.

§Example

use ratatui_interact::components::{
    ScrollableContent, ScrollableContentState, ScrollableContentStyle,
    handle_scrollable_content_key, handle_scrollable_content_mouse,
};
use ratatui::prelude::*;

// Create state with content
let mut state = ScrollableContentState::new(vec![
    "Line 1".to_string(),
    "Line 2".to_string(),
    "Line 3".to_string(),
]);
state.set_focused(true);

// In render:
let content = ScrollableContent::new(&state)
    .title("My Content")
    .style(ScrollableContentStyle::default());
content.render(area, buf);

// Handle events:
handle_scrollable_content_key(&mut state, &key_event, visible_height);
handle_scrollable_content_mouse(&mut state, &mouse_event, content_area);

Structs§

ScrollableContent
Scrollable content widget
ScrollableContentState
State for the ScrollableContent component
ScrollableContentStyle
Style configuration for ScrollableContent

Enums§

ScrollableContentAction
Actions that can result from scrollable content interaction

Functions§

handle_scrollable_content_key
Handle keyboard input for scrollable content
handle_scrollable_content_mouse
Handle mouse input for scrollable content