reflex 0.6.0a1__py3-none-any.whl → 0.6.0a3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of reflex might be problematic. Click here for more details.

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