reflex 0.7.14a6__py3-none-any.whl → 0.8.0a1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of reflex might be problematic. Click here for more details.

Files changed (206) hide show
  1. reflex/.templates/jinja/app/rxconfig.py.jinja2 +4 -1
  2. reflex/.templates/jinja/web/package.json.jinja2 +1 -1
  3. reflex/.templates/jinja/web/pages/_app.js.jinja2 +16 -10
  4. reflex/.templates/jinja/web/pages/_document.js.jinja2 +1 -1
  5. reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -1
  6. reflex/.templates/jinja/web/utils/context.js.jinja2 +25 -6
  7. reflex/.templates/web/app/entry.client.js +8 -0
  8. reflex/.templates/web/app/routes.js +10 -0
  9. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +12 -32
  10. reflex/.templates/web/postcss.config.js +1 -1
  11. reflex/.templates/web/react-router.config.js +6 -0
  12. reflex/.templates/web/utils/client_side_routing.js +21 -19
  13. reflex/.templates/web/utils/react-theme.js +89 -0
  14. reflex/.templates/web/utils/state.js +155 -67
  15. reflex/.templates/web/vite.config.js +32 -0
  16. reflex/__init__.py +1 -6
  17. reflex/__init__.pyi +0 -4
  18. reflex/app.py +52 -115
  19. reflex/base.py +1 -87
  20. reflex/compiler/compiler.py +40 -3
  21. reflex/compiler/utils.py +54 -28
  22. reflex/components/__init__.py +0 -2
  23. reflex/components/__init__.pyi +0 -3
  24. reflex/components/base/__init__.py +1 -5
  25. reflex/components/base/__init__.pyi +4 -6
  26. reflex/components/base/app_wrap.pyi +5 -4
  27. reflex/components/base/body.pyi +5 -4
  28. reflex/components/base/document.py +18 -14
  29. reflex/components/base/document.pyi +83 -27
  30. reflex/components/base/error_boundary.pyi +5 -4
  31. reflex/components/base/fragment.pyi +5 -4
  32. reflex/components/base/link.pyi +9 -7
  33. reflex/components/base/meta.pyi +17 -13
  34. reflex/components/base/script.py +60 -58
  35. reflex/components/base/script.pyi +246 -31
  36. reflex/components/base/strict_mode.pyi +5 -4
  37. reflex/components/component.py +109 -194
  38. reflex/components/core/__init__.py +1 -0
  39. reflex/components/core/__init__.pyi +1 -0
  40. reflex/components/core/auto_scroll.pyi +5 -4
  41. reflex/components/core/banner.pyi +25 -19
  42. reflex/components/core/client_side_routing.py +7 -6
  43. reflex/components/core/client_side_routing.pyi +6 -56
  44. reflex/components/core/clipboard.pyi +5 -4
  45. reflex/components/core/debounce.py +1 -0
  46. reflex/components/core/debounce.pyi +5 -4
  47. reflex/components/core/foreach.py +3 -2
  48. reflex/components/core/helmet.py +14 -0
  49. reflex/components/{next/base.pyi → core/helmet.pyi} +10 -7
  50. reflex/components/core/html.pyi +5 -4
  51. reflex/components/core/sticky.pyi +17 -13
  52. reflex/components/core/upload.py +2 -1
  53. reflex/components/core/upload.pyi +21 -16
  54. reflex/components/datadisplay/code.pyi +9 -7
  55. reflex/components/datadisplay/dataeditor.pyi +5 -4
  56. reflex/components/datadisplay/shiki_code_block.pyi +13 -10
  57. reflex/components/dynamic.py +4 -5
  58. reflex/components/el/element.pyi +5 -4
  59. reflex/components/el/elements/base.pyi +5 -4
  60. reflex/components/el/elements/forms.pyi +69 -52
  61. reflex/components/el/elements/inline.pyi +113 -85
  62. reflex/components/el/elements/media.pyi +105 -79
  63. reflex/components/el/elements/metadata.pyi +25 -19
  64. reflex/components/el/elements/other.pyi +29 -22
  65. reflex/components/el/elements/scripts.pyi +13 -10
  66. reflex/components/el/elements/sectioning.pyi +61 -46
  67. reflex/components/el/elements/tables.pyi +41 -31
  68. reflex/components/el/elements/typography.pyi +61 -46
  69. reflex/components/field.py +175 -0
  70. reflex/components/gridjs/datatable.py +2 -2
  71. reflex/components/gridjs/datatable.pyi +11 -9
  72. reflex/components/lucide/icon.py +6 -2
  73. reflex/components/lucide/icon.pyi +15 -10
  74. reflex/components/markdown/markdown.pyi +5 -4
  75. reflex/components/moment/moment.pyi +5 -4
  76. reflex/components/plotly/plotly.pyi +19 -10
  77. reflex/components/props.py +376 -27
  78. reflex/components/radix/primitives/accordion.py +8 -1
  79. reflex/components/radix/primitives/accordion.pyi +29 -22
  80. reflex/components/radix/primitives/base.pyi +9 -7
  81. reflex/components/radix/primitives/drawer.pyi +45 -34
  82. reflex/components/radix/primitives/form.pyi +41 -31
  83. reflex/components/radix/primitives/progress.pyi +21 -16
  84. reflex/components/radix/primitives/slider.pyi +21 -16
  85. reflex/components/radix/themes/base.py +3 -3
  86. reflex/components/radix/themes/base.pyi +33 -25
  87. reflex/components/radix/themes/color_mode.pyi +13 -10
  88. reflex/components/radix/themes/components/alert_dialog.pyi +29 -22
  89. reflex/components/radix/themes/components/aspect_ratio.pyi +5 -4
  90. reflex/components/radix/themes/components/avatar.pyi +5 -4
  91. reflex/components/radix/themes/components/badge.pyi +5 -4
  92. reflex/components/radix/themes/components/button.pyi +5 -4
  93. reflex/components/radix/themes/components/callout.pyi +21 -16
  94. reflex/components/radix/themes/components/card.pyi +5 -4
  95. reflex/components/radix/themes/components/checkbox.pyi +13 -10
  96. reflex/components/radix/themes/components/checkbox_cards.pyi +9 -7
  97. reflex/components/radix/themes/components/checkbox_group.pyi +9 -7
  98. reflex/components/radix/themes/components/context_menu.pyi +53 -40
  99. reflex/components/radix/themes/components/data_list.pyi +17 -13
  100. reflex/components/radix/themes/components/dialog.pyi +29 -22
  101. reflex/components/radix/themes/components/dropdown_menu.pyi +33 -25
  102. reflex/components/radix/themes/components/hover_card.pyi +17 -13
  103. reflex/components/radix/themes/components/icon_button.pyi +5 -4
  104. reflex/components/radix/themes/components/inset.pyi +5 -4
  105. reflex/components/radix/themes/components/popover.pyi +17 -13
  106. reflex/components/radix/themes/components/progress.pyi +5 -4
  107. reflex/components/radix/themes/components/radio.pyi +5 -4
  108. reflex/components/radix/themes/components/radio_cards.pyi +9 -7
  109. reflex/components/radix/themes/components/radio_group.pyi +17 -13
  110. reflex/components/radix/themes/components/scroll_area.pyi +5 -4
  111. reflex/components/radix/themes/components/segmented_control.pyi +9 -7
  112. reflex/components/radix/themes/components/select.pyi +37 -28
  113. reflex/components/radix/themes/components/separator.pyi +5 -4
  114. reflex/components/radix/themes/components/skeleton.pyi +5 -4
  115. reflex/components/radix/themes/components/slider.pyi +5 -4
  116. reflex/components/radix/themes/components/spinner.pyi +5 -4
  117. reflex/components/radix/themes/components/switch.pyi +5 -4
  118. reflex/components/radix/themes/components/table.pyi +29 -22
  119. reflex/components/radix/themes/components/tabs.pyi +21 -16
  120. reflex/components/radix/themes/components/text_area.pyi +5 -4
  121. reflex/components/radix/themes/components/text_field.pyi +13 -10
  122. reflex/components/radix/themes/components/tooltip.pyi +5 -4
  123. reflex/components/radix/themes/layout/base.pyi +5 -4
  124. reflex/components/radix/themes/layout/box.pyi +5 -4
  125. reflex/components/radix/themes/layout/center.pyi +5 -4
  126. reflex/components/radix/themes/layout/container.pyi +5 -4
  127. reflex/components/radix/themes/layout/flex.pyi +5 -4
  128. reflex/components/radix/themes/layout/grid.pyi +5 -4
  129. reflex/components/radix/themes/layout/list.pyi +21 -16
  130. reflex/components/radix/themes/layout/section.pyi +5 -4
  131. reflex/components/radix/themes/layout/spacer.pyi +5 -4
  132. reflex/components/radix/themes/layout/stack.pyi +13 -10
  133. reflex/components/radix/themes/typography/blockquote.pyi +5 -4
  134. reflex/components/radix/themes/typography/code.pyi +5 -4
  135. reflex/components/radix/themes/typography/heading.pyi +5 -4
  136. reflex/components/radix/themes/typography/link.py +42 -9
  137. reflex/components/radix/themes/typography/link.pyi +311 -6
  138. reflex/components/radix/themes/typography/text.pyi +29 -22
  139. reflex/components/react_player/audio.pyi +5 -4
  140. reflex/components/react_player/react_player.pyi +5 -4
  141. reflex/components/react_player/video.pyi +5 -4
  142. reflex/components/recharts/cartesian.py +2 -1
  143. reflex/components/recharts/cartesian.pyi +65 -46
  144. reflex/components/recharts/charts.py +4 -2
  145. reflex/components/recharts/charts.pyi +36 -24
  146. reflex/components/recharts/general.pyi +24 -18
  147. reflex/components/recharts/polar.py +8 -4
  148. reflex/components/recharts/polar.pyi +16 -10
  149. reflex/components/recharts/recharts.pyi +9 -7
  150. reflex/components/sonner/toast.py +2 -2
  151. reflex/components/sonner/toast.pyi +7 -6
  152. reflex/config.py +3 -77
  153. reflex/constants/__init__.py +1 -0
  154. reflex/constants/base.py +38 -8
  155. reflex/constants/compiler.py +4 -2
  156. reflex/constants/event.py +1 -0
  157. reflex/constants/installer.py +23 -16
  158. reflex/constants/state.py +2 -0
  159. reflex/custom_components/custom_components.py +0 -14
  160. reflex/environment.py +1 -1
  161. reflex/event.py +178 -81
  162. reflex/experimental/__init__.py +0 -30
  163. reflex/istate/proxy.py +5 -3
  164. reflex/page.py +0 -27
  165. reflex/plugins/__init__.py +3 -2
  166. reflex/plugins/base.py +5 -1
  167. reflex/plugins/shared_tailwind.py +158 -0
  168. reflex/plugins/sitemap.py +206 -0
  169. reflex/plugins/tailwind_v3.py +13 -106
  170. reflex/plugins/tailwind_v4.py +15 -108
  171. reflex/reflex.py +1 -0
  172. reflex/state.py +134 -140
  173. reflex/testing.py +57 -9
  174. reflex/utils/build.py +9 -69
  175. reflex/utils/exec.py +59 -161
  176. reflex/utils/export.py +1 -1
  177. reflex/utils/imports.py +0 -4
  178. reflex/utils/misc.py +28 -0
  179. reflex/utils/prerequisites.py +62 -59
  180. reflex/utils/processes.py +6 -6
  181. reflex/utils/pyi_generator.py +21 -9
  182. reflex/utils/serializers.py +14 -1
  183. reflex/utils/types.py +196 -61
  184. reflex/vars/__init__.py +2 -0
  185. reflex/vars/base.py +367 -134
  186. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/METADATA +12 -5
  187. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/RECORD +190 -197
  188. reflex/.templates/web/next.config.js +0 -7
  189. reflex/components/base/head.py +0 -20
  190. reflex/components/base/head.pyi +0 -116
  191. reflex/components/next/__init__.py +0 -10
  192. reflex/components/next/base.py +0 -7
  193. reflex/components/next/image.py +0 -117
  194. reflex/components/next/image.pyi +0 -94
  195. reflex/components/next/link.py +0 -20
  196. reflex/components/next/link.pyi +0 -67
  197. reflex/components/next/video.py +0 -38
  198. reflex/components/next/video.pyi +0 -68
  199. reflex/components/suneditor/__init__.py +0 -5
  200. reflex/components/suneditor/editor.py +0 -269
  201. reflex/components/suneditor/editor.pyi +0 -199
  202. reflex/experimental/layout.py +0 -254
  203. reflex/experimental/layout.pyi +0 -814
  204. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/WHEEL +0 -0
  205. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/entry_points.txt +0 -0
  206. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -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.primitives.base import RadixPrimitiveComponent
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 DrawerComponent(RadixPrimitiveComponent):
@@ -31,9 +31,9 @@ class DrawerComponent(RadixPrimitiveComponent):
31
31
  autofocus: bool | None = None,
32
32
  custom_attrs: dict[str, Var | Any] | None = None,
33
33
  on_blur: EventType[()] | None = None,
34
- on_click: EventType[()] | None = None,
35
- on_context_menu: EventType[()] | None = None,
36
- on_double_click: EventType[()] | None = None,
34
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
35
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
36
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
37
37
  on_focus: EventType[()] | None = None,
38
38
  on_mount: EventType[()] | None = None,
39
39
  on_mouse_down: EventType[()] | None = None,
@@ -44,6 +44,7 @@ class DrawerComponent(RadixPrimitiveComponent):
44
44
  on_mouse_over: EventType[()] | None = None,
45
45
  on_mouse_up: EventType[()] | None = None,
46
46
  on_scroll: EventType[()] | None = None,
47
+ on_scroll_end: EventType[()] | None = None,
47
48
  on_unmount: EventType[()] | None = None,
48
49
  **props,
49
50
  ) -> DrawerComponent:
@@ -101,9 +102,9 @@ class DrawerRoot(DrawerComponent):
101
102
  custom_attrs: dict[str, Var | Any] | None = None,
102
103
  on_animation_end: EventType[()] | EventType[bool] | None = None,
103
104
  on_blur: EventType[()] | None = None,
104
- on_click: EventType[()] | None = None,
105
- on_context_menu: EventType[()] | None = None,
106
- on_double_click: EventType[()] | None = None,
105
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
106
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
107
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
107
108
  on_focus: EventType[()] | None = None,
108
109
  on_mount: EventType[()] | None = None,
109
110
  on_mouse_down: EventType[()] | None = None,
@@ -115,6 +116,7 @@ class DrawerRoot(DrawerComponent):
115
116
  on_mouse_up: EventType[()] | None = None,
116
117
  on_open_change: EventType[()] | EventType[bool] | None = None,
117
118
  on_scroll: EventType[()] | None = None,
119
+ on_scroll_end: EventType[()] | None = None,
118
120
  on_unmount: EventType[()] | None = None,
119
121
  **props,
120
122
  ) -> DrawerRoot:
@@ -169,9 +171,9 @@ class DrawerTrigger(DrawerComponent):
169
171
  autofocus: bool | None = None,
170
172
  custom_attrs: dict[str, Var | Any] | None = None,
171
173
  on_blur: EventType[()] | None = None,
172
- on_click: EventType[()] | None = None,
173
- on_context_menu: EventType[()] | None = None,
174
- 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,
175
177
  on_focus: EventType[()] | None = None,
176
178
  on_mount: EventType[()] | None = None,
177
179
  on_mouse_down: EventType[()] | None = None,
@@ -182,6 +184,7 @@ class DrawerTrigger(DrawerComponent):
182
184
  on_mouse_over: EventType[()] | None = None,
183
185
  on_mouse_up: EventType[()] | None = None,
184
186
  on_scroll: EventType[()] | None = None,
187
+ on_scroll_end: EventType[()] | None = None,
185
188
  on_unmount: EventType[()] | None = None,
186
189
  **props,
187
190
  ) -> DrawerTrigger:
@@ -222,9 +225,9 @@ class DrawerPortal(DrawerComponent):
222
225
  autofocus: bool | None = None,
223
226
  custom_attrs: dict[str, Var | Any] | None = None,
224
227
  on_blur: EventType[()] | None = None,
225
- on_click: EventType[()] | None = None,
226
- on_context_menu: EventType[()] | None = None,
227
- on_double_click: EventType[()] | None = None,
228
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
229
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
230
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
228
231
  on_focus: EventType[()] | None = None,
229
232
  on_mount: EventType[()] | None = None,
230
233
  on_mouse_down: EventType[()] | None = None,
@@ -235,6 +238,7 @@ class DrawerPortal(DrawerComponent):
235
238
  on_mouse_over: EventType[()] | None = None,
236
239
  on_mouse_up: EventType[()] | None = None,
237
240
  on_scroll: EventType[()] | None = None,
241
+ on_scroll_end: EventType[()] | None = None,
238
242
  on_unmount: EventType[()] | None = None,
239
243
  **props,
240
244
  ) -> DrawerPortal:
@@ -275,10 +279,10 @@ class DrawerContent(DrawerComponent):
275
279
  autofocus: bool | None = None,
276
280
  custom_attrs: dict[str, Var | Any] | None = None,
277
281
  on_blur: EventType[()] | None = None,
278
- on_click: EventType[()] | None = None,
282
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
279
283
  on_close_auto_focus: EventType[()] | None = None,
280
- on_context_menu: EventType[()] | None = None,
281
- on_double_click: EventType[()] | None = None,
284
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
285
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
282
286
  on_escape_key_down: EventType[()] | None = None,
283
287
  on_focus: EventType[()] | None = None,
284
288
  on_interact_outside: EventType[()] | None = None,
@@ -293,6 +297,7 @@ class DrawerContent(DrawerComponent):
293
297
  on_open_auto_focus: EventType[()] | None = None,
294
298
  on_pointer_down_outside: EventType[()] | None = None,
295
299
  on_scroll: EventType[()] | None = None,
300
+ on_scroll_end: EventType[()] | None = None,
296
301
  on_unmount: EventType[()] | None = None,
297
302
  **props,
298
303
  ) -> DrawerContent:
@@ -337,9 +342,9 @@ class DrawerOverlay(DrawerComponent):
337
342
  autofocus: bool | None = None,
338
343
  custom_attrs: dict[str, Var | Any] | None = None,
339
344
  on_blur: EventType[()] | None = None,
340
- on_click: EventType[()] | None = None,
341
- on_context_menu: EventType[()] | None = None,
342
- on_double_click: EventType[()] | None = None,
345
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
346
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
347
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
343
348
  on_focus: EventType[()] | None = None,
344
349
  on_mount: EventType[()] | None = None,
345
350
  on_mouse_down: EventType[()] | None = None,
@@ -350,6 +355,7 @@ class DrawerOverlay(DrawerComponent):
350
355
  on_mouse_over: EventType[()] | None = None,
351
356
  on_mouse_up: EventType[()] | None = None,
352
357
  on_scroll: EventType[()] | None = None,
358
+ on_scroll_end: EventType[()] | None = None,
353
359
  on_unmount: EventType[()] | None = None,
354
360
  **props,
355
361
  ) -> DrawerOverlay:
@@ -390,9 +396,9 @@ class DrawerClose(DrawerTrigger):
390
396
  autofocus: bool | None = None,
391
397
  custom_attrs: dict[str, Var | Any] | None = None,
392
398
  on_blur: EventType[()] | None = None,
393
- on_click: EventType[()] | None = None,
394
- on_context_menu: EventType[()] | None = None,
395
- on_double_click: EventType[()] | None = None,
399
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
400
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
401
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
396
402
  on_focus: EventType[()] | None = None,
397
403
  on_mount: EventType[()] | None = None,
398
404
  on_mouse_down: EventType[()] | None = None,
@@ -403,6 +409,7 @@ class DrawerClose(DrawerTrigger):
403
409
  on_mouse_over: EventType[()] | None = None,
404
410
  on_mouse_up: EventType[()] | None = None,
405
411
  on_scroll: EventType[()] | None = None,
412
+ on_scroll_end: EventType[()] | None = None,
406
413
  on_unmount: EventType[()] | None = None,
407
414
  **props,
408
415
  ) -> DrawerClose:
@@ -443,9 +450,9 @@ class DrawerTitle(DrawerComponent):
443
450
  autofocus: bool | None = None,
444
451
  custom_attrs: dict[str, Var | Any] | None = None,
445
452
  on_blur: EventType[()] | None = None,
446
- on_click: EventType[()] | None = None,
447
- on_context_menu: EventType[()] | None = None,
448
- on_double_click: EventType[()] | None = None,
453
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
454
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
455
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
449
456
  on_focus: EventType[()] | None = None,
450
457
  on_mount: EventType[()] | None = None,
451
458
  on_mouse_down: EventType[()] | None = None,
@@ -456,6 +463,7 @@ class DrawerTitle(DrawerComponent):
456
463
  on_mouse_over: EventType[()] | None = None,
457
464
  on_mouse_up: EventType[()] | None = None,
458
465
  on_scroll: EventType[()] | None = None,
466
+ on_scroll_end: EventType[()] | None = None,
459
467
  on_unmount: EventType[()] | None = None,
460
468
  **props,
461
469
  ) -> DrawerTitle:
@@ -496,9 +504,9 @@ class DrawerDescription(DrawerComponent):
496
504
  autofocus: bool | None = None,
497
505
  custom_attrs: dict[str, Var | Any] | None = None,
498
506
  on_blur: EventType[()] | None = None,
499
- on_click: EventType[()] | None = None,
500
- on_context_menu: EventType[()] | None = None,
501
- on_double_click: EventType[()] | None = None,
507
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
508
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
509
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
502
510
  on_focus: EventType[()] | None = None,
503
511
  on_mount: EventType[()] | None = None,
504
512
  on_mouse_down: EventType[()] | None = None,
@@ -509,6 +517,7 @@ class DrawerDescription(DrawerComponent):
509
517
  on_mouse_over: EventType[()] | None = None,
510
518
  on_mouse_up: EventType[()] | None = None,
511
519
  on_scroll: EventType[()] | None = None,
520
+ on_scroll_end: EventType[()] | None = None,
512
521
  on_unmount: EventType[()] | None = None,
513
522
  **props,
514
523
  ) -> DrawerDescription:
@@ -549,9 +558,9 @@ class DrawerHandle(DrawerComponent):
549
558
  autofocus: bool | None = None,
550
559
  custom_attrs: dict[str, Var | Any] | None = None,
551
560
  on_blur: EventType[()] | None = None,
552
- on_click: EventType[()] | None = None,
553
- on_context_menu: EventType[()] | None = None,
554
- on_double_click: EventType[()] | None = None,
561
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
562
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
563
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
555
564
  on_focus: EventType[()] | None = None,
556
565
  on_mount: EventType[()] | None = None,
557
566
  on_mouse_down: EventType[()] | None = None,
@@ -562,6 +571,7 @@ class DrawerHandle(DrawerComponent):
562
571
  on_mouse_over: EventType[()] | None = None,
563
572
  on_mouse_up: EventType[()] | None = None,
564
573
  on_scroll: EventType[()] | None = None,
574
+ on_scroll_end: EventType[()] | None = None,
565
575
  on_unmount: EventType[()] | None = None,
566
576
  **props,
567
577
  ) -> DrawerHandle:
@@ -625,9 +635,9 @@ class Drawer(ComponentNamespace):
625
635
  custom_attrs: dict[str, Var | Any] | None = None,
626
636
  on_animation_end: EventType[()] | EventType[bool] | None = None,
627
637
  on_blur: EventType[()] | None = None,
628
- on_click: EventType[()] | None = None,
629
- on_context_menu: EventType[()] | None = None,
630
- on_double_click: EventType[()] | None = None,
638
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
639
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
640
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
631
641
  on_focus: EventType[()] | None = None,
632
642
  on_mount: EventType[()] | None = None,
633
643
  on_mouse_down: EventType[()] | None = None,
@@ -639,6 +649,7 @@ class Drawer(ComponentNamespace):
639
649
  on_mouse_up: EventType[()] | None = None,
640
650
  on_open_change: EventType[()] | EventType[bool] | None = None,
641
651
  on_scroll: EventType[()] | None = None,
652
+ on_scroll_end: EventType[()] | None = None,
642
653
  on_unmount: EventType[()] | None = None,
643
654
  **props,
644
655
  ) -> DrawerRoot:
@@ -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.el.elements.forms import Form as HTMLForm
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 RadixPrimitiveComponentWithClassName
@@ -33,9 +33,9 @@ class FormComponent(RadixPrimitiveComponentWithClassName):
33
33
  autofocus: bool | None = None,
34
34
  custom_attrs: dict[str, Var | Any] | None = None,
35
35
  on_blur: EventType[()] | None = None,
36
- on_click: EventType[()] | None = None,
37
- on_context_menu: EventType[()] | None = None,
38
- on_double_click: EventType[()] | None = None,
36
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
37
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
38
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
39
39
  on_focus: EventType[()] | None = None,
40
40
  on_mount: EventType[()] | None = None,
41
41
  on_mouse_down: EventType[()] | None = None,
@@ -46,6 +46,7 @@ class FormComponent(RadixPrimitiveComponentWithClassName):
46
46
  on_mouse_over: EventType[()] | None = None,
47
47
  on_mouse_up: EventType[()] | None = None,
48
48
  on_scroll: EventType[()] | None = None,
49
+ on_scroll_end: EventType[()] | None = None,
49
50
  on_unmount: EventType[()] | None = None,
50
51
  **props,
51
52
  ) -> FormComponent:
@@ -277,9 +278,9 @@ class FormRoot(FormComponent, HTMLForm):
277
278
  custom_attrs: dict[str, Var | Any] | None = None,
278
279
  on_blur: EventType[()] | None = None,
279
280
  on_clear_server_errors: EventType[()] | None = None,
280
- on_click: EventType[()] | None = None,
281
- on_context_menu: EventType[()] | None = None,
282
- 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,
283
284
  on_focus: EventType[()] | None = None,
284
285
  on_mount: EventType[()] | None = None,
285
286
  on_mouse_down: EventType[()] | None = None,
@@ -290,6 +291,7 @@ class FormRoot(FormComponent, HTMLForm):
290
291
  on_mouse_over: EventType[()] | None = None,
291
292
  on_mouse_up: EventType[()] | None = None,
292
293
  on_scroll: EventType[()] | None = None,
294
+ on_scroll_end: EventType[()] | None = None,
293
295
  on_submit: EventType[()] | EventType[dict[str, Any]] | (EventType[()] | EventType[dict[str, str]]) | None = None,
294
296
  on_unmount: EventType[()] | None = None,
295
297
  **props,
@@ -363,9 +365,9 @@ class FormField(FormComponent):
363
365
  autofocus: bool | None = None,
364
366
  custom_attrs: dict[str, Var | Any] | None = None,
365
367
  on_blur: EventType[()] | None = None,
366
- on_click: EventType[()] | None = None,
367
- on_context_menu: EventType[()] | None = None,
368
- 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,
369
371
  on_focus: EventType[()] | None = None,
370
372
  on_mount: EventType[()] | None = None,
371
373
  on_mouse_down: EventType[()] | None = None,
@@ -376,6 +378,7 @@ class FormField(FormComponent):
376
378
  on_mouse_over: EventType[()] | None = None,
377
379
  on_mouse_up: EventType[()] | None = None,
378
380
  on_scroll: EventType[()] | None = None,
381
+ on_scroll_end: EventType[()] | None = None,
379
382
  on_unmount: EventType[()] | None = None,
380
383
  **props,
381
384
  ) -> FormField:
@@ -419,9 +422,9 @@ class FormLabel(FormComponent):
419
422
  autofocus: bool | None = None,
420
423
  custom_attrs: dict[str, Var | Any] | None = None,
421
424
  on_blur: EventType[()] | None = None,
422
- on_click: EventType[()] | None = None,
423
- on_context_menu: EventType[()] | None = None,
424
- on_double_click: EventType[()] | None = None,
425
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
426
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
427
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
425
428
  on_focus: EventType[()] | None = None,
426
429
  on_mount: EventType[()] | None = None,
427
430
  on_mouse_down: EventType[()] | None = None,
@@ -432,6 +435,7 @@ class FormLabel(FormComponent):
432
435
  on_mouse_over: EventType[()] | None = None,
433
436
  on_mouse_up: EventType[()] | None = None,
434
437
  on_scroll: EventType[()] | None = None,
438
+ on_scroll_end: EventType[()] | None = None,
435
439
  on_unmount: EventType[()] | None = None,
436
440
  **props,
437
441
  ) -> FormLabel:
@@ -472,9 +476,9 @@ class FormControl(FormComponent):
472
476
  autofocus: bool | None = None,
473
477
  custom_attrs: dict[str, Var | Any] | None = None,
474
478
  on_blur: EventType[()] | None = None,
475
- on_click: EventType[()] | None = None,
476
- on_context_menu: EventType[()] | None = None,
477
- on_double_click: EventType[()] | None = None,
479
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
480
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
481
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
478
482
  on_focus: EventType[()] | None = None,
479
483
  on_mount: EventType[()] | None = None,
480
484
  on_mouse_down: EventType[()] | None = None,
@@ -485,6 +489,7 @@ class FormControl(FormComponent):
485
489
  on_mouse_over: EventType[()] | None = None,
486
490
  on_mouse_up: EventType[()] | None = None,
487
491
  on_scroll: EventType[()] | None = None,
492
+ on_scroll_end: EventType[()] | None = None,
488
493
  on_unmount: EventType[()] | None = None,
489
494
  **props,
490
495
  ) -> FormControl:
@@ -572,9 +577,9 @@ class FormMessage(FormComponent):
572
577
  autofocus: bool | None = None,
573
578
  custom_attrs: dict[str, Var | Any] | None = None,
574
579
  on_blur: EventType[()] | None = None,
575
- on_click: EventType[()] | None = None,
576
- on_context_menu: EventType[()] | None = None,
577
- on_double_click: EventType[()] | None = None,
580
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
581
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
582
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
578
583
  on_focus: EventType[()] | None = None,
579
584
  on_mount: EventType[()] | None = None,
580
585
  on_mouse_down: EventType[()] | None = None,
@@ -585,6 +590,7 @@ class FormMessage(FormComponent):
585
590
  on_mouse_over: EventType[()] | None = None,
586
591
  on_mouse_up: EventType[()] | None = None,
587
592
  on_scroll: EventType[()] | None = None,
593
+ on_scroll_end: EventType[()] | None = None,
588
594
  on_unmount: EventType[()] | None = None,
589
595
  **props,
590
596
  ) -> FormMessage:
@@ -628,9 +634,9 @@ class FormValidityState(FormComponent):
628
634
  autofocus: bool | None = None,
629
635
  custom_attrs: dict[str, Var | Any] | None = None,
630
636
  on_blur: EventType[()] | None = None,
631
- on_click: EventType[()] | None = None,
632
- on_context_menu: EventType[()] | None = None,
633
- on_double_click: EventType[()] | None = None,
637
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
638
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
639
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
634
640
  on_focus: EventType[()] | None = None,
635
641
  on_mount: EventType[()] | None = None,
636
642
  on_mouse_down: EventType[()] | None = None,
@@ -641,6 +647,7 @@ class FormValidityState(FormComponent):
641
647
  on_mouse_over: EventType[()] | None = None,
642
648
  on_mouse_up: EventType[()] | None = None,
643
649
  on_scroll: EventType[()] | None = None,
650
+ on_scroll_end: EventType[()] | None = None,
644
651
  on_unmount: EventType[()] | None = None,
645
652
  **props,
646
653
  ) -> FormValidityState:
@@ -681,9 +688,9 @@ class FormSubmit(FormComponent):
681
688
  autofocus: bool | None = None,
682
689
  custom_attrs: dict[str, Var | Any] | None = None,
683
690
  on_blur: EventType[()] | None = None,
684
- on_click: EventType[()] | None = None,
685
- on_context_menu: EventType[()] | None = None,
686
- on_double_click: EventType[()] | None = None,
691
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
692
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
693
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
687
694
  on_focus: EventType[()] | None = None,
688
695
  on_mount: EventType[()] | None = None,
689
696
  on_mouse_down: EventType[()] | None = None,
@@ -694,6 +701,7 @@ class FormSubmit(FormComponent):
694
701
  on_mouse_over: EventType[()] | None = None,
695
702
  on_mouse_up: EventType[()] | None = None,
696
703
  on_scroll: EventType[()] | None = None,
704
+ on_scroll_end: EventType[()] | None = None,
697
705
  on_unmount: EventType[()] | None = None,
698
706
  **props,
699
707
  ) -> FormSubmit:
@@ -924,9 +932,9 @@ class Form(FormRoot):
924
932
  custom_attrs: dict[str, Var | Any] | None = None,
925
933
  on_blur: EventType[()] | None = None,
926
934
  on_clear_server_errors: EventType[()] | None = None,
927
- on_click: EventType[()] | None = None,
928
- on_context_menu: EventType[()] | None = None,
929
- on_double_click: EventType[()] | None = None,
935
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
936
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
937
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
930
938
  on_focus: EventType[()] | None = None,
931
939
  on_mount: EventType[()] | None = None,
932
940
  on_mouse_down: EventType[()] | None = None,
@@ -937,6 +945,7 @@ class Form(FormRoot):
937
945
  on_mouse_over: EventType[()] | None = None,
938
946
  on_mouse_up: EventType[()] | None = None,
939
947
  on_scroll: EventType[()] | None = None,
948
+ on_scroll_end: EventType[()] | None = None,
940
949
  on_submit: EventType[()] | EventType[dict[str, Any]] | (EventType[()] | EventType[dict[str, str]]) | None = None,
941
950
  on_unmount: EventType[()] | None = None,
942
951
  **props,
@@ -1203,9 +1212,9 @@ class FormNamespace(ComponentNamespace):
1203
1212
  custom_attrs: dict[str, Var | Any] | None = None,
1204
1213
  on_blur: EventType[()] | None = None,
1205
1214
  on_clear_server_errors: EventType[()] | None = None,
1206
- on_click: EventType[()] | None = None,
1207
- on_context_menu: EventType[()] | None = None,
1208
- on_double_click: EventType[()] | None = None,
1215
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1216
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1217
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1209
1218
  on_focus: EventType[()] | None = None,
1210
1219
  on_mount: EventType[()] | None = None,
1211
1220
  on_mouse_down: EventType[()] | None = None,
@@ -1216,6 +1225,7 @@ class FormNamespace(ComponentNamespace):
1216
1225
  on_mouse_over: EventType[()] | None = None,
1217
1226
  on_mouse_up: EventType[()] | None = None,
1218
1227
  on_scroll: EventType[()] | None = None,
1228
+ on_scroll_end: EventType[()] | None = None,
1219
1229
  on_submit: EventType[()] | EventType[dict[str, Any]] | (EventType[()] | EventType[dict[str, str]]) | None = None,
1220
1230
  on_unmount: EventType[()] | None = None,
1221
1231
  **props,
@@ -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.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
  class ProgressComponent(RadixPrimitiveComponentWithClassName):
@@ -31,9 +31,9 @@ class ProgressComponent(RadixPrimitiveComponentWithClassName):
31
31
  autofocus: bool | None = None,
32
32
  custom_attrs: dict[str, Var | Any] | None = None,
33
33
  on_blur: EventType[()] | None = None,
34
- on_click: EventType[()] | None = None,
35
- on_context_menu: EventType[()] | None = None,
36
- on_double_click: EventType[()] | None = None,
34
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
35
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
36
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
37
37
  on_focus: EventType[()] | None = None,
38
38
  on_mount: EventType[()] | None = None,
39
39
  on_mouse_down: EventType[()] | None = None,
@@ -44,6 +44,7 @@ class ProgressComponent(RadixPrimitiveComponentWithClassName):
44
44
  on_mouse_over: EventType[()] | None = None,
45
45
  on_mouse_up: EventType[()] | None = None,
46
46
  on_scroll: EventType[()] | None = None,
47
+ on_scroll_end: EventType[()] | None = None,
47
48
  on_unmount: EventType[()] | None = None,
48
49
  **props,
49
50
  ) -> ProgressComponent:
@@ -88,9 +89,9 @@ class ProgressRoot(ProgressComponent):
88
89
  autofocus: bool | None = None,
89
90
  custom_attrs: dict[str, Var | Any] | None = None,
90
91
  on_blur: EventType[()] | None = None,
91
- on_click: EventType[()] | None = None,
92
- on_context_menu: EventType[()] | None = None,
93
- 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,
94
95
  on_focus: EventType[()] | None = None,
95
96
  on_mount: EventType[()] | None = None,
96
97
  on_mouse_down: EventType[()] | None = None,
@@ -101,6 +102,7 @@ class ProgressRoot(ProgressComponent):
101
102
  on_mouse_over: EventType[()] | None = None,
102
103
  on_mouse_up: EventType[()] | None = None,
103
104
  on_scroll: EventType[()] | None = None,
105
+ on_scroll_end: EventType[()] | None = None,
104
106
  on_unmount: EventType[()] | None = None,
105
107
  **props,
106
108
  ) -> ProgressRoot:
@@ -204,9 +206,9 @@ class ProgressIndicator(ProgressComponent):
204
206
  autofocus: bool | None = None,
205
207
  custom_attrs: dict[str, Var | Any] | None = None,
206
208
  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,
209
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
210
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
211
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
210
212
  on_focus: EventType[()] | None = None,
211
213
  on_mount: EventType[()] | None = None,
212
214
  on_mouse_down: EventType[()] | None = None,
@@ -217,6 +219,7 @@ class ProgressIndicator(ProgressComponent):
217
219
  on_mouse_over: EventType[()] | None = None,
218
220
  on_mouse_up: EventType[()] | None = None,
219
221
  on_scroll: EventType[()] | None = None,
222
+ on_scroll_end: EventType[()] | None = None,
220
223
  on_unmount: EventType[()] | None = None,
221
224
  **props,
222
225
  ) -> ProgressIndicator:
@@ -324,9 +327,9 @@ class Progress(ProgressRoot):
324
327
  autofocus: bool | None = None,
325
328
  custom_attrs: dict[str, Var | Any] | None = None,
326
329
  on_blur: EventType[()] | None = None,
327
- on_click: EventType[()] | None = None,
328
- on_context_menu: EventType[()] | None = None,
329
- on_double_click: EventType[()] | None = None,
330
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
331
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
332
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
330
333
  on_focus: EventType[()] | None = None,
331
334
  on_mount: EventType[()] | None = None,
332
335
  on_mouse_down: EventType[()] | None = None,
@@ -337,6 +340,7 @@ class Progress(ProgressRoot):
337
340
  on_mouse_over: EventType[()] | None = None,
338
341
  on_mouse_up: EventType[()] | None = None,
339
342
  on_scroll: EventType[()] | None = None,
343
+ on_scroll_end: EventType[()] | None = None,
340
344
  on_unmount: EventType[()] | None = None,
341
345
  **props,
342
346
  ) -> Progress:
@@ -445,9 +449,9 @@ class ProgressNamespace(ComponentNamespace):
445
449
  autofocus: bool | None = None,
446
450
  custom_attrs: dict[str, Var | Any] | None = None,
447
451
  on_blur: EventType[()] | None = None,
448
- on_click: EventType[()] | None = None,
449
- on_context_menu: EventType[()] | None = None,
450
- on_double_click: EventType[()] | None = None,
452
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
453
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
454
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
451
455
  on_focus: EventType[()] | None = None,
452
456
  on_mount: EventType[()] | None = None,
453
457
  on_mouse_down: EventType[()] | None = None,
@@ -458,6 +462,7 @@ class ProgressNamespace(ComponentNamespace):
458
462
  on_mouse_over: EventType[()] | None = None,
459
463
  on_mouse_up: EventType[()] | None = None,
460
464
  on_scroll: EventType[()] | None = None,
465
+ on_scroll_end: EventType[()] | None = None,
461
466
  on_unmount: EventType[()] | None = None,
462
467
  **props,
463
468
  ) -> Progress: