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
@@ -13,25 +13,25 @@ from reflex.event import (
13
13
  EventHandler,
14
14
  EventSpec,
15
15
  )
16
- from reflex.ivars.base import ImmutableCallableVar, ImmutableVar
17
16
  from reflex.style import Style
18
17
  from reflex.utils.imports import ImportVar
19
- from reflex.vars import Var, VarData
18
+ from reflex.vars import VarData
19
+ from reflex.vars.base import CallableVar, Var
20
20
 
21
21
  DEFAULT_UPLOAD_ID: str
22
22
  upload_files_context_var_data: VarData
23
23
 
24
- @ImmutableCallableVar
25
- def upload_file(id_: str = DEFAULT_UPLOAD_ID) -> ImmutableVar: ...
26
- @ImmutableCallableVar
27
- def selected_files(id_: str = DEFAULT_UPLOAD_ID) -> ImmutableVar: ...
24
+ @CallableVar
25
+ def upload_file(id_: str = DEFAULT_UPLOAD_ID) -> Var: ...
26
+ @CallableVar
27
+ def selected_files(id_: str = DEFAULT_UPLOAD_ID) -> Var: ...
28
28
  @CallableEventSpec
29
29
  def clear_selected_files(id_: str = DEFAULT_UPLOAD_ID) -> EventSpec: ...
30
30
  def cancel_upload(upload_id: str) -> EventSpec: ...
31
31
  def get_upload_dir() -> Path: ...
32
32
 
