reflex 0.7.14a6__py3-none-any.whl → 0.8.0a1__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 (206) hide show
  1. reflex/.templates/jinja/app/rxconfig.py.jinja2 +4 -1
  2. reflex/.templates/jinja/web/package.json.jinja2 +1 -1
  3. reflex/.templates/jinja/web/pages/_app.js.jinja2 +16 -10
  4. reflex/.templates/jinja/web/pages/_document.js.jinja2 +1 -1
  5. reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -1
  6. reflex/.templates/jinja/web/utils/context.js.jinja2 +25 -6
  7. reflex/.templates/web/app/entry.client.js +8 -0
  8. reflex/.templates/web/app/routes.js +10 -0
  9. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +12 -32
  10. reflex/.templates/web/postcss.config.js +1 -1
  11. reflex/.templates/web/react-router.config.js +6 -0
  12. reflex/.templates/web/utils/client_side_routing.js +21 -19
  13. reflex/.templates/web/utils/react-theme.js +89 -0
  14. reflex/.templates/web/utils/state.js +155 -67
  15. reflex/.templates/web/vite.config.js +32 -0
  16. reflex/__init__.py +1 -6
  17. reflex/__init__.pyi +0 -4
  18. reflex/app.py +52 -115
  19. reflex/base.py +1 -87
  20. reflex/compiler/compiler.py +40 -3
  21. reflex/compiler/utils.py +54 -28
  22. reflex/components/__init__.py +0 -2
  23. reflex/components/__init__.pyi +0 -3
  24. reflex/components/base/__init__.py +1 -5
  25. reflex/components/base/__init__.pyi +4 -6
  26. reflex/components/base/app_wrap.pyi +5 -4
  27. reflex/components/base/body.pyi +5 -4
  28. reflex/components/base/document.py +18 -14
  29. reflex/components/base/document.pyi +83 -27
  30. reflex/components/base/error_boundary.pyi +5 -4
  31. reflex/components/base/fragment.pyi +5 -4
  32. reflex/components/base/link.pyi +9 -7
  33. reflex/components/base/meta.pyi +17 -13
  34. reflex/components/base/script.py +60 -58
  35. reflex/components/base/script.pyi +246 -31
  36. reflex/components/base/strict_mode.pyi +5 -4
  37. reflex/components/component.py +109 -194
  38. reflex/components/core/__init__.py +1 -0
  39. reflex/components/core/__init__.pyi +1 -0
  40. reflex/components/core/auto_scroll.pyi +5 -4
  41. reflex/components/core/banner.pyi +25 -19
  42. reflex/components/core/client_side_routing.py +7 -6
  43. reflex/components/core/client_side_routing.pyi +6 -56
  44. reflex/components/core/clipboard.pyi +5 -4
  45. reflex/components/core/debounce.py +1 -0
  46. reflex/components/core/debounce.pyi +5 -4
  47. reflex/components/core/foreach.py +3 -2
  48. reflex/components/core/helmet.py +14 -0
  49. reflex/components/{next/base.pyi → core/helmet.pyi} +10 -7
  50. reflex/components/core/html.pyi +5 -4
  51. reflex/components/core/sticky.pyi +17 -13
  52. reflex/components/core/upload.py +2 -1
  53. reflex/components/core/upload.pyi +21 -16
  54. reflex/components/datadisplay/code.pyi +9 -7
  55. reflex/components/datadisplay/dataeditor.pyi +5 -4
  56. reflex/components/datadisplay/shiki_code_block.pyi +13 -10
  57. reflex/components/dynamic.py +4 -5
  58. reflex/components/el/element.pyi +5 -4
  59. reflex/components/el/elements/base.pyi +5 -4
  60. reflex/components/el/elements/forms.pyi +69 -52
  61. reflex/components/el/elements/inline.pyi +113 -85
  62. reflex/components/el/elements/media.pyi +105 -79
  63. reflex/components/el/elements/metadata.pyi +25 -19
  64. reflex/components/el/elements/other.pyi +29 -22
  65. reflex/components/el/elements/scripts.pyi +13 -10
  66. reflex/components/el/elements/sectioning.pyi +61 -46
  67. reflex/components/el/elements/tables.pyi +41 -31
  68. reflex/components/el/elements/typography.pyi +61 -46
  69. reflex/components/field.py +175 -0
  70. reflex/components/gridjs/datatable.py +2 -2
  71. reflex/components/gridjs/datatable.pyi +11 -9
  72. reflex/components/lucide/icon.py +6 -2
  73. reflex/components/lucide/icon.pyi +15 -10
  74. reflex/components/markdown/markdown.pyi +5 -4
  75. reflex/components/moment/moment.pyi +5 -4
  76. reflex/components/plotly/plotly.pyi +19 -10
  77. reflex/components/props.py +376 -27
  78. reflex/components/radix/primitives/accordion.py +8 -1
  79. reflex/components/radix/primitives/accordion.pyi +29 -22
  80. reflex/components/radix/primitives/base.pyi +9 -7
  81. reflex/components/radix/primitives/drawer.pyi +45 -34
  82. reflex/components/radix/primitives/form.pyi +41 -31
  83. reflex/components/radix/primitives/progress.pyi +21 -16
  84. reflex/components/radix/primitives/slider.pyi +21 -16
  85. reflex/components/radix/themes/base.py +3 -3
  86. reflex/components/radix/themes/base.pyi +33 -25
  87. reflex/components/radix/themes/color_mode.pyi +13 -10
  88. reflex/components/radix/themes/components/alert_dialog.pyi +29 -22
  89. reflex/components/radix/themes/components/aspect_ratio.pyi +5 -4
  90. reflex/components/radix/themes/components/avatar.pyi +5 -4
  91. reflex/components/radix/themes/components/badge.pyi +5 -4
  92. reflex/components/radix/themes/components/button.pyi +5 -4
  93. reflex/components/radix/themes/components/callout.pyi +21 -16
  94. reflex/components/radix/themes/components/card.pyi +5 -4
  95. reflex/components/radix/themes/components/checkbox.pyi +13 -10
  96. reflex/components/radix/themes/components/checkbox_cards.pyi +9 -7
  97. reflex/components/radix/themes/components/checkbox_group.pyi +9 -7
  98. reflex/components/radix/themes/components/context_menu.pyi +53 -40
  99. reflex/components/radix/themes/components/data_list.pyi +17 -13
  100. reflex/components/radix/themes/components/dialog.pyi +29 -22
  101. reflex/components/radix/themes/components/dropdown_menu.pyi +33 -25
  102. reflex/components/radix/themes/components/hover_card.pyi +17 -13
  103. reflex/components/radix/themes/components/icon_button.pyi +5 -4
  104. reflex/components/radix/themes/components/inset.pyi +5 -4
  105. reflex/components/radix/themes/components/popover.pyi +17 -13
  106. reflex/components/radix/themes/components/progress.pyi +5 -4
  107. reflex/components/radix/themes/components/radio.pyi +5 -4
  108. reflex/components/radix/themes/components/radio_cards.pyi +9 -7
  109. reflex/components/radix/themes/components/radio_group.pyi +17 -13
  110. reflex/components/radix/themes/components/scroll_area.pyi +5 -4
  111. reflex/components/radix/themes/components/segmented_control.pyi +9 -7
  112. reflex/components/radix/themes/components/select.pyi +37 -28
  113. reflex/components/radix/themes/components/separator.pyi +5 -4
  114. reflex/components/radix/themes/components/skeleton.pyi +5 -4
  115. reflex/components/radix/themes/components/slider.pyi +5 -4
  116. reflex/components/radix/themes/components/spinner.pyi +5 -4
  117. reflex/components/radix/themes/components/switch.pyi +5 -4
  118. reflex/components/radix/themes/components/table.pyi +29 -22
  119. reflex/components/radix/themes/components/tabs.pyi +21 -16
  120. reflex/components/radix/themes/components/text_area.pyi +5 -4
  121. reflex/components/radix/themes/components/text_field.pyi +13 -10
  122. reflex/components/radix/themes/components/tooltip.pyi +5 -4
  123. reflex/components/radix/themes/layout/base.pyi +5 -4
  124. reflex/components/radix/themes/layout/box.pyi +5 -4
  125. reflex/components/radix/themes/layout/center.pyi +5 -4
  126. reflex/components/radix/themes/layout/container.pyi +5 -4
  127. reflex/components/radix/themes/layout/flex.pyi +5 -4
  128. reflex/components/radix/themes/layout/grid.pyi +5 -4
  129. reflex/components/radix/themes/layout/list.pyi +21 -16
  130. reflex/components/radix/themes/layout/section.pyi +5 -4
  131. reflex/components/radix/themes/layout/spacer.pyi +5 -4
  132. reflex/components/radix/themes/layout/stack.pyi +13 -10
  133. reflex/components/radix/themes/typography/blockquote.pyi +5 -4
  134. reflex/components/radix/themes/typography/code.pyi +5 -4
  135. reflex/components/radix/themes/typography/heading.pyi +5 -4
  136. reflex/components/radix/themes/typography/link.py +42 -9
  137. reflex/components/radix/themes/typography/link.pyi +311 -6
  138. reflex/components/radix/themes/typography/text.pyi +29 -22
  139. reflex/components/react_player/audio.pyi +5 -4
  140. reflex/components/react_player/react_player.pyi +5 -4
  141. reflex/components/react_player/video.pyi +5 -4
  142. reflex/components/recharts/cartesian.py +2 -1
  143. reflex/components/recharts/cartesian.pyi +65 -46
  144. reflex/components/recharts/charts.py +4 -2
  145. reflex/components/recharts/charts.pyi +36 -24
  146. reflex/components/recharts/general.pyi +24 -18
  147. reflex/components/recharts/polar.py +8 -4
  148. reflex/components/recharts/polar.pyi +16 -10
  149. reflex/components/recharts/recharts.pyi +9 -7
  150. reflex/components/sonner/toast.py +2 -2
  151. reflex/components/sonner/toast.pyi +7 -6
  152. reflex/config.py +3 -77
  153. reflex/constants/__init__.py +1 -0
  154. reflex/constants/base.py +38 -8
  155. reflex/constants/compiler.py +4 -2
  156. reflex/constants/event.py +1 -0
  157. reflex/constants/installer.py +23 -16
  158. reflex/constants/state.py +2 -0
  159. reflex/custom_components/custom_components.py +0 -14
  160. reflex/environment.py +1 -1
  161. reflex/event.py +178 -81
  162. reflex/experimental/__init__.py +0 -30
  163. reflex/istate/proxy.py +5 -3
  164. reflex/page.py +0 -27
  165. reflex/plugins/__init__.py +3 -2
  166. reflex/plugins/base.py +5 -1
  167. reflex/plugins/shared_tailwind.py +158 -0
  168. reflex/plugins/sitemap.py +206 -0
  169. reflex/plugins/tailwind_v3.py +13 -106
  170. reflex/plugins/tailwind_v4.py +15 -108
  171. reflex/reflex.py +1 -0
  172. reflex/state.py +134 -140
  173. reflex/testing.py +57 -9
  174. reflex/utils/build.py +9 -69
  175. reflex/utils/exec.py +59 -161
  176. reflex/utils/export.py +1 -1
  177. reflex/utils/imports.py +0 -4
  178. reflex/utils/misc.py +28 -0
  179. reflex/utils/prerequisites.py +62 -59
  180. reflex/utils/processes.py +6 -6
  181. reflex/utils/pyi_generator.py +21 -9
  182. reflex/utils/serializers.py +14 -1
  183. reflex/utils/types.py +196 -61
  184. reflex/vars/__init__.py +2 -0
  185. reflex/vars/base.py +367 -134
  186. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/METADATA +12 -5
  187. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/RECORD +190 -197
  188. reflex/.templates/web/next.config.js +0 -7
  189. reflex/components/base/head.py +0 -20
  190. reflex/components/base/head.pyi +0 -116
  191. reflex/components/next/__init__.py +0 -10
  192. reflex/components/next/base.py +0 -7
  193. reflex/components/next/image.py +0 -117
  194. reflex/components/next/image.pyi +0 -94
  195. reflex/components/next/link.py +0 -20
  196. reflex/components/next/link.pyi +0 -67
  197. reflex/components/next/video.py +0 -38
  198. reflex/components/next/video.pyi +0 -68
  199. reflex/components/suneditor/__init__.py +0 -5
  200. reflex/components/suneditor/editor.py +0 -269
  201. reflex/components/suneditor/editor.pyi +0 -199
  202. reflex/experimental/layout.py +0 -254
  203. reflex/experimental/layout.pyi +0 -814
  204. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/WHEEL +0 -0
  205. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/entry_points.txt +0 -0
  206. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -8,7 +8,7 @@ from typing import Any, Literal, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.constants.colors import Color
