reflex 0.5.10a3__py3-none-any.whl → 0.6.0a1__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 (237) hide show
  1. reflex/.templates/jinja/web/pages/utils.js.jinja2 +4 -4
  2. reflex/.templates/jinja/web/utils/context.js.jinja2 +1 -1
  3. reflex/.templates/jinja/web/utils/theme.js.jinja2 +1 -1
  4. reflex/__init__.py +3 -2
  5. reflex/__init__.pyi +2 -2
  6. reflex/app.py +43 -9
  7. reflex/base.py +3 -2
  8. reflex/compiler/compiler.py +6 -6
  9. reflex/compiler/utils.py +5 -3
  10. reflex/components/base/app_wrap.py +2 -4
  11. reflex/components/base/app_wrap.pyi +17 -17
  12. reflex/components/base/bare.py +7 -4
  13. reflex/components/base/body.pyi +17 -17
  14. reflex/components/base/document.pyi +81 -81
  15. reflex/components/base/error_boundary.py +10 -8
  16. reflex/components/base/error_boundary.pyi +20 -19
  17. reflex/components/base/fragment.pyi +17 -17
  18. reflex/components/base/head.pyi +33 -33
  19. reflex/components/base/link.pyi +34 -33
  20. reflex/components/base/meta.pyi +65 -65
  21. reflex/components/base/script.py +2 -1
  22. reflex/components/base/script.pyi +21 -20
  23. reflex/components/component.py +116 -145
  24. reflex/components/core/banner.py +59 -60
  25. reflex/components/core/banner.pyi +86 -150
  26. reflex/components/core/client_side_routing.py +2 -1
  27. reflex/components/core/client_side_routing.pyi +34 -33
  28. reflex/components/core/clipboard.py +2 -2
  29. reflex/components/core/clipboard.pyi +19 -18
  30. reflex/components/core/cond.py +21 -44
  31. reflex/components/core/debounce.py +6 -8
  32. reflex/components/core/debounce.pyi +19 -18
  33. reflex/components/core/foreach.py +5 -14
  34. reflex/components/core/html.pyi +18 -17
  35. reflex/components/core/match.py +36 -43
  36. reflex/components/core/upload.py +32 -25
  37. reflex/components/core/upload.pyi +84 -73
  38. reflex/components/datadisplay/code.py +55 -28
  39. reflex/components/datadisplay/code.pyi +20 -17
  40. reflex/components/datadisplay/dataeditor.py +17 -11
  41. reflex/components/datadisplay/dataeditor.pyi +34 -33
  42. reflex/components/el/__init__.py +0 -1
  43. reflex/components/el/__init__.pyi +0 -11
  44. reflex/components/el/element.pyi +17 -17
  45. reflex/components/el/elements/__init__.py +1 -7
  46. reflex/components/el/elements/__init__.pyi +1 -15
  47. reflex/components/el/elements/base.pyi +18 -17
  48. reflex/components/el/elements/forms.py +24 -31
  49. reflex/components/el/elements/forms.pyi +237 -236
  50. reflex/components/el/elements/inline.pyi +450 -449
  51. reflex/components/el/elements/media.py +0 -21
  52. reflex/components/el/elements/media.pyi +338 -337
  53. reflex/components/el/elements/metadata.py +3 -2
  54. reflex/components/el/elements/metadata.pyi +98 -97
  55. reflex/components/el/elements/other.pyi +114 -113
  56. reflex/components/el/elements/scripts.pyi +50 -49
  57. reflex/components/el/elements/sectioning.pyi +242 -241
  58. reflex/components/el/elements/tables.pyi +162 -161
  59. reflex/components/el/elements/typography.pyi +242 -241
  60. reflex/components/gridjs/datatable.py +13 -14
  61. reflex/components/gridjs/datatable.pyi +34 -33
  62. reflex/components/lucide/icon.py +2 -126
  63. reflex/components/lucide/icon.pyi +34 -142
  64. reflex/components/markdown/markdown.py +30 -35
  65. reflex/components/markdown/markdown.pyi +29 -32
  66. reflex/components/moment/moment.pyi +19 -18
  67. reflex/components/next/base.pyi +17 -17
  68. reflex/components/next/image.py +0 -4
  69. reflex/components/next/image.pyi +20 -19
  70. reflex/components/next/link.pyi +18 -17
  71. reflex/components/next/video.pyi +18 -17
  72. reflex/components/plotly/plotly.py +16 -28
  73. reflex/components/plotly/plotly.pyi +36 -35
  74. reflex/components/props.py +21 -10
  75. reflex/components/radix/__init__.pyi +1 -1
  76. reflex/components/radix/primitives/__init__.pyi +0 -1
  77. reflex/components/radix/primitives/accordion.py +7 -8
  78. reflex/components/radix/primitives/accordion.pyi +117 -116
  79. reflex/components/radix/primitives/base.pyi +34 -33
  80. reflex/components/radix/primitives/drawer.pyi +169 -168
  81. reflex/components/radix/primitives/form.pyi +168 -167
  82. reflex/components/radix/primitives/progress.pyi +82 -81
  83. reflex/components/radix/primitives/slider.pyi +84 -83
  84. reflex/components/radix/themes/base.py +8 -4
  85. reflex/components/radix/themes/base.pyi +114 -113
  86. reflex/components/radix/themes/color_mode.py +12 -21
  87. reflex/components/radix/themes/color_mode.pyi +67 -67
  88. reflex/components/radix/themes/components/__init__.pyi +1 -0
  89. reflex/components/radix/themes/components/alert_dialog.pyi +118 -117
  90. reflex/components/radix/themes/components/aspect_ratio.pyi +18 -17
  91. reflex/components/radix/themes/components/avatar.pyi +18 -17
  92. reflex/components/radix/themes/components/badge.pyi +18 -17
  93. reflex/components/radix/themes/components/button.pyi +18 -17
  94. reflex/components/radix/themes/components/callout.pyi +82 -81
  95. reflex/components/radix/themes/components/card.pyi +18 -17
  96. reflex/components/radix/themes/components/checkbox.py +2 -3
  97. reflex/components/radix/themes/components/checkbox.pyi +53 -52
  98. reflex/components/radix/themes/components/checkbox_cards.pyi +34 -33
  99. reflex/components/radix/themes/components/checkbox_group.pyi +34 -33
  100. reflex/components/radix/themes/components/context_menu.pyi +140 -139
  101. reflex/components/radix/themes/components/data_list.py +5 -0
  102. reflex/components/radix/themes/components/data_list.pyi +71 -65
  103. reflex/components/radix/themes/components/dialog.pyi +121 -120
  104. reflex/components/radix/themes/components/dropdown_menu.pyi +142 -141
  105. reflex/components/radix/themes/components/hover_card.pyi +68 -67
  106. reflex/components/radix/themes/components/icon_button.py +2 -1
  107. reflex/components/radix/themes/components/icon_button.pyi +18 -17
  108. reflex/components/radix/themes/components/inset.pyi +18 -17
  109. reflex/components/radix/themes/components/popover.pyi +73 -72
  110. reflex/components/radix/themes/components/progress.pyi +18 -17
  111. reflex/components/radix/themes/components/radio.pyi +18 -17
  112. reflex/components/radix/themes/components/radio_cards.pyi +35 -34
  113. reflex/components/radix/themes/components/radio_group.py +35 -31
  114. reflex/components/radix/themes/components/radio_group.pyi +73 -66
  115. reflex/components/radix/themes/components/scroll_area.pyi +18 -17
  116. reflex/components/radix/themes/components/segmented_control.pyi +35 -34
  117. reflex/components/radix/themes/components/select.py +2 -1
  118. reflex/components/radix/themes/components/select.pyi +155 -154
  119. reflex/components/radix/themes/components/separator.py +2 -3
  120. reflex/components/radix/themes/components/separator.pyi +18 -17
  121. reflex/components/radix/themes/components/skeleton.pyi +18 -17
  122. reflex/components/radix/themes/components/slider.py +2 -1
  123. reflex/components/radix/themes/components/slider.pyi +20 -19
  124. reflex/components/radix/themes/components/spinner.pyi +18 -17
  125. reflex/components/radix/themes/components/switch.pyi +19 -18
  126. reflex/components/radix/themes/components/table.pyi +114 -113
  127. reflex/components/radix/themes/components/tabs.pyi +84 -83
  128. reflex/components/radix/themes/components/text_area.pyi +21 -20
  129. reflex/components/radix/themes/components/text_field.py +0 -79
  130. reflex/components/radix/themes/components/text_field.pyi +57 -63
  131. reflex/components/radix/themes/components/tooltip.pyi +21 -20
  132. reflex/components/radix/themes/layout/base.pyi +18 -17
  133. reflex/components/radix/themes/layout/box.pyi +18 -17
  134. reflex/components/radix/themes/layout/center.pyi +18 -17
  135. reflex/components/radix/themes/layout/container.py +2 -3
  136. reflex/components/radix/themes/layout/container.pyi +18 -17
  137. reflex/components/radix/themes/layout/flex.pyi +18 -17
  138. reflex/components/radix/themes/layout/grid.pyi +18 -17
  139. reflex/components/radix/themes/layout/list.py +5 -4
  140. reflex/components/radix/themes/layout/list.pyi +86 -85
  141. reflex/components/radix/themes/layout/section.py +2 -3
  142. reflex/components/radix/themes/layout/section.pyi +18 -17
  143. reflex/components/radix/themes/layout/spacer.pyi +18 -17
  144. reflex/components/radix/themes/layout/stack.pyi +50 -49
  145. reflex/components/radix/themes/typography/blockquote.pyi +18 -17
  146. reflex/components/radix/themes/typography/code.pyi +18 -17
  147. reflex/components/radix/themes/typography/heading.pyi +18 -17
  148. reflex/components/radix/themes/typography/link.pyi +18 -17
  149. reflex/components/radix/themes/typography/text.pyi +114 -113
  150. reflex/components/react_player/audio.pyi +34 -33
  151. reflex/components/react_player/react_player.pyi +34 -33
  152. reflex/components/react_player/video.pyi +34 -33
  153. reflex/components/recharts/cartesian.py +23 -19
  154. reflex/components/recharts/cartesian.pyi +297 -296
  155. reflex/components/recharts/charts.py +6 -5
  156. reflex/components/recharts/charts.pyi +179 -178
  157. reflex/components/recharts/general.py +8 -7
  158. reflex/components/recharts/general.pyi +82 -81
  159. reflex/components/recharts/polar.py +14 -13
  160. reflex/components/recharts/polar.pyi +76 -75
  161. reflex/components/recharts/recharts.pyi +33 -33
  162. reflex/components/sonner/toast.py +30 -33
  163. reflex/components/sonner/toast.pyi +27 -25
  164. reflex/components/suneditor/editor.py +2 -1
  165. reflex/components/suneditor/editor.pyi +27 -26
  166. reflex/components/tags/iter_tag.py +16 -16
  167. reflex/components/tags/tag.py +8 -10
  168. reflex/constants/base.py +3 -1
  169. reflex/constants/event.py +1 -0
  170. reflex/event.py +89 -79
  171. reflex/experimental/__init__.py +25 -6
  172. reflex/experimental/client_state.py +34 -58
  173. reflex/experimental/hooks.py +13 -18
  174. reflex/experimental/layout.py +5 -5
  175. reflex/experimental/layout.pyi +84 -83
  176. reflex/{experimental/vars → ivars}/__init__.py +0 -1
  177. reflex/ivars/base.py +2180 -0
  178. reflex/ivars/function.py +200 -0
  179. reflex/ivars/number.py +1137 -0
  180. reflex/ivars/object.py +564 -0
  181. reflex/ivars/sequence.py +1601 -0
  182. reflex/model.py +22 -0
  183. reflex/reflex.py +4 -0
  184. reflex/state.py +388 -73
  185. reflex/style.py +52 -34
  186. reflex/testing.py +8 -3
  187. reflex/utils/exceptions.py +12 -0
  188. reflex/utils/exec.py +0 -14
  189. reflex/utils/format.py +74 -223
  190. reflex/utils/net.py +43 -0
  191. reflex/utils/path_ops.py +13 -1
  192. reflex/utils/prerequisites.py +46 -26
  193. reflex/utils/pyi_generator.py +5 -4
  194. reflex/utils/serializers.py +13 -31
  195. reflex/utils/types.py +44 -9
  196. reflex/vars.py +127 -2230
  197. {reflex-0.5.10a3.dist-info → reflex-0.6.0a1.dist-info}/METADATA +4 -6
  198. reflex-0.6.0a1.dist-info/RECORD +384 -0
  199. reflex/.templates/apps/demo/.gitignore +0 -4
  200. reflex/.templates/apps/demo/assets/favicon.ico +0 -0
  201. reflex/.templates/apps/demo/assets/github.svg +0 -10
  202. reflex/.templates/apps/demo/assets/icon.svg +0 -37
  203. reflex/.templates/apps/demo/assets/logo.svg +0 -68
  204. reflex/.templates/apps/demo/assets/paneleft.svg +0 -13
  205. reflex/.templates/apps/demo/code/__init__.py +0 -1
  206. reflex/.templates/apps/demo/code/demo.py +0 -127
  207. reflex/.templates/apps/demo/code/pages/__init__.py +0 -7
  208. reflex/.templates/apps/demo/code/pages/chatapp.py +0 -31
  209. reflex/.templates/apps/demo/code/pages/datatable.py +0 -360
  210. reflex/.templates/apps/demo/code/pages/forms.py +0 -257
  211. reflex/.templates/apps/demo/code/pages/graphing.py +0 -253
  212. reflex/.templates/apps/demo/code/pages/home.py +0 -56
  213. reflex/.templates/apps/demo/code/sidebar.py +0 -178
  214. reflex/.templates/apps/demo/code/state.py +0 -22
  215. reflex/.templates/apps/demo/code/states/form_state.py +0 -40
  216. reflex/.templates/apps/demo/code/states/pie_state.py +0 -47
  217. reflex/.templates/apps/demo/code/styles.py +0 -68
  218. reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
  219. reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -4
  220. reflex/.templates/apps/demo/code/webui/components/chat.py +0 -118
  221. reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -19
  222. reflex/.templates/apps/demo/code/webui/components/modal.py +0 -56
  223. reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -70
  224. reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -66
  225. reflex/.templates/apps/demo/code/webui/state.py +0 -146
  226. reflex/.templates/apps/demo/code/webui/styles.py +0 -88
  227. reflex/experimental/vars/base.py +0 -583
  228. reflex/experimental/vars/function.py +0 -290
  229. reflex/experimental/vars/number.py +0 -1458
  230. reflex/experimental/vars/object.py +0 -804
  231. reflex/experimental/vars/sequence.py +0 -1764
  232. reflex/utils/watch.py +0 -96
  233. reflex/vars.pyi +0 -218
  234. reflex-0.5.10a3.dist-info/RECORD +0 -413
  235. {reflex-0.5.10a3.dist-info → reflex-0.6.0a1.dist-info}/LICENSE +0 -0
  236. {reflex-0.5.10a3.dist-info → reflex-0.6.0a1.dist-info}/WHEEL +0 -0
  237. {reflex-0.5.10a3.dist-info → reflex-0.6.0a1.dist-info}/entry_points.txt +0 -0
@@ -8,8 +8,9 @@ from typing import Any, Callable, Dict, Literal, Optional, Union, overload
8
8
  from reflex.components.core.breakpoints import Breakpoints
9
9
  from reflex.components.el import elements
10
10
  from reflex.event import EventHandler, EventSpec
11
+ from reflex.ivars.base import ImmutableVar
11
12
  from reflex.style import Style
12
- from reflex.vars import BaseVar, Var
13
+ from reflex.vars import Var
13
14
 
14
15
  from ..base import RadixThemesComponent
15
16
 
@@ -64,51 +65,51 @@ class Container(elements.Div, RadixThemesComponent):
64
65
  id: Optional[Any] = None,
65
66
  class_name: Optional[Any] = None,
66
67
  autofocus: Optional[bool] = None,
67
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
68
+ custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
68
69
  on_blur: Optional[
69
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
70
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
70
71
  ] = None,
71
72
  on_click: Optional[
72
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
73
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
73
74
  ] = None,
74
75
  on_context_menu: Optional[
75
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
76
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
76
77
  ] = None,
77
78
  on_double_click: Optional[
78
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
79
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
79
80
  ] = None,
80
81
  on_focus: Optional[
81
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
82
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
82
83
  ] = None,
83
84
  on_mount: Optional[
84
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
85
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
85
86
  ] = None,
86
87
  on_mouse_down: Optional[
87
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
88
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
88
89
  ] = None,
89
90
  on_mouse_enter: Optional[
90
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
91
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
91
92
  ] = None,
92
93
  on_mouse_leave: Optional[
93
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
94
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
94
95
  ] = None,
95
96
  on_mouse_move: Optional[
96
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
97
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
97
98
  ] = None,
98
99
  on_mouse_out: Optional[
99
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
100
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
100
101
  ] = None,
101
102
  on_mouse_over: Optional[
102
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
103
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
103
104
  ] = None,
104
105
  on_mouse_up: Optional[
105
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
106
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
106
107
  ] = None,
107
108
  on_scroll: Optional[
108
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
109
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
109
110
  ] = None,
110
111
  on_unmount: Optional[
111
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
112
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
112
113
  ] = None,
113
114
  **props,
114
115
  ) -> "Container":
@@ -8,8 +8,9 @@ from typing import Any, Callable, Dict, Literal, Optional, Union, overload
8
8
  from reflex.components.core.breakpoints import Breakpoints
9
9
  from reflex.components.el import elements
10
10
  from reflex.event import EventHandler, EventSpec
11
+ from reflex.ivars.base import ImmutableVar
11
12
  from reflex.style import Style
12
- from reflex.vars import BaseVar, Var
13
+ from reflex.vars import Var
13
14
 
14
15
  from ..base import RadixThemesComponent
15
16
 
@@ -127,51 +128,51 @@ class Flex(elements.Div, RadixThemesComponent):
127
128
  id: Optional[Any] = None,
128
129
  class_name: Optional[Any] = None,
129
130
  autofocus: Optional[bool] = None,
130
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
131
+ custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
131
132
  on_blur: Optional[
132
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
133
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
133
134
  ] = None,
134
135
  on_click: Optional[
135
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
136
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
136
137
  ] = None,
137
138
  on_context_menu: Optional[
138
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
139
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
139
140
  ] = None,
140
141
  on_double_click: Optional[
141
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
142
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
142
143
  ] = None,
143
144
  on_focus: Optional[
144
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
145
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
145
146
  ] = None,
146
147
  on_mount: Optional[
147
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
148
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
148
149
  ] = None,
149
150
  on_mouse_down: Optional[
150
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
151
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
151
152
  ] = None,
152
153
  on_mouse_enter: Optional[
153
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
154
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
154
155
  ] = None,
155
156
  on_mouse_leave: Optional[
156
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
157
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
157
158
  ] = None,
158
159
  on_mouse_move: Optional[
159
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
160
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
160
161
  ] = None,
161
162
  on_mouse_out: Optional[
162
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
163
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
163
164
  ] = None,
164
165
  on_mouse_over: Optional[
165
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
166
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
166
167
  ] = None,
167
168
  on_mouse_up: Optional[
168
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
169
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
169
170
  ] = None,
170
171
  on_scroll: Optional[
171
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
172
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
172
173
  ] = None,
173
174
  on_unmount: Optional[
174
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
175
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
175
176
  ] = None,
176
177
  **props,
177
178
  ) -> "Flex":
@@ -8,8 +8,9 @@ from typing import Any, Callable, Dict, Literal, Optional, Union, overload
8
8
  from reflex.components.core.breakpoints import Breakpoints
9
9
  from reflex.components.el import elements
10
10
  from reflex.event import EventHandler, EventSpec
11
+ from reflex.ivars.base import ImmutableVar
11
12
  from reflex.style import Style
12
- from reflex.vars import BaseVar, Var
13
+ from reflex.vars import Var
13
14
 
14
15
  from ..base import RadixThemesComponent
15
16
 
@@ -156,51 +157,51 @@ class Grid(elements.Div, RadixThemesComponent):
156
157
  id: Optional[Any] = None,
157
158
  class_name: Optional[Any] = None,
158
159
  autofocus: Optional[bool] = None,
159
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
160
+ custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
160
161
  on_blur: Optional[
161
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
162
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
162
163
  ] = None,
163
164
  on_click: Optional[
164
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
165
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
165
166
  ] = None,
166
167
  on_context_menu: Optional[
167
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
168
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
168
169
  ] = None,
169
170
  on_double_click: Optional[
170
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
171
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
171
172
  ] = None,
172
173
  on_focus: Optional[
173
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
174
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
174
175
  ] = None,
175
176
  on_mount: Optional[
176
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
177
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
177
178
  ] = None,
178
179
  on_mouse_down: Optional[
179
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
180
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
180
181
  ] = None,
181
182
  on_mouse_enter: Optional[
182
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
183
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
183
184
  ] = None,
184
185
  on_mouse_leave: Optional[
185
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
186
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
186
187
  ] = None,
187
188
  on_mouse_move: Optional[
188
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
189
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
189
190
  ] = None,
190
191
  on_mouse_out: Optional[
191
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
192
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
192
193
  ] = None,
193
194
  on_mouse_over: Optional[
194
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
195
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
195
196
  ] = None,
196
197
  on_mouse_up: Optional[
197
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
198
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
198
199
  ] = None,
199
200
  on_scroll: Optional[
200
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
201
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
201
202
  ] = None,
202
203
  on_unmount: Optional[
203
- Union[EventHandler, EventSpec, list, Callable, BaseVar]
204
+ Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
204
205
  ] = None,
205
206
  **props,
206
207
  ) -> "Grid":
@@ -9,6 +9,7 @@ from reflex.components.core.foreach import Foreach
9
9
  from reflex.components.el.elements.typography import Li, Ol, Ul
10
10
  from reflex.components.lucide.icon import Icon
11
11
  from reflex.components.radix.themes.typography.text import Text
12
+ from reflex.ivars.base import ImmutableVar
12
13
  from reflex.vars import Var
13
14
 
14
15
  LiteralListStyleTypeUnordered = Literal[
@@ -50,7 +51,7 @@ class BaseList(Component):
50
51
  def create(
51
52
  cls,
52
53
  *children,
53
- items: Optional[Var[Iterable]] = None,
54
+ items: Optional[ImmutableVar[Iterable]] = None,
54
55
  **props,
55
56
  ):
56
57
  """Create a list component.
@@ -66,7 +67,7 @@ class BaseList(Component):
66
67
  """
67
68
  list_style_type = props.pop("list_style_type", "none")
68
69
  if not children and items is not None:
69
- if isinstance(items, Var):
70
+ if isinstance(items, ImmutableVar):
70
71
  children = [Foreach.create(items, ListItem.create)]
71
72
  else:
72
73
  children = [ListItem.create(item) for item in items] # type: ignore
@@ -97,7 +98,7 @@ class UnorderedList(BaseList, Ul):
97
98
  def create(
98
99
  cls,
99
100
  *children,
100
- items: Optional[Var[Iterable]] = None,
101
+ items: Optional[ImmutableVar[Iterable]] = None,
101
102
  list_style_type: LiteralListStyleTypeUnordered = "disc",
102
103
  **props,
103
104
  ):
@@ -128,7 +129,7 @@ class OrderedList(BaseList, Ol):
128
129
  def create(
129
130
  cls,
130
131
  *children,
131
- items: Optional[Var[Iterable]] = None,
132
+ items: Optional[ImmutableVar[Iterable]] = None,
132
133
  list_style_type: LiteralListStyleTypeOrdered = "decimal",
133
134
  **props,
134
135
  ):