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.

Files changed (177) hide show
  1. reflex/__init__.py +3 -2
  2. reflex/__init__.pyi +3 -1
  3. reflex/components/base/app_wrap.pyi +17 -37
  4. reflex/components/base/body.pyi +17 -37
  5. reflex/components/base/document.pyi +77 -177
  6. reflex/components/base/error_boundary.pyi +18 -38
  7. reflex/components/base/fragment.pyi +17 -37
  8. reflex/components/base/head.pyi +32 -72
  9. reflex/components/base/link.pyi +32 -72
  10. reflex/components/base/meta.pyi +62 -142
  11. reflex/components/base/script.py +4 -4
  12. reflex/components/base/script.pyi +20 -40
  13. reflex/components/component.py +12 -2
  14. reflex/components/core/banner.pyi +77 -177
  15. reflex/components/core/client_side_routing.pyi +32 -72
  16. reflex/components/core/clipboard.py +3 -3
  17. reflex/components/core/clipboard.pyi +18 -38
  18. reflex/components/core/debounce.py +2 -2
  19. reflex/components/core/debounce.pyi +18 -38
  20. reflex/components/core/html.pyi +17 -37
  21. reflex/components/core/upload.py +4 -5
  22. reflex/components/core/upload.pyi +65 -145
  23. reflex/components/datadisplay/code.pyi +32 -72
  24. reflex/components/datadisplay/dataeditor.py +13 -13
  25. reflex/components/datadisplay/dataeditor.pyi +33 -83
  26. reflex/components/dynamic.py +6 -7
  27. reflex/components/el/__init__.pyi +1 -0
  28. reflex/components/el/element.pyi +17 -37
  29. reflex/components/el/elements/base.pyi +17 -37
  30. reflex/components/el/elements/forms.py +29 -14
  31. reflex/components/el/elements/forms.pyi +222 -504
  32. reflex/components/el/elements/inline.pyi +422 -982
  33. reflex/components/el/elements/media.pyi +377 -877
  34. reflex/components/el/elements/metadata.pyi +92 -212
  35. reflex/components/el/elements/other.pyi +107 -247
  36. reflex/components/el/elements/scripts.pyi +47 -107
  37. reflex/components/el/elements/sectioning.pyi +227 -527
  38. reflex/components/el/elements/tables.pyi +152 -352
  39. reflex/components/el/elements/typography.pyi +227 -527
  40. reflex/components/gridjs/datatable.py +2 -2
  41. reflex/components/gridjs/datatable.pyi +32 -72
  42. reflex/components/lucide/icon.pyi +32 -72
  43. reflex/components/markdown/markdown.pyi +16 -36
  44. reflex/components/moment/moment.py +2 -2
  45. reflex/components/moment/moment.pyi +18 -38
  46. reflex/components/next/base.pyi +17 -37
  47. reflex/components/next/image.py +3 -3
  48. reflex/components/next/image.pyi +19 -39
  49. reflex/components/next/link.pyi +17 -37
  50. reflex/components/next/video.pyi +17 -37
  51. reflex/components/plotly/plotly.py +1 -1
  52. reflex/components/plotly/plotly.pyi +35 -87
  53. reflex/components/radix/primitives/accordion.py +14 -2
  54. reflex/components/radix/primitives/accordion.pyi +110 -250
  55. reflex/components/radix/primitives/base.pyi +32 -72
  56. reflex/components/radix/primitives/drawer.py +30 -12
  57. reflex/components/radix/primitives/drawer.pyi +159 -373
  58. reflex/components/radix/primitives/form.py +3 -3
  59. reflex/components/radix/primitives/form.pyi +158 -364
  60. reflex/components/radix/primitives/progress.pyi +77 -177
  61. reflex/components/radix/primitives/slider.py +17 -3
  62. reflex/components/radix/primitives/slider.pyi +81 -183
  63. reflex/components/radix/themes/base.pyi +107 -247
  64. reflex/components/radix/themes/color_mode.pyi +48 -117
  65. reflex/components/radix/themes/components/alert_dialog.py +5 -5
  66. reflex/components/radix/themes/components/alert_dialog.pyi +111 -259
  67. reflex/components/radix/themes/components/aspect_ratio.pyi +17 -37
  68. reflex/components/radix/themes/components/avatar.pyi +17 -37
  69. reflex/components/radix/themes/components/badge.pyi +17 -37
  70. reflex/components/radix/themes/components/button.pyi +17 -37
  71. reflex/components/radix/themes/components/callout.pyi +77 -177
  72. reflex/components/radix/themes/components/card.pyi +17 -37
  73. reflex/components/radix/themes/components/checkbox.py +3 -3
  74. reflex/components/radix/themes/components/checkbox.pyi +50 -110
  75. reflex/components/radix/themes/components/checkbox_cards.pyi +32 -72
  76. reflex/components/radix/themes/components/checkbox_group.pyi +32 -72
  77. reflex/components/radix/themes/components/context_menu.py +11 -11
  78. reflex/components/radix/themes/components/context_menu.pyi +132 -312
  79. reflex/components/radix/themes/components/data_list.pyi +62 -142
  80. reflex/components/radix/themes/components/dialog.py +7 -7
  81. reflex/components/radix/themes/components/dialog.pyi +114 -268
  82. reflex/components/radix/themes/components/dropdown_menu.py +13 -13
  83. reflex/components/radix/themes/components/dropdown_menu.pyi +134 -316
  84. reflex/components/radix/themes/components/hover_card.py +2 -2
  85. reflex/components/radix/themes/components/hover_card.pyi +64 -148
  86. reflex/components/radix/themes/components/icon_button.pyi +17 -37
  87. reflex/components/radix/themes/components/inset.pyi +17 -37
  88. reflex/components/radix/themes/components/popover.py +8 -8
  89. reflex/components/radix/themes/components/popover.pyi +69 -163
  90. reflex/components/radix/themes/components/progress.pyi +17 -37
  91. reflex/components/radix/themes/components/radio.pyi +17 -37
  92. reflex/components/radix/themes/components/radio_cards.py +2 -2
  93. reflex/components/radix/themes/components/radio_cards.pyi +33 -75
  94. reflex/components/radix/themes/components/radio_group.py +4 -4
  95. reflex/components/radix/themes/components/radio_group.pyi +63 -143
  96. reflex/components/radix/themes/components/scroll_area.pyi +17 -37
  97. reflex/components/radix/themes/components/segmented_control.py +14 -2
  98. reflex/components/radix/themes/components/segmented_control.pyi +35 -73
  99. reflex/components/radix/themes/components/select.py +6 -5
  100. reflex/components/radix/themes/components/select.pyi +146 -338
  101. reflex/components/radix/themes/components/separator.pyi +17 -37
  102. reflex/components/radix/themes/components/skeleton.pyi +17 -37
  103. reflex/components/radix/themes/components/slider.py +19 -3
  104. reflex/components/radix/themes/components/slider.pyi +23 -41
  105. reflex/components/radix/themes/components/spinner.pyi +17 -37
  106. reflex/components/radix/themes/components/switch.py +2 -2
  107. reflex/components/radix/themes/components/switch.pyi +18 -38
  108. reflex/components/radix/themes/components/table.pyi +107 -247
  109. reflex/components/radix/themes/components/tabs.py +2 -2
  110. reflex/components/radix/themes/components/tabs.pyi +79 -179
  111. reflex/components/radix/themes/components/text_area.py +0 -16
  112. reflex/components/radix/themes/components/text_area.pyi +20 -42
  113. reflex/components/radix/themes/components/text_field.py +6 -6
  114. reflex/components/radix/themes/components/text_field.pyi +53 -117
  115. reflex/components/radix/themes/components/tooltip.py +4 -4
  116. reflex/components/radix/themes/components/tooltip.pyi +20 -46
  117. reflex/components/radix/themes/layout/base.pyi +17 -37
  118. reflex/components/radix/themes/layout/box.pyi +17 -37
  119. reflex/components/radix/themes/layout/center.pyi +17 -37
  120. reflex/components/radix/themes/layout/container.pyi +17 -37
  121. reflex/components/radix/themes/layout/flex.pyi +17 -37
  122. reflex/components/radix/themes/layout/grid.pyi +17 -37
  123. reflex/components/radix/themes/layout/list.pyi +77 -177
  124. reflex/components/radix/themes/layout/section.pyi +17 -37
  125. reflex/components/radix/themes/layout/spacer.pyi +17 -37
  126. reflex/components/radix/themes/layout/stack.pyi +47 -107
  127. reflex/components/radix/themes/typography/blockquote.pyi +17 -37
  128. reflex/components/radix/themes/typography/code.pyi +17 -37
  129. reflex/components/radix/themes/typography/heading.pyi +17 -37
  130. reflex/components/radix/themes/typography/link.pyi +17 -37
  131. reflex/components/radix/themes/typography/text.pyi +107 -247
  132. reflex/components/react_player/audio.pyi +33 -69
  133. reflex/components/react_player/react_player.py +17 -17
  134. reflex/components/react_player/react_player.pyi +33 -69
  135. reflex/components/react_player/video.pyi +33 -69
  136. reflex/components/recharts/cartesian.py +215 -185
  137. reflex/components/recharts/cartesian.pyi +623 -832
  138. reflex/components/recharts/charts.py +57 -54
  139. reflex/components/recharts/charts.pyi +213 -433
  140. reflex/components/recharts/general.py +27 -21
  141. reflex/components/recharts/general.pyi +94 -189
  142. reflex/components/recharts/polar.py +115 -77
  143. reflex/components/recharts/polar.pyi +219 -229
  144. reflex/components/recharts/recharts.py +5 -1
  145. reflex/components/recharts/recharts.pyi +37 -73
  146. reflex/components/sonner/toast.py +1 -1
  147. reflex/components/sonner/toast.pyi +17 -37
  148. reflex/components/suneditor/editor.pyi +26 -52
  149. reflex/components/tags/iter_tag.py +2 -2
  150. reflex/config.py +16 -0
  151. reflex/constants/__init__.py +2 -0
  152. reflex/constants/compiler.py +25 -0
  153. reflex/constants/installer.py +17 -16
  154. reflex/constants/state.py +11 -0
  155. reflex/constants/style.py +1 -1
  156. reflex/event.py +237 -18
  157. reflex/experimental/layout.pyi +78 -180
  158. reflex/istate/dynamic.py +3 -0
  159. reflex/state.py +195 -118
  160. reflex/testing.py +8 -5
  161. reflex/utils/compat.py +1 -3
  162. reflex/utils/exceptions.py +8 -0
  163. reflex/utils/path_ops.py +2 -2
  164. reflex/utils/prerequisites.py +2 -2
  165. reflex/utils/pyi_generator.py +44 -4
  166. reflex/utils/registry.py +17 -3
  167. reflex/utils/telemetry.py +1 -3
  168. reflex/utils/types.py +60 -16
  169. reflex/vars/__init__.py +2 -0
  170. reflex/vars/base.py +127 -72
  171. reflex/vars/object.py +5 -1
  172. reflex/vars/sequence.py +10 -1
  173. {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/METADATA +3 -3
  174. {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/RECORD +177 -175
  175. {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/LICENSE +0 -0
  176. {reflex-0.6.2.post1.dist-info → reflex-0.6.3a1.dist-info}/WHEEL +0 -0
  177. {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 Target:
403
- """A Javascript event target."""
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
- checked: bool = False
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 FrontendEvent:
414
- """A Javascript event."""
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
- value: Any = None
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 arg_spec(
962
- *[
963
- Var(f"_{l_arg}").to(
964
- unwrap_var_annotation(annotations.get(l_arg, FrontendEvent))
965
- )
966
- for l_arg in spec.args
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
- FunctionStringVar.create("addEvents").call(
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()
@@ -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, Callable, Dict, List, Literal, Optional, Union, overload
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 EventHandler, EventSpec
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[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
55
- on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
56
- on_context_menu: Optional[
57
- Union[EventHandler, EventSpec, list, Callable, Var]
58
- ] = None,
59
- on_double_click: Optional[
60
- Union[EventHandler, EventSpec, list, Callable, Var]
61
- ] = None,
62
- on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
63
- on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
64
- on_mouse_down: Optional[
65
- Union[EventHandler, EventSpec, list, Callable, Var]
66
- ] = None,
67
- on_mouse_enter: Optional[
68
- Union[EventHandler, EventSpec, list, Callable, Var]
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[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
140
- on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
141
- on_context_menu: Optional[
142
- Union[EventHandler, EventSpec, list, Callable, Var]
143
- ] = None,
144
- on_double_click: Optional[
145
- Union[EventHandler, EventSpec, list, Callable, Var]
146
- ] = None,
147
- on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
148
- on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
149
- on_mouse_down: Optional[
150
- Union[EventHandler, EventSpec, list, Callable, Var]
151
- ] = None,
152
- on_mouse_enter: Optional[
153
- Union[EventHandler, EventSpec, list, Callable, Var]
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[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
211
- on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
212
- on_context_menu: Optional[
213
- Union[EventHandler, EventSpec, list, Callable, Var]
214
- ] = None,
215
- on_double_click: Optional[
216
- Union[EventHandler, EventSpec, list, Callable, Var]
217
- ] = None,
218
- on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
219
- on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
220
- on_mouse_down: Optional[
221
- Union[EventHandler, EventSpec, list, Callable, Var]
222
- ] = None,
223
- on_mouse_enter: Optional[
224
- Union[EventHandler, EventSpec, list, Callable, Var]
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[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
296
- on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
297
- on_context_menu: Optional[
298
- Union[EventHandler, EventSpec, list, Callable, Var]
299
- ] = None,
300
- on_double_click: Optional[
301
- Union[EventHandler, EventSpec, list, Callable, Var]
302
- ] = None,
303
- on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
304
- on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
305
- on_mouse_down: Optional[
306
- Union[EventHandler, EventSpec, list, Callable, Var]
307
- ] = None,
308
- on_mouse_enter: Optional[
309
- Union[EventHandler, EventSpec, list, Callable, Var]
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[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
384
- on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
385
- on_context_menu: Optional[
386
- Union[EventHandler, EventSpec, list, Callable, Var]
387
- ] = None,
388
- on_double_click: Optional[
389
- Union[EventHandler, EventSpec, list, Callable, Var]
390
- ] = None,
391
- on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
392
- on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
393
- on_mouse_down: Optional[
394
- Union[EventHandler, EventSpec, list, Callable, Var]
395
- ] = None,
396
- on_mouse_enter: Optional[
397
- Union[EventHandler, EventSpec, list, Callable, Var]
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.
@@ -0,0 +1,3 @@
1
+ """A container for dynamically generated states."""
2
+
3
+ # This page intentionally left blank.