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
@@ -7,7 +7,7 @@ from collections.abc import Mapping, Sequence
7
7
  from typing import Any, Literal, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
- from reflex.event import EventType
10
+ from reflex.event import EventType, PointerEventInfo
11
11
  from reflex.vars.base import Var
12
12
 
13
13
  from .base import BaseHTML
@@ -209,9 +209,9 @@ class Details(BaseHTML):
209
209
  autofocus: bool | None = None,
210
210
  custom_attrs: dict[str, Var | Any] | None = None,
211
211
  on_blur: EventType[()] | None = None,
212
- on_click: EventType[()] | None = None,
213
- on_context_menu: EventType[()] | None = None,
214
- on_double_click: EventType[()] | None = None,
212
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
213
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
214
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
215
215
  on_focus: EventType[()] | None = None,
216
216
  on_mount: EventType[()] | None = None,
217
217
  on_mouse_down: EventType[()] | None = None,
@@ -222,6 +222,7 @@ class Details(BaseHTML):
222
222
  on_mouse_over: EventType[()] | None = None,
223
223
  on_mouse_up: EventType[()] | None = None,
224
224
  on_scroll: EventType[()] | None = None,
225
+ on_scroll_end: EventType[()] | None = None,
225
226
  on_unmount: EventType[()] | None = None,
226
227
  **props,
227
228
  ) -> Details:
@@ -456,9 +457,9 @@ class Dialog(BaseHTML):
456
457
  autofocus: bool | None = None,
457
458
  custom_attrs: dict[str, Var | Any] | None = None,
458
459
  on_blur: EventType[()] | None = None,
459
- on_click: EventType[()] | None = None,
460
- on_context_menu: EventType[()] | None = None,
461
- on_double_click: EventType[()] | None = None,
460
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
461
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
462
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
462
463
  on_focus: EventType[()] | None = None,
463
464
  on_mount: EventType[()] | None = None,
464
465
  on_mouse_down: EventType[()] | None = None,
@@ -469,6 +470,7 @@ class Dialog(BaseHTML):
469
470
  on_mouse_over: EventType[()] | None = None,
470
471
  on_mouse_up: EventType[()] | None = None,
471
472
  on_scroll: EventType[()] | None = None,
473
+ on_scroll_end: EventType[()] | None = None,
472
474
  on_unmount: EventType[()] | None = None,
473
475
  **props,
474
476
  ) -> Dialog:
@@ -702,9 +704,9 @@ class Summary(BaseHTML):
702
704
  autofocus: bool | None = None,
703
705
  custom_attrs: dict[str, Var | Any] | None = None,
704
706
  on_blur: EventType[()] | None = None,
705
- on_click: EventType[()] | None = None,
706
- on_context_menu: EventType[()] | None = None,
707
- on_double_click: EventType[()] | None = None,
707
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
708
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
709
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
708
710
  on_focus: EventType[()] | None = None,
709
711
  on_mount: EventType[()] | None = None,
710
712
  on_mouse_down: EventType[()] | None = None,
@@ -715,6 +717,7 @@ class Summary(BaseHTML):
715
717
  on_mouse_over: EventType[()] | None = None,
716
718
  on_mouse_up: EventType[()] | None = None,
717
719
  on_scroll: EventType[()] | None = None,
720
+ on_scroll_end: EventType[()] | None = None,
718
721
  on_unmount: EventType[()] | None = None,
719
722
  **props,
720
723
  ) -> Summary:
@@ -947,9 +950,9 @@ class Slot(BaseHTML):
947
950
  autofocus: bool | None = None,
948
951
  custom_attrs: dict[str, Var | Any] | None = None,
949
952
  on_blur: EventType[()] | None = None,
950
- on_click: EventType[()] | None = None,
951
- on_context_menu: EventType[()] | None = None,
952
- on_double_click: EventType[()] | None = None,
953
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
954
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
955
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
953
956
  on_focus: EventType[()] | None = None,
954
957
  on_mount: EventType[()] | None = None,
955
958
  on_mouse_down: EventType[()] | None = None,
@@ -960,6 +963,7 @@ class Slot(BaseHTML):
960
963
  on_mouse_over: EventType[()] | None = None,
961
964
  on_mouse_up: EventType[()] | None = None,
962
965
  on_scroll: EventType[()] | None = None,
966
+ on_scroll_end: EventType[()] | None = None,
963
967
  on_unmount: EventType[()] | None = None,
964
968
  **props,
965
969
  ) -> Slot:
@@ -1192,9 +1196,9 @@ class Template(BaseHTML):
1192
1196
  autofocus: bool | None = None,
1193
1197
  custom_attrs: dict[str, Var | Any] | None = None,
1194
1198
  on_blur: EventType[()] | None = None,
1195
- on_click: EventType[()] | None = None,
1196
- on_context_menu: EventType[()] | None = None,
1197
- on_double_click: EventType[()] | None = None,
1199
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1200
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1201
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1198
1202
  on_focus: EventType[()] | None = None,
1199
1203
  on_mount: EventType[()] | None = None,
1200
1204
  on_mouse_down: EventType[()] | None = None,
@@ -1205,6 +1209,7 @@ class Template(BaseHTML):
1205
1209
  on_mouse_over: EventType[()] | None = None,
1206
1210
  on_mouse_up: EventType[()] | None = None,
1207
1211
  on_scroll: EventType[()] | None = None,
1212
+ on_scroll_end: EventType[()] | None = None,
1208
1213
  on_unmount: EventType[()] | None = None,
1209
1214
  **props,
1210
1215
  ) -> Template:
@@ -1437,9 +1442,9 @@ class Math(BaseHTML):
1437
1442
  autofocus: bool | None = None,
1438
1443
  custom_attrs: dict[str, Var | Any] | None = None,
1439
1444
  on_blur: EventType[()] | None = None,
1440
- on_click: EventType[()] | None = None,
1441
- on_context_menu: EventType[()] | None = None,
1442
- on_double_click: EventType[()] | None = None,
1445
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1446
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1447
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1443
1448
  on_focus: EventType[()] | None = None,
1444
1449
  on_mount: EventType[()] | None = None,
1445
1450
  on_mouse_down: EventType[()] | None = None,
@@ -1450,6 +1455,7 @@ class Math(BaseHTML):
1450
1455
  on_mouse_over: EventType[()] | None = None,
1451
1456
  on_mouse_up: EventType[()] | None = None,
1452
1457
  on_scroll: EventType[()] | None = None,
1458
+ on_scroll_end: EventType[()] | None = None,
1453
1459
  on_unmount: EventType[()] | None = None,
1454
1460
  **props,
1455
1461
  ) -> Math:
@@ -1683,9 +1689,9 @@ class Html(BaseHTML):
1683
1689
  autofocus: bool | None = None,
1684
1690
  custom_attrs: dict[str, Var | Any] | None = None,
1685
1691
  on_blur: EventType[()] | None = None,
1686
- on_click: EventType[()] | None = None,
1687
- on_context_menu: EventType[()] | None = None,
1688
- on_double_click: EventType[()] | None = None,
1692
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1693
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1694
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1689
1695
  on_focus: EventType[()] | None = None,
1690
1696
  on_mount: EventType[()] | None = None,
1691
1697
  on_mouse_down: EventType[()] | None = None,
@@ -1696,6 +1702,7 @@ class Html(BaseHTML):
1696
1702
  on_mouse_over: EventType[()] | None = None,
1697
1703
  on_mouse_up: EventType[()] | None = None,
1698
1704
  on_scroll: EventType[()] | None = None,
1705
+ on_scroll_end: EventType[()] | None = None,
1699
1706
  on_unmount: EventType[()] | None = None,
1700
1707
  **props,
1701
1708
  ) -> Html:
@@ -7,7 +7,7 @@ from collections.abc import Mapping, Sequence
7
7
  from typing import Any, Literal, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
