reflex 0.5.4a3__py3-none-any.whl → 0.5.5__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 (260) hide show
  1. reflex/.templates/apps/demo/code/demo.py +1 -0
  2. reflex/.templates/apps/demo/code/pages/__init__.py +1 -0
  3. reflex/.templates/apps/demo/code/pages/datatable.py +1 -0
  4. reflex/.templates/apps/demo/code/pages/forms.py +1 -0
  5. reflex/.templates/apps/demo/code/pages/graphing.py +1 -0
  6. reflex/.templates/apps/demo/code/pages/home.py +1 -0
  7. reflex/.templates/apps/demo/code/styles.py +1 -0
  8. reflex/.templates/apps/demo/code/webui/components/loading_icon.py +1 -8
  9. reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +27 -12
  10. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +19 -5
  11. reflex/.templates/web/utils/state.js +73 -7
  12. reflex/__init__.py +3 -0
  13. reflex/__init__.pyi +3 -0
  14. reflex/admin.py +1 -0
  15. reflex/app.py +8 -6
  16. reflex/app_module_for_backend.py +2 -1
  17. reflex/base.py +4 -4
  18. reflex/compiler/compiler.py +4 -3
  19. reflex/compiler/templates.py +2 -0
  20. reflex/compiler/utils.py +58 -35
  21. reflex/components/__init__.py +1 -0
  22. reflex/components/base/__init__.py +1 -0
  23. reflex/components/base/app_wrap.py +1 -0
  24. reflex/components/base/fragment.py +1 -0
  25. reflex/components/base/link.py +0 -1
  26. reflex/components/base/script.py +11 -15
  27. reflex/components/base/script.pyi +1 -2
  28. reflex/components/chakra/base.py +15 -13
  29. reflex/components/chakra/base.pyi +3 -1
  30. reflex/components/chakra/datadisplay/code.py +1 -0
  31. reflex/components/chakra/datadisplay/divider.py +1 -0
  32. reflex/components/chakra/datadisplay/table.py +1 -0
  33. reflex/components/chakra/datadisplay/table.pyi +3 -0
  34. reflex/components/chakra/datadisplay/tag.py +1 -0
  35. reflex/components/chakra/disclosure/transition.py +1 -0
  36. reflex/components/chakra/feedback/circularprogress.py +1 -0
  37. reflex/components/chakra/forms/button.py +1 -0
  38. reflex/components/chakra/forms/checkbox.py +4 -13
  39. reflex/components/chakra/forms/checkbox.pyi +1 -3
  40. reflex/components/chakra/forms/colormodeswitch.py +1 -0
  41. reflex/components/chakra/forms/editable.py +13 -16
  42. reflex/components/chakra/forms/editable.pyi +1 -3
  43. reflex/components/chakra/forms/form.py +1 -0
  44. reflex/components/chakra/forms/input.py +22 -21
  45. reflex/components/chakra/forms/input.pyi +4 -4
  46. reflex/components/chakra/forms/multiselect.py +1 -0
  47. reflex/components/chakra/forms/numberinput.py +3 -12
  48. reflex/components/chakra/forms/numberinput.pyi +1 -3
  49. reflex/components/chakra/forms/pininput.py +8 -14
  50. reflex/components/chakra/forms/pininput.pyi +2 -3
  51. reflex/components/chakra/forms/radio.py +4 -13
  52. reflex/components/chakra/forms/radio.pyi +2 -3
  53. reflex/components/chakra/forms/rangeslider.py +10 -13
  54. reflex/components/chakra/forms/rangeslider.pyi +2 -3
  55. reflex/components/chakra/forms/select.py +4 -12
  56. reflex/components/chakra/forms/select.pyi +2 -3
  57. reflex/components/chakra/forms/slider.py +10 -13
  58. reflex/components/chakra/forms/slider.pyi +2 -3
  59. reflex/components/chakra/forms/switch.py +4 -13
  60. reflex/components/chakra/forms/switch.pyi +1 -3
  61. reflex/components/chakra/forms/textarea.py +16 -17
  62. reflex/components/chakra/forms/textarea.pyi +1 -3
  63. reflex/components/chakra/media/avatar.py +4 -12
  64. reflex/components/chakra/media/avatar.pyi +1 -2
  65. reflex/components/chakra/media/icon.py +1 -0
  66. reflex/components/chakra/media/image.py +7 -11
  67. reflex/components/chakra/media/image.pyi +2 -2
  68. reflex/components/chakra/navigation/link.py +8 -4
  69. reflex/components/chakra/navigation/link.pyi +2 -1
  70. reflex/components/chakra/overlay/alertdialog.py +12 -14
  71. reflex/components/chakra/overlay/alertdialog.pyi +1 -2
  72. reflex/components/chakra/overlay/drawer.py +12 -14
  73. reflex/components/chakra/overlay/drawer.pyi +1 -2
  74. reflex/components/chakra/overlay/menu.py +7 -11
  75. reflex/components/chakra/overlay/menu.pyi +2 -2
  76. reflex/components/chakra/overlay/modal.py +13 -13
  77. reflex/components/chakra/overlay/modal.pyi +2 -2
  78. reflex/components/chakra/overlay/popover.py +6 -12
  79. reflex/components/chakra/overlay/popover.pyi +1 -2
  80. reflex/components/chakra/overlay/tooltip.py +7 -13
  81. reflex/components/chakra/overlay/tooltip.pyi +1 -2
  82. reflex/components/chakra/typography/heading.py +0 -1
  83. reflex/components/chakra/typography/span.py +1 -0
  84. reflex/components/chakra/typography/text.py +1 -0
  85. reflex/components/component.py +70 -43
  86. reflex/components/core/__init__.py +1 -0
  87. reflex/components/core/banner.py +27 -24
  88. reflex/components/core/banner.pyi +6 -2
  89. reflex/components/core/client_side_routing.py +1 -0
  90. reflex/components/core/cond.py +19 -17
  91. reflex/components/core/debounce.py +4 -11
  92. reflex/components/core/debounce.pyi +1 -1
  93. reflex/components/core/foreach.py +1 -0
  94. reflex/components/core/html.py +1 -0
  95. reflex/components/core/match.py +9 -6
  96. reflex/components/core/upload.py +26 -25
  97. reflex/components/core/upload.pyi +3 -4
  98. reflex/components/datadisplay/__init__.py +1 -0
  99. reflex/components/datadisplay/code.py +27 -23
  100. reflex/components/datadisplay/code.pyi +4 -2
  101. reflex/components/datadisplay/dataeditor.py +73 -80
  102. reflex/components/datadisplay/dataeditor.pyi +52 -4
  103. reflex/components/datadisplay/logo.py +1 -0
  104. reflex/components/el/__init__.py +1 -0
  105. reflex/components/el/__init__.pyi +8 -0
  106. reflex/components/el/element.py +0 -1
  107. reflex/components/el/elements/__init__.py +5 -0
  108. reflex/components/el/elements/__init__.pyi +12 -1
  109. reflex/components/el/elements/base.py +1 -0
  110. reflex/components/el/elements/forms.py +44 -61
  111. reflex/components/el/elements/forms.pyi +4 -6
  112. reflex/components/el/elements/inline.py +1 -0
  113. reflex/components/el/elements/media.py +53 -0
  114. reflex/components/el/elements/media.pyi +428 -0
  115. reflex/components/el/elements/metadata.py +11 -0
  116. reflex/components/el/elements/metadata.pyi +80 -0
  117. reflex/components/el/elements/other.py +1 -0
  118. reflex/components/el/elements/scripts.py +1 -0
  119. reflex/components/el/elements/tables.py +1 -0
  120. reflex/components/el/elements/typography.py +1 -0
  121. reflex/components/gridjs/datatable.py +9 -6
  122. reflex/components/gridjs/datatable.pyi +4 -1
  123. reflex/components/markdown/markdown.py +36 -41
  124. reflex/components/markdown/markdown.pyi +4 -3
  125. reflex/components/media/icon.py +1 -0
  126. reflex/components/moment/moment.py +11 -17
  127. reflex/components/moment/moment.pyi +4 -3
  128. reflex/components/next/base.py +1 -0
  129. reflex/components/next/image.py +6 -11
  130. reflex/components/next/image.pyi +2 -2
  131. reflex/components/plotly/plotly.py +1 -0
  132. reflex/components/props.py +1 -0
  133. reflex/components/radix/__init__.py +1 -0
  134. reflex/components/radix/primitives/__init__.py +1 -0
  135. reflex/components/radix/primitives/accordion.py +7 -15
  136. reflex/components/radix/primitives/accordion.pyi +7 -4
  137. reflex/components/radix/primitives/base.py +1 -0
  138. reflex/components/radix/primitives/drawer.py +17 -27
  139. reflex/components/radix/primitives/drawer.pyi +2 -4
  140. reflex/components/radix/primitives/form.py +4 -12
  141. reflex/components/radix/primitives/form.pyi +2 -3
  142. reflex/components/radix/primitives/slider.py +6 -11
  143. reflex/components/radix/primitives/slider.pyi +2 -2
  144. reflex/components/radix/themes/__init__.py +1 -0
  145. reflex/components/radix/themes/base.py +3 -3
  146. reflex/components/radix/themes/base.pyi +3 -2
  147. reflex/components/radix/themes/color_mode.py +31 -2
  148. reflex/components/radix/themes/color_mode.pyi +10 -1
  149. reflex/components/radix/themes/components/__init__.py +1 -0
  150. reflex/components/radix/themes/components/alert_dialog.py +13 -24
  151. reflex/components/radix/themes/components/alert_dialog.pyi +2 -4
  152. reflex/components/radix/themes/components/aspect_ratio.py +1 -0
  153. reflex/components/radix/themes/components/card.py +1 -0
  154. reflex/components/radix/themes/components/checkbox.py +6 -22
  155. reflex/components/radix/themes/components/checkbox.pyi +2 -4
  156. reflex/components/radix/themes/components/checkbox_group.py +15 -3
  157. reflex/components/radix/themes/components/checkbox_group.pyi +10 -2
  158. reflex/components/radix/themes/components/context_menu.py +29 -38
  159. reflex/components/radix/themes/components/context_menu.pyi +2 -5
  160. reflex/components/radix/themes/components/dialog.py +18 -26
  161. reflex/components/radix/themes/components/dialog.pyi +2 -4
  162. reflex/components/radix/themes/components/dropdown_menu.py +32 -57
  163. reflex/components/radix/themes/components/dropdown_menu.pyi +2 -7
  164. reflex/components/radix/themes/components/hover_card.py +5 -12
  165. reflex/components/radix/themes/components/hover_card.pyi +2 -3
  166. reflex/components/radix/themes/components/icon_button.py +1 -0
  167. reflex/components/radix/themes/components/icon_button.pyi +1 -0
  168. reflex/components/radix/themes/components/inset.py +1 -0
  169. reflex/components/radix/themes/components/popover.py +22 -27
  170. reflex/components/radix/themes/components/popover.pyi +2 -4
  171. reflex/components/radix/themes/components/radio_group.py +25 -17
  172. reflex/components/radix/themes/components/radio_group.pyi +2 -3
  173. reflex/components/radix/themes/components/scroll_area.py +1 -0
  174. reflex/components/radix/themes/components/segmented_control.py +18 -5
  175. reflex/components/radix/themes/components/segmented_control.pyi +16 -7
  176. reflex/components/radix/themes/components/select.py +13 -23
  177. reflex/components/radix/themes/components/select.pyi +1 -4
  178. reflex/components/radix/themes/components/separator.py +1 -0
  179. reflex/components/radix/themes/components/slider.py +7 -12
  180. reflex/components/radix/themes/components/slider.pyi +2 -3
  181. reflex/components/radix/themes/components/switch.py +5 -12
  182. reflex/components/radix/themes/components/switch.pyi +2 -3
  183. reflex/components/radix/themes/components/table.py +1 -0
  184. reflex/components/radix/themes/components/tabs.py +4 -11
  185. reflex/components/radix/themes/components/tabs.pyi +2 -2
  186. reflex/components/radix/themes/components/text_area.py +19 -18
  187. reflex/components/radix/themes/components/text_area.pyi +2 -3
  188. reflex/components/radix/themes/components/text_field.py +19 -18
  189. reflex/components/radix/themes/components/text_field.pyi +3 -3
  190. reflex/components/radix/themes/components/tooltip.py +10 -13
  191. reflex/components/radix/themes/components/tooltip.pyi +2 -3
  192. reflex/components/radix/themes/layout/__init__.py +1 -0
  193. reflex/components/radix/themes/layout/box.py +1 -0
  194. reflex/components/radix/themes/layout/container.py +1 -0
  195. reflex/components/radix/themes/layout/list.py +1 -0
  196. reflex/components/radix/themes/layout/list.pyi +1 -0
  197. reflex/components/radix/themes/layout/section.py +1 -0
  198. reflex/components/radix/themes/typography/__init__.py +1 -0
  199. reflex/components/radix/themes/typography/base.py +1 -0
  200. reflex/components/radix/themes/typography/blockquote.py +1 -0
  201. reflex/components/radix/themes/typography/code.py +1 -0
  202. reflex/components/radix/themes/typography/heading.py +1 -0
  203. reflex/components/radix/themes/typography/link.py +8 -3
  204. reflex/components/radix/themes/typography/link.pyi +2 -1
  205. reflex/components/react_player/audio.py +1 -0
  206. reflex/components/react_player/audio.pyi +48 -0
  207. reflex/components/react_player/react_player.py +49 -0
  208. reflex/components/react_player/react_player.pyi +49 -0
  209. reflex/components/react_player/video.py +1 -0
  210. reflex/components/react_player/video.pyi +48 -0
  211. reflex/components/recharts/__init__.py +1 -0
  212. reflex/components/recharts/cartesian.py +264 -74
  213. reflex/components/recharts/cartesian.pyi +573 -58
  214. reflex/components/recharts/charts.py +68 -78
  215. reflex/components/recharts/charts.pyi +373 -156
  216. reflex/components/recharts/general.py +52 -20
  217. reflex/components/recharts/general.pyi +52 -6
  218. reflex/components/recharts/polar.py +30 -18
  219. reflex/components/recharts/polar.pyi +66 -5
  220. reflex/components/recharts/recharts.py +5 -3
  221. reflex/components/recharts/recharts.pyi +2 -1
  222. reflex/components/sonner/toast.py +2 -2
  223. reflex/components/sonner/toast.pyi +1 -1
  224. reflex/components/suneditor/editor.py +39 -26
  225. reflex/components/suneditor/editor.pyi +4 -4
  226. reflex/components/tags/iter_tag.py +1 -0
  227. reflex/constants/__init__.py +3 -2
  228. reflex/constants/base.py +20 -21
  229. reflex/constants/compiler.py +3 -1
  230. reflex/constants/config.py +1 -0
  231. reflex/constants/event.py +1 -0
  232. reflex/constants/installer.py +3 -2
  233. reflex/constants/style.py +2 -8
  234. reflex/event.py +36 -6
  235. reflex/experimental/assets.py +1 -0
  236. reflex/experimental/client_state.py +9 -3
  237. reflex/experimental/hooks.py +1 -0
  238. reflex/experimental/misc.py +12 -3
  239. reflex/middleware/hydrate_middleware.py +1 -0
  240. reflex/middleware/middleware.py +1 -0
  241. reflex/state.py +38 -1
  242. reflex/style.py +67 -20
  243. reflex/testing.py +6 -2
  244. reflex/utils/build.py +76 -72
  245. reflex/utils/exec.py +17 -9
  246. reflex/utils/export.py +13 -9
  247. reflex/utils/imports.py +34 -5
  248. reflex/utils/lazy_loader.py +1 -0
  249. reflex/utils/path_ops.py +39 -33
  250. reflex/utils/prerequisites.py +38 -29
  251. reflex/utils/processes.py +1 -1
  252. reflex/utils/serializers.py +3 -6
  253. reflex/utils/watch.py +3 -1
  254. reflex/vars.py +26 -10
  255. reflex/vars.pyi +3 -3
  256. {reflex-0.5.4a3.dist-info → reflex-0.5.5.dist-info}/METADATA +3 -3
  257. {reflex-0.5.4a3.dist-info → reflex-0.5.5.dist-info}/RECORD +260 -260
  258. {reflex-0.5.4a3.dist-info → reflex-0.5.5.dist-info}/LICENSE +0 -0
  259. {reflex-0.5.4a3.dist-info → reflex-0.5.5.dist-info}/WHEEL +0 -0
  260. {reflex-0.5.4a3.dist-info → reflex-0.5.5.dist-info}/entry_points.txt +0 -0
