1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- """Components for rendering text.
- https://www.radix-ui.com/themes/docs/theme/typography
- """
- from __future__ import annotations
- from typing import Literal
- from reflex import el
- from reflex.vars import Var
- from ..base import (
- LiteralAccentColor,
- RadixThemesComponent,
- )
- from .base import (
- LiteralTextAlign,
- LiteralTextSize,
- LiteralTextTrim,
- LiteralTextWeight,
- )
- LiteralType = Literal["p", "label", "div", "span"]
- class Text(el.Span, RadixThemesComponent):
- """A foundational text primitive based on the <span> element."""
- tag = "Text"
- # Change the default rendered element for the one passed as a child, merging their props and behavior.
- as_child: Var[bool]
- # Change the default rendered element into a semantically appropriate alternative (cannot be used with asChild)
- as_: Var[LiteralType] = "p" # type: ignore
- # Text size: "1" - "9"
- size: Var[LiteralTextSize]
- # Thickness of text: "light" | "regular" | "medium" | "bold"
- weight: Var[LiteralTextWeight]
- # Alignment of text in element: "left" | "center" | "right"
- align: Var[LiteralTextAlign]
- # Removes the leading trim space: "normal" | "start" | "end" | "both"
- trim: Var[LiteralTextTrim]
- # Overrides the accent color inherited from the Theme.
- color_scheme: Var[LiteralAccentColor]
- # Whether to render the text with higher contrast color
- high_contrast: Var[bool]
|