docs/widgets/Button

This commit is contained in:
Darren Burns
2022-09-14 14:36:20 +01:00
parent bc229b4ee6
commit 29b6c9a2e3
3 changed files with 80 additions and 0 deletions

View File

@@ -1 +1,58 @@
# Button
## Description
A simple button widget which can be pressed using a mouse click or by pressing ++return++
when it has focus.
- [x] Focusable
- [ ] Container
## Example
Clicking any of the buttons in the example app below will result in a ring of the terminal bell.
=== "Output"
```{.textual path="docs/examples/widgets/button.py"}
```
=== "button.py"
```python
--8<-- "docs/examples/widgets/button.py"
```
=== "button.css"
```css
--8<-- "docs/examples/widgets/button.css"
```
## Reactive Attributes
| Name | Type | Default | Description |
|------------|--------|-------------|------------------------------------------------------------------------------------------------------------------------|
| `label` | `str` | `""` | The text that appears inside the button. |
| `variant` | `str` | `"default"` | Semantic styling variant. One of `default`, `primary`, `success`, `warning`, `error`. |
| `disabled` | `bool` | `False` | Whether the button is disabled or not. Disabled buttons cannot be clicked, and are styled in a way that suggests this. |
## Events
### Pressed
The `Button.Pressed` event is sent when the button is pressed.
- [x] Bubbles
#### Attributes
_No other attributes_
## Additional Notes
* The spacing between the text and the edges of a button are due to border, _not_ padding. To create a button with zero visible padding, use the `border: none;` declaration.
## See Also
* [Button](../reference/button.md) code reference