33
- uploaded_files_url_prefix = ImmutableVar(
34
- _var_name="getBackendURL(env.UPLOAD)",
33
+ uploaded_files_url_prefix = Var(
34
+ _js_expr="getBackendURL(env.UPLOAD)",
35
35
  _var_data=VarData(
36
36
  imports={
37
37
  f"/{Dirs.STATE_PATH}": "getBackendURL",
@@ -53,51 +53,41 @@ class UploadFilesProvider(Component):
53
53
  id: Optional[Any] = None,
54
54
  class_name: Optional[Any] = None,
55
55
  autofocus: Optional[bool] = None,
56
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
57
- on_blur: Optional[
58
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
59
- ] = None,
60
- on_click: Optional[
61
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
62
- ] = None,
56
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
57
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
58
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
63
59
  on_context_menu: Optional[
64
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
60
+ Union[EventHandler, EventSpec, list, Callable, Var]
65
61
  ] = None,
66
62
  on_double_click: Optional[
67
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
68
- ] = None,
69
- on_focus: Optional[
70
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
71
- ] = None,
72
- on_mount: Optional[
73
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
63
+ Union[EventHandler, EventSpec, list, Callable, Var]
74
64
  ] = None,
65
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
66
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
75
67
  on_mouse_down: Optional[
76
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
68
+ Union[EventHandler, EventSpec, list, Callable, Var]
77
69
  ] = None,
78
70
  on_mouse_enter: Optional[
79
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
71
+ Union[EventHandler, EventSpec, list, Callable, Var]
80
72
  ] = None,
81
73
  on_mouse_leave: Optional[
82
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
74
+ Union[EventHandler, EventSpec, list, Callable, Var]
83
75
  ] = None,
84
76
  on_mouse_move: Optional[
85
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
77
+ Union[EventHandler, EventSpec, list, Callable, Var]
86
78
  ] = None,
87
79
  on_mouse_out: Optional[
88
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
80
+ Union[EventHandler, EventSpec, list, Callable, Var]
89
81
  ] = None,
90
82
  on_mouse_over: Optional[
91
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
83
+ Union[EventHandler, EventSpec, list, Callable, Var]
92
84
  ] = None,
93
85
  on_mouse_up: Optional[
94
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
95
- ] = None,
96
- on_scroll: Optional[
97
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
86
+ Union[EventHandler, EventSpec, list, Callable, Var]
98
87
  ] = None,
88
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
99
89
  on_unmount: Optional[
100
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
90
+ Union[EventHandler, EventSpec, list, Callable, Var]
101
91
  ] = None,
102
92
  **props,
103
93
  ) -> "UploadFilesProvider":
@@ -126,7 +116,7 @@ class Upload(MemoizationLeaf):
126
116
  def create( # type: ignore
127
117
  cls,
128
118
  *children,
129
- accept: Optional[Union[Var[Optional[Dict[str, List]]], Dict[str, List]]] = None,
119
+ accept: Optional[Union[Dict[str, List], Var[Optional[Dict[str, List]]]]] = None,
130
120
  disabled: Optional[Union[Var[bool], bool]] = None,
131
121
  max_files: Optional[Union[Var[int], int]] = None,
132
122
  max_size: Optional[Union[Var[int], int]] = None,
@@ -140,54 +130,42 @@ class Upload(MemoizationLeaf):
140
130
  id: Optional[Any] = None,
141
131
  class_name: Optional[Any] = None,
142
132
  autofocus: Optional[bool] = None,
143
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
144
- on_blur: Optional[
145
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
146
- ] = None,
147
- on_click: Optional[
148
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
149
- ] = None,
133
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
134
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
135
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
150
136
  on_context_menu: Optional[
151
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
137
+ Union[EventHandler, EventSpec, list, Callable, Var]
152
138
  ] = None,
153
139
  on_double_click: Optional[
154
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
155
- ] = None,
156
- on_drop: Optional[
157
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
158
- ] = None,
159
- on_focus: Optional[
160
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
161
- ] = None,
162
- on_mount: Optional[
163
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
140
+ Union[EventHandler, EventSpec, list, Callable, Var]
164
141
  ] = None,
142
+ on_drop: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
143
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
144
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
165
145
  on_mouse_down: Optional[
166
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
146
+ Union[EventHandler, EventSpec, list, Callable, Var]
167
147
  ] = None,
168
148
  on_mouse_enter: Optional[
169
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
149
+ Union[EventHandler, EventSpec, list, Callable, Var]
170
150
  ] = None,
171
151
  on_mouse_leave: Optional[
172
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
152
+ Union[EventHandler, EventSpec, list, Callable, Var]
173
153
  ] = None,
174
154
  on_mouse_move: Optional[
175
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
155
+ Union[EventHandler, EventSpec, list, Callable, Var]
176
156
  ] = None,
177
157
  on_mouse_out: Optional[
178
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
158
+ Union[EventHandler, EventSpec, list, Callable, Var]
179
159
  ] = None,
180
160
  on_mouse_over: Optional[
181
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
161
+ Union[EventHandler, EventSpec, list, Callable, Var]
182
162
  ] = None,
183
163
  on_mouse_up: Optional[
184
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
185
- ] = None,
186
- on_scroll: Optional[
187
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
164
+ Union[EventHandler, EventSpec, list, Callable, Var]
188
165
  ] = None,
166
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
189
167
  on_unmount: Optional[
190
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
168
+ Union[EventHandler, EventSpec, list, Callable, Var]
191
169
  ] = None,
192
170
  **props,
193
171
  ) -> "Upload":
@@ -223,7 +201,7 @@ class StyledUpload(Upload):
223
201
  def create( # type: ignore
224
202
  cls,
225
203
  *children,
226
- accept: Optional[Union[Var[Optional[Dict[str, List]]], Dict[str, List]]] = None,
204
+ accept: Optional[Union[Dict[str, List], Var[Optional[Dict[str, List]]]]] = None,
227
205
  disabled: Optional[Union[Var[bool], bool]] = None,
228
206
  max_files: Optional[Union[Var[int], int]] = None,
229
207
  max_size: Optional[Union[Var[int], int]] = None,
@@ -237,54 +215,42 @@ class StyledUpload(Upload):
237
215
  id: Optional[Any] = None,
238
216
  class_name: Optional[Any] = None,
239
217
  autofocus: Optional[bool] = None,
240
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
241
- on_blur: Optional[
242
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
243
- ] = None,
244
- on_click: Optional[
245
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
246
- ] = None,
218
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
219
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
220
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
247
221
  on_context_menu: Optional[
248
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
222
+ Union[EventHandler, EventSpec, list, Callable, Var]
249
223
  ] = None,
250
224
  on_double_click: Optional[
251
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
252
- ] = None,
253
- on_drop: Optional[
254
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
255
- ] = None,
256
- on_focus: Optional[
257
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
258
- ] = None,
259
- on_mount: Optional[
260
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
225
+ Union[EventHandler, EventSpec, list, Callable, Var]
261
226
  ] = None,
227
+ on_drop: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
228
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
229
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
262
230
  on_mouse_down: Optional[
263
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
231
+ Union[EventHandler, EventSpec, list, Callable, Var]
264
232
  ] = None,
265
233
  on_mouse_enter: Optional[
266
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
234
+ Union[EventHandler, EventSpec, list, Callable, Var]
267
235
  ] = None,
268
236
  on_mouse_leave: Optional[
269
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
237
+ Union[EventHandler, EventSpec, list, Callable, Var]
270
238
  ] = None,
271
239
  on_mouse_move: Optional[
272
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
240
+ Union[EventHandler, EventSpec, list, Callable, Var]
273
241
  ] = None,
274
242
  on_mouse_out: Optional[
275
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
243
+ Union[EventHandler, EventSpec, list, Callable, Var]
276
244
  ] = None,
277
245
  on_mouse_over: Optional[
278
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
246
+ Union[EventHandler, EventSpec, list, Callable, Var]
279
247
  ] = None,
280
248
  on_mouse_up: Optional[
281
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
282
- ] = None,
283
- on_scroll: Optional[
284
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
249
+ Union[EventHandler, EventSpec, list, Callable, Var]
285
250
  ] = None,
251
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
286
252
  on_unmount: Optional[
287
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
253
+ Union[EventHandler, EventSpec, list, Callable, Var]
288
254
  ] = None,
289
255
  **props,
290
256
  ) -> "StyledUpload":
@@ -320,7 +286,7 @@ class UploadNamespace(ComponentNamespace):
320
286
  @staticmethod
321
287
  def __call__(
322
288
  *children,
323
- accept: Optional[Union[Var[Optional[Dict[str, List]]], Dict[str, List]]] = None,
289
+ accept: Optional[Union[Dict[str, List], Var[Optional[Dict[str, List]]]]] = None,
324
290
  disabled: Optional[Union[Var[bool], bool]] = None,
325
291
  max_files: Optional[Union[Var[int], int]] = None,
326
292
  max_size: Optional[Union[Var[int], int]] = None,
@@ -334,54 +300,42 @@ class UploadNamespace(ComponentNamespace):
334
300
  id: Optional[Any] = None,
335
301
  class_name: Optional[Any] = None,
336
302
  autofocus: Optional[bool] = None,
337
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
338
- on_blur: Optional[
339
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
340
- ] = None,
341
- on_click: Optional[
342
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
343
- ] = None,
303
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
304
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
305
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
344
306
  on_context_menu: Optional[
345
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
307
+ Union[EventHandler, EventSpec, list, Callable, Var]
346
308
  ] = None,
347
309
  on_double_click: Optional[
348
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
349
- ] = None,
350
- on_drop: Optional[
351
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
352
- ] = None,
353
- on_focus: Optional[
354
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
355
- ] = None,
356
- on_mount: Optional[
357
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
310
+ Union[EventHandler, EventSpec, list, Callable, Var]
358
311
  ] = None,
312
+ on_drop: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
313
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
314
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
359
315
  on_mouse_down: Optional[
360
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
316
+ Union[EventHandler, EventSpec, list, Callable, Var]
361
317
  ] = None,
362
318
  on_mouse_enter: Optional[
363
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
319
+ Union[EventHandler, EventSpec, list, Callable, Var]
364
320
  ] = None,
365
321
  on_mouse_leave: Optional[
366
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
322
+ Union[EventHandler, EventSpec, list, Callable, Var]
367
323
  ] = None,
368
324
  on_mouse_move: Optional[
369
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
325
+ Union[EventHandler, EventSpec, list, Callable, Var]
370
326
  ] = None,
371
327
  on_mouse_out: Optional[
372
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
328
+ Union[EventHandler, EventSpec, list, Callable, Var]
373
329
  ] = None,
374
330
  on_mouse_over: Optional[
375
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
331
+ Union[EventHandler, EventSpec, list, Callable, Var]
376
332
  ] = None,
377
333
  on_mouse_up: Optional[
378
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
379
- ] = None,
380
- on_scroll: Optional[
381
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
334
+ Union[EventHandler, EventSpec, list, Callable, Var]
382
335
  ] = None,
336
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
383
337
  on_unmount: Optional[
384
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
338
+ Union[EventHandler, EventSpec, list, Callable, Var]
385
339
  ] = None,
386
340
  **props,
387
341
  ) -> "StyledUpload":
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, Literal, Optional, Union
5
+ from typing import Any, Dict, Literal, Optional, Union
6
6
 
7
7
  from typing_extensions import get_args
8
8
 
@@ -13,11 +13,10 @@ from reflex.components.radix.themes.components.button import Button
13
13
  from reflex.components.radix.themes.layout.box import Box
14
14
  from reflex.constants.colors import Color
15
15
  from reflex.event import set_clipboard
16
- from reflex.ivars.base import ImmutableVar, LiteralVar
17
16
  from reflex.style import Style
18
17
  from reflex.utils import format
19
18
  from reflex.utils.imports import ImportDict, ImportVar
20
- from reflex.vars import Var
19
+ from reflex.vars.base import LiteralVar, Var
21
20
 
22
21
  LiteralCodeBlockTheme = Literal[
23
22
  "a11y-dark",
@@ -375,7 +374,7 @@ class CodeBlock(Component):
375
374
  alias = "SyntaxHighlighter"
376
375
 
377
376
  # The theme to use ("light" or "dark").
378
- theme: Var[LiteralCodeBlockTheme] = "one-light" # type: ignore
377
+ theme: Var[Any] = "one-light" # type: ignore
379
378
 
380
379
  # The language to use.
381
380
  language: Var[LiteralCodeLanguage] = "python" # type: ignore
@@ -481,13 +480,13 @@ class CodeBlock(Component):
481
480
  if "theme" not in props:
482
481
  # Default color scheme responds to global color mode.
483
482
  props["theme"] = color_mode_cond(
484
- light=ImmutableVar.create_safe("oneLight"),
485
- dark=ImmutableVar.create_safe("oneDark"),
483
+ light=Var(_js_expr="oneLight"),
484
+ dark=Var(_js_expr="oneDark"),
486
485
  )
487
486
 
488
487
  # react-syntax-highlighter doesnt have an explicit "light" or "dark" theme so we use one-light and one-dark
489
488
  # themes respectively to ensure code compatibility.
490
- if "theme" in props and not isinstance(props["theme"], ImmutableVar):
489
+ if "theme" in props and not isinstance(props["theme"], Var):
491
490
  props["theme"] = cls.convert_theme_name(props["theme"])
492
491
 
493
492
  if can_copy:
@@ -513,7 +512,7 @@ class CodeBlock(Component):
513
512
  # Carry the children (code) via props
514
513
  if children:
515
514
  props["code"] = children[0]
516
- if not isinstance(props["code"], ImmutableVar):
515
+ if not isinstance(props["code"], Var):
517
516
  props["code"] = LiteralVar.create(props["code"])
518
517
 
519
518
  # Create the component.
@@ -534,8 +533,8 @@ class CodeBlock(Component):
534
533
  def _render(self):
535
534
  out = super()._render()
536
535
 
537
- theme = self.theme.upcast()._replace(
538
- _var_name=replace_quotes_with_camel_case(str(self.theme))
536
+ theme = self.theme._replace(
537
+ _js_expr=replace_quotes_with_camel_case(str(self.theme))
539
538
  )
540
539
 
541
540
  out.add_props(style=theme).remove_props("theme", "code").add_props(