* tabs widget * click underline * color tweak * docs * docs update * expose Tab * added remove_tab and clear * fix cycling * add animation * docs * changelog * remove recompose * docstrings * Update docs/guide/actions.md Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com> * Rodrigoed the tabs * Update docs/widgets/tabs.md Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com> * Update docs/widgets/tabs.md Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com> * copy * docstrings * docstring * docstring * Apply suggestions from code review Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com> * stop click * docstring * auto assign consistent IDs * Apply suggestions from code review Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com> * Document bindings * document bindings * Apply suggestions from code review Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com> --------- Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
1.7 KiB
1.7 KiB
Input
A single-line text input widget.
- Focusable
- Container
Example
The example below shows how you might create a simple form using two Input widgets.
=== "Output"
```{.textual path="docs/examples/widgets/input.py" press="tab,D,a,r,r,e,n"}
```
=== "input.py"
```python
--8<-- "docs/examples/widgets/input.py"
```
Reactive Attributes
| Name | Type | Default | Description |
|---|---|---|---|
cursor_blink |
bool |
True |
True if cursor blinking is enabled. |
value |
str |
"" |
The value currently in the text input. |
cursor_position |
int |
0 |
The index of the cursor in the value string. |
placeholder |
str |
str |
The dimmed placeholder text to display when the input is empty. |
password |
bool |
False |
True if the input should be masked. |
Messages
::: textual.widgets.Input.Changed
::: textual.widgets.Input.Submitted
Bindings
The Input widget defines the following bindings:
::: textual.widgets.Input.BINDINGS options: show_root_heading: false show_root_toc_entry: false
Component Classes
The input widget provides the following component classes:
::: textual.widgets.Input.COMPONENT_CLASSES options: show_root_heading: false show_root_toc_entry: false
Additional Notes
- The spacing around the text content is due to border. To remove it, set
border: none;in your CSS.
See Also
- Input code reference