
Move all dependency management to the workspace level. This makes it easier to manage dependencies across multiple crates in the workspace. This also changes the versions of each dependency to track based on the semver compatible version of the dependency (e.g. 0.1 instead of 0.1.0 or 2.9 instead of 2.9.0 to avoid having to regularly update the toml files and to communicate that Ratatui will still generally work with versions of the dependencies that are not the fully latest version. The exact version of the dependencies is still tracked in the Cargo.lock file. Several dependencies that are fairly stable are changed to track a less specific version (e.g. serde 1 instead of 1.0.x). The following dependencies are updated to their latest versions: - bitflags (2.3 -> 2.9) - strum (0.26 -> 0.27) - strum_macros (0.26 -> 0.27) - all other semver compatible updates
Ratatui Widgets
ratatui-widgets contains all the widgets that were previously part of the Ratatui crate.
It is meant to be used in conjunction with ratatui
, which provides the core functionality
for building terminal user interfaces.
Most applications shouldn't need to depend directly on ratatui-widgets
, ratatui
crate
re-exports all the widgets from this crate. However, if you are building a widget library that
internally uses these widgets, or if you prefer finer grained dependencies, you may want to
depend on this crate rather than transitively through the ratatui
crate.
Previously, a crate named ratatui-widgets
was published with some formative ideas about an
eventual Ratatui framework. That crate is now move to tui-framework-experiment, pending a new
name.
Installation
Run the following command to add this crate to your project:
cargo add ratatui-widgets
Available Widgets
BarChart
: displays multiple datasets as bars with optional grouping.Block
: a basic widget that draws a block with optional borders, titles, and styles.calendar::Monthly
: displays a single month.Canvas
: draws arbitrary shapes using drawing characters.Chart
: displays multiple datasets as lines or scatter graphs.Clear
: clears the area it occupies. Useful to render over previously drawn widgets.Gauge
: displays progress percentage using block characters.LineGauge
: displays progress as a line.List
: displays a list of items and allows selection.RatatuiLogo
: displays the Ratatui logo.RatatuiMascot
: displays the Ratatui mascot.Paragraph
: displays a paragraph of optionally styled and wrapped text.Scrollbar
: displays a scrollbar.Sparkline
: displays a single dataset as a sparkline.Table
: displays multiple rows and columns in a grid and allows selection.Tabs
: displays a tab bar and allows selection.
All these widgets are re-exported directly under ratatui::widgets
in the ratatui
crate.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub. For more details on contributing, please see the CONTRIBUTING document.
License
This project is licensed under the MIT License. See the LICENSE file for details.