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
@@ -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(