ai-station/.venv/lib/python3.12/site-packages/textual/widgets/_welcome.py

60 lines
1.5 KiB
Python

"""Provides a Textual welcome widget."""
from rich.markdown import Markdown
from textual.app import ComposeResult
from textual.containers import Container
from textual.widgets._button import Button
from textual.widgets._static import Static
WELCOME_MD = """\
# Welcome!
Textual is a TUI, or *Text User Interface*, framework for Python inspired by modern web development. **We hope you enjoy using Textual!**
## Dune quote
> "I must not fear.
Fear is the mind-killer.
Fear is the little-death that brings total obliteration.
I will face my fear.
I will permit it to pass over me and through me.
And when it has gone past, I will turn the inner eye to see its path.
Where the fear has gone there will be nothing. Only I will remain."
"""
class Welcome(Static):
"""A Textual welcome widget.
This widget can be used as a form of placeholder within a Textual
application; although also see
[Placeholder][textual.widgets._placeholder.Placeholder].
"""
DEFAULT_CSS = """
Welcome {
width: 100%;
height: 100%;
background: $surface;
}
Welcome Container {
padding: 1;
color: $foreground;
}
Welcome #text {
margin: 0 1;
}
Welcome #close {
dock: bottom;
width: 100%;
}
"""
def compose(self) -> ComposeResult:
yield Container(Static(Markdown(WELCOME_MD), id="text"), id="md")
yield Button("OK", id="close", variant="success")