@@ -1,10 +1,12 @@
1
1
  """An image component."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
- from typing import Any, Optional, Union
5
+ from typing import Any, Optional
5
6
 
6
7
  from reflex.components.chakra import ChakraComponent, LiteralImageLoading
7
8
  from reflex.components.component import Component
9
+ from reflex.event import EventHandler
8
10
  from reflex.vars import Var
9
11
 
10
12
 
@@ -49,17 +51,11 @@ class Image(ChakraComponent):
49
51
  # Learn more _[here](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images)_
50
52
  src_set: Var[str]
51
53
 
52
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
53
- """Get the event triggers for the component.
54
+ # Fired when the image fails to load.
55
+ on_error: EventHandler[lambda: []]
54
56
 
55
- Returns:
56
- The event triggers.
57
- """
58
- return {
59
- **super().get_event_triggers(),
60
- "on_error": lambda: [],
61
- "on_load": lambda: [],
62
- }
57
+ # Fired when the image is loaded.
58
+ on_load: EventHandler[lambda: []]
63
59
 
64
60
  @classmethod
65
61
  def create(cls, *children, **props) -> Component:
@@ -7,13 +7,13 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Optional, Union
10
+ from typing import Any, Optional
11
11
  from reflex.components.chakra import ChakraComponent, LiteralImageLoading
12
12
  from reflex.components.component import Component
13
+ from reflex.event import EventHandler
13
14
  from reflex.vars import Var
14
15
 
15
16
  class Image(ChakraComponent):
16
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
17
17
  @overload
18
18
  @classmethod
19
19
  def create( # type: ignore
@@ -1,10 +1,9 @@
1
1
  """A link component."""
2
2
 
3
-
4
3
  from reflex.components.chakra import ChakraComponent
5
4
  from reflex.components.component import Component
6
5
  from reflex.components.next.link import NextLink
7
- from reflex.utils import imports
6
+ from reflex.utils.imports import ImportDict
8
7
  from reflex.vars import BaseVar, Var
9
8
 
10
9
  next_link = NextLink.create()
@@ -32,8 +31,13 @@ class Link(ChakraComponent):
32
31
  # If true, the link will open in new tab.
33
32
  is_external: Var[bool]
34
33
 
35
- def _get_imports(self) -> imports.ImportDict:
36
- return {**super()._get_imports(), **next_link._get_imports()}
34
+ def add_imports(self) -> ImportDict:
35
+ """Add imports for the link component.
36
+
37
+ Returns:
38
+ The import dict.
39
+ """
40
+ return next_link._get_imports() # type: ignore
37
41
 
38
42
  @classmethod
39
43
  def create(cls, *children, **props) -> Component:
@@ -10,12 +10,13 @@ from reflex.style import Style
10
10
  from reflex.components.chakra import ChakraComponent
11
11
  from reflex.components.component import Component
12
12
  from reflex.components.next.link import NextLink
13
- from reflex.utils import imports
13
+ from reflex.utils.imports import ImportDict
14
14
  from reflex.vars import BaseVar, Var
15
15
 
16
16
  next_link = NextLink.create()
17
17
 
18
18
  class Link(ChakraComponent):
19
+ def add_imports(self) -> ImportDict: ...
19
20
  @overload
20
21
  @classmethod
21
22
  def create( # type: ignore
@@ -1,11 +1,11 @@
1
1
  """Alert dialog components."""
2
- from __future__ import annotations
3
2
 
4
- from typing import Any, Union
3
+ from __future__ import annotations
5
4
 
6
5
  from reflex.components.chakra import ChakraComponent, LiteralAlertDialogSize
7
6
  from reflex.components.chakra.media.icon import Icon
8
7
  from reflex.components.component import Component
8
+ from reflex.event import EventHandler
9
9
  from reflex.vars import Var
10
10
 
11
11
 
@@ -53,19 +53,17 @@ class AlertDialog(ChakraComponent):
53
53
  # If true, the siblings of the modal will have `aria-hidden` set to true so that screen readers can only see the modal. This is commonly known as making the other elements **inert**
54
54
  use_inert: Var[bool]
55
55
 
56
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
57
- """Get the event triggers for the component.
56
+ # Fired when the modal is closing.
57
+ on_close: EventHandler[lambda: []]
58
58
 
59
- Returns:
60
- The event triggers.
61
- """
62
- return {
63
- **super().get_event_triggers(),
64
- "on_close": lambda: [],
65
- "on_close_complete": lambda: [],
66
- "on_esc": lambda: [],
67
- "on_overlay_click": lambda: [],
68
- }
59
+ # Fired when the modal is closed and the exit animation is complete.
60
+ on_close_complete: EventHandler[lambda: []]
61
+
62
+ # Fired when the Esc key is pressed.
63
+ on_esc: EventHandler[lambda: []]
64
+
65
+ # Fired when the overlay is clicked.
66
+ on_overlay_click: EventHandler[lambda: []]
69
67
 
70
68
  @classmethod
71
69
  def create(
@@ -7,14 +7,13 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Union
11
10
  from reflex.components.chakra import ChakraComponent, LiteralAlertDialogSize
12
11
  from reflex.components.chakra.media.icon import Icon
13
12
  from reflex.components.component import Component
13
+ from reflex.event import EventHandler
14
14
  from reflex.vars import Var
15
15
 
16
16
  class AlertDialog(ChakraComponent):
17
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
18
17
  @overload
19
18
  @classmethod
20
19
  def create( # type: ignore
@@ -1,7 +1,6 @@
1
1
  """Container to stack elements with spacing."""
2
- from __future__ import annotations
3
2
 
4
- from typing import Any, Union
3
+ from __future__ import annotations
5
4
 
6
5
  from reflex.components.chakra import (
7
6
  ChakraComponent,
@@ -10,6 +9,7 @@ from reflex.components.chakra import (
10
9
  )
11
10
  from reflex.components.chakra.media.icon import Icon
12
11
  from reflex.components.component import Component
12
+ from reflex.event import EventHandler
13
13
  from reflex.vars import Var
14
14
 
15
15
 
@@ -69,19 +69,17 @@ class Drawer(ChakraComponent):
69
69
  # | "purple" | "pink" | "linkedin" | "facebook" | "messenger" | "whatsapp" | "twitter" | "telegram"
70
70
  color_scheme: Var[LiteralColorScheme]
71
71
 
72
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
73
- """Get the event triggers for the component.
72
+ # Fired when the modal is closing.
73
+ on_close: EventHandler[lambda: []]
74
74
 
75
- Returns:
76
- The event triggers.
77
- """
78
- return {
79
- **super().get_event_triggers(),
80
- "on_close": lambda: [],
81
- "on_close_complete": lambda: [],
82
- "on_esc": lambda: [],
83
- "on_overlay_click": lambda: [],
84
- }
75
+ # Fired when the modal is closed and the exit animation is complete.
76
+ on_close_complete: EventHandler[lambda: []]
77
+
78
+ # Fired when the Esc key is pressed.
79
+ on_esc: EventHandler[lambda: []]
80
+
81
+ # Fired when the overlay is clicked.
82
+ on_overlay_click: EventHandler[lambda: []]
85
83
 
86
84
  @classmethod
87
85
  def create(
@@ -7,7 +7,6 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Union
11
10
  from reflex.components.chakra import (
12
11
  ChakraComponent,
13
12
  LiteralColorScheme,
@@ -15,10 +14,10 @@ from reflex.components.chakra import (
15
14
  )
16
15
  from reflex.components.chakra.media.icon import Icon
17
16
  from reflex.components.component import Component
17
+ from reflex.event import EventHandler
18
18
  from reflex.vars import Var
19
19
 
20
20
  class Drawer(ChakraComponent):
21
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
22
21
  @overload
23
22
  @classmethod
24
23
  def create( # type: ignore
@@ -1,7 +1,8 @@
1
1
  """Menu components."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
- from typing import Any, List, Optional, Union
5
+ from typing import List, Optional
5
6
 
6
7
  from reflex.components.chakra import (
7
8
  ChakraComponent,
@@ -11,6 +12,7 @@ from reflex.components.chakra import (
11
12
  )
12
13
  from reflex.components.chakra.forms.button import Button
13
14
  from reflex.components.component import Component
15
+ from reflex.event import EventHandler
14
16
  from reflex.vars import Var
15
17
 
16
18
 
@@ -67,17 +69,11 @@ class Menu(ChakraComponent):
67
69
  # The CSS positioning strategy to use. ("fixed" | "absolute")
68
70
  strategy: Var[LiteralMenuStrategy]
69
71
 
70
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
71
- """Get the event triggers for the component.
72
+ # Fired when the menu is closed.
73
+ on_close: EventHandler[lambda: []]
72
74
 
73
- Returns:
74
- The event triggers.
75
- """
76
- return {
77
- **super().get_event_triggers(),
78
- "on_close": lambda: [],
79
- "on_open": lambda: [],
80
- }
75
+ # Fired when the menu is opened.
76
+ on_open: EventHandler[lambda: []]
81
77
 
82
78
  @classmethod
83
79
  def create(
@@ -7,7 +7,7 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, List, Optional, Union
10
+ from typing import List, Optional
11
11
  from reflex.components.chakra import (
12
12
  ChakraComponent,
13
13
  LiteralChakraDirection,
@@ -16,10 +16,10 @@ from reflex.components.chakra import (
16
16
  )
17
17
  from reflex.components.chakra.forms.button import Button
18
18
  from reflex.components.component import Component
19
+ from reflex.event import EventHandler
19
20
  from reflex.vars import Var
20
21
 
21
22
  class Menu(ChakraComponent):
22
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
23
23
  @overload
24
24
  @classmethod
25
25
  def create( # type: ignore
@@ -1,11 +1,13 @@
1
1
  """Modal components."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
- from typing import Any, Literal, Optional, Union
5
+ from typing import Literal, Optional, Union
5
6
 
6
7
  from reflex.components.chakra import ChakraComponent
7
8
  from reflex.components.chakra.media import Icon
8
9
  from reflex.components.component import Component
10
+ from reflex.event import EventHandler
9
11
  from reflex.vars import Var
10
12
 
11
13
  ModalSizes = Literal["xs", "sm", "md", "lg", "xl", "full"]
@@ -55,19 +57,17 @@ class Modal(ChakraComponent):
55
57
  # A11y: If true, the siblings of the modal will have `aria-hidden` set to true so that screen readers can only see the modal. This is commonly known as making the other elements **inert**
56
58
  use_inert: Var[bool]
57
59
 
58
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
59
- """Get the event triggers for the component.
60
+ # Fired when the modal is closing.
61
+ on_close: EventHandler[lambda: []]
60
62
 
61
- Returns:
62
- The event triggers.
63
- """
64
- return {
65
- **super().get_event_triggers(),
66
- "on_close": lambda: [],
67
- "on_close_complete": lambda: [],
68
- "on_esc": lambda: [],
69
- "on_overlay_click": lambda: [],
70
- }
63
+ # Fired when the modal is closed and the exit animation is complete.
64
+ on_close_complete: EventHandler[lambda: []]
65
+
66
+ # Fired when the Esc key is pressed.
67
+ on_esc: EventHandler[lambda: []]
68
+
69
+ # Fired when the overlay is clicked.
70
+ on_overlay_click: EventHandler[lambda: []]
71
71
 
72
72
  @classmethod
73
73
  def create(
@@ -7,16 +7,16 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Literal, Optional, Union
10
+ from typing import Literal, Optional, Union
11
11
  from reflex.components.chakra import ChakraComponent
12
12
  from reflex.components.chakra.media import Icon
13
13
  from reflex.components.component import Component
14
+ from reflex.event import EventHandler
14
15
  from reflex.vars import Var
15
16
 
16
17
  ModalSizes = Literal["xs", "sm", "md", "lg", "xl", "full"]
17
18
 
18
19
  class Modal(ChakraComponent):
19
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
20
20
  @overload
21
21
  @classmethod
22
22
  def create( # type: ignore
@@ -1,7 +1,6 @@
1
1
  """Popover components."""
2
- from __future__ import annotations
3
2
 
4
- from typing import Any, Union
3
+ from __future__ import annotations
5
4
 
6
5
  from reflex.components.chakra import (
7
6
  ChakraComponent,
@@ -10,6 +9,7 @@ from reflex.components.chakra import (
10
9
  LiteralPopOverTrigger,
11
10
  )
12
11
  from reflex.components.component import Component
12
+ from reflex.event import EventHandler
13
13
  from reflex.vars import Var
14
14
 
15
15
 
@@ -81,17 +81,11 @@ class Popover(ChakraComponent):
81
81
  # The interaction that triggers the popover. hover - means the popover will open when you hover with mouse or focus with keyboard on the popover trigger click - means the popover will open on click or press Enter to Space on keyboard ("click" | "hover")
82
82
  trigger: Var[LiteralPopOverTrigger]
83
83
 
84
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
85
- """Get the event triggers for the component.
84
+ # Fired when the popover is closed.
85
+ on_close: EventHandler[lambda: []]
86
86
 
87
- Returns:
88
- The event triggers.
89
- """
90
- return {
91
- **super().get_event_triggers(),
92
- "on_close": lambda: [],
93
- "on_open": lambda: [],
94
- }
87
+ # Fired when the popover is opened.
88
+ on_open: EventHandler[lambda: []]
95
89
 
96
90
  @classmethod
97
91
  def create(
@@ -7,7 +7,6 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Union
11
10
  from reflex.components.chakra import (
12
11
  ChakraComponent,
13
12
  LiteralChakraDirection,
@@ -15,10 +14,10 @@ from reflex.components.chakra import (
15
14
  LiteralPopOverTrigger,
16
15
  )
17
16
  from reflex.components.component import Component
17
+ from reflex.event import EventHandler
18
18
  from reflex.vars import Var
19
19
 
20
20
  class Popover(ChakraComponent):
21
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
22
21
  @overload
23
22
  @classmethod
24
23
  def create( # type: ignore
@@ -1,9 +1,9 @@
1
1
  """Tooltip components."""
2
- from __future__ import annotations
3
2
 
4
- from typing import Any, Union
3
+ from __future__ import annotations
5
4
 
6
5
  from reflex.components.chakra import ChakraComponent, LiteralChakraDirection
6
+ from reflex.event import EventHandler
7
7
  from reflex.vars import Var
8
8
 
9
9
 
@@ -63,14 +63,8 @@ class Tooltip(ChakraComponent):
63
63
  # If true, the tooltip will wrap its children in a `<span/>` with `tabIndex=0`
64
64
  should_wrap_children: Var[bool]
65
65
 
66
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]:
67
- """Get the event triggers for the component.
68
-
69
- Returns:
70
- The event triggers.
71
- """
72
- return {
73
- **super().get_event_triggers(),
74
- "on_close": lambda: [],
75
- "on_open": lambda: [],
76
- }
66
+ # Fired when the tooltip is closing.
67
+ on_close: EventHandler[lambda: []]
68
+
69
+ # Fired when the tooltip is opened.
70
+ on_open: EventHandler[lambda: []]
@@ -7,12 +7,11 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Union
11
10
  from reflex.components.chakra import ChakraComponent, LiteralChakraDirection
11
+ from reflex.event import EventHandler
12
12
  from reflex.vars import Var
13
13
 
14
14
  class Tooltip(ChakraComponent):
15
- def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
16
15
  @overload
17
16
  @classmethod
18
17
  def create( # type: ignore
@@ -1,6 +1,5 @@
1
1
  """A heading component."""
2
2
 
3
-
4
3
  from reflex.components.chakra import ChakraComponent, LiteralHeadingSize
5
4
  from reflex.vars import Var
6
5
 
@@ -1,4 +1,5 @@
1
1
  """A span component."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
5
  from reflex.components.chakra import ChakraComponent
@@ -1,4 +1,5 @@
1
1
  """A text component."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
5
  from reflex.components.chakra import ChakraComponent