11
- from reflex.event import EventType
11
+ from reflex.event import EventType, PointerEventInfo
12
12
  from reflex.vars.base import Var
13
13
 
14
14
  from .recharts import Recharts
@@ -117,8 +117,8 @@ class Axis(Recharts):
117
117
  custom_attrs: dict[str, Var | Any] | None = None,
118
118
  on_blur: EventType[()] | None = None,
119
119
  on_click: EventType[()] | None = None,
120
- on_context_menu: EventType[()] | None = None,
121
- on_double_click: EventType[()] | None = None,
120
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
121
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
122
122
  on_focus: EventType[()] | None = None,
123
123
  on_mount: EventType[()] | None = None,
124
124
  on_mouse_down: EventType[()] | None = None,
@@ -129,6 +129,7 @@ class Axis(Recharts):
129
129
  on_mouse_over: EventType[()] | None = None,
130
130
  on_mouse_up: EventType[()] | None = None,
131
131
  on_scroll: EventType[()] | None = None,
132
+ on_scroll_end: EventType[()] | None = None,
132
133
  on_unmount: EventType[()] | None = None,
133
134
  **props,
134
135
  ) -> Axis:
@@ -292,8 +293,8 @@ class XAxis(Axis):
292
293
  custom_attrs: dict[str, Var | Any] | None = None,
293
294
  on_blur: EventType[()] | None = None,
294
295
  on_click: EventType[()] | None = None,
295
- on_context_menu: EventType[()] | None = None,
296
- on_double_click: EventType[()] | None = None,
296
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
297
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
297
298
  on_focus: EventType[()] | None = None,
298
299
  on_mount: EventType[()] | None = None,
299
300
  on_mouse_down: EventType[()] | None = None,
@@ -304,6 +305,7 @@ class XAxis(Axis):
304
305
  on_mouse_over: EventType[()] | None = None,
305
306
  on_mouse_up: EventType[()] | None = None,
306
307
  on_scroll: EventType[()] | None = None,
308
+ on_scroll_end: EventType[()] | None = None,
307
309
  on_unmount: EventType[()] | None = None,
308
310
  **props,
309
311
  ) -> XAxis:
@@ -470,8 +472,8 @@ class YAxis(Axis):
470
472
  custom_attrs: dict[str, Var | Any] | None = None,
471
473
  on_blur: EventType[()] | None = None,
472
474
  on_click: EventType[()] | None = None,
473
- on_context_menu: EventType[()] | None = None,
474
- on_double_click: EventType[()] | None = None,
475
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
476
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
475
477
  on_focus: EventType[()] | None = None,
476
478
  on_mount: EventType[()] | None = None,
477
479
  on_mouse_down: EventType[()] | None = None,
@@ -482,6 +484,7 @@ class YAxis(Axis):
482
484
  on_mouse_over: EventType[()] | None = None,
483
485
  on_mouse_up: EventType[()] | None = None,
484
486
  on_scroll: EventType[()] | None = None,
487
+ on_scroll_end: EventType[()] | None = None,
485
488
  on_unmount: EventType[()] | None = None,
486
489
  **props,
487
490
  ) -> YAxis:
@@ -597,9 +600,9 @@ class ZAxis(Recharts):
597
600
  autofocus: bool | None = None,
598
601
  custom_attrs: dict[str, Var | Any] | None = None,
599
602
  on_blur: EventType[()] | None = None,
600
- on_click: EventType[()] | None = None,
601
- on_context_menu: EventType[()] | None = None,
602
- on_double_click: EventType[()] | None = None,
603
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
604
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
605
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
603
606
  on_focus: EventType[()] | None = None,
604
607
  on_mount: EventType[()] | None = None,
605
608
  on_mouse_down: EventType[()] | None = None,
@@ -610,6 +613,7 @@ class ZAxis(Recharts):
610
613
  on_mouse_over: EventType[()] | None = None,
611
614
  on_mouse_up: EventType[()] | None = None,
612
615
  on_scroll: EventType[()] | None = None,
616
+ on_scroll_end: EventType[()] | None = None,
613
617
  on_unmount: EventType[()] | None = None,
614
618
  **props,
615
619
  ) -> ZAxis:
@@ -637,7 +641,8 @@ class ZAxis(Recharts):
637
641
  """
638
642
 
639
643
  class Brush(Recharts):
640
- def get_event_triggers(self) -> dict[str, Var | Any]: ...
644
+ @classmethod
645
+ def get_event_triggers(cls) -> dict[str, Var | Any]: ...
641
646
  @overload
642
647
  @classmethod
643
648
  def create( # type: ignore
@@ -765,8 +770,8 @@ class Cartesian(Recharts):
765
770
  on_animation_start: EventType[()] | None = None,
766
771
  on_blur: EventType[()] | None = None,
767
772
  on_click: EventType[()] | None = None,
768
- on_context_menu: EventType[()] | None = None,
769
- on_double_click: EventType[()] | None = None,
773
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
774
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
770
775
  on_focus: EventType[()] | None = None,
771
776
  on_mount: EventType[()] | None = None,
772
777
  on_mouse_down: EventType[()] | None = None,
@@ -777,6 +782,7 @@ class Cartesian(Recharts):
777
782
  on_mouse_over: EventType[()] | None = None,
778
783
  on_mouse_up: EventType[()] | None = None,
779
784
  on_scroll: EventType[()] | None = None,
785
+ on_scroll_end: EventType[()] | None = None,
780
786
  on_unmount: EventType[()] | None = None,
781
787
  **props,
782
788
  ) -> Cartesian:
@@ -935,8 +941,8 @@ class Area(Cartesian):
935
941
  on_animation_start: EventType[()] | None = None,
936
942
  on_blur: EventType[()] | None = None,
937
943
  on_click: EventType[()] | None = None,
938
- on_context_menu: EventType[()] | None = None,
939
- on_double_click: EventType[()] | None = None,
944
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
945
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
940
946
  on_focus: EventType[()] | None = None,
941
947
  on_mount: EventType[()] | None = None,
942
948
  on_mouse_down: EventType[()] | None = None,
@@ -947,6 +953,7 @@ class Area(Cartesian):
947
953
  on_mouse_over: EventType[()] | None = None,
948
954
  on_mouse_up: EventType[()] | None = None,
949
955
  on_scroll: EventType[()] | None = None,
956
+ on_scroll_end: EventType[()] | None = None,
950
957
  on_unmount: EventType[()] | None = None,
951
958
  **props,
952
959
  ) -> Area:
@@ -1075,8 +1082,8 @@ class Bar(Cartesian):
1075
1082
  on_animation_start: EventType[()] | None = None,
1076
1083
  on_blur: EventType[()] | None = None,
1077
1084
  on_click: EventType[()] | None = None,
1078
- on_context_menu: EventType[()] | None = None,
1079
- on_double_click: EventType[()] | None = None,
1085
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1086
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1080
1087
  on_focus: EventType[()] | None = None,
1081
1088
  on_mount: EventType[()] | None = None,
1082
1089
  on_mouse_down: EventType[()] | None = None,
@@ -1087,6 +1094,7 @@ class Bar(Cartesian):
1087
1094
  on_mouse_over: EventType[()] | None = None,
1088
1095
  on_mouse_up: EventType[()] | None = None,
1089
1096
  on_scroll: EventType[()] | None = None,
1097
+ on_scroll_end: EventType[()] | None = None,
1090
1098
  on_unmount: EventType[()] | None = None,
1091
1099
  **props,
1092
1100
  ) -> Bar:
@@ -1250,8 +1258,8 @@ class Line(Cartesian):
1250
1258
  on_animation_start: EventType[()] | None = None,
1251
1259
  on_blur: EventType[()] | None = None,
1252
1260
  on_click: EventType[()] | None = None,
1253
- on_context_menu: EventType[()] | None = None,
1254
- on_double_click: EventType[()] | None = None,
1261
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1262
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1255
1263
  on_focus: EventType[()] | None = None,
1256
1264
  on_mount: EventType[()] | None = None,
1257
1265
  on_mouse_down: EventType[()] | None = None,
@@ -1262,6 +1270,7 @@ class Line(Cartesian):
1262
1270
  on_mouse_over: EventType[()] | None = None,
1263
1271
  on_mouse_up: EventType[()] | None = None,
1264
1272
  on_scroll: EventType[()] | None = None,
1273
+ on_scroll_end: EventType[()] | None = None,
1265
1274
  on_unmount: EventType[()] | None = None,
1266
1275
  **props,
1267
1276
  ) -> Line:
@@ -1386,8 +1395,8 @@ class Scatter(Recharts):
1386
1395
  custom_attrs: dict[str, Var | Any] | None = None,
1387
1396
  on_blur: EventType[()] | None = None,
1388
1397
  on_click: EventType[()] | None = None,
1389
- on_context_menu: EventType[()] | None = None,
1390
- on_double_click: EventType[()] | None = None,
1398
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1399
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1391
1400
  on_focus: EventType[()] | None = None,
1392
1401
  on_mount: EventType[()] | None = None,
1393
1402
  on_mouse_down: EventType[()] | None = None,
@@ -1398,6 +1407,7 @@ class Scatter(Recharts):
1398
1407
  on_mouse_over: EventType[()] | None = None,
1399
1408
  on_mouse_up: EventType[()] | None = None,
1400
1409
  on_scroll: EventType[()] | None = None,
1410
+ on_scroll_end: EventType[()] | None = None,
1401
1411
  on_unmount: EventType[()] | None = None,
1402
1412
  **props,
1403
1413
  ) -> Scatter:
@@ -1505,8 +1515,8 @@ class Funnel(Recharts):
1505
1515
  on_animation_start: EventType[()] | None = None,
1506
1516
  on_blur: EventType[()] | None = None,
1507
1517
  on_click: EventType[()] | None = None,
1508
- on_context_menu: EventType[()] | None = None,
1509
- on_double_click: EventType[()] | None = None,
1518
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1519
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1510
1520
  on_focus: EventType[()] | None = None,
1511
1521
  on_mount: EventType[()] | None = None,
1512
1522
  on_mouse_down: EventType[()] | None = None,
@@ -1517,6 +1527,7 @@ class Funnel(Recharts):
1517
1527
  on_mouse_over: EventType[()] | None = None,
1518
1528
  on_mouse_up: EventType[()] | None = None,
1519
1529
  on_scroll: EventType[()] | None = None,
1530
+ on_scroll_end: EventType[()] | None = None,
1520
1531
  on_unmount: EventType[()] | None = None,
1521
1532
  **props,
1522
1533
  ) -> Funnel:
@@ -1580,9 +1591,9 @@ class ErrorBar(Recharts):
1580
1591
  autofocus: bool | None = None,
1581
1592
  custom_attrs: dict[str, Var | Any] | None = None,
1582
1593
  on_blur: EventType[()] | None = None,
1583
- on_click: EventType[()] | None = None,
1584
- on_context_menu: EventType[()] | None = None,
1585
- on_double_click: EventType[()] | None = None,
1594
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1595
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1596
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1586
1597
  on_focus: EventType[()] | None = None,
1587
1598
  on_mount: EventType[()] | None = None,
1588
1599
  on_mouse_down: EventType[()] | None = None,
@@ -1593,6 +1604,7 @@ class ErrorBar(Recharts):
1593
1604
  on_mouse_over: EventType[()] | None = None,
1594
1605
  on_mouse_up: EventType[()] | None = None,
1595
1606
  on_scroll: EventType[()] | None = None,
1607
+ on_scroll_end: EventType[()] | None = None,
1596
1608
  on_unmount: EventType[()] | None = None,
1597
1609
  **props,
1598
1610
  ) -> ErrorBar:
@@ -1643,9 +1655,9 @@ class Reference(Recharts):
1643
1655
  autofocus: bool | None = None,
1644
1656
  custom_attrs: dict[str, Var | Any] | None = None,
1645
1657
  on_blur: EventType[()] | None = None,
1646
- on_click: EventType[()] | None = None,
1647
- on_context_menu: EventType[()] | None = None,
1648
- on_double_click: EventType[()] | None = None,
1658
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1659
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1660
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1649
1661
  on_focus: EventType[()] | None = None,
1650
1662
  on_mount: EventType[()] | None = None,
1651
1663
  on_mouse_down: EventType[()] | None = None,
@@ -1656,6 +1668,7 @@ class Reference(Recharts):
1656
1668
  on_mouse_over: EventType[()] | None = None,
1657
1669
  on_mouse_up: EventType[()] | None = None,
1658
1670
  on_scroll: EventType[()] | None = None,
1671
+ on_scroll_end: EventType[()] | None = None,
1659
1672
  on_unmount: EventType[()] | None = None,
1660
1673
  **props,
1661
1674
  ) -> Reference:
@@ -1711,9 +1724,9 @@ class ReferenceLine(Reference):
1711
1724
  autofocus: bool | None = None,
1712
1725
  custom_attrs: dict[str, Var | Any] | None = None,
1713
1726
  on_blur: EventType[()] | None = None,
1714
- on_click: EventType[()] | None = None,
1715
- on_context_menu: EventType[()] | None = None,
1716
- on_double_click: EventType[()] | None = None,
1727
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1728
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1729
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1717
1730
  on_focus: EventType[()] | None = None,
1718
1731
  on_mount: EventType[()] | None = None,
1719
1732
  on_mouse_down: EventType[()] | None = None,
@@ -1724,6 +1737,7 @@ class ReferenceLine(Reference):
1724
1737
  on_mouse_over: EventType[()] | None = None,
1725
1738
  on_mouse_up: EventType[()] | None = None,
1726
1739
  on_scroll: EventType[()] | None = None,
1740
+ on_scroll_end: EventType[()] | None = None,
1727
1741
  on_unmount: EventType[()] | None = None,
1728
1742
  **props,
1729
1743
  ) -> ReferenceLine:
@@ -1785,8 +1799,8 @@ class ReferenceDot(Reference):
1785
1799
  custom_attrs: dict[str, Var | Any] | None = None,
1786
1800
  on_blur: EventType[()] | None = None,
1787
1801
  on_click: EventType[()] | None = None,
1788
- on_context_menu: EventType[()] | None = None,
1789
- on_double_click: EventType[()] | None = None,
1802
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1803
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1790
1804
  on_focus: EventType[()] | None = None,
1791
1805
  on_mount: EventType[()] | None = None,
1792
1806
  on_mouse_down: EventType[()] | None = None,
@@ -1797,6 +1811,7 @@ class ReferenceDot(Reference):
1797
1811
  on_mouse_over: EventType[()] | None = None,
1798
1812
  on_mouse_up: EventType[()] | None = None,
1799
1813
  on_scroll: EventType[()] | None = None,
1814
+ on_scroll_end: EventType[()] | None = None,
1800
1815
  on_unmount: EventType[()] | None = None,
1801
1816
  **props,
1802
1817
  ) -> ReferenceDot:
@@ -1866,9 +1881,9 @@ class ReferenceArea(Recharts):
1866
1881
  autofocus: bool | None = None,
1867
1882
  custom_attrs: dict[str, Var | Any] | None = None,
1868
1883
  on_blur: EventType[()] | None = None,
1869
- on_click: EventType[()] | None = None,
1870
- on_context_menu: EventType[()] | None = None,
1871
- on_double_click: EventType[()] | None = None,
1884
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1885
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1886
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1872
1887
  on_focus: EventType[()] | None = None,
1873
1888
  on_mount: EventType[()] | None = None,
1874
1889
  on_mouse_down: EventType[()] | None = None,
@@ -1879,6 +1894,7 @@ class ReferenceArea(Recharts):
1879
1894
  on_mouse_over: EventType[()] | None = None,
1880
1895
  on_mouse_up: EventType[()] | None = None,
1881
1896
  on_scroll: EventType[()] | None = None,
1897
+ on_scroll_end: EventType[()] | None = None,
1882
1898
  on_unmount: EventType[()] | None = None,
1883
1899
  **props,
1884
1900
  ) -> ReferenceArea:
@@ -1932,9 +1948,9 @@ class Grid(Recharts):
1932
1948
  autofocus: bool | None = None,
1933
1949
  custom_attrs: dict[str, Var | Any] | None = None,
1934
1950
  on_blur: EventType[()] | None = None,
1935
- on_click: EventType[()] | None = None,
1936
- on_context_menu: EventType[()] | None = None,
1937
- on_double_click: EventType[()] | None = None,
1951
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1952
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1953
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1938
1954
  on_focus: EventType[()] | None = None,
1939
1955
  on_mount: EventType[()] | None = None,
1940
1956
  on_mouse_down: EventType[()] | None = None,
@@ -1945,6 +1961,7 @@ class Grid(Recharts):
1945
1961
  on_mouse_over: EventType[()] | None = None,
1946
1962
  on_mouse_up: EventType[()] | None = None,
1947
1963
  on_scroll: EventType[()] | None = None,
1964
+ on_scroll_end: EventType[()] | None = None,
1948
1965
  on_unmount: EventType[()] | None = None,
1949
1966
  **props,
1950
1967
  ) -> Grid:
@@ -1999,9 +2016,9 @@ class CartesianGrid(Grid):
1999
2016
  autofocus: bool | None = None,
2000
2017
  custom_attrs: dict[str, Var | Any] | None = None,
2001
2018
  on_blur: EventType[()] | None = None,
2002
- on_click: EventType[()] | None = None,
2003
- on_context_menu: EventType[()] | None = None,
2004
- on_double_click: EventType[()] | None = None,
2019
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2020
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2021
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2005
2022
  on_focus: EventType[()] | None = None,
2006
2023
  on_mount: EventType[()] | None = None,
2007
2024
  on_mouse_down: EventType[()] | None = None,
@@ -2012,6 +2029,7 @@ class CartesianGrid(Grid):
2012
2029
  on_mouse_over: EventType[()] | None = None,
2013
2030
  on_mouse_up: EventType[()] | None = None,
2014
2031
  on_scroll: EventType[()] | None = None,
2032
+ on_scroll_end: EventType[()] | None = None,
2015
2033
  on_unmount: EventType[()] | None = None,
2016
2034
  **props,
2017
2035
  ) -> CartesianGrid:
@@ -2080,9 +2098,9 @@ class CartesianAxis(Grid):
2080
2098
  autofocus: bool | None = None,
2081
2099
  custom_attrs: dict[str, Var | Any] | None = None,
2082
2100
  on_blur: EventType[()] | None = None,
2083
- on_click: EventType[()] | None = None,
2084
- on_context_menu: EventType[()] | None = None,
2085
- on_double_click: EventType[()] | None = None,
2101
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2102
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2103
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2086
2104
  on_focus: EventType[()] | None = None,
2087
2105
  on_mount: EventType[()] | None = None,
2088
2106
  on_mouse_down: EventType[()] | None = None,
@@ -2093,6 +2111,7 @@ class CartesianAxis(Grid):
2093
2111
  on_mouse_over: EventType[()] | None = None,
2094
2112
  on_mouse_up: EventType[()] | None = None,
2095
2113
  on_scroll: EventType[()] | None = None,
2114
+ on_scroll_end: EventType[()] | None = None,
2096
2115
  on_unmount: EventType[()] | None = None,
2097
2116
  **props,
2098
2117
  ) -> CartesianAxis:
@@ -325,7 +325,8 @@ class RadarChart(ChartBase):
325
325
  "Radar",
326
326
  ]
327
327
 
328
- def get_event_triggers(self) -> dict[str, Var | Any]:
328
+ @classmethod
329
+ def get_event_triggers(cls) -> dict[str, Var | Any]:
329
330
  """Get the event triggers that pass the component's value to the handler.
330
331
 
331
332
  Returns:
@@ -414,7 +415,8 @@ class ScatterChart(ChartBase):
414
415
  "Scatter",
415
416
  ]
416
417
 
417
- def get_event_triggers(self) -> dict[str, Var | Any]:
418
+ @classmethod
419
+ def get_event_triggers(cls) -> dict[str, Var | Any]:
418
420
  """Get the event triggers that pass the component's value to the handler.
419
421
 
420
422
  Returns:
@@ -8,7 +8,7 @@ from typing import Any, Literal, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.constants.colors import Color
11
- from reflex.event import EventType
11
+ from reflex.event import EventType, PointerEventInfo
12
12
  from reflex.vars.base import Var
13
13
 
14
14
  from .recharts import RechartsCharts
@@ -34,8 +34,8 @@ class ChartBase(RechartsCharts):
34
34
  custom_attrs: dict[str, Var | Any] | None = None,
35
35
  on_blur: EventType[()] | None = None,
36
36
  on_click: EventType[()] | None = None,
37
- on_context_menu: EventType[()] | None = None,
38
- on_double_click: EventType[()] | None = None,
37
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
38
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
39
39
  on_focus: EventType[()] | None = None,
40
40
  on_mount: EventType[()] | None = None,
41
41
  on_mouse_down: EventType[()] | None = None,
@@ -46,6 +46,7 @@ class ChartBase(RechartsCharts):
46
46
  on_mouse_over: EventType[()] | None = None,
47
47
  on_mouse_up: EventType[()] | None = None,
48
48
  on_scroll: EventType[()] | None = None,
49
+ on_scroll_end: EventType[()] | None = None,
49
50
  on_unmount: EventType[()] | None = None,
50
51
  **props,
51
52
  ) -> ChartBase:
@@ -105,8 +106,8 @@ class CategoricalChartBase(ChartBase):
105
106
  custom_attrs: dict[str, Var | Any] | None = None,
106
107
  on_blur: EventType[()] | None = None,
107
108
  on_click: EventType[()] | None = None,
108
- on_context_menu: EventType[()] | None = None,
109
- on_double_click: EventType[()] | None = None,
109
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
110
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
110
111
  on_focus: EventType[()] | None = None,
111
112
  on_mount: EventType[()] | None = None,
112
113
  on_mouse_down: EventType[()] | None = None,
@@ -117,6 +118,7 @@ class CategoricalChartBase(ChartBase):
117
118
  on_mouse_over: EventType[()] | None = None,
118
119
  on_mouse_up: EventType[()] | None = None,
119
120
  on_scroll: EventType[()] | None = None,
121
+ on_scroll_end: EventType[()] | None = None,
120
122
  on_unmount: EventType[()] | None = None,
121
123
  **props,
122
124
  ) -> CategoricalChartBase:
@@ -186,8 +188,8 @@ class AreaChart(CategoricalChartBase):
186
188
  custom_attrs: dict[str, Var | Any] | None = None,
187
189
  on_blur: EventType[()] | None = None,
188
190
  on_click: EventType[()] | None = None,
189
- on_context_menu: EventType[()] | None = None,
190
- on_double_click: EventType[()] | None = None,
191
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
192
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
191
193
  on_focus: EventType[()] | None = None,
192
194
  on_mount: EventType[()] | None = None,
193
195
  on_mouse_down: EventType[()] | None = None,
@@ -198,6 +200,7 @@ class AreaChart(CategoricalChartBase):
198
200
  on_mouse_over: EventType[()] | None = None,
199
201
  on_mouse_up: EventType[()] | None = None,
200
202
  on_scroll: EventType[()] | None = None,
203
+ on_scroll_end: EventType[()] | None = None,
201
204
  on_unmount: EventType[()] | None = None,
202
205
  **props,
203
206
  ) -> AreaChart:
@@ -269,8 +272,8 @@ class BarChart(CategoricalChartBase):
269
272
  custom_attrs: dict[str, Var | Any] | None = None,
270
273
  on_blur: EventType[()] | None = None,
271
274
  on_click: EventType[()] | None = None,
272
- on_context_menu: EventType[()] | None = None,
273
- on_double_click: EventType[()] | None = None,
275
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
276
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
274
277
  on_focus: EventType[()] | None = None,
275
278
  on_mount: EventType[()] | None = None,
276
279
  on_mouse_down: EventType[()] | None = None,
@@ -281,6 +284,7 @@ class BarChart(CategoricalChartBase):
281
284
  on_mouse_over: EventType[()] | None = None,
282
285
  on_mouse_up: EventType[()] | None = None,
283
286
  on_scroll: EventType[()] | None = None,
287
+ on_scroll_end: EventType[()] | None = None,
284
288
  on_unmount: EventType[()] | None = None,
285
289
  **props,
286
290
  ) -> BarChart:
@@ -351,8 +355,8 @@ class LineChart(CategoricalChartBase):
351
355
  custom_attrs: dict[str, Var | Any] | None = None,
352
356
  on_blur: EventType[()] | None = None,
353
357
  on_click: EventType[()] | None = None,
354
- on_context_menu: EventType[()] | None = None,
355
- on_double_click: EventType[()] | None = None,
358
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
359
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
356
360
  on_focus: EventType[()] | None = None,
357
361
  on_mount: EventType[()] | None = None,
358
362
  on_mouse_down: EventType[()] | None = None,
@@ -363,6 +367,7 @@ class LineChart(CategoricalChartBase):
363
367
  on_mouse_over: EventType[()] | None = None,
364
368
  on_mouse_up: EventType[()] | None = None,
365
369
  on_scroll: EventType[()] | None = None,
370
+ on_scroll_end: EventType[()] | None = None,
366
371
  on_unmount: EventType[()] | None = None,
367
372
  **props,
368
373
  ) -> LineChart:
@@ -436,8 +441,8 @@ class ComposedChart(CategoricalChartBase):
436
441
  custom_attrs: dict[str, Var | Any] | None = None,
437
442
  on_blur: EventType[()] | None = None,
438
443
  on_click: EventType[()] | None = None,
439
- on_context_menu: EventType[()] | None = None,
440
- on_double_click: EventType[()] | None = None,
444
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
445
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
441
446
  on_focus: EventType[()] | None = None,
442
447
  on_mount: EventType[()] | None = None,
443
448
  on_mouse_down: EventType[()] | None = None,
@@ -448,6 +453,7 @@ class ComposedChart(CategoricalChartBase):
448
453
  on_mouse_over: EventType[()] | None = None,
449
454
  on_mouse_up: EventType[()] | None = None,
450
455
  on_scroll: EventType[()] | None = None,
456
+ on_scroll_end: EventType[()] | None = None,
451
457
  on_unmount: EventType[()] | None = None,
452
458
  **props,
453
459
  ) -> ComposedChart:
@@ -507,8 +513,8 @@ class PieChart(ChartBase):
507
513
  custom_attrs: dict[str, Var | Any] | None = None,
508
514
  on_blur: EventType[()] | None = None,
509
515
  on_click: EventType[()] | None = None,
510
- on_context_menu: EventType[()] | None = None,
511
- on_double_click: EventType[()] | None = None,
516
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
517
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
512
518
  on_focus: EventType[()] | None = None,
513
519
  on_mount: EventType[()] | None = None,
514
520
  on_mouse_down: EventType[()] | None = None,
@@ -519,6 +525,7 @@ class PieChart(ChartBase):
519
525
  on_mouse_over: EventType[()] | None = None,
520
526
  on_mouse_up: EventType[()] | None = None,
521
527
  on_scroll: EventType[()] | None = None,
528
+ on_scroll_end: EventType[()] | None = None,
522
529
  on_unmount: EventType[()] | None = None,
523
530
  **props,
524
531
  ) -> PieChart:
@@ -551,7 +558,8 @@ class PieChart(ChartBase):
551
558
  """
552
559
 
553
560
  class RadarChart(ChartBase):
554
- def get_event_triggers(self) -> dict[str, Var | Any]: ...
561
+ @classmethod
562
+ def get_event_triggers(cls) -> dict[str, Var | Any]: ...
555
563
  @overload
556
564
  @classmethod
557
565
  def create( # type: ignore
@@ -645,8 +653,8 @@ class RadialBarChart(ChartBase):
645
653
  custom_attrs: dict[str, Var | Any] | None = None,
646
654
  on_blur: EventType[()] | None = None,
647
655
  on_click: EventType[()] | None = None,
648
- on_context_menu: EventType[()] | None = None,
649
- on_double_click: EventType[()] | None = None,
656
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
657
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
650
658
  on_focus: EventType[()] | None = None,
651
659
  on_mount: EventType[()] | None = None,
652
660
  on_mouse_down: EventType[()] | None = None,
@@ -657,6 +665,7 @@ class RadialBarChart(ChartBase):
657
665
  on_mouse_over: EventType[()] | None = None,
658
666
  on_mouse_up: EventType[()] | None = None,
659
667
  on_scroll: EventType[()] | None = None,
668
+ on_scroll_end: EventType[()] | None = None,
660
669
  on_unmount: EventType[()] | None = None,
661
670
  **props,
662
671
  ) -> RadialBarChart:
@@ -695,7 +704,8 @@ class RadialBarChart(ChartBase):
695
704
  """
696
705
 
697
706
  class ScatterChart(ChartBase):
698
- def get_event_triggers(self) -> dict[str, Var | Any]: ...
707
+ @classmethod
708
+ def get_event_triggers(cls) -> dict[str, Var | Any]: ...
699
709
  @overload
700
710
  @classmethod
701
711
  def create( # type: ignore
@@ -773,8 +783,8 @@ class FunnelChart(ChartBase):
773
783
  custom_attrs: dict[str, Var | Any] | None = None,
774
784
  on_blur: EventType[()] | None = None,
775
785
  on_click: EventType[()] | None = None,
776
- on_context_menu: EventType[()] | None = None,
777
- on_double_click: EventType[()] | None = None,
786
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
787
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
778
788
  on_focus: EventType[()] | None = None,
779
789
  on_mount: EventType[()] | None = None,
780
790
  on_mouse_down: EventType[()] | None = None,
@@ -785,6 +795,7 @@ class FunnelChart(ChartBase):
785
795
  on_mouse_over: EventType[()] | None = None,
786
796
  on_mouse_up: EventType[()] | None = None,
787
797
  on_scroll: EventType[()] | None = None,
798
+ on_scroll_end: EventType[()] | None = None,
788
799
  on_unmount: EventType[()] | None = None,
789
800
  **props,
790
801
  ) -> FunnelChart:
@@ -848,9 +859,9 @@ class Treemap(RechartsCharts):
848
859
  on_animation_end: EventType[()] | None = None,
849
860
  on_animation_start: EventType[()] | None = None,
850
861
  on_blur: EventType[()] | None = None,
851
- on_click: EventType[()] | None = None,
852
- on_context_menu: EventType[()] | None = None,
853
- on_double_click: EventType[()] | None = None,
862
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
863
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
864
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
854
865
  on_focus: EventType[()] | None = None,
855
866
  on_mount: EventType[()] | None = None,
856
867
  on_mouse_down: EventType[()] | None = None,
@@ -861,6 +872,7 @@ class Treemap(RechartsCharts):
861
872
  on_mouse_over: EventType[()] | None = None,
862
873
  on_mouse_up: EventType[()] | None = None,
863
874
  on_scroll: EventType[()] | None = None,
875
+ on_scroll_end: EventType[()] | None = None,
864
876
  on_unmount: EventType[()] | None = None,
865
877
  **props,
866
878
  ) -> Treemap: