add metainfo to keyevent (#4287)

* allow for event handlers to ignore args

* use a constant

* dang it darglint

* forgor

* keep the tests but move them to valid place

* add metainfo to keyevent

* format code

* fix pyi files

* generate all prefixes of event types

* change format rule
This commit is contained in:
Khaleel Al-Adhami 2024-11-06 15:10:02 -08:00 committed by GitHub
parent 4c0b49135b
commit b9d73edd66
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
85 changed files with 514 additions and 409 deletions

View File

@ -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

@ -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

@ -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

@ -44,9 +44,7 @@ from typing_extensions import Self
from reflex import event
from reflex.config import 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