# rustubble Beautifull components for your terminal. [![Rust](https://github.com/warpy-ai/rustubble/actions/workflows/rust.yml/badge.svg?branch=main)](https://github.com/warpy-ai/rustubble/actions/workflows/rust.yml) # Motive This project aims to provide a set of components that can be used in your terminal applications. # Components - [TextInput Component](#textinput-component) - [TextArea Component](#textarea-component) - [Spinner Component](#spinner-component) - [Table Component](#table-component) - [Progress bar Component](#progress-bar-component) - [Timer Component](#timer-component) - [Stopwatch Component](#stopwatch-component) - [Viewport Component](#viewport-component) - [List Component](#list-component) - [MenuList Component](#menulist-component) # TextInput Component ![textInput](https://github.com/warpy-ai/rustubble/blob/main/assets/input.png) The `TextInput` component is a versatile and customizable input field designed for terminal-based applications using Rust. It supports Unicode, dynamic input handling, and comes with a variety of customization options to enhance user interaction. ## Features - **Unicode Support**: Handles Unicode input seamlessly. - **Dynamic Input Handling**: Supports real-time input processing including pasting and deletion. - **Customization**: Allows setting up padding, placeholder, initial text, and helper text. - **Cursor Management**: Manages cursor positioning and ensures it is always placed correctly based on user interaction. ## Usage - [Example Code](https://github.com/warpy-ai/rustubble/blob/main/examples/text_input_example.rs) # TextArea Component ![textArea](https://github.com/warpy-ai/rustubble/blob/main/assets/textarea.gif) A text area field, akin to an