reflex 0.5.10a3__py3-none-any.whl → 0.6.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 (303) hide show
  1. reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +2 -2
  2. reflex/.templates/jinja/web/pages/_app.js.jinja2 +1 -1
  3. reflex/.templates/jinja/web/pages/utils.js.jinja2 +4 -4
  4. reflex/.templates/jinja/web/utils/context.js.jinja2 +1 -1
  5. reflex/.templates/jinja/web/utils/theme.js.jinja2 +1 -1
  6. reflex/.templates/web/utils/state.js +3 -1
  7. reflex/__init__.py +10 -3
  8. reflex/__init__.pyi +3 -2
  9. reflex/app.py +47 -11
  10. reflex/app_module_for_backend.py +1 -1
  11. reflex/base.py +3 -2
  12. reflex/compiler/compiler.py +5 -5
  13. reflex/compiler/utils.py +5 -3
  14. reflex/components/base/app_wrap.py +2 -4
  15. reflex/components/base/app_wrap.pyi +16 -26
  16. reflex/components/base/bare.py +6 -4
  17. reflex/components/base/body.pyi +16 -26
  18. reflex/components/base/document.pyi +76 -126
  19. reflex/components/base/error_boundary.py +9 -8
  20. reflex/components/base/error_boundary.pyi +18 -30
  21. reflex/components/base/fragment.pyi +16 -26
  22. reflex/components/base/head.pyi +31 -51
  23. reflex/components/base/link.py +1 -1
  24. reflex/components/base/link.pyi +31 -51
  25. reflex/components/base/meta.pyi +61 -101
  26. reflex/components/base/script.py +2 -2
  27. reflex/components/base/script.pyi +20 -36
  28. reflex/components/component.py +107 -130
  29. reflex/components/core/banner.py +61 -66
  30. reflex/components/core/banner.pyi +129 -230
  31. reflex/components/core/client_side_routing.py +2 -2
  32. reflex/components/core/client_side_routing.pyi +31 -51
  33. reflex/components/core/clipboard.py +4 -3
  34. reflex/components/core/clipboard.pyi +19 -31
  35. reflex/components/core/cond.py +21 -44
  36. reflex/components/core/debounce.py +7 -9
  37. reflex/components/core/debounce.pyi +19 -31
  38. reflex/components/core/foreach.py +4 -14
  39. reflex/components/core/html.py +1 -1
  40. reflex/components/core/html.pyi +34 -44
  41. reflex/components/core/match.py +36 -43
  42. reflex/components/core/upload.py +27 -26
  43. reflex/components/core/upload.pyi +81 -116
  44. reflex/components/datadisplay/code.py +55 -29
  45. reflex/components/datadisplay/code.pyi +303 -410
  46. reflex/components/datadisplay/dataeditor.py +13 -9
  47. reflex/components/datadisplay/dataeditor.pyi +39 -51
  48. reflex/components/el/__init__.py +0 -1
  49. reflex/components/el/__init__.pyi +0 -11
  50. reflex/components/el/element.pyi +16 -26
  51. reflex/components/el/elements/__init__.py +1 -7
  52. reflex/components/el/elements/__init__.pyi +1 -15
  53. reflex/components/el/elements/base.py +1 -1
  54. reflex/components/el/elements/base.pyi +33 -43
  55. reflex/components/el/elements/forms.py +26 -33
  56. reflex/components/el/elements/forms.pyi +542 -694
  57. reflex/components/el/elements/inline.py +1 -1
  58. reflex/components/el/elements/inline.pyi +909 -1189
  59. reflex/components/el/elements/media.py +1 -22
  60. reflex/components/el/elements/media.pyi +765 -975
  61. reflex/components/el/elements/metadata.py +3 -5
  62. reflex/components/el/elements/metadata.pyi +175 -235
  63. reflex/components/el/elements/other.py +1 -1
  64. reflex/components/el/elements/other.pyi +228 -298
  65. reflex/components/el/elements/scripts.py +1 -1
  66. reflex/components/el/elements/scripts.pyi +106 -136
  67. reflex/components/el/elements/sectioning.py +0 -2
  68. reflex/components/el/elements/sectioning.pyi +481 -631
  69. reflex/components/el/elements/tables.py +1 -1
  70. reflex/components/el/elements/tables.pyi +341 -441
  71. reflex/components/el/elements/typography.py +1 -1
  72. reflex/components/el/elements/typography.pyi +491 -641
  73. reflex/components/gridjs/datatable.py +9 -13
  74. reflex/components/gridjs/datatable.pyi +33 -53
  75. reflex/components/lucide/icon.py +3 -127
  76. reflex/components/lucide/icon.pyi +31 -160
  77. reflex/components/markdown/markdown.py +32 -42
  78. reflex/components/markdown/markdown.pyi +28 -41
  79. reflex/components/moment/moment.py +13 -12
  80. reflex/components/moment/moment.pyi +22 -33
  81. reflex/components/next/base.pyi +16 -26
  82. reflex/components/next/image.py +1 -5
  83. reflex/components/next/image.pyi +21 -35
  84. reflex/components/next/link.py +1 -1
  85. reflex/components/next/link.pyi +16 -26
  86. reflex/components/next/video.py +1 -1
  87. reflex/components/next/video.pyi +16 -26
  88. reflex/components/plotly/plotly.py +17 -30
  89. reflex/components/plotly/plotly.pyi +38 -52
  90. reflex/components/props.py +21 -10
  91. reflex/components/radix/__init__.pyi +2 -1
  92. reflex/components/radix/primitives/accordion.py +6 -7
  93. reflex/components/radix/primitives/accordion.pyi +415 -485
  94. reflex/components/radix/primitives/base.py +1 -1
  95. reflex/components/radix/primitives/base.pyi +31 -51
  96. reflex/components/radix/primitives/drawer.py +1 -1
  97. reflex/components/radix/primitives/drawer.pyi +162 -262
  98. reflex/components/radix/primitives/form.py +1 -1
  99. reflex/components/radix/primitives/form.pyi +247 -353
  100. reflex/components/radix/primitives/progress.py +1 -1
  101. reflex/components/radix/primitives/progress.pyi +226 -276
  102. reflex/components/radix/primitives/slider.py +1 -1
  103. reflex/components/radix/primitives/slider.pyi +82 -132
  104. reflex/components/radix/themes/base.py +8 -25
  105. reflex/components/radix/themes/base.pyi +171 -242
  106. reflex/components/radix/themes/color_mode.py +11 -20
  107. reflex/components/radix/themes/color_mode.pyi +198 -231
  108. reflex/components/radix/themes/components/__init__.pyi +1 -0
  109. reflex/components/radix/themes/components/alert_dialog.py +1 -1
  110. reflex/components/radix/themes/components/alert_dialog.pyi +129 -199
  111. reflex/components/radix/themes/components/aspect_ratio.py +1 -1
  112. reflex/components/radix/themes/components/aspect_ratio.pyi +16 -26
  113. reflex/components/radix/themes/components/avatar.py +1 -1
  114. reflex/components/radix/themes/components/avatar.pyi +69 -79
  115. reflex/components/radix/themes/components/badge.py +1 -1
  116. reflex/components/radix/themes/components/badge.pyi +87 -97
  117. reflex/components/radix/themes/components/button.py +1 -1
  118. reflex/components/radix/themes/components/button.pyi +97 -107
  119. reflex/components/radix/themes/components/callout.py +1 -1
  120. reflex/components/radix/themes/components/callout.pyi +317 -367
  121. reflex/components/radix/themes/components/card.py +1 -1
  122. reflex/components/radix/themes/components/card.pyi +37 -47
  123. reflex/components/radix/themes/components/checkbox.py +2 -4
  124. reflex/components/radix/themes/components/checkbox.pyi +205 -241
  125. reflex/components/radix/themes/components/checkbox_cards.py +1 -1
  126. reflex/components/radix/themes/components/checkbox_cards.pyi +92 -112
  127. reflex/components/radix/themes/components/checkbox_group.py +1 -1
  128. reflex/components/radix/themes/components/checkbox_group.pyi +84 -104
  129. reflex/components/radix/themes/components/context_menu.py +1 -1
  130. reflex/components/radix/themes/components/context_menu.pyi +230 -310
  131. reflex/components/radix/themes/components/data_list.py +6 -1
  132. reflex/components/radix/themes/components/data_list.pyi +131 -166
  133. reflex/components/radix/themes/components/dialog.py +1 -1
  134. reflex/components/radix/themes/components/dialog.pyi +132 -202
  135. reflex/components/radix/themes/components/dropdown_menu.py +1 -1
  136. reflex/components/radix/themes/components/dropdown_menu.pyi +241 -323
  137. reflex/components/radix/themes/components/hover_card.py +1 -1
  138. reflex/components/radix/themes/components/hover_card.pyi +86 -126
  139. reflex/components/radix/themes/components/icon_button.py +1 -1
  140. reflex/components/radix/themes/components/icon_button.pyi +97 -107
  141. reflex/components/radix/themes/components/inset.py +1 -1
  142. reflex/components/radix/themes/components/inset.pyi +46 -56
  143. reflex/components/radix/themes/components/popover.py +1 -1
  144. reflex/components/radix/themes/components/popover.pyi +91 -131
  145. reflex/components/radix/themes/components/progress.py +1 -1
  146. reflex/components/radix/themes/components/progress.pyi +70 -80
  147. reflex/components/radix/themes/components/radio.py +1 -1
  148. reflex/components/radix/themes/components/radio.pyi +68 -78
  149. reflex/components/radix/themes/components/radio_cards.py +1 -1
  150. reflex/components/radix/themes/components/radio_cards.pyi +96 -116
  151. reflex/components/radix/themes/components/radio_group.py +32 -31
  152. reflex/components/radix/themes/components/radio_group.pyi +230 -266
  153. reflex/components/radix/themes/components/scroll_area.py +1 -1
  154. reflex/components/radix/themes/components/scroll_area.pyi +20 -30
  155. reflex/components/radix/themes/components/segmented_control.py +1 -1
  156. reflex/components/radix/themes/components/segmented_control.pyi +88 -110
  157. reflex/components/radix/themes/components/select.py +1 -1
  158. reflex/components/radix/themes/components/select.pyi +365 -461
  159. reflex/components/radix/themes/components/separator.py +2 -4
  160. reflex/components/radix/themes/components/separator.pyi +68 -78
  161. reflex/components/radix/themes/components/skeleton.py +1 -1
  162. reflex/components/radix/themes/components/skeleton.pyi +22 -32
  163. reflex/components/radix/themes/components/slider.py +1 -1
  164. reflex/components/radix/themes/components/slider.pyi +74 -86
  165. reflex/components/radix/themes/components/spinner.py +1 -1
  166. reflex/components/radix/themes/components/spinner.pyi +18 -28
  167. reflex/components/radix/themes/components/switch.py +1 -1
  168. reflex/components/radix/themes/components/switch.pyi +70 -82
  169. reflex/components/radix/themes/components/table.py +1 -1
  170. reflex/components/radix/themes/components/table.pyi +254 -324
  171. reflex/components/radix/themes/components/tabs.py +1 -1
  172. reflex/components/radix/themes/components/tabs.pyi +134 -188
  173. reflex/components/radix/themes/components/text_area.py +1 -1
  174. reflex/components/radix/themes/components/text_area.pyi +95 -109
  175. reflex/components/radix/themes/components/text_field.py +1 -80
  176. reflex/components/radix/themes/components/text_field.pyi +245 -290
  177. reflex/components/radix/themes/components/tooltip.py +1 -1
  178. reflex/components/radix/themes/components/tooltip.pyi +25 -35
  179. reflex/components/radix/themes/layout/__init__.pyi +1 -0
  180. reflex/components/radix/themes/layout/base.py +1 -1
  181. reflex/components/radix/themes/layout/base.pyi +55 -65
  182. reflex/components/radix/themes/layout/box.pyi +33 -43
  183. reflex/components/radix/themes/layout/center.pyi +55 -65
  184. reflex/components/radix/themes/layout/container.py +2 -4
  185. reflex/components/radix/themes/layout/container.pyi +35 -45
  186. reflex/components/radix/themes/layout/flex.py +1 -1
  187. reflex/components/radix/themes/layout/flex.pyi +55 -65
  188. reflex/components/radix/themes/layout/grid.py +1 -1
  189. reflex/components/radix/themes/layout/grid.pyi +63 -73
  190. reflex/components/radix/themes/layout/list.py +1 -1
  191. reflex/components/radix/themes/layout/list.pyi +188 -238
  192. reflex/components/radix/themes/layout/section.py +2 -4
  193. reflex/components/radix/themes/layout/section.pyi +35 -45
  194. reflex/components/radix/themes/layout/spacer.pyi +55 -65
  195. reflex/components/radix/themes/layout/stack.py +1 -1
  196. reflex/components/radix/themes/layout/stack.pyi +125 -155
  197. reflex/components/radix/themes/typography/blockquote.py +1 -1
  198. reflex/components/radix/themes/typography/blockquote.pyi +88 -98
  199. reflex/components/radix/themes/typography/code.py +1 -1
  200. reflex/components/radix/themes/typography/code.pyi +89 -99
  201. reflex/components/radix/themes/typography/heading.py +1 -1
  202. reflex/components/radix/themes/typography/heading.pyi +95 -105
  203. reflex/components/radix/themes/typography/link.py +1 -1
  204. reflex/components/radix/themes/typography/link.pyi +101 -111
  205. reflex/components/radix/themes/typography/text.py +1 -1
  206. reflex/components/radix/themes/typography/text.pyi +494 -564
  207. reflex/components/react_player/audio.pyi +32 -58
  208. reflex/components/react_player/react_player.py +1 -1
  209. reflex/components/react_player/react_player.pyi +32 -58
  210. reflex/components/react_player/video.pyi +32 -58
  211. reflex/components/recharts/cartesian.py +22 -19
  212. reflex/components/recharts/cartesian.pyi +658 -840
  213. reflex/components/recharts/charts.py +3 -3
  214. reflex/components/recharts/charts.pyi +238 -342
  215. reflex/components/recharts/general.py +8 -8
  216. reflex/components/recharts/general.pyi +175 -225
  217. reflex/components/recharts/polar.py +11 -11
  218. reflex/components/recharts/polar.pyi +135 -171
  219. reflex/components/recharts/recharts.pyi +31 -51
  220. reflex/components/sonner/toast.py +27 -31
  221. reflex/components/sonner/toast.pyi +36 -45
  222. reflex/components/suneditor/editor.py +1 -1
  223. reflex/components/suneditor/editor.pyi +54 -76
  224. reflex/components/tags/cond_tag.py +6 -4
  225. reflex/components/tags/iter_tag.py +37 -25
  226. reflex/components/tags/match_tag.py +6 -4
  227. reflex/components/tags/tag.py +43 -28
  228. reflex/constants/base.py +3 -1
  229. reflex/constants/event.py +1 -0
  230. reflex/custom_components/custom_components.py +3 -1
  231. reflex/event.py +166 -108
  232. reflex/experimental/__init__.py +25 -6
  233. reflex/experimental/client_state.py +34 -57
  234. reflex/experimental/hooks.py +12 -17
  235. reflex/experimental/layout.py +4 -4
  236. reflex/experimental/layout.pyi +130 -180
  237. reflex/middleware/hydrate_middleware.py +2 -0
  238. reflex/middleware/middleware.py +3 -3
  239. reflex/model.py +22 -0
  240. reflex/reflex.py +4 -0
  241. reflex/state.py +491 -110
  242. reflex/style.py +56 -39
  243. reflex/testing.py +8 -3
  244. reflex/utils/exceptions.py +32 -0
  245. reflex/utils/exec.py +0 -14
  246. reflex/utils/format.py +80 -209
  247. reflex/utils/imports.py +16 -73
  248. reflex/utils/net.py +43 -0
  249. reflex/utils/path_ops.py +13 -1
  250. reflex/utils/prerequisites.py +81 -41
  251. reflex/utils/pyi_generator.py +12 -6
  252. reflex/utils/serializers.py +13 -41
  253. reflex/utils/telemetry.py +3 -2
  254. reflex/utils/types.py +47 -7
  255. reflex/{experimental/vars → vars}/__init__.py +6 -3
  256. reflex/vars/base.py +2563 -0
  257. reflex/vars/function.py +196 -0
  258. reflex/vars/number.py +1158 -0
  259. reflex/vars/object.py +562 -0
  260. reflex/vars/sequence.py +1604 -0
  261. {reflex-0.5.10a3.dist-info → reflex-0.6.0.dist-info}/METADATA +6 -9
  262. reflex-0.6.0.dist-info/RECORD +382 -0
  263. reflex/.templates/apps/demo/.gitignore +0 -4
  264. reflex/.templates/apps/demo/assets/favicon.ico +0 -0
  265. reflex/.templates/apps/demo/assets/github.svg +0 -10
  266. reflex/.templates/apps/demo/assets/icon.svg +0 -37
  267. reflex/.templates/apps/demo/assets/logo.svg +0 -68
  268. reflex/.templates/apps/demo/assets/paneleft.svg +0 -13
  269. reflex/.templates/apps/demo/code/__init__.py +0 -1
  270. reflex/.templates/apps/demo/code/demo.py +0 -127
  271. reflex/.templates/apps/demo/code/pages/__init__.py +0 -7
  272. reflex/.templates/apps/demo/code/pages/chatapp.py +0 -31
  273. reflex/.templates/apps/demo/code/pages/datatable.py +0 -360
  274. reflex/.templates/apps/demo/code/pages/forms.py +0 -257
  275. reflex/.templates/apps/demo/code/pages/graphing.py +0 -253
  276. reflex/.templates/apps/demo/code/pages/home.py +0 -56
  277. reflex/.templates/apps/demo/code/sidebar.py +0 -178
  278. reflex/.templates/apps/demo/code/state.py +0 -22
  279. reflex/.templates/apps/demo/code/states/form_state.py +0 -40
  280. reflex/.templates/apps/demo/code/states/pie_state.py +0 -47
  281. reflex/.templates/apps/demo/code/styles.py +0 -68
  282. reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
  283. reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -4
  284. reflex/.templates/apps/demo/code/webui/components/chat.py +0 -118
  285. reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -19
  286. reflex/.templates/apps/demo/code/webui/components/modal.py +0 -56
  287. reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -70
  288. reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -66
  289. reflex/.templates/apps/demo/code/webui/state.py +0 -146
  290. reflex/.templates/apps/demo/code/webui/styles.py +0 -88
  291. reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -36
  292. reflex/experimental/vars/base.py +0 -583
  293. reflex/experimental/vars/function.py +0 -290
  294. reflex/experimental/vars/number.py +0 -1458
  295. reflex/experimental/vars/object.py +0 -804
  296. reflex/experimental/vars/sequence.py +0 -1764
  297. reflex/utils/watch.py +0 -96
  298. reflex/vars.py +0 -2604
  299. reflex/vars.pyi +0 -218
  300. reflex-0.5.10a3.dist-info/RECORD +0 -413
  301. {reflex-0.5.10a3.dist-info → reflex-0.6.0.dist-info}/LICENSE +0 -0
  302. {reflex-0.5.10a3.dist-info → reflex-0.6.0.dist-info}/WHEEL +0 -0
  303. {reflex-0.5.10a3.dist-info → reflex-0.6.0.dist-info}/entry_points.txt +0 -0
@@ -12,7 +12,9 @@ from reflex.event import EventHandler
12
12
  from reflex.utils import console, format, types
13
13
  from reflex.utils.imports import ImportDict, ImportVar
14
14
  from reflex.utils.serializers import serializer
15
- from reflex.vars import Var, get_unique_variable_name
15
+ from reflex.vars import get_unique_variable_name
16
+ from reflex.vars.base import Var
17
+ from reflex.vars.sequence import ArrayVar
16
18
 
17
19
 
18
20
  # TODO: Fix the serialization issue for custom types.
@@ -293,14 +295,12 @@ class DataEditor(NoSSRComponent):
293
295
 
294
296
  # Define the name of the getData callback associated with this component and assign to get_cell_content.
295
297
  data_callback = f"getData_{editor_id}"
296
- self.get_cell_content = Var.create(
297
- data_callback, _var_is_local=False, _var_is_string=False
298
- ) # type: ignore
298
+ self.get_cell_content = Var(_js_expr=data_callback) # type: ignore
299
299
 
300
300
  code = [f"function {data_callback}([col, row])" "{"]
301
301
 
302
- columns_path = f"{self.columns._var_full_name}"
303
- data_path = f"{self.data._var_full_name}"
302
+ columns_path = str(self.columns)
303
+ data_path = str(self.data)
304
304
 
305
305
  code.extend(
306
306
  [
@@ -333,6 +333,10 @@ class DataEditor(NoSSRComponent):
333
333
 
334
334
  # If rows is not provided, determine from data.
335
335
  if rows is None:
336
+ if isinstance(data, Var) and not isinstance(data, ArrayVar):
337
+ raise ValueError(
338
+ "DataEditor data must be an ArrayVar if rows is not provided."
339
+ )
336
340
  props["rows"] = data.length() if isinstance(data, Var) else len(data)
337
341
 
338
342
  if not isinstance(columns, Var) and len(columns):
@@ -403,9 +407,9 @@ def serialize_dataeditortheme(theme: DataEditorTheme):
403
407
  Returns:
404
408
  The serialized theme.
405
409
  """
406
- return format.json_dumps(
407
- {format.to_camel_case(k): v for k, v in theme.__dict__.items() if v is not None}
408
- )
410
+ return {
411
+ format.to_camel_case(k): v for k, v in theme.__dict__.items() if v is not None
412
+ }
409
413
 
410
414
 
411
415
  data_editor = DataEditor.create
@@ -12,7 +12,7 @@ from reflex.event import EventHandler, EventSpec
12
12
  from reflex.style import Style
13
13
  from reflex.utils.imports import ImportDict
14
14
  from reflex.utils.serializers import serializer
15
- from reflex.vars import BaseVar, Var
15
+ from reflex.vars.base import Var
16
16
 
17
17
  class GridColumnIcons(Enum):
18
18
  Array = "array"
@@ -88,9 +88,9 @@ class DataEditor(NoSSRComponent):
88
88
  *children,
89
89
  rows: Optional[Union[Var[int], int]] = None,
90
90
  columns: Optional[
91
- Union[Var[List[Dict[str, Any]]], List[Dict[str, Any]]]
91
+ Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]
92
92
  ] = None,
93
- data: Optional[Union[Var[List[List[Any]]], List[List[Any]]]] = None,
93
+ data: Optional[Union[List[List[Any]], Var[List[List[Any]]]]] = None,
94
94
  get_cell_content: Optional[Union[Var[str], str]] = None,
95
95
  get_cell_for_selection: Optional[Union[Var[bool], bool]] = None,
96
96
  on_paste: Optional[Union[Var[bool], bool]] = None,
@@ -106,8 +106,8 @@ class DataEditor(NoSSRComponent):
106
106
  row_height: Optional[Union[Var[int], int]] = None,
107
107
  row_markers: Optional[
108
108
  Union[
109
- Var[Literal["none", "number", "checkbox", "both", "clickable-number"]],
110
- Literal["none", "number", "checkbox", "both", "clickable-number"],
109
+ Literal["both", "checkbox", "clickable-number", "none", "number"],
110
+ Var[Literal["both", "checkbox", "clickable-number", "none", "number"]],
111
111
  ]
112
112
  ] = None,
113
113
  row_marker_start_index: Optional[Union[Var[int], int]] = None,
@@ -117,8 +117,8 @@ class DataEditor(NoSSRComponent):
117
117
  vertical_border: Optional[Union[Var[bool], bool]] = None,
118
118
  column_select: Optional[
119
119
  Union[
120
- Var[Literal["none", "single", "multi"]],
121
- Literal["none", "single", "multi"],
120
+ Literal["multi", "none", "single"],
121
+ Var[Literal["multi", "none", "single"]],
122
122
  ]
123
123
  ] = None,
124
124
  prevent_diagonal_scrolling: Optional[Union[Var[bool], bool]] = None,
@@ -127,7 +127,7 @@ class DataEditor(NoSSRComponent):
127
127
  scroll_offset_x: Optional[Union[Var[int], int]] = None,
128
128
  scroll_offset_y: Optional[Union[Var[int], int]] = None,
129
129
  theme: Optional[
130
- Union[Var[Union[DataEditorTheme, Dict]], DataEditorTheme, Dict]
130
+ Union[DataEditorTheme, Dict, Var[Union[DataEditorTheme, Dict]]]
131
131
  ] = None,
132
132
  style: Optional[Style] = None,
133
133
  key: Optional[Any] = None,
@@ -135,98 +135,86 @@ class DataEditor(NoSSRComponent):
135
135
  class_name: Optional[Any] = None,
136
136
  autofocus: Optional[bool] = None,
137
137
  custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
138
- on_blur: Optional[
139
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
140
- ] = None,
138
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
141
139
  on_cell_activated: Optional[
142
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
140
+ Union[EventHandler, EventSpec, list, Callable, Var]
143
141
  ] = None,
144
142
  on_cell_clicked: Optional[
145
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
143
+ Union[EventHandler, EventSpec, list, Callable, Var]
146
144
  ] = None,
147
145
  on_cell_context_menu: Optional[
148
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
146
+ Union[EventHandler, EventSpec, list, Callable, Var]
149
147
  ] = None,
150
148
  on_cell_edited: Optional[
151
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
152
- ] = None,
153
- on_click: Optional[
154
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
149
+ Union[EventHandler, EventSpec, list, Callable, Var]
155
150
  ] = None,
151
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
156
152
  on_column_resize: Optional[
157
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
153
+ Union[EventHandler, EventSpec, list, Callable, Var]
158
154
  ] = None,
159
155
  on_context_menu: Optional[
160
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
161
- ] = None,
162
- on_delete: Optional[
163
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
156
+ Union[EventHandler, EventSpec, list, Callable, Var]
164
157
  ] = None,
158
+ on_delete: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
165
159
  on_double_click: Optional[
166
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
160
+ Union[EventHandler, EventSpec, list, Callable, Var]
167
161
  ] = None,
168
162
  on_finished_editing: Optional[
169
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
170
- ] = None,
171
- on_focus: Optional[
172
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
163
+ Union[EventHandler, EventSpec, list, Callable, Var]
173
164
  ] = None,
165
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
174
166
  on_group_header_clicked: Optional[
175
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
167
+ Union[EventHandler, EventSpec, list, Callable, Var]
176
168
  ] = None,
177
169
  on_group_header_context_menu: Optional[
178
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
170
+ Union[EventHandler, EventSpec, list, Callable, Var]
179
171
  ] = None,
180
172
  on_group_header_renamed: Optional[
181
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
173
+ Union[EventHandler, EventSpec, list, Callable, Var]
182
174
  ] = None,
183
175
  on_header_clicked: Optional[
184
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
176
+ Union[EventHandler, EventSpec, list, Callable, Var]
185
177
  ] = None,
186
178
  on_header_context_menu: Optional[
187
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
179
+ Union[EventHandler, EventSpec, list, Callable, Var]
188
180
  ] = None,
189
181
  on_header_menu_click: Optional[
190
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
182
+ Union[EventHandler, EventSpec, list, Callable, Var]
191
183
  ] = None,
192
184
  on_item_hovered: Optional[
193
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
194
- ] = None,
195
- on_mount: Optional[
196
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
185
+ Union[EventHandler, EventSpec, list, Callable, Var]
197
186
  ] = None,
187
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
198
188
  on_mouse_down: Optional[
199
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
189
+ Union[EventHandler, EventSpec, list, Callable, Var]
200
190
  ] = None,
201
191
  on_mouse_enter: Optional[
202
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
192
+ Union[EventHandler, EventSpec, list, Callable, Var]
203
193
  ] = None,
204
194
  on_mouse_leave: Optional[
205
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
195
+ Union[EventHandler, EventSpec, list, Callable, Var]
206
196
  ] = None,
207
197
  on_mouse_move: Optional[
208
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
198
+ Union[EventHandler, EventSpec, list, Callable, Var]
209
199
  ] = None,
210
200
  on_mouse_out: Optional[
211
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
201
+ Union[EventHandler, EventSpec, list, Callable, Var]
212
202
  ] = None,
213
203
  on_mouse_over: Optional[
214
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
204
+ Union[EventHandler, EventSpec, list, Callable, Var]
215
205
  ] = None,
216
206
  on_mouse_up: Optional[
217
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
207
+ Union[EventHandler, EventSpec, list, Callable, Var]
218
208
  ] = None,
219
209
  on_row_appended: Optional[
220
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
221
- ] = None,
222
- on_scroll: Optional[
223
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
210
+ Union[EventHandler, EventSpec, list, Callable, Var]
224
211
  ] = None,
212
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
225
213
  on_selection_cleared: Optional[
226
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
214
+ Union[EventHandler, EventSpec, list, Callable, Var]
227
215
  ] = None,
228
216
  on_unmount: Optional[
229
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
217
+ Union[EventHandler, EventSpec, list, Callable, Var]
230
218
  ] = None,
231
219
  **props,
232
220
  ) -> "DataEditor":
@@ -10,7 +10,6 @@ _SUBMODULES: set[str] = {"elements"}
10
10
  _SUBMOD_ATTRS: dict[str, list[str]] = {
11
11
  f"elements.{k}": v for k, v in elements._MAPPING.items()
12
12
  }
13
- _PYRIGHT_IGNORE_IMPORTS = elements._PYRIGHT_IGNORE_IMPORTS
14
13
 
15
14
  __getattr__, __dir__, __all__ = lazy_loader.attach(
16
15
  __name__,
@@ -3,7 +3,6 @@
3
3
  # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
- from . import elements
7
6
  from .elements.forms import Button as Button
8
7
  from .elements.forms import Fieldset as Fieldset
9
8
  from .elements.forms import Form as Form
@@ -88,36 +87,28 @@ from .elements.inline import u as u
88
87
  from .elements.inline import wbr as wbr
89
88
  from .elements.media import Area as Area
90
89
  from .elements.media import Audio as Audio
91
- from .elements.media import Defs as Defs
92
90
  from .elements.media import Embed as Embed
93
91
  from .elements.media import Iframe as Iframe
94
92
  from .elements.media import Img as Img
95
- from .elements.media import LinearGradient as LinearGradient
96
93
  from .elements.media import Map as Map
97
94
  from .elements.media import Object as Object
98
- from .elements.media import Path as Path
99
95
  from .elements.media import Picture as Picture
100
96
  from .elements.media import Portal as Portal
101
97
  from .elements.media import Source as Source
102
- from .elements.media import Stop as Stop
103
98
  from .elements.media import Svg as Svg
104
99
  from .elements.media import Track as Track
105
100
  from .elements.media import Video as Video
106
101
  from .elements.media import area as area
107
102
  from .elements.media import audio as audio
108
- from .elements.media import defs as defs # type: ignore
109
103
  from .elements.media import embed as embed
110
104
  from .elements.media import iframe as iframe
111
105
  from .elements.media import image as image
112
106
  from .elements.media import img as img
113
- from .elements.media import lineargradient as lineargradient # type: ignore
114
107
  from .elements.media import map as map
115
108
  from .elements.media import object as object
116
- from .elements.media import path as path # type: ignore
117
109
  from .elements.media import picture as picture
118
110
  from .elements.media import portal as portal
119
111
  from .elements.media import source as source
120
- from .elements.media import stop as stop # type: ignore
121
112
  from .elements.media import svg as svg
122
113
  from .elements.media import track as track
123
114
  from .elements.media import video as video
@@ -231,5 +222,3 @@ from .elements.typography import ol as ol
231
222
  from .elements.typography import p as p
232
223
  from .elements.typography import pre as pre
233
224
  from .elements.typography import ul as ul
234
-
235
- _PYRIGHT_IGNORE_IMPORTS = elements._PYRIGHT_IGNORE_IMPORTS
@@ -8,7 +8,7 @@ from typing import Any, Callable, Dict, Optional, Union, overload
8
8
  from reflex.components.component import Component
9
9
  from reflex.event import EventHandler, EventSpec
10
10
  from reflex.style import Style
11
- from reflex.vars import BaseVar, Var
11
+ from reflex.vars.base import Var
12
12
 
13
13
  class Element(Component):
14
14
  @overload
@@ -22,50 +22,40 @@ class Element(Component):
22
22
  class_name: Optional[Any] = None,
23
23
  autofocus: Optional[bool] = None,
24
24
  custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
25
- on_blur: Optional[
26
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
27
- ] = None,
28
- on_click: Optional[
29
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
30
- ] = None,
25
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
26
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
31
27
  on_context_menu: Optional[
32
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
28
+ Union[EventHandler, EventSpec, list, Callable, Var]
33
29
  ] = None,
34
30
  on_double_click: Optional[
35
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
36
- ] = None,
37
- on_focus: Optional[
38
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
39
- ] = None,
40
- on_mount: Optional[
41
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
31
+ Union[EventHandler, EventSpec, list, Callable, Var]
42
32
  ] = None,
33
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
34
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
43
35
  on_mouse_down: Optional[
44
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
36
+ Union[EventHandler, EventSpec, list, Callable, Var]
45
37
  ] = None,
46
38
  on_mouse_enter: Optional[
47
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
39
+ Union[EventHandler, EventSpec, list, Callable, Var]
48
40
  ] = None,
49
41
  on_mouse_leave: Optional[
50
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
42
+ Union[EventHandler, EventSpec, list, Callable, Var]
51
43
  ] = None,
52
44
  on_mouse_move: Optional[
53
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
45
+ Union[EventHandler, EventSpec, list, Callable, Var]
54
46
  ] = None,
55
47
  on_mouse_out: Optional[
56
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
48
+ Union[EventHandler, EventSpec, list, Callable, Var]
57
49
  ] = None,
58
50
  on_mouse_over: Optional[
59
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
51
+ Union[EventHandler, EventSpec, list, Callable, Var]
60
52
  ] = None,
61
53
  on_mouse_up: Optional[
62
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
63
- ] = None,
64
- on_scroll: Optional[
65
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
54
+ Union[EventHandler, EventSpec, list, Callable, Var]
66
55
  ] = None,
56
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
67
57
  on_unmount: Optional[
68
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
58
+ Union[EventHandler, EventSpec, list, Callable, Var]
69
59
  ] = None,
70
60
  **props,
71
61
  ) -> "Element":
@@ -65,11 +65,6 @@ _MAPPING = {
65
65
  "portal",
66
66
  "source",
67
67
  "svg",
68
- "defs",
69
- "lineargradient",
70
- "LinearGradient",
71
- "stop",
72
- "path",
73
68
  ],
74
69
  "metadata": [
75
70
  "base",
@@ -130,13 +125,12 @@ _MAPPING = {
130
125
  }
131
126
 
132
127
 
133
- EXCLUDE = ["del_", "Del", "image", "lineargradient", "LinearGradient"]
128
+ EXCLUDE = ["del_", "Del", "image"]
134
129
  for _, v in _MAPPING.items():
135
130
  v.extend([mod.capitalize() for mod in v if mod not in EXCLUDE])
136
131
 
137
132
  _SUBMOD_ATTRS: dict[str, list[str]] = _MAPPING
138
133
 
139
- _PYRIGHT_IGNORE_IMPORTS = ["stop", "lineargradient", "path", "defs"]
140
134
  __getattr__, __dir__, __all__ = lazy_loader.attach(
141
135
  __name__,
142
136
  submod_attrs=_SUBMOD_ATTRS,
@@ -87,36 +87,28 @@ from .inline import u as u
87
87
  from .inline import wbr as wbr
88
88
  from .media import Area as Area
89
89
  from .media import Audio as Audio
90
- from .media import Defs as Defs
91
90
  from .media import Embed as Embed
92
91
  from .media import Iframe as Iframe
93
92
  from .media import Img as Img
94
- from .media import LinearGradient as LinearGradient
95
93
  from .media import Map as Map
96
94
  from .media import Object as Object
97
- from .media import Path as Path
98
95
  from .media import Picture as Picture
99
96
  from .media import Portal as Portal
100
97
  from .media import Source as Source
101
- from .media import Stop as Stop
102
98
  from .media import Svg as Svg
103
99
  from .media import Track as Track
104
100
  from .media import Video as Video
105
101
  from .media import area as area
106
102
  from .media import audio as audio
107
- from .media import defs as defs # type: ignore
108
103
  from .media import embed as embed
109
104
  from .media import iframe as iframe
110
105
  from .media import image as image
111
106
  from .media import img as img
112
- from .media import lineargradient as lineargradient # type: ignore
113
107
  from .media import map as map
114
108
  from .media import object as object
115
- from .media import path as path # type: ignore
116
109
  from .media import picture as picture
117
110
  from .media import portal as portal
118
111
  from .media import source as source
119
- from .media import stop as stop # type: ignore
120
112
  from .media import svg as svg
121
113
  from .media import track as track
122
114
  from .media import video as video
@@ -292,11 +284,6 @@ _MAPPING = {
292
284
  "portal",
293
285
  "source",
294
286
  "svg",
295
- "defs",
296
- "lineargradient",
297
- "LinearGradient",
298
- "stop",
299
- "path",
300
287
  ],
301
288
  "metadata": ["base", "head", "link", "meta", "title", "style"],
302
289
  "other": ["details", "dialog", "summary", "slot", "template", "math", "html"],
@@ -348,7 +335,6 @@ _MAPPING = {
348
335
  "Del",
349
336
  ],
350
337
  }
351
- EXCLUDE = ["del_", "Del", "image", "lineargradient", "LinearGradient"]
338
+ EXCLUDE = ["del_", "Del", "image"]
352
339
  for _, v in _MAPPING.items():
353
340
  v.extend([mod.capitalize() for mod in v if mod not in EXCLUDE])
354
- _PYRIGHT_IGNORE_IMPORTS = ["stop", "lineargradient", "path", "defs"]
@@ -3,7 +3,7 @@
3
3
  from typing import Union
4
4
 
5
5
  from reflex.components.el.element import Element
6
- from reflex.vars import Var as Var
6
+ from reflex.vars.base import Var
7
7
 
8
8
 
9
9
  class BaseHTML(Element):
@@ -8,7 +8,7 @@ from typing import Any, Callable, Dict, Optional, Union, overload
8
8
  from reflex.components.el.element import Element
9
9
  from reflex.event import EventHandler, EventSpec
10
10
  from reflex.style import Style
11
- from reflex.vars import BaseVar, Var
11
+ from reflex.vars.base import Var
12
12
 
13
13
  class BaseHTML(Element):
14
14
  @overload
@@ -16,80 +16,70 @@ class BaseHTML(Element):
16
16
  def create( # type: ignore
17
17
  cls,
18
18
  *children,
19
- access_key: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
19
+ access_key: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
20
20
  auto_capitalize: Optional[
21
- Union[Var[Union[bool, int, str]], str, int, bool]
21
+ Union[Var[Union[bool, int, str]], bool, int, str]
22
22
  ] = None,
23
23
  content_editable: Optional[
24
- Union[Var[Union[bool, int, str]], str, int, bool]
24
+ Union[Var[Union[bool, int, str]], bool, int, str]
25
25
  ] = None,
26
26
  context_menu: Optional[
27
- Union[Var[Union[bool, int, str]], str, int, bool]
27
+ Union[Var[Union[bool, int, str]], bool, int, str]
28
28
  ] = None,
29
- dir: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
30
- draggable: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
29
+ dir: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
30
+ draggable: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
31
31
  enter_key_hint: Optional[
32
- Union[Var[Union[bool, int, str]], str, int, bool]
33
- ] = None,
34
- hidden: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
35
- input_mode: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
36
- item_prop: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
37
- lang: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
38
- role: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
39
- slot: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
40
- spell_check: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
41
- tab_index: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
42
- title: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
32
+ Union[Var[Union[bool, int, str]], bool, int, str]
33
+ ] = None,
34
+ hidden: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
35
+ input_mode: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
36
+ item_prop: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
37
+ lang: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
38
+ role: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
39
+ slot: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
40
+ spell_check: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
41
+ tab_index: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
42
+ title: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
43
43
  style: Optional[Style] = None,
44
44
  key: Optional[Any] = None,
45
45
  id: Optional[Any] = None,
46
46
  class_name: Optional[Any] = None,
47
47
  autofocus: Optional[bool] = None,
48
48
  custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
49
- on_blur: Optional[
50
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
51
- ] = None,
52
- on_click: Optional[
53
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
54
- ] = None,
49
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
50
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
55
51
  on_context_menu: Optional[
56
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
52
+ Union[EventHandler, EventSpec, list, Callable, Var]
57
53
  ] = None,
58
54
  on_double_click: Optional[
59
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
60
- ] = None,
61
- on_focus: Optional[
62
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
63
- ] = None,
64
- on_mount: Optional[
65
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
55
+ Union[EventHandler, EventSpec, list, Callable, Var]
66
56
  ] = None,
57
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
58
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
67
59
  on_mouse_down: Optional[
68
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
60
+ Union[EventHandler, EventSpec, list, Callable, Var]
69
61
  ] = None,
70
62
  on_mouse_enter: Optional[
71
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
63
+ Union[EventHandler, EventSpec, list, Callable, Var]
72
64
  ] = None,
73
65
  on_mouse_leave: Optional[
74
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
66
+ Union[EventHandler, EventSpec, list, Callable, Var]
75
67
  ] = None,
76
68
  on_mouse_move: Optional[
77
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
69
+ Union[EventHandler, EventSpec, list, Callable, Var]
78
70
  ] = None,
79
71
  on_mouse_out: Optional[
80
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
72
+ Union[EventHandler, EventSpec, list, Callable, Var]
81
73
  ] = None,
82
74
  on_mouse_over: Optional[
83
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
75
+ Union[EventHandler, EventSpec, list, Callable, Var]
84
76
  ] = None,
85
77
  on_mouse_up: Optional[
86
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
87
- ] = None,
88
- on_scroll: Optional[
89
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
78
+ Union[EventHandler, EventSpec, list, Callable, Var]
90
79
  ] = None,
80
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
91
81
  on_unmount: Optional[
92
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
82
+ Union[EventHandler, EventSpec, list, Callable, Var]
93
83
  ] = None,
94
84
  **props,
95
85
  ) -> "BaseHTML":