reflex 0.6.0a1__py3-none-any.whl → 0.6.0a3__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 (252) 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 +2 -2
  4. reflex/__init__.py +8 -2
  5. reflex/__init__.pyi +2 -1
  6. reflex/app.py +10 -4
  7. reflex/base.py +1 -1
  8. reflex/compiler/compiler.py +2 -2
  9. reflex/compiler/utils.py +3 -3
  10. reflex/components/base/app_wrap.py +2 -2
  11. reflex/components/base/app_wrap.pyi +17 -27
  12. reflex/components/base/bare.py +4 -5
  13. reflex/components/base/body.pyi +17 -27
  14. reflex/components/base/document.pyi +81 -131
  15. reflex/components/base/error_boundary.py +6 -7
  16. reflex/components/base/error_boundary.pyi +20 -33
  17. reflex/components/base/fragment.pyi +17 -27
  18. reflex/components/base/head.pyi +33 -53
  19. reflex/components/base/link.py +1 -1
  20. reflex/components/base/link.pyi +33 -54
  21. reflex/components/base/meta.pyi +65 -105
  22. reflex/components/base/script.py +1 -2
  23. reflex/components/base/script.pyi +21 -38
  24. reflex/components/component.py +45 -47
  25. reflex/components/core/banner.py +23 -27
  26. reflex/components/core/banner.pyi +134 -171
  27. reflex/components/core/breakpoints.py +3 -1
  28. reflex/components/core/client_side_routing.py +2 -3
  29. reflex/components/core/client_side_routing.pyi +33 -54
  30. reflex/components/core/clipboard.py +2 -1
  31. reflex/components/core/clipboard.pyi +20 -33
  32. reflex/components/core/cond.py +5 -5
  33. reflex/components/core/debounce.py +5 -5
  34. reflex/components/core/debounce.pyi +20 -33
  35. reflex/components/core/foreach.py +3 -4
  36. reflex/components/core/html.py +1 -1
  37. reflex/components/core/html.pyi +35 -46
  38. reflex/components/core/match.py +17 -17
  39. reflex/components/core/upload.py +17 -23
  40. reflex/components/core/upload.pyi +78 -124
  41. reflex/components/datadisplay/code.py +9 -10
  42. reflex/components/datadisplay/code.pyi +302 -412
  43. reflex/components/datadisplay/dataeditor.py +8 -10
  44. reflex/components/datadisplay/dataeditor.pyi +40 -53
  45. reflex/components/el/element.pyi +17 -27
  46. reflex/components/el/elements/base.py +1 -1
  47. reflex/components/el/elements/base.pyi +34 -45
  48. reflex/components/el/elements/forms.py +16 -16
  49. reflex/components/el/elements/forms.pyi +554 -707
  50. reflex/components/el/elements/inline.py +1 -1
  51. reflex/components/el/elements/inline.pyi +937 -1218
  52. reflex/components/el/elements/media.py +1 -1
  53. reflex/components/el/elements/media.pyi +786 -997
  54. reflex/components/el/elements/metadata.py +3 -6
  55. reflex/components/el/elements/metadata.pyi +181 -242
  56. reflex/components/el/elements/other.py +1 -1
  57. reflex/components/el/elements/other.pyi +235 -306
  58. reflex/components/el/elements/scripts.py +1 -1
  59. reflex/components/el/elements/scripts.pyi +109 -140
  60. reflex/components/el/elements/sectioning.py +0 -2
  61. reflex/components/el/elements/sectioning.pyi +496 -647
  62. reflex/components/el/elements/tables.py +1 -1
  63. reflex/components/el/elements/tables.pyi +351 -452
  64. reflex/components/el/elements/typography.py +1 -1
  65. reflex/components/el/elements/typography.pyi +506 -657
  66. reflex/components/gridjs/datatable.py +6 -9
  67. reflex/components/gridjs/datatable.pyi +35 -56
  68. reflex/components/lucide/icon.py +1 -1
  69. reflex/components/lucide/icon.pyi +33 -54
  70. reflex/components/markdown/markdown.py +26 -31
  71. reflex/components/markdown/markdown.pyi +27 -37
  72. reflex/components/moment/moment.py +13 -12
  73. reflex/components/moment/moment.pyi +23 -35
  74. reflex/components/next/base.pyi +17 -27
  75. reflex/components/next/image.py +1 -1
  76. reflex/components/next/image.pyi +22 -37
  77. reflex/components/next/link.py +1 -1
  78. reflex/components/next/link.pyi +17 -28
  79. reflex/components/next/video.py +1 -1
  80. reflex/components/next/video.pyi +17 -28
  81. reflex/components/plotly/plotly.py +12 -13
  82. reflex/components/plotly/plotly.pyi +39 -54
  83. reflex/components/props.py +1 -1
  84. reflex/components/radix/__init__.pyi +1 -0
  85. reflex/components/radix/primitives/__init__.pyi +1 -0
  86. reflex/components/radix/primitives/accordion.py +4 -4
  87. reflex/components/radix/primitives/accordion.pyi +424 -495
  88. reflex/components/radix/primitives/base.py +1 -1
  89. reflex/components/radix/primitives/base.pyi +33 -54
  90. reflex/components/radix/primitives/drawer.py +1 -1
  91. reflex/components/radix/primitives/drawer.pyi +172 -273
  92. reflex/components/radix/primitives/form.py +1 -1
  93. reflex/components/radix/primitives/form.pyi +257 -364
  94. reflex/components/radix/primitives/progress.py +1 -1
  95. reflex/components/radix/primitives/progress.pyi +231 -282
  96. reflex/components/radix/primitives/slider.py +1 -1
  97. reflex/components/radix/primitives/slider.pyi +87 -138
  98. reflex/components/radix/themes/base.py +3 -24
  99. reflex/components/radix/themes/base.pyi +178 -250
  100. reflex/components/radix/themes/color_mode.py +5 -5
  101. reflex/components/radix/themes/color_mode.pyi +187 -220
  102. reflex/components/radix/themes/components/alert_dialog.py +1 -1
  103. reflex/components/radix/themes/components/alert_dialog.pyi +136 -207
  104. reflex/components/radix/themes/components/aspect_ratio.py +1 -1
  105. reflex/components/radix/themes/components/aspect_ratio.pyi +17 -28
  106. reflex/components/radix/themes/components/avatar.py +1 -1
  107. reflex/components/radix/themes/components/avatar.pyi +70 -81
  108. reflex/components/radix/themes/components/badge.py +1 -1
  109. reflex/components/radix/themes/components/badge.pyi +88 -99
  110. reflex/components/radix/themes/components/button.py +1 -1
  111. reflex/components/radix/themes/components/button.pyi +98 -109
  112. reflex/components/radix/themes/components/callout.py +1 -1
  113. reflex/components/radix/themes/components/callout.pyi +322 -373
  114. reflex/components/radix/themes/components/card.py +1 -1
  115. reflex/components/radix/themes/components/card.pyi +38 -49
  116. reflex/components/radix/themes/components/checkbox.py +1 -2
  117. reflex/components/radix/themes/components/checkbox.pyi +208 -245
  118. reflex/components/radix/themes/components/checkbox_cards.py +1 -1
  119. reflex/components/radix/themes/components/checkbox_cards.pyi +94 -115
  120. reflex/components/radix/themes/components/checkbox_group.py +1 -1
  121. reflex/components/radix/themes/components/checkbox_group.pyi +86 -107
  122. reflex/components/radix/themes/components/context_menu.py +1 -1
  123. reflex/components/radix/themes/components/context_menu.pyi +238 -319
  124. reflex/components/radix/themes/components/data_list.py +1 -1
  125. reflex/components/radix/themes/components/data_list.pyi +130 -171
  126. reflex/components/radix/themes/components/dialog.py +1 -1
  127. reflex/components/radix/themes/components/dialog.pyi +139 -210
  128. reflex/components/radix/themes/components/dropdown_menu.py +1 -1
  129. reflex/components/radix/themes/components/dropdown_menu.pyi +249 -332
  130. reflex/components/radix/themes/components/hover_card.py +1 -1
  131. reflex/components/radix/themes/components/hover_card.pyi +90 -131
  132. reflex/components/radix/themes/components/icon_button.py +2 -3
  133. reflex/components/radix/themes/components/icon_button.pyi +98 -109
  134. reflex/components/radix/themes/components/inset.py +1 -1
  135. reflex/components/radix/themes/components/inset.pyi +47 -58
  136. reflex/components/radix/themes/components/popover.py +1 -1
  137. reflex/components/radix/themes/components/popover.pyi +95 -136
  138. reflex/components/radix/themes/components/progress.py +1 -1
  139. reflex/components/radix/themes/components/progress.pyi +71 -82
  140. reflex/components/radix/themes/components/radio.py +1 -1
  141. reflex/components/radix/themes/components/radio.pyi +69 -80
  142. reflex/components/radix/themes/components/radio_cards.py +1 -1
  143. reflex/components/radix/themes/components/radio_cards.pyi +98 -119
  144. reflex/components/radix/themes/components/radio_group.py +8 -11
  145. reflex/components/radix/themes/components/radio_group.pyi +228 -271
  146. reflex/components/radix/themes/components/scroll_area.py +1 -1
  147. reflex/components/radix/themes/components/scroll_area.pyi +21 -32
  148. reflex/components/radix/themes/components/segmented_control.py +1 -1
  149. reflex/components/radix/themes/components/segmented_control.pyi +90 -113
  150. reflex/components/radix/themes/components/select.py +2 -3
  151. reflex/components/radix/themes/components/select.pyi +374 -471
  152. reflex/components/radix/themes/components/separator.py +1 -2
  153. reflex/components/radix/themes/components/separator.pyi +69 -80
  154. reflex/components/radix/themes/components/skeleton.py +1 -1
  155. reflex/components/radix/themes/components/skeleton.pyi +23 -34
  156. reflex/components/radix/themes/components/slider.py +2 -3
  157. reflex/components/radix/themes/components/slider.pyi +75 -88
  158. reflex/components/radix/themes/components/spinner.py +1 -1
  159. reflex/components/radix/themes/components/spinner.pyi +19 -30
  160. reflex/components/radix/themes/components/switch.py +1 -1
  161. reflex/components/radix/themes/components/switch.pyi +71 -84
  162. reflex/components/radix/themes/components/table.py +1 -1
  163. reflex/components/radix/themes/components/table.pyi +261 -332
  164. reflex/components/radix/themes/components/tabs.py +1 -1
  165. reflex/components/radix/themes/components/tabs.pyi +139 -194
  166. reflex/components/radix/themes/components/text_area.py +1 -1
  167. reflex/components/radix/themes/components/text_area.pyi +96 -111
  168. reflex/components/radix/themes/components/text_field.py +1 -1
  169. reflex/components/radix/themes/components/text_field.pyi +247 -286
  170. reflex/components/radix/themes/components/tooltip.py +1 -1
  171. reflex/components/radix/themes/components/tooltip.pyi +26 -37
  172. reflex/components/radix/themes/layout/__init__.pyi +1 -0
  173. reflex/components/radix/themes/layout/base.py +1 -1
  174. reflex/components/radix/themes/layout/base.pyi +56 -67
  175. reflex/components/radix/themes/layout/box.pyi +34 -45
  176. reflex/components/radix/themes/layout/center.pyi +56 -67
  177. reflex/components/radix/themes/layout/container.py +1 -2
  178. reflex/components/radix/themes/layout/container.pyi +36 -47
  179. reflex/components/radix/themes/layout/flex.py +1 -1
  180. reflex/components/radix/themes/layout/flex.pyi +56 -67
  181. reflex/components/radix/themes/layout/grid.py +1 -1
  182. reflex/components/radix/themes/layout/grid.pyi +64 -75
  183. reflex/components/radix/themes/layout/list.py +5 -6
  184. reflex/components/radix/themes/layout/list.pyi +193 -244
  185. reflex/components/radix/themes/layout/section.py +1 -2
  186. reflex/components/radix/themes/layout/section.pyi +36 -47
  187. reflex/components/radix/themes/layout/spacer.pyi +56 -67
  188. reflex/components/radix/themes/layout/stack.py +1 -1
  189. reflex/components/radix/themes/layout/stack.pyi +128 -159
  190. reflex/components/radix/themes/typography/blockquote.py +1 -1
  191. reflex/components/radix/themes/typography/blockquote.pyi +89 -100
  192. reflex/components/radix/themes/typography/code.py +1 -1
  193. reflex/components/radix/themes/typography/code.pyi +90 -101
  194. reflex/components/radix/themes/typography/heading.py +1 -1
  195. reflex/components/radix/themes/typography/heading.pyi +96 -107
  196. reflex/components/radix/themes/typography/link.py +1 -1
  197. reflex/components/radix/themes/typography/link.pyi +102 -113
  198. reflex/components/radix/themes/typography/text.py +1 -1
  199. reflex/components/radix/themes/typography/text.pyi +501 -572
  200. reflex/components/react_player/audio.pyi +33 -60
  201. reflex/components/react_player/react_player.py +1 -1
  202. reflex/components/react_player/react_player.pyi +33 -60
  203. reflex/components/react_player/video.pyi +33 -60
  204. reflex/components/recharts/cartesian.py +2 -3
  205. reflex/components/recharts/cartesian.pyi +678 -861
  206. reflex/components/recharts/charts.py +4 -5
  207. reflex/components/recharts/charts.pyi +252 -357
  208. reflex/components/recharts/general.py +1 -2
  209. reflex/components/recharts/general.pyi +180 -231
  210. reflex/components/recharts/polar.py +4 -5
  211. reflex/components/recharts/polar.pyi +144 -181
  212. reflex/components/recharts/recharts.pyi +33 -53
  213. reflex/components/sonner/toast.py +16 -17
  214. reflex/components/sonner/toast.pyi +36 -47
  215. reflex/components/suneditor/editor.py +2 -3
  216. reflex/components/suneditor/editor.pyi +55 -78
  217. reflex/components/tags/cond_tag.py +6 -4
  218. reflex/components/tags/iter_tag.py +28 -16
  219. reflex/components/tags/match_tag.py +6 -4
  220. reflex/components/tags/tag.py +40 -23
  221. reflex/custom_components/custom_components.py +3 -1
  222. reflex/event.py +115 -67
  223. reflex/experimental/client_state.py +18 -18
  224. reflex/experimental/hooks.py +16 -16
  225. reflex/experimental/layout.py +5 -5
  226. reflex/experimental/layout.pyi +136 -187
  227. reflex/middleware/hydrate_middleware.py +2 -0
  228. reflex/middleware/middleware.py +3 -3
  229. reflex/state.py +149 -82
  230. reflex/style.py +21 -22
  231. reflex/utils/exceptions.py +20 -0
  232. reflex/utils/format.py +54 -34
  233. reflex/utils/imports.py +16 -73
  234. reflex/utils/prerequisites.py +15 -8
  235. reflex/utils/pyi_generator.py +13 -8
  236. reflex/utils/serializers.py +12 -22
  237. reflex/utils/telemetry.py +3 -2
  238. reflex/utils/types.py +11 -6
  239. reflex/{ivars → vars}/__init__.py +6 -2
  240. reflex/{ivars → vars}/base.py +599 -216
  241. reflex/{ivars → vars}/function.py +15 -19
  242. reflex/{ivars → vars}/number.py +41 -20
  243. reflex/{ivars → vars}/object.py +28 -30
  244. reflex/{ivars → vars}/sequence.py +53 -42
  245. {reflex-0.6.0a1.dist-info → reflex-0.6.0a3.dist-info}/METADATA +4 -6
  246. reflex-0.6.0a3.dist-info/RECORD +382 -0
  247. reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -36
  248. reflex/vars.py +0 -501
  249. reflex-0.6.0a1.dist-info/RECORD +0 -384
  250. {reflex-0.6.0a1.dist-info → reflex-0.6.0a3.dist-info}/LICENSE +0 -0
  251. {reflex-0.6.0a1.dist-info → reflex-0.6.0a3.dist-info}/WHEEL +0 -0
  252. {reflex-0.6.0a1.dist-info → reflex-0.6.0a3.dist-info}/entry_points.txt +0 -0
