reflex 0.7.14a6__py3-none-any.whl → 0.8.0a2__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 (211) 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/pages/stateful_component.js.jinja2 +4 -0
  7. reflex/.templates/jinja/web/utils/context.js.jinja2 +25 -8
  8. reflex/.templates/web/app/entry.client.js +8 -0
  9. reflex/.templates/web/app/routes.js +10 -0
  10. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +12 -37
  11. reflex/.templates/web/postcss.config.js +1 -1
  12. reflex/.templates/web/react-router.config.js +6 -0
  13. reflex/.templates/web/utils/client_side_routing.js +21 -19
  14. reflex/.templates/web/utils/react-theme.js +92 -0
  15. reflex/.templates/web/utils/state.js +160 -67
  16. reflex/.templates/web/vite.config.js +32 -0
  17. reflex/__init__.py +1 -6
  18. reflex/__init__.pyi +0 -4
  19. reflex/app.py +53 -116
  20. reflex/base.py +1 -87
  21. reflex/compiler/compiler.py +41 -8
  22. reflex/compiler/templates.py +3 -3
  23. reflex/compiler/utils.py +73 -33
  24. reflex/components/__init__.py +0 -2
  25. reflex/components/__init__.pyi +0 -3
  26. reflex/components/base/__init__.py +1 -5
  27. reflex/components/base/__init__.pyi +4 -6
  28. reflex/components/base/app_wrap.pyi +5 -4
  29. reflex/components/base/body.pyi +5 -4
  30. reflex/components/base/document.py +18 -14
  31. reflex/components/base/document.pyi +83 -27
  32. reflex/components/base/error_boundary.pyi +5 -4
  33. reflex/components/base/fragment.pyi +5 -4
  34. reflex/components/base/link.pyi +9 -7
  35. reflex/components/base/meta.pyi +17 -13
  36. reflex/components/base/script.py +60 -58
  37. reflex/components/base/script.pyi +246 -31
  38. reflex/components/base/strict_mode.pyi +5 -4
  39. reflex/components/component.py +146 -217
  40. reflex/components/core/__init__.py +1 -0
  41. reflex/components/core/__init__.pyi +1 -0
  42. reflex/components/core/auto_scroll.pyi +5 -4
  43. reflex/components/core/banner.pyi +25 -19
  44. reflex/components/core/client_side_routing.py +7 -6
  45. reflex/components/core/client_side_routing.pyi +6 -56
  46. reflex/components/core/clipboard.pyi +5 -4
  47. reflex/components/core/debounce.py +1 -0
  48. reflex/components/core/debounce.pyi +5 -4
  49. reflex/components/core/foreach.py +3 -2
  50. reflex/components/core/helmet.py +14 -0
  51. reflex/components/{next/base.pyi → core/helmet.pyi} +10 -7
  52. reflex/components/core/html.pyi +5 -4
  53. reflex/components/core/sticky.pyi +17 -13
  54. reflex/components/core/upload.py +2 -1
  55. reflex/components/core/upload.pyi +21 -16
  56. reflex/components/datadisplay/code.py +2 -72
  57. reflex/components/datadisplay/code.pyi +9 -10
  58. reflex/components/datadisplay/dataeditor.pyi +11 -6
  59. reflex/components/datadisplay/shiki_code_block.pyi +13 -10
  60. reflex/components/dynamic.py +5 -5
  61. reflex/components/el/element.pyi +5 -4
  62. reflex/components/el/elements/base.pyi +5 -4
  63. reflex/components/el/elements/forms.pyi +69 -52
  64. reflex/components/el/elements/inline.pyi +113 -85
  65. reflex/components/el/elements/media.pyi +105 -79
  66. reflex/components/el/elements/metadata.pyi +25 -19
  67. reflex/components/el/elements/other.pyi +29 -22
  68. reflex/components/el/elements/scripts.pyi +13 -10
  69. reflex/components/el/elements/sectioning.pyi +61 -46
  70. reflex/components/el/elements/tables.pyi +41 -31
  71. reflex/components/el/elements/typography.pyi +61 -46
  72. reflex/components/field.py +175 -0
  73. reflex/components/gridjs/datatable.py +2 -2
  74. reflex/components/gridjs/datatable.pyi +11 -9
  75. reflex/components/lucide/icon.py +6 -2
  76. reflex/components/lucide/icon.pyi +15 -10
  77. reflex/components/markdown/markdown.pyi +5 -4
  78. reflex/components/moment/moment.pyi +5 -4
  79. reflex/components/plotly/plotly.pyi +19 -10
  80. reflex/components/props.py +376 -27
  81. reflex/components/radix/primitives/accordion.py +8 -1
  82. reflex/components/radix/primitives/accordion.pyi +29 -22
  83. reflex/components/radix/primitives/base.pyi +9 -7
  84. reflex/components/radix/primitives/drawer.pyi +45 -34
  85. reflex/components/radix/primitives/form.pyi +41 -31
  86. reflex/components/radix/primitives/progress.pyi +21 -16
  87. reflex/components/radix/primitives/slider.pyi +21 -16
  88. reflex/components/radix/themes/base.py +3 -3
  89. reflex/components/radix/themes/base.pyi +33 -25
  90. reflex/components/radix/themes/color_mode.pyi +13 -10
  91. reflex/components/radix/themes/components/alert_dialog.pyi +29 -22
  92. reflex/components/radix/themes/components/aspect_ratio.pyi +5 -4
  93. reflex/components/radix/themes/components/avatar.pyi +5 -4
  94. reflex/components/radix/themes/components/badge.pyi +5 -4
  95. reflex/components/radix/themes/components/button.pyi +5 -4
  96. reflex/components/radix/themes/components/callout.pyi +21 -16
  97. reflex/components/radix/themes/components/card.pyi +5 -4
  98. reflex/components/radix/themes/components/checkbox.pyi +13 -10
  99. reflex/components/radix/themes/components/checkbox_cards.pyi +9 -7
  100. reflex/components/radix/themes/components/checkbox_group.pyi +9 -7
  101. reflex/components/radix/themes/components/context_menu.pyi +53 -40
  102. reflex/components/radix/themes/components/data_list.pyi +17 -13
  103. reflex/components/radix/themes/components/dialog.pyi +29 -22
  104. reflex/components/radix/themes/components/dropdown_menu.pyi +33 -25
  105. reflex/components/radix/themes/components/hover_card.pyi +17 -13
  106. reflex/components/radix/themes/components/icon_button.pyi +5 -4
  107. reflex/components/radix/themes/components/inset.pyi +5 -4
  108. reflex/components/radix/themes/components/popover.pyi +17 -13
  109. reflex/components/radix/themes/components/progress.pyi +5 -4
  110. reflex/components/radix/themes/components/radio.pyi +5 -4
  111. reflex/components/radix/themes/components/radio_cards.pyi +9 -7
  112. reflex/components/radix/themes/components/radio_group.pyi +17 -13
  113. reflex/components/radix/themes/components/scroll_area.pyi +5 -4
  114. reflex/components/radix/themes/components/segmented_control.pyi +9 -7
  115. reflex/components/radix/themes/components/select.pyi +37 -28
  116. reflex/components/radix/themes/components/separator.pyi +5 -4
  117. reflex/components/radix/themes/components/skeleton.pyi +5 -4
  118. reflex/components/radix/themes/components/slider.pyi +5 -4
  119. reflex/components/radix/themes/components/spinner.pyi +5 -4
  120. reflex/components/radix/themes/components/switch.pyi +5 -4
  121. reflex/components/radix/themes/components/table.pyi +29 -22
  122. reflex/components/radix/themes/components/tabs.pyi +21 -16
  123. reflex/components/radix/themes/components/text_area.pyi +5 -4
  124. reflex/components/radix/themes/components/text_field.pyi +13 -10
  125. reflex/components/radix/themes/components/tooltip.pyi +5 -4
  126. reflex/components/radix/themes/layout/base.pyi +5 -4
  127. reflex/components/radix/themes/layout/box.pyi +5 -4
  128. reflex/components/radix/themes/layout/center.pyi +5 -4
  129. reflex/components/radix/themes/layout/container.pyi +5 -4
  130. reflex/components/radix/themes/layout/flex.pyi +5 -4
  131. reflex/components/radix/themes/layout/grid.pyi +5 -4
  132. reflex/components/radix/themes/layout/list.pyi +21 -16
  133. reflex/components/radix/themes/layout/section.pyi +5 -4
  134. reflex/components/radix/themes/layout/spacer.pyi +5 -4
  135. reflex/components/radix/themes/layout/stack.pyi +13 -10
  136. reflex/components/radix/themes/typography/blockquote.pyi +5 -4
  137. reflex/components/radix/themes/typography/code.pyi +5 -4
  138. reflex/components/radix/themes/typography/heading.pyi +5 -4
  139. reflex/components/radix/themes/typography/link.py +46 -11
  140. reflex/components/radix/themes/typography/link.pyi +311 -6
  141. reflex/components/radix/themes/typography/text.pyi +29 -22
  142. reflex/components/react_player/audio.pyi +5 -4
  143. reflex/components/react_player/react_player.pyi +5 -4
  144. reflex/components/react_player/video.pyi +5 -4
  145. reflex/components/recharts/cartesian.py +2 -1
  146. reflex/components/recharts/cartesian.pyi +65 -46
  147. reflex/components/recharts/charts.py +4 -2
  148. reflex/components/recharts/charts.pyi +36 -24
  149. reflex/components/recharts/general.pyi +24 -18
  150. reflex/components/recharts/polar.py +8 -4
  151. reflex/components/recharts/polar.pyi +16 -10
  152. reflex/components/recharts/recharts.pyi +9 -7
  153. reflex/components/sonner/toast.py +2 -2
  154. reflex/components/sonner/toast.pyi +10 -8
  155. reflex/config.py +3 -77
  156. reflex/constants/__init__.py +2 -2
  157. reflex/constants/base.py +28 -11
  158. reflex/constants/compiler.py +5 -3
  159. reflex/constants/event.py +1 -0
  160. reflex/constants/installer.py +22 -16
  161. reflex/constants/route.py +19 -7
  162. reflex/constants/state.py +2 -0
  163. reflex/custom_components/custom_components.py +0 -14
  164. reflex/environment.py +1 -1
  165. reflex/event.py +178 -81
  166. reflex/experimental/__init__.py +0 -30
  167. reflex/istate/proxy.py +5 -3
  168. reflex/page.py +0 -27
  169. reflex/plugins/__init__.py +3 -2
  170. reflex/plugins/base.py +5 -1
  171. reflex/plugins/shared_tailwind.py +158 -0
  172. reflex/plugins/sitemap.py +206 -0
  173. reflex/plugins/tailwind_v3.py +13 -106
  174. reflex/plugins/tailwind_v4.py +15 -108
  175. reflex/reflex.py +1 -0
  176. reflex/route.py +15 -21
  177. reflex/state.py +134 -140
  178. reflex/testing.py +58 -10
  179. reflex/utils/build.py +38 -82
  180. reflex/utils/exec.py +59 -161
  181. reflex/utils/export.py +2 -2
  182. reflex/utils/imports.py +0 -4
  183. reflex/utils/misc.py +28 -0
  184. reflex/utils/prerequisites.py +65 -62
  185. reflex/utils/processes.py +8 -7
  186. reflex/utils/pyi_generator.py +21 -9
  187. reflex/utils/serializers.py +14 -1
  188. reflex/utils/types.py +196 -61
  189. reflex/vars/__init__.py +2 -0
  190. reflex/vars/base.py +367 -134
  191. {reflex-0.7.14a6.dist-info → reflex-0.8.0a2.dist-info}/METADATA +12 -5
  192. {reflex-0.7.14a6.dist-info → reflex-0.8.0a2.dist-info}/RECORD +195 -202
  193. reflex/.templates/web/next.config.js +0 -7
  194. reflex/components/base/head.py +0 -20
  195. reflex/components/base/head.pyi +0 -116
  196. reflex/components/next/__init__.py +0 -10
  197. reflex/components/next/base.py +0 -7
  198. reflex/components/next/image.py +0 -117
  199. reflex/components/next/image.pyi +0 -94
  200. reflex/components/next/link.py +0 -20
  201. reflex/components/next/link.pyi +0 -67
  202. reflex/components/next/video.py +0 -38
  203. reflex/components/next/video.pyi +0 -68
  204. reflex/components/suneditor/__init__.py +0 -5
  205. reflex/components/suneditor/editor.py +0 -269
  206. reflex/components/suneditor/editor.pyi +0 -199
  207. reflex/experimental/layout.py +0 -254
  208. reflex/experimental/layout.pyi +0 -814
  209. {reflex-0.7.14a6.dist-info → reflex-0.8.0a2.dist-info}/WHEEL +0 -0
  210. {reflex-0.7.14a6.dist-info → reflex-0.8.0a2.dist-info}/entry_points.txt +0 -0
  211. {reflex-0.7.14a6.dist-info → reflex-0.8.0a2.dist-info}/licenses/LICENSE +0 -0
@@ -9,7 +9,7 @@ from typing import Any, Literal, overload
9
9
  from reflex import ComponentNamespace
10
10
  from reflex.components.core.breakpoints import Breakpoints
11
11
  from reflex.constants.colors import Color
12
- from reflex.event import EventType
12
+ from reflex.event import EventType, PointerEventInfo
13
13
  from reflex.vars.base import Var
14
14
 
15
15
  from .base import BaseHTML
@@ -244,9 +244,9 @@ class Area(BaseHTML):
244
244
  autofocus: bool | None = None,
245
245
  custom_attrs: dict[str, Var | Any] | None = None,
246
246
  on_blur: EventType[()] | None = None,
247
- on_click: EventType[()] | None = None,
248
- on_context_menu: EventType[()] | None = None,
249
- on_double_click: EventType[()] | None = None,
247
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
248
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
249
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
250
250
  on_focus: EventType[()] | None = None,
251
251
  on_mount: EventType[()] | None = None,
252
252
  on_mouse_down: EventType[()] | None = None,
@@ -257,6 +257,7 @@ class Area(BaseHTML):
257
257
  on_mouse_over: EventType[()] | None = None,
258
258
  on_mouse_up: EventType[()] | None = None,
259
259
  on_scroll: EventType[()] | None = None,
260
+ on_scroll_end: EventType[()] | None = None,
260
261
  on_unmount: EventType[()] | None = None,
261
262
  **props,
262
263
  ) -> Area:
@@ -510,9 +511,9 @@ class Audio(BaseHTML):
510
511
  autofocus: bool | None = None,
511
512
  custom_attrs: dict[str, Var | Any] | None = None,
512
513
  on_blur: EventType[()] | None = None,
513
- on_click: EventType[()] | None = None,
514
- on_context_menu: EventType[()] | None = None,
515
- on_double_click: EventType[()] | None = None,
514
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
515
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
516
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
516
517
  on_focus: EventType[()] | None = None,
517
518
  on_mount: EventType[()] | None = None,
518
519
  on_mouse_down: EventType[()] | None = None,
@@ -523,6 +524,7 @@ class Audio(BaseHTML):
523
524
  on_mouse_over: EventType[()] | None = None,
524
525
  on_mouse_up: EventType[()] | None = None,
525
526
  on_scroll: EventType[()] | None = None,
527
+ on_scroll_end: EventType[()] | None = None,
526
528
  on_unmount: EventType[()] | None = None,
527
529
  **props,
528
530
  ) -> Audio:
@@ -802,9 +804,9 @@ class Img(BaseHTML):
802
804
  autofocus: bool | None = None,
803
805
  custom_attrs: dict[str, Var | Any] | None = None,
804
806
  on_blur: EventType[()] | None = None,
805
- on_click: EventType[()] | None = None,
806
- on_context_menu: EventType[()] | None = None,
807
- on_double_click: EventType[()] | None = None,
807
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
808
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
809
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
808
810
  on_focus: EventType[()] | None = None,
809
811
  on_mount: EventType[()] | None = None,
810
812
  on_mouse_down: EventType[()] | None = None,
@@ -815,6 +817,7 @@ class Img(BaseHTML):
815
817
  on_mouse_over: EventType[()] | None = None,
816
818
  on_mouse_up: EventType[()] | None = None,
817
819
  on_scroll: EventType[()] | None = None,
820
+ on_scroll_end: EventType[()] | None = None,
818
821
  on_unmount: EventType[()] | None = None,
819
822
  **props,
820
823
  ) -> Img:
@@ -1057,9 +1060,9 @@ class Map(BaseHTML):
1057
1060
  autofocus: bool | None = None,
1058
1061
  custom_attrs: dict[str, Var | Any] | None = None,
1059
1062
  on_blur: EventType[()] | None = None,
1060
- on_click: EventType[()] | None = None,
1061
- on_context_menu: EventType[()] | None = None,
1062
- on_double_click: EventType[()] | None = None,
1063
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1064
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1065
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1063
1066
  on_focus: EventType[()] | None = None,
1064
1067
  on_mount: EventType[()] | None = None,
1065
1068
  on_mouse_down: EventType[()] | None = None,
@@ -1070,6 +1073,7 @@ class Map(BaseHTML):
1070
1073
  on_mouse_over: EventType[()] | None = None,
1071
1074
  on_mouse_up: EventType[()] | None = None,
1072
1075
  on_scroll: EventType[()] | None = None,
1076
+ on_scroll_end: EventType[()] | None = None,
1073
1077
  on_unmount: EventType[()] | None = None,
1074
1078
  **props,
1075
1079
  ) -> Map:
@@ -1308,9 +1312,9 @@ class Track(BaseHTML):
1308
1312
  autofocus: bool | None = None,
1309
1313
  custom_attrs: dict[str, Var | Any] | None = None,
1310
1314
  on_blur: EventType[()] | None = None,
1311
- on_click: EventType[()] | None = None,
1312
- on_context_menu: EventType[()] | None = None,
1313
- on_double_click: EventType[()] | None = None,
1315
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1316
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1317
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1314
1318
  on_focus: EventType[()] | None = None,
1315
1319
  on_mount: EventType[()] | None = None,
1316
1320
  on_mouse_down: EventType[()] | None = None,
@@ -1321,6 +1325,7 @@ class Track(BaseHTML):
1321
1325
  on_mouse_over: EventType[()] | None = None,
1322
1326
  on_mouse_up: EventType[()] | None = None,
1323
1327
  on_scroll: EventType[()] | None = None,
1328
+ on_scroll_end: EventType[()] | None = None,
1324
1329
  on_unmount: EventType[()] | None = None,
1325
1330
  **props,
1326
1331
  ) -> Track:
@@ -1569,9 +1574,9 @@ class Video(BaseHTML):
1569
1574
  autofocus: bool | None = None,
1570
1575
  custom_attrs: dict[str, Var | Any] | None = None,
1571
1576
  on_blur: EventType[()] | None = None,
1572
- on_click: EventType[()] | None = None,
1573
- on_context_menu: EventType[()] | None = None,
1574
- on_double_click: EventType[()] | None = None,
1577
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1578
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1579
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1575
1580
  on_focus: EventType[()] | None = None,
1576
1581
  on_mount: EventType[()] | None = None,
1577
1582
  on_mouse_down: EventType[()] | None = None,
@@ -1582,6 +1587,7 @@ class Video(BaseHTML):
1582
1587
  on_mouse_over: EventType[()] | None = None,
1583
1588
  on_mouse_up: EventType[()] | None = None,
1584
1589
  on_scroll: EventType[()] | None = None,
1590
+ on_scroll_end: EventType[()] | None = None,
1585
1591
  on_unmount: EventType[()] | None = None,
1586
1592
  **props,
1587
1593
  ) -> Video:
@@ -1825,9 +1831,9 @@ class Embed(BaseHTML):
1825
1831
  autofocus: bool | None = None,
1826
1832
  custom_attrs: dict[str, Var | Any] | None = None,
1827
1833
  on_blur: EventType[()] | None = None,
1828
- on_click: EventType[()] | None = None,
1829
- on_context_menu: EventType[()] | None = None,
1830
- on_double_click: EventType[()] | None = None,
1834
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1835
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1836
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1831
1837
  on_focus: EventType[()] | None = None,
1832
1838
  on_mount: EventType[()] | None = None,
1833
1839
  on_mouse_down: EventType[()] | None = None,
@@ -1838,6 +1844,7 @@ class Embed(BaseHTML):
1838
1844
  on_mouse_over: EventType[()] | None = None,
1839
1845
  on_mouse_up: EventType[()] | None = None,
1840
1846
  on_scroll: EventType[()] | None = None,
1847
+ on_scroll_end: EventType[()] | None = None,
1841
1848
  on_unmount: EventType[()] | None = None,
1842
1849
  **props,
1843
1850
  ) -> Embed:
@@ -2103,9 +2110,9 @@ class Iframe(BaseHTML):
2103
2110
  autofocus: bool | None = None,
2104
2111
  custom_attrs: dict[str, Var | Any] | None = None,
2105
2112
  on_blur: EventType[()] | None = None,
2106
- on_click: EventType[()] | None = None,
2107
- on_context_menu: EventType[()] | None = None,
2108
- on_double_click: EventType[()] | None = None,
2113
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2114
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2115
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2109
2116
  on_focus: EventType[()] | None = None,
2110
2117
  on_mount: EventType[()] | None = None,
2111
2118
  on_mouse_down: EventType[()] | None = None,
@@ -2116,6 +2123,7 @@ class Iframe(BaseHTML):
2116
2123
  on_mouse_over: EventType[()] | None = None,
2117
2124
  on_mouse_up: EventType[()] | None = None,
2118
2125
  on_scroll: EventType[()] | None = None,
2126
+ on_scroll_end: EventType[()] | None = None,
2119
2127
  on_unmount: EventType[()] | None = None,
2120
2128
  **props,
2121
2129
  ) -> Iframe:
@@ -2360,9 +2368,9 @@ class Object(BaseHTML):
2360
2368
  autofocus: bool | None = None,
2361
2369
  custom_attrs: dict[str, Var | Any] | None = None,
2362
2370
  on_blur: EventType[()] | None = None,
2363
- on_click: EventType[()] | None = None,
2364
- on_context_menu: EventType[()] | None = None,
2365
- on_double_click: EventType[()] | None = None,
2371
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2372
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2373
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2366
2374
  on_focus: EventType[()] | None = None,
2367
2375
  on_mount: EventType[()] | None = None,
2368
2376
  on_mouse_down: EventType[()] | None = None,
@@ -2373,6 +2381,7 @@ class Object(BaseHTML):
2373
2381
  on_mouse_over: EventType[()] | None = None,
2374
2382
  on_mouse_up: EventType[()] | None = None,
2375
2383
  on_scroll: EventType[()] | None = None,
2384
+ on_scroll_end: EventType[()] | None = None,
2376
2385
  on_unmount: EventType[()] | None = None,
2377
2386
  **props,
2378
2387
  ) -> Object:
@@ -2610,9 +2619,9 @@ class Picture(BaseHTML):
2610
2619
  autofocus: bool | None = None,
2611
2620
  custom_attrs: dict[str, Var | Any] | None = None,
2612
2621
  on_blur: EventType[()] | None = None,
2613
- on_click: EventType[()] | None = None,
2614
- on_context_menu: EventType[()] | None = None,
2615
- on_double_click: EventType[()] | None = None,
2622
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2623
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2624
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2616
2625
  on_focus: EventType[()] | None = None,
2617
2626
  on_mount: EventType[()] | None = None,
2618
2627
  on_mouse_down: EventType[()] | None = None,
@@ -2623,6 +2632,7 @@ class Picture(BaseHTML):
2623
2632
  on_mouse_over: EventType[()] | None = None,
2624
2633
  on_mouse_up: EventType[()] | None = None,
2625
2634
  on_scroll: EventType[()] | None = None,
2635
+ on_scroll_end: EventType[()] | None = None,
2626
2636
  on_unmount: EventType[()] | None = None,
2627
2637
  **props,
2628
2638
  ) -> Picture:
@@ -2855,9 +2865,9 @@ class Portal(BaseHTML):
2855
2865
  autofocus: bool | None = None,
2856
2866
  custom_attrs: dict[str, Var | Any] | None = None,
2857
2867
  on_blur: EventType[()] | None = None,
2858
- on_click: EventType[()] | None = None,
2859
- on_context_menu: EventType[()] | None = None,
2860
- on_double_click: EventType[()] | None = None,
2868
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2869
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2870
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2861
2871
  on_focus: EventType[()] | None = None,
2862
2872
  on_mount: EventType[()] | None = None,
2863
2873
  on_mouse_down: EventType[()] | None = None,
@@ -2868,6 +2878,7 @@ class Portal(BaseHTML):
2868
2878
  on_mouse_over: EventType[()] | None = None,
2869
2879
  on_mouse_up: EventType[()] | None = None,
2870
2880
  on_scroll: EventType[()] | None = None,
2881
+ on_scroll_end: EventType[()] | None = None,
2871
2882
  on_unmount: EventType[()] | None = None,
2872
2883
  **props,
2873
2884
  ) -> Portal:
@@ -3105,9 +3116,9 @@ class Source(BaseHTML):
3105
3116
  autofocus: bool | None = None,
3106
3117
  custom_attrs: dict[str, Var | Any] | None = None,
3107
3118
  on_blur: EventType[()] | None = None,
3108
- on_click: EventType[()] | None = None,
3109
- on_context_menu: EventType[()] | None = None,
3110
- on_double_click: EventType[()] | None = None,
3119
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3120
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3121
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3111
3122
  on_focus: EventType[()] | None = None,
3112
3123
  on_mount: EventType[()] | None = None,
3113
3124
  on_mouse_down: EventType[()] | None = None,
@@ -3118,6 +3129,7 @@ class Source(BaseHTML):
3118
3129
  on_mouse_over: EventType[()] | None = None,
3119
3130
  on_mouse_up: EventType[()] | None = None,
3120
3131
  on_scroll: EventType[()] | None = None,
3132
+ on_scroll_end: EventType[()] | None = None,
3121
3133
  on_unmount: EventType[()] | None = None,
3122
3134
  **props,
3123
3135
  ) -> Source:
@@ -3358,9 +3370,9 @@ class Svg(BaseHTML):
3358
3370
  autofocus: bool | None = None,
3359
3371
  custom_attrs: dict[str, Var | Any] | None = None,
3360
3372
  on_blur: EventType[()] | None = None,
3361
- on_click: EventType[()] | None = None,
3362
- on_context_menu: EventType[()] | None = None,
3363
- on_double_click: EventType[()] | None = None,
3373
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3374
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3375
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3364
3376
  on_focus: EventType[()] | None = None,
3365
3377
  on_mount: EventType[()] | None = None,
3366
3378
  on_mouse_down: EventType[()] | None = None,
@@ -3371,6 +3383,7 @@ class Svg(BaseHTML):
3371
3383
  on_mouse_over: EventType[()] | None = None,
3372
3384
  on_mouse_up: EventType[()] | None = None,
3373
3385
  on_scroll: EventType[()] | None = None,
3386
+ on_scroll_end: EventType[()] | None = None,
3374
3387
  on_unmount: EventType[()] | None = None,
3375
3388
  **props,
3376
3389
  ) -> Svg:
@@ -3613,9 +3626,9 @@ class Text(BaseHTML):
3613
3626
  autofocus: bool | None = None,
3614
3627
  custom_attrs: dict[str, Var | Any] | None = None,
3615
3628
  on_blur: EventType[()] | None = None,
3616
- on_click: EventType[()] | None = None,
3617
- on_context_menu: EventType[()] | None = None,
3618
- on_double_click: EventType[()] | None = None,
3629
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3630
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3631
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3619
3632
  on_focus: EventType[()] | None = None,
3620
3633
  on_mount: EventType[()] | None = None,
3621
3634
  on_mouse_down: EventType[()] | None = None,
@@ -3626,6 +3639,7 @@ class Text(BaseHTML):
3626
3639
  on_mouse_over: EventType[()] | None = None,
3627
3640
  on_mouse_up: EventType[()] | None = None,
3628
3641
  on_scroll: EventType[()] | None = None,
3642
+ on_scroll_end: EventType[()] | None = None,
3629
3643
  on_unmount: EventType[()] | None = None,
3630
3644
  **props,
3631
3645
  ) -> Text:
@@ -3870,9 +3884,9 @@ class Line(BaseHTML):
3870
3884
  autofocus: bool | None = None,
3871
3885
  custom_attrs: dict[str, Var | Any] | None = None,
3872
3886
  on_blur: EventType[()] | None = None,
3873
- on_click: EventType[()] | None = None,
3874
- on_context_menu: EventType[()] | None = None,
3875
- on_double_click: EventType[()] | None = None,
3887
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3888
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3889
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3876
3890
  on_focus: EventType[()] | None = None,
3877
3891
  on_mount: EventType[()] | None = None,
3878
3892
  on_mouse_down: EventType[()] | None = None,
@@ -3883,6 +3897,7 @@ class Line(BaseHTML):
3883
3897
  on_mouse_over: EventType[()] | None = None,
3884
3898
  on_mouse_up: EventType[()] | None = None,
3885
3899
  on_scroll: EventType[()] | None = None,
3900
+ on_scroll_end: EventType[()] | None = None,
3886
3901
  on_unmount: EventType[()] | None = None,
3887
3902
  **props,
3888
3903
  ) -> Line:
@@ -4124,9 +4139,9 @@ class Circle(BaseHTML):
4124
4139
  autofocus: bool | None = None,
4125
4140
  custom_attrs: dict[str, Var | Any] | None = None,
4126
4141
  on_blur: EventType[()] | None = None,
4127
- on_click: EventType[()] | None = None,
4128
- on_context_menu: EventType[()] | None = None,
4129
- on_double_click: EventType[()] | None = None,
4142
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4143
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
4144
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4130
4145
  on_focus: EventType[()] | None = None,
4131
4146
  on_mount: EventType[()] | None = None,
4132
4147
  on_mouse_down: EventType[()] | None = None,
@@ -4137,6 +4152,7 @@ class Circle(BaseHTML):
4137
4152
  on_mouse_over: EventType[()] | None = None,
4138
4153
  on_mouse_up: EventType[()] | None = None,
4139
4154
  on_scroll: EventType[()] | None = None,
4155
+ on_scroll_end: EventType[()] | None = None,
4140
4156
  on_unmount: EventType[()] | None = None,
4141
4157
  **props,
4142
4158
  ) -> Circle:
@@ -4378,9 +4394,9 @@ class Ellipse(BaseHTML):
4378
4394
  autofocus: bool | None = None,
4379
4395
  custom_attrs: dict[str, Var | Any] | None = None,
4380
4396
  on_blur: EventType[()] | None = None,
4381
- on_click: EventType[()] | None = None,
4382
- on_context_menu: EventType[()] | None = None,
4383
- on_double_click: EventType[()] | None = None,
4397
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4398
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
4399
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4384
4400
  on_focus: EventType[()] | None = None,
4385
4401
  on_mount: EventType[()] | None = None,
4386
4402
  on_mouse_down: EventType[()] | None = None,
@@ -4391,6 +4407,7 @@ class Ellipse(BaseHTML):
4391
4407
  on_mouse_over: EventType[()] | None = None,
4392
4408
  on_mouse_up: EventType[()] | None = None,
4393
4409
  on_scroll: EventType[()] | None = None,
4410
+ on_scroll_end: EventType[()] | None = None,
4394
4411
  on_unmount: EventType[()] | None = None,
4395
4412
  **props,
4396
4413
  ) -> Ellipse:
@@ -4635,9 +4652,9 @@ class Rect(BaseHTML):
4635
4652
  autofocus: bool | None = None,
4636
4653
  custom_attrs: dict[str, Var | Any] | None = None,
4637
4654
  on_blur: EventType[()] | None = None,
4638
- on_click: EventType[()] | None = None,
4639
- on_context_menu: EventType[()] | None = None,
4640
- on_double_click: EventType[()] | None = None,
4655
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4656
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
4657
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4641
4658
  on_focus: EventType[()] | None = None,
4642
4659
  on_mount: EventType[()] | None = None,
4643
4660
  on_mouse_down: EventType[()] | None = None,
@@ -4648,6 +4665,7 @@ class Rect(BaseHTML):
4648
4665
  on_mouse_over: EventType[()] | None = None,
4649
4666
  on_mouse_up: EventType[()] | None = None,
4650
4667
  on_scroll: EventType[()] | None = None,
4668
+ on_scroll_end: EventType[()] | None = None,
4651
4669
  on_unmount: EventType[()] | None = None,
4652
4670
  **props,
4653
4671
  ) -> Rect:
@@ -4889,9 +4907,9 @@ class Polygon(BaseHTML):
4889
4907
  autofocus: bool | None = None,
4890
4908
  custom_attrs: dict[str, Var | Any] | None = None,
4891
4909
  on_blur: EventType[()] | None = None,
4892
- on_click: EventType[()] | None = None,
4893
- on_context_menu: EventType[()] | None = None,
4894
- on_double_click: EventType[()] | None = None,
4910
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4911
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
4912
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4895
4913
  on_focus: EventType[()] | None = None,
4896
4914
  on_mount: EventType[()] | None = None,
4897
4915
  on_mouse_down: EventType[()] | None = None,
@@ -4902,6 +4920,7 @@ class Polygon(BaseHTML):
4902
4920
  on_mouse_over: EventType[()] | None = None,
4903
4921
  on_mouse_up: EventType[()] | None = None,
4904
4922
  on_scroll: EventType[()] | None = None,
4923
+ on_scroll_end: EventType[()] | None = None,
4905
4924
  on_unmount: EventType[()] | None = None,
4906
4925
  **props,
4907
4926
  ) -> Polygon:
@@ -5136,9 +5155,9 @@ class Defs(BaseHTML):
5136
5155
  autofocus: bool | None = None,
5137
5156
  custom_attrs: dict[str, Var | Any] | None = None,
5138
5157
  on_blur: EventType[()] | None = None,
5139
- on_click: EventType[()] | None = None,
5140
- on_context_menu: EventType[()] | None = None,
5141
- on_double_click: EventType[()] | None = None,
5158
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
5159
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
5160
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
5142
5161
  on_focus: EventType[()] | None = None,
5143
5162
  on_mount: EventType[()] | None = None,
5144
5163
  on_mouse_down: EventType[()] | None = None,
@@ -5149,6 +5168,7 @@ class Defs(BaseHTML):
5149
5168
  on_mouse_over: EventType[()] | None = None,
5150
5169
  on_mouse_up: EventType[()] | None = None,
5151
5170
  on_scroll: EventType[()] | None = None,
5171
+ on_scroll_end: EventType[()] | None = None,
5152
5172
  on_unmount: EventType[()] | None = None,
5153
5173
  **props,
5154
5174
  ) -> Defs:
@@ -5388,9 +5408,9 @@ class LinearGradient(BaseHTML):
5388
5408
  autofocus: bool | None = None,
5389
5409
  custom_attrs: dict[str, Var | Any] | None = None,
5390
5410
  on_blur: EventType[()] | None = None,
5391
- on_click: EventType[()] | None = None,
5392
- on_context_menu: EventType[()] | None = None,
5393
- on_double_click: EventType[()] | None = None,
5411
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
5412
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
5413
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
5394
5414
  on_focus: EventType[()] | None = None,
5395
5415
  on_mount: EventType[()] | None = None,
5396
5416
  on_mouse_down: EventType[()] | None = None,
@@ -5401,6 +5421,7 @@ class LinearGradient(BaseHTML):
5401
5421
  on_mouse_over: EventType[()] | None = None,
5402
5422
  on_mouse_up: EventType[()] | None = None,
5403
5423
  on_scroll: EventType[()] | None = None,
5424
+ on_scroll_end: EventType[()] | None = None,
5404
5425
  on_unmount: EventType[()] | None = None,
5405
5426
  **props,
5406
5427
  ) -> LinearGradient:
@@ -5649,9 +5670,9 @@ class RadialGradient(BaseHTML):
5649
5670
  autofocus: bool | None = None,
5650
5671
  custom_attrs: dict[str, Var | Any] | None = None,
5651
5672
  on_blur: EventType[()] | None = None,
5652
- on_click: EventType[()] | None = None,
5653
- on_context_menu: EventType[()] | None = None,
5654
- on_double_click: EventType[()] | None = None,
5673
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
5674
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
5675
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
5655
5676
  on_focus: EventType[()] | None = None,
5656
5677
  on_mount: EventType[()] | None = None,
5657
5678
  on_mouse_down: EventType[()] | None = None,
@@ -5662,6 +5683,7 @@ class RadialGradient(BaseHTML):
5662
5683
  on_mouse_over: EventType[()] | None = None,
5663
5684
  on_mouse_up: EventType[()] | None = None,
5664
5685
  on_scroll: EventType[()] | None = None,
5686
+ on_scroll_end: EventType[()] | None = None,
5665
5687
  on_unmount: EventType[()] | None = None,
5666
5688
  **props,
5667
5689
  ) -> RadialGradient:
@@ -5911,9 +5933,9 @@ class Stop(BaseHTML):
5911
5933
  autofocus: bool | None = None,
5912
5934
  custom_attrs: dict[str, Var | Any] | None = None,
5913
5935
  on_blur: EventType[()] | None = None,
5914
- on_click: EventType[()] | None = None,
5915
- on_context_menu: EventType[()] | None = None,
5916
- on_double_click: EventType[()] | None = None,
5936
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
5937
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
5938
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
5917
5939
  on_focus: EventType[()] | None = None,
5918
5940
  on_mount: EventType[()] | None = None,
5919
5941
  on_mouse_down: EventType[()] | None = None,
@@ -5924,6 +5946,7 @@ class Stop(BaseHTML):
5924
5946
  on_mouse_over: EventType[()] | None = None,
5925
5947
  on_mouse_up: EventType[()] | None = None,
5926
5948
  on_scroll: EventType[()] | None = None,
5949
+ on_scroll_end: EventType[()] | None = None,
5927
5950
  on_unmount: EventType[()] | None = None,
5928
5951
  **props,
5929
5952
  ) -> Stop:
@@ -6160,9 +6183,9 @@ class Path(BaseHTML):
6160
6183
  autofocus: bool | None = None,
6161
6184
  custom_attrs: dict[str, Var | Any] | None = None,
6162
6185
  on_blur: EventType[()] | None = None,
6163
- on_click: EventType[()] | None = None,
6164
- on_context_menu: EventType[()] | None = None,
6165
- on_double_click: EventType[()] | None = None,
6186
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
6187
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
6188
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
6166
6189
  on_focus: EventType[()] | None = None,
6167
6190
  on_mount: EventType[()] | None = None,
6168
6191
  on_mouse_down: EventType[()] | None = None,
@@ -6173,6 +6196,7 @@ class Path(BaseHTML):
6173
6196
  on_mouse_over: EventType[()] | None = None,
6174
6197
  on_mouse_up: EventType[()] | None = None,
6175
6198
  on_scroll: EventType[()] | None = None,
6199
+ on_scroll_end: EventType[()] | None = None,
6176
6200
  on_unmount: EventType[()] | None = None,
6177
6201
  **props,
6178
6202
  ) -> Path:
@@ -6412,9 +6436,9 @@ class G(BaseHTML):
6412
6436
  autofocus: bool | None = None,
6413
6437
  custom_attrs: dict[str, Var | Any] | None = None,
6414
6438
  on_blur: EventType[()] | None = None,
6415
- on_click: EventType[()] | None = None,
6416
- on_context_menu: EventType[()] | None = None,
6417
- on_double_click: EventType[()] | None = None,
6439
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
6440
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
6441
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
6418
6442
  on_focus: EventType[()] | None = None,
6419
6443
  on_mount: EventType[()] | None = None,
6420
6444
  on_mouse_down: EventType[()] | None = None,
@@ -6425,6 +6449,7 @@ class G(BaseHTML):
6425
6449
  on_mouse_over: EventType[()] | None = None,
6426
6450
  on_mouse_up: EventType[()] | None = None,
6427
6451
  on_scroll: EventType[()] | None = None,
6452
+ on_scroll_end: EventType[()] | None = None,
6428
6453
  on_unmount: EventType[()] | None = None,
6429
6454
  **props,
6430
6455
  ) -> G:
@@ -6677,9 +6702,9 @@ class SVG(ComponentNamespace):
6677
6702
  autofocus: bool | None = None,
6678
6703
  custom_attrs: dict[str, Var | Any] | None = None,
6679
6704
  on_blur: EventType[()] | None = None,
6680
- on_click: EventType[()] | None = None,
6681
- on_context_menu: EventType[()] | None = None,
6682
- on_double_click: EventType[()] | None = None,
6705
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
6706
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
6707
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
6683
6708
  on_focus: EventType[()] | None = None,
6684
6709
  on_mount: EventType[()] | None = None,
6685
6710
  on_mouse_down: EventType[()] | None = None,
@@ -6690,6 +6715,7 @@ class SVG(ComponentNamespace):
6690
6715
  on_mouse_over: EventType[()] | None = None,
6691
6716
  on_mouse_up: EventType[()] | None = None,
6692
6717
  on_scroll: EventType[()] | None = None,
6718
+ on_scroll_end: EventType[()] | None = None,
6693
6719
  on_unmount: EventType[()] | None = None,
6694
6720
  **props,
6695
6721
  ) -> Svg:
@@ -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.components.el.element import Element
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 .base import BaseHTML
@@ -211,9 +211,9 @@ class Base(BaseHTML):
211
211
  autofocus: bool | None = None,
212
212
  custom_attrs: dict[str, Var | Any] | None = None,
213
213
  on_blur: EventType[()] | None = None,
214
- on_click: EventType[()] | None = None,
215
- on_context_menu: EventType[()] | None = None,
216
- on_double_click: EventType[()] | None = None,
214
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
215
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
216
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
217
217
  on_focus: EventType[()] | None = None,
218
218
  on_mount: EventType[()] | None = None,
219
219
  on_mouse_down: EventType[()] | None = None,
@@ -224,6 +224,7 @@ class Base(BaseHTML):
224
224
  on_mouse_over: EventType[()] | None = None,
225
225
  on_mouse_up: EventType[()] | None = None,
226
226
  on_scroll: EventType[()] | None = None,
227
+ on_scroll_end: EventType[()] | None = None,
227
228
  on_unmount: EventType[()] | None = None,
228
229
  **props,
229
230
  ) -> Base:
@@ -456,9 +457,9 @@ class Head(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 Head(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
  ) -> Head:
@@ -736,9 +738,9 @@ class Link(BaseHTML):
736
738
  autofocus: bool | None = None,
737
739
  custom_attrs: dict[str, Var | Any] | None = None,
738
740
  on_blur: EventType[()] | None = None,
739
- on_click: EventType[()] | None = None,
740
- on_context_menu: EventType[()] | None = None,
741
- on_double_click: EventType[()] | None = None,
741
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
742
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
743
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
742
744
  on_focus: EventType[()] | None = None,
743
745
  on_mount: EventType[()] | None = None,
744
746
  on_mouse_down: EventType[()] | None = None,
@@ -749,6 +751,7 @@ class Link(BaseHTML):
749
751
  on_mouse_over: EventType[()] | None = None,
750
752
  on_mouse_up: EventType[()] | None = None,
751
753
  on_scroll: EventType[()] | None = None,
754
+ on_scroll_end: EventType[()] | None = None,
752
755
  on_unmount: EventType[()] | None = None,
753
756
  **props,
754
757
  ) -> Link:
@@ -994,9 +997,9 @@ class Meta(BaseHTML):
994
997
  autofocus: bool | None = None,
995
998
  custom_attrs: dict[str, Var | Any] | None = None,
996
999
  on_blur: EventType[()] | None = None,
997
- on_click: EventType[()] | None = None,
998
- on_context_menu: EventType[()] | None = None,
999
- on_double_click: EventType[()] | None = None,
1000
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1001
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1002
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1000
1003
  on_focus: EventType[()] | None = None,
1001
1004
  on_mount: EventType[()] | None = None,
1002
1005
  on_mouse_down: EventType[()] | None = None,
@@ -1007,6 +1010,7 @@ class Meta(BaseHTML):
1007
1010
  on_mouse_over: EventType[()] | None = None,
1008
1011
  on_mouse_up: EventType[()] | None = None,
1009
1012
  on_scroll: EventType[()] | None = None,
1013
+ on_scroll_end: EventType[()] | None = None,
1010
1014
  on_unmount: EventType[()] | None = None,
1011
1015
  **props,
1012
1016
  ) -> Meta:
@@ -1065,9 +1069,9 @@ class Title(Element):
1065
1069
  autofocus: bool | None = None,
1066
1070
  custom_attrs: dict[str, Var | Any] | None = None,
1067
1071
  on_blur: EventType[()] | None = None,
1068
- on_click: EventType[()] | None = None,
1069
- on_context_menu: EventType[()] | None = None,
1070
- on_double_click: EventType[()] | None = None,
1072
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1073
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1074
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1071
1075
  on_focus: EventType[()] | None = None,
1072
1076
  on_mount: EventType[()] | None = None,
1073
1077
  on_mouse_down: EventType[()] | None = None,
@@ -1078,6 +1082,7 @@ class Title(Element):
1078
1082
  on_mouse_over: EventType[()] | None = None,
1079
1083
  on_mouse_up: EventType[()] | None = None,
1080
1084
  on_scroll: EventType[()] | None = None,
1085
+ on_scroll_end: EventType[()] | None = None,
1081
1086
  on_unmount: EventType[()] | None = None,
1082
1087
  **props,
1083
1088
  ) -> Title:
@@ -1118,9 +1123,9 @@ class StyleEl(Element):
1118
1123
  autofocus: bool | None = None,
1119
1124
  custom_attrs: dict[str, Var | Any] | None = None,
1120
1125
  on_blur: EventType[()] | None = None,
1121
- on_click: EventType[()] | None = None,
1122
- on_context_menu: EventType[()] | None = None,
1123
- on_double_click: EventType[()] | None = None,
1126
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1127
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1128
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1124
1129
  on_focus: EventType[()] | None = None,
1125
1130
  on_mount: EventType[()] | None = None,
1126
1131
  on_mouse_down: EventType[()] | None = None,
@@ -1131,6 +1136,7 @@ class StyleEl(Element):
1131
1136
  on_mouse_over: EventType[()] | None = None,
1132
1137
  on_mouse_up: EventType[()] | None = None,
1133
1138
  on_scroll: EventType[()] | None = None,
1139
+ on_scroll_end: EventType[()] | None = None,
1134
1140
  on_unmount: EventType[()] | None = None,
1135
1141
  **props,
1136
1142
  ) -> StyleEl: