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
@@ -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
  class Progress(RadixThemesComponent):
@@ -103,9 +103,9 @@ class Progress(RadixThemesComponent):
103
103
  autofocus: bool | None = None,
104
104
  custom_attrs: dict[str, Var | Any] | None = None,
105
105
  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,
106
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
107
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
108
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
109
109
  on_focus: EventType[()] | None = None,
110
110
  on_mount: EventType[()] | None = None,
111
111
  on_mouse_down: EventType[()] | None = None,
@@ -116,6 +116,7 @@ class Progress(RadixThemesComponent):
116
116
  on_mouse_over: EventType[()] | None = None,
117
117
  on_mouse_up: EventType[()] | None = None,
118
118
  on_scroll: EventType[()] | None = None,
119
+ on_scroll_end: EventType[()] | None = None,
119
120
  on_unmount: EventType[()] | None = None,
120
121
  **props,
121
122
  ) -> Progress:
@@ -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
  class Radio(RadixThemesComponent):
@@ -96,9 +96,9 @@ class Radio(RadixThemesComponent):
96
96
  autofocus: bool | None = None,
97
97
  custom_attrs: dict[str, Var | Any] | None = None,
98
98
  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,
99
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
100
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
101
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
102
102
  on_focus: EventType[()] | None = None,
103
103
  on_mount: EventType[()] | None = None,
104
104
  on_mouse_down: EventType[()] | None = None,
@@ -109,6 +109,7 @@ class Radio(RadixThemesComponent):
109
109
  on_mouse_over: EventType[()] | None = None,
110
110
  on_mouse_up: EventType[()] | None = None,
111
111
  on_scroll: EventType[()] | None = None,
112
+ on_scroll_end: EventType[()] | None = None,
112
113
  on_unmount: EventType[()] | None = None,
113
114
  **props,
114
115
  ) -> Radio:
@@ -9,7 +9,7 @@ from typing import Any, Literal, overload
9
9
 
10
10
  from reflex.components.core.breakpoints import Breakpoints
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 RadioCardsRoot(RadixThemesComponent):
@@ -130,9 +130,9 @@ class RadioCardsRoot(RadixThemesComponent):
130
130
  autofocus: bool | None = None,
131
131
  custom_attrs: dict[str, Var | Any] | None = None,
132
132
  on_blur: EventType[()] | None = None,
133
- on_click: EventType[()] | None = None,
134
- on_context_menu: EventType[()] | None = None,
135
- on_double_click: EventType[()] | None = None,
133
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
134
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
135
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
136
136
  on_focus: EventType[()] | None = None,
137
137
  on_mount: EventType[()] | None = None,
138
138
  on_mouse_down: EventType[()] | None = None,
@@ -143,6 +143,7 @@ class RadioCardsRoot(RadixThemesComponent):
143
143
  on_mouse_over: EventType[()] | None = None,
144
144
  on_mouse_up: EventType[()] | None = None,
145
145
  on_scroll: EventType[()] | None = None,
146
+ on_scroll_end: EventType[()] | None = None,
146
147
  on_unmount: EventType[()] | None = None,
147
148
  on_value_change: EventType[()] | EventType[str] | None = None,
148
149
  **props,
@@ -204,9 +205,9 @@ class RadioCardsItem(RadixThemesComponent):
204
205
  autofocus: bool | None = None,
205
206
  custom_attrs: dict[str, Var | Any] | None = None,
206
207
  on_blur: EventType[()] | None = None,
207
- on_click: EventType[()] | None = None,
208
- on_context_menu: EventType[()] | None = None,
209
- on_double_click: EventType[()] | None = None,
208
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
209
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
210
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
210
211
  on_focus: EventType[()] | None = None,
211
212
  on_mount: EventType[()] | None = None,
212
213
  on_mouse_down: EventType[()] | None = None,
@@ -217,6 +218,7 @@ class RadioCardsItem(RadixThemesComponent):
217
218
  on_mouse_over: EventType[()] | None = None,
218
219
  on_mouse_up: EventType[()] | None = None,
219
220
  on_scroll: EventType[()] | None = None,
221
+ on_scroll_end: EventType[()] | None = None,
220
222
  on_unmount: EventType[()] | None = None,
221
223
  **props,
222
224
  ) -> RadioCardsItem:
@@ -9,7 +9,7 @@ from typing import Any, Literal, overload
9
9
  from reflex.components.component import ComponentNamespace
10
10
  from reflex.components.core.breakpoints import Breakpoints
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
  LiteralFlexDirection = Literal["row", "column", "row-reverse", "column-reverse"]
@@ -105,9 +105,9 @@ class RadioGroupRoot(RadixThemesComponent):
105
105
  custom_attrs: dict[str, Var | Any] | None = None,
106
106
  on_blur: EventType[()] | None = None,
107
107
  on_change: EventType[()] | EventType[str] | None = None,
108
- on_click: EventType[()] | None = None,
109
- on_context_menu: EventType[()] | None = None,
110
- on_double_click: EventType[()] | None = None,
108
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
109
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
110
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
111
111
  on_focus: EventType[()] | None = None,
112
112
  on_mount: EventType[()] | None = None,
113
113
  on_mouse_down: EventType[()] | None = None,
@@ -118,6 +118,7 @@ class RadioGroupRoot(RadixThemesComponent):
118
118
  on_mouse_over: EventType[()] | None = None,
119
119
  on_mouse_up: EventType[()] | None = None,
120
120
  on_scroll: EventType[()] | None = None,
121
+ on_scroll_end: EventType[()] | None = None,
121
122
  on_unmount: EventType[()] | None = None,
122
123
  **props,
123
124
  ) -> RadioGroupRoot:
@@ -172,9 +173,9 @@ class RadioGroupItem(RadixThemesComponent):
172
173
  autofocus: bool | None = None,
173
174
  custom_attrs: dict[str, Var | Any] | None = None,
174
175
  on_blur: EventType[()] | None = None,
175
- on_click: EventType[()] | None = None,
176
- on_context_menu: EventType[()] | None = None,
177
- on_double_click: EventType[()] | None = None,
176
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
177
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
178
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
178
179
  on_focus: EventType[()] | None = None,
179
180
  on_mount: EventType[()] | None = None,
180
181
  on_mouse_down: EventType[()] | None = None,
@@ -185,6 +186,7 @@ class RadioGroupItem(RadixThemesComponent):
185
186
  on_mouse_over: EventType[()] | None = None,
186
187
  on_mouse_up: EventType[()] | None = None,
187
188
  on_scroll: EventType[()] | None = None,
189
+ on_scroll_end: EventType[()] | None = None,
188
190
  on_unmount: EventType[()] | None = None,
189
191
  **props,
190
192
  ) -> RadioGroupItem:
@@ -305,9 +307,9 @@ class HighLevelRadioGroup(RadixThemesComponent):
305
307
  autofocus: bool | None = None,
306
308
  custom_attrs: dict[str, Var | Any] | None = None,
307
309
  on_blur: EventType[()] | None = None,
308
- on_click: EventType[()] | None = None,
309
- on_context_menu: EventType[()] | None = None,
310
- on_double_click: EventType[()] | None = None,
310
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
311
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
312
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
311
313
  on_focus: EventType[()] | None = None,
312
314
  on_mount: EventType[()] | None = None,
313
315
  on_mouse_down: EventType[()] | None = None,
@@ -318,6 +320,7 @@ class HighLevelRadioGroup(RadixThemesComponent):
318
320
  on_mouse_over: EventType[()] | None = None,
319
321
  on_mouse_up: EventType[()] | None = None,
320
322
  on_scroll: EventType[()] | None = None,
323
+ on_scroll_end: EventType[()] | None = None,
321
324
  on_unmount: EventType[()] | None = None,
322
325
  **props,
323
326
  ) -> HighLevelRadioGroup:
@@ -448,9 +451,9 @@ class RadioGroup(ComponentNamespace):
448
451
  autofocus: bool | None = None,
449
452
  custom_attrs: dict[str, Var | Any] | None = None,
450
453
  on_blur: EventType[()] | None = None,
451
- on_click: EventType[()] | None = None,
452
- on_context_menu: EventType[()] | None = None,
453
- on_double_click: EventType[()] | None = None,
454
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
455
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
456
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
454
457
  on_focus: EventType[()] | None = None,
455
458
  on_mount: EventType[()] | None = None,
456
459
  on_mouse_down: EventType[()] | None = None,
@@ -461,6 +464,7 @@ class RadioGroup(ComponentNamespace):
461
464
  on_mouse_over: EventType[()] | None = None,
462
465
  on_mouse_up: EventType[()] | None = None,
463
466
  on_scroll: EventType[()] | None = None,
467
+ on_scroll_end: EventType[()] | None = None,
464
468
  on_unmount: EventType[()] | None = None,
465
469
  **props,
466
470
  ) -> HighLevelRadioGroup:
@@ -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
  class ScrollArea(RadixThemesComponent):
@@ -36,9 +36,9 @@ class ScrollArea(RadixThemesComponent):
36
36
  autofocus: bool | None = None,
37
37
  custom_attrs: dict[str, Var | Any] | None = None,
38
38
  on_blur: EventType[()] | None = None,
39
- on_click: EventType[()] | None = None,
40
- on_context_menu: EventType[()] | None = None,
41
- on_double_click: EventType[()] | None = None,
39
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
40
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
41
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
42
42
  on_focus: EventType[()] | None = None,
43
43
  on_mount: EventType[()] | None = None,
44
44
  on_mouse_down: EventType[()] | None = None,
@@ -49,6 +49,7 @@ class ScrollArea(RadixThemesComponent):
49
49
  on_mouse_over: EventType[()] | None = None,
50
50
  on_mouse_up: EventType[()] | None = None,
51
51
  on_scroll: EventType[()] | None = None,
52
+ on_scroll_end: EventType[()] | None = None,
52
53
  on_unmount: EventType[()] | None = None,
53
54
  **props,
54
55
  ) -> ScrollArea:
@@ -9,7 +9,7 @@ from typing import Any, Literal, overload
9
9
 
10
10
  from reflex.components.core.breakpoints import Breakpoints
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
  def on_value_change(value: Var[str | list[str]]) -> tuple[Var[str | list[str]]]: ...
@@ -107,9 +107,9 @@ class SegmentedControlRoot(RadixThemesComponent):
107
107
  custom_attrs: dict[str, Var | Any] | None = None,
108
108
  on_blur: EventType[()] | None = None,
109
109
  on_change: EventType[()] | EventType[str | list[str]] | None = None,
110
- on_click: EventType[()] | None = None,
111
- on_context_menu: EventType[()] | None = None,
112
- on_double_click: EventType[()] | None = None,
110
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
111
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
112
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
113
113
  on_focus: EventType[()] | None = None,
114
114
  on_mount: EventType[()] | None = None,
115
115
  on_mouse_down: EventType[()] | None = None,
@@ -120,6 +120,7 @@ class SegmentedControlRoot(RadixThemesComponent):
120
120
  on_mouse_over: EventType[()] | None = None,
121
121
  on_mouse_up: EventType[()] | None = None,
122
122
  on_scroll: EventType[()] | None = None,
123
+ on_scroll_end: EventType[()] | None = None,
123
124
  on_unmount: EventType[()] | None = None,
124
125
  **props,
125
126
  ) -> SegmentedControlRoot:
@@ -170,9 +171,9 @@ class SegmentedControlItem(RadixThemesComponent):
170
171
  autofocus: bool | None = None,
171
172
  custom_attrs: dict[str, Var | Any] | None = None,
172
173
  on_blur: EventType[()] | None = None,
173
- on_click: EventType[()] | None = None,
174
- on_context_menu: EventType[()] | None = None,
175
- on_double_click: EventType[()] | None = None,
174
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
175
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
176
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
176
177
  on_focus: EventType[()] | None = None,
177
178
  on_mount: EventType[()] | None = None,
178
179
  on_mouse_down: EventType[()] | None = None,
@@ -183,6 +184,7 @@ class SegmentedControlItem(RadixThemesComponent):
183
184
  on_mouse_over: EventType[()] | None = None,
184
185
  on_mouse_up: EventType[()] | None = None,
185
186
  on_scroll: EventType[()] | None = None,
187
+ on_scroll_end: EventType[()] | None = None,
186
188
  on_unmount: EventType[()] | None = None,
187
189
  **props,
188
190
  ) -> SegmentedControlItem:
@@ -9,7 +9,7 @@ from typing import Any, Literal, overload
9
9
  from reflex.components.component import ComponentNamespace
10
10
  from reflex.components.core.breakpoints import Breakpoints
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 SelectRoot(RadixThemesComponent):
@@ -42,9 +42,9 @@ class SelectRoot(RadixThemesComponent):
42
42
  custom_attrs: dict[str, Var | Any] | None = None,
43
43
  on_blur: EventType[()] | None = None,
44
44
  on_change: EventType[()] | EventType[str] | None = None,
45
- on_click: EventType[()] | None = None,
46
- on_context_menu: EventType[()] | None = None,
47
- on_double_click: EventType[()] | None = None,
45
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
46
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
47
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
48
48
  on_focus: EventType[()] | None = None,
49
49
  on_mount: EventType[()] | None = None,
50
50
  on_mouse_down: EventType[()] | None = None,
@@ -56,6 +56,7 @@ class SelectRoot(RadixThemesComponent):
56
56
  on_mouse_up: EventType[()] | None = None,
57
57
  on_open_change: EventType[()] | EventType[bool] | None = None,
58
58
  on_scroll: EventType[()] | None = None,
59
+ on_scroll_end: EventType[()] | None = None,
59
60
  on_unmount: EventType[()] | None = None,
60
61
  **props,
61
62
  ) -> SelectRoot:
@@ -173,9 +174,9 @@ class SelectTrigger(RadixThemesComponent):
173
174
  autofocus: bool | None = None,
174
175
  custom_attrs: dict[str, Var | Any] | None = None,
175
176
  on_blur: EventType[()] | None = None,
176
- on_click: EventType[()] | None = None,
177
- on_context_menu: EventType[()] | None = None,
178
- on_double_click: EventType[()] | None = None,
177
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
178
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
179
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
179
180
  on_focus: EventType[()] | None = None,
180
181
  on_mount: EventType[()] | None = None,
181
182
  on_mouse_down: EventType[()] | None = None,
@@ -186,6 +187,7 @@ class SelectTrigger(RadixThemesComponent):
186
187
  on_mouse_over: EventType[()] | None = None,
187
188
  on_mouse_up: EventType[()] | None = None,
188
189
  on_scroll: EventType[()] | None = None,
190
+ on_scroll_end: EventType[()] | None = None,
189
191
  on_unmount: EventType[()] | None = None,
190
192
  **props,
191
193
  ) -> SelectTrigger:
@@ -303,10 +305,10 @@ class SelectContent(RadixThemesComponent):
303
305
  autofocus: bool | None = None,
304
306
  custom_attrs: dict[str, Var | Any] | None = None,
305
307
  on_blur: EventType[()] | None = None,
306
- on_click: EventType[()] | None = None,
308
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
307
309
  on_close_auto_focus: EventType[()] | None = None,
308
- on_context_menu: EventType[()] | None = None,
309
- on_double_click: EventType[()] | None = None,
310
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
311
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
310
312
  on_escape_key_down: EventType[()] | None = None,
311
313
  on_focus: EventType[()] | None = None,
312
314
  on_mount: EventType[()] | None = None,
@@ -319,6 +321,7 @@ class SelectContent(RadixThemesComponent):
319
321
  on_mouse_up: EventType[()] | None = None,
320
322
  on_pointer_down_outside: EventType[()] | None = None,
321
323
  on_scroll: EventType[()] | None = None,
324
+ on_scroll_end: EventType[()] | None = None,
322
325
  on_unmount: EventType[()] | None = None,
323
326
  **props,
324
327
  ) -> SelectContent:
@@ -371,9 +374,9 @@ class SelectGroup(RadixThemesComponent):
371
374
  autofocus: bool | None = None,
372
375
  custom_attrs: dict[str, Var | Any] | None = None,
373
376
  on_blur: EventType[()] | None = None,
374
- on_click: EventType[()] | None = None,
375
- on_context_menu: EventType[()] | None = None,
376
- on_double_click: EventType[()] | None = None,
377
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
378
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
379
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
377
380
  on_focus: EventType[()] | None = None,
378
381
  on_mount: EventType[()] | None = None,
379
382
  on_mouse_down: EventType[()] | None = None,
@@ -384,6 +387,7 @@ class SelectGroup(RadixThemesComponent):
384
387
  on_mouse_over: EventType[()] | None = None,
385
388
  on_mouse_up: EventType[()] | None = None,
386
389
  on_scroll: EventType[()] | None = None,
390
+ on_scroll_end: EventType[()] | None = None,
387
391
  on_unmount: EventType[()] | None = None,
388
392
  **props,
389
393
  ) -> SelectGroup:
@@ -427,9 +431,9 @@ class SelectItem(RadixThemesComponent):
427
431
  autofocus: bool | None = None,
428
432
  custom_attrs: dict[str, Var | Any] | None = None,
429
433
  on_blur: EventType[()] | None = None,
430
- on_click: EventType[()] | None = None,
431
- on_context_menu: EventType[()] | None = None,
432
- on_double_click: EventType[()] | None = None,
434
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
435
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
436
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
433
437
  on_focus: EventType[()] | None = None,
434
438
  on_mount: EventType[()] | None = None,
435
439
  on_mouse_down: EventType[()] | None = None,
@@ -440,6 +444,7 @@ class SelectItem(RadixThemesComponent):
440
444
  on_mouse_over: EventType[()] | None = None,
441
445
  on_mouse_up: EventType[()] | None = None,
442
446
  on_scroll: EventType[()] | None = None,
447
+ on_scroll_end: EventType[()] | None = None,
443
448
  on_unmount: EventType[()] | None = None,
444
449
  **props,
445
450
  ) -> SelectItem:
@@ -483,9 +488,9 @@ class SelectLabel(RadixThemesComponent):
483
488
  autofocus: bool | None = None,
484
489
  custom_attrs: dict[str, Var | Any] | None = None,
485
490
  on_blur: EventType[()] | None = None,
486
- on_click: EventType[()] | None = None,
487
- on_context_menu: EventType[()] | None = None,
488
- on_double_click: EventType[()] | None = None,
491
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
492
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
493
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
489
494
  on_focus: EventType[()] | None = None,
490
495
  on_mount: EventType[()] | None = None,
491
496
  on_mouse_down: EventType[()] | None = None,
@@ -496,6 +501,7 @@ class SelectLabel(RadixThemesComponent):
496
501
  on_mouse_over: EventType[()] | None = None,
497
502
  on_mouse_up: EventType[()] | None = None,
498
503
  on_scroll: EventType[()] | None = None,
504
+ on_scroll_end: EventType[()] | None = None,
499
505
  on_unmount: EventType[()] | None = None,
500
506
  **props,
501
507
  ) -> SelectLabel:
@@ -537,9 +543,9 @@ class SelectSeparator(RadixThemesComponent):
537
543
  autofocus: bool | None = None,
538
544
  custom_attrs: dict[str, Var | Any] | None = None,
539
545
  on_blur: EventType[()] | None = None,
540
- on_click: EventType[()] | None = None,
541
- on_context_menu: EventType[()] | None = None,
542
- on_double_click: EventType[()] | None = None,
546
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
547
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
548
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
543
549
  on_focus: EventType[()] | None = None,
544
550
  on_mount: EventType[()] | None = None,
545
551
  on_mouse_down: EventType[()] | None = None,
@@ -550,6 +556,7 @@ class SelectSeparator(RadixThemesComponent):
550
556
  on_mouse_over: EventType[()] | None = None,
551
557
  on_mouse_up: EventType[()] | None = None,
552
558
  on_scroll: EventType[()] | None = None,
559
+ on_scroll_end: EventType[()] | None = None,
553
560
  on_unmount: EventType[()] | None = None,
554
561
  **props,
555
562
  ) -> SelectSeparator:
@@ -676,9 +683,9 @@ class HighLevelSelect(SelectRoot):
676
683
  custom_attrs: dict[str, Var | Any] | None = None,
677
684
  on_blur: EventType[()] | None = None,
678
685
  on_change: EventType[()] | EventType[str] | None = None,
679
- on_click: EventType[()] | None = None,
680
- on_context_menu: EventType[()] | None = None,
681
- on_double_click: EventType[()] | None = None,
686
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
687
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
688
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
682
689
  on_focus: EventType[()] | None = None,
683
690
  on_mount: EventType[()] | None = None,
684
691
  on_mouse_down: EventType[()] | None = None,
@@ -690,6 +697,7 @@ class HighLevelSelect(SelectRoot):
690
697
  on_mouse_up: EventType[()] | None = None,
691
698
  on_open_change: EventType[()] | EventType[bool] | None = None,
692
699
  on_scroll: EventType[()] | None = None,
700
+ on_scroll_end: EventType[()] | None = None,
693
701
  on_unmount: EventType[()] | None = None,
694
702
  **props,
695
703
  ) -> HighLevelSelect:
@@ -838,9 +846,9 @@ class Select(ComponentNamespace):
838
846
  custom_attrs: dict[str, Var | Any] | None = None,
839
847
  on_blur: EventType[()] | None = None,
840
848
  on_change: EventType[()] | EventType[str] | None = None,
841
- on_click: EventType[()] | None = None,
842
- on_context_menu: EventType[()] | None = None,
843
- on_double_click: EventType[()] | None = None,
849
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
850
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
851
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
844
852
  on_focus: EventType[()] | None = None,
845
853
  on_mount: EventType[()] | None = None,
846
854
  on_mouse_down: EventType[()] | None = None,
@@ -852,6 +860,7 @@ class Select(ComponentNamespace):
852
860
  on_mouse_up: EventType[()] | None = None,
853
861
  on_open_change: EventType[()] | EventType[bool] | None = None,
854
862
  on_scroll: EventType[()] | None = None,
863
+ on_scroll_end: EventType[()] | None = None,
855
864
  on_unmount: EventType[()] | None = None,
856
865
  **props,
857
866
  ) -> HighLevelSelect:
@@ -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
  LiteralSeperatorSize = Literal["1", "2", "3", "4"]
@@ -104,9 +104,9 @@ class Separator(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 Separator(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
  ) -> Separator:
@@ -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 RadixLoadingProp, 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 Skeleton(RadixLoadingProp, RadixThemesComponent):
@@ -54,9 +54,9 @@ class Skeleton(RadixLoadingProp, RadixThemesComponent):
54
54
  autofocus: bool | None = None,
55
55
  custom_attrs: dict[str, Var | Any] | None = None,
56
56
  on_blur: EventType[()] | None = None,
57
- on_click: EventType[()] | None = None,
58
- on_context_menu: EventType[()] | None = None,
59
- on_double_click: EventType[()] | None = None,
57
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
58
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
59
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
60
60
  on_focus: EventType[()] | None = None,
61
61
  on_mount: EventType[()] | None = None,
62
62
  on_mouse_down: EventType[()] | None = None,
@@ -67,6 +67,7 @@ class Skeleton(RadixLoadingProp, RadixThemesComponent):
67
67
  on_mouse_over: EventType[()] | None = None,
68
68
  on_mouse_up: EventType[()] | None = None,
69
69
  on_scroll: EventType[()] | None = None,
70
+ on_scroll_end: EventType[()] | None = None,
70
71
  on_unmount: EventType[()] | None = None,
71
72
  **props,
72
73
  ) -> Skeleton:
@@ -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, passthrough_event_spec
11
+ from reflex.event import EventType, PointerEventInfo, passthrough_event_spec
12
12
  from reflex.vars.base import Var
13
13
 
14
14
  on_value_event_spec = (
@@ -122,9 +122,9 @@ class Slider(RadixThemesComponent):
122
122
  custom_attrs: dict[str, Var | Any] | None = None,
123
123
  on_blur: EventType[()] | None = None,
124
124
  on_change: EventType[()] | EventType[list[int | float]] | (EventType[()] | EventType[list[int]]) | (EventType[()] | EventType[list[float]]) | None = None,
125
- on_click: EventType[()] | None = None,
126
- on_context_menu: EventType[()] | None = None,
127
- on_double_click: EventType[()] | None = None,
125
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
126
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
127
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
128
128
  on_focus: EventType[()] | None = None,
129
129
  on_mount: EventType[()] | None = None,
130
130
  on_mouse_down: EventType[()] | None = None,
@@ -135,6 +135,7 @@ class Slider(RadixThemesComponent):
135
135
  on_mouse_over: EventType[()] | None = None,
136
136
  on_mouse_up: EventType[()] | None = None,
137
137
  on_scroll: EventType[()] | None = None,
138
+ on_scroll_end: EventType[()] | None = None,
138
139
  on_unmount: EventType[()] | None = None,
139
140
  on_value_commit: EventType[()] | EventType[list[int | float]] | (EventType[()] | EventType[list[int]]) | (EventType[()] | EventType[list[float]]) | None = None,
140
141
  **props,
@@ -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 RadixLoadingProp, 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
  LiteralSpinnerSize = Literal["1", "2", "3"]
@@ -36,9 +36,9 @@ class Spinner(RadixLoadingProp, RadixThemesComponent):
36
36
  autofocus: bool | None = None,
37
37
  custom_attrs: dict[str, Var | Any] | None = None,
38
38
  on_blur: EventType[()] | None = None,
39
- on_click: EventType[()] | None = None,
40
- on_context_menu: EventType[()] | None = None,
41
- on_double_click: EventType[()] | None = None,
39
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
40
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
41
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
42
42
  on_focus: EventType[()] | None = None,
43
43
  on_mount: EventType[()] | None = None,
44
44
  on_mouse_down: EventType[()] | None = None,
@@ -49,6 +49,7 @@ class Spinner(RadixLoadingProp, RadixThemesComponent):
49
49
  on_mouse_over: EventType[()] | None = None,
50
50
  on_mouse_up: EventType[()] | None = None,
51
51
  on_scroll: EventType[()] | None = None,
52
+ on_scroll_end: EventType[()] | None = None,
52
53
  on_unmount: EventType[()] | None = None,
53
54
  **props,
54
55
  ) -> Spinner:
@@ -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
  LiteralSwitchSize = Literal["1", "2", "3"]
@@ -109,9 +109,9 @@ class Switch(RadixThemesComponent):
109
109
  custom_attrs: dict[str, Var | Any] | None = None,
110
110
  on_blur: EventType[()] | None = None,
111
111
  on_change: EventType[()] | EventType[bool] | None = None,
112
- on_click: EventType[()] | None = None,
113
- on_context_menu: EventType[()] | None = None,
114
- on_double_click: EventType[()] | None = None,
112
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
113
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
114
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
115
115
  on_focus: EventType[()] | None = None,
116
116
  on_mount: EventType[()] | None = None,
117
117
  on_mouse_down: EventType[()] | None = None,
@@ -122,6 +122,7 @@ class Switch(RadixThemesComponent):
122
122
  on_mouse_over: EventType[()] | None = None,
123
123
  on_mouse_up: EventType[()] | None = None,
124
124
  on_scroll: EventType[()] | None = None,
125
+ on_scroll_end: EventType[()] | None = None,
125
126
  on_unmount: EventType[()] | None = None,
126
127
  **props,
127
128
  ) -> Switch: