reflex 0.5.4a2__py3-none-any.whl → 0.5.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 (261) hide show
  1. reflex/.templates/apps/demo/code/demo.py +1 -0
  2. reflex/.templates/apps/demo/code/pages/__init__.py +1 -0
  3. reflex/.templates/apps/demo/code/pages/datatable.py +1 -0
  4. reflex/.templates/apps/demo/code/pages/forms.py +1 -0
  5. reflex/.templates/apps/demo/code/pages/graphing.py +1 -0
  6. reflex/.templates/apps/demo/code/pages/home.py +1 -0
  7. reflex/.templates/apps/demo/code/styles.py +1 -0
  8. reflex/.templates/apps/demo/code/webui/components/loading_icon.py +1 -8
  9. reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +27 -12
  10. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +19 -5
  11. reflex/.templates/web/utils/state.js +73 -7
  12. reflex/__init__.py +3 -0
  13. reflex/__init__.pyi +3 -0
  14. reflex/admin.py +1 -0
  15. reflex/app.py +8 -6
  16. reflex/app_module_for_backend.py +2 -1
  17. reflex/base.py +4 -4
  18. reflex/compiler/compiler.py +4 -3
  19. reflex/compiler/templates.py +2 -0
  20. reflex/compiler/utils.py +58 -35
  21. reflex/components/__init__.py +1 -0
  22. reflex/components/base/__init__.py +1 -0
  23. reflex/components/base/app_wrap.py +1 -0
  24. reflex/components/base/fragment.py +1 -0
  25. reflex/components/base/link.py +0 -1
  26. reflex/components/base/script.py +11 -15
  27. reflex/components/base/script.pyi +1 -2
  28. reflex/components/chakra/base.py +15 -13
  29. reflex/components/chakra/base.pyi +3 -1
  30. reflex/components/chakra/datadisplay/code.py +1 -0
  31. reflex/components/chakra/datadisplay/divider.py +1 -0
  32. reflex/components/chakra/datadisplay/table.py +1 -0
  33. reflex/components/chakra/datadisplay/table.pyi +3 -0
  34. reflex/components/chakra/datadisplay/tag.py +1 -0
  35. reflex/components/chakra/disclosure/transition.py +1 -0
  36. reflex/components/chakra/feedback/circularprogress.py +1 -0
  37. reflex/components/chakra/forms/button.py +1 -0
  38. reflex/components/chakra/forms/checkbox.py +4 -13
  39. reflex/components/chakra/forms/checkbox.pyi +1 -3
  40. reflex/components/chakra/forms/colormodeswitch.py +1 -0
  41. reflex/components/chakra/forms/editable.py +13 -16
  42. reflex/components/chakra/forms/editable.pyi +1 -3
  43. reflex/components/chakra/forms/form.py +1 -0
  44. reflex/components/chakra/forms/input.py +22 -21
  45. reflex/components/chakra/forms/input.pyi +4 -4
  46. reflex/components/chakra/forms/multiselect.py +1 -0
  47. reflex/components/chakra/forms/numberinput.py +3 -12
  48. reflex/components/chakra/forms/numberinput.pyi +1 -3
  49. reflex/components/chakra/forms/pininput.py +8 -14
  50. reflex/components/chakra/forms/pininput.pyi +2 -3
  51. reflex/components/chakra/forms/radio.py +4 -13
  52. reflex/components/chakra/forms/radio.pyi +2 -3
  53. reflex/components/chakra/forms/rangeslider.py +10 -13
  54. reflex/components/chakra/forms/rangeslider.pyi +2 -3
  55. reflex/components/chakra/forms/select.py +4 -12
  56. reflex/components/chakra/forms/select.pyi +2 -3
  57. reflex/components/chakra/forms/slider.py +10 -13
  58. reflex/components/chakra/forms/slider.pyi +2 -3
  59. reflex/components/chakra/forms/switch.py +4 -13
  60. reflex/components/chakra/forms/switch.pyi +1 -3
  61. reflex/components/chakra/forms/textarea.py +16 -17
  62. reflex/components/chakra/forms/textarea.pyi +1 -3
  63. reflex/components/chakra/media/avatar.py +4 -12
  64. reflex/components/chakra/media/avatar.pyi +1 -2
  65. reflex/components/chakra/media/icon.py +1 -0
  66. reflex/components/chakra/media/image.py +7 -11
  67. reflex/components/chakra/media/image.pyi +2 -2
  68. reflex/components/chakra/navigation/link.py +8 -4
  69. reflex/components/chakra/navigation/link.pyi +2 -1
  70. reflex/components/chakra/overlay/alertdialog.py +12 -14
  71. reflex/components/chakra/overlay/alertdialog.pyi +1 -2
  72. reflex/components/chakra/overlay/drawer.py +12 -14
  73. reflex/components/chakra/overlay/drawer.pyi +1 -2
  74. reflex/components/chakra/overlay/menu.py +7 -11
  75. reflex/components/chakra/overlay/menu.pyi +2 -2
  76. reflex/components/chakra/overlay/modal.py +13 -13
  77. reflex/components/chakra/overlay/modal.pyi +2 -2
  78. reflex/components/chakra/overlay/popover.py +6 -12
  79. reflex/components/chakra/overlay/popover.pyi +1 -2
  80. reflex/components/chakra/overlay/tooltip.py +7 -13
  81. reflex/components/chakra/overlay/tooltip.pyi +1 -2
  82. reflex/components/chakra/typography/heading.py +0 -1
  83. reflex/components/chakra/typography/span.py +1 -0
  84. reflex/components/chakra/typography/text.py +1 -0
  85. reflex/components/component.py +70 -43
  86. reflex/components/core/__init__.py +1 -0
  87. reflex/components/core/banner.py +27 -24
  88. reflex/components/core/banner.pyi +6 -2
  89. reflex/components/core/client_side_routing.py +1 -0
  90. reflex/components/core/cond.py +19 -17
  91. reflex/components/core/debounce.py +4 -11
  92. reflex/components/core/debounce.pyi +1 -1
  93. reflex/components/core/foreach.py +1 -0
  94. reflex/components/core/html.py +1 -0
  95. reflex/components/core/match.py +9 -6
  96. reflex/components/core/upload.py +26 -25
  97. reflex/components/core/upload.pyi +3 -4
  98. reflex/components/datadisplay/__init__.py +1 -0
  99. reflex/components/datadisplay/code.py +27 -23
  100. reflex/components/datadisplay/code.pyi +4 -2
  101. reflex/components/datadisplay/dataeditor.py +73 -80
  102. reflex/components/datadisplay/dataeditor.pyi +52 -4
  103. reflex/components/datadisplay/logo.py +1 -0
  104. reflex/components/el/__init__.py +1 -0
  105. reflex/components/el/__init__.pyi +8 -0
  106. reflex/components/el/element.py +0 -1
  107. reflex/components/el/elements/__init__.py +5 -0
  108. reflex/components/el/elements/__init__.pyi +12 -1
  109. reflex/components/el/elements/base.py +1 -0
  110. reflex/components/el/elements/forms.py +44 -61
  111. reflex/components/el/elements/forms.pyi +4 -6
  112. reflex/components/el/elements/inline.py +1 -0
  113. reflex/components/el/elements/media.py +53 -0
  114. reflex/components/el/elements/media.pyi +428 -0
  115. reflex/components/el/elements/metadata.py +11 -0
  116. reflex/components/el/elements/metadata.pyi +80 -0
  117. reflex/components/el/elements/other.py +1 -0
  118. reflex/components/el/elements/scripts.py +1 -0
  119. reflex/components/el/elements/tables.py +1 -0
  120. reflex/components/el/elements/typography.py +1 -0
  121. reflex/components/gridjs/datatable.py +9 -6
  122. reflex/components/gridjs/datatable.pyi +4 -1
  123. reflex/components/markdown/markdown.py +36 -41
  124. reflex/components/markdown/markdown.pyi +4 -3
  125. reflex/components/media/icon.py +1 -0
  126. reflex/components/moment/moment.py +11 -17
  127. reflex/components/moment/moment.pyi +4 -3
  128. reflex/components/next/base.py +1 -0
  129. reflex/components/next/image.py +6 -11
  130. reflex/components/next/image.pyi +2 -2
  131. reflex/components/plotly/plotly.py +1 -0
  132. reflex/components/props.py +1 -0
  133. reflex/components/radix/__init__.py +1 -0
  134. reflex/components/radix/primitives/__init__.py +1 -0
  135. reflex/components/radix/primitives/accordion.py +7 -15
  136. reflex/components/radix/primitives/accordion.pyi +7 -4
  137. reflex/components/radix/primitives/base.py +1 -0
  138. reflex/components/radix/primitives/drawer.py +17 -27
  139. reflex/components/radix/primitives/drawer.pyi +2 -4
  140. reflex/components/radix/primitives/form.py +4 -12
  141. reflex/components/radix/primitives/form.pyi +2 -3
  142. reflex/components/radix/primitives/slider.py +6 -11
  143. reflex/components/radix/primitives/slider.pyi +2 -2
  144. reflex/components/radix/themes/__init__.py +1 -0
  145. reflex/components/radix/themes/base.py +3 -3
  146. reflex/components/radix/themes/base.pyi +3 -2
  147. reflex/components/radix/themes/color_mode.py +31 -2
  148. reflex/components/radix/themes/color_mode.pyi +10 -1
  149. reflex/components/radix/themes/components/__init__.py +1 -0
  150. reflex/components/radix/themes/components/alert_dialog.py +13 -24
  151. reflex/components/radix/themes/components/alert_dialog.pyi +2 -4
  152. reflex/components/radix/themes/components/aspect_ratio.py +1 -0
  153. reflex/components/radix/themes/components/card.py +1 -0
  154. reflex/components/radix/themes/components/checkbox.py +6 -22
  155. reflex/components/radix/themes/components/checkbox.pyi +2 -4
  156. reflex/components/radix/themes/components/checkbox_group.py +15 -3
  157. reflex/components/radix/themes/components/checkbox_group.pyi +10 -2
  158. reflex/components/radix/themes/components/context_menu.py +29 -38
  159. reflex/components/radix/themes/components/context_menu.pyi +2 -5
  160. reflex/components/radix/themes/components/dialog.py +18 -26
  161. reflex/components/radix/themes/components/dialog.pyi +2 -4
  162. reflex/components/radix/themes/components/dropdown_menu.py +32 -57
  163. reflex/components/radix/themes/components/dropdown_menu.pyi +2 -7
  164. reflex/components/radix/themes/components/hover_card.py +5 -12
  165. reflex/components/radix/themes/components/hover_card.pyi +2 -3
  166. reflex/components/radix/themes/components/icon_button.py +1 -0
  167. reflex/components/radix/themes/components/icon_button.pyi +1 -0
  168. reflex/components/radix/themes/components/inset.py +1 -0
  169. reflex/components/radix/themes/components/popover.py +22 -27
  170. reflex/components/radix/themes/components/popover.pyi +2 -4
  171. reflex/components/radix/themes/components/radio_group.py +25 -17
  172. reflex/components/radix/themes/components/radio_group.pyi +2 -3
  173. reflex/components/radix/themes/components/scroll_area.py +1 -0
  174. reflex/components/radix/themes/components/segmented_control.py +18 -5
  175. reflex/components/radix/themes/components/segmented_control.pyi +16 -7
  176. reflex/components/radix/themes/components/select.py +13 -23
  177. reflex/components/radix/themes/components/select.pyi +1 -4
  178. reflex/components/radix/themes/components/separator.py +1 -0
  179. reflex/components/radix/themes/components/slider.py +7 -12
  180. reflex/components/radix/themes/components/slider.pyi +2 -3
  181. reflex/components/radix/themes/components/switch.py +5 -12
  182. reflex/components/radix/themes/components/switch.pyi +2 -3
  183. reflex/components/radix/themes/components/table.py +1 -0
  184. reflex/components/radix/themes/components/tabs.py +4 -11
  185. reflex/components/radix/themes/components/tabs.pyi +2 -2
  186. reflex/components/radix/themes/components/text_area.py +19 -18
  187. reflex/components/radix/themes/components/text_area.pyi +2 -3
  188. reflex/components/radix/themes/components/text_field.py +19 -18
  189. reflex/components/radix/themes/components/text_field.pyi +3 -3
  190. reflex/components/radix/themes/components/tooltip.py +10 -13
  191. reflex/components/radix/themes/components/tooltip.pyi +2 -3
  192. reflex/components/radix/themes/layout/__init__.py +1 -0
  193. reflex/components/radix/themes/layout/box.py +1 -0
  194. reflex/components/radix/themes/layout/container.py +1 -0
  195. reflex/components/radix/themes/layout/list.py +1 -0
  196. reflex/components/radix/themes/layout/list.pyi +1 -0
  197. reflex/components/radix/themes/layout/section.py +1 -0
  198. reflex/components/radix/themes/typography/__init__.py +1 -0
  199. reflex/components/radix/themes/typography/base.py +1 -0
  200. reflex/components/radix/themes/typography/blockquote.py +1 -0
  201. reflex/components/radix/themes/typography/code.py +1 -0
  202. reflex/components/radix/themes/typography/heading.py +1 -0
  203. reflex/components/radix/themes/typography/link.py +8 -3
  204. reflex/components/radix/themes/typography/link.pyi +2 -1
  205. reflex/components/react_player/audio.py +1 -0
  206. reflex/components/react_player/audio.pyi +48 -0
  207. reflex/components/react_player/react_player.py +49 -0
  208. reflex/components/react_player/react_player.pyi +49 -0
  209. reflex/components/react_player/video.py +1 -0
  210. reflex/components/react_player/video.pyi +48 -0
  211. reflex/components/recharts/__init__.py +1 -0
  212. reflex/components/recharts/cartesian.py +264 -74
  213. reflex/components/recharts/cartesian.pyi +573 -58
  214. reflex/components/recharts/charts.py +68 -78
  215. reflex/components/recharts/charts.pyi +373 -156
  216. reflex/components/recharts/general.py +52 -20
  217. reflex/components/recharts/general.pyi +52 -6
  218. reflex/components/recharts/polar.py +30 -18
  219. reflex/components/recharts/polar.pyi +66 -5
  220. reflex/components/recharts/recharts.py +5 -3
  221. reflex/components/recharts/recharts.pyi +2 -1
  222. reflex/components/sonner/toast.py +2 -2
  223. reflex/components/sonner/toast.pyi +1 -1
  224. reflex/components/suneditor/editor.py +39 -26
  225. reflex/components/suneditor/editor.pyi +4 -4
  226. reflex/components/tags/iter_tag.py +1 -0
  227. reflex/constants/__init__.py +3 -2
  228. reflex/constants/base.py +20 -21
  229. reflex/constants/compiler.py +3 -1
  230. reflex/constants/config.py +1 -0
  231. reflex/constants/event.py +1 -0
  232. reflex/constants/installer.py +3 -2
  233. reflex/constants/style.py +2 -8
  234. reflex/event.py +36 -6
  235. reflex/experimental/assets.py +1 -0
  236. reflex/experimental/client_state.py +9 -3
  237. reflex/experimental/hooks.py +1 -0
  238. reflex/experimental/misc.py +12 -3
  239. reflex/middleware/hydrate_middleware.py +1 -0
  240. reflex/middleware/middleware.py +1 -0
  241. reflex/state.py +38 -1
  242. reflex/style.py +67 -20
  243. reflex/testing.py +6 -2
  244. reflex/utils/build.py +76 -72
  245. reflex/utils/compat.py +5 -0
  246. reflex/utils/exec.py +17 -9
  247. reflex/utils/export.py +13 -9
  248. reflex/utils/imports.py +34 -5
  249. reflex/utils/lazy_loader.py +1 -0
  250. reflex/utils/path_ops.py +39 -33
  251. reflex/utils/prerequisites.py +38 -29
  252. reflex/utils/processes.py +1 -1
  253. reflex/utils/serializers.py +3 -6
  254. reflex/utils/watch.py +3 -1
  255. reflex/vars.py +26 -10
  256. reflex/vars.pyi +3 -3
  257. {reflex-0.5.4a2.dist-info → reflex-0.5.5.dist-info}/METADATA +3 -3
  258. {reflex-0.5.4a2.dist-info → reflex-0.5.5.dist-info}/RECORD +261 -261
  259. {reflex-0.5.4a2.dist-info → reflex-0.5.5.dist-info}/LICENSE +0 -0
  260. {reflex-0.5.4a2.dist-info → reflex-0.5.5.dist-info}/WHEEL +0 -0
  261. {reflex-0.5.4a2.dist-info → reflex-0.5.5.dist-info}/entry_points.txt +0 -0
@@ -7,7 +7,7 @@ from typing import Any, Dict, Literal
7
7
  from reflex.components import Component
8
8
  from reflex.components.tags import Tag
9
9
  from reflex.config import get_config
10
- from reflex.utils.imports import ImportVar
10
+ from reflex.utils.imports import ImportDict, ImportVar
11
11
  from reflex.vars import Var
12
12
 
13
13
  LiteralAlign = Literal["start", "center", "end", "baseline", "stretch"]
@@ -209,13 +209,13 @@ class Theme(RadixThemesComponent):
209
209
  children = [ThemePanel.create(), *children]
210
210
  return super().create(*children, **props)
211
211
 
212
- def add_imports(self) -> dict[str, list[ImportVar] | ImportVar]:
212
+ def add_imports(self) -> ImportDict | list[ImportDict]:
213
213
  """Add imports for the Theme component.
214
214
 
215
215
  Returns:
216
216
  The import dict.
217
217
  """
218
- _imports: dict[str, list[ImportVar] | ImportVar] = {
218
+ _imports: ImportDict = {
219
219
  "/utils/theme.js": [ImportVar(tag="theme", is_default=True)],
220
220
  }
221
221
  if get_config().tailwind is None:
@@ -11,7 +11,7 @@ from typing import Any, Dict, Literal
11
11
  from reflex.components import Component
12
12
  from reflex.components.tags import Tag
13
13
  from reflex.config import get_config
14
- from reflex.utils.imports import ImportVar
14
+ from reflex.utils.imports import ImportDict, ImportVar
15
15
  from reflex.vars import Var
16
16
 
17
17
  LiteralAlign = Literal["start", "center", "end", "baseline", "stretch"]
@@ -580,7 +580,8 @@ class Theme(RadixThemesComponent):
580
580
  A new component instance.
581
581
  """
582
582
  ...
583
- def add_imports(self) -> dict[str, list[ImportVar] | ImportVar]: ...
583
+
584
+ def add_imports(self) -> ImportDict | list[ImportDict]: ...
584
585
 
585
586
  class ThemePanel(RadixThemesComponent):
586
587
  def add_imports(self) -> dict[str, str]: ...
@@ -23,8 +23,15 @@ from typing import Literal, get_args
23
23
  from reflex.components.component import BaseComponent
24
24
  from reflex.components.core.cond import Cond, color_mode_cond, cond
25
25
  from reflex.components.lucide.icon import Icon
26
+ from reflex.components.radix.themes.components.dropdown_menu import dropdown_menu
26
27
  from reflex.components.radix.themes.components.switch import Switch
27
- from reflex.style import LIGHT_COLOR_MODE, color_mode, toggle_color_mode
28
+ from reflex.style import (
29
+ LIGHT_COLOR_MODE,
30
+ color_mode,
31
+ resolved_color_mode,
32
+ set_color_mode,
33
+ toggle_color_mode,
34
+ )
28
35
  from reflex.utils import console
29
36
  from reflex.vars import BaseVar, Var
30
37
 
@@ -95,6 +102,7 @@ class ColorModeIconButton(IconButton):
95
102
  cls,
96
103
  *children,
97
104
  position: LiteralPosition | None = None,
105
+ allow_system: bool = False,
98
106
  **props,
99
107
  ):
100
108
  """Create a icon button component that calls toggle_color_mode on click.
@@ -102,6 +110,7 @@ class ColorModeIconButton(IconButton):
102
110
  Args:
103
111
  *children: The children of the component.
104
112
  position: The position of the icon button. Follow document flow if None.
113
+ allow_system: Allow picking the "system" value for the color mode.
105
114
  **props: The props to pass to the component.
106
115
 
107
116
  Returns:
@@ -137,6 +146,26 @@ class ColorModeIconButton(IconButton):
137
146
  props.setdefault("z_index", "20")
138
147
  props.setdefault(":hover", {"cursor": "pointer"})
139
148
 
149
+ if allow_system:
150
+
151
+ def color_mode_item(_color_mode):
152
+ return dropdown_menu.item(
153
+ _color_mode.title(), on_click=set_color_mode(_color_mode)
154
+ )
155
+
156
+ return dropdown_menu.root(
157
+ dropdown_menu.trigger(
158
+ super().create(
159
+ ColorModeIcon.create(),
160
+ **props,
161
+ )
162
+ ),
163
+ dropdown_menu.content(
164
+ color_mode_item("light"),
165
+ color_mode_item("dark"),
166
+ color_mode_item("system"),
167
+ ),
168
+ )
140
169
  return super().create(
141
170
  ColorModeIcon.create(),
142
171
  on_click=toggle_color_mode,
@@ -160,7 +189,7 @@ class ColorModeSwitch(Switch):
160
189
  """
161
190
  return Switch.create(
162
191
  *children,
163
- checked=color_mode != LIGHT_COLOR_MODE,
192
+ checked=resolved_color_mode != LIGHT_COLOR_MODE,
164
193
  on_change=toggle_color_mode,
165
194
  **props,
166
195
  )
@@ -12,8 +12,15 @@ from typing import Literal, get_args
12
12
  from reflex.components.component import BaseComponent
13
13
  from reflex.components.core.cond import Cond, color_mode_cond, cond
14
14
  from reflex.components.lucide.icon import Icon
15
+ from reflex.components.radix.themes.components.dropdown_menu import dropdown_menu
15
16
  from reflex.components.radix.themes.components.switch import Switch
16
- from reflex.style import LIGHT_COLOR_MODE, color_mode, toggle_color_mode
17
+ from reflex.style import (
18
+ LIGHT_COLOR_MODE,
19
+ color_mode,
20
+ resolved_color_mode,
21
+ set_color_mode,
22
+ toggle_color_mode,
23
+ )
17
24
  from reflex.utils import console
18
25
  from reflex.vars import BaseVar, Var
19
26
  from .components.icon_button import IconButton
@@ -113,6 +120,7 @@ class ColorModeIconButton(IconButton):
113
120
  position: Optional[
114
121
  Literal["top-left", "top-right", "bottom-left", "bottom-right"]
115
122
  ] = None,
123
+ allow_system: Optional[bool] = False,
116
124
  as_child: Optional[Union[Var[bool], bool]] = None,
117
125
  size: Optional[
118
126
  Union[Var[Literal["1", "2", "3", "4"]], Literal["1", "2", "3", "4"]]
@@ -316,6 +324,7 @@ class ColorModeIconButton(IconButton):
316
324
  Args:
317
325
  *children: The children of the component.
318
326
  position: The position of the icon button. Follow document flow if None.
327
+ allow_system: Allow picking the "system" value for the color mode.
319
328
  as_child: Change the default rendered element for the one passed as a child, merging their props and behavior.
320
329
  size: Button size "1" - "4"
321
330
  variant: Variant of button: "classic" | "solid" | "soft" | "surface" | "outline" | "ghost"
@@ -1,4 +1,5 @@
1
1
  """Radix themes components."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
5
  from reflex import RADIX_THEMES_COMPONENTS_MAPPING
@@ -1,9 +1,10 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
- from typing import Any, Dict, Literal
2
+
3
+ from typing import Literal
3
4
 
4
5
  from reflex.components.component import ComponentNamespace
5
6
  from reflex.components.el import elements
6
- from reflex.constants import EventTriggers
7
+ from reflex.event import EventHandler
7
8
  from reflex.vars import Var
8
9
 
9
10
  from ..base import RadixThemesComponent, RadixThemesTriggerComponent
@@ -19,16 +20,8 @@ class AlertDialogRoot(RadixThemesComponent):
19
20
  # The controlled open state of the dialog.
20
21
  open: Var[bool]
21
22
 
22
- def get_event_triggers(self) -> Dict[str, Any]:
23
- """Get the events triggers signatures for the component.
24
-
25
- Returns:
26
- The signatures of the event triggers.
27
- """
28
- return {
29
- **super().get_event_triggers(),
30
- EventTriggers.ON_OPEN_CHANGE: lambda e0: [e0],
31
- }
23
+ # Fired when the open state changes.
24
+ on_open_change: EventHandler[lambda e0: [e0]]
32
25
 
33
26
 
34
27
  class AlertDialogTrigger(RadixThemesTriggerComponent):
@@ -48,18 +41,14 @@ class AlertDialogContent(elements.Div, RadixThemesComponent):
48
41
  # Whether to force mount the content on open.
49
42
  force_mount: Var[bool]
50
43
 
51
- def get_event_triggers(self) -> Dict[str, Any]:
52
- """Get the events triggers signatures for the component.
53
-
54
- Returns:
55
- The signatures of the event triggers.
56
- """
57
- return {
58
- **super().get_event_triggers(),
59
- EventTriggers.ON_OPEN_AUTO_FOCUS: lambda e0: [e0],
60
- EventTriggers.ON_CLOSE_AUTO_FOCUS: lambda e0: [e0],
61
- EventTriggers.ON_ESCAPE_KEY_DOWN: lambda e0: [e0],
62
- }
44
+ # Fired when the dialog is opened.
45
+ on_open_auto_focus: EventHandler[lambda e0: [e0]]
46
+
47
+ # Fired when the dialog is closed.
48
+ on_close_auto_focus: EventHandler[lambda e0: [e0]]
49
+
50
+ # Fired when the escape key is pressed.
51
+ on_escape_key_down: EventHandler[lambda e0: [e0]]
63
52
 
64
53
 
65
54
  class AlertDialogTitle(RadixThemesComponent):
@@ -7,17 +7,16 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Dict, Literal
10
+ from typing import Literal
11
11
  from reflex.components.component import ComponentNamespace
12
12
  from reflex.components.el import elements
13
- from reflex.constants import EventTriggers
13
+ from reflex.event import EventHandler
14
14
  from reflex.vars import Var
15
15
  from ..base import RadixThemesComponent, RadixThemesTriggerComponent
16
16
 
17
17
  LiteralContentSize = Literal["1", "2", "3", "4"]
18
18
 
19
19
  class AlertDialogRoot(RadixThemesComponent):
20
- def get_event_triggers(self) -> Dict[str, Any]: ...
21
20
  @overload
22
21
  @classmethod
23
22
  def create( # type: ignore
@@ -172,7 +171,6 @@ class AlertDialogTrigger(RadixThemesTriggerComponent):
172
171
  ...
173
172
 
174
173
  class AlertDialogContent(elements.Div, RadixThemesComponent):
175
- def get_event_triggers(self) -> Dict[str, Any]: ...
176
174
  @overload
177
175
  @classmethod
178
176
  def create( # type: ignore
@@ -1,4 +1,5 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
+
2
3
  from typing import Union
3
4
 
4
5
  from reflex.vars import Var
@@ -1,4 +1,5 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
+
2
3
  from typing import Literal
3
4
 
4
5
  from reflex.components.el import elements
@@ -1,11 +1,11 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
2
 
3
- from typing import Any, Dict, Literal
3
+ from typing import Literal
4
4
 
5
5
  from reflex.components.component import Component, ComponentNamespace
6
6
  from reflex.components.radix.themes.layout.flex import Flex
7
7
  from reflex.components.radix.themes.typography.text import Text
8
- from reflex.constants import EventTriggers
8
+ from reflex.event import EventHandler
9
9
  from reflex.vars import Var
10
10
 
11
11
  from ..base import (
@@ -59,16 +59,8 @@ class Checkbox(RadixThemesComponent):
59
59
  # Props to rename
60
60
  _rename_props = {"onChange": "onCheckedChange"}
61
61
 
62
- def get_event_triggers(self) -> Dict[str, Any]:
63
- """Get the events triggers signatures for the component.
64
-
65
- Returns:
66
- The signatures of the event triggers.
67
- """
68
- return {
69
- **super().get_event_triggers(),
70
- EventTriggers.ON_CHANGE: lambda e0: [e0],
71
- }
62
+ # Fired when the checkbox is checked or unchecked.
63
+ on_change: EventHandler[lambda e0: [e0]]
72
64
 
73
65
 
74
66
  class HighLevelCheckbox(RadixThemesComponent):
@@ -118,16 +110,8 @@ class HighLevelCheckbox(RadixThemesComponent):
118
110
  # Props to rename
119
111
  _rename_props = {"onChange": "onCheckedChange"}
120
112
 
121
- def get_event_triggers(self) -> Dict[str, Any]:
122
- """Get the events triggers signatures for the component.
123
-
124
- Returns:
125
- The signatures of the event triggers.
126
- """
127
- return {
128
- **super().get_event_triggers(),
129
- EventTriggers.ON_CHANGE: lambda e0: [e0],
130
- }
113
+ # Fired when the checkbox is checked or unchecked.
114
+ on_change: EventHandler[lambda e0: [e0]]
131
115
 
132
116
  @classmethod
133
117
  def create(
@@ -7,11 +7,11 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Dict, Literal
10
+ from typing import Literal
11
11
  from reflex.components.component import Component, ComponentNamespace
12
12
  from reflex.components.radix.themes.layout.flex import Flex
13
13
  from reflex.components.radix.themes.typography.text import Text
14
- from reflex.constants import EventTriggers
14
+ from reflex.event import EventHandler
15
15
  from reflex.vars import Var
16
16
  from ..base import LiteralAccentColor, LiteralSpacing, RadixThemesComponent
17
17
 
@@ -19,7 +19,6 @@ LiteralCheckboxSize = Literal["1", "2", "3"]
19
19
  LiteralCheckboxVariant = Literal["classic", "surface", "soft"]
20
20
 
21
21
  class Checkbox(RadixThemesComponent):
22
- def get_event_triggers(self) -> Dict[str, Any]: ...
23
22
  @overload
24
23
  @classmethod
25
24
  def create( # type: ignore
@@ -192,7 +191,6 @@ class Checkbox(RadixThemesComponent):
192
191
  ...
193
192
 
194
193
  class HighLevelCheckbox(RadixThemesComponent):
195
- def get_event_triggers(self) -> Dict[str, Any]: ...
196
194
  @overload
197
195
  @classmethod
198
196
  def create( # type: ignore
@@ -1,7 +1,7 @@
1
1
  """Components for the CheckboxGroup component of Radix Themes."""
2
2
 
3
3
  from types import SimpleNamespace
4
- from typing import Literal
4
+ from typing import List, Literal
5
5
 
6
6
  from reflex.vars import Var
7
7
 
@@ -11,9 +11,9 @@ from ..base import LiteralAccentColor, RadixThemesComponent
11
11
  class CheckboxGroupRoot(RadixThemesComponent):
12
12
  """Root element for a CheckboxGroup component."""
13
13
 
14
- tag = "CheckboxGroup"
14
+ tag = "CheckboxGroup.Root"
15
15
 
16
- #
16
+ # Use the size prop to control the checkbox size.
17
17
  size: Var[Literal["1", "2", "3"]]
18
18
 
19
19
  # Variant of button: "classic" | "surface" | "soft"
@@ -25,12 +25,24 @@ class CheckboxGroupRoot(RadixThemesComponent):
25
25
  # Uses a higher contrast color for the component.
26
26
  high_contrast: Var[bool]
27
27
 
28
+ # determines which checkboxes, if any, are checked by default.
29
+ default_value: Var[List[str]]
30
+
31
+ # used to assign a name to the entire group of checkboxes
32
+ name: Var[str]
33
+
28
34
 
29
35
  class CheckboxGroupItem(RadixThemesComponent):
30
36
  """An item in the CheckboxGroup component."""
31
37
 
32
38
  tag = "CheckboxGroup.Item"
33
39
 
40
+ # specifies the value associated with a particular checkbox option.
41
+ value: Var[str]
42
+
43
+ # Use the native disabled attribute to create a disabled checkbox.
44
+ disabled: Var[bool]
45
+
34
46
 
35
47
  class CheckboxGroup(SimpleNamespace):
36
48
  """CheckboxGroup components namespace."""
@@ -8,7 +8,7 @@ from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
10
  from types import SimpleNamespace
11
- from typing import Literal
11
+ from typing import List, Literal
12
12
  from reflex.vars import Var
13
13
  from ..base import LiteralAccentColor, RadixThemesComponent
14
14
 
@@ -90,6 +90,8 @@ class CheckboxGroupRoot(RadixThemesComponent):
90
90
  ]
91
91
  ] = None,
92
92
  high_contrast: Optional[Union[Var[bool], bool]] = None,
93
+ default_value: Optional[Union[Var[List[str]], List[str]]] = None,
94
+ name: Optional[Union[Var[str], str]] = None,
93
95
  style: Optional[Style] = None,
94
96
  key: Optional[Any] = None,
95
97
  id: Optional[Any] = None,
@@ -150,10 +152,12 @@ class CheckboxGroupRoot(RadixThemesComponent):
150
152
 
151
153
  Args:
152
154
  *children: Child components.
153
- size:
155
+ size: Use the size prop to control the checkbox size.
154
156
  variant: Variant of button: "classic" | "surface" | "soft"
155
157
  color_scheme: Override theme color for button
156
158
  high_contrast: Uses a higher contrast color for the component.
159
+ default_value: determines which checkboxes, if any, are checked by default.
160
+ name: used to assign a name to the entire group of checkboxes
157
161
  style: The style of the component.
158
162
  key: A unique key for the component.
159
163
  id: The id for the component.
@@ -173,6 +177,8 @@ class CheckboxGroupItem(RadixThemesComponent):
173
177
  def create( # type: ignore
174
178
  cls,
175
179
  *children,
180
+ value: Optional[Union[Var[str], str]] = None,
181
+ disabled: Optional[Union[Var[bool], bool]] = None,
176
182
  style: Optional[Style] = None,
177
183
  key: Optional[Any] = None,
178
184
  id: Optional[Any] = None,
@@ -233,6 +239,8 @@ class CheckboxGroupItem(RadixThemesComponent):
233
239
 
234
240
  Args:
235
241
  *children: Child components.
242
+ value: specifies the value associated with a particular checkbox option.
243
+ disabled: Use the native disabled attribute to create a disabled checkbox.
236
244
  style: The style of the component.
237
245
  key: A unique key for the component.
238
246
  id: The id for the component.
@@ -1,8 +1,9 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
- from typing import Any, Dict, List, Literal
2
+
3
+ from typing import List, Literal
3
4
 
4
5
  from reflex.components.component import ComponentNamespace
5
- from reflex.constants import EventTriggers
6
+ from reflex.event import EventHandler
6
7
  from reflex.vars import Var
7
8
 
8
9
  from ..base import (
@@ -21,16 +22,8 @@ class ContextMenuRoot(RadixThemesComponent):
21
22
 
22
23
  _invalid_children: List[str] = ["ContextMenuItem"]
23
24
 
24
- def get_event_triggers(self) -> Dict[str, Any]:
25
- """Get the events triggers signatures for the component.
26
-
27
- Returns:
28
- The signatures of the event triggers.
29
- """
30
- return {
31
- **super().get_event_triggers(),
32
- EventTriggers.ON_OPEN_CHANGE: lambda e0: [e0],
33
- }
25
+ # Fired when the open state changes.
26
+ on_open_change: EventHandler[lambda e0: [e0]]
34
27
 
35
28
 
36
29
  class ContextMenuTrigger(RadixThemesComponent):
@@ -69,20 +62,20 @@ class ContextMenuContent(RadixThemesComponent):
69
62
  # When true, overrides the side and aligns preferences to prevent collisions with boundary edges.
70
63
  avoid_collisions: Var[bool]
71
64
 
72
- def get_event_triggers(self) -> Dict[str, Any]:
73
- """Get the events triggers signatures for the component.
65
+ # Fired when the context menu is closed.
66
+ on_close_auto_focus: EventHandler[lambda e0: [e0]]
67
+
68
+ # Fired when the escape key is pressed.
69
+ on_escape_key_down: EventHandler[lambda e0: [e0]]
70
+
71
+ # Fired when a pointer down event happens outside the context menu.
72
+ on_pointer_down_outside: EventHandler[lambda e0: [e0]]
74
73
 
75
- Returns:
76
- The signatures of the event triggers.
77
- """
78
- return {
79
- **super().get_event_triggers(),
80
- EventTriggers.ON_CLOSE_AUTO_FOCUS: lambda e0: [e0],
81
- EventTriggers.ON_ESCAPE_KEY_DOWN: lambda e0: [e0],
82
- EventTriggers.ON_POINTER_DOWN_OUTSIDE: lambda e0: [e0],
83
- EventTriggers.ON_FOCUS_OUTSIDE: lambda e0: [e0],
84
- EventTriggers.ON_INTERACT_OUTSIDE: lambda e0: [e0],
85
- }
74
+ # Fired when focus moves outside the context menu.
75
+ on_focus_outside: EventHandler[lambda e0: [e0]]
76
+
77
+ # Fired when interacting outside the context menu.
78
+ on_interact_outside: EventHandler[lambda e0: [e0]]
86
79
 
87
80
 
88
81
  class ContextMenuSub(RadixThemesComponent):
@@ -112,19 +105,17 @@ class ContextMenuSubContent(RadixThemesComponent):
112
105
 
113
106
  _valid_parents: List[str] = ["ContextMenuSub"]
114
107
 
115
- def get_event_triggers(self) -> Dict[str, Any]:
116
- """Get the events triggers signatures for the component.
117
-
118
- Returns:
119
- The signatures of the event triggers.
120
- """
121
- return {
122
- **super().get_event_triggers(),
123
- EventTriggers.ON_ESCAPE_KEY_DOWN: lambda e0: [e0],
124
- EventTriggers.ON_POINTER_DOWN_OUTSIDE: lambda e0: [e0],
125
- EventTriggers.ON_FOCUS_OUTSIDE: lambda e0: [e0],
126
- EventTriggers.ON_INTERACT_OUTSIDE: lambda e0: [e0],
127
- }
108
+ # Fired when the escape key is pressed.
109
+ on_escape_key_down: EventHandler[lambda e0: [e0]]
110
+
111
+ # Fired when a pointer down event happens outside the context menu.
112
+ on_pointer_down_outside: EventHandler[lambda e0: [e0]]
113
+
114
+ # Fired when focus moves outside the context menu.
115
+ on_focus_outside: EventHandler[lambda e0: [e0]]
116
+
117
+ # Fired when interacting outside the context menu.
118
+ on_interact_outside: EventHandler[lambda e0: [e0]]
128
119
 
129
120
 
130
121
  class ContextMenuItem(RadixThemesComponent):
@@ -7,14 +7,13 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Dict, List, Literal
10
+ from typing import List, Literal
11
11
  from reflex.components.component import ComponentNamespace
12
- from reflex.constants import EventTriggers
12
+ from reflex.event import EventHandler
13
13
  from reflex.vars import Var
14
14
  from ..base import LiteralAccentColor, RadixThemesComponent
15
15
 
16
16
  class ContextMenuRoot(RadixThemesComponent):
17
- def get_event_triggers(self) -> Dict[str, Any]: ...
18
17
  @overload
19
18
  @classmethod
20
19
  def create( # type: ignore
@@ -180,7 +179,6 @@ class ContextMenuTrigger(RadixThemesComponent):
180
179
  ...
181
180
 
182
181
  class ContextMenuContent(RadixThemesComponent):
183
- def get_event_triggers(self) -> Dict[str, Any]: ...
184
182
  @overload
185
183
  @classmethod
186
184
  def create( # type: ignore
@@ -510,7 +508,6 @@ class ContextMenuSubTrigger(RadixThemesComponent):
510
508
  ...
511
509
 
512
510
  class ContextMenuSubContent(RadixThemesComponent):
513
- def get_event_triggers(self) -> Dict[str, Any]: ...
514
511
  @overload
515
512
  @classmethod
516
513
  def create( # type: ignore
@@ -1,10 +1,10 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
2
 
3
- from typing import Any, Dict, Literal
3
+ from typing import Literal
4
4
 
5
5
  from reflex.components.component import ComponentNamespace
6
6
  from reflex.components.el import elements
7
- from reflex.constants import EventTriggers
7
+ from reflex.event import EventHandler
8
8
  from reflex.vars import Var
9
9
 
10
10
  from ..base import (
@@ -21,16 +21,8 @@ class DialogRoot(RadixThemesComponent):
21
21
  # The controlled open state of the dialog.
22
22
  open: Var[bool]
23
23
 
24
- def get_event_triggers(self) -> Dict[str, Any]:
25
- """Get the events triggers signatures for the component.
26
-
27
- Returns:
28
- The signatures of the event triggers.
29
- """
30
- return {
31
- **super().get_event_triggers(),
32
- EventTriggers.ON_OPEN_CHANGE: lambda e0: [e0],
33
- }
24
+ # Fired when the open state changes.
25
+ on_open_change: EventHandler[lambda e0: [e0]]
34
26
 
35
27
 
36
28
  class DialogTrigger(RadixThemesTriggerComponent):
@@ -53,20 +45,20 @@ class DialogContent(elements.Div, RadixThemesComponent):
53
45
  # DialogContent size "1" - "4"
54
46
  size: Var[Literal["1", "2", "3", "4"]]
55
47
 
56
- def get_event_triggers(self) -> Dict[str, Any]:
57
- """Get the events triggers signatures for the component.
58
-
59
- Returns:
60
- The signatures of the event triggers.
61
- """
62
- return {
63
- **super().get_event_triggers(),
64
- EventTriggers.ON_OPEN_AUTO_FOCUS: lambda e0: [e0],
65
- EventTriggers.ON_CLOSE_AUTO_FOCUS: lambda e0: [e0],
66
- EventTriggers.ON_ESCAPE_KEY_DOWN: lambda e0: [e0],
67
- EventTriggers.ON_POINTER_DOWN_OUTSIDE: lambda e0: [e0],
68
- EventTriggers.ON_INTERACT_OUTSIDE: lambda e0: [e0],
69
- }
48
+ # Fired when the dialog is opened.
49
+ on_open_auto_focus: EventHandler[lambda e0: [e0]]
50
+
51
+ # Fired when the dialog is closed.
52
+ on_close_auto_focus: EventHandler[lambda e0: [e0]]
53
+
54
+ # Fired when the escape key is pressed.
55
+ on_escape_key_down: EventHandler[lambda e0: [e0]]
56
+
57
+ # Fired when the pointer is down outside the dialog.
58
+ on_pointer_down_outside: EventHandler[lambda e0: [e0]]
59
+
60
+ # Fired when the pointer interacts outside the dialog.
61
+ on_interact_outside: EventHandler[lambda e0: [e0]]
70
62
 
71
63
 
72
64
  class DialogDescription(RadixThemesComponent):
@@ -7,15 +7,14 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
  from reflex.vars import Var, BaseVar, ComputedVar
8
8
  from reflex.event import EventChain, EventHandler, EventSpec
9
9
  from reflex.style import Style
10
- from typing import Any, Dict, Literal
10
+ from typing import Literal
11
11
  from reflex.components.component import ComponentNamespace
12
12
  from reflex.components.el import elements
13
- from reflex.constants import EventTriggers
13
+ from reflex.event import EventHandler
14
14
  from reflex.vars import Var
15
15
  from ..base import RadixThemesComponent, RadixThemesTriggerComponent
16
16
 
17
17
  class DialogRoot(RadixThemesComponent):
18
- def get_event_triggers(self) -> Dict[str, Any]: ...
19
18
  @overload
20
19
  @classmethod
21
20
  def create( # type: ignore
@@ -249,7 +248,6 @@ class DialogTitle(RadixThemesComponent):
249
248
  ...
250
249
 
251
250
  class DialogContent(elements.Div, RadixThemesComponent):
252
- def get_event_triggers(self) -> Dict[str, Any]: ...
253
251
  @overload
254
252
  @classmethod
255
253
  def create( # type: ignore