Merge remote-tracking branch 'upstream/main' into redis-prefix

This commit is contained in:
Benedikt Bartscher 2024-11-07 20:26:52 +01:00
commit e4d1790e6b
No known key found for this signature in database
90 changed files with 800 additions and 523 deletions

14
poetry.lock generated
View File

@ -54,13 +54,13 @@ trio = ["trio (>=0.26.1)"]
[[package]]
name = "async-timeout"
version = "5.0.0"
version = "5.0.1"
description = "Timeout context manager for asyncio programs"
optional = false
python-versions = ">=3.8"
files = [
{file = "async_timeout-5.0.0-py3-none-any.whl", hash = "sha256:904719a4bd6e0520047d0ddae220aabee67b877f7ca17bf8cea20f67f6247ae0"},
{file = "async_timeout-5.0.0.tar.gz", hash = "sha256:49675ec889daacfe65ff66d2dde7dd1447a6f4b2f23721022e4ba121f8772a85"},
{file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"},
{file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"},
]
[[package]]
@ -2198,13 +2198,13 @@ reflex = ">=0.6.0a"
[[package]]
name = "reflex-hosting-cli"
version = "0.1.13"
version = "0.1.14"
description = "Reflex Hosting CLI"
optional = false
python-versions = "<4.0,>=3.8"
files = [
{file = "reflex_hosting_cli-0.1.13-py3-none-any.whl", hash = "sha256:5bfec7f3d7ce4bbd703989f086494e586a641ef37c9e60e60fb82bdfb07ff227"},
{file = "reflex_hosting_cli-0.1.13.tar.gz", hash = "sha256:c5d6afdcfeb74cee046a374ddbd59116ab8ed797dae688fcc744dabae24dc571"},
{file = "reflex_hosting_cli-0.1.14-py3-none-any.whl", hash = "sha256:b38676a39708511801bd666e5a9788d8eb4aeb6f9196bea77a8c4c6a6c06492f"},
{file = "reflex_hosting_cli-0.1.14.tar.gz", hash = "sha256:8c7721b87dd2ce22db110d905ee01e78e5185f0e6dd521752f70aef6cf17b39f"},
]
[package.dependencies]
@ -3050,4 +3050,4 @@ type = ["pytest-mypy"]
[metadata]
lock-version = "2.0"
python-versions = "^3.9"
content-hash = "664c8d3c78923d39d1d59227cb43416228ac396a7004344c058377886421c086"
content-hash = "fe91a9b22081a48be519ed3789e40904bd358a05fd6da912566592aa8d382f31"

View File

@ -49,7 +49,7 @@ wrapt = [
{version = ">=1.11.0,<2.0", python = "<3.11"},
]
packaging = ">=23.1,<25.0"
reflex-hosting-cli = ">=0.1.2,<2.0"
reflex-hosting-cli = ">=0.1.4,<2.0"
charset-normalizer = ">=3.3.2,<4.0"
wheel = ">=0.42.0,<1.0"
build = ">=1.0.3,<2.0"
@ -91,6 +91,7 @@ build-backend = "poetry.core.masonry.api"
[tool.ruff]
target-version = "py39"
lint.isort.split-on-trailing-comma = false
lint.select = ["B", "D", "E", "F", "I", "SIM", "W"]
lint.ignore = ["B008", "D205", "E501", "F403", "SIM115"]
lint.pydocstyle.convention = "google"

View File

@ -238,7 +238,10 @@ export const applyEvent = async (event, socket) => {
return false;
}
if (event.name == "_call_function") {
if (
event.name == "_call_function" &&
typeof event.payload.function !== "string"
) {
try {
const eval_result = event.payload.function();
if (event.payload.callback) {
@ -257,9 +260,13 @@ export const applyEvent = async (event, socket) => {
return false;
}
if (event.name == "_call_script") {
if (event.name == "_call_script" || event.name == "_call_function") {
try {
const eval_result = eval(event.payload.javascript_code);
const eval_result =
event.name == "_call_script"
? eval(event.payload.javascript_code)
: eval(event.payload.function)();
if (event.payload.callback) {
if (!!eval_result && typeof eval_result.then === "function") {
eval(event.payload.callback)(await eval_result);

View File

@ -48,10 +48,7 @@ from reflex.admin import AdminDash
from reflex.app_mixins import AppMixin, LifespanMixin, MiddlewareMixin
from reflex.compiler import compiler
from reflex.compiler import utils as compiler_utils
from reflex.compiler.compiler import (
ExecutorSafeFunctions,
compile_theme,
)
from reflex.compiler.compiler import ExecutorSafeFunctions, compile_theme
from reflex.components.base.app_wrap import AppWrap
from reflex.components.base.error_boundary import ErrorBoundary
from reflex.components.base.fragment import Fragment
@ -79,9 +76,7 @@ from reflex.event import (
window_alert,
)
from reflex.model import Model, get_db_status
from reflex.page import (
DECORATED_PAGES,
)
from reflex.page import DECORATED_PAGES
from reflex.route import (
get_route_args,
replace_brackets_with_keywords,

View File

@ -32,7 +32,13 @@ class ErrorBoundary(Component):
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_error: Optional[EventType[[str, str], BASE_STATE]] = None,
on_error: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, str], BASE_STATE],
]
] = None,
on_focus: Optional[EventType[[], BASE_STATE]] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -6,10 +6,7 @@
from typing import Any, Dict, List, Optional, Union, overload
from reflex.components.base.fragment import Fragment
from reflex.event import (
BASE_STATE,
EventType,
)
from reflex.event import BASE_STATE, EventType
from reflex.style import Style
from reflex.utils.imports import ImportVar
from reflex.vars.base import Var
@ -43,7 +40,12 @@ class Clipboard(Fragment):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_paste: Optional[EventType[[list[tuple[str, str]]], BASE_STATE]] = None,
on_paste: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[list[tuple[str, str]]], BASE_STATE],
]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -6,18 +6,9 @@
from pathlib import Path
from typing import Any, ClassVar, Dict, List, Optional, Union, overload
from reflex.components.component import (
Component,
ComponentNamespace,
MemoizationLeaf,
)
from reflex.components.component import Component, ComponentNamespace, MemoizationLeaf
from reflex.constants import Dirs
from reflex.event import (
BASE_STATE,
CallableEventSpec,
EventSpec,
EventType,
)
from reflex.event import BASE_STATE, CallableEventSpec, EventSpec, EventType
from reflex.style import Style
from reflex.utils.imports import ImportVar
from reflex.vars import VarData
@ -120,7 +111,9 @@ class Upload(MemoizationLeaf):
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_drop: Optional[EventType[[Any], BASE_STATE]] = None,
on_drop: Optional[
Union[EventType[[], BASE_STATE], EventType[[Any], BASE_STATE]]
] = None,
on_focus: Optional[EventType[[], BASE_STATE]] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
@ -186,7 +179,9 @@ class StyledUpload(Upload):
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_drop: Optional[EventType[[Any], BASE_STATE]] = None,
on_drop: Optional[
Union[EventType[[], BASE_STATE], EventType[[Any], BASE_STATE]]
] = None,
on_focus: Optional[EventType[[], BASE_STATE]] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
@ -252,7 +247,9 @@ class UploadNamespace(ComponentNamespace):
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_drop: Optional[EventType[[Any], BASE_STATE]] = None,
on_drop: Optional[
Union[EventType[[], BASE_STATE], EventType[[Any], BASE_STATE]]
] = None,
on_focus: Optional[EventType[[], BASE_STATE]] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -184,34 +184,80 @@ class DataEditor(NoSSRComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_cell_activated: Optional[EventType[[tuple[int, int]], BASE_STATE]] = None,
on_cell_clicked: Optional[EventType[[tuple[int, int]], BASE_STATE]] = None,
on_cell_context_menu: Optional[EventType[[tuple[int, int]], BASE_STATE]] = None,
on_cell_activated: Optional[
Union[EventType[[], BASE_STATE], EventType[[tuple[int, int]], BASE_STATE]]
] = None,
on_cell_clicked: Optional[
Union[EventType[[], BASE_STATE], EventType[[tuple[int, int]], BASE_STATE]]
] = None,
on_cell_context_menu: Optional[
Union[EventType[[], BASE_STATE], EventType[[tuple[int, int]], BASE_STATE]]
] = None,
on_cell_edited: Optional[
EventType[[tuple[int, int], GridCell], BASE_STATE]
Union[
EventType[[], BASE_STATE],
EventType[[tuple[int, int]], BASE_STATE],
EventType[[tuple[int, int], GridCell], BASE_STATE],
]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_column_resize: Optional[EventType[[GridColumn, int], BASE_STATE]] = None,
on_column_resize: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[GridColumn], BASE_STATE],
EventType[[GridColumn, int], BASE_STATE],
]
] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_delete: Optional[EventType[[GridSelection], BASE_STATE]] = None,
on_delete: Optional[
Union[EventType[[], BASE_STATE], EventType[[GridSelection], BASE_STATE]]
] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_finished_editing: Optional[
EventType[[Union[GridCell, None], tuple[int, int]], BASE_STATE]
Union[
EventType[[], BASE_STATE],
EventType[[Union[GridCell, None]], BASE_STATE],
EventType[[Union[GridCell, None], tuple[int, int]], BASE_STATE],
]
] = None,
on_focus: Optional[EventType[[], BASE_STATE]] = None,
on_group_header_clicked: Optional[
EventType[[tuple[int, int], GridCell], BASE_STATE]
Union[
EventType[[], BASE_STATE],
EventType[[tuple[int, int]], BASE_STATE],
EventType[[tuple[int, int], GridCell], BASE_STATE],
]
] = None,
on_group_header_context_menu: Optional[
EventType[[int, GroupHeaderClickedEventArgs], BASE_STATE]
Union[
EventType[[], BASE_STATE],
EventType[[int], BASE_STATE],
EventType[[int, GroupHeaderClickedEventArgs], BASE_STATE],
]
] = None,
on_group_header_renamed: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, str], BASE_STATE],
]
] = None,
on_header_clicked: Optional[
Union[EventType[[], BASE_STATE], EventType[[tuple[int, int]], BASE_STATE]]
] = None,
on_group_header_renamed: Optional[EventType[[str, str], BASE_STATE]] = None,
on_header_clicked: Optional[EventType[[tuple[int, int]], BASE_STATE]] = None,
on_header_context_menu: Optional[
EventType[[tuple[int, int]], BASE_STATE]
Union[EventType[[], BASE_STATE], EventType[[tuple[int, int]], BASE_STATE]]
] = None,
on_header_menu_click: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[int], BASE_STATE],
EventType[[int, Rectangle], BASE_STATE],
]
] = None,
on_item_hovered: Optional[
Union[EventType[[], BASE_STATE], EventType[[tuple[int, int]], BASE_STATE]]
] = None,
on_header_menu_click: Optional[EventType[[int, Rectangle], BASE_STATE]] = None,
on_item_hovered: Optional[EventType[[tuple[int, int]], BASE_STATE]] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -8,7 +8,7 @@ from typing import Any, Dict, Optional, Tuple, Union, overload
from jinja2 import Environment
from reflex.components.el.element import Element
from reflex.event import BASE_STATE, EventType
from reflex.event import BASE_STATE, EventType, KeyInputInfo
from reflex.style import Style
from reflex.utils.imports import ImportDict
from reflex.vars.base import Var
@ -340,8 +340,12 @@ class Form(BaseHTML):
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_submit: Optional[
Union[
EventType[[Dict[str, Any]], BASE_STATE],
EventType[[Dict[str, str]], BASE_STATE],
Union[
EventType[[], BASE_STATE], EventType[[Dict[str, Any]], BASE_STATE]
],
Union[
EventType[[], BASE_STATE], EventType[[Dict[str, str]], BASE_STATE]
],
]
] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
@ -470,14 +474,32 @@ class Input(BaseHTML):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_blur: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_focus: Optional[EventType[[str], BASE_STATE]] = None,
on_key_down: Optional[EventType[[str], BASE_STATE]] = None,
on_key_up: Optional[EventType[[str], BASE_STATE]] = None,
on_focus: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_key_down: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_key_up: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
@ -1252,7 +1274,9 @@ class Select(BaseHTML):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
@ -1369,14 +1393,32 @@ class Textarea(BaseHTML):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_blur: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_focus: Optional[EventType[[str], BASE_STATE]] = None,
on_key_down: Optional[EventType[[str], BASE_STATE]] = None,
on_key_up: Optional[EventType[[str], BASE_STATE]] = None,
on_focus: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_key_down: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_key_up: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -59,7 +59,9 @@ class Moment(NoSSRComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -2,12 +2,13 @@
from __future__ import annotations
from typing import Any, Dict, List
from typing import Any, Dict, List, Tuple, Union
from typing_extensions import TypedDict, TypeVar
from reflex.base import Base
from reflex.components.component import Component, NoSSRComponent
from reflex.components.core.cond import color_mode_cond
from reflex.event import EventHandler
from reflex.event import EventHandler, no_args_event_spec
from reflex.utils import console
from reflex.vars.base import LiteralVar, Var
@ -21,19 +22,7 @@ except ImportError:
Template = Any # type: ignore
def _event_data_signature(e0: Var) -> List[Any]:
"""For plotly events with event data and no points.
Args:
e0: The event data.
Returns:
The event key extracted from the event data (if defined).
"""
return [Var(_js_expr=f"{e0}?.event")]
def _event_points_data_signature(e0: Var) -> List[Any]:
def _event_points_data_signature(e0: Var) -> Tuple[Var[List[Point]]]:
"""For plotly events with event data containing a point array.
Args:
@ -42,51 +31,63 @@ def _event_points_data_signature(e0: Var) -> List[Any]:
Returns:
The event data and the extracted points.
"""
return [
Var(_js_expr=f"{e0}?.event"),
Var(_js_expr=f"extractPoints({e0}?.points)"),
return (Var(_js_expr=f"extractPoints({e0}?.points)"),)
T = TypeVar("T")
ItemOrList = Union[T, List[T]]
class BBox(TypedDict):
"""Bounding box for a point in a plotly graph."""
x0: Union[float, int, None]
x1: Union[float, int, None]
y0: Union[float, int, None]
y1: Union[float, int, None]
z0: Union[float, int, None]
z1: Union[float, int, None]
class Point(TypedDict):
"""A point in a plotly graph."""
x: Union[float, int, None]
y: Union[float, int, None]
z: Union[float, int, None]
lat: Union[float, int, None]
lon: Union[float, int, None]
curveNumber: Union[int, None]
pointNumber: Union[int, None]
pointNumbers: Union[List[int], None]
pointIndex: Union[int, None]
markerColor: Union[
ItemOrList[
ItemOrList[
Union[
float,
int,
str,
None,
]
]
],
None,
]
class _ButtonClickData(Base):
"""Event data structure for plotly UI buttons."""
menu: Any
button: Any
active: Any
def _button_click_signature(e0: _ButtonClickData) -> List[Any]:
"""For plotly button click events.
Args:
e0: The button click data.
Returns:
The menu, button, and active state.
"""
return [e0.menu, e0.button, e0.active]
def _passthrough_signature(e0: Var) -> List[Any]:
"""For plotly events with arbitrary serializable data, passed through directly.
Args:
e0: The event data.
Returns:
The event data.
"""
return [e0]
def _null_signature() -> List[Any]:
"""For plotly events with no data or non-serializable data. Nothing passed through.
Returns:
An empty list (nothing passed through).
"""
return []
markerSize: Union[
ItemOrList[
ItemOrList[
Union[
float,
int,
None,
]
]
],
None,
]
bbox: Union[BBox, None]
class Plotly(NoSSRComponent):
@ -116,49 +117,49 @@ class Plotly(NoSSRComponent):
use_resize_handler: Var[bool] = LiteralVar.create(True)
# Fired after the plot is redrawn.
on_after_plot: EventHandler[_passthrough_signature]
on_after_plot: EventHandler[no_args_event_spec]
# Fired after the plot was animated.
on_animated: EventHandler[_null_signature]
on_animated: EventHandler[no_args_event_spec]
# Fired while animating a single frame (does not currently pass data through).
on_animating_frame: EventHandler[_null_signature]
on_animating_frame: EventHandler[no_args_event_spec]
# Fired when an animation is interrupted (to start a new animation for example).
on_animation_interrupted: EventHandler[_null_signature]
on_animation_interrupted: EventHandler[no_args_event_spec]
# Fired when the plot is responsively sized.
on_autosize: EventHandler[_event_data_signature]
on_autosize: EventHandler[no_args_event_spec]
# Fired whenever mouse moves over a plot.
on_before_hover: EventHandler[_event_data_signature]
on_before_hover: EventHandler[no_args_event_spec]
# Fired when a plotly UI button is clicked.
on_button_clicked: EventHandler[_button_click_signature]
on_button_clicked: EventHandler[no_args_event_spec]
# Fired when the plot is clicked.
on_click: EventHandler[_event_points_data_signature]
# Fired when a selection is cleared (via double click).
on_deselect: EventHandler[_null_signature]
on_deselect: EventHandler[no_args_event_spec]
# Fired when the plot is double clicked.
on_double_click: EventHandler[_passthrough_signature]
on_double_click: EventHandler[no_args_event_spec]
# Fired when a plot element is hovered over.
on_hover: EventHandler[_event_points_data_signature]
# Fired after the plot is layed out (zoom, pan, etc).
on_relayout: EventHandler[_passthrough_signature]
on_relayout: EventHandler[no_args_event_spec]
# Fired while the plot is being layed out.
on_relayouting: EventHandler[_passthrough_signature]
on_relayouting: EventHandler[no_args_event_spec]
# Fired after the plot style is changed.
on_restyle: EventHandler[_passthrough_signature]
on_restyle: EventHandler[no_args_event_spec]
# Fired after the plot is redrawn.
on_redraw: EventHandler[_event_data_signature]
on_redraw: EventHandler[no_args_event_spec]
# Fired after selecting plot elements.
on_selected: EventHandler[_event_points_data_signature]
@ -167,10 +168,10 @@ class Plotly(NoSSRComponent):
on_selecting: EventHandler[_event_points_data_signature]
# Fired while an animation is occuring.
on_transitioning: EventHandler[_event_data_signature]
on_transitioning: EventHandler[no_args_event_spec]
# Fired when a transition is stopped early.
on_transition_interrupted: EventHandler[_event_data_signature]
on_transition_interrupted: EventHandler[no_args_event_spec]
# Fired when a hovered element is no longer hovered.
on_unhover: EventHandler[_event_points_data_signature]
@ -216,8 +217,8 @@ const extractPoints = (points) => {
pointNumber: point.pointNumber,
pointNumbers: point.pointNumbers,
pointIndex: point.pointIndex,
'marker.color': point['marker.color'],
'marker.size': point['marker.size'],
markerColor: point['marker.color'],
markerSize: point['marker.size'],
bbox: bbox,
})
})

View File

@ -3,9 +3,10 @@
# ------------------- DO NOT EDIT ----------------------
# This file was generated by `reflex/utils/pyi_generator.py`!
# ------------------------------------------------------
from typing import Any, Dict, Optional, Union, overload
from typing import Any, Dict, List, Optional, Union, overload
from typing_extensions import TypedDict, TypeVar
from reflex.base import Base
from reflex.components.component import NoSSRComponent
from reflex.event import BASE_STATE, EventType
from reflex.style import Style
@ -20,11 +21,30 @@ except ImportError:
console.warn("Plotly is not installed. Please run `pip install plotly`.")
Figure = Any
Template = Any
T = TypeVar("T")
ItemOrList = Union[T, List[T]]
class _ButtonClickData(Base):
menu: Any
button: Any
active: Any
class BBox(TypedDict):
x0: Union[float, int, None]
x1: Union[float, int, None]
y0: Union[float, int, None]
y1: Union[float, int, None]
z0: Union[float, int, None]
z1: Union[float, int, None]
class Point(TypedDict):
x: Union[float, int, None]
y: Union[float, int, None]
z: Union[float, int, None]
lat: Union[float, int, None]
lon: Union[float, int, None]
curveNumber: Union[int, None]
pointNumber: Union[int, None]
pointNumbers: Union[List[int], None]
pointIndex: Union[int, None]
markerColor: Union[ItemOrList[ItemOrList[Union[float, int, str, None]]], None]
markerSize: Union[ItemOrList[ItemOrList[Union[float, int, None]]], None]
bbox: Union[BBox, None]
class Plotly(NoSSRComponent):
def add_imports(self) -> dict[str, str]: ...
@ -45,20 +65,24 @@ class Plotly(NoSSRComponent):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_after_plot: Optional[EventType[..., BASE_STATE]] = None,
on_animated: Optional[EventType[..., BASE_STATE]] = None,
on_animating_frame: Optional[EventType[..., BASE_STATE]] = None,
on_animation_interrupted: Optional[EventType[..., BASE_STATE]] = None,
on_autosize: Optional[EventType[..., BASE_STATE]] = None,
on_before_hover: Optional[EventType[..., BASE_STATE]] = None,
on_after_plot: Optional[EventType[[], BASE_STATE]] = None,
on_animated: Optional[EventType[[], BASE_STATE]] = None,
on_animating_frame: Optional[EventType[[], BASE_STATE]] = None,
on_animation_interrupted: Optional[EventType[[], BASE_STATE]] = None,
on_autosize: Optional[EventType[[], BASE_STATE]] = None,
on_before_hover: Optional[EventType[[], BASE_STATE]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_button_clicked: Optional[EventType[..., BASE_STATE]] = None,
on_click: Optional[EventType[..., BASE_STATE]] = None,
on_button_clicked: Optional[EventType[[], BASE_STATE]] = None,
on_click: Optional[
Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_deselect: Optional[EventType[..., BASE_STATE]] = None,
on_double_click: Optional[EventType[..., BASE_STATE]] = None,
on_deselect: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_focus: Optional[EventType[[], BASE_STATE]] = None,
on_hover: Optional[EventType[..., BASE_STATE]] = None,
on_hover: Optional[
Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
@ -67,16 +91,22 @@ class Plotly(NoSSRComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_redraw: Optional[EventType[..., BASE_STATE]] = None,
on_relayout: Optional[EventType[..., BASE_STATE]] = None,
on_relayouting: Optional[EventType[..., BASE_STATE]] = None,
on_restyle: Optional[EventType[..., BASE_STATE]] = None,
on_redraw: Optional[EventType[[], BASE_STATE]] = None,
on_relayout: Optional[EventType[[], BASE_STATE]] = None,
on_relayouting: Optional[EventType[[], BASE_STATE]] = None,
on_restyle: Optional[EventType[[], BASE_STATE]] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_selected: Optional[EventType[..., BASE_STATE]] = None,
on_selecting: Optional[EventType[..., BASE_STATE]] = None,
on_transition_interrupted: Optional[EventType[..., BASE_STATE]] = None,
on_transitioning: Optional[EventType[..., BASE_STATE]] = None,
on_unhover: Optional[EventType[..., BASE_STATE]] = None,
on_selected: Optional[
Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
] = None,
on_selecting: Optional[
Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
] = None,
on_transition_interrupted: Optional[EventType[[], BASE_STATE]] = None,
on_transitioning: Optional[EventType[[], BASE_STATE]] = None,
on_unhover: Optional[
Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,
) -> "Plotly":

View File

@ -262,7 +262,9 @@ class AccordionRoot(AccordionComponent):
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
on_value_change: Optional[EventType[[str | List[str]], BASE_STATE]] = None,
on_value_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str | List[str]], BASE_STATE]]
] = None,
**props,
) -> "AccordionRoot":
"""Create the component.

View File

@ -91,7 +91,9 @@ class DrawerRoot(DrawerComponent):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_animation_end: Optional[EventType[[bool], BASE_STATE]] = None,
on_animation_end: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
@ -105,7 +107,9 @@ class DrawerRoot(DrawerComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,
@ -573,7 +577,9 @@ class Drawer(ComponentNamespace):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_animation_end: Optional[EventType[[bool], BASE_STATE]] = None,
on_animation_end: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
@ -587,7 +593,9 @@ class Drawer(ComponentNamespace):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -131,8 +131,12 @@ class FormRoot(FormComponent, HTMLForm):
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_submit: Optional[
Union[
EventType[[Dict[str, Any]], BASE_STATE],
EventType[[Dict[str, str]], BASE_STATE],
Union[
EventType[[], BASE_STATE], EventType[[Dict[str, Any]], BASE_STATE]
],
Union[
EventType[[], BASE_STATE], EventType[[Dict[str, str]], BASE_STATE]
],
]
] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
@ -603,8 +607,12 @@ class Form(FormRoot):
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_submit: Optional[
Union[
EventType[[Dict[str, Any]], BASE_STATE],
EventType[[Dict[str, str]], BASE_STATE],
Union[
EventType[[], BASE_STATE], EventType[[Dict[str, Any]], BASE_STATE]
],
Union[
EventType[[], BASE_STATE], EventType[[Dict[str, str]], BASE_STATE]
],
]
] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
@ -732,8 +740,12 @@ class FormNamespace(ComponentNamespace):
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_submit: Optional[
Union[
EventType[[Dict[str, Any]], BASE_STATE],
EventType[[Dict[str, str]], BASE_STATE],
Union[
EventType[[], BASE_STATE], EventType[[Dict[str, Any]], BASE_STATE]
],
Union[
EventType[[], BASE_STATE], EventType[[Dict[str, str]], BASE_STATE]
],
]
] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -109,8 +109,12 @@ class SliderRoot(SliderComponent):
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
on_value_change: Optional[EventType[[List[int]], BASE_STATE]] = None,
on_value_commit: Optional[EventType[[List[int]], BASE_STATE]] = None,
on_value_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[List[int]], BASE_STATE]]
] = None,
on_value_commit: Optional[
Union[EventType[[], BASE_STATE], EventType[[List[int]], BASE_STATE]]
] = None,
**props,
) -> "SliderRoot":
"""Create the component.

View File

@ -11,10 +11,7 @@ from reflex.components.core.cond import Cond
from reflex.components.lucide.icon import Icon
from reflex.components.radix.themes.components.switch import Switch
from reflex.event import BASE_STATE, EventType
from reflex.style import (
Style,
color_mode,
)
from reflex.style import Style, color_mode
from reflex.vars.base import Var
from .components.icon_button import IconButton
@ -395,7 +392,9 @@ class ColorModeSwitch(Switch):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -43,7 +43,9 @@ class AlertDialogRoot(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -5,11 +5,7 @@ from typing import Literal
from reflex.components.core.breakpoints import Responsive
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
LiteralRadius,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, LiteralRadius, RadixThemesComponent
LiteralSize = Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]

View File

@ -6,11 +6,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
LiteralRadius,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, LiteralRadius, RadixThemesComponent
class Badge(elements.Span, RadixThemesComponent):

View File

@ -11,10 +11,7 @@ from reflex.event import BASE_STATE, EventType
from reflex.style import Style
from reflex.vars.base import Var
from ..base import (
RadixLoadingProp,
RadixThemesComponent,
)
from ..base import RadixLoadingProp, RadixThemesComponent
LiteralButtonSize = Literal["1", "2", "3", "4"]

View File

@ -9,10 +9,7 @@ from reflex.components.el import elements
from reflex.components.lucide.icon import Icon
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, RadixThemesComponent
CalloutVariant = Literal["soft", "surface", "outline"]

View File

@ -6,9 +6,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
RadixThemesComponent,
)
from ..base import RadixThemesComponent
class Card(elements.Div, RadixThemesComponent):

View File

@ -9,11 +9,7 @@ from reflex.components.radix.themes.typography.text import Text
from reflex.event import EventHandler, passthrough_event_spec
from reflex.vars.base import LiteralVar, Var
from ..base import (
LiteralAccentColor,
LiteralSpacing,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, LiteralSpacing, RadixThemesComponent
LiteralCheckboxSize = Literal["1", "2", "3"]
LiteralCheckboxVariant = Literal["classic", "surface", "soft"]

View File

@ -116,7 +116,9 @@ class Checkbox(RadixThemesComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
@ -264,7 +266,9 @@ class HighLevelCheckbox(RadixThemesComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
@ -409,7 +413,9 @@ class CheckboxNamespace(ComponentNamespace):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -7,10 +7,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, RadixThemesComponent
LiteralDirType = Literal["ltr", "rtl"]

View File

@ -47,7 +47,9 @@ class ContextMenuRoot(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,
@ -330,7 +332,9 @@ class ContextMenuSub(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -8,10 +8,7 @@ from reflex.components.el import elements
from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
RadixThemesComponent,
RadixThemesTriggerComponent,
)
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
class DialogRoot(RadixThemesComponent):

View File

@ -41,7 +41,9 @@ class DialogRoot(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,
@ -391,7 +393,9 @@ class Dialog(ComponentNamespace):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -7,11 +7,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
RadixThemesTriggerComponent,
)
from ..base import LiteralAccentColor, RadixThemesComponent, RadixThemesTriggerComponent
LiteralDirType = Literal["ltr", "rtl"]

View File

@ -49,7 +49,9 @@ class DropdownMenuRoot(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,
@ -367,7 +369,9 @@ class DropdownMenuSub(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -8,10 +8,7 @@ from reflex.components.el import elements
from reflex.event import EventHandler, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
RadixThemesComponent,
RadixThemesTriggerComponent,
)
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
class HoverCardRoot(RadixThemesComponent):

View File

@ -43,7 +43,9 @@ class HoverCardRoot(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,
@ -286,7 +288,9 @@ class HoverCard(ComponentNamespace):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -11,10 +11,7 @@ from reflex.event import BASE_STATE, EventType
from reflex.style import Style
from reflex.vars.base import Var
from ..base import (
RadixLoadingProp,
RadixThemesComponent,
)
from ..base import RadixLoadingProp, RadixThemesComponent
LiteralButtonSize = Literal["1", "2", "3", "4"]

View File

@ -6,9 +6,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
RadixThemesComponent,
)
from ..base import RadixThemesComponent
LiteralButtonSize = Literal["1", "2", "3", "4"]

View File

@ -8,10 +8,7 @@ from reflex.components.el import elements
from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
RadixThemesComponent,
RadixThemesTriggerComponent,
)
from ..base import RadixThemesComponent, RadixThemesTriggerComponent
class PopoverRoot(RadixThemesComponent):

View File

@ -42,7 +42,9 @@ class PopoverRoot(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -177,7 +177,9 @@ class RadioCardsRoot(RadixThemesComponent):
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
on_value_change: Optional[EventType[[str], BASE_STATE]] = None,
on_value_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
**props,
) -> "RadioCardsRoot":
"""Create a new component instance.

View File

@ -14,11 +14,7 @@ from reflex.utils import types
from reflex.vars.base import LiteralVar, Var
from reflex.vars.sequence import StringVar
from ..base import (
LiteralAccentColor,
LiteralSpacing,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, LiteralSpacing, RadixThemesComponent
LiteralFlexDirection = Literal["row", "column", "row-reverse", "column-reverse"]

View File

@ -113,7 +113,9 @@ class RadioGroupRoot(RadixThemesComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -4,9 +4,7 @@ from typing import Literal
from reflex.vars.base import Var
from ..base import (
RadixThemesComponent,
)
from ..base import RadixThemesComponent
class ScrollArea(RadixThemesComponent):

View File

@ -117,7 +117,9 @@ class SegmentedControlRoot(RadixThemesComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str | List[str]], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str | List[str]], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -8,11 +8,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.event import no_args_event_spec, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
LiteralRadius,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, LiteralRadius, RadixThemesComponent
class SelectRoot(RadixThemesComponent):

View File

@ -44,7 +44,9 @@ class SelectRoot(RadixThemesComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
@ -57,7 +59,9 @@ class SelectRoot(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,
@ -685,7 +689,9 @@ class HighLevelSelect(SelectRoot):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
@ -698,7 +704,9 @@ class HighLevelSelect(SelectRoot):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,
@ -861,7 +869,9 @@ class Select(ComponentNamespace):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
@ -874,7 +884,9 @@ class Select(ComponentNamespace):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -5,10 +5,7 @@ from typing import Literal
from reflex.components.core.breakpoints import Responsive
from reflex.vars.base import LiteralVar, Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, RadixThemesComponent
LiteralSeperatorSize = Literal["1", "2", "3", "4"]

View File

@ -9,10 +9,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.event import EventHandler, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, RadixThemesComponent
on_value_event_spec = (
passthrough_event_spec(list[Union[int, float]]),

View File

@ -142,9 +142,12 @@ class Slider(RadixThemesComponent):
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[
Union[
EventType[[list[Union[int, float]]], BASE_STATE],
EventType[[list[int]], BASE_STATE],
EventType[[list[float]], BASE_STATE],
Union[
EventType[[], BASE_STATE],
EventType[[list[Union[int, float]]], BASE_STATE],
],
Union[EventType[[], BASE_STATE], EventType[[list[int]], BASE_STATE]],
Union[EventType[[], BASE_STATE], EventType[[list[float]], BASE_STATE]],
]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
@ -163,9 +166,12 @@ class Slider(RadixThemesComponent):
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
on_value_commit: Optional[
Union[
EventType[[list[Union[int, float]]], BASE_STATE],
EventType[[list[int]], BASE_STATE],
EventType[[list[float]], BASE_STATE],
Union[
EventType[[], BASE_STATE],
EventType[[list[Union[int, float]]], BASE_STATE],
],
Union[EventType[[], BASE_STATE], EventType[[list[int]], BASE_STATE]],
Union[EventType[[], BASE_STATE], EventType[[list[float]], BASE_STATE]],
]
] = None,
**props,

View File

@ -5,10 +5,7 @@ from typing import Literal
from reflex.components.core.breakpoints import Responsive
from reflex.vars.base import Var
from ..base import (
RadixLoadingProp,
RadixThemesComponent,
)
from ..base import RadixLoadingProp, RadixThemesComponent
LiteralSpinnerSize = Literal["1", "2", "3"]

View File

@ -6,10 +6,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.event import EventHandler, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, RadixThemesComponent
LiteralSwitchSize = Literal["1", "2", "3"]

View File

@ -119,7 +119,9 @@ class Switch(RadixThemesComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -7,9 +7,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
RadixThemesComponent,
)
from ..base import RadixThemesComponent
class TableRoot(elements.Table, RadixThemesComponent):

View File

@ -10,10 +10,7 @@ from reflex.components.core.colors import color
from reflex.event import EventHandler, passthrough_event_spec
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, RadixThemesComponent
vertical_orientation_css = "&[data-orientation='vertical']"

View File

@ -41,7 +41,9 @@ class TabsRoot(RadixThemesComponent):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
@ -341,7 +343,9 @@ class Tabs(ComponentNamespace):
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -8,11 +8,7 @@ from reflex.components.core.debounce import DebounceInput
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
LiteralRadius,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, LiteralRadius, RadixThemesComponent
LiteralTextAreaSize = Literal["1", "2", "3"]

View File

@ -7,7 +7,7 @@ from typing import Any, Dict, Literal, Optional, Union, overload
from reflex.components.core.breakpoints import Breakpoints
from reflex.components.el import elements
from reflex.event import BASE_STATE, EventType
from reflex.event import BASE_STATE, EventType, KeyInputInfo
from reflex.style import Style
from reflex.vars.base import Var
@ -168,14 +168,32 @@ class TextArea(RadixThemesComponent, elements.Textarea):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_blur: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_focus: Optional[EventType[[str], BASE_STATE]] = None,
on_key_down: Optional[EventType[[str], BASE_STATE]] = None,
on_key_up: Optional[EventType[[str], BASE_STATE]] = None,
on_focus: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_key_down: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_key_up: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -11,11 +11,7 @@ from reflex.components.el import elements
from reflex.event import EventHandler, input_event, key_event
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
LiteralRadius,
RadixThemesComponent,
)
from ..base import LiteralAccentColor, LiteralRadius, RadixThemesComponent
LiteralTextFieldSize = Literal["1", "2", "3"]
LiteralTextFieldVariant = Literal["classic", "surface", "soft"]

View File

@ -8,7 +8,7 @@ from typing import Any, Dict, Literal, Optional, Union, overload
from reflex.components.component import ComponentNamespace
from reflex.components.core.breakpoints import Breakpoints
from reflex.components.el import elements
from reflex.event import BASE_STATE, EventType
from reflex.event import BASE_STATE, EventType, KeyInputInfo
from reflex.style import Style
from reflex.vars.base import Var
@ -149,14 +149,32 @@ class TextFieldRoot(elements.Div, RadixThemesComponent):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_blur: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_focus: Optional[EventType[[str], BASE_STATE]] = None,
on_key_down: Optional[EventType[[str], BASE_STATE]] = None,
on_key_up: Optional[EventType[[str], BASE_STATE]] = None,
on_focus: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_key_down: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_key_up: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
@ -466,14 +484,32 @@ class TextField(ComponentNamespace):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_blur: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_focus: Optional[EventType[[str], BASE_STATE]] = None,
on_key_down: Optional[EventType[[str], BASE_STATE]] = None,
on_key_up: Optional[EventType[[str], BASE_STATE]] = None,
on_focus: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_key_down: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_key_up: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, KeyInputInfo], BASE_STATE],
]
] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -7,9 +7,7 @@ from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spe
from reflex.utils import format
from reflex.vars.base import Var
from ..base import (
RadixThemesComponent,
)
from ..base import RadixThemesComponent
LiteralSideType = Literal[
"top",

View File

@ -5,10 +5,7 @@
# ------------------------------------------------------
from typing import Any, Dict, Literal, Optional, Union, overload
from reflex.event import (
BASE_STATE,
EventType,
)
from reflex.event import BASE_STATE, EventType
from reflex.style import Style
from reflex.vars.base import Var
@ -79,7 +76,9 @@ class Tooltip(RadixThemesComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_pointer_down_outside: Optional[EventType[[], BASE_STATE]] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,

View File

@ -7,11 +7,7 @@ from typing import Literal
from reflex.components.core.breakpoints import Responsive
from reflex.vars.base import Var
from ..base import (
CommonMarginProps,
LiteralSpacing,
RadixThemesComponent,
)
from ..base import CommonMarginProps, LiteralSpacing, RadixThemesComponent
LiteralBoolNumber = Literal["0", "1"]

View File

@ -8,12 +8,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
LiteralAlign,
LiteralJustify,
LiteralSpacing,
RadixThemesComponent,
)
from ..base import LiteralAlign, LiteralJustify, LiteralSpacing, RadixThemesComponent
LiteralFlexDirection = Literal["row", "column", "row-reverse", "column-reverse"]
LiteralFlexWrap = Literal["nowrap", "wrap", "wrap-reverse"]

View File

@ -8,12 +8,7 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
LiteralAlign,
LiteralJustify,
LiteralSpacing,
RadixThemesComponent,
)
from ..base import LiteralAlign, LiteralJustify, LiteralSpacing, RadixThemesComponent
LiteralGridFlow = Literal["row", "column", "dense", "row-dense", "column-dense"]

View File

@ -9,14 +9,8 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from .base import (
LiteralTextSize,
LiteralTextWeight,
)
from ..base import LiteralAccentColor, RadixThemesComponent
from .base import LiteralTextSize, LiteralTextWeight
class Blockquote(elements.Blockquote, RadixThemesComponent):

View File

@ -9,15 +9,8 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
LiteralVariant,
RadixThemesComponent,
)
from .base import (
LiteralTextSize,
LiteralTextWeight,
)
from ..base import LiteralAccentColor, LiteralVariant, RadixThemesComponent
from .base import LiteralTextSize, LiteralTextWeight
class Code(elements.Code, RadixThemesComponent):

View File

@ -9,16 +9,8 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from .base import (
LiteralTextAlign,
LiteralTextSize,
LiteralTextTrim,
LiteralTextWeight,
)
from ..base import LiteralAccentColor, RadixThemesComponent
from .base import LiteralTextAlign, LiteralTextSize, LiteralTextTrim, LiteralTextWeight
class Heading(elements.H1, RadixThemesComponent):

View File

@ -16,15 +16,8 @@ from reflex.components.next.link import NextLink
from reflex.utils.imports import ImportDict
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from .base import (
LiteralTextSize,
LiteralTextTrim,
LiteralTextWeight,
)
from ..base import LiteralAccentColor, RadixThemesComponent
from .base import LiteralTextSize, LiteralTextTrim, LiteralTextWeight
LiteralLinkUnderline = Literal["auto", "hover", "always", "none"]

View File

@ -12,16 +12,8 @@ from reflex.components.core.breakpoints import Responsive
from reflex.components.el import elements
from reflex.vars.base import Var
from ..base import (
LiteralAccentColor,
RadixThemesComponent,
)
from .base import (
LiteralTextAlign,
LiteralTextSize,
LiteralTextTrim,
LiteralTextWeight,
)
from ..base import LiteralAccentColor, RadixThemesComponent
from .base import LiteralTextAlign, LiteralTextSize, LiteralTextTrim, LiteralTextWeight
LiteralType = Literal[
"p",

View File

@ -42,7 +42,9 @@ class Audio(ReactPlayer):
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_disable_pip: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_duration: Optional[EventType[[float], BASE_STATE]] = None,
on_duration: Optional[
Union[EventType[[], BASE_STATE], EventType[[float], BASE_STATE]]
] = None,
on_enable_pip: Optional[EventType[[], BASE_STATE]] = None,
on_ended: Optional[EventType[[], BASE_STATE]] = None,
on_error: Optional[EventType[[], BASE_STATE]] = None,
@ -60,13 +62,18 @@ class Audio(ReactPlayer):
on_playback_quality_change: Optional[EventType[[], BASE_STATE]] = None,
on_playback_rate_change: Optional[EventType[[], BASE_STATE]] = None,
on_progress: Optional[
EventType[
[reflex.components.react_player.react_player.Progress], BASE_STATE
Union[
EventType[[], BASE_STATE],
EventType[
[reflex.components.react_player.react_player.Progress], BASE_STATE
],
]
] = None,
on_ready: Optional[EventType[[], BASE_STATE]] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_seek: Optional[EventType[[float], BASE_STATE]] = None,
on_seek: Optional[
Union[EventType[[], BASE_STATE], EventType[[float], BASE_STATE]]
] = None,
on_start: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -47,7 +47,9 @@ class ReactPlayer(NoSSRComponent):
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_disable_pip: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_duration: Optional[EventType[[float], BASE_STATE]] = None,
on_duration: Optional[
Union[EventType[[], BASE_STATE], EventType[[float], BASE_STATE]]
] = None,
on_enable_pip: Optional[EventType[[], BASE_STATE]] = None,
on_ended: Optional[EventType[[], BASE_STATE]] = None,
on_error: Optional[EventType[[], BASE_STATE]] = None,
@ -64,10 +66,14 @@ class ReactPlayer(NoSSRComponent):
on_play: Optional[EventType[[], BASE_STATE]] = None,
on_playback_quality_change: Optional[EventType[[], BASE_STATE]] = None,
on_playback_rate_change: Optional[EventType[[], BASE_STATE]] = None,
on_progress: Optional[EventType[[Progress], BASE_STATE]] = None,
on_progress: Optional[
Union[EventType[[], BASE_STATE], EventType[[Progress], BASE_STATE]]
] = None,
on_ready: Optional[EventType[[], BASE_STATE]] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_seek: Optional[EventType[[float], BASE_STATE]] = None,
on_seek: Optional[
Union[EventType[[], BASE_STATE], EventType[[float], BASE_STATE]]
] = None,
on_start: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -42,7 +42,9 @@ class Video(ReactPlayer):
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_disable_pip: Optional[EventType[[], BASE_STATE]] = None,
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_duration: Optional[EventType[[float], BASE_STATE]] = None,
on_duration: Optional[
Union[EventType[[], BASE_STATE], EventType[[float], BASE_STATE]]
] = None,
on_enable_pip: Optional[EventType[[], BASE_STATE]] = None,
on_ended: Optional[EventType[[], BASE_STATE]] = None,
on_error: Optional[EventType[[], BASE_STATE]] = None,
@ -60,13 +62,18 @@ class Video(ReactPlayer):
on_playback_quality_change: Optional[EventType[[], BASE_STATE]] = None,
on_playback_rate_change: Optional[EventType[[], BASE_STATE]] = None,
on_progress: Optional[
EventType[
[reflex.components.react_player.react_player.Progress], BASE_STATE
Union[
EventType[[], BASE_STATE],
EventType[
[reflex.components.react_player.react_player.Progress], BASE_STATE
],
]
] = None,
on_ready: Optional[EventType[[], BASE_STATE]] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_seek: Optional[EventType[[float], BASE_STATE]] = None,
on_seek: Optional[
Union[EventType[[], BASE_STATE], EventType[[float], BASE_STATE]]
] = None,
on_start: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -10,9 +10,7 @@ from reflex.event import BASE_STATE, EventType
from reflex.style import Style
from reflex.vars.base import Var
from .recharts import (
Recharts,
)
from .recharts import Recharts
class Axis(Recharts):
@overload

View File

@ -10,9 +10,7 @@ from reflex.event import BASE_STATE, EventType
from reflex.style import Style
from reflex.vars.base import Var
from .recharts import (
RechartsCharts,
)
from .recharts import RechartsCharts
class ChartBase(RechartsCharts):
@overload

View File

@ -11,9 +11,7 @@ from reflex.event import BASE_STATE, EventType
from reflex.style import Style
from reflex.vars.base import Var
from .recharts import (
Recharts,
)
from .recharts import Recharts
class ResponsiveContainer(Recharts, MemoizationLeaf):
@overload

View File

@ -10,9 +10,7 @@ from reflex.event import BASE_STATE, EventType
from reflex.style import Style
from reflex.vars.base import Var
from .recharts import (
Recharts,
)
from .recharts import Recharts
class Pie(Recharts):
def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...

View File

@ -127,8 +127,12 @@ class Editor(NoSSRComponent):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_blur: Optional[EventType[[str], BASE_STATE]] = None,
on_change: Optional[EventType[[str], BASE_STATE]] = None,
on_blur: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[str], BASE_STATE]]
] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
on_copy: Optional[EventType[[], BASE_STATE]] = None,
@ -136,7 +140,9 @@ class Editor(NoSSRComponent):
on_double_click: Optional[EventType[[], BASE_STATE]] = None,
on_focus: Optional[EventType[[], BASE_STATE]] = None,
on_input: Optional[EventType[[], BASE_STATE]] = None,
on_load: Optional[EventType[[bool], BASE_STATE]] = None,
on_load: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_mount: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
@ -145,11 +151,21 @@ class Editor(NoSSRComponent):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_paste: Optional[EventType[[str, bool], BASE_STATE]] = None,
on_paste: Optional[
Union[
EventType[[], BASE_STATE],
EventType[[str], BASE_STATE],
EventType[[str, bool], BASE_STATE],
]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
toggle_code_view: Optional[EventType[[bool], BASE_STATE]] = None,
toggle_full_screen: Optional[EventType[[bool], BASE_STATE]] = None,
toggle_code_view: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
toggle_full_screen: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
**props,
) -> "Editor":
"""Create an instance of Editor. No children allowed.

View File

@ -4,16 +4,7 @@ from __future__ import annotations
import dataclasses
import inspect
from typing import (
TYPE_CHECKING,
Any,
Callable,
Iterable,
Tuple,
Type,
Union,
get_args,
)
from typing import TYPE_CHECKING, Any, Callable, Iterable, Tuple, Type, Union, get_args
from reflex.components.tags.tag import Tag
from reflex.vars import LiteralArrayVar, Var, get_unique_variable_name

View File

@ -41,16 +41,9 @@ from .config import (
GitIgnore,
RequirementsTxt,
)
from .custom_components import (
CustomComponents,
)
from .custom_components import CustomComponents
from .event import Endpoint, EventTriggers, SocketEvent
from .installer import (
Bun,
Fnm,
Node,
PackageJson,
)
from .installer import Bun, Fnm, Node, PackageJson
from .route import (
ROUTE_NOT_FOUND,
ROUTER,

View File

@ -30,6 +30,7 @@ from typing_extensions import (
ParamSpec,
Protocol,
TypeAliasType,
TypedDict,
TypeVar,
get_args,
get_origin,
@ -38,16 +39,10 @@ from typing_extensions import (
from reflex import constants
from reflex.constants.state import FRONTEND_EVENT_STATE
from reflex.utils import console, format
from reflex.utils.exceptions import (
EventFnArgMismatch,
EventHandlerArgTypeMismatch,
)
from reflex.utils.exceptions import EventFnArgMismatch, EventHandlerArgTypeMismatch
from reflex.utils.types import ArgsSpec, GenericType, typehint_issubclass
from reflex.vars import VarData
from reflex.vars.base import (
LiteralVar,
Var,
)
from reflex.vars.base import LiteralVar, Var
from reflex.vars.function import (
ArgsFunctionOperation,
FunctionStringVar,
@ -448,6 +443,10 @@ class JavasciptKeyboardEvent:
"""Interface for a Javascript KeyboardEvent https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent."""
key: str = ""
altKey: bool = False
ctrlKey: bool = False
metaKey: bool = False
shiftKey: bool = False
def input_event(e: Var[JavascriptInputEvent]) -> Tuple[Var[str]]:
@ -462,7 +461,16 @@ def input_event(e: Var[JavascriptInputEvent]) -> Tuple[Var[str]]:
return (e.target.value,)
def key_event(e: Var[JavasciptKeyboardEvent]) -> Tuple[Var[str]]:
class KeyInputInfo(TypedDict):
"""Information about a key input event."""
alt_key: bool
ctrl_key: bool
meta_key: bool
shift_key: bool
def key_event(e: Var[JavasciptKeyboardEvent]) -> Tuple[Var[str], Var[KeyInputInfo]]:
"""Get the key from a keyboard event.
Args:
@ -471,7 +479,17 @@ def key_event(e: Var[JavasciptKeyboardEvent]) -> Tuple[Var[str]]:
Returns:
The key from the keyboard event.
"""
return (e.key,)
return (
e.key,
Var.create(
{
"alt_key": e.altKey,
"ctrl_key": e.ctrlKey,
"meta_key": e.metaKey,
"shift_key": e.shiftKey,
},
),
)
def no_args_event_spec() -> Tuple[()]:

View File

@ -10,10 +10,7 @@ from typing import Any, Callable, Union
from reflex import constants
from reflex.event import EventChain, EventHandler, EventSpec, run_script
from reflex.utils.imports import ImportVar
from reflex.vars import (
VarData,
get_unique_variable_name,
)
from reflex.vars import VarData, get_unique_variable_name
from reflex.vars.base import LiteralVar, Var
from reflex.vars.function import FunctionVar

View File

@ -119,7 +119,9 @@ class DrawerSidebar(DrawerRoot):
class_name: Optional[Any] = None,
autofocus: Optional[bool] = None,
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
on_animation_end: Optional[EventType[[bool], BASE_STATE]] = None,
on_animation_end: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_blur: Optional[EventType[[], BASE_STATE]] = None,
on_click: Optional[EventType[[], BASE_STATE]] = None,
on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
@ -133,7 +135,9 @@ class DrawerSidebar(DrawerRoot):
on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
on_open_change: Optional[EventType[[bool], BASE_STATE]] = None,
on_open_change: Optional[
Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
] = None,
on_scroll: Optional[EventType[[], BASE_STATE]] = None,
on_unmount: Optional[EventType[[], BASE_STATE]] = None,
**props,

View File

@ -3,11 +3,7 @@
from typing import Any
from reflex.istate.proxy import ReadOnlyStateProxy
from reflex.state import (
_split_substate_key,
_substate_key,
get_state_manager,
)
from reflex.state import _split_substate_key, _substate_key, get_state_manager
async def get_state(token, state_cls: Any | None = None) -> ReadOnlyStateProxy:

View File

@ -11,6 +11,7 @@ import typer
import typer.core
from reflex_cli.deployments import deployments_cli
from reflex_cli.utils import dependency
from reflex_cli.v2.deployments import hosting_cli
from reflex import constants
from reflex.config import environment, get_config
@ -383,6 +384,14 @@ def login(
_login()
@cli.command()
def loginv2(loglevel: constants.LogLevel = typer.Option(config.loglevel)):
"""Authenicate with experimental Reflex hosting service."""
from reflex_cli.v2 import cli as hosting_cli
hosting_cli.login()
@cli.command()
def logout(
loglevel: constants.LogLevel = typer.Option(
@ -399,6 +408,22 @@ def logout(
hosting.delete_token_from_config(include_invitation_code=True)
@cli.command()
def logoutv2(
loglevel: constants.LogLevel = typer.Option(
config.loglevel, help="The log level to use."
),
):
"""Log out of access to Reflex hosting service."""
from reflex_cli.v2.utils import hosting
console.set_log_level(loglevel)
hosting.log_out_on_browser()
console.debug("Deleting access token from config locally")
hosting.delete_token_from_config(include_invitation_code=True)
db_cli = typer.Typer()
script_cli = typer.Typer()
@ -599,6 +624,110 @@ def deploy(
)
@cli.command()
def deployv2(
app_name: str = typer.Option(
config.app_name,
"--app-name",
help="The name of the App to deploy under.",
hidden=True,
),
regions: List[str] = typer.Option(
list(),
"-r",
"--region",
help="The regions to deploy to. For multiple envs, repeat this option, e.g. --region sjc --region iad",
),
envs: List[str] = typer.Option(
list(),
"--env",
help="The environment variables to set: <key>=<value>. For multiple envs, repeat this option, e.g. --env k1=v2 --env k2=v2.",
),
vmtype: Optional[str] = typer.Option(
None,
"--vmtype",
help="Vm type id. Run reflex apps vmtypes list to get options.",
),
hostname: Optional[str] = typer.Option(
None,
"--hostname",
help="The hostname of the frontend.",
hidden=True,
),
interactive: bool = typer.Option(
True,
help="Whether to list configuration options and ask for confirmation.",
),
envfile: Optional[str] = typer.Option(
None,
"--envfile",
help="The path to an env file to use. Will override any envs set manually.",
hidden=True,
),
loglevel: constants.LogLevel = typer.Option(
config.loglevel, help="The log level to use."
),
project: Optional[str] = typer.Option(
None,
"--project",
help="project to deploy to",
hidden=True,
),
token: Optional[str] = typer.Option(
None,
"--token",
help="token to use for auth",
hidden=True,
),
):
"""Deploy the app to the Reflex hosting service."""
from reflex_cli.v2 import cli as hosting_cli
from reflex_cli.v2.utils import dependency
from reflex.utils import export as export_utils
from reflex.utils import prerequisites
# Set the log level.
console.set_log_level(loglevel)
# Only check requirements if interactive.
# There is user interaction for requirements update.
if interactive:
dependency.check_requirements()
# Check if we are set up.
if prerequisites.needs_reinit(frontend=True):
_init(name=config.app_name, loglevel=loglevel)
prerequisites.check_latest_package_version(constants.ReflexHostingCLI.MODULE_NAME)
hosting_cli.deploy(
app_name=app_name,
export_fn=lambda zip_dest_dir,
api_url,
deploy_url,
frontend,
backend,
zipping: export_utils.export(
zip_dest_dir=zip_dest_dir,
api_url=api_url,
deploy_url=deploy_url,
frontend=frontend,
backend=backend,
zipping=zipping,
loglevel=loglevel.subprocess_level(),
),
regions=regions,
envs=envs,
vmtype=vmtype,
envfile=envfile,
hostname=hostname,
interactive=interactive,
loglevel=loglevel.subprocess_level(),
token=token,
project=project,
)
cli.add_typer(db_cli, name="db", help="Subcommands for managing the database schema.")
cli.add_typer(script_cli, name="script", help="Subcommands running helper scripts.")
cli.add_typer(
@ -606,6 +735,11 @@ cli.add_typer(
name="deployments",
help="Subcommands for managing the Deployments.",
)
cli.add_typer(
hosting_cli,
name="apps",
help="Subcommands for managing the Deployments.",
)
cli.add_typer(
custom_components_cli,
name="component",

View File

@ -44,9 +44,7 @@ from typing_extensions import Self
from reflex import event
from reflex.config import EnvironmentVariables, get_config
from reflex.istate.data import RouterData
from reflex.istate.storage import (
ClientStorageBase,
)
from reflex.istate.storage import ClientStorageBase
from reflex.vars.base import (
ComputedVar,
DynamicRouteVar,

View File

@ -76,6 +76,7 @@ DEFAULT_IMPORTS = {
"EventSpec",
"EventType",
"BASE_STATE",
"KeyInputInfo",
],
"reflex.style": ["Style"],
"reflex.vars.base": ["Var"],
@ -509,11 +510,18 @@ def _generate_component_create_functiondef(
# Convert each argument type to its AST representation
type_args = [type_to_ast(arg, cls=clz) for arg in arguments_without_var]
# Join the type arguments with commas for EventType
args_str = ", ".join(ast.unparse(arg) for arg in type_args)
# Get all prefixes of the type arguments
all_count_args_type = [
ast.Name(
f"EventType[[{', '.join([ast.unparse(arg) for arg in type_args[:i]])}], BASE_STATE]"
)
for i in range(len(type_args) + 1)
]
# Create EventType using the joined string
return ast.Name(id=f"EventType[[{args_str}], BASE_STATE]")
return ast.Name(
id=f"Union[{', '.join(map(ast.unparse, all_count_args_type))}]"
)
if isinstance(annotation, str) and annotation.startswith("Tuple["):
inside_of_tuple = annotation.removeprefix("Tuple[").removesuffix("]")
@ -545,8 +553,15 @@ def _generate_component_create_functiondef(
for argument in arguments
]
all_count_args_type = [
ast.Name(
f"EventType[[{', '.join(arguments_without_var[:i])}], BASE_STATE]"
)
for i in range(len(arguments) + 1)
]
return ast.Name(
id=f"EventType[[{', '.join(arguments_without_var)}], BASE_STATE]"
id=f"Union[{', '.join(map(ast.unparse, all_count_args_type))}]"
)
return ast.Name(id="EventType[..., BASE_STATE]")

View File

@ -26,9 +26,7 @@ from typing import (
get_args,
get_type_hints,
)
from typing import (
get_origin as get_origin_og,
)
from typing import get_origin as get_origin_og
import sqlalchemy
@ -42,12 +40,7 @@ except ModuleNotFoundError:
from sqlalchemy.ext.associationproxy import AssociationProxyInstance
from sqlalchemy.ext.hybrid import hybrid_property
from sqlalchemy.orm import (
DeclarativeBase,
Mapped,
QueryableAttribute,
Relationship,
)
from sqlalchemy.orm import DeclarativeBase, Mapped, QueryableAttribute, Relationship
from reflex import constants
from reflex.base import Base

View File

@ -38,13 +38,7 @@ from typing import (
overload,
)
from typing_extensions import (
ParamSpec,
TypeGuard,
deprecated,
get_type_hints,
override,
)
from typing_extensions import ParamSpec, TypeGuard, deprecated, get_type_hints, override
from reflex import constants
from reflex.base import Base
@ -75,10 +69,7 @@ from reflex.utils.types import (
if TYPE_CHECKING:
from reflex.state import BaseState
from .number import (
BooleanVar,
NumberVar,
)
from .number import BooleanVar, NumberVar
from .object import ObjectVar
from .sequence import ArrayVar, StringVar

View File

@ -8,13 +8,7 @@ from typing import Any, Callable, Optional, Tuple, Type, Union
from reflex.utils.types import GenericType
from .base import (
CachedVarOperation,
LiteralVar,
Var,
VarData,
cached_property_no_lock,
)
from .base import CachedVarOperation, LiteralVar, Var, VarData, cached_property_no_lock
class FunctionVar(Var[Callable], python_types=Callable):

View File

@ -27,9 +27,7 @@ from reflex.event import (
from reflex.state import BaseState
from reflex.style import Style
from reflex.utils import imports
from reflex.utils.exceptions import (
EventFnArgMismatch,
)
from reflex.utils.exceptions import EventFnArgMismatch
from reflex.utils.imports import ImportDict, ImportVar, ParsedImportDict, parse_imports
from reflex.vars import VarData
from reflex.vars.base import LiteralVar, Var

View File

@ -23,11 +23,7 @@ from reflex.vars.base import (
var_operation_return,
)
from reflex.vars.function import ArgsFunctionOperation, FunctionStringVar
from reflex.vars.number import (
LiteralBooleanVar,
LiteralNumberVar,
NumberVar,
)
from reflex.vars.number import LiteralBooleanVar, LiteralNumberVar, NumberVar
from reflex.vars.object import LiteralObjectVar, ObjectVar
from reflex.vars.sequence import (
ArrayVar,

View File

@ -13,11 +13,7 @@ from reflex.base import Base
from reflex.config import environment
from reflex.event import EventHandler
from reflex.state import BaseState
from reflex.utils import (
build,
prerequisites,
types,
)
from reflex.utils import build, prerequisites, types
from reflex.utils import exec as utils_exec
from reflex.utils.exceptions import ReflexError, SystemPackageMissingError
from reflex.vars.base import Var