reflex 0.6.8a2__py3-none-any.whl → 0.7.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 (246) hide show
  1. reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +1 -1
  2. reflex/.templates/jinja/web/pages/_app.js.jinja2 +7 -7
  3. reflex/.templates/jinja/web/pages/utils.js.jinja2 +3 -3
  4. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +1 -4
  5. reflex/.templates/web/utils/state.js +65 -36
  6. reflex/__init__.py +4 -17
  7. reflex/__init__.pyi +1 -2
  8. reflex/app.py +249 -116
  9. reflex/app_mixins/lifespan.py +9 -9
  10. reflex/app_mixins/middleware.py +6 -6
  11. reflex/app_module_for_backend.py +3 -7
  12. reflex/base.py +7 -7
  13. reflex/compiler/compiler.py +8 -0
  14. reflex/compiler/utils.py +35 -6
  15. reflex/components/base/app_wrap.pyi +16 -16
  16. reflex/components/base/bare.py +1 -1
  17. reflex/components/base/body.pyi +16 -16
  18. reflex/components/base/document.pyi +76 -76
  19. reflex/components/base/error_boundary.py +2 -1
  20. reflex/components/base/error_boundary.pyi +19 -22
  21. reflex/components/base/fragment.pyi +16 -16
  22. reflex/components/base/head.pyi +31 -31
  23. reflex/components/base/link.pyi +31 -31
  24. reflex/components/base/meta.py +2 -2
  25. reflex/components/base/meta.pyi +61 -61
  26. reflex/components/base/script.pyi +19 -19
  27. reflex/components/base/strict_mode.py +10 -0
  28. reflex/components/base/strict_mode.pyi +57 -0
  29. reflex/components/component.py +38 -77
  30. reflex/components/core/banner.py +159 -4
  31. reflex/components/core/banner.pyi +162 -76
  32. reflex/components/core/breakpoints.py +3 -1
  33. reflex/components/core/client_side_routing.py +1 -1
  34. reflex/components/core/client_side_routing.pyi +32 -32
  35. reflex/components/core/clipboard.pyi +17 -20
  36. reflex/components/core/cond.py +9 -10
  37. reflex/components/core/debounce.py +1 -1
  38. reflex/components/core/debounce.pyi +17 -17
  39. reflex/components/core/foreach.py +28 -3
  40. reflex/components/core/html.py +1 -1
  41. reflex/components/core/html.pyi +16 -16
  42. reflex/components/core/match.py +5 -5
  43. reflex/components/core/sticky.py +160 -0
  44. reflex/components/core/sticky.pyi +449 -0
  45. reflex/components/core/upload.py +2 -2
  46. reflex/components/core/upload.pyi +80 -88
  47. reflex/components/datadisplay/code.py +5 -14
  48. reflex/components/datadisplay/code.pyi +31 -31
  49. reflex/components/datadisplay/dataeditor.py +7 -4
  50. reflex/components/datadisplay/dataeditor.pyi +40 -54
  51. reflex/components/datadisplay/logo.py +13 -8
  52. reflex/components/datadisplay/shiki_code_block.py +14 -9
  53. reflex/components/datadisplay/shiki_code_block.pyi +46 -46
  54. reflex/components/dynamic.py +22 -3
  55. reflex/components/el/constants/reflex.py +1 -1
  56. reflex/components/el/element.py +1 -1
  57. reflex/components/el/element.pyi +16 -16
  58. reflex/components/el/elements/base.pyi +16 -16
  59. reflex/components/el/elements/forms.py +4 -4
  60. reflex/components/el/elements/forms.pyi +224 -258
  61. reflex/components/el/elements/inline.pyi +421 -421
  62. reflex/components/el/elements/media.pyi +376 -376
  63. reflex/components/el/elements/metadata.pyi +91 -91
  64. reflex/components/el/elements/other.pyi +106 -106
  65. reflex/components/el/elements/scripts.pyi +46 -46
  66. reflex/components/el/elements/sectioning.pyi +226 -226
  67. reflex/components/el/elements/tables.pyi +151 -151
  68. reflex/components/el/elements/typography.pyi +226 -226
  69. reflex/components/gridjs/datatable.pyi +31 -31
  70. reflex/components/lucide/icon.py +46 -8
  71. reflex/components/lucide/icon.pyi +85 -31
  72. reflex/components/markdown/markdown.py +10 -8
  73. reflex/components/markdown/markdown.pyi +16 -16
  74. reflex/components/moment/moment.py +2 -2
  75. reflex/components/moment/moment.pyi +17 -19
  76. reflex/components/next/base.pyi +16 -16
  77. reflex/components/next/image.py +16 -4
  78. reflex/components/next/image.pyi +22 -20
  79. reflex/components/next/link.py +1 -1
  80. reflex/components/next/link.pyi +16 -16
  81. reflex/components/next/video.pyi +16 -16
  82. reflex/components/plotly/plotly.py +5 -5
  83. reflex/components/plotly/plotly.pyi +34 -44
  84. reflex/components/props.py +3 -3
  85. reflex/components/radix/__init__.pyi +1 -1
  86. reflex/components/radix/primitives/accordion.py +9 -5
  87. reflex/components/radix/primitives/accordion.pyi +110 -108
  88. reflex/components/radix/primitives/base.pyi +31 -31
  89. reflex/components/radix/primitives/drawer.py +5 -2
  90. reflex/components/radix/primitives/drawer.pyi +179 -187
  91. reflex/components/radix/primitives/form.pyi +160 -172
  92. reflex/components/radix/primitives/progress.py +1 -1
  93. reflex/components/radix/primitives/progress.pyi +76 -76
  94. reflex/components/radix/primitives/slider.py +1 -1
  95. reflex/components/radix/primitives/slider.pyi +78 -82
  96. reflex/components/radix/themes/base.pyi +121 -121
  97. reflex/components/radix/themes/color_mode.py +11 -9
  98. reflex/components/radix/themes/color_mode.pyi +47 -49
  99. reflex/components/radix/themes/components/alert_dialog.py +3 -0
  100. reflex/components/radix/themes/components/alert_dialog.pyi +110 -112
  101. reflex/components/radix/themes/components/aspect_ratio.pyi +16 -16
  102. reflex/components/radix/themes/components/avatar.pyi +16 -16
  103. reflex/components/radix/themes/components/badge.pyi +16 -16
  104. reflex/components/radix/themes/components/button.pyi +16 -16
  105. reflex/components/radix/themes/components/callout.pyi +76 -76
  106. reflex/components/radix/themes/components/card.py +1 -1
  107. reflex/components/radix/themes/components/card.pyi +17 -17
  108. reflex/components/radix/themes/components/checkbox.pyi +49 -55
  109. reflex/components/radix/themes/components/checkbox_cards.pyi +31 -31
  110. reflex/components/radix/themes/components/checkbox_group.pyi +31 -31
  111. reflex/components/radix/themes/components/context_menu.py +5 -0
  112. reflex/components/radix/themes/components/context_menu.pyi +149 -155
  113. reflex/components/radix/themes/components/data_list.pyi +61 -61
  114. reflex/components/radix/themes/components/dialog.py +3 -0
  115. reflex/components/radix/themes/components/dialog.pyi +113 -117
  116. reflex/components/radix/themes/components/dropdown_menu.py +5 -0
  117. reflex/components/radix/themes/components/dropdown_menu.pyi +133 -137
  118. reflex/components/radix/themes/components/hover_card.py +3 -0
  119. reflex/components/radix/themes/components/hover_card.pyi +63 -67
  120. reflex/components/radix/themes/components/icon_button.py +2 -2
  121. reflex/components/radix/themes/components/icon_button.pyi +17 -16
  122. reflex/components/radix/themes/components/inset.pyi +16 -16
  123. reflex/components/radix/themes/components/popover.py +3 -0
  124. reflex/components/radix/themes/components/popover.pyi +68 -70
  125. reflex/components/radix/themes/components/progress.pyi +16 -16
  126. reflex/components/radix/themes/components/radio.pyi +16 -16
  127. reflex/components/radix/themes/components/radio_cards.py +2 -0
  128. reflex/components/radix/themes/components/radio_cards.pyi +32 -34
  129. reflex/components/radix/themes/components/radio_group.py +1 -1
  130. reflex/components/radix/themes/components/radio_group.pyi +62 -64
  131. reflex/components/radix/themes/components/scroll_area.pyi +16 -16
  132. reflex/components/radix/themes/components/segmented_control.pyi +32 -35
  133. reflex/components/radix/themes/components/select.py +4 -0
  134. reflex/components/radix/themes/components/select.pyi +145 -157
  135. reflex/components/radix/themes/components/separator.pyi +16 -16
  136. reflex/components/radix/themes/components/skeleton.py +3 -0
  137. reflex/components/radix/themes/components/skeleton.pyi +16 -16
  138. reflex/components/radix/themes/components/slider.pyi +22 -28
  139. reflex/components/radix/themes/components/spinner.pyi +16 -16
  140. reflex/components/radix/themes/components/switch.pyi +17 -19
  141. reflex/components/radix/themes/components/table.pyi +106 -106
  142. reflex/components/radix/themes/components/tabs.py +3 -0
  143. reflex/components/radix/themes/components/tabs.pyi +78 -82
  144. reflex/components/radix/themes/components/text_area.py +12 -0
  145. reflex/components/radix/themes/components/text_area.pyi +21 -33
  146. reflex/components/radix/themes/components/text_field.py +1 -1
  147. reflex/components/radix/themes/components/text_field.pyi +52 -80
  148. reflex/components/radix/themes/components/tooltip.py +6 -1
  149. reflex/components/radix/themes/components/tooltip.pyi +20 -21
  150. reflex/components/radix/themes/layout/__init__.pyi +1 -1
  151. reflex/components/radix/themes/layout/base.pyi +16 -16
  152. reflex/components/radix/themes/layout/box.pyi +16 -16
  153. reflex/components/radix/themes/layout/center.pyi +16 -16
  154. reflex/components/radix/themes/layout/container.pyi +16 -16
  155. reflex/components/radix/themes/layout/flex.pyi +16 -16
  156. reflex/components/radix/themes/layout/grid.pyi +16 -16
  157. reflex/components/radix/themes/layout/list.py +2 -2
  158. reflex/components/radix/themes/layout/list.pyi +76 -76
  159. reflex/components/radix/themes/layout/section.pyi +16 -16
  160. reflex/components/radix/themes/layout/spacer.pyi +16 -16
  161. reflex/components/radix/themes/layout/stack.py +2 -2
  162. reflex/components/radix/themes/layout/stack.pyi +46 -46
  163. reflex/components/radix/themes/typography/blockquote.pyi +16 -16
  164. reflex/components/radix/themes/typography/code.pyi +16 -16
  165. reflex/components/radix/themes/typography/heading.pyi +16 -16
  166. reflex/components/radix/themes/typography/link.py +1 -1
  167. reflex/components/radix/themes/typography/link.pyi +16 -16
  168. reflex/components/radix/themes/typography/text.py +2 -2
  169. reflex/components/radix/themes/typography/text.pyi +106 -106
  170. reflex/components/react_player/audio.pyi +33 -39
  171. reflex/components/react_player/react_player.py +1 -1
  172. reflex/components/react_player/react_player.pyi +32 -38
  173. reflex/components/react_player/video.pyi +33 -39
  174. reflex/components/recharts/__init__.py +2 -0
  175. reflex/components/recharts/__init__.pyi +2 -0
  176. reflex/components/recharts/cartesian.pyi +282 -282
  177. reflex/components/recharts/charts.py +15 -15
  178. reflex/components/recharts/charts.pyi +164 -164
  179. reflex/components/recharts/general.py +19 -4
  180. reflex/components/recharts/general.pyi +132 -81
  181. reflex/components/recharts/polar.py +2 -2
  182. reflex/components/recharts/polar.pyi +55 -55
  183. reflex/components/recharts/recharts.py +4 -4
  184. reflex/components/recharts/recharts.pyi +31 -31
  185. reflex/components/sonner/toast.py +15 -13
  186. reflex/components/sonner/toast.pyi +22 -22
  187. reflex/components/suneditor/editor.py +6 -4
  188. reflex/components/suneditor/editor.pyi +26 -40
  189. reflex/components/tags/iter_tag.py +3 -3
  190. reflex/components/tags/tag.py +25 -3
  191. reflex/config.py +48 -15
  192. reflex/constants/__init__.py +1 -0
  193. reflex/constants/base.py +4 -1
  194. reflex/constants/compiler.py +5 -2
  195. reflex/constants/config.py +8 -1
  196. reflex/constants/installer.py +9 -9
  197. reflex/constants/style.py +1 -1
  198. reflex/custom_components/custom_components.py +9 -7
  199. reflex/event.py +215 -208
  200. reflex/experimental/__init__.py +19 -11
  201. reflex/experimental/client_state.py +53 -28
  202. reflex/experimental/hooks.py +5 -5
  203. reflex/experimental/layout.py +8 -5
  204. reflex/experimental/layout.pyi +79 -83
  205. reflex/experimental/misc.py +3 -3
  206. reflex/istate/wrappers.py +1 -1
  207. reflex/middleware/hydrate_middleware.py +2 -2
  208. reflex/model.py +11 -6
  209. reflex/page.py +5 -5
  210. reflex/reflex.py +90 -19
  211. reflex/route.py +1 -1
  212. reflex/state.py +358 -401
  213. reflex/style.py +27 -3
  214. reflex/testing.py +29 -23
  215. reflex/utils/build.py +6 -2
  216. reflex/utils/codespaces.py +1 -4
  217. reflex/utils/compat.py +6 -5
  218. reflex/utils/console.py +52 -16
  219. reflex/utils/exceptions.py +89 -26
  220. reflex/utils/exec.py +69 -74
  221. reflex/utils/export.py +6 -1
  222. reflex/utils/format.py +8 -40
  223. reflex/utils/imports.py +2 -2
  224. reflex/utils/lazy_loader.py +7 -1
  225. reflex/utils/path_ops.py +28 -14
  226. reflex/utils/prerequisites.py +326 -67
  227. reflex/utils/processes.py +45 -32
  228. reflex/utils/pyi_generator.py +39 -33
  229. reflex/utils/registry.py +4 -4
  230. reflex/utils/serializers.py +1 -1
  231. reflex/utils/telemetry.py +5 -4
  232. reflex/utils/types.py +42 -18
  233. reflex/vars/base.py +656 -333
  234. reflex/vars/datetime.py +6 -7
  235. reflex/vars/dep_tracking.py +344 -0
  236. reflex/vars/function.py +11 -5
  237. reflex/vars/number.py +31 -43
  238. reflex/vars/object.py +63 -62
  239. reflex/vars/sequence.py +79 -67
  240. {reflex-0.6.8a2.dist-info → reflex-0.7.0a2.dist-info}/METADATA +7 -8
  241. reflex-0.7.0a2.dist-info/RECORD +401 -0
  242. {reflex-0.6.8a2.dist-info → reflex-0.7.0a2.dist-info}/WHEEL +1 -1
  243. reflex/experimental/assets.py +0 -37
  244. reflex-0.6.8a2.dist-info/RECORD +0 -397
  245. {reflex-0.6.8a2.dist-info → reflex-0.7.0a2.dist-info}/LICENSE +0 -0
  246. {reflex-0.6.8a2.dist-info → reflex-0.7.0a2.dist-info}/entry_points.txt +0 -0
@@ -8,7 +8,7 @@ from typing import Any, Dict, List, Literal, Optional, Tuple, Union, overload
8
8
  from reflex.components.component import Component, ComponentNamespace
9
9
  from reflex.components.lucide.icon import Icon
10
10
  from reflex.components.radix.primitives.base import RadixPrimitiveComponent
11
- from reflex.event import BASE_STATE, EventType
11
+ from reflex.event import EventType
12
12
  from reflex.style import Style
13
13
  from reflex.vars.base import Var
14
14
 
@@ -101,21 +101,21 @@ class AccordionComponent(RadixPrimitiveComponent):
101
101
  class_name: Optional[Any] = None,
102
102
  autofocus: Optional[bool] = None,
103
103
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
104
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
105
- on_click: Optional[EventType[[], BASE_STATE]] = None,
106
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
107
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
108
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
109
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
110
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
111
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
112
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
113
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
114
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
115
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
116
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
117
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
118
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
104
+ on_blur: Optional[EventType[()]] = None,
105
+ on_click: Optional[EventType[()]] = None,
106
+ on_context_menu: Optional[EventType[()]] = None,
107
+ on_double_click: Optional[EventType[()]] = None,
108
+ on_focus: Optional[EventType[()]] = None,
109
+ on_mount: Optional[EventType[()]] = None,
110
+ on_mouse_down: Optional[EventType[()]] = None,
111
+ on_mouse_enter: Optional[EventType[()]] = None,
112
+ on_mouse_leave: Optional[EventType[()]] = None,
113
+ on_mouse_move: Optional[EventType[()]] = None,
114
+ on_mouse_out: Optional[EventType[()]] = None,
115
+ on_mouse_over: Optional[EventType[()]] = None,
116
+ on_mouse_up: Optional[EventType[()]] = None,
117
+ on_scroll: Optional[EventType[()]] = None,
118
+ on_unmount: Optional[EventType[()]] = None,
119
119
  **props,
120
120
  ) -> "AccordionComponent":
121
121
  """Create the component.
@@ -247,23 +247,23 @@ class AccordionRoot(AccordionComponent):
247
247
  class_name: Optional[Any] = None,
248
248
  autofocus: Optional[bool] = None,
249
249
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
250
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
251
- on_click: Optional[EventType[[], BASE_STATE]] = None,
252
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
253
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
254
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
255
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
256
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
257
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
258
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
259
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
260
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
261
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
262
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
263
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
264
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
250
+ on_blur: Optional[EventType[()]] = None,
251
+ on_click: Optional[EventType[()]] = None,
252
+ on_context_menu: Optional[EventType[()]] = None,
253
+ on_double_click: Optional[EventType[()]] = None,
254
+ on_focus: Optional[EventType[()]] = None,
255
+ on_mount: Optional[EventType[()]] = None,
256
+ on_mouse_down: Optional[EventType[()]] = None,
257
+ on_mouse_enter: Optional[EventType[()]] = None,
258
+ on_mouse_leave: Optional[EventType[()]] = None,
259
+ on_mouse_move: Optional[EventType[()]] = None,
260
+ on_mouse_out: Optional[EventType[()]] = None,
261
+ on_mouse_over: Optional[EventType[()]] = None,
262
+ on_mouse_up: Optional[EventType[()]] = None,
263
+ on_scroll: Optional[EventType[()]] = None,
264
+ on_unmount: Optional[EventType[()]] = None,
265
265
  on_value_change: Optional[
266
- Union[EventType[[], BASE_STATE], EventType[[str | List[str]], BASE_STATE]]
266
+ Union[EventType[()], EventType[str | List[str]]]
267
267
  ] = None,
268
268
  **props,
269
269
  ) -> "AccordionRoot":
@@ -308,7 +308,9 @@ class AccordionItem(AccordionComponent):
308
308
  value: Optional[Union[Var[str], str]] = None,
309
309
  disabled: Optional[Union[Var[bool], bool]] = None,
310
310
  header: Optional[Union[Component, Var[Union[Component, str]], str]] = None,
311
- content: Optional[Union[Component, Var[Union[Component, str]], str]] = None,
311
+ content: Optional[
312
+ Union[Component, Var[Optional[Union[Component, str]]], str]
313
+ ] = None,
312
314
  color_scheme: Optional[
313
315
  Union[
314
316
  Literal[
@@ -384,21 +386,21 @@ class AccordionItem(AccordionComponent):
384
386
  class_name: Optional[Any] = None,
385
387
  autofocus: Optional[bool] = None,
386
388
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
387
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
388
- on_click: Optional[EventType[[], BASE_STATE]] = None,
389
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
390
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
391
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
392
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
393
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
394
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
395
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
396
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
397
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
398
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
399
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
400
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
401
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
389
+ on_blur: Optional[EventType[()]] = None,
390
+ on_click: Optional[EventType[()]] = None,
391
+ on_context_menu: Optional[EventType[()]] = None,
392
+ on_double_click: Optional[EventType[()]] = None,
393
+ on_focus: Optional[EventType[()]] = None,
394
+ on_mount: Optional[EventType[()]] = None,
395
+ on_mouse_down: Optional[EventType[()]] = None,
396
+ on_mouse_enter: Optional[EventType[()]] = None,
397
+ on_mouse_leave: Optional[EventType[()]] = None,
398
+ on_mouse_move: Optional[EventType[()]] = None,
399
+ on_mouse_out: Optional[EventType[()]] = None,
400
+ on_mouse_over: Optional[EventType[()]] = None,
401
+ on_mouse_up: Optional[EventType[()]] = None,
402
+ on_scroll: Optional[EventType[()]] = None,
403
+ on_unmount: Optional[EventType[()]] = None,
402
404
  **props,
403
405
  ) -> "AccordionItem":
404
406
  """Create an accordion item.
@@ -508,21 +510,21 @@ class AccordionHeader(AccordionComponent):
508
510
  class_name: Optional[Any] = None,
509
511
  autofocus: Optional[bool] = None,
510
512
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
511
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
512
- on_click: Optional[EventType[[], BASE_STATE]] = None,
513
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
514
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
515
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
516
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
517
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
518
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
519
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
520
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
521
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
522
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
523
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
524
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
525
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
513
+ on_blur: Optional[EventType[()]] = None,
514
+ on_click: Optional[EventType[()]] = None,
515
+ on_context_menu: Optional[EventType[()]] = None,
516
+ on_double_click: Optional[EventType[()]] = None,
517
+ on_focus: Optional[EventType[()]] = None,
518
+ on_mount: Optional[EventType[()]] = None,
519
+ on_mouse_down: Optional[EventType[()]] = None,
520
+ on_mouse_enter: Optional[EventType[()]] = None,
521
+ on_mouse_leave: Optional[EventType[()]] = None,
522
+ on_mouse_move: Optional[EventType[()]] = None,
523
+ on_mouse_out: Optional[EventType[()]] = None,
524
+ on_mouse_over: Optional[EventType[()]] = None,
525
+ on_mouse_up: Optional[EventType[()]] = None,
526
+ on_scroll: Optional[EventType[()]] = None,
527
+ on_unmount: Optional[EventType[()]] = None,
526
528
  **props,
527
529
  ) -> "AccordionHeader":
528
530
  """Create the Accordion header component.
@@ -628,21 +630,21 @@ class AccordionTrigger(AccordionComponent):
628
630
  class_name: Optional[Any] = None,
629
631
  autofocus: Optional[bool] = None,
630
632
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
631
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
632
- on_click: Optional[EventType[[], BASE_STATE]] = None,
633
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
634
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
635
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
636
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
637
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
638
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
639
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
640
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
641
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
642
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
643
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
644
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
645
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
633
+ on_blur: Optional[EventType[()]] = None,
634
+ on_click: Optional[EventType[()]] = None,
635
+ on_context_menu: Optional[EventType[()]] = None,
636
+ on_double_click: Optional[EventType[()]] = None,
637
+ on_focus: Optional[EventType[()]] = None,
638
+ on_mount: Optional[EventType[()]] = None,
639
+ on_mouse_down: Optional[EventType[()]] = None,
640
+ on_mouse_enter: Optional[EventType[()]] = None,
641
+ on_mouse_leave: Optional[EventType[()]] = None,
642
+ on_mouse_move: Optional[EventType[()]] = None,
643
+ on_mouse_out: Optional[EventType[()]] = None,
644
+ on_mouse_over: Optional[EventType[()]] = None,
645
+ on_mouse_up: Optional[EventType[()]] = None,
646
+ on_scroll: Optional[EventType[()]] = None,
647
+ on_unmount: Optional[EventType[()]] = None,
646
648
  **props,
647
649
  ) -> "AccordionTrigger":
648
650
  """Create the Accordion trigger component.
@@ -680,21 +682,21 @@ class AccordionIcon(Icon):
680
682
  class_name: Optional[Any] = None,
681
683
  autofocus: Optional[bool] = None,
682
684
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
683
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
684
- on_click: Optional[EventType[[], BASE_STATE]] = None,
685
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
686
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
687
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
688
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
689
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
690
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
691
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
692
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
693
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
694
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
695
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
696
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
697
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
685
+ on_blur: Optional[EventType[()]] = None,
686
+ on_click: Optional[EventType[()]] = None,
687
+ on_context_menu: Optional[EventType[()]] = None,
688
+ on_double_click: Optional[EventType[()]] = None,
689
+ on_focus: Optional[EventType[()]] = None,
690
+ on_mount: Optional[EventType[()]] = None,
691
+ on_mouse_down: Optional[EventType[()]] = None,
692
+ on_mouse_enter: Optional[EventType[()]] = None,
693
+ on_mouse_leave: Optional[EventType[()]] = None,
694
+ on_mouse_move: Optional[EventType[()]] = None,
695
+ on_mouse_out: Optional[EventType[()]] = None,
696
+ on_mouse_over: Optional[EventType[()]] = None,
697
+ on_mouse_up: Optional[EventType[()]] = None,
698
+ on_scroll: Optional[EventType[()]] = None,
699
+ on_unmount: Optional[EventType[()]] = None,
698
700
  **props,
699
701
  ) -> "AccordionIcon":
700
702
  """Create the Accordion icon component.
@@ -797,21 +799,21 @@ class AccordionContent(AccordionComponent):
797
799
  class_name: Optional[Any] = None,
798
800
  autofocus: Optional[bool] = None,
799
801
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
800
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
801
- on_click: Optional[EventType[[], BASE_STATE]] = None,
802
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
803
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
804
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
805
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
806
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
807
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
808
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
809
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
810
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
811
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
812
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
813
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
814
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
802
+ on_blur: Optional[EventType[()]] = None,
803
+ on_click: Optional[EventType[()]] = None,
804
+ on_context_menu: Optional[EventType[()]] = None,
805
+ on_double_click: Optional[EventType[()]] = None,
806
+ on_focus: Optional[EventType[()]] = None,
807
+ on_mount: Optional[EventType[()]] = None,
808
+ on_mouse_down: Optional[EventType[()]] = None,
809
+ on_mouse_enter: Optional[EventType[()]] = None,
810
+ on_mouse_leave: Optional[EventType[()]] = None,
811
+ on_mouse_move: Optional[EventType[()]] = None,
812
+ on_mouse_out: Optional[EventType[()]] = None,
813
+ on_mouse_over: Optional[EventType[()]] = None,
814
+ on_mouse_up: Optional[EventType[()]] = None,
815
+ on_scroll: Optional[EventType[()]] = None,
816
+ on_unmount: Optional[EventType[()]] = None,
815
817
  **props,
816
818
  ) -> "AccordionContent":
817
819
  """Create the Accordion content component.
@@ -6,7 +6,7 @@
6
6
  from typing import Any, Dict, Optional, Union, overload
7
7
 
8
8
  from reflex.components.component import Component
9
- from reflex.event import BASE_STATE, EventType
9
+ from reflex.event import EventType
10
10
  from reflex.style import Style
11
11
  from reflex.vars.base import Var
12
12
 
@@ -23,21 +23,21 @@ class RadixPrimitiveComponent(Component):
23
23
  class_name: Optional[Any] = None,
24
24
  autofocus: Optional[bool] = None,
25
25
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
26
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
27
- on_click: Optional[EventType[[], BASE_STATE]] = None,
28
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
29
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
30
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
31
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
32
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
33
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
34
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
35
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
36
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
37
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
38
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
39
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
40
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
26
+ on_blur: Optional[EventType[()]] = None,
27
+ on_click: Optional[EventType[()]] = None,
28
+ on_context_menu: Optional[EventType[()]] = None,
29
+ on_double_click: Optional[EventType[()]] = None,
30
+ on_focus: Optional[EventType[()]] = None,
31
+ on_mount: Optional[EventType[()]] = None,
32
+ on_mouse_down: Optional[EventType[()]] = None,
33
+ on_mouse_enter: Optional[EventType[()]] = None,
34
+ on_mouse_leave: Optional[EventType[()]] = None,
35
+ on_mouse_move: Optional[EventType[()]] = None,
36
+ on_mouse_out: Optional[EventType[()]] = None,
37
+ on_mouse_over: Optional[EventType[()]] = None,
38
+ on_mouse_up: Optional[EventType[()]] = None,
39
+ on_scroll: Optional[EventType[()]] = None,
40
+ on_unmount: Optional[EventType[()]] = None,
41
41
  **props,
42
42
  ) -> "RadixPrimitiveComponent":
43
43
  """Create the component.
@@ -71,21 +71,21 @@ class RadixPrimitiveComponentWithClassName(RadixPrimitiveComponent):
71
71
  class_name: Optional[Any] = None,
72
72
  autofocus: Optional[bool] = None,
73
73
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
74
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
75
- on_click: Optional[EventType[[], BASE_STATE]] = None,
76
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
77
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
78
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
79
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
80
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
81
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
82
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
83
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
84
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
85
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
86
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
87
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
88
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
74
+ on_blur: Optional[EventType[()]] = None,
75
+ on_click: Optional[EventType[()]] = None,
76
+ on_context_menu: Optional[EventType[()]] = None,
77
+ on_double_click: Optional[EventType[()]] = None,
78
+ on_focus: Optional[EventType[()]] = None,
79
+ on_mount: Optional[EventType[()]] = None,
80
+ on_mouse_down: Optional[EventType[()]] = None,
81
+ on_mouse_enter: Optional[EventType[()]] = None,
82
+ on_mouse_leave: Optional[EventType[()]] = None,
83
+ on_mouse_move: Optional[EventType[()]] = None,
84
+ on_mouse_out: Optional[EventType[()]] = None,
85
+ on_mouse_over: Optional[EventType[()]] = None,
86
+ on_mouse_up: Optional[EventType[()]] = None,
87
+ on_scroll: Optional[EventType[()]] = None,
88
+ on_unmount: Optional[EventType[()]] = None,
89
89
  **props,
90
90
  ) -> "RadixPrimitiveComponentWithClassName":
91
91
  """Create the component.
@@ -10,6 +10,7 @@ from reflex.components.component import Component, ComponentNamespace
10
10
  from reflex.components.radix.primitives.base import RadixPrimitiveComponent
11
11
  from reflex.components.radix.themes.base import Theme
12
12
  from reflex.components.radix.themes.layout.flex import Flex
13
+ from reflex.constants.compiler import MemoizationMode
13
14
  from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spec
14
15
  from reflex.vars.base import Var
15
16
 
@@ -66,7 +67,7 @@ class DrawerRoot(DrawerComponent):
66
67
  scroll_lock_timeout: Var[int]
67
68
 
68
69
  # When `True`, it prevents scroll restoration. Defaults to `True`.
69
- preventScrollRestoration: Var[bool]
70
+ prevent_scroll_restoration: Var[bool]
70
71
 
71
72
  # Enable background scaling, it requires container element with `vaul-drawer-wrapper` attribute to scale its background.
72
73
  should_scale_background: Var[bool]
@@ -83,7 +84,9 @@ class DrawerTrigger(DrawerComponent):
83
84
  alias = "Vaul" + tag
84
85
 
85
86
  # Defaults to true, if the first child acts as the trigger.
86
- as_child: Var[bool] = True # type: ignore
87
+ as_child: Var[bool] = Var.create(True)
88
+
89
+ _memoization_mode = MemoizationMode(recursive=False)
87
90
 
88
91
  @classmethod
89
92
  def create(cls, *children: Any, **props: Any) -> Component: