1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! Text input component for Bubble Tea applications.
//!
//! Package textinput provides a text input component for Bubble Tea applications.
//! It closely matches the Go bubbles textinput component API for 1-1 compatibility.
//!
//! # Basic Usage
//!
//! ```rust
//! use bubbletea_widgets::textinput::{new, Model};
//! use bubbletea_rs::{Model as BubbleTeaModel, Msg, Cmd};
//!
//! // Create a text input with default settings
//! let mut input = new();
//! input.focus();
//!
//! // Set placeholder, width, and other options
//! input.set_placeholder("Enter your name...");
//! input.set_width(30);
//! ```
//!
//! # Echo Modes
//!
//! ```rust
//! use bubbletea_widgets::textinput::{new, EchoMode};
//!
//! let mut input = new();
//! input.set_echo_mode(EchoMode::EchoPassword); // Hide text with asterisks
//! ```
//!
//! # Key Bindings
//!
//! The component uses the key system for handling keyboard input with customizable bindings.
//!
//! # Testing
//!
//! This module includes comprehensive tests that match the Go implementation exactly.
//! Run tests with: `cargo test textinput` to verify 1-1 compatibility.
// Re-export main types and functions for public API
pub use ;
pub use ;
pub use ;