reflex 0.6.0a1__py3-none-any.whl → 0.6.0a2__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 (249) hide show
  1. reflex/.templates/jinja/web/pages/_app.js.jinja2 +1 -1
  2. reflex/.templates/jinja/web/pages/utils.js.jinja2 +2 -2
  3. reflex/__init__.py +8 -2
  4. reflex/__init__.pyi +2 -1
  5. reflex/app.py +4 -2
  6. reflex/base.py +1 -1
  7. reflex/compiler/compiler.py +2 -2
  8. reflex/compiler/utils.py +3 -3
  9. reflex/components/base/app_wrap.py +2 -2
  10. reflex/components/base/app_wrap.pyi +17 -27
  11. reflex/components/base/bare.py +4 -5
  12. reflex/components/base/body.pyi +17 -27
  13. reflex/components/base/document.pyi +81 -131
  14. reflex/components/base/error_boundary.py +6 -7
  15. reflex/components/base/error_boundary.pyi +20 -33
  16. reflex/components/base/fragment.pyi +17 -27
  17. reflex/components/base/head.pyi +33 -53
  18. reflex/components/base/link.py +1 -1
  19. reflex/components/base/link.pyi +33 -54
  20. reflex/components/base/meta.pyi +65 -105
  21. reflex/components/base/script.py +1 -2
  22. reflex/components/base/script.pyi +21 -38
  23. reflex/components/component.py +48 -47
  24. reflex/components/core/banner.py +23 -27
  25. reflex/components/core/banner.pyi +134 -171
  26. reflex/components/core/client_side_routing.py +2 -3
  27. reflex/components/core/client_side_routing.pyi +33 -54
  28. reflex/components/core/clipboard.py +2 -1
  29. reflex/components/core/clipboard.pyi +20 -33
  30. reflex/components/core/cond.py +5 -5
  31. reflex/components/core/debounce.py +5 -5
  32. reflex/components/core/debounce.pyi +20 -33
  33. reflex/components/core/foreach.py +3 -4
  34. reflex/components/core/html.py +1 -1
  35. reflex/components/core/html.pyi +35 -46
  36. reflex/components/core/match.py +17 -17
  37. reflex/components/core/upload.py +17 -23
  38. reflex/components/core/upload.pyi +78 -124
  39. reflex/components/datadisplay/code.py +9 -10
  40. reflex/components/datadisplay/code.pyi +302 -412
  41. reflex/components/datadisplay/dataeditor.py +8 -10
  42. reflex/components/datadisplay/dataeditor.pyi +40 -53
  43. reflex/components/el/element.pyi +17 -27
  44. reflex/components/el/elements/base.py +1 -1
  45. reflex/components/el/elements/base.pyi +34 -45
  46. reflex/components/el/elements/forms.py +16 -16
  47. reflex/components/el/elements/forms.pyi +554 -707
  48. reflex/components/el/elements/inline.py +1 -1
  49. reflex/components/el/elements/inline.pyi +937 -1218
  50. reflex/components/el/elements/media.py +1 -1
  51. reflex/components/el/elements/media.pyi +786 -997
  52. reflex/components/el/elements/metadata.py +3 -6
  53. reflex/components/el/elements/metadata.pyi +181 -242
  54. reflex/components/el/elements/other.py +1 -1
  55. reflex/components/el/elements/other.pyi +235 -306
  56. reflex/components/el/elements/scripts.py +1 -1
  57. reflex/components/el/elements/scripts.pyi +109 -140
  58. reflex/components/el/elements/sectioning.py +0 -2
  59. reflex/components/el/elements/sectioning.pyi +496 -647
  60. reflex/components/el/elements/tables.py +1 -1
  61. reflex/components/el/elements/tables.pyi +351 -452
  62. reflex/components/el/elements/typography.py +1 -1
  63. reflex/components/el/elements/typography.pyi +506 -657
  64. reflex/components/gridjs/datatable.py +6 -9
  65. reflex/components/gridjs/datatable.pyi +35 -56
  66. reflex/components/lucide/icon.py +1 -1
  67. reflex/components/lucide/icon.pyi +33 -54
  68. reflex/components/markdown/markdown.py +26 -31
  69. reflex/components/markdown/markdown.pyi +27 -37
  70. reflex/components/moment/moment.py +13 -12
  71. reflex/components/moment/moment.pyi +23 -35
  72. reflex/components/next/base.pyi +17 -27
  73. reflex/components/next/image.py +1 -1
  74. reflex/components/next/image.pyi +22 -37
  75. reflex/components/next/link.py +1 -1
  76. reflex/components/next/link.pyi +17 -28
  77. reflex/components/next/video.py +1 -1
  78. reflex/components/next/video.pyi +17 -28
  79. reflex/components/plotly/plotly.py +12 -13
  80. reflex/components/plotly/plotly.pyi +39 -54
  81. reflex/components/props.py +1 -1
  82. reflex/components/radix/__init__.pyi +1 -0
  83. reflex/components/radix/primitives/__init__.pyi +1 -0
  84. reflex/components/radix/primitives/accordion.py +4 -4
  85. reflex/components/radix/primitives/accordion.pyi +424 -495
  86. reflex/components/radix/primitives/base.py +1 -1
  87. reflex/components/radix/primitives/base.pyi +33 -54
  88. reflex/components/radix/primitives/drawer.py +1 -1
  89. reflex/components/radix/primitives/drawer.pyi +172 -273
  90. reflex/components/radix/primitives/form.py +1 -1
  91. reflex/components/radix/primitives/form.pyi +257 -364
  92. reflex/components/radix/primitives/progress.py +1 -1
  93. reflex/components/radix/primitives/progress.pyi +231 -282
  94. reflex/components/radix/primitives/slider.py +1 -1
  95. reflex/components/radix/primitives/slider.pyi +87 -138
  96. reflex/components/radix/themes/base.py +3 -24
  97. reflex/components/radix/themes/base.pyi +178 -250
  98. reflex/components/radix/themes/color_mode.py +5 -5
  99. reflex/components/radix/themes/color_mode.pyi +187 -220
  100. reflex/components/radix/themes/components/alert_dialog.py +1 -1
  101. reflex/components/radix/themes/components/alert_dialog.pyi +136 -207
  102. reflex/components/radix/themes/components/aspect_ratio.py +1 -1
  103. reflex/components/radix/themes/components/aspect_ratio.pyi +17 -28
  104. reflex/components/radix/themes/components/avatar.py +1 -1
  105. reflex/components/radix/themes/components/avatar.pyi +70 -81
  106. reflex/components/radix/themes/components/badge.py +1 -1
  107. reflex/components/radix/themes/components/badge.pyi +88 -99
  108. reflex/components/radix/themes/components/button.py +1 -1
  109. reflex/components/radix/themes/components/button.pyi +98 -109
  110. reflex/components/radix/themes/components/callout.py +1 -1
  111. reflex/components/radix/themes/components/callout.pyi +322 -373
  112. reflex/components/radix/themes/components/card.py +1 -1
  113. reflex/components/radix/themes/components/card.pyi +38 -49
  114. reflex/components/radix/themes/components/checkbox.py +1 -2
  115. reflex/components/radix/themes/components/checkbox.pyi +208 -245
  116. reflex/components/radix/themes/components/checkbox_cards.py +1 -1
  117. reflex/components/radix/themes/components/checkbox_cards.pyi +94 -115
  118. reflex/components/radix/themes/components/checkbox_group.py +1 -1
  119. reflex/components/radix/themes/components/checkbox_group.pyi +86 -107
  120. reflex/components/radix/themes/components/context_menu.py +1 -1
  121. reflex/components/radix/themes/components/context_menu.pyi +238 -319
  122. reflex/components/radix/themes/components/data_list.py +1 -1
  123. reflex/components/radix/themes/components/data_list.pyi +130 -171
  124. reflex/components/radix/themes/components/dialog.py +1 -1
  125. reflex/components/radix/themes/components/dialog.pyi +139 -210
  126. reflex/components/radix/themes/components/dropdown_menu.py +1 -1
  127. reflex/components/radix/themes/components/dropdown_menu.pyi +249 -332
  128. reflex/components/radix/themes/components/hover_card.py +1 -1
  129. reflex/components/radix/themes/components/hover_card.pyi +90 -131
  130. reflex/components/radix/themes/components/icon_button.py +2 -3
  131. reflex/components/radix/themes/components/icon_button.pyi +98 -109
  132. reflex/components/radix/themes/components/inset.py +1 -1
  133. reflex/components/radix/themes/components/inset.pyi +47 -58
  134. reflex/components/radix/themes/components/popover.py +1 -1
  135. reflex/components/radix/themes/components/popover.pyi +95 -136
  136. reflex/components/radix/themes/components/progress.py +1 -1
  137. reflex/components/radix/themes/components/progress.pyi +71 -82
  138. reflex/components/radix/themes/components/radio.py +1 -1
  139. reflex/components/radix/themes/components/radio.pyi +69 -80
  140. reflex/components/radix/themes/components/radio_cards.py +1 -1
  141. reflex/components/radix/themes/components/radio_cards.pyi +98 -119
  142. reflex/components/radix/themes/components/radio_group.py +8 -11
  143. reflex/components/radix/themes/components/radio_group.pyi +228 -271
  144. reflex/components/radix/themes/components/scroll_area.py +1 -1
  145. reflex/components/radix/themes/components/scroll_area.pyi +21 -32
  146. reflex/components/radix/themes/components/segmented_control.py +1 -1
  147. reflex/components/radix/themes/components/segmented_control.pyi +90 -113
  148. reflex/components/radix/themes/components/select.py +2 -3
  149. reflex/components/radix/themes/components/select.pyi +374 -471
  150. reflex/components/radix/themes/components/separator.py +1 -2
  151. reflex/components/radix/themes/components/separator.pyi +69 -80
  152. reflex/components/radix/themes/components/skeleton.py +1 -1
  153. reflex/components/radix/themes/components/skeleton.pyi +23 -34
  154. reflex/components/radix/themes/components/slider.py +2 -3
  155. reflex/components/radix/themes/components/slider.pyi +75 -88
  156. reflex/components/radix/themes/components/spinner.py +1 -1
  157. reflex/components/radix/themes/components/spinner.pyi +19 -30
  158. reflex/components/radix/themes/components/switch.py +1 -1
  159. reflex/components/radix/themes/components/switch.pyi +71 -84
  160. reflex/components/radix/themes/components/table.py +1 -1
  161. reflex/components/radix/themes/components/table.pyi +261 -332
  162. reflex/components/radix/themes/components/tabs.py +1 -1
  163. reflex/components/radix/themes/components/tabs.pyi +139 -194
  164. reflex/components/radix/themes/components/text_area.py +1 -1
  165. reflex/components/radix/themes/components/text_area.pyi +96 -111
  166. reflex/components/radix/themes/components/text_field.py +1 -1
  167. reflex/components/radix/themes/components/text_field.pyi +247 -286
  168. reflex/components/radix/themes/components/tooltip.py +1 -1
  169. reflex/components/radix/themes/components/tooltip.pyi +26 -37
  170. reflex/components/radix/themes/layout/__init__.pyi +1 -0
  171. reflex/components/radix/themes/layout/base.py +1 -1
  172. reflex/components/radix/themes/layout/base.pyi +56 -67
  173. reflex/components/radix/themes/layout/box.pyi +34 -45
  174. reflex/components/radix/themes/layout/center.pyi +56 -67
  175. reflex/components/radix/themes/layout/container.py +1 -2
  176. reflex/components/radix/themes/layout/container.pyi +36 -47
  177. reflex/components/radix/themes/layout/flex.py +1 -1
  178. reflex/components/radix/themes/layout/flex.pyi +56 -67
  179. reflex/components/radix/themes/layout/grid.py +1 -1
  180. reflex/components/radix/themes/layout/grid.pyi +64 -75
  181. reflex/components/radix/themes/layout/list.py +5 -6
  182. reflex/components/radix/themes/layout/list.pyi +193 -244
  183. reflex/components/radix/themes/layout/section.py +1 -2
  184. reflex/components/radix/themes/layout/section.pyi +36 -47
  185. reflex/components/radix/themes/layout/spacer.pyi +56 -67
  186. reflex/components/radix/themes/layout/stack.py +1 -1
  187. reflex/components/radix/themes/layout/stack.pyi +128 -159
  188. reflex/components/radix/themes/typography/blockquote.py +1 -1
  189. reflex/components/radix/themes/typography/blockquote.pyi +89 -100
  190. reflex/components/radix/themes/typography/code.py +1 -1
  191. reflex/components/radix/themes/typography/code.pyi +90 -101
  192. reflex/components/radix/themes/typography/heading.py +1 -1
  193. reflex/components/radix/themes/typography/heading.pyi +96 -107
  194. reflex/components/radix/themes/typography/link.py +1 -1
  195. reflex/components/radix/themes/typography/link.pyi +102 -113
  196. reflex/components/radix/themes/typography/text.py +1 -1
  197. reflex/components/radix/themes/typography/text.pyi +501 -572
  198. reflex/components/react_player/audio.pyi +33 -60
  199. reflex/components/react_player/react_player.py +1 -1
  200. reflex/components/react_player/react_player.pyi +33 -60
  201. reflex/components/react_player/video.pyi +33 -60
  202. reflex/components/recharts/cartesian.py +2 -3
  203. reflex/components/recharts/cartesian.pyi +678 -861
  204. reflex/components/recharts/charts.py +4 -5
  205. reflex/components/recharts/charts.pyi +252 -357
  206. reflex/components/recharts/general.py +1 -2
  207. reflex/components/recharts/general.pyi +180 -231
  208. reflex/components/recharts/polar.py +4 -5
  209. reflex/components/recharts/polar.pyi +144 -181
  210. reflex/components/recharts/recharts.pyi +33 -53
  211. reflex/components/sonner/toast.py +16 -17
  212. reflex/components/sonner/toast.pyi +36 -47
  213. reflex/components/suneditor/editor.py +2 -3
  214. reflex/components/suneditor/editor.pyi +55 -78
  215. reflex/components/tags/cond_tag.py +6 -4
  216. reflex/components/tags/iter_tag.py +28 -16
  217. reflex/components/tags/match_tag.py +6 -4
  218. reflex/components/tags/tag.py +40 -23
  219. reflex/event.py +113 -65
  220. reflex/experimental/client_state.py +18 -18
  221. reflex/experimental/hooks.py +16 -16
  222. reflex/experimental/layout.py +5 -5
  223. reflex/experimental/layout.pyi +136 -187
  224. reflex/middleware/hydrate_middleware.py +2 -0
  225. reflex/middleware/middleware.py +3 -3
  226. reflex/state.py +148 -82
  227. reflex/style.py +21 -22
  228. reflex/utils/exceptions.py +16 -0
  229. reflex/utils/format.py +22 -34
  230. reflex/utils/imports.py +16 -73
  231. reflex/utils/prerequisites.py +15 -8
  232. reflex/utils/pyi_generator.py +13 -8
  233. reflex/utils/serializers.py +12 -22
  234. reflex/utils/telemetry.py +2 -1
  235. reflex/utils/types.py +10 -5
  236. reflex/{ivars → vars}/__init__.py +6 -2
  237. reflex/{ivars → vars}/base.py +567 -206
  238. reflex/{ivars → vars}/function.py +15 -19
  239. reflex/{ivars → vars}/number.py +16 -18
  240. reflex/{ivars → vars}/object.py +28 -30
  241. reflex/{ivars → vars}/sequence.py +53 -42
  242. {reflex-0.6.0a1.dist-info → reflex-0.6.0a2.dist-info}/METADATA +2 -2
  243. reflex-0.6.0a2.dist-info/RECORD +382 -0
  244. reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -36
  245. reflex/vars.py +0 -501
  246. reflex-0.6.0a1.dist-info/RECORD +0 -384
  247. {reflex-0.6.0a1.dist-info → reflex-0.6.0a2.dist-info}/LICENSE +0 -0
  248. {reflex-0.6.0a1.dist-info → reflex-0.6.0a2.dist-info}/WHEEL +0 -0
  249. {reflex-0.6.0a1.dist-info → reflex-0.6.0a2.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