reflex 0.6.4a3__py3-none-any.whl → 0.6.5a1__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.
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 +82 -28
  34. reflex/components/core/upload.pyi +77 -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 +27 -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 +127 -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.5a1.dist-info}/METADATA +3 -3
  224. reflex-0.6.5a1.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.5a1.dist-info}/LICENSE +0 -0
  227. {reflex-0.6.4a3.dist-info → reflex-0.6.5a1.dist-info}/WHEEL +0 -0
  228. {reflex-0.6.4a3.dist-info → reflex-0.6.5a1.dist-info}/entry_points.txt +0 -0
@@ -8,7 +8,7 @@ from typing import Any, Dict, Literal, Optional, Union, overload
8
8
  from reflex.components.component import ComponentNamespace
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.components.el import elements
11
- from reflex.event import EventType
11
+ from reflex.event import BASE_STATE, EventType
12
12
  from reflex.style import Style
13
13
  from reflex.vars.base import Var
14
14
 
@@ -29,23 +29,25 @@ class HoverCardRoot(RadixThemesComponent):
29
29
  id: Optional[Any] = None,
30
30
  class_name: Optional[Any] = None,
31
31
  autofocus: Optional[bool] = None,
32
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
33
- on_blur: Optional[EventType[[]]] = None,
34
- on_click: Optional[EventType[[]]] = None,
35
- on_context_menu: Optional[EventType[[]]] = None,
36
- on_double_click: Optional[EventType[[]]] = None,
37
- on_focus: Optional[EventType[[]]] = None,
38
- on_mount: Optional[EventType[[]]] = None,
39
- on_mouse_down: Optional[EventType[[]]] = None,
40
- on_mouse_enter: Optional[EventType[[]]] = None,
41
- on_mouse_leave: Optional[EventType[[]]] = None,
42
- on_mouse_move: Optional[EventType[[]]] = None,
43
- on_mouse_out: Optional[EventType[[]]] = None,
44
- on_mouse_over: Optional[EventType[[]]] = None,
45
- on_mouse_up: Optional[EventType[[]]] = None,
46
- on_open_change: Optional[EventType[bool]] = None,
47
- on_scroll: Optional[EventType[[]]] = None,
48
- on_unmount: Optional[EventType[[]]] = None,
32
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
33
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
34
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
35
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
36
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
37
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
38
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
39
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
40
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
41
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
42
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
43
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
44
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
45
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
46
+ on_open_change: Optional[
47
+ Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
48
+ ] = None,
49
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
50
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
49
51
  **props,
50
52
  ) -> "HoverCardRoot":
51
53
  """Create a new component instance.
@@ -59,6 +61,7 @@ class HoverCardRoot(RadixThemesComponent):
59
61
  open: The controlled open state of the hover card. Must be used in conjunction with onOpenChange.
60
62
  open_delay: The duration from when the mouse enters the trigger until the hover card opens.
61
63
  close_delay: The duration from when the mouse leaves the trigger until the hover card closes.
64
+ on_open_change: Fired when the open state changes.
62
65
  style: The style of the component.
63
66
  key: A unique key for the component.
64
67
  id: The id for the component.
@@ -83,22 +86,22 @@ class HoverCardTrigger(RadixThemesTriggerComponent):
83
86
  id: Optional[Any] = None,
84
87
  class_name: Optional[Any] = None,
85
88
  autofocus: Optional[bool] = None,
86
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
87
- on_blur: Optional[EventType[[]]] = None,
88
- on_click: Optional[EventType[[]]] = None,
89
- on_context_menu: Optional[EventType[[]]] = None,
90
- on_double_click: Optional[EventType[[]]] = None,
91
- on_focus: Optional[EventType[[]]] = None,
92
- on_mount: Optional[EventType[[]]] = None,
93
- on_mouse_down: Optional[EventType[[]]] = None,
94
- on_mouse_enter: Optional[EventType[[]]] = None,
95
- on_mouse_leave: Optional[EventType[[]]] = None,
96
- on_mouse_move: Optional[EventType[[]]] = None,
97
- on_mouse_out: Optional[EventType[[]]] = None,
98
- on_mouse_over: Optional[EventType[[]]] = None,
99
- on_mouse_up: Optional[EventType[[]]] = None,
100
- on_scroll: Optional[EventType[[]]] = None,
101
- on_unmount: Optional[EventType[[]]] = None,
89
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
90
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
91
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
92
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
93
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
94
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
95
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
96
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
97
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
98
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
99
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
100
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
101
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
102
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
103
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
104
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
102
105
  **props,
103
106
  ) -> "HoverCardTrigger":
104
107
  """Create a new RadixThemesTriggerComponent instance.
@@ -137,7 +140,31 @@ class HoverCardContent(elements.Div, RadixThemesComponent):
137
140
  Var[Literal["center", "end", "start"]],
138
141
  ]
139
142
  ] = None,
143
+ align_offset: Optional[Union[Var[int], int]] = None,
140
144
  avoid_collisions: Optional[Union[Var[bool], bool]] = None,
145
+ collision_padding: Optional[
146
+ Union[
147
+ Dict[str, Union[float, int]],
148
+ Var[Union[Dict[str, Union[float, int]], float, int]],
149
+ float,
150
+ int,
151
+ ]
152
+ ] = None,
153
+ sticky: Optional[
154
+ Union[Literal["always", "partial"], Var[Literal["always", "partial"]]]
155
+ ] = None,
156
+ hide_when_detached: Optional[Union[Var[bool], bool]] = None,
157
+ size: Optional[
158
+ Union[
159
+ Breakpoints[str, Literal["1", "2", "3"]],
160
+ Literal["1", "2", "3"],
161
+ Var[
162
+ Union[
163
+ Breakpoints[str, Literal["1", "2", "3"]], Literal["1", "2", "3"]
164
+ ]
165
+ ],
166
+ ]
167
+ ] = None,
141
168
  access_key: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
142
169
  auto_capitalize: Optional[
143
170
  Union[Var[Union[bool, int, str]], bool, int, str]
@@ -167,22 +194,22 @@ class HoverCardContent(elements.Div, RadixThemesComponent):
167
194
  id: Optional[Any] = None,
168
195
  class_name: Optional[Any] = None,
169
196
  autofocus: Optional[bool] = None,
170
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
171
- on_blur: Optional[EventType[[]]] = None,
172
- on_click: Optional[EventType[[]]] = None,
173
- on_context_menu: Optional[EventType[[]]] = None,
174
- on_double_click: Optional[EventType[[]]] = None,
175
- on_focus: Optional[EventType[[]]] = None,
176
- on_mount: Optional[EventType[[]]] = None,
177
- on_mouse_down: Optional[EventType[[]]] = None,
178
- on_mouse_enter: Optional[EventType[[]]] = None,
179
- on_mouse_leave: Optional[EventType[[]]] = None,
180
- on_mouse_move: Optional[EventType[[]]] = None,
181
- on_mouse_out: Optional[EventType[[]]] = None,
182
- on_mouse_over: Optional[EventType[[]]] = None,
183
- on_mouse_up: Optional[EventType[[]]] = None,
184
- on_scroll: Optional[EventType[[]]] = None,
185
- on_unmount: Optional[EventType[[]]] = None,
197
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
198
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
199
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
200
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
201
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
202
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
203
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
204
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
205
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
206
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
207
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
208
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
209
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
210
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
211
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
212
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
186
213
  **props,
187
214
  ) -> "HoverCardContent":
188
215
  """Create a new component instance.
@@ -195,7 +222,12 @@ class HoverCardContent(elements.Div, RadixThemesComponent):
195
222
  side: The preferred side of the trigger to render against when open. Will be reversed when collisions occur and avoidCollisions is enabled.
196
223
  side_offset: The distance in pixels from the trigger.
197
224
  align: The preferred alignment against the trigger. May change when collisions occur.
225
+ align_offset: An offset in pixels from the "start" or "end" alignment options.
198
226
  avoid_collisions: Whether or not the hover card should avoid collisions with its trigger.
227
+ collision_padding: 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 }.
228
+ sticky: 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
229
+ hide_when_detached: Whether to hide the content when the trigger becomes fully occluded.
230
+ size: Hovercard size "1" - "3"
199
231
  access_key: Provides a hint for generating a keyboard shortcut for the current element.
200
232
  auto_capitalize: Controls whether and how text input is automatically capitalized as it is entered/edited by the user.
201
233
  content_editable: Indicates whether the element's content is editable.
@@ -242,23 +274,25 @@ class HoverCard(ComponentNamespace):
242
274
  id: Optional[Any] = None,
243
275
  class_name: Optional[Any] = None,
244
276
  autofocus: Optional[bool] = None,
245
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
246
- on_blur: Optional[EventType[[]]] = None,
247
- on_click: Optional[EventType[[]]] = None,
248
- on_context_menu: Optional[EventType[[]]] = None,
249
- on_double_click: Optional[EventType[[]]] = None,
250
- on_focus: Optional[EventType[[]]] = None,
251
- on_mount: Optional[EventType[[]]] = None,
252
- on_mouse_down: Optional[EventType[[]]] = None,
253
- on_mouse_enter: Optional[EventType[[]]] = None,
254
- on_mouse_leave: Optional[EventType[[]]] = None,
255
- on_mouse_move: Optional[EventType[[]]] = None,
256
- on_mouse_out: Optional[EventType[[]]] = None,
257
- on_mouse_over: Optional[EventType[[]]] = None,
258
- on_mouse_up: Optional[EventType[[]]] = None,
259
- on_open_change: Optional[EventType[bool]] = None,
260
- on_scroll: Optional[EventType[[]]] = None,
261
- on_unmount: Optional[EventType[[]]] = None,
277
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
278
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
279
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
280
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
281
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
282
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
283
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
284
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
285
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
286
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
287
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
288
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
289
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
290
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
291
+ on_open_change: Optional[
292
+ Union[EventType[[], BASE_STATE], EventType[[bool], BASE_STATE]]
293
+ ] = None,
294
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
295
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
262
296
  **props,
263
297
  ) -> "HoverCardRoot":
264
298
  """Create a new component instance.
@@ -272,6 +306,7 @@ class HoverCard(ComponentNamespace):
272
306
  open: The controlled open state of the hover card. Must be used in conjunction with onOpenChange.
273
307
  open_delay: The duration from when the mouse enters the trigger until the hover card opens.
274
308
  close_delay: The duration from when the mouse leaves the trigger until the hover card closes.
309
+ on_open_change: Fired when the open state changes.
275
310
  style: The style of the component.
276
311
  key: A unique key for the component.
277
312
  id: The id for the component.
@@ -7,14 +7,11 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
 
8
8
  from reflex.components.core.breakpoints import Breakpoints
9
9
  from reflex.components.el import elements
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
 
14
- from ..base import (
15
- RadixLoadingProp,
16
- RadixThemesComponent,
17
- )
14
+ from ..base import RadixLoadingProp, RadixThemesComponent
18
15
 
19
16
  LiteralButtonSize = Literal["1", "2", "3", "4"]
20
17
 
@@ -157,22 +154,22 @@ class IconButton(elements.Button, RadixLoadingProp, RadixThemesComponent):
157
154
  id: Optional[Any] = None,
158
155
  class_name: Optional[Any] = None,
159
156
  autofocus: Optional[bool] = None,
160
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
161
- on_blur: Optional[EventType[[]]] = None,
162
- on_click: Optional[EventType[[]]] = None,
163
- on_context_menu: Optional[EventType[[]]] = None,
164
- on_double_click: Optional[EventType[[]]] = None,
165
- on_focus: Optional[EventType[[]]] = None,
166
- on_mount: Optional[EventType[[]]] = None,
167
- on_mouse_down: Optional[EventType[[]]] = None,
168
- on_mouse_enter: Optional[EventType[[]]] = None,
169
- on_mouse_leave: Optional[EventType[[]]] = None,
170
- on_mouse_move: Optional[EventType[[]]] = None,
171
- on_mouse_out: Optional[EventType[[]]] = None,
172
- on_mouse_over: Optional[EventType[[]]] = None,
173
- on_mouse_up: Optional[EventType[[]]] = None,
174
- on_scroll: Optional[EventType[[]]] = None,
175
- on_unmount: Optional[EventType[[]]] = None,
157
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
158
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
159
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
160
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
161
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
162
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
163
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
164
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
165
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
166
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
167
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
168
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
169
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
170
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
171
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
172
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
176
173
  **props,
177
174
  ) -> "IconButton":
178
175
  """Create a IconButton component.
@@ -6,9 +6,7 @@ from reflex.components.core.breakpoints import Responsive
6
6
  from reflex.components.el import elements
7
7
  from reflex.vars.base import Var
8
8
 
9
- from ..base import (
10
- RadixThemesComponent,
11
- )
9
+ from ..base import RadixThemesComponent
12
10
 
13
11
  LiteralButtonSize = Literal["1", "2", "3", "4"]
14
12
 
@@ -7,7 +7,7 @@ from typing import Any, Dict, Literal, Optional, Union, overload
7
7
 
8
8
  from reflex.components.core.breakpoints import Breakpoints
9
9
  from reflex.components.el import elements
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
 
@@ -132,22 +132,22 @@ class Inset(elements.Div, RadixThemesComponent):
132
132
  id: Optional[Any] = None,
133
133
  class_name: Optional[Any] = None,
134
134
  autofocus: Optional[bool] = None,
135
- custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
136
- on_blur: Optional[EventType[[]]] = None,
137
- on_click: Optional[EventType[[]]] = None,
138
- on_context_menu: Optional[EventType[[]]] = None,
139
- on_double_click: Optional[EventType[[]]] = None,
140
- on_focus: Optional[EventType[[]]] = None,
141
- on_mount: Optional[EventType[[]]] = None,
142
- on_mouse_down: Optional[EventType[[]]] = None,
143
- on_mouse_enter: Optional[EventType[[]]] = None,
144
- on_mouse_leave: Optional[EventType[[]]] = None,
145
- on_mouse_move: Optional[EventType[[]]] = None,
146
- on_mouse_out: Optional[EventType[[]]] = None,
147
- on_mouse_over: Optional[EventType[[]]] = None,
148
- on_mouse_up: Optional[EventType[[]]] = None,
149
- on_scroll: Optional[EventType[[]]] = None,
150
- on_unmount: Optional[EventType[[]]] = None,
135
+ custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
136
+ on_blur: Optional[EventType[[], BASE_STATE]] = None,
137
+ on_click: Optional[EventType[[], BASE_STATE]] = None,
138
+ on_context_menu: Optional[EventType[[], BASE_STATE]] = None,
139
+ on_double_click: Optional[EventType[[], BASE_STATE]] = None,
140
+ on_focus: Optional[EventType[[], BASE_STATE]] = None,
141
+ on_mount: Optional[EventType[[], BASE_STATE]] = None,
142
+ on_mouse_down: Optional[EventType[[], BASE_STATE]] = None,
143
+ on_mouse_enter: Optional[EventType[[], BASE_STATE]] = None,
144
+ on_mouse_leave: Optional[EventType[[], BASE_STATE]] = None,
145
+ on_mouse_move: Optional[EventType[[], BASE_STATE]] = None,
146
+ on_mouse_out: Optional[EventType[[], BASE_STATE]] = None,
147
+ on_mouse_over: Optional[EventType[[], BASE_STATE]] = None,
148
+ on_mouse_up: Optional[EventType[[], BASE_STATE]] = None,
149
+ on_scroll: Optional[EventType[[], BASE_STATE]] = None,
150
+ on_unmount: Optional[EventType[[], BASE_STATE]] = None,
151
151
  **props,
152
152
  ) -> "Inset":
153
153
  """Create a new component instance.
@@ -1,17 +1,14 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
2
 
3
- from typing import Literal
3
+ from typing import Dict, Literal, Union
4
4
 
5
5
  from reflex.components.component import ComponentNamespace
6
6
  from reflex.components.core.breakpoints import Responsive
7
7
  from reflex.components.el import elements
8
- from reflex.event import EventHandler, empty_event, identity_event
8
+ from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spec
9
9
  from reflex.vars.base import Var
10
10
 
11
- from ..base import (
12
- RadixThemesComponent,
13
- RadixThemesTriggerComponent,
14
- )
11
+ from ..base import RadixThemesComponent, RadixThemesTriggerComponent
15
12
 
16
13
 
17
14
  class PopoverRoot(RadixThemesComponent):
@@ -26,7 +23,10 @@ class PopoverRoot(RadixThemesComponent):
26
23
  modal: Var[bool]
27
24
 
28
25
  # Fired when the open state changes.
29
- on_open_change: EventHandler[identity_event(bool)]
26
+ on_open_change: EventHandler[passthrough_event_spec(bool)]
27
+
28
+ # The open state of the popover when it is initially rendered. Use when you do not need to control its open state.
29
+ default_open: Var[bool]
30
30
 
31
31
 
32
32
  class PopoverTrigger(RadixThemesTriggerComponent):
@@ -58,23 +58,32 @@ class PopoverContent(elements.Div, RadixThemesComponent):
58
58
  # When true, overrides the side andalign preferences to prevent collisions with boundary edges.
59
59
  avoid_collisions: Var[bool]
60
60
 
61
+ # 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.
62
+ collision_padding: Var[Union[float, int, Dict[str, Union[float, int]]]]
63
+
64
+ # 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".
65
+ sticky: Var[Literal["partial", "always"]]
66
+
67
+ # Whether to hide the content when the trigger becomes fully occluded. Defaults to False.
68
+ hide_when_detached: Var[bool]
69
+
61
70
  # Fired when the dialog is opened.
62
- on_open_auto_focus: EventHandler[empty_event]
71
+ on_open_auto_focus: EventHandler[no_args_event_spec]
63
72
 
64
73
  # Fired when the dialog is closed.
65
- on_close_auto_focus: EventHandler[empty_event]
74
+ on_close_auto_focus: EventHandler[no_args_event_spec]
66
75
 
67
76
  # Fired when the escape key is pressed.
68
- on_escape_key_down: EventHandler[empty_event]
77
+ on_escape_key_down: EventHandler[no_args_event_spec]
69
78
 
70
79
  # Fired when the pointer is down outside the dialog.
71
- on_pointer_down_outside: EventHandler[empty_event]
80
+ on_pointer_down_outside: EventHandler[no_args_event_spec]
72
81
 
73
82
  # Fired when focus moves outside the dialog.
74
- on_focus_outside: EventHandler[empty_event]
83
+ on_focus_outside: EventHandler[no_args_event_spec]
75
84
 
76
85
  # Fired when the pointer interacts outside the dialog.
77
- on_interact_outside: EventHandler[empty_event]
86
+ on_interact_outside: EventHandler[no_args_event_spec]
78
87
 
79
88
 
80
89
  class PopoverClose(RadixThemesTriggerComponent):