reflex 0.6.4a3__py3-none-any.whl → 0.6.5__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 (228) hide show
  1. reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -14
  2. reflex/.templates/jinja/web/pages/utils.js.jinja2 +4 -8
  3. reflex/.templates/web/components/shiki/code.js +16 -11
  4. reflex/.templates/web/utils/state.js +29 -21
  5. reflex/__init__.py +4 -0
  6. reflex/__init__.pyi +4 -0
  7. reflex/app.py +148 -154
  8. reflex/app_mixins/lifespan.py +5 -1
  9. reflex/app_mixins/middleware.py +3 -1
  10. reflex/app_mixins/mixin.py +3 -2
  11. reflex/base.py +2 -4
  12. reflex/compiler/compiler.py +111 -37
  13. reflex/components/base/app_wrap.pyi +17 -17
  14. reflex/components/base/bare.py +72 -3
  15. reflex/components/base/body.pyi +17 -17
  16. reflex/components/base/document.pyi +81 -81
  17. reflex/components/base/error_boundary.pyi +25 -18
  18. reflex/components/base/fragment.pyi +17 -17
  19. reflex/components/base/head.pyi +33 -33
  20. reflex/components/base/link.pyi +33 -33
  21. reflex/components/base/meta.pyi +65 -65
  22. reflex/components/base/script.py +4 -4
  23. reflex/components/base/script.pyi +23 -20
  24. reflex/components/component.py +250 -31
  25. reflex/components/core/banner.py +1 -1
  26. reflex/components/core/banner.pyi +81 -81
  27. reflex/components/core/client_side_routing.pyi +33 -33
  28. reflex/components/core/clipboard.py +2 -2
  29. reflex/components/core/clipboard.pyi +24 -18
  30. reflex/components/core/debounce.py +2 -2
  31. reflex/components/core/debounce.pyi +18 -18
  32. reflex/components/core/html.pyi +17 -17
  33. reflex/components/core/upload.py +90 -28
  34. reflex/components/core/upload.pyi +128 -72
  35. reflex/components/datadisplay/code.py +55 -40
  36. reflex/components/datadisplay/code.pyi +46 -44
  37. reflex/components/datadisplay/dataeditor.py +21 -20
  38. reflex/components/datadisplay/dataeditor.pyi +103 -35
  39. reflex/components/datadisplay/shiki_code_block.py +60 -27
  40. reflex/components/datadisplay/shiki_code_block.pyi +86 -65
  41. reflex/components/dynamic.py +9 -5
  42. reflex/components/el/element.pyi +17 -17
  43. reflex/components/el/elements/base.pyi +17 -17
  44. reflex/components/el/elements/forms.py +12 -3
  45. reflex/components/el/elements/forms.pyi +293 -233
  46. reflex/components/el/elements/inline.pyi +449 -449
  47. reflex/components/el/elements/media.pyi +401 -401
  48. reflex/components/el/elements/metadata.pyi +97 -97
  49. reflex/components/el/elements/other.pyi +113 -113
  50. reflex/components/el/elements/scripts.pyi +49 -49
  51. reflex/components/el/elements/sectioning.pyi +241 -241
  52. reflex/components/el/elements/tables.pyi +161 -161
  53. reflex/components/el/elements/typography.pyi +241 -241
  54. reflex/components/gridjs/datatable.pyi +33 -33
  55. reflex/components/lucide/icon.py +1 -1
  56. reflex/components/lucide/icon.pyi +33 -33
  57. reflex/components/markdown/markdown.py +180 -49
  58. reflex/components/markdown/markdown.pyi +36 -19
  59. reflex/components/moment/moment.py +17 -21
  60. reflex/components/moment/moment.pyi +26 -21
  61. reflex/components/next/base.pyi +17 -17
  62. reflex/components/next/image.py +3 -3
  63. reflex/components/next/image.pyi +21 -19
  64. reflex/components/next/link.pyi +17 -17
  65. reflex/components/next/video.pyi +17 -17
  66. reflex/components/plotly/plotly.py +79 -78
  67. reflex/components/plotly/plotly.pyi +91 -41
  68. reflex/components/props.py +34 -0
  69. reflex/components/radix/primitives/accordion.py +15 -8
  70. reflex/components/radix/primitives/accordion.pyi +121 -118
  71. reflex/components/radix/primitives/base.pyi +33 -33
  72. reflex/components/radix/primitives/drawer.py +41 -20
  73. reflex/components/radix/primitives/drawer.pyi +279 -190
  74. reflex/components/radix/primitives/form.py +2 -2
  75. reflex/components/radix/primitives/form.pyi +200 -167
  76. reflex/components/radix/primitives/progress.pyi +81 -81
  77. reflex/components/radix/primitives/slider.pyi +89 -83
  78. reflex/components/radix/themes/base.py +30 -1
  79. reflex/components/radix/themes/base.pyi +286 -113
  80. reflex/components/radix/themes/color_mode.py +17 -9
  81. reflex/components/radix/themes/color_mode.pyi +68 -56
  82. reflex/components/radix/themes/components/alert_dialog.py +8 -5
  83. reflex/components/radix/themes/components/alert_dialog.pyi +125 -117
  84. reflex/components/radix/themes/components/aspect_ratio.pyi +17 -17
  85. reflex/components/radix/themes/components/avatar.py +1 -5
  86. reflex/components/radix/themes/components/avatar.pyi +17 -17
  87. reflex/components/radix/themes/components/badge.py +1 -5
  88. reflex/components/radix/themes/components/badge.pyi +17 -17
  89. reflex/components/radix/themes/components/button.pyi +18 -21
  90. reflex/components/radix/themes/components/callout.py +1 -4
  91. reflex/components/radix/themes/components/callout.pyi +81 -81
  92. reflex/components/radix/themes/components/card.py +1 -3
  93. reflex/components/radix/themes/components/card.pyi +17 -17
  94. reflex/components/radix/themes/components/checkbox.py +4 -8
  95. reflex/components/radix/themes/components/checkbox.pyi +61 -52
  96. reflex/components/radix/themes/components/checkbox_cards.pyi +33 -33
  97. reflex/components/radix/themes/components/checkbox_group.pyi +33 -33
  98. reflex/components/radix/themes/components/context_menu.py +121 -28
  99. reflex/components/radix/themes/components/context_menu.pyi +250 -147
  100. reflex/components/radix/themes/components/data_list.pyi +65 -65
  101. reflex/components/radix/themes/components/dialog.py +11 -11
  102. reflex/components/radix/themes/components/dialog.pyi +135 -120
  103. reflex/components/radix/themes/components/dropdown_menu.py +14 -25
  104. reflex/components/radix/themes/components/dropdown_menu.pyi +157 -145
  105. reflex/components/radix/themes/components/hover_card.py +19 -7
  106. reflex/components/radix/themes/components/hover_card.pyi +102 -67
  107. reflex/components/radix/themes/components/icon_button.pyi +18 -21
  108. reflex/components/radix/themes/components/inset.py +1 -3
  109. reflex/components/radix/themes/components/inset.pyi +17 -17
  110. reflex/components/radix/themes/components/popover.py +22 -13
  111. reflex/components/radix/themes/components/popover.pyi +98 -72
  112. reflex/components/radix/themes/components/progress.pyi +17 -17
  113. reflex/components/radix/themes/components/radio.pyi +17 -17
  114. reflex/components/radix/themes/components/radio_cards.py +2 -2
  115. reflex/components/radix/themes/components/radio_cards.pyi +37 -34
  116. reflex/components/radix/themes/components/radio_group.py +3 -7
  117. reflex/components/radix/themes/components/radio_group.pyi +69 -66
  118. reflex/components/radix/themes/components/scroll_area.py +1 -3
  119. reflex/components/radix/themes/components/scroll_area.pyi +17 -17
  120. reflex/components/radix/themes/components/segmented_control.pyi +37 -34
  121. reflex/components/radix/themes/components/select.py +7 -11
  122. reflex/components/radix/themes/components/select.pyi +175 -154
  123. reflex/components/radix/themes/components/separator.py +1 -4
  124. reflex/components/radix/themes/components/separator.pyi +17 -17
  125. reflex/components/radix/themes/components/skeleton.pyi +17 -17
  126. reflex/components/radix/themes/components/slider.py +12 -21
  127. reflex/components/radix/themes/components/slider.pyi +47 -25
  128. reflex/components/radix/themes/components/spinner.py +1 -4
  129. reflex/components/radix/themes/components/spinner.pyi +17 -17
  130. reflex/components/radix/themes/components/switch.py +3 -6
  131. reflex/components/radix/themes/components/switch.pyi +21 -18
  132. reflex/components/radix/themes/components/table.py +21 -5
  133. reflex/components/radix/themes/components/table.pyi +392 -116
  134. reflex/components/radix/themes/components/tabs.py +3 -6
  135. reflex/components/radix/themes/components/tabs.pyi +89 -83
  136. reflex/components/radix/themes/components/text_area.py +1 -5
  137. reflex/components/radix/themes/components/text_area.pyi +43 -20
  138. reflex/components/radix/themes/components/text_field.py +1 -5
  139. reflex/components/radix/themes/components/text_field.pyi +101 -55
  140. reflex/components/radix/themes/components/tooltip.py +5 -7
  141. reflex/components/radix/themes/components/tooltip.pyi +25 -22
  142. reflex/components/radix/themes/layout/base.py +2 -27
  143. reflex/components/radix/themes/layout/base.pyi +82 -82
  144. reflex/components/radix/themes/layout/box.pyi +17 -17
  145. reflex/components/radix/themes/layout/center.pyi +17 -17
  146. reflex/components/radix/themes/layout/container.pyi +17 -17
  147. reflex/components/radix/themes/layout/flex.py +1 -6
  148. reflex/components/radix/themes/layout/flex.pyi +17 -17
  149. reflex/components/radix/themes/layout/grid.py +1 -6
  150. reflex/components/radix/themes/layout/grid.pyi +17 -17
  151. reflex/components/radix/themes/layout/list.py +20 -15
  152. reflex/components/radix/themes/layout/list.pyi +175 -92
  153. reflex/components/radix/themes/layout/section.pyi +17 -17
  154. reflex/components/radix/themes/layout/spacer.pyi +17 -17
  155. reflex/components/radix/themes/layout/stack.py +6 -6
  156. reflex/components/radix/themes/layout/stack.pyi +91 -62
  157. reflex/components/radix/themes/typography/blockquote.py +2 -8
  158. reflex/components/radix/themes/typography/blockquote.pyi +17 -17
  159. reflex/components/radix/themes/typography/code.py +4 -10
  160. reflex/components/radix/themes/typography/code.pyi +19 -18
  161. reflex/components/radix/themes/typography/heading.py +4 -11
  162. reflex/components/radix/themes/typography/heading.pyi +19 -18
  163. reflex/components/radix/themes/typography/link.py +4 -10
  164. reflex/components/radix/themes/typography/link.pyi +19 -18
  165. reflex/components/radix/themes/typography/text.py +4 -11
  166. reflex/components/radix/themes/typography/text.pyi +115 -114
  167. reflex/components/react_player/audio.pyi +58 -33
  168. reflex/components/react_player/react_player.py +17 -17
  169. reflex/components/react_player/react_player.pyi +55 -33
  170. reflex/components/react_player/video.pyi +58 -33
  171. reflex/components/recharts/cartesian.py +45 -45
  172. reflex/components/recharts/cartesian.pyi +389 -304
  173. reflex/components/recharts/charts.py +22 -22
  174. reflex/components/recharts/charts.pyi +226 -179
  175. reflex/components/recharts/general.py +26 -27
  176. reflex/components/recharts/general.pyi +106 -99
  177. reflex/components/recharts/polar.py +33 -33
  178. reflex/components/recharts/polar.pyi +70 -64
  179. reflex/components/recharts/recharts.pyi +33 -33
  180. reflex/components/sonner/toast.py +9 -36
  181. reflex/components/sonner/toast.pyi +20 -24
  182. reflex/components/suneditor/editor.py +8 -8
  183. reflex/components/suneditor/editor.pyi +50 -25
  184. reflex/components/tags/iter_tag.py +1 -10
  185. reflex/components/tags/tag.py +1 -4
  186. reflex/config.py +198 -35
  187. reflex/constants/__init__.py +4 -16
  188. reflex/constants/base.py +7 -14
  189. reflex/constants/colors.py +0 -1
  190. reflex/constants/installer.py +12 -7
  191. reflex/constants/state.py +4 -0
  192. reflex/custom_components/custom_components.py +6 -6
  193. reflex/event.py +486 -241
  194. reflex/experimental/client_state.py +9 -9
  195. reflex/experimental/layout.py +2 -2
  196. reflex/experimental/layout.pyi +95 -87
  197. reflex/experimental/misc.py +1 -1
  198. reflex/istate/__init__.py +1 -0
  199. reflex/istate/proxy.py +33 -0
  200. reflex/istate/wrappers.py +27 -0
  201. reflex/model.py +7 -7
  202. reflex/page.py +2 -1
  203. reflex/reflex.py +142 -8
  204. reflex/state.py +133 -46
  205. reflex/testing.py +9 -7
  206. reflex/utils/console.py +0 -1
  207. reflex/utils/exceptions.py +31 -3
  208. reflex/utils/exec.py +33 -14
  209. reflex/utils/format.py +15 -12
  210. reflex/utils/net.py +1 -1
  211. reflex/utils/path_ops.py +2 -2
  212. reflex/utils/prerequisites.py +82 -46
  213. reflex/utils/pyi_generator.py +63 -20
  214. reflex/utils/registry.py +1 -1
  215. reflex/utils/serializers.py +75 -36
  216. reflex/utils/telemetry.py +3 -2
  217. reflex/utils/types.py +125 -10
  218. reflex/vars/base.py +131 -119
  219. reflex/vars/function.py +59 -12
  220. reflex/vars/number.py +3 -1
  221. reflex/vars/object.py +30 -24
  222. reflex/vars/sequence.py +7 -7
  223. {reflex-0.6.4a3.dist-info → reflex-0.6.5.dist-info}/METADATA +3 -3
  224. reflex-0.6.5.dist-info/RECORD +394 -0
  225. reflex-0.6.4a3.dist-info/RECORD +0 -391
  226. {reflex-0.6.4a3.dist-info → reflex-0.6.5.dist-info}/LICENSE +0 -0
  227. {reflex-0.6.4a3.dist-info → reflex-0.6.5.dist-info}/WHEEL +0 -0
  228. {reflex-0.6.4a3.dist-info → reflex-0.6.5.dist-info}/entry_points.txt +0 -0
@@ -7,7 +7,7 @@ from types import SimpleNamespace
7
7
  from typing import Any, Dict, Literal, Optional, Union, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
- from reflex.event import EventType
10
+ from reflex.event import BASE_STATE, EventType
11
11
  from reflex.style import Style
12
12
  from reflex.vars.base import Var
13
13
 
@@ -147,22 +147,22 @@ class CheckboxCardsRoot(RadixThemesComponent):
147
147
  id: Optional[Any] = None,
148
148
  class_name: Optional[Any] = None,
149
149
  autofocus: Optional[bool] = None,
150
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
151
- on_blur: Optional[EventType[[]]] = None,
152
- on_click: Optional[EventType[[]]] = None,
153
- on_context_menu: Optional[EventType[[]]] = None,
154
- on_double_click: Optional[EventType[[]]] = None,
155
- on_focus: Optional[EventType[[]]] = None,
156
- on_mount: Optional[EventType[[]]] = None,
157
- on_mouse_down: Optional[EventType[[]]] = None,
158
- on_mouse_enter: Optional[EventType[[]]] = None,
159
- on_mouse_leave: Optional[EventType[[]]] = None,
160
- on_mouse_move: Optional[EventType[[]]] = None,
161
- on_mouse_out: Optional[EventType[[]]] = None,
162
- on_mouse_over: Optional[EventType[[]]] = None,
163
- on_mouse_up: Optional[EventType[[]]] = None,
164
- on_scroll: Optional[EventType[[]]] = None,
165
- on_unmount: Optional[EventType[[]]] = None,
150
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
151
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
152
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
153
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
154
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
155
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
156
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
157
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
158
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
159
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
160
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
161
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
162
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
163
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
164
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
165
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
166
166
  **props,
167
167
  ) -> "CheckboxCardsRoot":
168
168
  """Create a new component instance.
@@ -202,22 +202,22 @@ class CheckboxCardsItem(RadixThemesComponent):
202
202
  id: Optional[Any] = None,
203
203
  class_name: Optional[Any] = None,
204
204
  autofocus: Optional[bool] = None,
205
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
206
- on_blur: Optional[EventType[[]]] = None,
207
- on_click: Optional[EventType[[]]] = None,
208
- on_context_menu: Optional[EventType[[]]] = None,
209
- on_double_click: Optional[EventType[[]]] = None,
210
- on_focus: Optional[EventType[[]]] = None,
211
- on_mount: Optional[EventType[[]]] = None,
212
- on_mouse_down: Optional[EventType[[]]] = None,
213
- on_mouse_enter: Optional[EventType[[]]] = None,
214
- on_mouse_leave: Optional[EventType[[]]] = None,
215
- on_mouse_move: Optional[EventType[[]]] = None,
216
- on_mouse_out: Optional[EventType[[]]] = None,
217
- on_mouse_over: Optional[EventType[[]]] = None,
218
- on_mouse_up: Optional[EventType[[]]] = None,
219
- on_scroll: Optional[EventType[[]]] = None,
220
- on_unmount: Optional[EventType[[]]] = None,
205
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
206
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
207
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
208
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
209
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
210
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
211
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
212
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
213
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
214
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
215
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
216
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
217
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
218
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
219
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
220
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
221
221
  **props,
222
222
  ) -> "CheckboxCardsItem":
223
223
  """Create a new component instance.
@@ -7,7 +7,7 @@ from types import SimpleNamespace
7
7
  from typing import Any, Dict, List, Literal, Optional, Union, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
- from reflex.event import EventType
10
+ from reflex.event import BASE_STATE, EventType
11
11
  from reflex.style import Style
12
12
  from reflex.vars.base import Var
13
13
 
@@ -106,22 +106,22 @@ class CheckboxGroupRoot(RadixThemesComponent):
106
106
  id: Optional[Any] = None,
107
107
  class_name: Optional[Any] = None,
108
108
  autofocus: Optional[bool] = None,
109
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
110
- on_blur: Optional[EventType[[]]] = None,
111
- on_click: Optional[EventType[[]]] = None,
112
- on_context_menu: Optional[EventType[[]]] = None,
113
- on_double_click: Optional[EventType[[]]] = None,
114
- on_focus: Optional[EventType[[]]] = None,
115
- on_mount: Optional[EventType[[]]] = None,
116
- on_mouse_down: Optional[EventType[[]]] = None,
117
- on_mouse_enter: Optional[EventType[[]]] = None,
118
- on_mouse_leave: Optional[EventType[[]]] = None,
119
- on_mouse_move: Optional[EventType[[]]] = None,
120
- on_mouse_out: Optional[EventType[[]]] = None,
121
- on_mouse_over: Optional[EventType[[]]] = None,
122
- on_mouse_up: Optional[EventType[[]]] = None,
123
- on_scroll: Optional[EventType[[]]] = None,
124
- on_unmount: Optional[EventType[[]]] = None,
109
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
110
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
111
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
112
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
113
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
114
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
115
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
116
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
117
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
118
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
119
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
120
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
121
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
122
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
123
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
124
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
125
125
  **props,
126
126
  ) -> "CheckboxGroupRoot":
127
127
  """Create a new component instance.
@@ -163,22 +163,22 @@ class CheckboxGroupItem(RadixThemesComponent):
163
163
  id: Optional[Any] = None,
164
164
  class_name: Optional[Any] = None,
165
165
  autofocus: Optional[bool] = None,
166
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
167
- on_blur: Optional[EventType[[]]] = None,
168
- on_click: Optional[EventType[[]]] = None,
169
- on_context_menu: Optional[EventType[[]]] = None,
170
- on_double_click: Optional[EventType[[]]] = None,
171
- on_focus: Optional[EventType[[]]] = None,
172
- on_mount: Optional[EventType[[]]] = None,
173
- on_mouse_down: Optional[EventType[[]]] = None,
174
- on_mouse_enter: Optional[EventType[[]]] = None,
175
- on_mouse_leave: Optional[EventType[[]]] = None,
176
- on_mouse_move: Optional[EventType[[]]] = None,
177
- on_mouse_out: Optional[EventType[[]]] = None,
178
- on_mouse_over: Optional[EventType[[]]] = None,
179
- on_mouse_up: Optional[EventType[[]]] = None,
180
- on_scroll: Optional[EventType[[]]] = None,
181
- on_unmount: Optional[EventType[[]]] = None,
166
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
167
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
168
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
169
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
170
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
171
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
172
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
173
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
174
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
175
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
176
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
177
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
178
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
179
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
180
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
181
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
182
182
  **props,
183
183
  ) -> "CheckboxGroupItem":
184
184
  """Create a new component instance.
@@ -1,16 +1,28 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
2
 
3
- from typing import List, Literal
3
+ from typing import Dict, List, Literal, Union
4
4
 
5
5
  from reflex.components.component import ComponentNamespace
6
6
  from reflex.components.core.breakpoints import Responsive
7
- from reflex.event import EventHandler, empty_event, identity_event
7
+ from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spec
8
8
  from reflex.vars.base import Var
9
9
 
10
- from ..base import (
11
- LiteralAccentColor,
12
- RadixThemesComponent,
13
- )
10
+ from ..base import LiteralAccentColor, RadixThemesComponent
11
+
12
+ LiteralDirType = Literal["ltr", "rtl"]
13
+
14
+ LiteralSizeType = Literal["1", "2"]
15
+
16
+ LiteralVariantType = Literal["solid", "soft"]
17
+
18
+ LiteralSideType = Literal["top", "right", "bottom", "left"]
19
+
20
+ LiteralAlignType = Literal["start", "center", "end"]
21
+
22
+ LiteralStickyType = Literal[
23
+ "partial",
24
+ "always",
25
+ ]
14
26
 
15
27
 
16
28
  class ContextMenuRoot(RadixThemesComponent):
@@ -24,7 +36,10 @@ class ContextMenuRoot(RadixThemesComponent):
24
36
  _invalid_children: List[str] = ["ContextMenuItem"]
25
37
 
26
38
  # Fired when the open state changes.
27
- on_open_change: EventHandler[identity_event(bool)]
39
+ on_open_change: EventHandler[passthrough_event_spec(bool)]
40
+
41
+ # The reading direction of submenus when applicable. If omitted, inherits globally from DirectionProvider or assumes LTR (left-to-right) reading mode.
42
+ dir: Var[LiteralDirType]
28
43
 
29
44
 
30
45
  class ContextMenuTrigger(RadixThemesComponent):
@@ -45,38 +60,65 @@ class ContextMenuContent(RadixThemesComponent):
45
60
 
46
61
  tag = "ContextMenu.Content"
47
62
 
48
- # Button size "1" - "4"
49
- size: Var[Responsive[Literal["1", "2"]]]
63
+ # Dropdown Menu Content size "1" - "2"
64
+ size: Var[Responsive[LiteralSizeType]]
50
65
 
51
- # Variant of button: "solid" | "soft" | "outline" | "ghost"
52
- variant: Var[Literal["solid", "soft"]]
66
+ # Variant of Dropdown Menu Content: "solid" | "soft"
67
+ variant: Var[LiteralVariantType]
53
68
 
54
- # Override theme color for button
69
+ # Override theme color for Dropdown Menu Content
55
70
  color_scheme: Var[LiteralAccentColor]
56
71
 
57
- # Whether to render the button with higher contrast color against background
72
+ # Renders the Dropdown Menu Content in higher contrast
58
73
  high_contrast: Var[bool]
59
74
 
60
- # The vertical distance in pixels from the anchor.
61
- align_offset: Var[int]
75
+ # Change the default rendered element for the one passed as a child, merging their props and behavior. Defaults to False.
76
+ as_child: Var[bool]
77
+
78
+ # When True, keyboard navigation will loop from last item to first, and vice versa. Defaults to False.
79
+ loop: Var[bool]
80
+
81
+ # Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries.
82
+ force_mount: Var[bool]
83
+
84
+ # The preferred side of the trigger to render against when open. Will be reversed when collisions occur and `avoid_collisions` is enabled.The position of the tooltip. Defaults to "top".
85
+ side: Var[LiteralSideType]
86
+
87
+ # The distance in pixels from the trigger. Defaults to 0.
88
+ side_offset: Var[Union[float, int]]
89
+
90
+ # The preferred alignment against the trigger. May change when collisions occur. Defaults to "center".
91
+ align: Var[LiteralAlignType]
92
+
93
+ # An offset in pixels from the "start" or "end" alignment options.
94
+ align_offset: Var[Union[float, int]]
62
95
 
63
- # When true, overrides the side and aligns preferences to prevent collisions with boundary edges.
96
+ # When true, overrides the side and align preferences to prevent collisions with boundary edges. Defaults to True.
64
97
  avoid_collisions: Var[bool]
65
98
 
66
- # Fired when the context menu is closed.
67
- on_close_auto_focus: EventHandler[empty_event]
99
+ # The distance in pixels from the boundary edges where collision detection should occur. Accepts a number (same for all sides), or a partial padding object, for example: { "top": 20, "left": 20 }. Defaults to 0.
100
+ collision_padding: Var[Union[float, int, Dict[str, Union[float, int]]]]
101
+
102
+ # The sticky behavior on the align axis. "partial" will keep the content in the boundary as long as the trigger is at least partially in the boundary whilst "always" will keep the content in the boundary regardless. Defaults to "partial".
103
+ sticky: Var[LiteralStickyType]
104
+
105
+ # Whether to hide the content when the trigger becomes fully occluded. Defaults to False.
106
+ hide_when_detached: Var[bool]
107
+
108
+ # Fired when focus moves back after closing.
109
+ on_close_auto_focus: EventHandler[no_args_event_spec]
68
110
 
69
111
  # Fired when the escape key is pressed.
70
- on_escape_key_down: EventHandler[empty_event]
112
+ on_escape_key_down: EventHandler[no_args_event_spec]
71
113
 
72
114
  # Fired when a pointer down event happens outside the context menu.
73
- on_pointer_down_outside: EventHandler[empty_event]
115
+ on_pointer_down_outside: EventHandler[no_args_event_spec]
74
116
 
75
117
  # Fired when focus moves outside the context menu.
76
- on_focus_outside: EventHandler[empty_event]
118
+ on_focus_outside: EventHandler[no_args_event_spec]
77
119
 
78
- # Fired when interacting outside the context menu.
79
- on_interact_outside: EventHandler[empty_event]
120
+ # Fired when the pointer interacts outside the context menu.
121
+ on_interact_outside: EventHandler[no_args_event_spec]
80
122
 
81
123
 
82
124
  class ContextMenuSub(RadixThemesComponent):
@@ -84,15 +126,30 @@ class ContextMenuSub(RadixThemesComponent):
84
126
 
85
127
  tag = "ContextMenu.Sub"
86
128
 
129
+ # The controlled open state of the submenu. Must be used in conjunction with `on_open_change`.
130
+ open: Var[bool]
131
+
132
+ # The open state of the submenu when it is initially rendered. Use when you do not need to control its open state.
133
+ default_open: Var[bool]
134
+
135
+ # Fired when the open state changes.
136
+ on_open_change: EventHandler[passthrough_event_spec(bool)]
137
+
87
138
 
88
139
  class ContextMenuSubTrigger(RadixThemesComponent):
89
140
  """An item that opens a submenu."""
90
141
 
91
142
  tag = "ContextMenu.SubTrigger"
92
143
 
144
+ # Change the default rendered element for the one passed as a child, merging their props and behavior. Defaults to False.
145
+ as_child: Var[bool]
146
+
93
147
  # Whether the trigger is disabled
94
148
  disabled: Var[bool]
95
149
 
150
+ # Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside.
151
+ text_value: Var[str]
152
+
96
153
  _valid_parents: List[str] = ["ContextMenuContent", "ContextMenuSub"]
97
154
 
98
155
 
@@ -101,22 +158,46 @@ class ContextMenuSubContent(RadixThemesComponent):
101
158
 
102
159
  tag = "ContextMenu.SubContent"
103
160
 
104
- # When true, keyboard navigation will loop from last item to first, and vice versa.
161
+ # Change the default rendered element for the one passed as a child, merging their props and behavior. Defaults to False.
162
+ as_child: Var[bool]
163
+
164
+ # When True, keyboard navigation will loop from last item to first, and vice versa. Defaults to False.
105
165
  loop: Var[bool]
106
166
 
167
+ # Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries.
168
+ force_mount: Var[bool]
169
+
170
+ # The distance in pixels from the trigger. Defaults to 0.
171
+ side_offset: Var[Union[float, int]]
172
+
173
+ # An offset in pixels from the "start" or "end" alignment options.
174
+ align_offset: Var[Union[float, int]]
175
+
176
+ # When true, overrides the side and align preferences to prevent collisions with boundary edges. Defaults to True.
177
+ avoid_collisions: Var[bool]
178
+
179
+ # The distance in pixels from the boundary edges where collision detection should occur. Accepts a number (same for all sides), or a partial padding object, for example: { "top": 20, "left": 20 }. Defaults to 0.
180
+ collision_padding: Var[Union[float, int, Dict[str, Union[float, int]]]]
181
+
182
+ # The sticky behavior on the align axis. "partial" will keep the content in the boundary as long as the trigger is at least partially in the boundary whilst "always" will keep the content in the boundary regardless. Defaults to "partial".
183
+ sticky: Var[LiteralStickyType]
184
+
185
+ # Whether to hide the content when the trigger becomes fully occluded. Defaults to False.
186
+ hide_when_detached: Var[bool]
187
+
107
188
  _valid_parents: List[str] = ["ContextMenuSub"]
108
189
 
109
190
  # Fired when the escape key is pressed.
110
- on_escape_key_down: EventHandler[empty_event]
191
+ on_escape_key_down: EventHandler[no_args_event_spec]
111
192
 
112
193
  # Fired when a pointer down event happens outside the context menu.
113
- on_pointer_down_outside: EventHandler[empty_event]
194
+ on_pointer_down_outside: EventHandler[no_args_event_spec]
114
195
 
115
196
  # Fired when focus moves outside the context menu.
116
- on_focus_outside: EventHandler[empty_event]
197
+ on_focus_outside: EventHandler[no_args_event_spec]
117
198
 
118
199
  # Fired when interacting outside the context menu.
119
- on_interact_outside: EventHandler[empty_event]
200
+ on_interact_outside: EventHandler[no_args_event_spec]
120
201
 
121
202
 
122
203
  class ContextMenuItem(RadixThemesComponent):
@@ -130,8 +211,20 @@ class ContextMenuItem(RadixThemesComponent):
130
211
  # Shortcut to render a menu item as a link
131
212
  shortcut: Var[str]
132
213
 
214
+ # Change the default rendered element for the one passed as a child, merging their props and behavior. Defaults to False.
215
+ as_child: Var[bool]
216
+
217
+ # When true, prevents the user from interacting with the item.
218
+ disabled: Var[bool]
219
+
220
+ # Optional text used for typeahead purposes. By default the typeahead behavior will use the content of the item. Use this when the content is complex, or you have non-textual content inside.
221
+ text_value: Var[str]
222
+
133
223
  _valid_parents: List[str] = ["ContextMenuContent", "ContextMenuSubContent"]
134
224
 
225
+ # Fired when the item is selected.
226
+ on_select: EventHandler[no_args_event_spec]
227
+
135
228
 
136
229
  class ContextMenuSeparator(RadixThemesComponent):
137
230
  """Separates items in a context menu."""