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