mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
docs
This commit is contained in:
@@ -241,7 +241,8 @@ class Color(NamedTuple):
|
||||
"""Parse a string containing a CSS-style color.
|
||||
|
||||
Args:
|
||||
color_text (str): Text with a valid color format.
|
||||
color_text (str | Color): Text with a valid color format. Color objects will
|
||||
be returned unmodified.
|
||||
|
||||
Raises:
|
||||
ColorParseError: If the color is not encoded correctly.
|
||||
|
||||
@@ -460,6 +460,7 @@ class StylesBuilder:
|
||||
)
|
||||
|
||||
def process_color(self, name: str, tokens: list[Token], important: bool) -> None:
|
||||
"""Processes a simple color declaration."""
|
||||
name = name.replace("-", "_")
|
||||
for token in tokens:
|
||||
if token.name in ("color", "token"):
|
||||
@@ -474,40 +475,13 @@ class StylesBuilder:
|
||||
name, token, f"unexpected token {token.value!r} in declaration"
|
||||
)
|
||||
|
||||
def process_background(
|
||||
self, name: str, tokens: list[Token], important: bool
|
||||
) -> None:
|
||||
self.process_color(name, tokens, important)
|
||||
|
||||
def process_scrollbar_color(
|
||||
self, name: str, tokens: list[Token], important: bool
|
||||
) -> None:
|
||||
self.process_color(name, tokens, important)
|
||||
|
||||
def process_scrollbar_color_hover(
|
||||
self, name: str, tokens: list[Token], important: bool
|
||||
) -> None:
|
||||
self.process_color(name, tokens, important)
|
||||
|
||||
def process_scrollbar_color_active(
|
||||
self, name: str, tokens: list[Token], important: bool
|
||||
) -> None:
|
||||
self.process_color(name, tokens, important)
|
||||
|
||||
def process_scrollbar_background(
|
||||
self, name: str, tokens: list[Token], important: bool
|
||||
) -> None:
|
||||
self.process_color(name, tokens, important)
|
||||
|
||||
def process_scrollbar_background_hover(
|
||||
self, name: str, tokens: list[Token], important: bool
|
||||
) -> None:
|
||||
self.process_color(name, tokens, important)
|
||||
|
||||
def process_scrollbar_background_active(
|
||||
self, name: str, tokens: list[Token], important: bool
|
||||
) -> None:
|
||||
self.process_color(name, tokens, important)
|
||||
process_background = process_color
|
||||
process_scrollbar_color = process_color
|
||||
process_scrollbar_color_hover = process_color
|
||||
process_scrollbar_color_active = process_color
|
||||
process_scrollbar_background = process_color
|
||||
process_scrollbar_background_hover = process_color
|
||||
process_scrollbar_background_active = process_color
|
||||
|
||||
def process_text_style(
|
||||
self, name: str, tokens: list[Token], important: bool
|
||||
|
||||
@@ -108,6 +108,12 @@ def test_color_parse(text, expected):
|
||||
assert Color.parse(text) == expected
|
||||
|
||||
|
||||
def test_color_parse_color():
|
||||
# as a convenience, if Color.parse is passed a color object, it will return it
|
||||
color = Color(20, 30, 40, 0.5)
|
||||
assert Color.parse(color) is color
|
||||
|
||||
|
||||
def test_color_add():
|
||||
assert Color(50, 100, 200) + Color(10, 20, 30, 0.9) == Color(14, 28, 47)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user