diff --git a/reflex/components/el/elements/media.py b/reflex/components/el/elements/media.py
index 7052335320..9935902ad1 100644
--- a/reflex/components/el/elements/media.py
+++ b/reflex/components/el/elements/media.py
@@ -317,6 +317,42 @@ class Svg(BaseHTML):
xmlns: Var[str]
+class Text(BaseHTML):
+ """The SVG text component."""
+
+ tag = "text"
+ # The x coordinate of the starting point of the text baseline.
+ x: Var[Union[str, int]]
+ # The y coordinate of the starting point of the text baseline.
+ y: Var[Union[str, int]]
+ # Shifts the text position horizontally from a previous text element.
+ dx: Var[Union[str, int]]
+ # Shifts the text position vertically from a previous text element.
+ dy: Var[Union[str, int]]
+ # Rotates orientation of each individual glyph.
+ rotate: Var[Union[str, int]]
+ # How the text is stretched or compressed to fit the width defined by the text_length attribute.
+ length_adjust: Var[str]
+ # A width that the text should be scaled to fit.
+ text_length: Var[Union[str, int]]
+
+
+class Line(BaseHTML):
+ """The SVG line component."""
+
+ tag = "line"
+ # The x-axis coordinate of the line starting point.
+ x1: Var[Union[str, int]]
+ # The x-axis coordinate of the the line ending point.
+ x2: Var[Union[str, int]]
+ # The y-axis coordinate of the line starting point.
+ y1: Var[Union[str, int]]
+ # The y-axis coordinate of the the line ending point.
+ y2: Var[Union[str, int]]
+ # The total path length, in user units.
+ path_length: Var[int]
+
+
class Circle(BaseHTML):
"""The SVG circle component."""
@@ -331,6 +367,22 @@ class Circle(BaseHTML):
path_length: Var[int]
+class Ellipse(BaseHTML):
+ """The SVG ellipse component."""
+
+ tag = "ellipse"
+ # The x position of the center of the ellipse.
+ cx: Var[Union[str, int]]
+ # The y position of the center of the ellipse.
+ cy: Var[Union[str, int]]
+ # The radius of the ellipse on the x axis.
+ rx: Var[Union[str, int]]
+ # The radius of the ellipse on the y axis.
+ ry: Var[Union[str, int]]
+ # The total length for the ellipse's circumference, in user units.
+ path_length: Var[int]
+
+
class Rect(BaseHTML):
"""The SVG rect component."""
@@ -394,6 +446,39 @@ class LinearGradient(BaseHTML):
y2: Var[Union[str, int, bool]]
+class RadialGradient(BaseHTML):
+ """Display the radialGradient element."""
+
+ tag = "radialGradient"
+
+ # The x coordinate of the end circle of the radial gradient.
+ cx: Var[Union[str, int, bool]]
+
+ # The y coordinate of the end circle of the radial gradient.
+ cy: Var[Union[str, int, bool]]
+
+ # The radius of the start circle of the radial gradient.
+ fr: Var[Union[str, int, bool]]
+
+ # The x coordinate of the start circle of the radial gradient.
+ fx: Var[Union[str, int, bool]]
+
+ # The y coordinate of the start circle of the radial gradient.
+ fy: Var[Union[str, int, bool]]
+
+ # Units for the gradient.
+ gradient_units: Var[Union[str, bool]]
+
+ # Transform applied to the gradient.
+ gradient_transform: Var[Union[str, bool]]
+
+ # The radius of the end circle of the radial gradient.
+ r: Var[Union[str, int, bool]]
+
+ # Method used to spread the gradient.
+ spread_method: Var[Union[str, bool]]
+
+
class Stop(BaseHTML):
"""Display the stop element."""
@@ -421,12 +506,16 @@ class Path(BaseHTML):
class SVG(ComponentNamespace):
"""SVG component namespace."""
+ text = staticmethod(Text.create)
+ line = staticmethod(Line.create)
circle = staticmethod(Circle.create)
+ ellipse = staticmethod(Ellipse.create)
rect = staticmethod(Rect.create)
polygon = staticmethod(Polygon.create)
path = staticmethod(Path.create)
stop = staticmethod(Stop.create)
linear_gradient = staticmethod(LinearGradient.create)
+ radial_gradient = staticmethod(RadialGradient.create)
defs = staticmethod(Defs.create)
__call__ = staticmethod(Svg.create)
diff --git a/reflex/components/el/elements/media.pyi b/reflex/components/el/elements/media.pyi
index 6d05fe69f4..336d6fbb9a 100644
--- a/reflex/components/el/elements/media.pyi
+++ b/reflex/components/el/elements/media.pyi
@@ -1550,6 +1550,242 @@ class Svg(BaseHTML):
"""
...
+class Text(BaseHTML):
+ @overload
+ @classmethod
+ def create( # type: ignore
+ cls,
+ *children,
+ x: Optional[Union[Var[Union[int, str]], int, str]] = None,
+ y: Optional[Union[Var[Union[int, str]], int, str]] = None,
+ dx: Optional[Union[Var[Union[int, str]], int, str]] = None,
+ dy: Optional[Union[Var[Union[int, str]], int, str]] = None,
+ rotate: Optional[Union[Var[Union[int, str]], int, str]] = None,
+ length_adjust: Optional[Union[Var[str], str]] = None,
+ text_length: Optional[Union[Var[Union[int, str]], int, str]] = None,
+ access_key: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ auto_capitalize: Optional[
+ Union[Var[Union[bool, int, str]], bool, int, str]
+ ] = None,
+ content_editable: Optional[
+ Union[Var[Union[bool, int, str]], bool, int, str]
+ ] = None,
+ context_menu: Optional[
+ Union[Var[Union[bool, int, str]], bool, int, str]
+ ] = None,
+ dir: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ draggable: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ enter_key_hint: Optional[
+ Union[Var[Union[bool, int, str]], bool, int, str]
+ ] = None,
+ hidden: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ input_mode: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ item_prop: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ lang: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ role: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ slot: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ spell_check: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ tab_index: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ title: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
+ style: Optional[Style] = None,
+ key: Optional[Any] = None,
+ id: Optional[Any] = None,
+ class_name: Optional[Any] = None,
+ autofocus: Optional[bool] = None,
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
+ on_context_menu: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_double_click: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
+ on_mouse_down: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_mouse_enter: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_mouse_leave: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_mouse_move: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_mouse_out: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_mouse_over: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_mouse_up: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
+ on_unmount: Optional[
+ Union[EventHandler, EventSpec, list, Callable, Var]
+ ] = None,
+ **props,
+ ) -> "Text":
+ """Create the component.
+
+ Args:
+ *children: The children of the component.
+ x: The x coordinate of the starting point of the text baseline.
+ y: The y coordinate of the starting point of the text baseline.
+ dx: Shifts the text position horizontally from a previous text element.
+ dy: Shifts the text position vertically from a previous text element.
+ rotate: Rotates orientation of each individual glyph.
+ length_adjust: How the text is stretched or compressed to fit the width defined by the text_length attribute.
+ text_length: A width that the text should be scaled to fit.
+ access_key: Provides a hint for generating a keyboard shortcut for the current element.
+ auto_capitalize: Controls whether and how text input is automatically capitalized as it is entered/edited by the user.
+ content_editable: Indicates whether the element's content is editable.
+ context_menu: Defines the ID of a