- from reflex.event import EventType
10
+ from reflex.event import EventType, PointerEventInfo
11
11
  from reflex.vars.base import Var
12
12
 
13
13
  from .base import BaseHTML
@@ -208,9 +208,9 @@ class Canvas(BaseHTML):
208
208
  autofocus: bool | None = None,
209
209
  custom_attrs: dict[str, Var | Any] | None = None,
210
210
  on_blur: EventType[()] | None = None,
211
- on_click: EventType[()] | None = None,
212
- on_context_menu: EventType[()] | None = None,
213
- on_double_click: EventType[()] | None = None,
211
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
212
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
213
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
214
214
  on_focus: EventType[()] | None = None,
215
215
  on_mount: EventType[()] | None = None,
216
216
  on_mouse_down: EventType[()] | None = None,
@@ -221,6 +221,7 @@ class Canvas(BaseHTML):
221
221
  on_mouse_over: EventType[()] | None = None,
222
222
  on_mouse_up: EventType[()] | None = None,
223
223
  on_scroll: EventType[()] | None = None,
224
+ on_scroll_end: EventType[()] | None = None,
224
225
  on_unmount: EventType[()] | None = None,
225
226
  **props,
226
227
  ) -> Canvas:
@@ -453,9 +454,9 @@ class Noscript(BaseHTML):
453
454
  autofocus: bool | None = None,
454
455
  custom_attrs: dict[str, Var | Any] | None = None,
455
456
  on_blur: EventType[()] | None = None,
456
- on_click: EventType[()] | None = None,
457
- on_context_menu: EventType[()] | None = None,
458
- on_double_click: EventType[()] | None = None,
457
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
458
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
459
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
459
460
  on_focus: EventType[()] | None = None,
460
461
  on_mount: EventType[()] | None = None,
461
462
  on_mouse_down: EventType[()] | None = None,
@@ -466,6 +467,7 @@ class Noscript(BaseHTML):
466
467
  on_mouse_over: EventType[()] | None = None,
467
468
  on_mouse_up: EventType[()] | None = None,
468
469
  on_scroll: EventType[()] | None = None,
470
+ on_scroll_end: EventType[()] | None = None,
469
471
  on_unmount: EventType[()] | None = None,
470
472
  **props,
471
473
  ) -> Noscript:
@@ -732,9 +734,9 @@ class Script(BaseHTML):
732
734
  autofocus: bool | None = None,
733
735
  custom_attrs: dict[str, Var | Any] | None = None,
734
736
  on_blur: EventType[()] | None = None,
735
- on_click: EventType[()] | None = None,
736
- on_context_menu: EventType[()] | None = None,
737
- on_double_click: EventType[()] | None = None,
737
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
738
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
739
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
738
740
  on_focus: EventType[()] | None = None,
739
741
  on_mount: EventType[()] | None = None,
740
742
  on_mouse_down: EventType[()] | None = None,
@@ -745,6 +747,7 @@ class Script(BaseHTML):
745
747
  on_mouse_over: EventType[()] | None = None,
746
748
  on_mouse_up: EventType[()] | None = None,
747
749
  on_scroll: EventType[()] | None = None,
750
+ on_scroll_end: EventType[()] | None = None,
748
751
  on_unmount: EventType[()] | None = None,
749
752
  **props,
750
753
  ) -> Script:
@@ -7,7 +7,7 @@ from collections.abc import Mapping, Sequence
7
7
  from typing import Any, Literal, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
- from reflex.event import EventType
10
+ from reflex.event import EventType, PointerEventInfo
11
11
  from reflex.vars.base import Var
12
12
 
13
13
  from .base import BaseHTML
@@ -208,9 +208,9 @@ class Body(BaseHTML):
208
208
  autofocus: bool | None = None,
209
209
  custom_attrs: dict[str, Var | Any] | None = None,
210
210
  on_blur: EventType[()] | None = None,
211
- on_click: EventType[()] | None = None,
212
- on_context_menu: EventType[()] | None = None,
213
- on_double_click: EventType[()] | None = None,
211
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
212
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
213
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
214
214
  on_focus: EventType[()] | None = None,
215
215
  on_mount: EventType[()] | None = None,
216
216
  on_mouse_down: EventType[()] | None = None,
@@ -221,6 +221,7 @@ class Body(BaseHTML):
221
221
  on_mouse_over: EventType[()] | None = None,
222
222
  on_mouse_up: EventType[()] | None = None,
223
223
  on_scroll: EventType[()] | None = None,
224
+ on_scroll_end: EventType[()] | None = None,
224
225
  on_unmount: EventType[()] | None = None,
225
226
  **props,
226
227
  ) -> Body:
@@ -453,9 +454,9 @@ class Address(BaseHTML):
453
454
  autofocus: bool | None = None,
454
455
  custom_attrs: dict[str, Var | Any] | None = None,
455
456
  on_blur: EventType[()] | None = None,
456
- on_click: EventType[()] | None = None,
457
- on_context_menu: EventType[()] | None = None,
458
- on_double_click: EventType[()] | None = None,
457
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
458
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
459
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
459
460
  on_focus: EventType[()] | None = None,
460
461
  on_mount: EventType[()] | None = None,
461
462
  on_mouse_down: EventType[()] | None = None,
@@ -466,6 +467,7 @@ class Address(BaseHTML):
466
467
  on_mouse_over: EventType[()] | None = None,
467
468
  on_mouse_up: EventType[()] | None = None,
468
469
  on_scroll: EventType[()] | None = None,
470
+ on_scroll_end: EventType[()] | None = None,
469
471
  on_unmount: EventType[()] | None = None,
470
472
  **props,
471
473
  ) -> Address:
@@ -698,9 +700,9 @@ class Article(BaseHTML):
698
700
  autofocus: bool | None = None,
699
701
  custom_attrs: dict[str, Var | Any] | None = None,
700
702
  on_blur: EventType[()] | None = None,
701
- on_click: EventType[()] | None = None,
702
- on_context_menu: EventType[()] | None = None,
703
- on_double_click: EventType[()] | None = None,
703
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
704
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
705
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
704
706
  on_focus: EventType[()] | None = None,
705
707
  on_mount: EventType[()] | None = None,
706
708
  on_mouse_down: EventType[()] | None = None,
@@ -711,6 +713,7 @@ class Article(BaseHTML):
711
713
  on_mouse_over: EventType[()] | None = None,
712
714
  on_mouse_up: EventType[()] | None = None,
713
715
  on_scroll: EventType[()] | None = None,
716
+ on_scroll_end: EventType[()] | None = None,
714
717
  on_unmount: EventType[()] | None = None,
715
718
  **props,
716
719
  ) -> Article:
@@ -943,9 +946,9 @@ class Aside(BaseHTML):
943
946
  autofocus: bool | None = None,
944
947
  custom_attrs: dict[str, Var | Any] | None = None,
945
948
  on_blur: EventType[()] | None = None,
946
- on_click: EventType[()] | None = None,
947
- on_context_menu: EventType[()] | None = None,
948
- on_double_click: EventType[()] | None = None,
949
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
950
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
951
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
949
952
  on_focus: EventType[()] | None = None,
950
953
  on_mount: EventType[()] | None = None,
951
954
  on_mouse_down: EventType[()] | None = None,
@@ -956,6 +959,7 @@ class Aside(BaseHTML):
956
959
  on_mouse_over: EventType[()] | None = None,
957
960
  on_mouse_up: EventType[()] | None = None,
958
961
  on_scroll: EventType[()] | None = None,
962
+ on_scroll_end: EventType[()] | None = None,
959
963
  on_unmount: EventType[()] | None = None,
960
964
  **props,
961
965
  ) -> Aside:
@@ -1188,9 +1192,9 @@ class Footer(BaseHTML):
1188
1192
  autofocus: bool | None = None,
1189
1193
  custom_attrs: dict[str, Var | Any] | None = None,
1190
1194
  on_blur: EventType[()] | None = None,
1191
- on_click: EventType[()] | None = None,
1192
- on_context_menu: EventType[()] | None = None,
1193
- on_double_click: EventType[()] | None = None,
1195
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1196
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1197
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1194
1198
  on_focus: EventType[()] | None = None,
1195
1199
  on_mount: EventType[()] | None = None,
1196
1200
  on_mouse_down: EventType[()] | None = None,
@@ -1201,6 +1205,7 @@ class Footer(BaseHTML):
1201
1205
  on_mouse_over: EventType[()] | None = None,
1202
1206
  on_mouse_up: EventType[()] | None = None,
1203
1207
  on_scroll: EventType[()] | None = None,
1208
+ on_scroll_end: EventType[()] | None = None,
1204
1209
  on_unmount: EventType[()] | None = None,
1205
1210
  **props,
1206
1211
  ) -> Footer:
@@ -1433,9 +1438,9 @@ class Header(BaseHTML):
1433
1438
  autofocus: bool | None = None,
1434
1439
  custom_attrs: dict[str, Var | Any] | None = None,
1435
1440
  on_blur: EventType[()] | None = None,
1436
- on_click: EventType[()] | None = None,
1437
- on_context_menu: EventType[()] | None = None,
1438
- on_double_click: EventType[()] | None = None,
1441
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1442
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1443
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1439
1444
  on_focus: EventType[()] | None = None,
1440
1445
  on_mount: EventType[()] | None = None,
1441
1446
  on_mouse_down: EventType[()] | None = None,
@@ -1446,6 +1451,7 @@ class Header(BaseHTML):
1446
1451
  on_mouse_over: EventType[()] | None = None,
1447
1452
  on_mouse_up: EventType[()] | None = None,
1448
1453
  on_scroll: EventType[()] | None = None,
1454
+ on_scroll_end: EventType[()] | None = None,
1449
1455
  on_unmount: EventType[()] | None = None,
1450
1456
  **props,
1451
1457
  ) -> Header:
@@ -1678,9 +1684,9 @@ class H1(BaseHTML):
1678
1684
  autofocus: bool | None = None,
1679
1685
  custom_attrs: dict[str, Var | Any] | None = None,
1680
1686
  on_blur: EventType[()] | None = None,
1681
- on_click: EventType[()] | None = None,
1682
- on_context_menu: EventType[()] | None = None,
1683
- on_double_click: EventType[()] | None = None,
1687
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1688
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1689
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1684
1690
  on_focus: EventType[()] | None = None,
1685
1691
  on_mount: EventType[()] | None = None,
1686
1692
  on_mouse_down: EventType[()] | None = None,
@@ -1691,6 +1697,7 @@ class H1(BaseHTML):
1691
1697
  on_mouse_over: EventType[()] | None = None,
1692
1698
  on_mouse_up: EventType[()] | None = None,
1693
1699
  on_scroll: EventType[()] | None = None,
1700
+ on_scroll_end: EventType[()] | None = None,
1694
1701
  on_unmount: EventType[()] | None = None,
1695
1702
  **props,
1696
1703
  ) -> H1:
@@ -1923,9 +1930,9 @@ class H2(BaseHTML):
1923
1930
  autofocus: bool | None = None,
1924
1931
  custom_attrs: dict[str, Var | Any] | None = None,
1925
1932
  on_blur: EventType[()] | None = None,
1926
- on_click: EventType[()] | None = None,
1927
- on_context_menu: EventType[()] | None = None,
1928
- on_double_click: EventType[()] | None = None,
1933
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1934
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1935
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1929
1936
  on_focus: EventType[()] | None = None,
1930
1937
  on_mount: EventType[()] | None = None,
1931
1938
  on_mouse_down: EventType[()] | None = None,
@@ -1936,6 +1943,7 @@ class H2(BaseHTML):
1936
1943
  on_mouse_over: EventType[()] | None = None,
1937
1944
  on_mouse_up: EventType[()] | None = None,
1938
1945
  on_scroll: EventType[()] | None = None,
1946
+ on_scroll_end: EventType[()] | None = None,
1939
1947
  on_unmount: EventType[()] | None = None,
1940
1948
  **props,
1941
1949
  ) -> H2:
@@ -2168,9 +2176,9 @@ class H3(BaseHTML):
2168
2176
  autofocus: bool | None = None,
2169
2177
  custom_attrs: dict[str, Var | Any] | None = None,
2170
2178
  on_blur: EventType[()] | None = None,
2171
- on_click: EventType[()] | None = None,
2172
- on_context_menu: EventType[()] | None = None,
2173
- on_double_click: EventType[()] | None = None,
2179
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2180
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2181
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2174
2182
  on_focus: EventType[()] | None = None,
2175
2183
  on_mount: EventType[()] | None = None,
2176
2184
  on_mouse_down: EventType[()] | None = None,
@@ -2181,6 +2189,7 @@ class H3(BaseHTML):
2181
2189
  on_mouse_over: EventType[()] | None = None,
2182
2190
  on_mouse_up: EventType[()] | None = None,
2183
2191
  on_scroll: EventType[()] | None = None,
2192
+ on_scroll_end: EventType[()] | None = None,
2184
2193
  on_unmount: EventType[()] | None = None,
2185
2194
  **props,
2186
2195
  ) -> H3:
@@ -2413,9 +2422,9 @@ class H4(BaseHTML):
2413
2422
  autofocus: bool | None = None,
2414
2423
  custom_attrs: dict[str, Var | Any] | None = None,
2415
2424
  on_blur: EventType[()] | None = None,
2416
- on_click: EventType[()] | None = None,
2417
- on_context_menu: EventType[()] | None = None,
2418
- on_double_click: EventType[()] | None = None,
2425
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2426
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2427
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2419
2428
  on_focus: EventType[()] | None = None,
2420
2429
  on_mount: EventType[()] | None = None,
2421
2430
  on_mouse_down: EventType[()] | None = None,
@@ -2426,6 +2435,7 @@ class H4(BaseHTML):
2426
2435
  on_mouse_over: EventType[()] | None = None,
2427
2436
  on_mouse_up: EventType[()] | None = None,
2428
2437
  on_scroll: EventType[()] | None = None,
2438
+ on_scroll_end: EventType[()] | None = None,
2429
2439
  on_unmount: EventType[()] | None = None,
2430
2440
  **props,
2431
2441
  ) -> H4:
@@ -2658,9 +2668,9 @@ class H5(BaseHTML):
2658
2668
  autofocus: bool | None = None,
2659
2669
  custom_attrs: dict[str, Var | Any] | None = None,
2660
2670
  on_blur: EventType[()] | None = None,
2661
- on_click: EventType[()] | None = None,
2662
- on_context_menu: EventType[()] | None = None,
2663
- on_double_click: EventType[()] | None = None,
2671
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2672
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2673
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2664
2674
  on_focus: EventType[()] | None = None,
2665
2675
  on_mount: EventType[()] | None = None,
2666
2676
  on_mouse_down: EventType[()] | None = None,
@@ -2671,6 +2681,7 @@ class H5(BaseHTML):
2671
2681
  on_mouse_over: EventType[()] | None = None,
2672
2682
  on_mouse_up: EventType[()] | None = None,
2673
2683
  on_scroll: EventType[()] | None = None,
2684
+ on_scroll_end: EventType[()] | None = None,
2674
2685
  on_unmount: EventType[()] | None = None,
2675
2686
  **props,
2676
2687
  ) -> H5:
@@ -2903,9 +2914,9 @@ class H6(BaseHTML):
2903
2914
  autofocus: bool | None = None,
2904
2915
  custom_attrs: dict[str, Var | Any] | None = None,
2905
2916
  on_blur: EventType[()] | None = None,
2906
- on_click: EventType[()] | None = None,
2907
- on_context_menu: EventType[()] | None = None,
2908
- on_double_click: EventType[()] | None = None,
2917
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2918
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2919
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2909
2920
  on_focus: EventType[()] | None = None,
2910
2921
  on_mount: EventType[()] | None = None,
2911
2922
  on_mouse_down: EventType[()] | None = None,
@@ -2916,6 +2927,7 @@ class H6(BaseHTML):
2916
2927
  on_mouse_over: EventType[()] | None = None,
2917
2928
  on_mouse_up: EventType[()] | None = None,
2918
2929
  on_scroll: EventType[()] | None = None,
2930
+ on_scroll_end: EventType[()] | None = None,
2919
2931
  on_unmount: EventType[()] | None = None,
2920
2932
  **props,
2921
2933
  ) -> H6:
@@ -3148,9 +3160,9 @@ class Main(BaseHTML):
3148
3160
  autofocus: bool | None = None,
3149
3161
  custom_attrs: dict[str, Var | Any] | None = None,
3150
3162
  on_blur: EventType[()] | None = None,
3151
- on_click: EventType[()] | None = None,
3152
- on_context_menu: EventType[()] | None = None,
3153
- on_double_click: EventType[()] | None = None,
3163
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3164
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3165
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3154
3166
  on_focus: EventType[()] | None = None,
3155
3167
  on_mount: EventType[()] | None = None,
3156
3168
  on_mouse_down: EventType[()] | None = None,
@@ -3161,6 +3173,7 @@ class Main(BaseHTML):
3161
3173
  on_mouse_over: EventType[()] | None = None,
3162
3174
  on_mouse_up: EventType[()] | None = None,
3163
3175
  on_scroll: EventType[()] | None = None,
3176
+ on_scroll_end: EventType[()] | None = None,
3164
3177
  on_unmount: EventType[()] | None = None,
3165
3178
  **props,
3166
3179
  ) -> Main:
@@ -3393,9 +3406,9 @@ class Nav(BaseHTML):
3393
3406
  autofocus: bool | None = None,
3394
3407
  custom_attrs: dict[str, Var | Any] | None = None,
3395
3408
  on_blur: EventType[()] | None = None,
3396
- on_click: EventType[()] | None = None,
3397
- on_context_menu: EventType[()] | None = None,
3398
- on_double_click: EventType[()] | None = None,
3409
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3410
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3411
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3399
3412
  on_focus: EventType[()] | None = None,
3400
3413
  on_mount: EventType[()] | None = None,
3401
3414
  on_mouse_down: EventType[()] | None = None,
@@ -3406,6 +3419,7 @@ class Nav(BaseHTML):
3406
3419
  on_mouse_over: EventType[()] | None = None,
3407
3420
  on_mouse_up: EventType[()] | None = None,
3408
3421
  on_scroll: EventType[()] | None = None,
3422
+ on_scroll_end: EventType[()] | None = None,
3409
3423
  on_unmount: EventType[()] | None = None,
3410
3424
  **props,
3411
3425
  ) -> Nav:
@@ -3638,9 +3652,9 @@ class Section(BaseHTML):
3638
3652
  autofocus: bool | None = None,
3639
3653
  custom_attrs: dict[str, Var | Any] | None = None,
3640
3654
  on_blur: EventType[()] | None = None,
3641
- on_click: EventType[()] | None = None,
3642
- on_context_menu: EventType[()] | None = None,
3643
- on_double_click: EventType[()] | None = None,
3655
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3656
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3657
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3644
3658
  on_focus: EventType[()] | None = None,
3645
3659
  on_mount: EventType[()] | None = None,
3646
3660
  on_mouse_down: EventType[()] | None = None,
@@ -3651,6 +3665,7 @@ class Section(BaseHTML):
3651
3665
  on_mouse_over: EventType[()] | None = None,
3652
3666
  on_mouse_up: EventType[()] | None = None,
3653
3667
  on_scroll: EventType[()] | None = None,
3668
+ on_scroll_end: EventType[()] | None = None,
3654
3669
  on_unmount: EventType[()] | None = None,
3655
3670
  **props,
3656
3671
  ) -> Section: