reflex 0.7.14a5__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 (205) 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 +69 -132
  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.14a5.dist-info → reflex-0.8.0a1.dist-info}/METADATA +12 -5
  187. {reflex-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/RECORD +190 -196
  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-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/WHEEL +0 -0
  204. {reflex-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/entry_points.txt +0 -0
  205. {reflex-0.7.14a5.dist-info → reflex-0.8.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -9,7 +9,7 @@ from typing import Any, Literal, overload
9
9
  from reflex.components.component import Component, ComponentNamespace
10
10
  from reflex.components.core.breakpoints import Breakpoints
11
11
  from reflex.components.radix.primitives.base import RadixPrimitiveComponentWithClassName
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
  LiteralSliderOrientation = Literal["horizontal", "vertical"]
@@ -34,9 +34,9 @@ class SliderComponent(RadixPrimitiveComponentWithClassName):
34
34
  autofocus: bool | None = None,
35
35
  custom_attrs: dict[str, Var | Any] | None = None,
36
36
  on_blur: EventType[()] | None = None,
37
- on_click: EventType[()] | None = None,
38
- on_context_menu: EventType[()] | None = None,
39
- on_double_click: EventType[()] | None = None,
37
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
38
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
39
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
40
40
  on_focus: EventType[()] | None = None,
41
41
  on_mount: EventType[()] | None = None,
42
42
  on_mouse_down: EventType[()] | None = None,
@@ -47,6 +47,7 @@ class SliderComponent(RadixPrimitiveComponentWithClassName):
47
47
  on_mouse_over: EventType[()] | None = None,
48
48
  on_mouse_up: EventType[()] | None = None,
49
49
  on_scroll: EventType[()] | None = None,
50
+ on_scroll_end: EventType[()] | None = None,
50
51
  on_unmount: EventType[()] | None = None,
51
52
  **props,
52
53
  ) -> SliderComponent:
@@ -103,9 +104,9 @@ class SliderRoot(SliderComponent):
103
104
  autofocus: bool | None = None,
104
105
  custom_attrs: dict[str, Var | Any] | None = None,
105
106
  on_blur: EventType[()] | None = None,
106
- on_click: EventType[()] | None = None,
107
- on_context_menu: EventType[()] | None = None,
108
- on_double_click: EventType[()] | None = None,
107
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
108
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
109
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
109
110
  on_focus: EventType[()] | None = None,
110
111
  on_mount: EventType[()] | None = None,
111
112
  on_mouse_down: EventType[()] | None = None,
@@ -116,6 +117,7 @@ class SliderRoot(SliderComponent):
116
117
  on_mouse_over: EventType[()] | None = None,
117
118
  on_mouse_up: EventType[()] | None = None,
118
119
  on_scroll: EventType[()] | None = None,
120
+ on_scroll_end: EventType[()] | None = None,
119
121
  on_unmount: EventType[()] | None = None,
120
122
  on_value_change: EventType[()] | EventType[list[int]] | None = None,
121
123
  on_value_commit: EventType[()] | EventType[list[int]] | None = None,
@@ -161,9 +163,9 @@ class SliderTrack(SliderComponent):
161
163
  autofocus: bool | None = None,
162
164
  custom_attrs: dict[str, Var | Any] | None = None,
163
165
  on_blur: EventType[()] | None = None,
164
- on_click: EventType[()] | None = None,
165
- on_context_menu: EventType[()] | None = None,
166
- on_double_click: EventType[()] | None = None,
166
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
167
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
168
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
167
169
  on_focus: EventType[()] | None = None,
168
170
  on_mount: EventType[()] | None = None,
169
171
  on_mouse_down: EventType[()] | None = None,
@@ -174,6 +176,7 @@ class SliderTrack(SliderComponent):
174
176
  on_mouse_over: EventType[()] | None = None,
175
177
  on_mouse_up: EventType[()] | None = None,
176
178
  on_scroll: EventType[()] | None = None,
179
+ on_scroll_end: EventType[()] | None = None,
177
180
  on_unmount: EventType[()] | None = None,
178
181
  **props,
179
182
  ) -> SliderTrack:
@@ -215,9 +218,9 @@ class SliderRange(SliderComponent):
215
218
  autofocus: bool | None = None,
216
219
  custom_attrs: dict[str, Var | Any] | None = None,
217
220
  on_blur: EventType[()] | None = None,
218
- on_click: EventType[()] | None = None,
219
- on_context_menu: EventType[()] | None = None,
220
- on_double_click: EventType[()] | None = None,
221
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
222
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
223
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
221
224
  on_focus: EventType[()] | None = None,
222
225
  on_mount: EventType[()] | None = None,
223
226
  on_mouse_down: EventType[()] | None = None,
@@ -228,6 +231,7 @@ class SliderRange(SliderComponent):
228
231
  on_mouse_over: EventType[()] | None = None,
229
232
  on_mouse_up: EventType[()] | None = None,
230
233
  on_scroll: EventType[()] | None = None,
234
+ on_scroll_end: EventType[()] | None = None,
231
235
  on_unmount: EventType[()] | None = None,
232
236
  **props,
233
237
  ) -> SliderRange:
@@ -269,9 +273,9 @@ class SliderThumb(SliderComponent):
269
273
  autofocus: bool | None = None,
270
274
  custom_attrs: dict[str, Var | Any] | None = None,
271
275
  on_blur: EventType[()] | None = None,
272
- on_click: EventType[()] | None = None,
273
- on_context_menu: EventType[()] | None = None,
274
- on_double_click: EventType[()] | None = None,
276
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
277
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
278
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
275
279
  on_focus: EventType[()] | None = None,
276
280
  on_mount: EventType[()] | None = None,
277
281
  on_mouse_down: EventType[()] | None = None,
@@ -282,6 +286,7 @@ class SliderThumb(SliderComponent):
282
286
  on_mouse_over: EventType[()] | None = None,
283
287
  on_mouse_up: EventType[()] | None = None,
284
288
  on_scroll: EventType[()] | None = None,
289
+ on_scroll_end: EventType[()] | None = None,
285
290
  on_unmount: EventType[()] | None = None,
286
291
  **props,
287
292
  ) -> SliderThumb:
@@ -241,7 +241,7 @@ class Theme(RadixThemesComponent):
241
241
  The import dict.
242
242
  """
243
243
  return {
244
- "$/utils/theme.js": [ImportVar(tag="theme", is_default=True)],
244
+ "$/utils/theme": [ImportVar(tag="theme", is_default=True)],
245
245
  }
246
246
 
247
247
  def _render(self, props: dict[str, Any] | None = None) -> Tag:
@@ -276,9 +276,9 @@ class ThemePanel(RadixThemesComponent):
276
276
 
277
277
 
278
278
  class RadixThemesColorModeProvider(Component):
279
- """Next-themes integration for radix themes components."""
279
+ """React-themes integration for radix themes components."""
280
280
 
281
- library = "$/components/reflex/radix_themes_color_mode_provider.js"
281
+ library = "$/components/reflex/radix_themes_color_mode_provider"
282
282
  tag = "RadixThemesColorModeProvider"
283
283
  is_default = True
284
284
 
@@ -8,7 +8,7 @@ from typing import Any, Literal, overload
8
8
 
9
9
  from reflex.components import Component
10
10
  from reflex.components.core.breakpoints import Breakpoints
11
- from reflex.event import EventType
11
+ from reflex.event import EventType, PointerEventInfo
12
12
  from reflex.utils.imports import ImportDict
13
13
  from reflex.vars.base import Var
14
14
 
@@ -89,9 +89,9 @@ class CommonMarginProps(Component):
89
89
  autofocus: bool | None = None,
90
90
  custom_attrs: dict[str, Var | Any] | None = None,
91
91
  on_blur: EventType[()] | None = None,
92
- on_click: EventType[()] | None = None,
93
- on_context_menu: EventType[()] | None = None,
94
- on_double_click: EventType[()] | None = None,
92
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
93
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
94
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
95
95
  on_focus: EventType[()] | None = None,
96
96
  on_mount: EventType[()] | None = None,
97
97
  on_mouse_down: EventType[()] | None = None,
@@ -102,6 +102,7 @@ class CommonMarginProps(Component):
102
102
  on_mouse_over: EventType[()] | None = None,
103
103
  on_mouse_up: EventType[()] | None = None,
104
104
  on_scroll: EventType[()] | None = None,
105
+ on_scroll_end: EventType[()] | None = None,
105
106
  on_unmount: EventType[()] | None = None,
106
107
  **props,
107
108
  ) -> CommonMarginProps:
@@ -196,9 +197,9 @@ class CommonPaddingProps(Component):
196
197
  autofocus: bool | None = None,
197
198
  custom_attrs: dict[str, Var | Any] | None = None,
198
199
  on_blur: EventType[()] | None = None,
199
- on_click: EventType[()] | None = None,
200
- on_context_menu: EventType[()] | None = None,
201
- on_double_click: EventType[()] | None = None,
200
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
201
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
202
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
202
203
  on_focus: EventType[()] | None = None,
203
204
  on_mount: EventType[()] | None = None,
204
205
  on_mouse_down: EventType[()] | None = None,
@@ -209,6 +210,7 @@ class CommonPaddingProps(Component):
209
210
  on_mouse_over: EventType[()] | None = None,
210
211
  on_mouse_up: EventType[()] | None = None,
211
212
  on_scroll: EventType[()] | None = None,
213
+ on_scroll_end: EventType[()] | None = None,
212
214
  on_unmount: EventType[()] | None = None,
213
215
  **props,
214
216
  ) -> CommonPaddingProps:
@@ -255,9 +257,9 @@ class RadixLoadingProp(Component):
255
257
  autofocus: bool | None = None,
256
258
  custom_attrs: dict[str, Var | Any] | None = None,
257
259
  on_blur: EventType[()] | None = None,
258
- on_click: EventType[()] | None = None,
259
- on_context_menu: EventType[()] | None = None,
260
- on_double_click: EventType[()] | None = None,
260
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
261
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
262
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
261
263
  on_focus: EventType[()] | None = None,
262
264
  on_mount: EventType[()] | None = None,
263
265
  on_mouse_down: EventType[()] | None = None,
@@ -268,6 +270,7 @@ class RadixLoadingProp(Component):
268
270
  on_mouse_over: EventType[()] | None = None,
269
271
  on_mouse_up: EventType[()] | None = None,
270
272
  on_scroll: EventType[()] | None = None,
273
+ on_scroll_end: EventType[()] | None = None,
271
274
  on_unmount: EventType[()] | None = None,
272
275
  **props,
273
276
  ) -> RadixLoadingProp:
@@ -307,9 +310,9 @@ class RadixThemesComponent(Component):
307
310
  autofocus: bool | None = None,
308
311
  custom_attrs: dict[str, Var | Any] | None = None,
309
312
  on_blur: EventType[()] | None = None,
310
- on_click: EventType[()] | None = None,
311
- on_context_menu: EventType[()] | None = None,
312
- on_double_click: EventType[()] | None = None,
313
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
314
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
315
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
313
316
  on_focus: EventType[()] | None = None,
314
317
  on_mount: EventType[()] | None = None,
315
318
  on_mouse_down: EventType[()] | None = None,
@@ -320,6 +323,7 @@ class RadixThemesComponent(Component):
320
323
  on_mouse_over: EventType[()] | None = None,
321
324
  on_mouse_up: EventType[()] | None = None,
322
325
  on_scroll: EventType[()] | None = None,
326
+ on_scroll_end: EventType[()] | None = None,
323
327
  on_unmount: EventType[()] | None = None,
324
328
  **props,
325
329
  ) -> RadixThemesComponent:
@@ -361,9 +365,9 @@ class RadixThemesTriggerComponent(RadixThemesComponent):
361
365
  autofocus: bool | None = None,
362
366
  custom_attrs: dict[str, Var | Any] | None = None,
363
367
  on_blur: EventType[()] | None = None,
364
- on_click: EventType[()] | None = None,
365
- on_context_menu: EventType[()] | None = None,
366
- on_double_click: EventType[()] | None = None,
368
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
369
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
370
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
367
371
  on_focus: EventType[()] | None = None,
368
372
  on_mount: EventType[()] | None = None,
369
373
  on_mouse_down: EventType[()] | None = None,
@@ -374,6 +378,7 @@ class RadixThemesTriggerComponent(RadixThemesComponent):
374
378
  on_mouse_over: EventType[()] | None = None,
375
379
  on_mouse_up: EventType[()] | None = None,
376
380
  on_scroll: EventType[()] | None = None,
381
+ on_scroll_end: EventType[()] | None = None,
377
382
  on_unmount: EventType[()] | None = None,
378
383
  **props,
379
384
  ) -> RadixThemesTriggerComponent:
@@ -482,9 +487,9 @@ class Theme(RadixThemesComponent):
482
487
  autofocus: bool | None = None,
483
488
  custom_attrs: dict[str, Var | Any] | None = None,
484
489
  on_blur: EventType[()] | None = None,
485
- on_click: EventType[()] | None = None,
486
- on_context_menu: EventType[()] | None = None,
487
- on_double_click: EventType[()] | None = None,
490
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
491
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
492
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
488
493
  on_focus: EventType[()] | None = None,
489
494
  on_mount: EventType[()] | None = None,
490
495
  on_mouse_down: EventType[()] | None = None,
@@ -495,6 +500,7 @@ class Theme(RadixThemesComponent):
495
500
  on_mouse_over: EventType[()] | None = None,
496
501
  on_mouse_up: EventType[()] | None = None,
497
502
  on_scroll: EventType[()] | None = None,
503
+ on_scroll_end: EventType[()] | None = None,
498
504
  on_unmount: EventType[()] | None = None,
499
505
  **props,
500
506
  ) -> Theme:
@@ -546,9 +552,9 @@ class ThemePanel(RadixThemesComponent):
546
552
  autofocus: bool | None = None,
547
553
  custom_attrs: dict[str, Var | Any] | None = None,
548
554
  on_blur: EventType[()] | None = None,
549
- on_click: EventType[()] | None = None,
550
- on_context_menu: EventType[()] | None = None,
551
- on_double_click: EventType[()] | None = None,
555
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
556
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
557
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
552
558
  on_focus: EventType[()] | None = None,
553
559
  on_mount: EventType[()] | None = None,
554
560
  on_mouse_down: EventType[()] | None = None,
@@ -559,6 +565,7 @@ class ThemePanel(RadixThemesComponent):
559
565
  on_mouse_over: EventType[()] | None = None,
560
566
  on_mouse_up: EventType[()] | None = None,
561
567
  on_scroll: EventType[()] | None = None,
568
+ on_scroll_end: EventType[()] | None = None,
562
569
  on_unmount: EventType[()] | None = None,
563
570
  **props,
564
571
  ) -> ThemePanel:
@@ -601,9 +608,9 @@ class RadixThemesColorModeProvider(Component):
601
608
  autofocus: bool | None = None,
602
609
  custom_attrs: dict[str, Var | Any] | None = None,
603
610
  on_blur: EventType[()] | None = None,
604
- on_click: EventType[()] | None = None,
605
- on_context_menu: EventType[()] | None = None,
606
- on_double_click: EventType[()] | None = None,
611
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
612
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
613
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
607
614
  on_focus: EventType[()] | None = None,
608
615
  on_mount: EventType[()] | None = None,
609
616
  on_mouse_down: EventType[()] | None = None,
@@ -614,6 +621,7 @@ class RadixThemesColorModeProvider(Component):
614
621
  on_mouse_over: EventType[()] | None = None,
615
622
  on_mouse_up: EventType[()] | None = None,
616
623
  on_scroll: EventType[()] | None = None,
624
+ on_scroll_end: EventType[()] | None = None,
617
625
  on_unmount: EventType[()] | None = None,
618
626
  **props,
619
627
  ) -> RadixThemesColorModeProvider:
@@ -10,7 +10,7 @@ from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.components.core.cond import Cond
11
11
  from reflex.components.lucide.icon import Icon
12
12
  from reflex.components.radix.themes.components.switch import Switch
13
- from reflex.event import EventType
13
+ from reflex.event import EventType, PointerEventInfo
14
14
  from reflex.style import color_mode
15
15
  from reflex.vars.base import Var
16
16
 
@@ -38,9 +38,9 @@ class ColorModeIcon(Cond):
38
38
  autofocus: bool | None = None,
39
39
  custom_attrs: dict[str, Var | Any] | None = None,
40
40
  on_blur: EventType[()] | None = None,
41
- on_click: EventType[()] | None = None,
42
- on_context_menu: EventType[()] | None = None,
43
- on_double_click: EventType[()] | None = None,
41
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
42
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
43
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
44
44
  on_focus: EventType[()] | None = None,
45
45
  on_mount: EventType[()] | None = None,
46
46
  on_mouse_down: EventType[()] | None = None,
@@ -51,6 +51,7 @@ class ColorModeIcon(Cond):
51
51
  on_mouse_over: EventType[()] | None = None,
52
52
  on_mouse_up: EventType[()] | None = None,
53
53
  on_scroll: EventType[()] | None = None,
54
+ on_scroll_end: EventType[()] | None = None,
54
55
  on_unmount: EventType[()] | None = None,
55
56
  **props,
56
57
  ) -> ColorModeIcon:
@@ -356,9 +357,9 @@ class ColorModeIconButton(IconButton):
356
357
  autofocus: bool | None = None,
357
358
  custom_attrs: dict[str, Var | Any] | None = None,
358
359
  on_blur: EventType[()] | None = None,
359
- on_click: EventType[()] | None = None,
360
- on_context_menu: EventType[()] | None = None,
361
- on_double_click: EventType[()] | None = None,
360
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
361
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
362
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
362
363
  on_focus: EventType[()] | None = None,
363
364
  on_mount: EventType[()] | None = None,
364
365
  on_mouse_down: EventType[()] | None = None,
@@ -369,6 +370,7 @@ class ColorModeIconButton(IconButton):
369
370
  on_mouse_over: EventType[()] | None = None,
370
371
  on_mouse_up: EventType[()] | None = None,
371
372
  on_scroll: EventType[()] | None = None,
373
+ on_scroll_end: EventType[()] | None = None,
372
374
  on_unmount: EventType[()] | None = None,
373
375
  **props,
374
376
  ) -> ColorModeIconButton:
@@ -520,9 +522,9 @@ class ColorModeSwitch(Switch):
520
522
  custom_attrs: dict[str, Var | Any] | None = None,
521
523
  on_blur: EventType[()] | None = None,
522
524
  on_change: EventType[()] | EventType[bool] | None = None,
523
- on_click: EventType[()] | None = None,
524
- on_context_menu: EventType[()] | None = None,
525
- on_double_click: EventType[()] | None = None,
525
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
526
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
527
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
526
528
  on_focus: EventType[()] | None = None,
527
529
  on_mount: EventType[()] | None = None,
528
530
  on_mouse_down: EventType[()] | None = None,
@@ -533,6 +535,7 @@ class ColorModeSwitch(Switch):
533
535
  on_mouse_over: EventType[()] | None = None,
534
536
  on_mouse_up: EventType[()] | None = None,
535
537
  on_scroll: EventType[()] | None = None,
538
+ on_scroll_end: EventType[()] | None = None,
536
539
  on_unmount: EventType[()] | None = None,
537
540
  **props,
538
541
  ) -> ColorModeSwitch:
@@ -13,7 +13,7 @@ from reflex.components.radix.themes.base import (
13
13
  RadixThemesComponent,
14
14
  RadixThemesTriggerComponent,
15
15
  )
16
- from reflex.event import EventType
16
+ from reflex.event import EventType, PointerEventInfo
17
17
  from reflex.vars.base import Var
18
18
 
19
19
  LiteralContentSize = Literal["1", "2", "3", "4"]
@@ -38,9 +38,9 @@ class AlertDialogRoot(RadixThemesComponent):
38
38
  autofocus: bool | None = None,
39
39
  custom_attrs: dict[str, Var | Any] | None = None,
40
40
  on_blur: EventType[()] | None = None,
41
- on_click: EventType[()] | None = None,
42
- on_context_menu: EventType[()] | None = None,
43
- on_double_click: EventType[()] | None = None,
41
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
42
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
43
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
44
44
  on_focus: EventType[()] | None = None,
45
45
  on_mount: EventType[()] | None = None,
46
46
  on_mouse_down: EventType[()] | None = None,
@@ -52,6 +52,7 @@ class AlertDialogRoot(RadixThemesComponent):
52
52
  on_mouse_up: EventType[()] | None = None,
53
53
  on_open_change: EventType[()] | EventType[bool] | None = None,
54
54
  on_scroll: EventType[()] | None = None,
55
+ on_scroll_end: EventType[()] | None = None,
55
56
  on_unmount: EventType[()] | None = None,
56
57
  **props,
57
58
  ) -> AlertDialogRoot:
@@ -96,9 +97,9 @@ class AlertDialogTrigger(RadixThemesTriggerComponent):
96
97
  autofocus: bool | None = None,
97
98
  custom_attrs: dict[str, Var | Any] | None = None,
98
99
  on_blur: EventType[()] | None = None,
99
- on_click: EventType[()] | None = None,
100
- on_context_menu: EventType[()] | None = None,
101
- on_double_click: EventType[()] | None = None,
100
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
101
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
102
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
102
103
  on_focus: EventType[()] | None = None,
103
104
  on_mount: EventType[()] | None = None,
104
105
  on_mouse_down: EventType[()] | None = None,
@@ -109,6 +110,7 @@ class AlertDialogTrigger(RadixThemesTriggerComponent):
109
110
  on_mouse_over: EventType[()] | None = None,
110
111
  on_mouse_up: EventType[()] | None = None,
111
112
  on_scroll: EventType[()] | None = None,
113
+ on_scroll_end: EventType[()] | None = None,
112
114
  on_unmount: EventType[()] | None = None,
113
115
  **props,
114
116
  ) -> AlertDialogTrigger:
@@ -325,10 +327,10 @@ class AlertDialogContent(elements.Div, RadixThemesComponent):
325
327
  autofocus: bool | None = None,
326
328
  custom_attrs: dict[str, Var | Any] | None = None,
327
329
  on_blur: EventType[()] | None = None,
328
- on_click: EventType[()] | None = None,
330
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
329
331
  on_close_auto_focus: EventType[()] | None = None,
330
- on_context_menu: EventType[()] | None = None,
331
- on_double_click: EventType[()] | None = None,
332
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
333
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
332
334
  on_escape_key_down: EventType[()] | None = None,
333
335
  on_focus: EventType[()] | None = None,
334
336
  on_mount: EventType[()] | None = None,
@@ -341,6 +343,7 @@ class AlertDialogContent(elements.Div, RadixThemesComponent):
341
343
  on_mouse_up: EventType[()] | None = None,
342
344
  on_open_auto_focus: EventType[()] | None = None,
343
345
  on_scroll: EventType[()] | None = None,
346
+ on_scroll_end: EventType[()] | None = None,
344
347
  on_unmount: EventType[()] | None = None,
345
348
  **props,
346
349
  ) -> AlertDialogContent:
@@ -403,9 +406,9 @@ class AlertDialogTitle(RadixThemesComponent):
403
406
  autofocus: bool | None = None,
404
407
  custom_attrs: dict[str, Var | Any] | None = None,
405
408
  on_blur: EventType[()] | None = None,
406
- on_click: EventType[()] | None = None,
407
- on_context_menu: EventType[()] | None = None,
408
- on_double_click: EventType[()] | None = None,
409
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
410
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
411
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
409
412
  on_focus: EventType[()] | None = None,
410
413
  on_mount: EventType[()] | None = None,
411
414
  on_mouse_down: EventType[()] | None = None,
@@ -416,6 +419,7 @@ class AlertDialogTitle(RadixThemesComponent):
416
419
  on_mouse_over: EventType[()] | None = None,
417
420
  on_mouse_up: EventType[()] | None = None,
418
421
  on_scroll: EventType[()] | None = None,
422
+ on_scroll_end: EventType[()] | None = None,
419
423
  on_unmount: EventType[()] | None = None,
420
424
  **props,
421
425
  ) -> AlertDialogTitle:
@@ -457,9 +461,9 @@ class AlertDialogDescription(RadixThemesComponent):
457
461
  autofocus: bool | None = None,
458
462
  custom_attrs: dict[str, Var | Any] | None = None,
459
463
  on_blur: EventType[()] | None = None,
460
- on_click: EventType[()] | None = None,
461
- on_context_menu: EventType[()] | None = None,
462
- on_double_click: EventType[()] | None = None,
464
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
465
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
466
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
463
467
  on_focus: EventType[()] | None = None,
464
468
  on_mount: EventType[()] | None = None,
465
469
  on_mouse_down: EventType[()] | None = None,
@@ -470,6 +474,7 @@ class AlertDialogDescription(RadixThemesComponent):
470
474
  on_mouse_over: EventType[()] | None = None,
471
475
  on_mouse_up: EventType[()] | None = None,
472
476
  on_scroll: EventType[()] | None = None,
477
+ on_scroll_end: EventType[()] | None = None,
473
478
  on_unmount: EventType[()] | None = None,
474
479
  **props,
475
480
  ) -> AlertDialogDescription:
@@ -511,9 +516,9 @@ class AlertDialogAction(RadixThemesTriggerComponent):
511
516
  autofocus: bool | None = None,
512
517
  custom_attrs: dict[str, Var | Any] | None = None,
513
518
  on_blur: EventType[()] | None = None,
514
- on_click: EventType[()] | None = None,
515
- on_context_menu: EventType[()] | None = None,
516
- on_double_click: EventType[()] | None = None,
519
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
520
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
521
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
517
522
  on_focus: EventType[()] | None = None,
518
523
  on_mount: EventType[()] | None = None,
519
524
  on_mouse_down: EventType[()] | None = None,
@@ -524,6 +529,7 @@ class AlertDialogAction(RadixThemesTriggerComponent):
524
529
  on_mouse_over: EventType[()] | None = None,
525
530
  on_mouse_up: EventType[()] | None = None,
526
531
  on_scroll: EventType[()] | None = None,
532
+ on_scroll_end: EventType[()] | None = None,
527
533
  on_unmount: EventType[()] | None = None,
528
534
  **props,
529
535
  ) -> AlertDialogAction:
@@ -555,9 +561,9 @@ class AlertDialogCancel(RadixThemesTriggerComponent):
555
561
  autofocus: bool | None = None,
556
562
  custom_attrs: dict[str, Var | Any] | None = None,
557
563
  on_blur: EventType[()] | None = None,
558
- on_click: EventType[()] | None = None,
559
- on_context_menu: EventType[()] | None = None,
560
- on_double_click: EventType[()] | None = None,
564
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
565
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
566
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
561
567
  on_focus: EventType[()] | None = None,
562
568
  on_mount: EventType[()] | None = None,
563
569
  on_mouse_down: EventType[()] | None = None,
@@ -568,6 +574,7 @@ class AlertDialogCancel(RadixThemesTriggerComponent):
568
574
  on_mouse_over: EventType[()] | None = None,
569
575
  on_mouse_up: EventType[()] | None = None,
570
576
  on_scroll: EventType[()] | None = None,
577
+ on_scroll_end: EventType[()] | None = None,
571
578
  on_unmount: EventType[()] | None = None,
572
579
  **props,
573
580
  ) -> AlertDialogCancel:
@@ -8,7 +8,7 @@ from typing import Any, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.components.radix.themes.base import RadixThemesComponent
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
  class AspectRatio(RadixThemesComponent):
@@ -30,9 +30,9 @@ class AspectRatio(RadixThemesComponent):
30
30
  autofocus: bool | None = None,
31
31
  custom_attrs: dict[str, Var | Any] | None = None,
32
32
  on_blur: EventType[()] | None = None,
33
- on_click: EventType[()] | None = None,
34
- on_context_menu: EventType[()] | None = None,
35
- on_double_click: EventType[()] | None = None,
33
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
34
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
35
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
36
36
  on_focus: EventType[()] | None = None,
37
37
  on_mount: EventType[()] | None = None,
38
38
  on_mouse_down: EventType[()] | None = None,
@@ -43,6 +43,7 @@ class AspectRatio(RadixThemesComponent):
43
43
  on_mouse_over: EventType[()] | None = None,
44
44
  on_mouse_up: EventType[()] | None = None,
45
45
  on_scroll: EventType[()] | None = None,
46
+ on_scroll_end: EventType[()] | None = None,
46
47
  on_unmount: EventType[()] | None = None,
47
48
  **props,
48
49
  ) -> AspectRatio:
@@ -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.radix.themes.base import RadixThemesComponent
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
  LiteralSize = Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]
@@ -104,9 +104,9 @@ class Avatar(RadixThemesComponent):
104
104
  autofocus: bool | None = None,
105
105
  custom_attrs: dict[str, Var | Any] | None = None,
106
106
  on_blur: EventType[()] | None = None,
107
- on_click: EventType[()] | None = None,
108
- on_context_menu: EventType[()] | None = None,
109
- on_double_click: EventType[()] | None = None,
107
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
108
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
109
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
110
110
  on_focus: EventType[()] | None = None,
111
111
  on_mount: EventType[()] | None = None,
112
112
  on_mouse_down: EventType[()] | None = None,
@@ -117,6 +117,7 @@ class Avatar(RadixThemesComponent):
117
117
  on_mouse_over: EventType[()] | None = None,
118
118
  on_mouse_up: EventType[()] | None = None,
119
119
  on_scroll: EventType[()] | None = None,
120
+ on_scroll_end: EventType[()] | None = None,
120
121
  on_unmount: EventType[()] | None = None,
121
122
  **props,
122
123
  ) -> Avatar:
@@ -9,7 +9,7 @@ from typing import Any, Literal, overload
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.components.el import elements
11
11
  from reflex.components.radix.themes.base import RadixThemesComponent
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
  class Badge(elements.Span, RadixThemesComponent):
@@ -278,9 +278,9 @@ class Badge(elements.Span, RadixThemesComponent):
278
278
  autofocus: bool | None = None,
279
279
  custom_attrs: dict[str, Var | Any] | None = None,
280
280
  on_blur: EventType[()] | None = None,
281
- on_click: EventType[()] | None = None,
282
- on_context_menu: EventType[()] | None = None,
283
- on_double_click: EventType[()] | None = None,
281
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
282
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
283
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
284
284
  on_focus: EventType[()] | None = None,
285
285
  on_mount: EventType[()] | None = None,
286
286
  on_mouse_down: EventType[()] | None = None,
@@ -291,6 +291,7 @@ class Badge(elements.Span, RadixThemesComponent):
291
291
  on_mouse_over: EventType[()] | None = None,
292
292
  on_mouse_up: EventType[()] | None = None,
293
293
  on_scroll: EventType[()] | None = None,
294
+ on_scroll_end: EventType[()] | None = None,
294
295
  on_unmount: EventType[()] | None = None,
295
296
  **props,
296
297
  ) -> Badge:
@@ -9,7 +9,7 @@ from typing import Any, Literal, overload
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.components.el import elements
11
11
  from reflex.components.radix.themes.base import RadixLoadingProp, RadixThemesComponent
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
  LiteralButtonSize = Literal["1", "2", "3", "4"]
@@ -297,9 +297,9 @@ class Button(elements.Button, RadixLoadingProp, RadixThemesComponent):
297
297
  autofocus: bool | None = None,
298
298
  custom_attrs: dict[str, Var | Any] | None = None,
299
299
  on_blur: EventType[()] | None = None,
300
- on_click: EventType[()] | None = None,
301
- on_context_menu: EventType[()] | None = None,
302
- on_double_click: EventType[()] | None = None,
300
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
301
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
302
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
303
303
  on_focus: EventType[()] | None = None,
304
304
  on_mount: EventType[()] | None = None,
305
305
  on_mouse_down: EventType[()] | None = None,
@@ -310,6 +310,7 @@ class Button(elements.Button, RadixLoadingProp, RadixThemesComponent):
310
310
  on_mouse_over: EventType[()] | None = None,
311
311
  on_mouse_up: EventType[()] | None = None,
312
312
  on_scroll: EventType[()] | None = None,
313
+ on_scroll_end: EventType[()] | None = None,
313
314
  on_unmount: EventType[()] | None = None,
314
315
  **props,
315
316
  ) -> Button: