reflex 0.7.14a6__py3-none-any.whl → 0.8.0__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 (237) 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 +21 -11
  4. reflex/.templates/jinja/web/pages/_document.js.jinja2 +1 -1
  5. reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -1
  6. reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +4 -0
  7. reflex/.templates/jinja/web/styles/styles.css.jinja2 +1 -0
  8. reflex/.templates/jinja/web/utils/context.js.jinja2 +25 -8
  9. reflex/.templates/web/app/entry.client.js +8 -0
  10. reflex/.templates/web/app/routes.js +10 -0
  11. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +12 -37
  12. reflex/.templates/web/postcss.config.js +1 -1
  13. reflex/.templates/web/react-router.config.js +6 -0
  14. reflex/.templates/web/styles/__reflex_style_reset.css +399 -0
  15. reflex/.templates/web/utils/client_side_routing.js +21 -19
  16. reflex/.templates/web/utils/react-theme.js +92 -0
  17. reflex/.templates/web/utils/state.js +251 -100
  18. reflex/.templates/web/vite-plugin-safari-cachebust.js +160 -0
  19. reflex/.templates/web/vite.config.js +39 -0
  20. reflex/__init__.py +1 -6
  21. reflex/__init__.pyi +327 -192
  22. reflex/app.py +86 -135
  23. reflex/base.py +1 -87
  24. reflex/compiler/compiler.py +70 -19
  25. reflex/compiler/templates.py +3 -3
  26. reflex/compiler/utils.py +91 -33
  27. reflex/components/__init__.py +0 -2
  28. reflex/components/__init__.pyi +34 -18
  29. reflex/components/base/__init__.py +1 -5
  30. reflex/components/base/__init__.pyi +30 -21
  31. reflex/components/base/app_wrap.pyi +7 -7
  32. reflex/components/base/body.pyi +7 -7
  33. reflex/components/base/document.py +18 -14
  34. reflex/components/base/document.pyi +88 -38
  35. reflex/components/base/error_boundary.pyi +7 -7
  36. reflex/components/base/fragment.pyi +7 -7
  37. reflex/components/base/link.pyi +12 -12
  38. reflex/components/base/meta.py +4 -15
  39. reflex/components/base/meta.pyi +31 -31
  40. reflex/components/base/script.py +60 -58
  41. reflex/components/base/script.pyi +248 -34
  42. reflex/components/base/strict_mode.pyi +7 -7
  43. reflex/components/component.py +146 -217
  44. reflex/components/core/__init__.py +1 -0
  45. reflex/components/core/__init__.pyi +77 -37
  46. reflex/components/core/auto_scroll.pyi +7 -7
  47. reflex/components/core/banner.pyi +33 -33
  48. reflex/components/core/client_side_routing.py +7 -6
  49. reflex/components/core/client_side_routing.pyi +8 -59
  50. reflex/components/core/clipboard.pyi +7 -7
  51. reflex/components/core/debounce.py +1 -0
  52. reflex/components/core/debounce.pyi +7 -7
  53. reflex/components/core/foreach.py +5 -4
  54. reflex/components/core/helmet.py +14 -0
  55. reflex/components/{next/base.pyi → core/helmet.pyi} +12 -10
  56. reflex/components/core/html.pyi +7 -7
  57. reflex/components/core/match.py +3 -3
  58. reflex/components/core/sticky.pyi +21 -20
  59. reflex/components/core/upload.py +4 -2
  60. reflex/components/core/upload.pyi +26 -25
  61. reflex/components/datadisplay/__init__.pyi +13 -7
  62. reflex/components/datadisplay/code.py +14 -79
  63. reflex/components/datadisplay/code.pyi +11 -13
  64. reflex/components/datadisplay/dataeditor.pyi +38 -15
  65. reflex/components/datadisplay/shiki_code_block.py +5 -3
  66. reflex/components/datadisplay/shiki_code_block.pyi +16 -15
  67. reflex/components/dynamic.py +5 -5
  68. reflex/components/el/__init__.pyi +506 -246
  69. reflex/components/el/element.pyi +7 -7
  70. reflex/components/el/elements/__init__.pyi +504 -245
  71. reflex/components/el/elements/base.pyi +7 -7
  72. reflex/components/el/elements/forms.pyi +146 -101
  73. reflex/components/el/elements/inline.pyi +142 -142
  74. reflex/components/el/elements/media.pyi +131 -130
  75. reflex/components/el/elements/metadata.pyi +32 -32
  76. reflex/components/el/elements/other.pyi +37 -37
  77. reflex/components/el/elements/scripts.pyi +17 -17
  78. reflex/components/el/elements/sectioning.pyi +77 -77
  79. reflex/components/el/elements/tables.pyi +52 -52
  80. reflex/components/el/elements/typography.pyi +77 -77
  81. reflex/components/field.py +175 -0
  82. reflex/components/gridjs/datatable.py +2 -2
  83. reflex/components/gridjs/datatable.pyi +14 -14
  84. reflex/components/lucide/icon.py +6 -2
  85. reflex/components/lucide/icon.pyi +19 -17
  86. reflex/components/markdown/markdown.py +5 -3
  87. reflex/components/markdown/markdown.pyi +7 -7
  88. reflex/components/moment/moment.py +1 -1
  89. reflex/components/moment/moment.pyi +7 -7
  90. reflex/components/plotly/plotly.py +12 -6
  91. reflex/components/plotly/plotly.pyi +50 -49
  92. reflex/components/props.py +376 -27
  93. reflex/components/radix/__init__.pyi +123 -65
  94. reflex/components/radix/primitives/__init__.pyi +6 -4
  95. reflex/components/radix/primitives/accordion.py +8 -1
  96. reflex/components/radix/primitives/accordion.pyi +37 -37
  97. reflex/components/radix/primitives/base.pyi +12 -12
  98. reflex/components/radix/primitives/drawer.pyi +56 -55
  99. reflex/components/radix/primitives/form.pyi +63 -53
  100. reflex/components/radix/primitives/progress.pyi +26 -25
  101. reflex/components/radix/primitives/slider.pyi +27 -27
  102. reflex/components/radix/themes/__init__.pyi +5 -6
  103. reflex/components/radix/themes/base.py +3 -3
  104. reflex/components/radix/themes/base.pyi +42 -42
  105. reflex/components/radix/themes/color_mode.py +5 -6
  106. reflex/components/radix/themes/color_mode.pyi +17 -17
  107. reflex/components/radix/themes/components/__init__.pyi +75 -38
  108. reflex/components/radix/themes/components/alert_dialog.pyi +37 -37
  109. reflex/components/radix/themes/components/aspect_ratio.pyi +7 -7
  110. reflex/components/radix/themes/components/avatar.pyi +7 -7
  111. reflex/components/radix/themes/components/badge.pyi +7 -7
  112. reflex/components/radix/themes/components/button.pyi +7 -7
  113. reflex/components/radix/themes/components/callout.pyi +26 -25
  114. reflex/components/radix/themes/components/card.pyi +7 -7
  115. reflex/components/radix/themes/components/checkbox.pyi +16 -15
  116. reflex/components/radix/themes/components/checkbox_cards.pyi +12 -12
  117. reflex/components/radix/themes/components/checkbox_group.pyi +12 -12
  118. reflex/components/radix/themes/components/context_menu.pyi +67 -67
  119. reflex/components/radix/themes/components/data_list.pyi +22 -22
  120. reflex/components/radix/themes/components/dialog.pyi +36 -35
  121. reflex/components/radix/themes/components/dropdown_menu.pyi +42 -42
  122. reflex/components/radix/themes/components/hover_card.pyi +21 -20
  123. reflex/components/radix/themes/components/icon_button.pyi +7 -7
  124. reflex/components/radix/themes/components/inset.pyi +7 -7
  125. reflex/components/radix/themes/components/popover.pyi +22 -22
  126. reflex/components/radix/themes/components/progress.pyi +7 -7
  127. reflex/components/radix/themes/components/radio.pyi +7 -7
  128. reflex/components/radix/themes/components/radio_cards.pyi +12 -12
  129. reflex/components/radix/themes/components/radio_group.pyi +21 -20
  130. reflex/components/radix/themes/components/scroll_area.pyi +7 -7
  131. reflex/components/radix/themes/components/segmented_control.pyi +12 -12
  132. reflex/components/radix/themes/components/select.pyi +46 -45
  133. reflex/components/radix/themes/components/separator.pyi +7 -7
  134. reflex/components/radix/themes/components/skeleton.pyi +7 -7
  135. reflex/components/radix/themes/components/slider.pyi +17 -9
  136. reflex/components/radix/themes/components/spinner.pyi +7 -7
  137. reflex/components/radix/themes/components/switch.pyi +7 -7
  138. reflex/components/radix/themes/components/table.pyi +37 -37
  139. reflex/components/radix/themes/components/tabs.pyi +26 -25
  140. reflex/components/radix/themes/components/text_area.pyi +15 -9
  141. reflex/components/radix/themes/components/text_field.pyi +32 -19
  142. reflex/components/radix/themes/components/tooltip.pyi +7 -7
  143. reflex/components/radix/themes/layout/__init__.pyi +27 -14
  144. reflex/components/radix/themes/layout/base.pyi +7 -7
  145. reflex/components/radix/themes/layout/box.pyi +7 -7
  146. reflex/components/radix/themes/layout/center.pyi +7 -7
  147. reflex/components/radix/themes/layout/container.pyi +7 -7
  148. reflex/components/radix/themes/layout/flex.pyi +7 -7
  149. reflex/components/radix/themes/layout/grid.pyi +7 -7
  150. reflex/components/radix/themes/layout/list.pyi +26 -25
  151. reflex/components/radix/themes/layout/section.pyi +7 -7
  152. reflex/components/radix/themes/layout/spacer.pyi +7 -7
  153. reflex/components/radix/themes/layout/stack.pyi +17 -17
  154. reflex/components/radix/themes/typography/__init__.pyi +7 -5
  155. reflex/components/radix/themes/typography/blockquote.pyi +7 -7
  156. reflex/components/radix/themes/typography/code.pyi +7 -7
  157. reflex/components/radix/themes/typography/heading.pyi +7 -7
  158. reflex/components/radix/themes/typography/link.py +46 -11
  159. reflex/components/radix/themes/typography/link.pyi +312 -9
  160. reflex/components/radix/themes/typography/text.pyi +36 -35
  161. reflex/components/react_player/audio.pyi +10 -8
  162. reflex/components/react_player/react_player.pyi +7 -7
  163. reflex/components/react_player/video.pyi +10 -8
  164. reflex/components/recharts/__init__.pyi +208 -100
  165. reflex/components/recharts/cartesian.py +10 -8
  166. reflex/components/recharts/cartesian.pyi +90 -94
  167. reflex/components/recharts/charts.py +4 -2
  168. reflex/components/recharts/charts.pyi +49 -49
  169. reflex/components/recharts/general.pyi +31 -31
  170. reflex/components/recharts/polar.py +8 -4
  171. reflex/components/recharts/polar.pyi +23 -23
  172. reflex/components/recharts/recharts.py +2 -2
  173. reflex/components/recharts/recharts.pyi +12 -12
  174. reflex/components/sonner/toast.py +3 -3
  175. reflex/components/sonner/toast.pyi +9 -9
  176. reflex/config.py +10 -113
  177. reflex/constants/__init__.py +2 -2
  178. reflex/constants/base.py +28 -11
  179. reflex/constants/compiler.py +12 -3
  180. reflex/constants/event.py +1 -0
  181. reflex/constants/installer.py +26 -20
  182. reflex/constants/route.py +27 -8
  183. reflex/constants/state.py +2 -0
  184. reflex/custom_components/custom_components.py +0 -14
  185. reflex/environment.py +77 -5
  186. reflex/event.py +178 -81
  187. reflex/experimental/__init__.py +0 -30
  188. reflex/istate/__init__.py +69 -0
  189. reflex/istate/manager.py +1 -0
  190. reflex/istate/proxy.py +5 -3
  191. reflex/page.py +0 -27
  192. reflex/plugins/__init__.py +3 -2
  193. reflex/plugins/base.py +5 -1
  194. reflex/plugins/shared_tailwind.py +215 -0
  195. reflex/plugins/sitemap.py +206 -0
  196. reflex/plugins/tailwind_v3.py +15 -108
  197. reflex/plugins/tailwind_v4.py +18 -110
  198. reflex/reflex.py +1 -0
  199. reflex/route.py +157 -75
  200. reflex/state.py +171 -155
  201. reflex/testing.py +86 -16
  202. reflex/utils/build.py +38 -82
  203. reflex/utils/exec.py +83 -175
  204. reflex/utils/export.py +2 -2
  205. reflex/utils/format.py +1 -5
  206. reflex/utils/imports.py +5 -16
  207. reflex/utils/misc.py +67 -0
  208. reflex/utils/prerequisites.py +66 -68
  209. reflex/utils/processes.py +24 -47
  210. reflex/utils/pyi_generator.py +44 -49
  211. reflex/utils/serializers.py +14 -1
  212. reflex/utils/telemetry.py +0 -15
  213. reflex/utils/types.py +197 -62
  214. reflex/vars/__init__.py +2 -0
  215. reflex/vars/base.py +367 -134
  216. {reflex-0.7.14a6.dist-info → reflex-0.8.0.dist-info}/METADATA +15 -8
  217. reflex-0.8.0.dist-info/RECORD +403 -0
  218. reflex/.templates/web/next.config.js +0 -7
  219. reflex/components/base/head.py +0 -20
  220. reflex/components/base/head.pyi +0 -116
  221. reflex/components/next/__init__.py +0 -10
  222. reflex/components/next/base.py +0 -7
  223. reflex/components/next/image.py +0 -117
  224. reflex/components/next/image.pyi +0 -94
  225. reflex/components/next/link.py +0 -20
  226. reflex/components/next/link.pyi +0 -67
  227. reflex/components/next/video.py +0 -38
  228. reflex/components/next/video.pyi +0 -68
  229. reflex/components/suneditor/__init__.py +0 -5
  230. reflex/components/suneditor/editor.py +0 -269
  231. reflex/components/suneditor/editor.pyi +0 -199
  232. reflex/experimental/layout.py +0 -254
  233. reflex/experimental/layout.pyi +0 -814
  234. reflex-0.7.14a6.dist-info/RECORD +0 -408
  235. {reflex-0.7.14a6.dist-info → reflex-0.8.0.dist-info}/WHEEL +0 -0
  236. {reflex-0.7.14a6.dist-info → reflex-0.8.0.dist-info}/entry_points.txt +0 -0
  237. {reflex-0.7.14a6.dist-info → reflex-0.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -4,11 +4,11 @@
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
6
  from collections.abc import Mapping, Sequence
7
- from typing import Any, Literal, overload
7
+ from typing import Any, Literal
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.components.el.element import Element
11
- from reflex.event import EventType
11
+ from reflex.event import EventType, PointerEventInfo
12
12
  from reflex.vars.base import Var
13
13
 
14
14
  AutoCapitalize = Literal["off", "none", "on", "sentences", "words", "characters"]
@@ -90,9 +90,8 @@ AriaRole = Literal[
90
90
  ]
91
91
 
92
92
  class BaseHTML(Element):
93
- @overload
94
93
  @classmethod
95
- def create( # type: ignore
94
+ def create(
96
95
  cls,
97
96
  *children,
98
97
  access_key: Var[str] | str | None = None,
@@ -285,9 +284,9 @@ class BaseHTML(Element):
285
284
  autofocus: bool | None = None,
286
285
  custom_attrs: dict[str, Var | Any] | None = None,
287
286
  on_blur: EventType[()] | None = None,
288
- on_click: EventType[()] | None = None,
289
- on_context_menu: EventType[()] | None = None,
290
- on_double_click: EventType[()] | None = None,
287
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
288
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
289
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
291
290
  on_focus: EventType[()] | None = None,
292
291
  on_mount: EventType[()] | None = None,
293
292
  on_mouse_down: EventType[()] | None = None,
@@ -298,6 +297,7 @@ class BaseHTML(Element):
298
297
  on_mouse_over: EventType[()] | None = None,
299
298
  on_mouse_up: EventType[()] | None = None,
300
299
  on_scroll: EventType[()] | None = None,
300
+ on_scroll_end: EventType[()] | None = None,
301
301
  on_unmount: EventType[()] | None = None,
302
302
  **props,
303
303
  ) -> BaseHTML:
@@ -4,13 +4,13 @@
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
6
  from collections.abc import Mapping, Sequence
7
- from typing import Any, Literal, overload
7
+ from typing import Any, Literal
8
8
 
9
9
  from jinja2 import Environment
10
10
 
11
11
  from reflex.components.core.breakpoints import Breakpoints
12
12
  from reflex.components.el.element import Element
13
- from reflex.event import EventType, KeyInputInfo
13
+ from reflex.event import EventType, KeyInputInfo, PointerEventInfo
14
14
  from reflex.utils.imports import ImportDict
15
15
  from reflex.vars.base import Var
16
16
 
@@ -23,9 +23,8 @@ HANDLE_SUBMIT_JS_JINJA2 = Environment().from_string(
23
23
  ButtonType = Literal["submit", "reset", "button"]
24
24
 
25
25
  class Button(BaseHTML):
26
- @overload
27
26
  @classmethod
28
- def create( # type: ignore
27
+ def create(
29
28
  cls,
30
29
  *children,
31
30
  auto_focus: Var[bool] | bool | None = None,
@@ -231,9 +230,9 @@ class Button(BaseHTML):
231
230
  autofocus: bool | None = None,
232
231
  custom_attrs: dict[str, Var | Any] | None = None,
233
232
  on_blur: EventType[()] | None = None,
234
- on_click: EventType[()] | None = None,
235
- on_context_menu: EventType[()] | None = None,
236
- on_double_click: EventType[()] | None = None,
233
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
234
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
235
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
237
236
  on_focus: EventType[()] | None = None,
238
237
  on_mount: EventType[()] | None = None,
239
238
  on_mouse_down: EventType[()] | None = None,
@@ -244,6 +243,7 @@ class Button(BaseHTML):
244
243
  on_mouse_over: EventType[()] | None = None,
245
244
  on_mouse_up: EventType[()] | None = None,
246
245
  on_scroll: EventType[()] | None = None,
246
+ on_scroll_end: EventType[()] | None = None,
247
247
  on_unmount: EventType[()] | None = None,
248
248
  **props,
249
249
  ) -> Button:
@@ -292,9 +292,8 @@ class Button(BaseHTML):
292
292
  """
293
293
 
294
294
  class Datalist(BaseHTML):
295
- @overload
296
295
  @classmethod
297
- def create( # type: ignore
296
+ def create(
298
297
  cls,
299
298
  *children,
300
299
  access_key: Var[str] | str | None = None,
@@ -487,9 +486,9 @@ class Datalist(BaseHTML):
487
486
  autofocus: bool | None = None,
488
487
  custom_attrs: dict[str, Var | Any] | None = None,
489
488
  on_blur: EventType[()] | None = None,
490
- on_click: EventType[()] | None = None,
491
- on_context_menu: EventType[()] | None = None,
492
- on_double_click: EventType[()] | None = None,
489
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
490
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
491
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
493
492
  on_focus: EventType[()] | None = None,
494
493
  on_mount: EventType[()] | None = None,
495
494
  on_mouse_down: EventType[()] | None = None,
@@ -500,6 +499,7 @@ class Datalist(BaseHTML):
500
499
  on_mouse_over: EventType[()] | None = None,
501
500
  on_mouse_up: EventType[()] | None = None,
502
501
  on_scroll: EventType[()] | None = None,
502
+ on_scroll_end: EventType[()] | None = None,
503
503
  on_unmount: EventType[()] | None = None,
504
504
  **props,
505
505
  ) -> Datalist:
@@ -537,9 +537,8 @@ class Datalist(BaseHTML):
537
537
  """
538
538
 
539
539
  class Fieldset(Element):
540
- @overload
541
540
  @classmethod
542
- def create( # type: ignore
541
+ def create(
543
542
  cls,
544
543
  *children,
545
544
  disabled: Var[bool] | bool | None = None,
@@ -557,9 +556,9 @@ class Fieldset(Element):
557
556
  autofocus: bool | None = None,
558
557
  custom_attrs: dict[str, Var | Any] | None = None,
559
558
  on_blur: EventType[()] | None = None,
560
- on_click: EventType[()] | None = None,
561
- on_context_menu: EventType[()] | None = None,
562
- on_double_click: EventType[()] | None = None,
559
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
560
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
561
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
563
562
  on_focus: EventType[()] | None = None,
564
563
  on_mount: EventType[()] | None = None,
565
564
  on_mouse_down: EventType[()] | None = None,
@@ -570,6 +569,7 @@ class Fieldset(Element):
570
569
  on_mouse_over: EventType[()] | None = None,
571
570
  on_mouse_up: EventType[()] | None = None,
572
571
  on_scroll: EventType[()] | None = None,
572
+ on_scroll_end: EventType[()] | None = None,
573
573
  on_unmount: EventType[()] | None = None,
574
574
  **props,
575
575
  ) -> Fieldset:
@@ -597,9 +597,8 @@ def on_submit_event_spec() -> tuple[Var[dict[str, Any]]]: ...
597
597
  def on_submit_string_event_spec() -> tuple[Var[dict[str, str]]]: ...
598
598
 
599
599
  class Form(BaseHTML):
600
- @overload
601
600
  @classmethod
602
- def create( # type: ignore
601
+ def create(
603
602
  cls,
604
603
  *children,
605
604
  accept: Var[str] | str | None = None,
@@ -803,9 +802,9 @@ class Form(BaseHTML):
803
802
  autofocus: bool | None = None,
804
803
  custom_attrs: dict[str, Var | Any] | None = None,
805
804
  on_blur: EventType[()] | None = None,
806
- on_click: EventType[()] | None = None,
807
- on_context_menu: EventType[()] | None = None,
808
- on_double_click: EventType[()] | None = None,
805
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
806
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
807
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
809
808
  on_focus: EventType[()] | None = None,
810
809
  on_mount: EventType[()] | None = None,
811
810
  on_mouse_down: EventType[()] | None = None,
@@ -816,7 +815,11 @@ class Form(BaseHTML):
816
815
  on_mouse_over: EventType[()] | None = None,
817
816
  on_mouse_up: EventType[()] | None = None,
818
817
  on_scroll: EventType[()] | None = None,
819
- on_submit: EventType[()] | EventType[dict[str, Any]] | (EventType[()] | EventType[dict[str, str]]) | None = None,
818
+ on_scroll_end: EventType[()] | None = None,
819
+ on_submit: EventType[()]
820
+ | EventType[dict[str, Any]]
821
+ | (EventType[()] | EventType[dict[str, str]])
822
+ | None = None,
820
823
  on_unmount: EventType[()] | None = None,
821
824
  **props,
822
825
  ) -> Form:
@@ -894,9 +897,8 @@ HTMLInputTypeAttribute = Literal[
894
897
  ]
895
898
 
896
899
  class BaseInput(BaseHTML):
897
- @overload
898
900
  @classmethod
899
- def create( # type: ignore
901
+ def create(
900
902
  cls,
901
903
  *children,
902
904
  accept: Var[str] | str | None = None,
@@ -1172,12 +1174,18 @@ class BaseInput(BaseHTML):
1172
1174
  autofocus: bool | None = None,
1173
1175
  custom_attrs: dict[str, Var | Any] | None = None,
1174
1176
  on_blur: EventType[()] | None = None,
1175
- on_click: EventType[()] | None = None,
1176
- on_context_menu: EventType[()] | None = None,
1177
- on_double_click: EventType[()] | None = None,
1177
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1178
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1179
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1178
1180
  on_focus: EventType[()] | None = None,
1179
- on_key_down: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
1180
- on_key_up: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
1181
+ on_key_down: EventType[()]
1182
+ | EventType[str]
1183
+ | EventType[str, KeyInputInfo]
1184
+ | None = None,
1185
+ on_key_up: EventType[()]
1186
+ | EventType[str]
1187
+ | EventType[str, KeyInputInfo]
1188
+ | None = None,
1181
1189
  on_mount: EventType[()] | None = None,
1182
1190
  on_mouse_down: EventType[()] | None = None,
1183
1191
  on_mouse_enter: EventType[()] | None = None,
@@ -1187,6 +1195,7 @@ class BaseInput(BaseHTML):
1187
1195
  on_mouse_over: EventType[()] | None = None,
1188
1196
  on_mouse_up: EventType[()] | None = None,
1189
1197
  on_scroll: EventType[()] | None = None,
1198
+ on_scroll_end: EventType[()] | None = None,
1190
1199
  on_unmount: EventType[()] | None = None,
1191
1200
  **props,
1192
1201
  ) -> BaseInput:
@@ -1257,9 +1266,8 @@ class BaseInput(BaseHTML):
1257
1266
  """
1258
1267
 
1259
1268
  class CheckboxInput(BaseInput):
1260
- @overload
1261
1269
  @classmethod
1262
- def create( # type: ignore
1270
+ def create(
1263
1271
  cls,
1264
1272
  *children,
1265
1273
  accept: Var[str] | str | None = None,
@@ -1536,12 +1544,18 @@ class CheckboxInput(BaseInput):
1536
1544
  custom_attrs: dict[str, Var | Any] | None = None,
1537
1545
  on_blur: EventType[()] | EventType[bool] | None = None,
1538
1546
  on_change: EventType[()] | EventType[bool] | None = None,
1539
- on_click: EventType[()] | None = None,
1540
- on_context_menu: EventType[()] | None = None,
1541
- on_double_click: EventType[()] | None = None,
1547
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1548
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1549
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1542
1550
  on_focus: EventType[()] | EventType[bool] | None = None,
1543
- on_key_down: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
1544
- on_key_up: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
1551
+ on_key_down: EventType[()]
1552
+ | EventType[str]
1553
+ | EventType[str, KeyInputInfo]
1554
+ | None = None,
1555
+ on_key_up: EventType[()]
1556
+ | EventType[str]
1557
+ | EventType[str, KeyInputInfo]
1558
+ | None = None,
1545
1559
  on_mount: EventType[()] | None = None,
1546
1560
  on_mouse_down: EventType[()] | None = None,
1547
1561
  on_mouse_enter: EventType[()] | None = None,
@@ -1551,6 +1565,7 @@ class CheckboxInput(BaseInput):
1551
1565
  on_mouse_over: EventType[()] | None = None,
1552
1566
  on_mouse_up: EventType[()] | None = None,
1553
1567
  on_scroll: EventType[()] | None = None,
1568
+ on_scroll_end: EventType[()] | None = None,
1554
1569
  on_unmount: EventType[()] | None = None,
1555
1570
  **props,
1556
1571
  ) -> CheckboxInput:
@@ -1624,9 +1639,8 @@ class CheckboxInput(BaseInput):
1624
1639
  """
1625
1640
 
1626
1641
  class ValueNumberInput(BaseInput):
1627
- @overload
1628
1642
  @classmethod
1629
- def create( # type: ignore
1643
+ def create(
1630
1644
  cls,
1631
1645
  *children,
1632
1646
  accept: Var[str] | str | None = None,
@@ -1901,14 +1915,32 @@ class ValueNumberInput(BaseInput):
1901
1915
  class_name: Any | None = None,
1902
1916
  autofocus: bool | None = None,
1903
1917
  custom_attrs: dict[str, Var | Any] | None = None,
1904
- on_blur: EventType[()] | EventType[float] | (EventType[()] | EventType[int]) | (EventType[()] | EventType[str]) | None = None,
1905
- on_change: EventType[()] | EventType[float] | (EventType[()] | EventType[int]) | (EventType[()] | EventType[str]) | None = None,
1906
- on_click: EventType[()] | None = None,
1907
- on_context_menu: EventType[()] | None = None,
1908
- on_double_click: EventType[()] | None = None,
1909
- on_focus: EventType[()] | EventType[float] | (EventType[()] | EventType[int]) | (EventType[()] | EventType[str]) | None = None,
1910
- on_key_down: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
1911
- on_key_up: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
1918
+ on_blur: EventType[()]
1919
+ | EventType[float]
1920
+ | (EventType[()] | EventType[int])
1921
+ | (EventType[()] | EventType[str])
1922
+ | None = None,
1923
+ on_change: EventType[()]
1924
+ | EventType[float]
1925
+ | (EventType[()] | EventType[int])
1926
+ | (EventType[()] | EventType[str])
1927
+ | None = None,
1928
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1929
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
1930
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
1931
+ on_focus: EventType[()]
1932
+ | EventType[float]
1933
+ | (EventType[()] | EventType[int])
1934
+ | (EventType[()] | EventType[str])
1935
+ | None = None,
1936
+ on_key_down: EventType[()]
1937
+ | EventType[str]
1938
+ | EventType[str, KeyInputInfo]
1939
+ | None = None,
1940
+ on_key_up: EventType[()]
1941
+ | EventType[str]
1942
+ | EventType[str, KeyInputInfo]
1943
+ | None = None,
1912
1944
  on_mount: EventType[()] | None = None,
1913
1945
  on_mouse_down: EventType[()] | None = None,
1914
1946
  on_mouse_enter: EventType[()] | None = None,
@@ -1918,6 +1950,7 @@ class ValueNumberInput(BaseInput):
1918
1950
  on_mouse_over: EventType[()] | None = None,
1919
1951
  on_mouse_up: EventType[()] | None = None,
1920
1952
  on_scroll: EventType[()] | None = None,
1953
+ on_scroll_end: EventType[()] | None = None,
1921
1954
  on_unmount: EventType[()] | None = None,
1922
1955
  **props,
1923
1956
  ) -> ValueNumberInput:
@@ -1991,9 +2024,8 @@ class ValueNumberInput(BaseInput):
1991
2024
  """
1992
2025
 
1993
2026
  class Input(BaseInput):
1994
- @overload
1995
2027
  @classmethod
1996
- def create( # type: ignore
2028
+ def create(
1997
2029
  cls,
1998
2030
  *children,
1999
2031
  accept: Var[str] | str | None = None,
@@ -2270,12 +2302,18 @@ class Input(BaseInput):
2270
2302
  custom_attrs: dict[str, Var | Any] | None = None,
2271
2303
  on_blur: EventType[()] | EventType[str] | None = None,
2272
2304
  on_change: EventType[()] | EventType[str] | None = None,
2273
- on_click: EventType[()] | None = None,
2274
- on_context_menu: EventType[()] | None = None,
2275
- on_double_click: EventType[()] | None = None,
2305
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2306
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2307
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2276
2308
  on_focus: EventType[()] | EventType[str] | None = None,
2277
- on_key_down: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
2278
- on_key_up: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
2309
+ on_key_down: EventType[()]
2310
+ | EventType[str]
2311
+ | EventType[str, KeyInputInfo]
2312
+ | None = None,
2313
+ on_key_up: EventType[()]
2314
+ | EventType[str]
2315
+ | EventType[str, KeyInputInfo]
2316
+ | None = None,
2279
2317
  on_mount: EventType[()] | None = None,
2280
2318
  on_mouse_down: EventType[()] | None = None,
2281
2319
  on_mouse_enter: EventType[()] | None = None,
@@ -2285,6 +2323,7 @@ class Input(BaseInput):
2285
2323
  on_mouse_over: EventType[()] | None = None,
2286
2324
  on_mouse_up: EventType[()] | None = None,
2287
2325
  on_scroll: EventType[()] | None = None,
2326
+ on_scroll_end: EventType[()] | None = None,
2288
2327
  on_unmount: EventType[()] | None = None,
2289
2328
  **props,
2290
2329
  ) -> Input:
@@ -2358,9 +2397,8 @@ class Input(BaseInput):
2358
2397
  """
2359
2398
 
2360
2399
  class Label(BaseHTML):
2361
- @overload
2362
2400
  @classmethod
2363
- def create( # type: ignore
2401
+ def create(
2364
2402
  cls,
2365
2403
  *children,
2366
2404
  html_for: Var[str] | str | None = None,
@@ -2555,9 +2593,9 @@ class Label(BaseHTML):
2555
2593
  autofocus: bool | None = None,
2556
2594
  custom_attrs: dict[str, Var | Any] | None = None,
2557
2595
  on_blur: EventType[()] | None = None,
2558
- on_click: EventType[()] | None = None,
2559
- on_context_menu: EventType[()] | None = None,
2560
- on_double_click: EventType[()] | None = None,
2596
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2597
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2598
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2561
2599
  on_focus: EventType[()] | None = None,
2562
2600
  on_mount: EventType[()] | None = None,
2563
2601
  on_mouse_down: EventType[()] | None = None,
@@ -2568,6 +2606,7 @@ class Label(BaseHTML):
2568
2606
  on_mouse_over: EventType[()] | None = None,
2569
2607
  on_mouse_up: EventType[()] | None = None,
2570
2608
  on_scroll: EventType[()] | None = None,
2609
+ on_scroll_end: EventType[()] | None = None,
2571
2610
  on_unmount: EventType[()] | None = None,
2572
2611
  **props,
2573
2612
  ) -> Label:
@@ -2607,9 +2646,8 @@ class Label(BaseHTML):
2607
2646
  """
2608
2647
 
2609
2648
  class Legend(BaseHTML):
2610
- @overload
2611
2649
  @classmethod
2612
- def create( # type: ignore
2650
+ def create(
2613
2651
  cls,
2614
2652
  *children,
2615
2653
  access_key: Var[str] | str | None = None,
@@ -2802,9 +2840,9 @@ class Legend(BaseHTML):
2802
2840
  autofocus: bool | None = None,
2803
2841
  custom_attrs: dict[str, Var | Any] | None = None,
2804
2842
  on_blur: EventType[()] | None = None,
2805
- on_click: EventType[()] | None = None,
2806
- on_context_menu: EventType[()] | None = None,
2807
- on_double_click: EventType[()] | None = None,
2843
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2844
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
2845
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
2808
2846
  on_focus: EventType[()] | None = None,
2809
2847
  on_mount: EventType[()] | None = None,
2810
2848
  on_mouse_down: EventType[()] | None = None,
@@ -2815,6 +2853,7 @@ class Legend(BaseHTML):
2815
2853
  on_mouse_over: EventType[()] | None = None,
2816
2854
  on_mouse_up: EventType[()] | None = None,
2817
2855
  on_scroll: EventType[()] | None = None,
2856
+ on_scroll_end: EventType[()] | None = None,
2818
2857
  on_unmount: EventType[()] | None = None,
2819
2858
  **props,
2820
2859
  ) -> Legend:
@@ -2852,9 +2891,8 @@ class Legend(BaseHTML):
2852
2891
  """
2853
2892
 
2854
2893
  class Meter(BaseHTML):
2855
- @overload
2856
2894
  @classmethod
2857
- def create( # type: ignore
2895
+ def create(
2858
2896
  cls,
2859
2897
  *children,
2860
2898
  form: Var[str] | str | None = None,
@@ -3054,9 +3092,9 @@ class Meter(BaseHTML):
3054
3092
  autofocus: bool | None = None,
3055
3093
  custom_attrs: dict[str, Var | Any] | None = None,
3056
3094
  on_blur: EventType[()] | None = None,
3057
- on_click: EventType[()] | None = None,
3058
- on_context_menu: EventType[()] | None = None,
3059
- on_double_click: EventType[()] | None = None,
3095
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3096
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3097
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3060
3098
  on_focus: EventType[()] | None = None,
3061
3099
  on_mount: EventType[()] | None = None,
3062
3100
  on_mouse_down: EventType[()] | None = None,
@@ -3067,6 +3105,7 @@ class Meter(BaseHTML):
3067
3105
  on_mouse_over: EventType[()] | None = None,
3068
3106
  on_mouse_up: EventType[()] | None = None,
3069
3107
  on_scroll: EventType[()] | None = None,
3108
+ on_scroll_end: EventType[()] | None = None,
3070
3109
  on_unmount: EventType[()] | None = None,
3071
3110
  **props,
3072
3111
  ) -> Meter:
@@ -3111,9 +3150,8 @@ class Meter(BaseHTML):
3111
3150
  """
3112
3151
 
3113
3152
  class Optgroup(BaseHTML):
3114
- @overload
3115
3153
  @classmethod
3116
- def create( # type: ignore
3154
+ def create(
3117
3155
  cls,
3118
3156
  *children,
3119
3157
  disabled: Var[bool] | bool | None = None,
@@ -3308,9 +3346,9 @@ class Optgroup(BaseHTML):
3308
3346
  autofocus: bool | None = None,
3309
3347
  custom_attrs: dict[str, Var | Any] | None = None,
3310
3348
  on_blur: EventType[()] | None = None,
3311
- on_click: EventType[()] | None = None,
3312
- on_context_menu: EventType[()] | None = None,
3313
- on_double_click: EventType[()] | None = None,
3349
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3350
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3351
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3314
3352
  on_focus: EventType[()] | None = None,
3315
3353
  on_mount: EventType[()] | None = None,
3316
3354
  on_mouse_down: EventType[()] | None = None,
@@ -3321,6 +3359,7 @@ class Optgroup(BaseHTML):
3321
3359
  on_mouse_over: EventType[()] | None = None,
3322
3360
  on_mouse_up: EventType[()] | None = None,
3323
3361
  on_scroll: EventType[()] | None = None,
3362
+ on_scroll_end: EventType[()] | None = None,
3324
3363
  on_unmount: EventType[()] | None = None,
3325
3364
  **props,
3326
3365
  ) -> Optgroup:
@@ -3360,9 +3399,8 @@ class Optgroup(BaseHTML):
3360
3399
  """
3361
3400
 
3362
3401
  class Option(BaseHTML):
3363
- @overload
3364
3402
  @classmethod
3365
- def create( # type: ignore
3403
+ def create(
3366
3404
  cls,
3367
3405
  *children,
3368
3406
  disabled: Var[bool] | bool | None = None,
@@ -3559,9 +3597,9 @@ class Option(BaseHTML):
3559
3597
  autofocus: bool | None = None,
3560
3598
  custom_attrs: dict[str, Var | Any] | None = None,
3561
3599
  on_blur: EventType[()] | None = None,
3562
- on_click: EventType[()] | None = None,
3563
- on_context_menu: EventType[()] | None = None,
3564
- on_double_click: EventType[()] | None = None,
3600
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3601
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3602
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3565
3603
  on_focus: EventType[()] | None = None,
3566
3604
  on_mount: EventType[()] | None = None,
3567
3605
  on_mouse_down: EventType[()] | None = None,
@@ -3572,6 +3610,7 @@ class Option(BaseHTML):
3572
3610
  on_mouse_over: EventType[()] | None = None,
3573
3611
  on_mouse_up: EventType[()] | None = None,
3574
3612
  on_scroll: EventType[()] | None = None,
3613
+ on_scroll_end: EventType[()] | None = None,
3575
3614
  on_unmount: EventType[()] | None = None,
3576
3615
  **props,
3577
3616
  ) -> Option:
@@ -3613,9 +3652,8 @@ class Option(BaseHTML):
3613
3652
  """
3614
3653
 
3615
3654
  class Output(BaseHTML):
3616
- @overload
3617
3655
  @classmethod
3618
- def create( # type: ignore
3656
+ def create(
3619
3657
  cls,
3620
3658
  *children,
3621
3659
  html_for: Var[str] | str | None = None,
@@ -3811,9 +3849,9 @@ class Output(BaseHTML):
3811
3849
  autofocus: bool | None = None,
3812
3850
  custom_attrs: dict[str, Var | Any] | None = None,
3813
3851
  on_blur: EventType[()] | None = None,
3814
- on_click: EventType[()] | None = None,
3815
- on_context_menu: EventType[()] | None = None,
3816
- on_double_click: EventType[()] | None = None,
3852
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3853
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
3854
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
3817
3855
  on_focus: EventType[()] | None = None,
3818
3856
  on_mount: EventType[()] | None = None,
3819
3857
  on_mouse_down: EventType[()] | None = None,
@@ -3824,6 +3862,7 @@ class Output(BaseHTML):
3824
3862
  on_mouse_over: EventType[()] | None = None,
3825
3863
  on_mouse_up: EventType[()] | None = None,
3826
3864
  on_scroll: EventType[()] | None = None,
3865
+ on_scroll_end: EventType[()] | None = None,
3827
3866
  on_unmount: EventType[()] | None = None,
3828
3867
  **props,
3829
3868
  ) -> Output:
@@ -3864,9 +3903,8 @@ class Output(BaseHTML):
3864
3903
  """
3865
3904
 
3866
3905
  class Progress(BaseHTML):
3867
- @overload
3868
3906
  @classmethod
3869
- def create( # type: ignore
3907
+ def create(
3870
3908
  cls,
3871
3909
  *children,
3872
3910
  form: Var[str] | str | None = None,
@@ -4062,9 +4100,9 @@ class Progress(BaseHTML):
4062
4100
  autofocus: bool | None = None,
4063
4101
  custom_attrs: dict[str, Var | Any] | None = None,
4064
4102
  on_blur: EventType[()] | None = None,
4065
- on_click: EventType[()] | None = None,
4066
- on_context_menu: EventType[()] | None = None,
4067
- on_double_click: EventType[()] | None = None,
4103
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4104
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
4105
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4068
4106
  on_focus: EventType[()] | None = None,
4069
4107
  on_mount: EventType[()] | None = None,
4070
4108
  on_mouse_down: EventType[()] | None = None,
@@ -4075,6 +4113,7 @@ class Progress(BaseHTML):
4075
4113
  on_mouse_over: EventType[()] | None = None,
4076
4114
  on_mouse_up: EventType[()] | None = None,
4077
4115
  on_scroll: EventType[()] | None = None,
4116
+ on_scroll_end: EventType[()] | None = None,
4078
4117
  on_unmount: EventType[()] | None = None,
4079
4118
  **props,
4080
4119
  ) -> Progress:
@@ -4115,9 +4154,8 @@ class Progress(BaseHTML):
4115
4154
  """
4116
4155
 
4117
4156
  class Select(BaseHTML):
4118
- @overload
4119
4157
  @classmethod
4120
- def create( # type: ignore
4158
+ def create(
4121
4159
  cls,
4122
4160
  *children,
4123
4161
  auto_complete: Var[str] | str | None = None,
@@ -4321,9 +4359,9 @@ class Select(BaseHTML):
4321
4359
  custom_attrs: dict[str, Var | Any] | None = None,
4322
4360
  on_blur: EventType[()] | None = None,
4323
4361
  on_change: EventType[()] | EventType[str] | None = None,
4324
- on_click: EventType[()] | None = None,
4325
- on_context_menu: EventType[()] | None = None,
4326
- on_double_click: EventType[()] | None = None,
4362
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4363
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
4364
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4327
4365
  on_focus: EventType[()] | None = None,
4328
4366
  on_mount: EventType[()] | None = None,
4329
4367
  on_mouse_down: EventType[()] | None = None,
@@ -4334,6 +4372,7 @@ class Select(BaseHTML):
4334
4372
  on_mouse_over: EventType[()] | None = None,
4335
4373
  on_mouse_up: EventType[()] | None = None,
4336
4374
  on_scroll: EventType[()] | None = None,
4375
+ on_scroll_end: EventType[()] | None = None,
4337
4376
  on_unmount: EventType[()] | None = None,
4338
4377
  **props,
4339
4378
  ) -> Select:
@@ -4385,9 +4424,8 @@ AUTO_HEIGHT_JS = '\nconst autoHeightOnInput = (e, is_enabled) => {\n if (is_e
4385
4424
  ENTER_KEY_SUBMIT_JS = "\nconst enterKeySubmitOnKeyDown = (e, is_enabled) => {\n if (is_enabled && e.which === 13 && !e.shiftKey) {\n e.preventDefault();\n if (!e.repeat) {\n if (e.target.form) {\n e.target.form.requestSubmit();\n }\n }\n }\n}\n"
4386
4425
 
4387
4426
  class Textarea(BaseHTML):
4388
- @overload
4389
4427
  @classmethod
4390
- def create( # type: ignore
4428
+ def create(
4391
4429
  cls,
4392
4430
  *children,
4393
4431
  auto_complete: Var[str] | str | None = None,
@@ -4599,12 +4637,18 @@ class Textarea(BaseHTML):
4599
4637
  custom_attrs: dict[str, Var | Any] | None = None,
4600
4638
  on_blur: EventType[()] | EventType[str] | None = None,
4601
4639
  on_change: EventType[()] | EventType[str] | None = None,
4602
- on_click: EventType[()] | None = None,
4603
- on_context_menu: EventType[()] | None = None,
4604
- on_double_click: EventType[()] | None = None,
4640
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4641
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
4642
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
4605
4643
  on_focus: EventType[()] | EventType[str] | None = None,
4606
- on_key_down: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
4607
- on_key_up: EventType[()] | EventType[str] | EventType[str, KeyInputInfo] | None = None,
4644
+ on_key_down: EventType[()]
4645
+ | EventType[str]
4646
+ | EventType[str, KeyInputInfo]
4647
+ | None = None,
4648
+ on_key_up: EventType[()]
4649
+ | EventType[str]
4650
+ | EventType[str, KeyInputInfo]
4651
+ | None = None,
4608
4652
  on_mount: EventType[()] | None = None,
4609
4653
  on_mouse_down: EventType[()] | None = None,
4610
4654
  on_mouse_enter: EventType[()] | None = None,
@@ -4614,6 +4658,7 @@ class Textarea(BaseHTML):
4614
4658
  on_mouse_over: EventType[()] | None = None,
4615
4659
  on_mouse_up: EventType[()] | None = None,
4616
4660
  on_scroll: EventType[()] | None = None,
4661
+ on_scroll_end: EventType[()] | None = None,
4617
4662
  on_unmount: EventType[()] | None = None,
4618
4663
  **props,
4619
4664
  ) -> Textarea: