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
@@ -5,12 +5,14 @@
5
5
  # ------------------------------------------------------
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
7
7
 
8
- from reflex.event import BASE_STATE, EventType
8
+ from reflex.event import EventType
9
9
  from reflex.style import Style
10
10
  from reflex.vars.base import Var
11
11
 
12
12
  from .base import NextComponent
13
13
 
14
+ DEFAULT_W_H = "100%"
15
+
14
16
  class Image(NextComponent):
15
17
  @overload
16
18
  @classmethod
@@ -30,30 +32,30 @@ class Image(NextComponent):
30
32
  loading: Optional[
31
33
  Union[Literal["eager", "lazy"], Var[Literal["eager", "lazy"]]]
32
34
  ] = None,
33
- blurDataURL: Optional[Union[Var[str], str]] = None,
35
+ blur_data_url: Optional[Union[Var[str], str]] = None,
34
36
  style: Optional[Style] = None,
35
37
  key: Optional[Any] = None,
36
38
  id: Optional[Any] = None,
37
39
  class_name: Optional[Any] = None,
38
40
  autofocus: Optional[bool] = None,
39
41
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
40
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
41
- on_click: Optional[EventType[[], BASE_STATE]] = None,
42
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
43
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
44
- on_error: Optional[EventType[[], BASE_STATE]] = None,
45
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
46
- on_load: Optional[EventType[[], BASE_STATE]] = None,
47
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
48
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
49
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
50
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
51
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
52
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
53
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
54
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
55
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
56
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
42
+ on_blur: Optional[EventType[()]] = None,
43
+ on_click: Optional[EventType[()]] = None,
44
+ on_context_menu: Optional[EventType[()]] = None,
45
+ on_double_click: Optional[EventType[()]] = None,
46
+ on_error: Optional[EventType[()]] = None,
47
+ on_focus: Optional[EventType[()]] = None,
48
+ on_load: Optional[EventType[()]] = None,
49
+ on_mount: Optional[EventType[()]] = None,
50
+ on_mouse_down: Optional[EventType[()]] = None,
51
+ on_mouse_enter: Optional[EventType[()]] = None,
52
+ on_mouse_leave: Optional[EventType[()]] = None,
53
+ on_mouse_move: Optional[EventType[()]] = None,
54
+ on_mouse_out: Optional[EventType[()]] = None,
55
+ on_mouse_over: Optional[EventType[()]] = None,
56
+ on_mouse_up: Optional[EventType[()]] = None,
57
+ on_scroll: Optional[EventType[()]] = None,
58
+ on_unmount: Optional[EventType[()]] = None,
57
59
  **props,
58
60
  ) -> "Image":
59
61
  """Create an Image component from next/image.
@@ -71,7 +73,7 @@ class Image(NextComponent):
71
73
  priority: When true, the image will be considered high priority and preload. Lazy loading is automatically disabled for images using priority.
72
74
  placeholder: A placeholder to use while the image is loading. Possible values are blur, empty, or data:image/.... Defaults to empty.
73
75
  loading: The loading behavior of the image. Defaults to lazy. Can hurt performance, recommended to use `priority` instead.
74
- blurDataURL: A Data URL to be used as a placeholder image before the src image successfully loads. Only takes effect when combined with placeholder="blur".
76
+ blur_data_url: A Data URL to be used as a placeholder image before the src image successfully loads. Only takes effect when combined with placeholder="blur".
75
77
  on_load: Fires when the image has loaded.
76
78
  on_error: Fires when the image has an error.
77
79
  style: The style of the component.
@@ -17,4 +17,4 @@ class NextLink(Component):
17
17
  href: Var[str]
18
18
 
19
19
  # Whether to pass the href prop to the child.
20
- pass_href: Var[bool] = True # type: ignore
20
+ pass_href: Var[bool] = Var.create(True)
@@ -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
 
@@ -24,21 +24,21 @@ class NextLink(Component):
24
24
  class_name: Optional[Any] = None,
25
25
  autofocus: Optional[bool] = None,
26
26
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
27
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
28
- on_click: Optional[EventType[[], BASE_STATE]] = None,
29
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
30
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
31
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
32
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
33
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
34
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
35
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
36
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
37
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
38
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
39
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
40
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
41
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
27
+ on_blur: Optional[EventType[()]] = None,
28
+ on_click: Optional[EventType[()]] = None,
29
+ on_context_menu: Optional[EventType[()]] = None,
30
+ on_double_click: Optional[EventType[()]] = None,
31
+ on_focus: Optional[EventType[()]] = None,
32
+ on_mount: Optional[EventType[()]] = None,
33
+ on_mouse_down: Optional[EventType[()]] = None,
34
+ on_mouse_enter: Optional[EventType[()]] = None,
35
+ on_mouse_leave: Optional[EventType[()]] = None,
36
+ on_mouse_move: Optional[EventType[()]] = None,
37
+ on_mouse_out: Optional[EventType[()]] = None,
38
+ on_mouse_over: Optional[EventType[()]] = None,
39
+ on_mouse_up: Optional[EventType[()]] = None,
40
+ on_scroll: Optional[EventType[()]] = None,
41
+ on_unmount: Optional[EventType[()]] = None,
42
42
  **props,
43
43
  ) -> "NextLink":
44
44
  """Create the 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
 
@@ -26,21 +26,21 @@ class Video(NextComponent):
26
26
  class_name: Optional[Any] = None,
27
27
  autofocus: Optional[bool] = None,
28
28
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
29
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
30
- on_click: Optional[EventType[[], BASE_STATE]] = None,
31
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
32
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
33
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
34
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
35
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
36
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
37
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
38
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
39
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
40
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
41
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
42
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
43
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
29
+ on_blur: Optional[EventType[()]] = None,
30
+ on_click: Optional[EventType[()]] = None,
31
+ on_context_menu: Optional[EventType[()]] = None,
32
+ on_double_click: Optional[EventType[()]] = None,
33
+ on_focus: Optional[EventType[()]] = None,
34
+ on_mount: Optional[EventType[()]] = None,
35
+ on_mouse_down: Optional[EventType[()]] = None,
36
+ on_mouse_enter: Optional[EventType[()]] = None,
37
+ on_mouse_leave: Optional[EventType[()]] = None,
38
+ on_mouse_move: Optional[EventType[()]] = None,
39
+ on_mouse_out: Optional[EventType[()]] = None,
40
+ on_mouse_over: Optional[EventType[()]] = None,
41
+ on_mouse_up: Optional[EventType[()]] = None,
42
+ on_scroll: Optional[EventType[()]] = None,
43
+ on_unmount: Optional[EventType[()]] = None,
44
44
  **props,
45
45
  ) -> "Video":
46
46
  """Create a Video component.
@@ -18,8 +18,8 @@ try:
18
18
  Template = layout.Template
19
19
  except ImportError:
20
20
  console.warn("Plotly is not installed. Please run `pip install plotly`.")
21
- Figure = Any # type: ignore
22
- Template = Any # type: ignore
21
+ Figure = Any
22
+ Template = Any
23
23
 
24
24
 
25
25
  def _event_points_data_signature(e0: Var) -> Tuple[Var[List[Point]]]:
@@ -95,20 +95,20 @@ class Plotly(NoSSRComponent):
95
95
 
96
96
  library = "react-plotly.js@2.6.0"
97
97
 
98
- lib_dependencies: List[str] = ["plotly.js@2.35.2"]
98
+ lib_dependencies: List[str] = ["plotly.js@2.35.3"]
99
99
 
100
100
  tag = "Plot"
101
101
 
102
102
  is_default = True
103
103
 
104
104
  # The figure to display. This can be a plotly figure or a plotly data json.
105
- data: Var[Figure] # type: ignore
105
+ data: Var[Figure] # pyright: ignore [reportInvalidTypeForm]
106
106
 
107
107
  # The layout of the graph.
108
108
  layout: Var[Dict]
109
109
 
110
110
  # The template for visual appearance of the graph.
111
- template: Var[Template] # type: ignore
111
+ template: Var[Template] # pyright: ignore [reportInvalidTypeForm]
112
112
 
113
113
  # The config of the graph.
114
114
  config: Var[Dict]
@@ -8,7 +8,7 @@ from typing import Any, Dict, List, Optional, Union, overload
8
8
  from typing_extensions import TypedDict, TypeVar
9
9
 
10
10
  from reflex.components.component import NoSSRComponent
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.utils import console
14
14
  from reflex.vars.base import Var
@@ -65,49 +65,39 @@ class Plotly(NoSSRComponent):
65
65
  class_name: Optional[Any] = None,
66
66
  autofocus: Optional[bool] = None,
67
67
  custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
68
- on_after_plot: Optional[EventType[[], BASE_STATE]] = None,
69
- on_animated: Optional[EventType[[], BASE_STATE]] = None,
70
- on_animating_frame: Optional[EventType[[], BASE_STATE]] = None,
71
- on_animation_interrupted: Optional[EventType[[], BASE_STATE]] = None,
72
- on_autosize: Optional[EventType[[], BASE_STATE]] = None,
73
- on_before_hover: Optional[EventType[[], BASE_STATE]] = None,
74
- on_blur: Optional[EventType[[], BASE_STATE]] = None,
75
- on_button_clicked: Optional[EventType[[], BASE_STATE]] = None,
76
- on_click: Optional[
77
- Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
78
- ] = None,
79
- on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
80
- on_deselect: Optional[EventType[[], BASE_STATE]] = None,
81
- on_double_click: Optional[EventType[[], BASE_STATE]] = None,
82
- on_focus: Optional[EventType[[], BASE_STATE]] = None,
83
- on_hover: Optional[
84
- Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
85
- ] = None,
86
- on_mount: Optional[EventType[[], BASE_STATE]] = None,
87
- on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
88
- on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
89
- on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
90
- on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
91
- on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
92
- on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
93
- on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
94
- on_redraw: Optional[EventType[[], BASE_STATE]] = None,
95
- on_relayout: Optional[EventType[[], BASE_STATE]] = None,
96
- on_relayouting: Optional[EventType[[], BASE_STATE]] = None,
97
- on_restyle: Optional[EventType[[], BASE_STATE]] = None,
98
- on_scroll: Optional[EventType[[], BASE_STATE]] = None,
99
- on_selected: Optional[
100
- Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
101
- ] = None,
102
- on_selecting: Optional[
103
- Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
104
- ] = None,
105
- on_transition_interrupted: Optional[EventType[[], BASE_STATE]] = None,
106
- on_transitioning: Optional[EventType[[], BASE_STATE]] = None,
107
- on_unhover: Optional[
108
- Union[EventType[[], BASE_STATE], EventType[[List[Point]], BASE_STATE]]
109
- ] = None,
110
- on_unmount: Optional[EventType[[], BASE_STATE]] = None,
68
+ on_after_plot: Optional[EventType[()]] = None,
69
+ on_animated: Optional[EventType[()]] = None,
70
+ on_animating_frame: Optional[EventType[()]] = None,
71
+ on_animation_interrupted: Optional[EventType[()]] = None,
72
+ on_autosize: Optional[EventType[()]] = None,
73
+ on_before_hover: Optional[EventType[()]] = None,
74
+ on_blur: Optional[EventType[()]] = None,
75
+ on_button_clicked: Optional[EventType[()]] = None,
76
+ on_click: Optional[Union[EventType[()], EventType[List[Point]]]] = None,
77
+ on_context_menu: Optional[EventType[()]] = None,
78
+ on_deselect: Optional[EventType[()]] = None,
79
+ on_double_click: Optional[EventType[()]] = None,
80
+ on_focus: Optional[EventType[()]] = None,
81
+ on_hover: Optional[Union[EventType[()], EventType[List[Point]]]] = None,
82
+ on_mount: Optional[EventType[()]] = None,
83
+ on_mouse_down: Optional[EventType[()]] = None,
84
+ on_mouse_enter: Optional[EventType[()]] = None,
85
+ on_mouse_leave: Optional[EventType[()]] = None,
86
+ on_mouse_move: Optional[EventType[()]] = None,
87
+ on_mouse_out: Optional[EventType[()]] = None,
88
+ on_mouse_over: Optional[EventType[()]] = None,
89
+ on_mouse_up: Optional[EventType[()]] = None,
90
+ on_redraw: Optional[EventType[()]] = None,
91
+ on_relayout: Optional[EventType[()]] = None,
92
+ on_relayouting: Optional[EventType[()]] = None,
93
+ on_restyle: Optional[EventType[()]] = None,
94
+ on_scroll: Optional[EventType[()]] = None,
95
+ on_selected: Optional[Union[EventType[()], EventType[List[Point]]]] = None,
96
+ on_selecting: Optional[Union[EventType[()], EventType[List[Point]]]] = None,
97
+ on_transition_interrupted: Optional[EventType[()]] = None,
98
+ on_transitioning: Optional[EventType[()]] = None,
99
+ on_unhover: Optional[Union[EventType[()], EventType[List[Point]]]] = None,
100
+ on_unmount: Optional[EventType[()]] = None,
111
101
  **props,
112
102
  ) -> "Plotly":
113
103
  """Create the Plotly component.
@@ -48,7 +48,7 @@ class PropsBase(Base):
48
48
  class NoExtrasAllowedProps(Base):
49
49
  """A class that holds props to be passed or applied to a component with no extra props allowed."""
50
50
 
51
- def __init__(self, component_name=None, **kwargs):
51
+ def __init__(self, component_name: str | None = None, **kwargs):
52
52
  """Initialize the props.
53
53
 
54
54
  Args:
@@ -62,13 +62,13 @@ class NoExtrasAllowedProps(Base):
62
62
  try:
63
63
  super().__init__(**kwargs)
64
64
  except ValidationError as e:
65
- invalid_fields = ", ".join([error["loc"][0] for error in e.errors()]) # type: ignore
65
+ invalid_fields = ", ".join([error["loc"][0] for error in e.errors()]) # pyright: ignore [reportCallIssue, reportArgumentType]
66
66
  supported_props_str = ", ".join(f'"{field}"' for field in self.get_fields())
67
67
  raise InvalidPropValueError(
68
68
  f"Invalid prop(s) {invalid_fields} for {component_name!r}. Supported props are {supported_props_str}"
69
69
  ) from None
70
70
 
71
- class Config:
71
+ class Config: # pyright: ignore [reportIncompatibleVariableOverride]
72
72
  """Pydantic config."""
73
73
 
74
74
  arbitrary_types_allowed = True
@@ -55,7 +55,7 @@ from .themes.layout.container import container as container
55
55
  from .themes.layout.flex import flex as flex
56
56
  from .themes.layout.grid import grid as grid
57
57
  from .themes.layout.list import list_item as list_item
58
- from .themes.layout.list import list_ns as list # noqa
58
+ from .themes.layout.list import list_ns as list # noqa: F401
59
59
  from .themes.layout.list import ordered_list as ordered_list
60
60
  from .themes.layout.list import unordered_list as unordered_list
61
61
  from .themes.layout.section import section as section
@@ -10,6 +10,7 @@ from reflex.components.core.cond import cond
10
10
  from reflex.components.lucide.icon import Icon
11
11
  from reflex.components.radix.primitives.base import RadixPrimitiveComponent
12
12
  from reflex.components.radix.themes.base import LiteralAccentColor, LiteralRadius
13
+ from reflex.constants.compiler import MemoizationMode
13
14
  from reflex.event import EventHandler
14
15
  from reflex.style import Style
15
16
  from reflex.vars import get_uuid_string_var
@@ -196,8 +197,9 @@ class AccordionItem(AccordionComponent):
196
197
 
197
198
  # The header of the accordion item.
198
199
  header: Var[Union[Component, str]]
200
+
199
201
  # The content of the accordion item.
200
- content: Var[Union[Component, str]] = Var.create(None)
202
+ content: Var[Union[Component, str, None]] = Var.create(None)
201
203
 
202
204
  _valid_children: List[str] = [
203
205
  "AccordionHeader",
@@ -341,6 +343,8 @@ class AccordionTrigger(AccordionComponent):
341
343
 
342
344
  alias = "RadixAccordionTrigger"
343
345
 
346
+ _memoization_mode = MemoizationMode(recursive=False)
347
+
344
348
  @classmethod
345
349
  def create(cls, *children, **props) -> Component:
346
350
  """Create the Accordion trigger component.
@@ -485,11 +489,11 @@ to {
485
489
  Returns:
486
490
  The style of the component.
487
491
  """
488
- slideDown = LiteralVar.create(
492
+ slide_down = LiteralVar.create(
489
493
  "${slideDown} var(--animation-duration) var(--animation-easing)",
490
494
  )
491
495
 
492
- slideUp = LiteralVar.create(
496
+ slide_up = LiteralVar.create(
493
497
  "${slideUp} var(--animation-duration) var(--animation-easing)",
494
498
  )
495
499
 
@@ -503,8 +507,8 @@ to {
503
507
  "display": "block",
504
508
  "height": "var(--space-3)",
505
509
  },
506
- "&[data-state='open']": {"animation": slideDown},
507
- "&[data-state='closed']": {"animation": slideUp},
510
+ "&[data-state='open']": {"animation": slide_down},
511
+ "&[data-state='closed']": {"animation": slide_up},
508
512
  _inherited_variant_selector("classic"): {
509
513
  "color": "var(--accent-contrast)",
510
514
  },