# Widgets

Reference documentation for Textual's built-in widgets. See also the [Widget Gallery](../widget_gallery.md) for an overview, or the [Widgets guide](../guide/widgets.md) for how to build your own.

## Contents

| Page                                     | Description                                                                  |
|------------------------------------------|------------------------------------------------------------------------------|
| [Button](button.md)                      | A simple button with a variety of semantic styles                            |
| [Checkbox](checkbox.md)                  | A classic checkbox control                                                   |
| [Collapsible](collapsible.md)            | Content that may be toggled on and off by clicking a title                   |
| [ContentSwitcher](content_switcher.md)   | A widget for containing and switching display between multiple child widgets |
| [DataTable](data_table.md)               | A powerful data table with configurable cursors                              |
| [Digits](digits.md)                      | Display numbers in tall characters                                           |
| [DirectoryTree](directory_tree.md)       | A tree view of files and folders                                             |
| [Footer](footer.md)                      | A footer to display and interact with key bindings                           |
| [Header](header.md)                      | A header to display the app's title and subtitle                             |
| [Input](input.md)                        | A control to enter text                                                      |
| [Label](label.md)                        | A simple text label                                                          |
| [Link](link.md)                          | A clickable link that opens a URL                                            |
| [ListItem](list_item.md)                 | An item within a ListView                                                    |
| [ListView](list_view.md)                 | Display a list of items (items may be other widgets)                         |
| [LoadingIndicator](loading_indicator.md) | Display an animation while data is loading                                   |
| [Log](log.md)                            | Display and update lines of text (such as from a file)                       |
| [Markdown](markdown.md)                  | Display a Markdown document                                                  |
| [MarkdownViewer](markdown_viewer.md)     | Display and interact with a Markdown document with navigation                |
| [MaskedInput](masked_input.md)           | A control to enter input according to a template mask                        |
| [OptionList](option_list.md)             | Display a vertical list of options                                           |
| [Placeholder](placeholder.md)            | Display placeholder content while designing a UI                             |
| [Pretty](pretty.md)                      | Display a pretty-formatted Rich renderable                                   |
| [ProgressBar](progress_bar.md)           | A configurable progress bar with ETA and percentage complete                 |
| [RadioButton](radiobutton.md)            | A simple radio button                                                        |
| [RadioSet](radioset.md)                  | A collection of radio buttons that enforces uniqueness                       |
| [RichLog](rich_log.md)                   | Display and update text in a scrolling panel                                 |
| [Rule](rule.md)                          | A rule widget to separate content, similar to an HTML `<hr>` tag             |
| [Select](select.md)                      | Select from a number of possible options                                     |
| [SelectionList](selection_list.md)       | Select multiple values from a list of options                                |
| [Sparkline](sparkline.md)                | Display numerical data as a sparkline                                        |
| [Static](static.md)                      | Displays simple static content; typically used as a base class               |
| [Switch](switch.md)                      | An on/off control, inspired by toggle buttons                                |
| [TabbedContent](tabbed_content.md)       | A combination of Tabs and ContentSwitcher to navigate static content         |
| [Tabs](tabs.md)                          | A row of tabs you can select with the mouse or navigate with keys            |
| [TextArea](text_area.md)                 | A multi-line text area with syntax highlighting                              |
| [Toast](toast.md)                        | A notification message widget used by the built-in notify system             |
| [Tree](tree.md)                          | A tree control with expandable nodes                                         |
