base.py 904 B

1234567891011121314151617181920212223242526272829303132
  1. """The base component for Radix primitives."""
  2. from typing import List
  3. from reflex.components.component import Component
  4. from reflex.components.tags.tag import Tag
  5. from reflex.utils import format
  6. from reflex.vars.base import Var
  7. class RadixPrimitiveComponent(Component):
  8. """Basic component for radix Primitives."""
  9. # Change the default rendered element for the one passed as a child.
  10. as_child: Var[bool]
  11. lib_dependencies: List[str] = ["@emotion/react@^11.11.1"]
  12. class RadixPrimitiveComponentWithClassName(RadixPrimitiveComponent):
  13. """Basic component for radix Primitives with a class name prop."""
  14. def _render(self) -> Tag:
  15. return (
  16. super()
  17. ._render()
  18. .add_props(
  19. **{
  20. "class_name": f"{format.to_title_case(self.tag or '')} {self.class_name or ''}",
  21. }
  22. )
  23. )