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
@@ -11,10 +11,9 @@ from reflex.components.component import Component, ComponentNamespace, Memoizati
11
11
  from reflex.components.radix.primitives.drawer import DrawerRoot
12
12
  from reflex.components.radix.themes.layout.box import Box
13
13
  from reflex.event import EventHandler, EventSpec
14
- from reflex.ivars.base import ImmutableVar
15
14
  from reflex.state import ComponentState
16
15
  from reflex.style import Style
17
- from reflex.vars import Var
16
+ from reflex.vars.base import Var
18
17
 
19
18
  class Sidebar(Box, MemoizationLeaf):
20
19
  @overload
@@ -22,80 +21,70 @@ class Sidebar(Box, MemoizationLeaf):
22
21
  def create( # type: ignore
23
22
  cls,
24
23
  *children,
25
- access_key: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
24
+ access_key: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
26
25
  auto_capitalize: Optional[
27
- Union[Var[Union[bool, int, str]], str, int, bool]
26
+ Union[Var[Union[bool, int, str]], bool, int, str]
28
27
  ] = None,
29
28
  content_editable: Optional[
30
- Union[Var[Union[bool, int, str]], str, int, bool]
29
+ Union[Var[Union[bool, int, str]], bool, int, str]
31
30
  ] = None,
32
31
  context_menu: Optional[
33
- Union[Var[Union[bool, int, str]], str, int, bool]
32
+ Union[Var[Union[bool, int, str]], bool, int, str]
34
33
  ] = None,
35
- dir: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
36
- draggable: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
34
+ dir: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
35
+ draggable: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
37
36
  enter_key_hint: Optional[
38
- Union[Var[Union[bool, int, str]], str, int, bool]
39
- ] = None,
40
- hidden: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
41
- input_mode: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
42
- item_prop: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
43
- lang: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
44
- role: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
45
- slot: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
46
- spell_check: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
47
- tab_index: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
48
- title: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
37
+ Union[Var[Union[bool, int, str]], bool, int, str]
38
+ ] = None,
39
+ hidden: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
40
+ input_mode: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
41
+ item_prop: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
42
+ lang: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
43
+ role: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
44
+ slot: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
45
+ spell_check: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
46
+ tab_index: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
47
+ title: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
49
48
  style: Optional[Style] = None,
50
49
  key: Optional[Any] = None,
51
50
  id: Optional[Any] = None,
52
51
  class_name: Optional[Any] = None,
53
52
  autofocus: Optional[bool] = None,
54
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
55
- on_blur: Optional[
56
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
57
- ] = None,
58
- on_click: Optional[
59
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
60
- ] = None,
53
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
54
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
55
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
61
56
  on_context_menu: Optional[
62
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
57
+ Union[EventHandler, EventSpec, list, Callable, Var]
63
58
  ] = None,
64
59
  on_double_click: Optional[
65
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
66
- ] = None,
67
- on_focus: Optional[
68
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
69
- ] = None,
70
- on_mount: Optional[
71
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
60
+ Union[EventHandler, EventSpec, list, Callable, Var]
72
61
  ] = None,
62
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
63
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
73
64
  on_mouse_down: Optional[
74
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
65
+ Union[EventHandler, EventSpec, list, Callable, Var]
75
66
  ] = None,
76
67
  on_mouse_enter: Optional[
77
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
68
+ Union[EventHandler, EventSpec, list, Callable, Var]
78
69
  ] = None,
79
70
  on_mouse_leave: Optional[
80
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
71
+ Union[EventHandler, EventSpec, list, Callable, Var]
81
72
  ] = None,
82
73
  on_mouse_move: Optional[
83
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
74
+ Union[EventHandler, EventSpec, list, Callable, Var]
84
75
  ] = None,
85
76
  on_mouse_out: Optional[
86
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
77
+ Union[EventHandler, EventSpec, list, Callable, Var]
87
78
  ] = None,
88
79
  on_mouse_over: Optional[
89
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
80
+ Union[EventHandler, EventSpec, list, Callable, Var]
90
81
  ] = None,
91
82
  on_mouse_up: Optional[
92
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
93
- ] = None,
94
- on_scroll: Optional[
95
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
83
+ Union[EventHandler, EventSpec, list, Callable, Var]
96
84
  ] = None,
85
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
97
86
  on_unmount: Optional[
98
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
87
+ Union[EventHandler, EventSpec, list, Callable, Var]
99
88
  ] = None,
100
89
  **props,
101
90
  ) -> "Sidebar":
@@ -111,7 +100,7 @@ class Sidebar(Box, MemoizationLeaf):
111
100
  ...
112
101
 
113
102
  def add_style(self) -> dict[str, Any] | None: ...
114
- def add_hooks(self) -> List[ImmutableVar]: ...
103
+ def add_hooks(self) -> List[Var]: ...
115
104
 
116
105
  class StatefulSidebar(ComponentState):
117
106
  open: bool
@@ -135,8 +124,8 @@ class DrawerSidebar(DrawerRoot):
135
124
  modal: Optional[Union[Var[bool], bool]] = None,
136
125
  direction: Optional[
137
126
  Union[
138
- Var[Literal["top", "bottom", "left", "right"]],
139
- Literal["top", "bottom", "left", "right"],
127
+ Literal["bottom", "left", "right", "top"],
128
+ Var[Literal["bottom", "left", "right", "top"]],
140
129
  ]
141
130
  ] = None,
142
131
  preventScrollRestoration: Optional[Union[Var[bool], bool]] = None,
@@ -146,54 +135,44 @@ class DrawerSidebar(DrawerRoot):
146
135
  id: Optional[Any] = None,
147
136
  class_name: Optional[Any] = None,
148
137
  autofocus: Optional[bool] = None,
149
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
150
- on_blur: Optional[
151
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
152
- ] = None,
153
- on_click: Optional[
154
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
155
- ] = None,
138
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
139
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
140
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
156
141
  on_context_menu: Optional[
157
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
142
+ Union[EventHandler, EventSpec, list, Callable, Var]
158
143
  ] = None,
159
144
  on_double_click: Optional[
160
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
161
- ] = None,
162
- on_focus: Optional[
163
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
164
- ] = None,
165
- on_mount: Optional[
166
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
145
+ Union[EventHandler, EventSpec, list, Callable, Var]
167
146
  ] = None,
147
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
148
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
168
149
  on_mouse_down: Optional[
169
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
150
+ Union[EventHandler, EventSpec, list, Callable, Var]
170
151
  ] = None,
171
152
  on_mouse_enter: Optional[
172
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
153
+ Union[EventHandler, EventSpec, list, Callable, Var]
173
154
  ] = None,
174
155
  on_mouse_leave: Optional[
175
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
156
+ Union[EventHandler, EventSpec, list, Callable, Var]
176
157
  ] = None,
177
158
  on_mouse_move: Optional[
178
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
159
+ Union[EventHandler, EventSpec, list, Callable, Var]
179
160
  ] = None,
180
161
  on_mouse_out: Optional[
181
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
162
+ Union[EventHandler, EventSpec, list, Callable, Var]
182
163
  ] = None,
183
164
  on_mouse_over: Optional[
184
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
165
+ Union[EventHandler, EventSpec, list, Callable, Var]
185
166
  ] = None,
186
167
  on_mouse_up: Optional[
187
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
168
+ Union[EventHandler, EventSpec, list, Callable, Var]
188
169
  ] = None,
189
170
  on_open_change: Optional[
190
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
191
- ] = None,
192
- on_scroll: Optional[
193
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
171
+ Union[EventHandler, EventSpec, list, Callable, Var]
194
172
  ] = None,
173
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
195
174
  on_unmount: Optional[
196
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
175
+ Union[EventHandler, EventSpec, list, Callable, Var]
197
176
  ] = None,
198
177
  **props,
199
178
  ) -> "DrawerSidebar":
@@ -227,51 +206,41 @@ class SidebarTrigger(Fragment):
227
206
  id: Optional[Any] = None,
228
207
  class_name: Optional[Any] = None,
229
208
  autofocus: Optional[bool] = None,
230
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
231
- on_blur: Optional[
232
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
233
- ] = None,
234
- on_click: Optional[
235
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
236
- ] = None,
209
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
210
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
211
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
237
212
  on_context_menu: Optional[
238
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
213
+ Union[EventHandler, EventSpec, list, Callable, Var]
239
214
  ] = None,
240
215
  on_double_click: Optional[
241
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
242
- ] = None,
243
- on_focus: Optional[
244
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
245
- ] = None,
246
- on_mount: Optional[
247
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
216
+ Union[EventHandler, EventSpec, list, Callable, Var]
248
217
  ] = None,
218
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
219
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
249
220
  on_mouse_down: Optional[
250
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
221
+ Union[EventHandler, EventSpec, list, Callable, Var]
251
222
  ] = None,
252
223
  on_mouse_enter: Optional[
253
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
224
+ Union[EventHandler, EventSpec, list, Callable, Var]
254
225
  ] = None,
255
226
  on_mouse_leave: Optional[
256
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
227
+ Union[EventHandler, EventSpec, list, Callable, Var]
257
228
  ] = None,
258
229
  on_mouse_move: Optional[
259
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
230
+ Union[EventHandler, EventSpec, list, Callable, Var]
260
231
  ] = None,
261
232
  on_mouse_out: Optional[
262
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
233
+ Union[EventHandler, EventSpec, list, Callable, Var]
263
234
  ] = None,
264
235
  on_mouse_over: Optional[
265
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
236
+ Union[EventHandler, EventSpec, list, Callable, Var]
266
237
  ] = None,
267
238
  on_mouse_up: Optional[
268
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
269
- ] = None,
270
- on_scroll: Optional[
271
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
239
+ Union[EventHandler, EventSpec, list, Callable, Var]
272
240
  ] = None,
241
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
273
242
  on_unmount: Optional[
274
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
243
+ Union[EventHandler, EventSpec, list, Callable, Var]
275
244
  ] = None,
276
245
  **props,
277
246
  ) -> "SidebarTrigger":
@@ -293,80 +262,70 @@ class Layout(Box):
293
262
  cls,
294
263
  *children,
295
264
  sidebar: Optional[Component] = None,
296
- access_key: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
265
+ access_key: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
297
266
  auto_capitalize: Optional[
298
- Union[Var[Union[bool, int, str]], str, int, bool]
267
+ Union[Var[Union[bool, int, str]], bool, int, str]
299
268
  ] = None,
300
269
  content_editable: Optional[
301
- Union[Var[Union[bool, int, str]], str, int, bool]
270
+ Union[Var[Union[bool, int, str]], bool, int, str]
302
271
  ] = None,
303
272
  context_menu: Optional[
304
- Union[Var[Union[bool, int, str]], str, int, bool]
273
+ Union[Var[Union[bool, int, str]], bool, int, str]
305
274
  ] = None,
306
- dir: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
307
- draggable: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
275
+ dir: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
276
+ draggable: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
308
277
  enter_key_hint: Optional[
309
- Union[Var[Union[bool, int, str]], str, int, bool]
310
- ] = None,
311
- hidden: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
312
- input_mode: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
313
- item_prop: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
314
- lang: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
315
- role: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
316
- slot: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
317
- spell_check: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
318
- tab_index: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
319
- title: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
278
+ Union[Var[Union[bool, int, str]], bool, int, str]
279
+ ] = None,
280
+ hidden: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
281
+ input_mode: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
282
+ item_prop: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
283
+ lang: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
284
+ role: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
285
+ slot: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
286
+ spell_check: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
287
+ tab_index: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
288
+ title: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
320
289
  style: Optional[Style] = None,
321
290
  key: Optional[Any] = None,
322
291
  id: Optional[Any] = None,
323
292
  class_name: Optional[Any] = None,
324
293
  autofocus: Optional[bool] = None,
325
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
326
- on_blur: Optional[
327
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
328
- ] = None,
329
- on_click: Optional[
330
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
331
- ] = None,
294
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
295
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
296
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
332
297
  on_context_menu: Optional[
333
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
298
+ Union[EventHandler, EventSpec, list, Callable, Var]
334
299
  ] = None,
335
300
  on_double_click: Optional[
336
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
337
- ] = None,
338
- on_focus: Optional[
339
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
340
- ] = None,
341
- on_mount: Optional[
342
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
301
+ Union[EventHandler, EventSpec, list, Callable, Var]
343
302
  ] = None,
303
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
304
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
344
305
  on_mouse_down: Optional[
345
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
306
+ Union[EventHandler, EventSpec, list, Callable, Var]
346
307
  ] = None,
347
308
  on_mouse_enter: Optional[
348
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
309
+ Union[EventHandler, EventSpec, list, Callable, Var]
349
310
  ] = None,
350
311
  on_mouse_leave: Optional[
351
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
312
+ Union[EventHandler, EventSpec, list, Callable, Var]
352
313
  ] = None,
353
314
  on_mouse_move: Optional[
354
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
315
+ Union[EventHandler, EventSpec, list, Callable, Var]
355
316
  ] = None,
356
317
  on_mouse_out: Optional[
357
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
318
+ Union[EventHandler, EventSpec, list, Callable, Var]
358
319
  ] = None,
359
320
  on_mouse_over: Optional[
360
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
321
+ Union[EventHandler, EventSpec, list, Callable, Var]
361
322
  ] = None,
362
323
  on_mouse_up: Optional[
363
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
364
- ] = None,
365
- on_scroll: Optional[
366
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
324
+ Union[EventHandler, EventSpec, list, Callable, Var]
367
325
  ] = None,
326
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
368
327
  on_unmount: Optional[
369
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
328
+ Union[EventHandler, EventSpec, list, Callable, Var]
370
329
  ] = None,
371
330
  **props,
372
331
  ) -> "Layout":
@@ -391,80 +350,70 @@ class LayoutNamespace(ComponentNamespace):
391
350
  def __call__(
392
351
  *children,
393
352
  sidebar: Optional[Component] = None,
394
- access_key: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
353
+ access_key: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
395
354
  auto_capitalize: Optional[
396
- Union[Var[Union[bool, int, str]], str, int, bool]
355
+ Union[Var[Union[bool, int, str]], bool, int, str]
397
356
  ] = None,
398
357
  content_editable: Optional[
399
- Union[Var[Union[bool, int, str]], str, int, bool]
358
+ Union[Var[Union[bool, int, str]], bool, int, str]
400
359
  ] = None,
401
360
  context_menu: Optional[
402
- Union[Var[Union[bool, int, str]], str, int, bool]
361
+ Union[Var[Union[bool, int, str]], bool, int, str]
403
362
  ] = None,
404
- dir: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
405
- draggable: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
363
+ dir: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
364
+ draggable: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
406
365
  enter_key_hint: Optional[
407
- Union[Var[Union[bool, int, str]], str, int, bool]
408
- ] = None,
409
- hidden: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
410
- input_mode: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
411
- item_prop: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
412
- lang: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
413
- role: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
414
- slot: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
415
- spell_check: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
416
- tab_index: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
417
- title: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
366
+ Union[Var[Union[bool, int, str]], bool, int, str]
367
+ ] = None,
368
+ hidden: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
369
+ input_mode: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
370
+ item_prop: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
371
+ lang: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
372
+ role: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
373
+ slot: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
374
+ spell_check: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
375
+ tab_index: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
376
+ title: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
418
377
  style: Optional[Style] = None,
419
378
  key: Optional[Any] = None,
420
379
  id: Optional[Any] = None,
421
380
  class_name: Optional[Any] = None,
422
381
  autofocus: Optional[bool] = None,
423
- custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
424
- on_blur: Optional[
425
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
426
- ] = None,
427
- on_click: Optional[
428
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
429
- ] = None,
382
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
383
+ on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
384
+ on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
430
385
  on_context_menu: Optional[
431
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
386
+ Union[EventHandler, EventSpec, list, Callable, Var]
432
387
  ] = None,
433
388
  on_double_click: Optional[
434
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
435
- ] = None,
436
- on_focus: Optional[
437
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
438
- ] = None,
439
- on_mount: Optional[
440
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
389
+ Union[EventHandler, EventSpec, list, Callable, Var]
441
390
  ] = None,
391
+ on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
392
+ on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
442
393
  on_mouse_down: Optional[
443
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
394
+ Union[EventHandler, EventSpec, list, Callable, Var]
444
395
  ] = None,
445
396
  on_mouse_enter: Optional[
446
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
397
+ Union[EventHandler, EventSpec, list, Callable, Var]
447
398
  ] = None,
448
399
  on_mouse_leave: Optional[
449
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
400
+ Union[EventHandler, EventSpec, list, Callable, Var]
450
401
  ] = None,
451
402
  on_mouse_move: Optional[
452
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
403
+ Union[EventHandler, EventSpec, list, Callable, Var]
453
404
  ] = None,
454
405
  on_mouse_out: Optional[
455
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
406
+ Union[EventHandler, EventSpec, list, Callable, Var]
456
407
  ] = None,
457
408
  on_mouse_over: Optional[
458
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
409
+ Union[EventHandler, EventSpec, list, Callable, Var]
459
410
  ] = None,
460
411
  on_mouse_up: Optional[
461
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
462
- ] = None,
463
- on_scroll: Optional[
464
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
412
+ Union[EventHandler, EventSpec, list, Callable, Var]
465
413
  ] = None,
414
+ on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
466
415
  on_unmount: Optional[
467
- Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
416
+ Union[EventHandler, EventSpec, list, Callable, Var]
468
417
  ] = None,
469
418
  **props,
470
419
  ) -> "Layout":
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import dataclasses
5
6
  from typing import TYPE_CHECKING, Optional
6
7
 
7
8
  from reflex import constants
@@ -14,6 +15,7 @@ if TYPE_CHECKING:
14
15
  from reflex.app import App
15
16
 
16
17
 
18
+ @dataclasses.dataclass(init=True)
17
19
  class HydrateMiddleware(Middleware):
18
20
  """Middleware to handle initial app hydration."""
19
21
 
@@ -2,10 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from abc import ABC
5
+ from abc import ABC, abstractmethod
6
6
  from typing import TYPE_CHECKING, Optional
7
7
 
8
- from reflex.base import Base
9
8
  from reflex.event import Event
10
9
  from reflex.state import BaseState, StateUpdate
11
10
 
@@ -13,9 +12,10 @@ if TYPE_CHECKING:
13
12
  from reflex.app import App
14
13
 
15
14
 
16
- class Middleware(Base, ABC):
15
+ class Middleware(ABC):
17
16
  """Middleware to preprocess and postprocess requests."""
18
17
 
18
+ @abstractmethod
19
19
  async def preprocess(
20
20
  self, app: App, state: BaseState, event: Event
21
21
  ) -> Optional[StateUpdate]: