reflex 0.6.2.post1__py3-none-any.whl → 0.6.3a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of reflex might be problematic. Click here for more details.
- reflex/__init__.py +3 -2
- reflex/__init__.pyi +3 -1
- reflex/components/base/app_wrap.pyi +17 -37
- reflex/components/base/body.pyi +17 -37
- reflex/components/base/document.pyi +77 -177
- reflex/components/base/error_boundary.pyi +18 -38
- reflex/components/base/fragment.pyi +17 -37
- reflex/components/base/head.pyi +32 -72
- reflex/components/base/link.pyi +32 -72
- reflex/components/base/meta.pyi +62 -142
- reflex/components/base/script.py +4 -4
- reflex/components/base/script.pyi +20 -40
- reflex/components/component.py +12 -2
- reflex/components/core/banner.pyi +77 -177
- reflex/components/core/client_side_routing.pyi +32 -72
- reflex/components/core/clipboard.py +3 -3
- reflex/components/core/clipboard.pyi +18 -38
- reflex/components/core/debounce.py +2 -2
- reflex/components/core/debounce.pyi +18 -38
- reflex/components/core/html.pyi +17 -37
- reflex/components/core/upload.py +4 -5
- reflex/components/core/upload.pyi +65 -145
- reflex/components/datadisplay/code.pyi +32 -72
- reflex/components/datadisplay/dataeditor.py +13 -13
- reflex/components/datadisplay/dataeditor.pyi +33 -83
- reflex/components/dynamic.py +6 -7
- reflex/components/el/__init__.pyi +1 -0
- reflex/components/el/element.pyi +17 -37
- reflex/components/el/elements/base.pyi +17 -37
- reflex/components/el/elements/forms.py +29 -14
- reflex/components/el/elements/forms.pyi +222 -504
- reflex/components/el/elements/inline.pyi +422 -982
- reflex/components/el/elements/media.pyi +377 -877
- reflex/components/el/elements/metadata.pyi +92 -212
- reflex/components/el/elements/other.pyi +107 -247
- reflex/components/el/elements/scripts.pyi +47 -107
- reflex/components/el/elements/sectioning.pyi +227 -527
- reflex/components/el/elements/tables.pyi +152 -352
- reflex/components/el/elements/typography.pyi +227 -527
- reflex/components/gridjs/datatable.py +2 -2
- reflex/components/gridjs/datatable.pyi +32 -72
- reflex/components/lucide/icon.pyi +32 -72
- reflex/components/markdown/markdown.pyi +16 -36
- reflex/components/moment/moment.py +2 -2
- reflex/components/moment/moment.pyi +18 -38
- reflex/components/next/base.pyi +17 -37
- reflex/components/next/image.py +3 -3
- reflex/components/next/image.pyi +19 -39
- reflex/components/next/link.pyi +17 -37
- reflex/components/next/video.pyi +17 -37
- reflex/components/plotly/plotly.py +1 -1
- reflex/components/plotly/plotly.pyi +35 -87
- reflex/components/radix/primitives/accordion.py +14 -2
- reflex/components/radix/primitives/accordion.pyi +110 -250
- reflex/components/radix/primitives/base.pyi +32 -72
- reflex/components/radix/primitives/drawer.py +30 -12
- reflex/components/radix/primitives/drawer.pyi +159 -373
- reflex/components/radix/primitives/form.py +3 -3
- reflex/components/radix/primitives/form.pyi +158 -364
- reflex/components/radix/primitives/progress.pyi +77 -177
- reflex/components/radix/primitives/slider.py +17 -3
- reflex/components/radix/primitives/slider.pyi +81 -183
- reflex/components/radix/themes/base.pyi +107 -247
- reflex/components/radix/themes/color_mode.pyi +48 -117
- reflex/components/radix/themes/components/alert_dialog.py +5 -5
- reflex/components/radix/themes/components/alert_dialog.pyi +111 -259
- reflex/components/radix/themes/components/aspect_ratio.pyi +17 -37
- reflex/components/radix/themes/components/avatar.pyi +17 -37
- reflex/components/radix/themes/components/badge.pyi +17 -37
- reflex/components/radix/themes/components/button.pyi +17 -37
- reflex/components/radix/themes/components/callout.pyi +77 -177
- reflex/components/radix/themes/components/card.pyi +17 -37
- reflex/components/radix/themes/components/checkbox.py +3 -3
- reflex/components/radix/themes/components/checkbox.pyi +50 -110
- reflex/components/radix/themes/components/checkbox_cards.pyi +32 -72
- reflex/components/radix/themes/components/checkbox_group.pyi +32 -72
- reflex/components/radix/themes/components/context_menu.py +11 -11
- reflex/components/radix/themes/components/context_menu.pyi +132 -312
- reflex/components/radix/themes/components/data_list.pyi +62 -142
- reflex/components/radix/themes/components/dialog.py +7 -7
- reflex/components/radix/themes/components/dialog.pyi +114 -268
- reflex/components/radix/themes/components/dropdown_menu.py +13 -13
- reflex/components/radix/themes/components/dropdown_menu.pyi +134 -316
- reflex/components/radix/themes/components/hover_card.py +2 -2
- reflex/components/radix/themes/components/hover_card.pyi +64 -148
- reflex/components/radix/themes/components/icon_button.pyi +17 -37
- reflex/components/radix/themes/components/inset.pyi +17 -37
- reflex/components/radix/themes/components/popover.py +8 -8
- reflex/components/radix/themes/components/popover.pyi +69 -163
- reflex/components/radix/themes/components/progress.pyi +17 -37
- reflex/components/radix/themes/components/radio.pyi +17 -37
- reflex/components/radix/themes/components/radio_cards.py +2 -2
- reflex/components/radix/themes/components/radio_cards.pyi +33 -75
- reflex/components/radix/themes/components/radio_group.py +4 -4
- reflex/components/radix/themes/components/radio_group.pyi +63 -143
- reflex/components/radix/themes/components/scroll_area.pyi +17 -37
- reflex/components/radix/themes/components/segmented_control.py +14 -2
- reflex/components/radix/themes/components/segmented_control.pyi +35 -73
- reflex/components/radix/themes/components/select.py +6 -5
- reflex/components/radix/themes/components/select.pyi +146 -338
- reflex/components/radix/themes/components/separator.pyi +17 -37
- reflex/components/radix/themes/components/skeleton.pyi +17 -37
- reflex/components/radix/themes/components/slider.py +19 -3
- reflex/components/radix/themes/components/slider.pyi +23 -41
- reflex/components/radix/themes/components/spinner.pyi +17 -37
- reflex/components/radix/themes/components/switch.py +2 -2
- reflex/components/radix/themes/components/switch.pyi +18 -38
- reflex/components/radix/themes/components/table.pyi +107 -247
- reflex/components/radix/themes/components/tabs.py +2 -2
- reflex/components/radix/themes/components/tabs.pyi +79 -179
- reflex/components/radix/themes/components/text_area.py +0 -16
- reflex/components/radix/themes/components/text_area.pyi +20 -42
- reflex/components/radix/themes/components/text_field.py +6 -6
- reflex/components/radix/themes/components/text_field.pyi +53 -117
- reflex/components/radix/themes/components/tooltip.py +4 -4
- reflex/components/radix/themes/components/tooltip.pyi +20 -46
- reflex/components/radix/themes/layout/base.pyi +17 -37
- reflex/components/radix/themes/layout/box.pyi +17 -37
- reflex/components/radix/themes/layout/center.pyi +17 -37
- reflex/components/radix/themes/layout/container.pyi +17 -37
- reflex/components/radix/themes/layout/flex.pyi +17 -37
- reflex/components/radix/themes/layout/grid.pyi +17 -37
- reflex/components/radix/themes/layout/list.pyi +77 -177
- reflex/components/radix/themes/layout/section.pyi +17 -37
- reflex/components/radix/themes/layout/spacer.pyi +17 -37
- reflex/components/radix/themes/layout/stack.pyi +47 -107
- reflex/components/radix/themes/typography/blockquote.pyi +17 -37
- reflex/components/radix/themes/typography/code.pyi +17 -37
- reflex/components/radix/themes/typography/heading.pyi +17 -37
- reflex/components/radix/themes/typography/link.pyi +17 -37
- reflex/components/radix/themes/typography/text.pyi +107 -247
- reflex/components/react_player/audio.pyi +33 -69
- reflex/components/react_player/react_player.py +17 -17
- reflex/components/react_player/react_player.pyi +33 -69
- reflex/components/react_player/video.pyi +33 -69
- reflex/components/recharts/cartesian.py +215 -185
- reflex/components/recharts/cartesian.pyi +623 -832
- reflex/components/recharts/charts.py +57 -54
- reflex/components/recharts/charts.pyi +213 -433
- reflex/components/recharts/general.py +27 -21
- reflex/components/recharts/general.pyi +94 -189
- reflex/components/recharts/polar.py +115 -77
- reflex/components/recharts/polar.pyi +219 -229
- reflex/components/recharts/recharts.py +5 -1
- reflex/components/recharts/recharts.pyi +37 -73
- reflex/components/sonner/toast.py +1 -1
- reflex/components/sonner/toast.pyi +17 -37
- reflex/components/suneditor/editor.pyi +26 -52
- reflex/components/tags/iter_tag.py +2 -2
- reflex/config.py +16 -0
- reflex/constants/__init__.py +2 -0
- reflex/constants/compiler.py +25 -0
- reflex/constants/installer.py +17 -16
- reflex/constants/state.py +11 -0
- reflex/constants/style.py +1 -1
- reflex/event.py +237 -18
- reflex/experimental/layout.pyi +78 -180
- reflex/istate/dynamic.py +3 -0
- reflex/state.py +195 -118
- reflex/testing.py +8 -5
- reflex/utils/compat.py +1 -3
- reflex/utils/exceptions.py +8 -0
- reflex/utils/path_ops.py +2 -2
- reflex/utils/prerequisites.py +2 -2
- reflex/utils/pyi_generator.py +44 -4
- reflex/utils/registry.py +17 -3
- reflex/utils/telemetry.py +1 -3
- reflex/utils/types.py +60 -16
- reflex/vars/__init__.py +2 -0
- reflex/vars/base.py +127 -72
- reflex/vars/object.py +5 -1
- reflex/vars/sequence.py +10 -1
- {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/METADATA +3 -3
- {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/RECORD +177 -175
- {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/LICENSE +0 -0
- {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/WHEEL +0 -0
- {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/entry_points.txt +0 -0
reflex/event.py
CHANGED
|
@@ -8,23 +8,26 @@ import sys
|
|
|
8
8
|
import types
|
|
9
9
|
import urllib.parse
|
|
10
10
|
from base64 import b64encode
|
|
11
|
+
from functools import partial
|
|
11
12
|
from typing import (
|
|
12
13
|
Any,
|
|
13
14
|
Callable,
|
|
14
15
|
ClassVar,
|
|
15
16
|
Dict,
|
|
17
|
+
Generic,
|
|
16
18
|
List,
|
|
17
19
|
Optional,
|
|
18
20
|
Tuple,
|
|
19
21
|
Type,
|
|
22
|
+
TypeVar,
|
|
20
23
|
Union,
|
|
21
24
|
get_type_hints,
|
|
22
25
|
)
|
|
23
26
|
|
|
24
|
-
from typing_extensions import get_args, get_origin
|
|
27
|
+
from typing_extensions import ParamSpec, get_args, get_origin
|
|
25
28
|
|
|
26
29
|
from reflex import constants
|
|
27
|
-
from reflex.utils import format
|
|
30
|
+
from reflex.utils import console, format
|
|
28
31
|
from reflex.utils.exceptions import EventFnArgMismatch, EventHandlerArgMismatch
|
|
29
32
|
from reflex.utils.types import ArgsSpec, GenericType
|
|
30
33
|
from reflex.vars import VarData
|
|
@@ -389,6 +392,8 @@ class EventChain(EventActionsMixin):
|
|
|
389
392
|
|
|
390
393
|
args_spec: Optional[Callable] = dataclasses.field(default=None)
|
|
391
394
|
|
|
395
|
+
invocation: Optional[Var] = dataclasses.field(default=None)
|
|
396
|
+
|
|
392
397
|
|
|
393
398
|
# These chains can be used for their side effects when no other events are desired.
|
|
394
399
|
stop_propagation = EventChain(events=[], args_spec=lambda: []).stop_propagation
|
|
@@ -399,23 +404,95 @@ prevent_default = EventChain(events=[], args_spec=lambda: []).prevent_default
|
|
|
399
404
|
init=True,
|
|
400
405
|
frozen=True,
|
|
401
406
|
)
|
|
402
|
-
class
|
|
403
|
-
"""
|
|
407
|
+
class JavascriptHTMLInputElement:
|
|
408
|
+
"""Interface for a Javascript HTMLInputElement https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement."""
|
|
409
|
+
|
|
410
|
+
value: str = ""
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
@dataclasses.dataclass(
|
|
414
|
+
init=True,
|
|
415
|
+
frozen=True,
|
|
416
|
+
)
|
|
417
|
+
class JavascriptInputEvent:
|
|
418
|
+
"""Interface for a Javascript InputEvent https://developer.mozilla.org/en-US/docs/Web/API/InputEvent."""
|
|
404
419
|
|
|
405
|
-
|
|
406
|
-
value: Any = None
|
|
420
|
+
target: JavascriptHTMLInputElement = JavascriptHTMLInputElement()
|
|
407
421
|
|
|
408
422
|
|
|
409
423
|
@dataclasses.dataclass(
|
|
410
424
|
init=True,
|
|
411
425
|
frozen=True,
|
|
412
426
|
)
|
|
413
|
-
class
|
|
414
|
-
"""
|
|
427
|
+
class JavasciptKeyboardEvent:
|
|
428
|
+
"""Interface for a Javascript KeyboardEvent https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent."""
|
|
415
429
|
|
|
416
|
-
target: Target = Target()
|
|
417
430
|
key: str = ""
|
|
418
|
-
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
def input_event(e: Var[JavascriptInputEvent]) -> Tuple[Var[str]]:
|
|
434
|
+
"""Get the value from an input event.
|
|
435
|
+
|
|
436
|
+
Args:
|
|
437
|
+
e: The input event.
|
|
438
|
+
|
|
439
|
+
Returns:
|
|
440
|
+
The value from the input event.
|
|
441
|
+
"""
|
|
442
|
+
return (e.target.value,)
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
def key_event(e: Var[JavasciptKeyboardEvent]) -> Tuple[Var[str]]:
|
|
446
|
+
"""Get the key from a keyboard event.
|
|
447
|
+
|
|
448
|
+
Args:
|
|
449
|
+
e: The keyboard event.
|
|
450
|
+
|
|
451
|
+
Returns:
|
|
452
|
+
The key from the keyboard event.
|
|
453
|
+
"""
|
|
454
|
+
return (e.key,)
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
def empty_event() -> Tuple[()]:
|
|
458
|
+
"""Empty event handler.
|
|
459
|
+
|
|
460
|
+
Returns:
|
|
461
|
+
An empty tuple.
|
|
462
|
+
"""
|
|
463
|
+
return tuple() # type: ignore
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
T = TypeVar("T")
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
def identity_event(event_type: Type[T]) -> Callable[[Var[T]], Tuple[Var[T]]]:
|
|
470
|
+
"""A helper function that returns the input event as output.
|
|
471
|
+
|
|
472
|
+
Args:
|
|
473
|
+
event_type: The type of the event.
|
|
474
|
+
|
|
475
|
+
Returns:
|
|
476
|
+
A function that returns the input event as output.
|
|
477
|
+
"""
|
|
478
|
+
|
|
479
|
+
def inner(ev: Var[T]) -> Tuple[Var[T]]:
|
|
480
|
+
return (ev,)
|
|
481
|
+
|
|
482
|
+
inner.__signature__ = inspect.signature(inner).replace( # type: ignore
|
|
483
|
+
parameters=[
|
|
484
|
+
inspect.Parameter(
|
|
485
|
+
"ev",
|
|
486
|
+
kind=inspect.Parameter.POSITIONAL_OR_KEYWORD,
|
|
487
|
+
annotation=Var[event_type],
|
|
488
|
+
)
|
|
489
|
+
],
|
|
490
|
+
return_annotation=Tuple[Var[event_type]],
|
|
491
|
+
)
|
|
492
|
+
inner.__annotations__["ev"] = Var[event_type]
|
|
493
|
+
inner.__annotations__["return"] = Tuple[Var[event_type]]
|
|
494
|
+
|
|
495
|
+
return inner
|
|
419
496
|
|
|
420
497
|
|
|
421
498
|
@dataclasses.dataclass(
|
|
@@ -946,6 +1023,28 @@ def unwrap_var_annotation(annotation: GenericType):
|
|
|
946
1023
|
return annotation
|
|
947
1024
|
|
|
948
1025
|
|
|
1026
|
+
def resolve_annotation(annotations: dict[str, Any], arg_name: str):
|
|
1027
|
+
"""Resolve the annotation for the given argument name.
|
|
1028
|
+
|
|
1029
|
+
Args:
|
|
1030
|
+
annotations: The annotations.
|
|
1031
|
+
arg_name: The argument name.
|
|
1032
|
+
|
|
1033
|
+
Returns:
|
|
1034
|
+
The resolved annotation.
|
|
1035
|
+
"""
|
|
1036
|
+
annotation = annotations.get(arg_name)
|
|
1037
|
+
if annotation is None:
|
|
1038
|
+
console.deprecate(
|
|
1039
|
+
feature_name="Unannotated event handler arguments",
|
|
1040
|
+
reason="Provide type annotations for event handler arguments.",
|
|
1041
|
+
deprecation_version="0.6.3",
|
|
1042
|
+
removal_version="0.7.0",
|
|
1043
|
+
)
|
|
1044
|
+
return JavascriptInputEvent
|
|
1045
|
+
return annotation
|
|
1046
|
+
|
|
1047
|
+
|
|
949
1048
|
def parse_args_spec(arg_spec: ArgsSpec):
|
|
950
1049
|
"""Parse the args provided in the ArgsSpec of an event trigger.
|
|
951
1050
|
|
|
@@ -958,13 +1057,15 @@ def parse_args_spec(arg_spec: ArgsSpec):
|
|
|
958
1057
|
spec = inspect.getfullargspec(arg_spec)
|
|
959
1058
|
annotations = get_type_hints(arg_spec)
|
|
960
1059
|
|
|
961
|
-
return
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
1060
|
+
return list(
|
|
1061
|
+
arg_spec(
|
|
1062
|
+
*[
|
|
1063
|
+
Var(f"_{l_arg}").to(
|
|
1064
|
+
unwrap_var_annotation(resolve_annotation(annotations, l_arg))
|
|
1065
|
+
)
|
|
1066
|
+
for l_arg in spec.args
|
|
1067
|
+
]
|
|
1068
|
+
)
|
|
968
1069
|
)
|
|
969
1070
|
|
|
970
1071
|
|
|
@@ -1261,10 +1362,15 @@ class LiteralEventChainVar(CachedVarOperation, LiteralVar, EventChainVar):
|
|
|
1261
1362
|
arg_def = ("...args",)
|
|
1262
1363
|
arg_def_expr = Var(_js_expr="args")
|
|
1263
1364
|
|
|
1365
|
+
if self._var_value.invocation is None:
|
|
1366
|
+
invocation = FunctionStringVar.create("addEvents")
|
|
1367
|
+
else:
|
|
1368
|
+
invocation = self._var_value.invocation
|
|
1369
|
+
|
|
1264
1370
|
return str(
|
|
1265
1371
|
ArgsFunctionOperation.create(
|
|
1266
1372
|
arg_def,
|
|
1267
|
-
|
|
1373
|
+
invocation.call(
|
|
1268
1374
|
LiteralVar.create(
|
|
1269
1375
|
[LiteralVar.create(event) for event in self._var_value.events]
|
|
1270
1376
|
),
|
|
@@ -1321,3 +1427,116 @@ class ToEventChainVarOperation(ToOperation, EventChainVar):
|
|
|
1321
1427
|
_original: Var = dataclasses.field(default_factory=lambda: LiteralNoneVar.create())
|
|
1322
1428
|
|
|
1323
1429
|
_default_var_type: ClassVar[Type] = EventChain
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
G = ParamSpec("G")
|
|
1433
|
+
|
|
1434
|
+
IndividualEventType = Union[EventSpec, EventHandler, Callable[G, Any], Var]
|
|
1435
|
+
|
|
1436
|
+
EventType = Union[IndividualEventType[G], List[IndividualEventType[G]]]
|
|
1437
|
+
|
|
1438
|
+
P = ParamSpec("P")
|
|
1439
|
+
T = TypeVar("T")
|
|
1440
|
+
|
|
1441
|
+
if sys.version_info >= (3, 10):
|
|
1442
|
+
from typing import Concatenate
|
|
1443
|
+
|
|
1444
|
+
class EventCallback(Generic[P, T]):
|
|
1445
|
+
"""A descriptor that wraps a function to be used as an event."""
|
|
1446
|
+
|
|
1447
|
+
def __init__(self, func: Callable[Concatenate[Any, P], T]):
|
|
1448
|
+
"""Initialize the descriptor with the function to be wrapped.
|
|
1449
|
+
|
|
1450
|
+
Args:
|
|
1451
|
+
func: The function to be wrapped.
|
|
1452
|
+
"""
|
|
1453
|
+
self.func = func
|
|
1454
|
+
|
|
1455
|
+
def __get__(self, instance, owner) -> Callable[P, T]:
|
|
1456
|
+
"""Get the function with the instance bound to it.
|
|
1457
|
+
|
|
1458
|
+
Args:
|
|
1459
|
+
instance: The instance to bind to the function.
|
|
1460
|
+
owner: The owner of the function.
|
|
1461
|
+
|
|
1462
|
+
Returns:
|
|
1463
|
+
The function with the instance bound to it
|
|
1464
|
+
"""
|
|
1465
|
+
if instance is None:
|
|
1466
|
+
return self.func # type: ignore
|
|
1467
|
+
|
|
1468
|
+
return partial(self.func, instance) # type: ignore
|
|
1469
|
+
|
|
1470
|
+
def event_handler(func: Callable[Concatenate[Any, P], T]) -> EventCallback[P, T]:
|
|
1471
|
+
"""Wrap a function to be used as an event.
|
|
1472
|
+
|
|
1473
|
+
Args:
|
|
1474
|
+
func: The function to wrap.
|
|
1475
|
+
|
|
1476
|
+
Returns:
|
|
1477
|
+
The wrapped function.
|
|
1478
|
+
"""
|
|
1479
|
+
return func # type: ignore
|
|
1480
|
+
else:
|
|
1481
|
+
|
|
1482
|
+
def event_handler(func: Callable[P, T]) -> Callable[P, T]:
|
|
1483
|
+
"""Wrap a function to be used as an event.
|
|
1484
|
+
|
|
1485
|
+
Args:
|
|
1486
|
+
func: The function to wrap.
|
|
1487
|
+
|
|
1488
|
+
Returns:
|
|
1489
|
+
The wrapped function.
|
|
1490
|
+
"""
|
|
1491
|
+
return func
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
class EventNamespace(types.SimpleNamespace):
|
|
1495
|
+
"""A namespace for event related classes."""
|
|
1496
|
+
|
|
1497
|
+
Event = Event
|
|
1498
|
+
EventHandler = EventHandler
|
|
1499
|
+
EventSpec = EventSpec
|
|
1500
|
+
CallableEventSpec = CallableEventSpec
|
|
1501
|
+
EventChain = EventChain
|
|
1502
|
+
EventVar = EventVar
|
|
1503
|
+
LiteralEventVar = LiteralEventVar
|
|
1504
|
+
EventChainVar = EventChainVar
|
|
1505
|
+
LiteralEventChainVar = LiteralEventChainVar
|
|
1506
|
+
ToEventVarOperation = ToEventVarOperation
|
|
1507
|
+
ToEventChainVarOperation = ToEventChainVarOperation
|
|
1508
|
+
EventType = EventType
|
|
1509
|
+
|
|
1510
|
+
__call__ = staticmethod(event_handler)
|
|
1511
|
+
get_event = staticmethod(get_event)
|
|
1512
|
+
get_hydrate_event = staticmethod(get_hydrate_event)
|
|
1513
|
+
fix_events = staticmethod(fix_events)
|
|
1514
|
+
call_event_handler = staticmethod(call_event_handler)
|
|
1515
|
+
call_event_fn = staticmethod(call_event_fn)
|
|
1516
|
+
get_handler_args = staticmethod(get_handler_args)
|
|
1517
|
+
check_fn_match_arg_spec = staticmethod(check_fn_match_arg_spec)
|
|
1518
|
+
resolve_annotation = staticmethod(resolve_annotation)
|
|
1519
|
+
parse_args_spec = staticmethod(parse_args_spec)
|
|
1520
|
+
identity_event = staticmethod(identity_event)
|
|
1521
|
+
input_event = staticmethod(input_event)
|
|
1522
|
+
key_event = staticmethod(key_event)
|
|
1523
|
+
empty_event = staticmethod(empty_event)
|
|
1524
|
+
server_side = staticmethod(server_side)
|
|
1525
|
+
redirect = staticmethod(redirect)
|
|
1526
|
+
console_log = staticmethod(console_log)
|
|
1527
|
+
back = staticmethod(back)
|
|
1528
|
+
window_alert = staticmethod(window_alert)
|
|
1529
|
+
set_focus = staticmethod(set_focus)
|
|
1530
|
+
scroll_to = staticmethod(scroll_to)
|
|
1531
|
+
set_value = staticmethod(set_value)
|
|
1532
|
+
remove_cookie = staticmethod(remove_cookie)
|
|
1533
|
+
clear_local_storage = staticmethod(clear_local_storage)
|
|
1534
|
+
remove_local_storage = staticmethod(remove_local_storage)
|
|
1535
|
+
clear_session_storage = staticmethod(clear_session_storage)
|
|
1536
|
+
remove_session_storage = staticmethod(remove_session_storage)
|
|
1537
|
+
set_clipboard = staticmethod(set_clipboard)
|
|
1538
|
+
download = staticmethod(download)
|
|
1539
|
+
call_script = staticmethod(call_script)
|
|
1540
|
+
|
|
1541
|
+
|
|
1542
|
+
event = EventNamespace()
|
reflex/experimental/layout.pyi
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
# ------------------- DO NOT EDIT ----------------------
|
|
4
4
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
5
5
|
# ------------------------------------------------------
|
|
6
|
-
from typing import Any,
|
|
6
|
+
from typing import Any, Dict, List, Literal, Optional, Union, overload
|
|
7
7
|
|
|
8
8
|
from reflex import color
|
|
9
9
|
from reflex.components.base.fragment import Fragment
|
|
10
10
|
from reflex.components.component import Component, ComponentNamespace, MemoizationLeaf
|
|
11
11
|
from reflex.components.radix.primitives.drawer import DrawerRoot
|
|
12
12
|
from reflex.components.radix.themes.layout.box import Box
|
|
13
|
-
from reflex.event import
|
|
13
|
+
from reflex.event import EventType
|
|
14
14
|
from reflex.state import ComponentState
|
|
15
15
|
from reflex.style import Style
|
|
16
16
|
from reflex.vars.base import Var
|
|
@@ -51,41 +51,21 @@ class Sidebar(Box, MemoizationLeaf):
|
|
|
51
51
|
class_name: Optional[Any] = None,
|
|
52
52
|
autofocus: Optional[bool] = None,
|
|
53
53
|
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
54
|
-
on_blur: Optional[
|
|
55
|
-
on_click: Optional[
|
|
56
|
-
on_context_menu: Optional[
|
|
57
|
-
|
|
58
|
-
] = None,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
] = None,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
] = None,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
] = None,
|
|
70
|
-
on_mouse_leave: Optional[
|
|
71
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
72
|
-
] = None,
|
|
73
|
-
on_mouse_move: Optional[
|
|
74
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
75
|
-
] = None,
|
|
76
|
-
on_mouse_out: Optional[
|
|
77
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
78
|
-
] = None,
|
|
79
|
-
on_mouse_over: Optional[
|
|
80
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
81
|
-
] = None,
|
|
82
|
-
on_mouse_up: Optional[
|
|
83
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
84
|
-
] = None,
|
|
85
|
-
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
86
|
-
on_unmount: Optional[
|
|
87
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
88
|
-
] = None,
|
|
54
|
+
on_blur: Optional[EventType[[]]] = None,
|
|
55
|
+
on_click: Optional[EventType[[]]] = None,
|
|
56
|
+
on_context_menu: Optional[EventType[[]]] = None,
|
|
57
|
+
on_double_click: Optional[EventType[[]]] = None,
|
|
58
|
+
on_focus: Optional[EventType[[]]] = None,
|
|
59
|
+
on_mount: Optional[EventType[[]]] = None,
|
|
60
|
+
on_mouse_down: Optional[EventType[[]]] = None,
|
|
61
|
+
on_mouse_enter: Optional[EventType[[]]] = None,
|
|
62
|
+
on_mouse_leave: Optional[EventType[[]]] = None,
|
|
63
|
+
on_mouse_move: Optional[EventType[[]]] = None,
|
|
64
|
+
on_mouse_out: Optional[EventType[[]]] = None,
|
|
65
|
+
on_mouse_over: Optional[EventType[[]]] = None,
|
|
66
|
+
on_mouse_up: Optional[EventType[[]]] = None,
|
|
67
|
+
on_scroll: Optional[EventType[[]]] = None,
|
|
68
|
+
on_unmount: Optional[EventType[[]]] = None,
|
|
89
69
|
**props,
|
|
90
70
|
) -> "Sidebar":
|
|
91
71
|
"""Create the sidebar component.
|
|
@@ -136,44 +116,22 @@ class DrawerSidebar(DrawerRoot):
|
|
|
136
116
|
class_name: Optional[Any] = None,
|
|
137
117
|
autofocus: Optional[bool] = None,
|
|
138
118
|
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
139
|
-
on_blur: Optional[
|
|
140
|
-
on_click: Optional[
|
|
141
|
-
on_context_menu: Optional[
|
|
142
|
-
|
|
143
|
-
] = None,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
] = None,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
] = None,
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
] = None,
|
|
155
|
-
on_mouse_leave: Optional[
|
|
156
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
157
|
-
] = None,
|
|
158
|
-
on_mouse_move: Optional[
|
|
159
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
160
|
-
] = None,
|
|
161
|
-
on_mouse_out: Optional[
|
|
162
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
163
|
-
] = None,
|
|
164
|
-
on_mouse_over: Optional[
|
|
165
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
166
|
-
] = None,
|
|
167
|
-
on_mouse_up: Optional[
|
|
168
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
169
|
-
] = None,
|
|
170
|
-
on_open_change: Optional[
|
|
171
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
172
|
-
] = None,
|
|
173
|
-
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
174
|
-
on_unmount: Optional[
|
|
175
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
176
|
-
] = None,
|
|
119
|
+
on_blur: Optional[EventType[[]]] = None,
|
|
120
|
+
on_click: Optional[EventType[[]]] = None,
|
|
121
|
+
on_context_menu: Optional[EventType[[]]] = None,
|
|
122
|
+
on_double_click: Optional[EventType[[]]] = None,
|
|
123
|
+
on_focus: Optional[EventType[[]]] = None,
|
|
124
|
+
on_mount: Optional[EventType[[]]] = None,
|
|
125
|
+
on_mouse_down: Optional[EventType[[]]] = None,
|
|
126
|
+
on_mouse_enter: Optional[EventType[[]]] = None,
|
|
127
|
+
on_mouse_leave: Optional[EventType[[]]] = None,
|
|
128
|
+
on_mouse_move: Optional[EventType[[]]] = None,
|
|
129
|
+
on_mouse_out: Optional[EventType[[]]] = None,
|
|
130
|
+
on_mouse_over: Optional[EventType[[]]] = None,
|
|
131
|
+
on_mouse_up: Optional[EventType[[]]] = None,
|
|
132
|
+
on_open_change: Optional[EventType] = None,
|
|
133
|
+
on_scroll: Optional[EventType[[]]] = None,
|
|
134
|
+
on_unmount: Optional[EventType[[]]] = None,
|
|
177
135
|
**props,
|
|
178
136
|
) -> "DrawerSidebar":
|
|
179
137
|
"""Create the sidebar component.
|
|
@@ -207,41 +165,21 @@ class SidebarTrigger(Fragment):
|
|
|
207
165
|
class_name: Optional[Any] = None,
|
|
208
166
|
autofocus: Optional[bool] = None,
|
|
209
167
|
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
210
|
-
on_blur: Optional[
|
|
211
|
-
on_click: Optional[
|
|
212
|
-
on_context_menu: Optional[
|
|
213
|
-
|
|
214
|
-
] = None,
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
] = None,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
] = None,
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
] = None,
|
|
226
|
-
on_mouse_leave: Optional[
|
|
227
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
228
|
-
] = None,
|
|
229
|
-
on_mouse_move: Optional[
|
|
230
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
231
|
-
] = None,
|
|
232
|
-
on_mouse_out: Optional[
|
|
233
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
234
|
-
] = None,
|
|
235
|
-
on_mouse_over: Optional[
|
|
236
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
237
|
-
] = None,
|
|
238
|
-
on_mouse_up: Optional[
|
|
239
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
240
|
-
] = None,
|
|
241
|
-
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
242
|
-
on_unmount: Optional[
|
|
243
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
244
|
-
] = None,
|
|
168
|
+
on_blur: Optional[EventType[[]]] = None,
|
|
169
|
+
on_click: Optional[EventType[[]]] = None,
|
|
170
|
+
on_context_menu: Optional[EventType[[]]] = None,
|
|
171
|
+
on_double_click: Optional[EventType[[]]] = None,
|
|
172
|
+
on_focus: Optional[EventType[[]]] = None,
|
|
173
|
+
on_mount: Optional[EventType[[]]] = None,
|
|
174
|
+
on_mouse_down: Optional[EventType[[]]] = None,
|
|
175
|
+
on_mouse_enter: Optional[EventType[[]]] = None,
|
|
176
|
+
on_mouse_leave: Optional[EventType[[]]] = None,
|
|
177
|
+
on_mouse_move: Optional[EventType[[]]] = None,
|
|
178
|
+
on_mouse_out: Optional[EventType[[]]] = None,
|
|
179
|
+
on_mouse_over: Optional[EventType[[]]] = None,
|
|
180
|
+
on_mouse_up: Optional[EventType[[]]] = None,
|
|
181
|
+
on_scroll: Optional[EventType[[]]] = None,
|
|
182
|
+
on_unmount: Optional[EventType[[]]] = None,
|
|
245
183
|
**props,
|
|
246
184
|
) -> "SidebarTrigger":
|
|
247
185
|
"""Create the sidebar trigger component.
|
|
@@ -292,41 +230,21 @@ class Layout(Box):
|
|
|
292
230
|
class_name: Optional[Any] = None,
|
|
293
231
|
autofocus: Optional[bool] = None,
|
|
294
232
|
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
295
|
-
on_blur: Optional[
|
|
296
|
-
on_click: Optional[
|
|
297
|
-
on_context_menu: Optional[
|
|
298
|
-
|
|
299
|
-
] = None,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
] = None,
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
] = None,
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
] = None,
|
|
311
|
-
on_mouse_leave: Optional[
|
|
312
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
313
|
-
] = None,
|
|
314
|
-
on_mouse_move: Optional[
|
|
315
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
316
|
-
] = None,
|
|
317
|
-
on_mouse_out: Optional[
|
|
318
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
319
|
-
] = None,
|
|
320
|
-
on_mouse_over: Optional[
|
|
321
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
322
|
-
] = None,
|
|
323
|
-
on_mouse_up: Optional[
|
|
324
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
325
|
-
] = None,
|
|
326
|
-
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
327
|
-
on_unmount: Optional[
|
|
328
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
329
|
-
] = None,
|
|
233
|
+
on_blur: Optional[EventType[[]]] = None,
|
|
234
|
+
on_click: Optional[EventType[[]]] = None,
|
|
235
|
+
on_context_menu: Optional[EventType[[]]] = None,
|
|
236
|
+
on_double_click: Optional[EventType[[]]] = None,
|
|
237
|
+
on_focus: Optional[EventType[[]]] = None,
|
|
238
|
+
on_mount: Optional[EventType[[]]] = None,
|
|
239
|
+
on_mouse_down: Optional[EventType[[]]] = None,
|
|
240
|
+
on_mouse_enter: Optional[EventType[[]]] = None,
|
|
241
|
+
on_mouse_leave: Optional[EventType[[]]] = None,
|
|
242
|
+
on_mouse_move: Optional[EventType[[]]] = None,
|
|
243
|
+
on_mouse_out: Optional[EventType[[]]] = None,
|
|
244
|
+
on_mouse_over: Optional[EventType[[]]] = None,
|
|
245
|
+
on_mouse_up: Optional[EventType[[]]] = None,
|
|
246
|
+
on_scroll: Optional[EventType[[]]] = None,
|
|
247
|
+
on_unmount: Optional[EventType[[]]] = None,
|
|
330
248
|
**props,
|
|
331
249
|
) -> "Layout":
|
|
332
250
|
"""Create the layout component.
|
|
@@ -380,41 +298,21 @@ class LayoutNamespace(ComponentNamespace):
|
|
|
380
298
|
class_name: Optional[Any] = None,
|
|
381
299
|
autofocus: Optional[bool] = None,
|
|
382
300
|
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
383
|
-
on_blur: Optional[
|
|
384
|
-
on_click: Optional[
|
|
385
|
-
on_context_menu: Optional[
|
|
386
|
-
|
|
387
|
-
] = None,
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
] = None,
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
] = None,
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
] = None,
|
|
399
|
-
on_mouse_leave: Optional[
|
|
400
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
401
|
-
] = None,
|
|
402
|
-
on_mouse_move: Optional[
|
|
403
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
404
|
-
] = None,
|
|
405
|
-
on_mouse_out: Optional[
|
|
406
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
407
|
-
] = None,
|
|
408
|
-
on_mouse_over: Optional[
|
|
409
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
410
|
-
] = None,
|
|
411
|
-
on_mouse_up: Optional[
|
|
412
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
413
|
-
] = None,
|
|
414
|
-
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
415
|
-
on_unmount: Optional[
|
|
416
|
-
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
417
|
-
] = None,
|
|
301
|
+
on_blur: Optional[EventType[[]]] = None,
|
|
302
|
+
on_click: Optional[EventType[[]]] = None,
|
|
303
|
+
on_context_menu: Optional[EventType[[]]] = None,
|
|
304
|
+
on_double_click: Optional[EventType[[]]] = None,
|
|
305
|
+
on_focus: Optional[EventType[[]]] = None,
|
|
306
|
+
on_mount: Optional[EventType[[]]] = None,
|
|
307
|
+
on_mouse_down: Optional[EventType[[]]] = None,
|
|
308
|
+
on_mouse_enter: Optional[EventType[[]]] = None,
|
|
309
|
+
on_mouse_leave: Optional[EventType[[]]] = None,
|
|
310
|
+
on_mouse_move: Optional[EventType[[]]] = None,
|
|
311
|
+
on_mouse_out: Optional[EventType[[]]] = None,
|
|
312
|
+
on_mouse_over: Optional[EventType[[]]] = None,
|
|
313
|
+
on_mouse_up: Optional[EventType[[]]] = None,
|
|
314
|
+
on_scroll: Optional[EventType[[]]] = None,
|
|
315
|
+
on_unmount: Optional[EventType[[]]] = None,
|
|
418
316
|
**props,
|
|
419
317
|
) -> "Layout":
|
|
420
318
|
"""Create the layout component.
|
reflex/istate/dynamic.py
ADDED