@@ -3,17 +3,17 @@
3
3
  # ------------------- DO NOT EDIT ----------------------
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
+ import dataclasses
6
7
  from typing import Any, Callable, Dict, Optional, Union, overload
7
8
 
8
- from reflex.base import Base
9
9
  from reflex.components.component import NoSSRComponent
10
10
  from reflex.event import EventHandler, EventSpec
11
- from reflex.ivars.base import ImmutableVar
12
11
  from reflex.style import Style
13
12
  from reflex.utils.imports import ImportDict
14
- from reflex.vars import Var
13
+ from reflex.vars.base import Var
15
14
 
16
- class MomentDelta(Base):
15
+ @dataclasses.dataclass(frozen=True)
16
+ class MomentDelta:
17
17
  years: Optional[int]
18
18
  quarters: Optional[int]
19
19
  months: Optional[int]
@@ -35,8 +35,8 @@ class Moment(NoSSRComponent):
35
35
  format: Optional[Union[Var[str], str]] = None,
36
36
  trim: Optional[Union[Var[bool], bool]] = None,
37
37
  parse: Optional[Union[Var[str], str]] = None,
38
- add: Optional[Union[Var[MomentDelta], MomentDelta]] = None,
39
- subtract: Optional[Union[Var[MomentDelta], MomentDelta]] = None,
38
+ add: Optional[Union[MomentDelta, Var[MomentDelta]]] = None,
39
+ subtract: Optional[Union[MomentDelta, Var[MomentDelta]]] = None,
40
40
  from_now: Optional[Union[Var[bool], bool]] = None,
41
41
  from_now_during: Optional[Union[Var[int], int]] = None,
42
42
  to_now: Optional[Union[Var[bool], bool]] = None,
@@ -56,54 +56,42 @@ class Moment(NoSSRComponent):
56
56
  id: Optional[Any] = None,
57
57
  class_name: Optional[Any] = None,
58
58
  autofocus: Optional[bool] = None,
59
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
60
- on_blur: Optional[
61
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
62
- ] = None,
63
- on_change: Optional[
64
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
65
- ] = None,
66
- on_click: Optional[
67
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
68
- ] = None,
59
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
60
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
61
+ on_change: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
62
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
69
63
  on_context_menu: Optional[
70
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
64
+ Union[EventHandler, EventSpec, list, Callable, Var]
71
65
  ] = None,
72
66
  on_double_click: Optional[
73
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
74
- ] = None,
75
- on_focus: Optional[
76
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
77
- ] = None,
78
- on_mount: Optional[
79
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
67
+ Union[EventHandler, EventSpec, list, Callable, Var]
80
68
  ] = None,
69
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
70
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
81
71
  on_mouse_down: Optional[
82
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
72
+ Union[EventHandler, EventSpec, list, Callable, Var]
83
73
  ] = None,
84
74
  on_mouse_enter: Optional[
85
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
75
+ Union[EventHandler, EventSpec, list, Callable, Var]
86
76
  ] = None,
87
77
  on_mouse_leave: Optional[
88
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
78
+ Union[EventHandler, EventSpec, list, Callable, Var]
89
79
  ] = None,
90
80
  on_mouse_move: Optional[
91
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
81
+ Union[EventHandler, EventSpec, list, Callable, Var]
92
82
  ] = None,
93
83
  on_mouse_out: Optional[
94
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
84
+ Union[EventHandler, EventSpec, list, Callable, Var]
95
85
  ] = None,
96
86
  on_mouse_over: Optional[
97
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
87
+ Union[EventHandler, EventSpec, list, Callable, Var]
98
88
  ] = None,
99
89
  on_mouse_up: Optional[
100
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
101
- ] = None,
102
- on_scroll: Optional[
103
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
90
+ Union[EventHandler, EventSpec, list, Callable, Var]
104
91
  ] = None,
92
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
105
93
  on_unmount: Optional[
106
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
94
+ Union[EventHandler, EventSpec, list, Callable, Var]
107
95
  ] = None,
108
96
  **props,
109
97
  ) -> "Moment":
@@ -7,8 +7,8 @@ from typing import Any, Callable, Dict, Optional, Union, overload
7
7
 
8
8
  from reflex.components.component import Component
9
9
  from reflex.event import EventHandler, EventSpec
10
- from reflex.ivars.base import ImmutableVar
11
10
  from reflex.style import Style
11
+ from reflex.vars.base import Var
12
12
 
13
13
  class NextComponent(Component):
14
14
  ...
@@ -23,51 +23,41 @@ class NextComponent(Component):
23
23
  id: Optional[Any] = None,
24
24
  class_name: Optional[Any] = None,
25
25
  autofocus: Optional[bool] = None,
26
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
27
- on_blur: Optional[
28
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
29
- ] = None,
30
- on_click: Optional[
31
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
32
- ] = None,
26
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
27
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
28
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
33
29
  on_context_menu: Optional[
34
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
30
+ Union[EventHandler, EventSpec, list, Callable, Var]
35
31
  ] = None,
36
32
  on_double_click: Optional[
37
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
38
- ] = None,
39
- on_focus: Optional[
40
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
41
- ] = None,
42
- on_mount: Optional[
43
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
33
+ Union[EventHandler, EventSpec, list, Callable, Var]
44
34
  ] = None,
35
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
36
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
45
37
  on_mouse_down: Optional[
46
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
38
+ Union[EventHandler, EventSpec, list, Callable, Var]
47
39
  ] = None,
48
40
  on_mouse_enter: Optional[
49
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
41
+ Union[EventHandler, EventSpec, list, Callable, Var]
50
42
  ] = None,
51
43
  on_mouse_leave: Optional[
52
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
44
+ Union[EventHandler, EventSpec, list, Callable, Var]
53
45
  ] = None,
54
46
  on_mouse_move: Optional[
55
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
47
+ Union[EventHandler, EventSpec, list, Callable, Var]
56
48
  ] = None,
57
49
  on_mouse_out: Optional[
58
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
50
+ Union[EventHandler, EventSpec, list, Callable, Var]
59
51
  ] = None,
60
52
  on_mouse_over: Optional[
61
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
53
+ Union[EventHandler, EventSpec, list, Callable, Var]
62
54
  ] = None,
63
55
  on_mouse_up: Optional[
64
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
65
- ] = None,
66
- on_scroll: Optional[
67
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
56
+ Union[EventHandler, EventSpec, list, Callable, Var]
68
57
  ] = None,
58
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
69
59
  on_unmount: Optional[
70
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
60
+ Union[EventHandler, EventSpec, list, Callable, Var]
71
61
  ] = None,
72
62
  **props,
73
63
  ) -> "NextComponent":
@@ -4,7 +4,7 @@ from typing import Any, Literal, Optional, Union
4
4
 
5
5
  from reflex.event import EventHandler
6
6
  from reflex.utils import types
7
- from reflex.vars import Var
7
+ from reflex.vars.base import Var
8
8
 
9
9
  from .base import NextComponent
10
10
 
@@ -6,9 +6,8 @@
6
6
  from typing import Any, Callable, Dict, Literal, Optional, Union, overload
7
7
 
8
8
  from reflex.event import EventHandler, EventSpec
9
- from reflex.ivars.base import ImmutableVar
10
9
  from reflex.style import Style
11
- from reflex.vars import Var
10
+ from reflex.vars.base import Var
12
11
 
13
12
  from .base import NextComponent
14
13
 
@@ -20,16 +19,16 @@ class Image(NextComponent):
20
19
  *children,
21
20
  width: Optional[Union[int, str]] = None,
22
21
  height: Optional[Union[int, str]] = None,
23
- src: Optional[Union[Var[Any], Any]] = None,
22
+ src: Optional[Union[Any, Var[Any]]] = None,
24
23
  alt: Optional[Union[Var[str], str]] = None,
25
- loader: Optional[Union[Var[Any], Any]] = None,
24
+ loader: Optional[Union[Any, Var[Any]]] = None,
26
25
  fill: Optional[Union[Var[bool], bool]] = None,
27
26
  sizes: Optional[Union[Var[str], str]] = None,
28
27
  quality: Optional[Union[Var[int], int]] = None,
29
28
  priority: Optional[Union[Var[bool], bool]] = None,
30
29
  placeholder: Optional[Union[Var[str], str]] = None,
31
30
  loading: Optional[
32
- Union[Var[Literal["lazy", "eager"]], Literal["lazy", "eager"]]
31
+ Union[Literal["eager", "lazy"], Var[Literal["eager", "lazy"]]]
33
32
  ] = None,
34
33
  blurDataURL: Optional[Union[Var[str], str]] = None,
35
34
  style: Optional[Style] = None,
@@ -37,57 +36,43 @@ class Image(NextComponent):
37
36
  id: Optional[Any] = None,
38
37
  class_name: Optional[Any] = None,
39
38
  autofocus: Optional[bool] = None,
40
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
41
- on_blur: Optional[
42
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
43
- ] = None,
44
- on_click: Optional[
45
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
46
- ] = None,
39
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
40
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
41
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
47
42
  on_context_menu: Optional[
48
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
43
+ Union[EventHandler, EventSpec, list, Callable, Var]
49
44
  ] = None,
50
45
  on_double_click: Optional[
51
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
52
- ] = None,
53
- on_error: Optional[
54
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
55
- ] = None,
56
- on_focus: Optional[
57
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
58
- ] = None,
59
- on_load: Optional[
60
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
61
- ] = None,
62
- on_mount: Optional[
63
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
46
+ Union[EventHandler, EventSpec, list, Callable, Var]
64
47
  ] = None,
48
+ on_error: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
49
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
50
+ on_load: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
51
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
65
52
  on_mouse_down: Optional[
66
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
53
+ Union[EventHandler, EventSpec, list, Callable, Var]
67
54
  ] = None,
68
55
  on_mouse_enter: Optional[
69
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
56
+ Union[EventHandler, EventSpec, list, Callable, Var]
70
57
  ] = None,
71
58
  on_mouse_leave: Optional[
72
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
59
+ Union[EventHandler, EventSpec, list, Callable, Var]
73
60
  ] = None,
74
61
  on_mouse_move: Optional[
75
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
62
+ Union[EventHandler, EventSpec, list, Callable, Var]
76
63
  ] = None,
77
64
  on_mouse_out: Optional[
78
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
65
+ Union[EventHandler, EventSpec, list, Callable, Var]
79
66
  ] = None,
80
67
  on_mouse_over: Optional[
81
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
68
+ Union[EventHandler, EventSpec, list, Callable, Var]
82
69
  ] = None,
83
70
  on_mouse_up: Optional[
84
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
85
- ] = None,
86
- on_scroll: Optional[
87
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
71
+ Union[EventHandler, EventSpec, list, Callable, Var]
88
72
  ] = None,
73
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
89
74
  on_unmount: Optional[
90
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
75
+ Union[EventHandler, EventSpec, list, Callable, Var]
91
76
  ] = None,
92
77
  **props,
93
78
  ) -> "Image":
@@ -1,7 +1,7 @@
1
1
  """A link component."""
2
2
 
3
3
  from reflex.components.component import Component
4
- from reflex.vars import Var
4
+ from reflex.vars.base import Var
5
5
 
6
6
 
7
7
  class NextLink(Component):
@@ -7,9 +7,8 @@ from typing import Any, Callable, Dict, Optional, Union, overload
7
7
 
8
8
  from reflex.components.component import Component
9
9
  from reflex.event import EventHandler, EventSpec
10
- from reflex.ivars.base import ImmutableVar
11
10
  from reflex.style import Style
12
- from reflex.vars import Var
11
+ from reflex.vars.base import Var
13
12
 
14
13
  class NextLink(Component):
15
14
  @overload
@@ -24,51 +23,41 @@ class NextLink(Component):
24
23
  id: Optional[Any] = None,
25
24
  class_name: Optional[Any] = None,
26
25
  autofocus: Optional[bool] = None,
27
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
28
- on_blur: Optional[
29
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
30
- ] = None,
31
- on_click: Optional[
32
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
33
- ] = None,
26
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
27
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
28
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
34
29
  on_context_menu: Optional[
35
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
30
+ Union[EventHandler, EventSpec, list, Callable, Var]
36
31
  ] = None,
37
32
  on_double_click: Optional[
38
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
39
- ] = None,
40
- on_focus: Optional[
41
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
42
- ] = None,
43
- on_mount: Optional[
44
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
33
+ Union[EventHandler, EventSpec, list, Callable, Var]
45
34
  ] = None,
35
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
36
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
46
37
  on_mouse_down: Optional[
47
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
38
+ Union[EventHandler, EventSpec, list, Callable, Var]
48
39
  ] = None,
49
40
  on_mouse_enter: Optional[
50
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
41
+ Union[EventHandler, EventSpec, list, Callable, Var]
51
42
  ] = None,
52
43
  on_mouse_leave: Optional[
53
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
44
+ Union[EventHandler, EventSpec, list, Callable, Var]
54
45
  ] = None,
55
46
  on_mouse_move: Optional[
56
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
47
+ Union[EventHandler, EventSpec, list, Callable, Var]
57
48
  ] = None,
58
49
  on_mouse_out: Optional[
59
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
50
+ Union[EventHandler, EventSpec, list, Callable, Var]
60
51
  ] = None,
61
52
  on_mouse_over: Optional[
62
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
53
+ Union[EventHandler, EventSpec, list, Callable, Var]
63
54
  ] = None,
64
55
  on_mouse_up: Optional[
65
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
66
- ] = None,
67
- on_scroll: Optional[
68
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
56
+ Union[EventHandler, EventSpec, list, Callable, Var]
69
57
  ] = None,
58
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
70
59
  on_unmount: Optional[
71
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
60
+ Union[EventHandler, EventSpec, list, Callable, Var]
72
61
  ] = None,
73
62
  **props,
74
63
  ) -> "NextLink":
@@ -3,7 +3,7 @@
3
3
  from typing import Optional
4
4
 
5
5
  from reflex.components.component import Component
6
- from reflex.vars import Var
6
+ from reflex.vars.base import Var
7
7
 
8
8
  from .base import NextComponent
9
9
 
@@ -7,9 +7,8 @@ from typing import Any, Callable, Dict, Optional, Union, overload
7
7
 
8
8
  from reflex.components.component import Component
9
9
  from reflex.event import EventHandler, EventSpec
10
- from reflex.ivars.base import ImmutableVar
11
10
  from reflex.style import Style
12
- from reflex.vars import Var
11
+ from reflex.vars.base import Var
13
12
 
14
13
  from .base import NextComponent
15
14
 
@@ -26,51 +25,41 @@ class Video(NextComponent):
26
25
  id: Optional[Any] = None,
27
26
  class_name: Optional[Any] = None,
28
27
  autofocus: Optional[bool] = None,
29
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
30
- on_blur: Optional[
31
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
32
- ] = None,
33
- on_click: Optional[
34
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
35
- ] = None,
28
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
29
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
30
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
36
31
  on_context_menu: Optional[
37
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
32
+ Union[EventHandler, EventSpec, list, Callable, Var]
38
33
  ] = None,
39
34
  on_double_click: Optional[
40
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
41
- ] = None,
42
- on_focus: Optional[
43
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
44
- ] = None,
45
- on_mount: Optional[
46
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
35
+ Union[EventHandler, EventSpec, list, Callable, Var]
47
36
  ] = None,
37
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
38
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
48
39
  on_mouse_down: Optional[
49
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
40
+ Union[EventHandler, EventSpec, list, Callable, Var]
50
41
  ] = None,
51
42
  on_mouse_enter: Optional[
52
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
43
+ Union[EventHandler, EventSpec, list, Callable, Var]
53
44
  ] = None,
54
45
  on_mouse_leave: Optional[
55
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
46
+ Union[EventHandler, EventSpec, list, Callable, Var]
56
47
  ] = None,
57
48
  on_mouse_move: Optional[
58
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
49
+ Union[EventHandler, EventSpec, list, Callable, Var]
59
50
  ] = None,
60
51
  on_mouse_out: Optional[
61
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
52
+ Union[EventHandler, EventSpec, list, Callable, Var]
62
53
  ] = None,
63
54
  on_mouse_over: Optional[
64
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
55
+ Union[EventHandler, EventSpec, list, Callable, Var]
65
56
  ] = None,
66
57
  on_mouse_up: Optional[
67
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
68
- ] = None,
69
- on_scroll: Optional[
70
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
58
+ Union[EventHandler, EventSpec, list, Callable, Var]
71
59
  ] = None,
60
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
72
61
  on_unmount: Optional[
73
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
62
+ Union[EventHandler, EventSpec, list, Callable, Var]
74
63
  ] = None,
75
64
  **props,
76
65
  ) -> "Video":
@@ -8,9 +8,8 @@ from reflex.base import Base
8
8
  from reflex.components.component import Component, NoSSRComponent
9
9
  from reflex.components.core.cond import color_mode_cond
10
10
  from reflex.event import EventHandler
11
- from reflex.ivars.base import ImmutableVar, LiteralVar
12
11
  from reflex.utils import console
13
- from reflex.vars import Var
12
+ from reflex.vars.base import LiteralVar, Var
14
13
 
15
14
  try:
16
15
  from plotly.graph_objects import Figure, layout
@@ -31,7 +30,7 @@ def _event_data_signature(e0: Var) -> List[Any]:
31
30
  Returns:
32
31
  The event key extracted from the event data (if defined).
33
32
  """
34
- return [ImmutableVar.create_safe(f"{e0}?.event")]
33
+ return [Var(_js_expr=f"{e0}?.event")]
35
34
 
36
35
 
37
36
  def _event_points_data_signature(e0: Var) -> List[Any]:
@@ -44,8 +43,8 @@ def _event_points_data_signature(e0: Var) -> List[Any]:
44
43
  The event data and the extracted points.
45
44
  """
46
45
  return [
47
- ImmutableVar.create_safe(f"{e0}?.event"),
48
- ImmutableVar.create_safe(f"extractPoints({e0}?.points)"),
46
+ Var(_js_expr=f"{e0}?.event"),
47
+ Var(_js_expr=f"extractPoints({e0}?.points)"),
49
48
  ]
50
49
 
51
50
 
@@ -102,13 +101,13 @@ class Plotly(NoSSRComponent):
102
101
  is_default = True
103
102
 
104
103
  # The figure to display. This can be a plotly figure or a plotly data json.
105
- data: Var[Figure]
104
+ data: Var[Figure] # type: ignore
106
105
 
107
106
  # The layout of the graph.
108
107
  layout: Var[Dict]
109
108
 
110
109
  # The template for visual appearance of the graph.
111
- template: Var[Template]
110
+ template: Var[Template] # type: ignore
112
111
 
113
112
  # The config of the graph.
114
113
  config: Var[Dict]
@@ -243,7 +242,7 @@ const extractPoints = (points) => {
243
242
  light=LiteralVar.create(templates["plotly"]),
244
243
  dark=LiteralVar.create(templates["plotly_dark"]),
245
244
  )
246
- if isinstance(responsive_template, ImmutableVar):
245
+ if isinstance(responsive_template, Var):
247
246
  # Mark the conditional Var as a Template to avoid type mismatch
248
247
  responsive_template = responsive_template.to(Template)
249
248
  props.setdefault("template", responsive_template)
@@ -255,7 +254,7 @@ const extractPoints = (points) => {
255
254
 
256
255
  def _render(self):
257
256
  tag = super()._render()
258
- figure = self.data.upcast().to(dict)
257
+ figure = self.data.to(dict)
259
258
  merge_dicts = [] # Data will be merged and spread from these dict Vars
260
259
  if self.layout is not None:
261
260
  # Why is this not a literal dict? Great question... it didn't work
@@ -267,14 +266,14 @@ const extractPoints = (points) => {
267
266
  template_dict = LiteralVar.create({"layout": {"template": self.template}})
268
267
  merge_dicts.append(template_dict.without_data())
269
268
  if merge_dicts:
270
- tag.special_props.add(
269
+ tag.special_props.append(
271
270
  # Merge all dictionaries and spread the result over props.
272
- ImmutableVar.create_safe(
273
- f"{{...mergician({str(figure)},"
271
+ Var(
272
+ _js_expr=f"{{...mergician({str(figure)},"
274
273
  f"{','.join(str(md) for md in merge_dicts)})}}",
275
274
  ),
276
275
  )
277
276
  else:
278
277
  # Spread the figure dict over props, nothing to merge.
279
- tag.special_props.add(ImmutableVar.create_safe(f"{{...{str(figure)}}}"))
278
+ tag.special_props.append(Var(_js_expr=f"{{...{str(figure)}}}"))
280
279
  return tag