reflex 0.7.14a5__py3-none-any.whl → 0.8.0__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 (236) hide show
  1. reflex/.templates/jinja/app/rxconfig.py.jinja2 +4 -1
  2. reflex/.templates/jinja/web/package.json.jinja2 +1 -1
  3. reflex/.templates/jinja/web/pages/_app.js.jinja2 +21 -11
  4. reflex/.templates/jinja/web/pages/_document.js.jinja2 +1 -1
  5. reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -1
  6. reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +4 -0
  7. reflex/.templates/jinja/web/styles/styles.css.jinja2 +1 -0
  8. reflex/.templates/jinja/web/utils/context.js.jinja2 +25 -8
  9. reflex/.templates/web/app/entry.client.js +8 -0
  10. reflex/.templates/web/app/routes.js +10 -0
  11. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +12 -37
  12. reflex/.templates/web/postcss.config.js +1 -1
  13. reflex/.templates/web/react-router.config.js +6 -0
  14. reflex/.templates/web/styles/__reflex_style_reset.css +399 -0
  15. reflex/.templates/web/utils/client_side_routing.js +21 -19
  16. reflex/.templates/web/utils/react-theme.js +92 -0
  17. reflex/.templates/web/utils/state.js +251 -100
  18. reflex/.templates/web/vite-plugin-safari-cachebust.js +160 -0
  19. reflex/.templates/web/vite.config.js +39 -0
  20. reflex/__init__.py +1 -6
  21. reflex/__init__.pyi +327 -192
  22. reflex/app.py +103 -152
  23. reflex/base.py +1 -87
  24. reflex/compiler/compiler.py +70 -19
  25. reflex/compiler/templates.py +3 -3
  26. reflex/compiler/utils.py +91 -33
  27. reflex/components/__init__.py +0 -2
  28. reflex/components/__init__.pyi +34 -18
  29. reflex/components/base/__init__.py +1 -5
  30. reflex/components/base/__init__.pyi +30 -21
  31. reflex/components/base/app_wrap.pyi +7 -7
  32. reflex/components/base/body.pyi +7 -7
  33. reflex/components/base/document.py +18 -14
  34. reflex/components/base/document.pyi +88 -38
  35. reflex/components/base/error_boundary.pyi +7 -7
  36. reflex/components/base/fragment.pyi +7 -7
  37. reflex/components/base/link.pyi +12 -12
  38. reflex/components/base/meta.py +4 -15
  39. reflex/components/base/meta.pyi +31 -31
  40. reflex/components/base/script.py +60 -58
  41. reflex/components/base/script.pyi +248 -34
  42. reflex/components/base/strict_mode.pyi +7 -7
  43. reflex/components/component.py +146 -217
  44. reflex/components/core/__init__.py +1 -0
  45. reflex/components/core/__init__.pyi +77 -37
  46. reflex/components/core/auto_scroll.pyi +7 -7
  47. reflex/components/core/banner.pyi +33 -33
  48. reflex/components/core/client_side_routing.py +7 -6
  49. reflex/components/core/client_side_routing.pyi +8 -59
  50. reflex/components/core/clipboard.pyi +7 -7
  51. reflex/components/core/debounce.py +1 -0
  52. reflex/components/core/debounce.pyi +7 -7
  53. reflex/components/core/foreach.py +5 -4
  54. reflex/components/core/helmet.py +14 -0
  55. reflex/components/{next/base.pyi → core/helmet.pyi} +12 -10
  56. reflex/components/core/html.pyi +7 -7
  57. reflex/components/core/match.py +3 -3
  58. reflex/components/core/sticky.pyi +21 -20
  59. reflex/components/core/upload.py +4 -2
  60. reflex/components/core/upload.pyi +26 -25
  61. reflex/components/datadisplay/__init__.pyi +13 -7
  62. reflex/components/datadisplay/code.py +14 -79
  63. reflex/components/datadisplay/code.pyi +11 -13
  64. reflex/components/datadisplay/dataeditor.pyi +38 -15
  65. reflex/components/datadisplay/shiki_code_block.py +5 -3
  66. reflex/components/datadisplay/shiki_code_block.pyi +16 -15
  67. reflex/components/dynamic.py +5 -5
  68. reflex/components/el/__init__.pyi +506 -246
  69. reflex/components/el/element.pyi +7 -7
  70. reflex/components/el/elements/__init__.pyi +504 -245
  71. reflex/components/el/elements/base.pyi +7 -7
  72. reflex/components/el/elements/forms.pyi +146 -101
  73. reflex/components/el/elements/inline.pyi +142 -142
  74. reflex/components/el/elements/media.pyi +131 -130
  75. reflex/components/el/elements/metadata.pyi +32 -32
  76. reflex/components/el/elements/other.pyi +37 -37
  77. reflex/components/el/elements/scripts.pyi +17 -17
  78. reflex/components/el/elements/sectioning.pyi +77 -77
  79. reflex/components/el/elements/tables.pyi +52 -52
  80. reflex/components/el/elements/typography.pyi +77 -77
  81. reflex/components/field.py +175 -0
  82. reflex/components/gridjs/datatable.py +2 -2
  83. reflex/components/gridjs/datatable.pyi +14 -14
  84. reflex/components/lucide/icon.py +6 -2
  85. reflex/components/lucide/icon.pyi +19 -17
  86. reflex/components/markdown/markdown.py +5 -3
  87. reflex/components/markdown/markdown.pyi +7 -7
  88. reflex/components/moment/moment.py +1 -1
  89. reflex/components/moment/moment.pyi +7 -7
  90. reflex/components/plotly/plotly.py +12 -6
  91. reflex/components/plotly/plotly.pyi +50 -49
  92. reflex/components/props.py +376 -27
  93. reflex/components/radix/__init__.pyi +123 -65
  94. reflex/components/radix/primitives/__init__.pyi +6 -4
  95. reflex/components/radix/primitives/accordion.py +8 -1
  96. reflex/components/radix/primitives/accordion.pyi +37 -37
  97. reflex/components/radix/primitives/base.pyi +12 -12
  98. reflex/components/radix/primitives/drawer.pyi +56 -55
  99. reflex/components/radix/primitives/form.pyi +63 -53
  100. reflex/components/radix/primitives/progress.pyi +26 -25
  101. reflex/components/radix/primitives/slider.pyi +27 -27
  102. reflex/components/radix/themes/__init__.pyi +5 -6
  103. reflex/components/radix/themes/base.py +3 -3
  104. reflex/components/radix/themes/base.pyi +42 -42
  105. reflex/components/radix/themes/color_mode.py +5 -6
  106. reflex/components/radix/themes/color_mode.pyi +17 -17
  107. reflex/components/radix/themes/components/__init__.pyi +75 -38
  108. reflex/components/radix/themes/components/alert_dialog.pyi +37 -37
  109. reflex/components/radix/themes/components/aspect_ratio.pyi +7 -7
  110. reflex/components/radix/themes/components/avatar.pyi +7 -7
  111. reflex/components/radix/themes/components/badge.pyi +7 -7
  112. reflex/components/radix/themes/components/button.pyi +7 -7
  113. reflex/components/radix/themes/components/callout.pyi +26 -25
  114. reflex/components/radix/themes/components/card.pyi +7 -7
  115. reflex/components/radix/themes/components/checkbox.pyi +16 -15
  116. reflex/components/radix/themes/components/checkbox_cards.pyi +12 -12
  117. reflex/components/radix/themes/components/checkbox_group.pyi +12 -12
  118. reflex/components/radix/themes/components/context_menu.pyi +67 -67
  119. reflex/components/radix/themes/components/data_list.pyi +22 -22
  120. reflex/components/radix/themes/components/dialog.pyi +36 -35
  121. reflex/components/radix/themes/components/dropdown_menu.pyi +42 -42
  122. reflex/components/radix/themes/components/hover_card.pyi +21 -20
  123. reflex/components/radix/themes/components/icon_button.pyi +7 -7
  124. reflex/components/radix/themes/components/inset.pyi +7 -7
  125. reflex/components/radix/themes/components/popover.pyi +22 -22
  126. reflex/components/radix/themes/components/progress.pyi +7 -7
  127. reflex/components/radix/themes/components/radio.pyi +7 -7
  128. reflex/components/radix/themes/components/radio_cards.pyi +12 -12
  129. reflex/components/radix/themes/components/radio_group.pyi +21 -20
  130. reflex/components/radix/themes/components/scroll_area.pyi +7 -7
  131. reflex/components/radix/themes/components/segmented_control.pyi +12 -12
  132. reflex/components/radix/themes/components/select.pyi +46 -45
  133. reflex/components/radix/themes/components/separator.pyi +7 -7
  134. reflex/components/radix/themes/components/skeleton.pyi +7 -7
  135. reflex/components/radix/themes/components/slider.pyi +17 -9
  136. reflex/components/radix/themes/components/spinner.pyi +7 -7
  137. reflex/components/radix/themes/components/switch.pyi +7 -7
  138. reflex/components/radix/themes/components/table.pyi +37 -37
  139. reflex/components/radix/themes/components/tabs.pyi +26 -25
  140. reflex/components/radix/themes/components/text_area.pyi +15 -9
  141. reflex/components/radix/themes/components/text_field.pyi +32 -19
  142. reflex/components/radix/themes/components/tooltip.pyi +7 -7
  143. reflex/components/radix/themes/layout/__init__.pyi +27 -14
  144. reflex/components/radix/themes/layout/base.pyi +7 -7
  145. reflex/components/radix/themes/layout/box.pyi +7 -7
  146. reflex/components/radix/themes/layout/center.pyi +7 -7
  147. reflex/components/radix/themes/layout/container.pyi +7 -7
  148. reflex/components/radix/themes/layout/flex.pyi +7 -7
  149. reflex/components/radix/themes/layout/grid.pyi +7 -7
  150. reflex/components/radix/themes/layout/list.pyi +26 -25
  151. reflex/components/radix/themes/layout/section.pyi +7 -7
  152. reflex/components/radix/themes/layout/spacer.pyi +7 -7
  153. reflex/components/radix/themes/layout/stack.pyi +17 -17
  154. reflex/components/radix/themes/typography/__init__.pyi +7 -5
  155. reflex/components/radix/themes/typography/blockquote.pyi +7 -7
  156. reflex/components/radix/themes/typography/code.pyi +7 -7
  157. reflex/components/radix/themes/typography/heading.pyi +7 -7
  158. reflex/components/radix/themes/typography/link.py +46 -11
  159. reflex/components/radix/themes/typography/link.pyi +312 -9
  160. reflex/components/radix/themes/typography/text.pyi +36 -35
  161. reflex/components/react_player/audio.pyi +10 -8
  162. reflex/components/react_player/react_player.pyi +7 -7
  163. reflex/components/react_player/video.pyi +10 -8
  164. reflex/components/recharts/__init__.pyi +208 -100
  165. reflex/components/recharts/cartesian.py +10 -8
  166. reflex/components/recharts/cartesian.pyi +90 -94
  167. reflex/components/recharts/charts.py +4 -2
  168. reflex/components/recharts/charts.pyi +49 -49
  169. reflex/components/recharts/general.pyi +31 -31
  170. reflex/components/recharts/polar.py +8 -4
  171. reflex/components/recharts/polar.pyi +23 -23
  172. reflex/components/recharts/recharts.py +2 -2
  173. reflex/components/recharts/recharts.pyi +12 -12
  174. reflex/components/sonner/toast.py +3 -3
  175. reflex/components/sonner/toast.pyi +9 -9
  176. reflex/config.py +10 -113
  177. reflex/constants/__init__.py +2 -2
  178. reflex/constants/base.py +28 -11
  179. reflex/constants/compiler.py +12 -3
  180. reflex/constants/event.py +1 -0
  181. reflex/constants/installer.py +26 -20
  182. reflex/constants/route.py +27 -8
  183. reflex/constants/state.py +2 -0
  184. reflex/custom_components/custom_components.py +0 -14
  185. reflex/environment.py +77 -5
  186. reflex/event.py +178 -81
  187. reflex/experimental/__init__.py +0 -30
  188. reflex/istate/__init__.py +69 -0
  189. reflex/istate/manager.py +1 -0
  190. reflex/istate/proxy.py +5 -3
  191. reflex/page.py +0 -27
  192. reflex/plugins/__init__.py +3 -2
  193. reflex/plugins/base.py +5 -1
  194. reflex/plugins/shared_tailwind.py +215 -0
  195. reflex/plugins/sitemap.py +206 -0
  196. reflex/plugins/tailwind_v3.py +15 -108
  197. reflex/plugins/tailwind_v4.py +18 -110
  198. reflex/reflex.py +1 -0
  199. reflex/route.py +157 -75
  200. reflex/state.py +171 -155
  201. reflex/testing.py +86 -16
  202. reflex/utils/build.py +38 -82
  203. reflex/utils/exec.py +83 -175
  204. reflex/utils/export.py +2 -2
  205. reflex/utils/format.py +1 -5
  206. reflex/utils/imports.py +5 -16
  207. reflex/utils/misc.py +67 -0
  208. reflex/utils/prerequisites.py +66 -68
  209. reflex/utils/processes.py +24 -47
  210. reflex/utils/pyi_generator.py +44 -49
  211. reflex/utils/serializers.py +14 -1
  212. reflex/utils/telemetry.py +0 -15
  213. reflex/utils/types.py +197 -62
  214. reflex/vars/__init__.py +2 -0
  215. reflex/vars/base.py +367 -134
  216. {reflex-0.7.14a5.dist-info → reflex-0.8.0.dist-info}/METADATA +15 -8
  217. reflex-0.8.0.dist-info/RECORD +403 -0
  218. reflex/.templates/web/next.config.js +0 -7
  219. reflex/components/base/head.py +0 -20
  220. reflex/components/base/head.pyi +0 -116
  221. reflex/components/next/__init__.py +0 -10
  222. reflex/components/next/base.py +0 -7
  223. reflex/components/next/image.py +0 -117
  224. reflex/components/next/image.pyi +0 -94
  225. reflex/components/next/link.py +0 -20
  226. reflex/components/next/link.pyi +0 -67
  227. reflex/components/next/video.py +0 -38
  228. reflex/components/next/video.pyi +0 -68
  229. reflex/components/suneditor/__init__.py +0 -5
  230. reflex/components/suneditor/editor.py +0 -269
  231. reflex/components/suneditor/editor.pyi +0 -199
  232. reflex/experimental/layout.py +0 -254
  233. reflex-0.7.14a5.dist-info/RECORD +0 -407
  234. {reflex-0.7.14a5.dist-info → reflex-0.8.0.dist-info}/WHEEL +0 -0
  235. {reflex-0.7.14a5.dist-info → reflex-0.8.0.dist-info}/entry_points.txt +0 -0
  236. {reflex-0.7.14a5.dist-info → reflex-0.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -241,7 +241,7 @@ class Theme(RadixThemesComponent):
241
241
  The import dict.
242
242
  """
243
243
  return {
244
- "$/utils/theme.js": [ImportVar(tag="theme", is_default=True)],
244
+ "$/utils/theme": [ImportVar(tag="theme", is_default=True)],
245
245
  }
246
246
 
247
247
  def _render(self, props: dict[str, Any] | None = None) -> Tag:
@@ -276,9 +276,9 @@ class ThemePanel(RadixThemesComponent):
276
276
 
277
277
 
278
278
  class RadixThemesColorModeProvider(Component):
279
- """Next-themes integration for radix themes components."""
279
+ """React-themes integration for radix themes components."""
280
280
 
281
- library = "$/components/reflex/radix_themes_color_mode_provider.js"
281
+ library = "$/components/reflex/radix_themes_color_mode_provider"
282
282
  tag = "RadixThemesColorModeProvider"
283
283
  is_default = True
284
284
 
@@ -4,11 +4,11 @@
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
6
  from collections.abc import Mapping, Sequence
7
- from typing import Any, Literal, overload
7
+ from typing import Any, Literal
8
8
 
9
9
  from reflex.components import Component
10
10
  from reflex.components.core.breakpoints import Breakpoints
11
- from reflex.event import EventType
11
+ from reflex.event import EventType, PointerEventInfo
12
12
  from reflex.utils.imports import ImportDict
13
13
  from reflex.vars.base import Var
14
14
 
@@ -51,9 +51,8 @@ LiteralAccentColor = Literal[
51
51
  ]
52
52
 
53
53
  class CommonMarginProps(Component):
54
- @overload
55
54
  @classmethod
56
- def create( # type: ignore
55
+ def create(
57
56
  cls,
58
57
  *children,
59
58
  m: Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
@@ -89,9 +88,9 @@ class CommonMarginProps(Component):
89
88
  autofocus: bool | None = None,
90
89
  custom_attrs: dict[str, Var | Any] | None = None,
91
90
  on_blur: EventType[()] | None = None,
92
- on_click: EventType[()] | None = None,
93
- on_context_menu: EventType[()] | None = None,
94
- on_double_click: EventType[()] | None = None,
91
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
92
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
93
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
95
94
  on_focus: EventType[()] | None = None,
96
95
  on_mount: EventType[()] | None = None,
97
96
  on_mouse_down: EventType[()] | None = None,
@@ -102,6 +101,7 @@ class CommonMarginProps(Component):
102
101
  on_mouse_over: EventType[()] | None = None,
103
102
  on_mouse_up: EventType[()] | None = None,
104
103
  on_scroll: EventType[()] | None = None,
104
+ on_scroll_end: EventType[()] | None = None,
105
105
  on_unmount: EventType[()] | None = None,
106
106
  **props,
107
107
  ) -> CommonMarginProps:
@@ -130,9 +130,8 @@ class CommonMarginProps(Component):
130
130
  """
131
131
 
132
132
  class CommonPaddingProps(Component):
133
- @overload
134
133
  @classmethod
135
- def create( # type: ignore
134
+ def create(
136
135
  cls,
137
136
  *children,
138
137
  p: Breakpoints[str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]]
@@ -196,9 +195,9 @@ class CommonPaddingProps(Component):
196
195
  autofocus: bool | None = None,
197
196
  custom_attrs: dict[str, Var | Any] | None = None,
198
197
  on_blur: EventType[()] | None = None,
199
- on_click: EventType[()] | None = None,
200
- on_context_menu: EventType[()] | None = None,
201
- on_double_click: EventType[()] | None = None,
198
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
199
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
200
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
202
201
  on_focus: EventType[()] | None = None,
203
202
  on_mount: EventType[()] | None = None,
204
203
  on_mouse_down: EventType[()] | None = None,
@@ -209,6 +208,7 @@ class CommonPaddingProps(Component):
209
208
  on_mouse_over: EventType[()] | None = None,
210
209
  on_mouse_up: EventType[()] | None = None,
211
210
  on_scroll: EventType[()] | None = None,
211
+ on_scroll_end: EventType[()] | None = None,
212
212
  on_unmount: EventType[()] | None = None,
213
213
  **props,
214
214
  ) -> CommonPaddingProps:
@@ -237,9 +237,8 @@ class CommonPaddingProps(Component):
237
237
  """
238
238
 
239
239
  class RadixLoadingProp(Component):
240
- @overload
241
240
  @classmethod
242
- def create( # type: ignore
241
+ def create(
243
242
  cls,
244
243
  *children,
245
244
  loading: Var[bool] | bool | None = None,
@@ -255,9 +254,9 @@ class RadixLoadingProp(Component):
255
254
  autofocus: bool | None = None,
256
255
  custom_attrs: dict[str, Var | Any] | None = None,
257
256
  on_blur: EventType[()] | None = None,
258
- on_click: EventType[()] | None = None,
259
- on_context_menu: EventType[()] | None = None,
260
- on_double_click: EventType[()] | None = None,
257
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
258
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
259
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
261
260
  on_focus: EventType[()] | None = None,
262
261
  on_mount: EventType[()] | None = None,
263
262
  on_mouse_down: EventType[()] | None = None,
@@ -268,6 +267,7 @@ class RadixLoadingProp(Component):
268
267
  on_mouse_over: EventType[()] | None = None,
269
268
  on_mouse_up: EventType[()] | None = None,
270
269
  on_scroll: EventType[()] | None = None,
270
+ on_scroll_end: EventType[()] | None = None,
271
271
  on_unmount: EventType[()] | None = None,
272
272
  **props,
273
273
  ) -> RadixLoadingProp:
@@ -290,9 +290,8 @@ class RadixLoadingProp(Component):
290
290
  """
291
291
 
292
292
  class RadixThemesComponent(Component):
293
- @overload
294
293
  @classmethod
295
- def create( # type: ignore
294
+ def create(
296
295
  cls,
297
296
  *children,
298
297
  style: Sequence[Mapping[str, Any]]
@@ -307,9 +306,9 @@ class RadixThemesComponent(Component):
307
306
  autofocus: bool | None = None,
308
307
  custom_attrs: dict[str, Var | Any] | None = None,
309
308
  on_blur: EventType[()] | None = None,
310
- on_click: EventType[()] | None = None,
311
- on_context_menu: EventType[()] | None = None,
312
- on_double_click: EventType[()] | None = None,
309
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
310
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
311
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
313
312
  on_focus: EventType[()] | None = None,
314
313
  on_mount: EventType[()] | None = None,
315
314
  on_mouse_down: EventType[()] | None = None,
@@ -320,6 +319,7 @@ class RadixThemesComponent(Component):
320
319
  on_mouse_over: EventType[()] | None = None,
321
320
  on_mouse_up: EventType[()] | None = None,
322
321
  on_scroll: EventType[()] | None = None,
322
+ on_scroll_end: EventType[()] | None = None,
323
323
  on_unmount: EventType[()] | None = None,
324
324
  **props,
325
325
  ) -> RadixThemesComponent:
@@ -344,9 +344,8 @@ class RadixThemesComponent(Component):
344
344
  """
345
345
 
346
346
  class RadixThemesTriggerComponent(RadixThemesComponent):
347
- @overload
348
347
  @classmethod
349
- def create( # type: ignore
348
+ def create(
350
349
  cls,
351
350
  *children,
352
351
  style: Sequence[Mapping[str, Any]]
@@ -361,9 +360,9 @@ class RadixThemesTriggerComponent(RadixThemesComponent):
361
360
  autofocus: bool | None = None,
362
361
  custom_attrs: dict[str, Var | Any] | None = None,
363
362
  on_blur: EventType[()] | None = None,
364
- on_click: EventType[()] | None = None,
365
- on_context_menu: EventType[()] | None = None,
366
- on_double_click: EventType[()] | None = None,
363
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
364
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
365
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
367
366
  on_focus: EventType[()] | None = None,
368
367
  on_mount: EventType[()] | None = None,
369
368
  on_mouse_down: EventType[()] | None = None,
@@ -374,6 +373,7 @@ class RadixThemesTriggerComponent(RadixThemesComponent):
374
373
  on_mouse_over: EventType[()] | None = None,
375
374
  on_mouse_up: EventType[()] | None = None,
376
375
  on_scroll: EventType[()] | None = None,
376
+ on_scroll_end: EventType[()] | None = None,
377
377
  on_unmount: EventType[()] | None = None,
378
378
  **props,
379
379
  ) -> RadixThemesTriggerComponent:
@@ -388,9 +388,8 @@ class RadixThemesTriggerComponent(RadixThemesComponent):
388
388
  """
389
389
 
390
390
  class Theme(RadixThemesComponent):
391
- @overload
392
391
  @classmethod
393
- def create( # type: ignore
392
+ def create(
394
393
  cls,
395
394
  *children,
396
395
  color_mode: Literal["dark", "inherit", "light"] | None = None,
@@ -482,9 +481,9 @@ class Theme(RadixThemesComponent):
482
481
  autofocus: bool | None = None,
483
482
  custom_attrs: dict[str, Var | Any] | None = None,
484
483
  on_blur: EventType[()] | None = None,
485
- on_click: EventType[()] | None = None,
486
- on_context_menu: EventType[()] | None = None,
487
- on_double_click: EventType[()] | None = None,
484
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
485
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
486
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
488
487
  on_focus: EventType[()] | None = None,
489
488
  on_mount: EventType[()] | None = None,
490
489
  on_mouse_down: EventType[()] | None = None,
@@ -495,6 +494,7 @@ class Theme(RadixThemesComponent):
495
494
  on_mouse_over: EventType[()] | None = None,
496
495
  on_mouse_up: EventType[()] | None = None,
497
496
  on_scroll: EventType[()] | None = None,
497
+ on_scroll_end: EventType[()] | None = None,
498
498
  on_unmount: EventType[()] | None = None,
499
499
  **props,
500
500
  ) -> Theme:
@@ -528,9 +528,8 @@ class Theme(RadixThemesComponent):
528
528
 
529
529
  class ThemePanel(RadixThemesComponent):
530
530
  def add_imports(self) -> dict[str, str]: ...
531
- @overload
532
531
  @classmethod
533
- def create( # type: ignore
532
+ def create(
534
533
  cls,
535
534
  *children,
536
535
  default_open: Var[bool] | bool | None = None,
@@ -546,9 +545,9 @@ class ThemePanel(RadixThemesComponent):
546
545
  autofocus: bool | None = None,
547
546
  custom_attrs: dict[str, Var | Any] | None = None,
548
547
  on_blur: EventType[()] | None = None,
549
- on_click: EventType[()] | None = None,
550
- on_context_menu: EventType[()] | None = None,
551
- on_double_click: EventType[()] | None = None,
548
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
549
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
550
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
552
551
  on_focus: EventType[()] | None = None,
553
552
  on_mount: EventType[()] | None = None,
554
553
  on_mouse_down: EventType[()] | None = None,
@@ -559,6 +558,7 @@ class ThemePanel(RadixThemesComponent):
559
558
  on_mouse_over: EventType[()] | None = None,
560
559
  on_mouse_up: EventType[()] | None = None,
561
560
  on_scroll: EventType[()] | None = None,
561
+ on_scroll_end: EventType[()] | None = None,
562
562
  on_unmount: EventType[()] | None = None,
563
563
  **props,
564
564
  ) -> ThemePanel:
@@ -584,9 +584,8 @@ class ThemePanel(RadixThemesComponent):
584
584
  """
585
585
 
586
586
  class RadixThemesColorModeProvider(Component):
587
- @overload
588
587
  @classmethod
589
- def create( # type: ignore
588
+ def create(
590
589
  cls,
591
590
  *children,
592
591
  style: Sequence[Mapping[str, Any]]
@@ -601,9 +600,9 @@ class RadixThemesColorModeProvider(Component):
601
600
  autofocus: bool | None = None,
602
601
  custom_attrs: dict[str, Var | Any] | None = None,
603
602
  on_blur: EventType[()] | None = None,
604
- on_click: EventType[()] | None = None,
605
- on_context_menu: EventType[()] | None = None,
606
- on_double_click: EventType[()] | None = None,
603
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
604
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
605
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
607
606
  on_focus: EventType[()] | None = None,
608
607
  on_mount: EventType[()] | None = None,
609
608
  on_mouse_down: EventType[()] | None = None,
@@ -614,6 +613,7 @@ class RadixThemesColorModeProvider(Component):
614
613
  on_mouse_over: EventType[()] | None = None,
615
614
  on_mouse_up: EventType[()] | None = None,
616
615
  on_scroll: EventType[()] | None = None,
616
+ on_scroll_end: EventType[()] | None = None,
617
617
  on_unmount: EventType[()] | None = None,
618
618
  **props,
619
619
  ) -> RadixThemesColorModeProvider:
@@ -19,7 +19,7 @@ from __future__ import annotations
19
19
 
20
20
  from typing import Any, Literal, get_args
21
21
 
22
- from reflex.components.component import BaseComponent
22
+ from reflex.components.component import BaseComponent, field
23
23
  from reflex.components.core.cond import Cond, color_mode_cond, cond
24
24
  from reflex.components.lucide.icon import Icon
25
25
  from reflex.components.radix.themes.components.dropdown_menu import dropdown_menu
@@ -99,10 +99,12 @@ class ColorModeIconButton(IconButton):
99
99
  """Icon Button for toggling light / dark mode via toggle_color_mode."""
100
100
 
101
101
  # The position of the icon button. Follow document flow if None.
102
- position: LiteralPosition | Var[LiteralPosition] | None = None
102
+ position: LiteralPosition | Var[LiteralPosition] | None = field(
103
+ default=None, is_javascript_property=False
104
+ )
103
105
 
104
106
  # Allow picking the "system" value for the color mode.
105
- allow_system: bool = False
107
+ allow_system: bool = field(default=False, is_javascript_property=False)
106
108
 
107
109
  @classmethod
108
110
  def create(
@@ -168,9 +170,6 @@ class ColorModeIconButton(IconButton):
168
170
  **props,
169
171
  )
170
172
 
171
- def _exclude_props(self) -> list[str]:
172
- return ["position", "allow_system"]
173
-
174
173
 
175
174
  class ColorModeSwitch(Switch):
176
175
  """Switch for toggling light / dark mode via toggle_color_mode."""
@@ -4,13 +4,13 @@
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
6
  from collections.abc import Mapping, Sequence
7
- from typing import Any, Literal, overload
7
+ from typing import Any, Literal
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.components.core.cond import Cond
11
11
  from reflex.components.lucide.icon import Icon
12
12
  from reflex.components.radix.themes.components.switch import Switch
13
- from reflex.event import EventType
13
+ from reflex.event import EventType, PointerEventInfo
14
14
  from reflex.style import color_mode
15
15
  from reflex.vars.base import Var
16
16
 
@@ -20,9 +20,8 @@ DEFAULT_LIGHT_ICON: Icon
20
20
  DEFAULT_DARK_ICON: Icon
21
21
 
22
22
  class ColorModeIcon(Cond):
23
- @overload
24
23
  @classmethod
25
- def create( # type: ignore
24
+ def create(
26
25
  cls,
27
26
  *children,
28
27
  cond: Any | Var[Any] | None = None,
@@ -38,9 +37,9 @@ class ColorModeIcon(Cond):
38
37
  autofocus: bool | None = None,
39
38
  custom_attrs: dict[str, Var | Any] | None = None,
40
39
  on_blur: EventType[()] | None = None,
41
- on_click: EventType[()] | None = None,
42
- on_context_menu: EventType[()] | None = None,
43
- on_double_click: EventType[()] | None = None,
40
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
41
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
42
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
44
43
  on_focus: EventType[()] | None = None,
45
44
  on_mount: EventType[()] | None = None,
46
45
  on_mouse_down: EventType[()] | None = None,
@@ -51,6 +50,7 @@ class ColorModeIcon(Cond):
51
50
  on_mouse_over: EventType[()] | None = None,
52
51
  on_mouse_up: EventType[()] | None = None,
53
52
  on_scroll: EventType[()] | None = None,
53
+ on_scroll_end: EventType[()] | None = None,
54
54
  on_unmount: EventType[()] | None = None,
55
55
  **props,
56
56
  ) -> ColorModeIcon:
@@ -69,9 +69,8 @@ position_values: list[str]
69
69
  position_map: dict[str, list[str]]
70
70
 
71
71
  class ColorModeIconButton(IconButton):
72
- @overload
73
72
  @classmethod
74
- def create( # type: ignore
73
+ def create(
75
74
  cls,
76
75
  *children,
77
76
  position: Literal["bottom-left", "bottom-right", "top-left", "top-right"]
@@ -356,9 +355,9 @@ class ColorModeIconButton(IconButton):
356
355
  autofocus: bool | None = None,
357
356
  custom_attrs: dict[str, Var | Any] | None = None,
358
357
  on_blur: EventType[()] | None = None,
359
- on_click: EventType[()] | None = None,
360
- on_context_menu: EventType[()] | None = None,
361
- on_double_click: EventType[()] | None = None,
358
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
359
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
360
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
362
361
  on_focus: EventType[()] | None = None,
363
362
  on_mount: EventType[()] | None = None,
364
363
  on_mouse_down: EventType[()] | None = None,
@@ -369,6 +368,7 @@ class ColorModeIconButton(IconButton):
369
368
  on_mouse_over: EventType[()] | None = None,
370
369
  on_mouse_up: EventType[()] | None = None,
371
370
  on_scroll: EventType[()] | None = None,
371
+ on_scroll_end: EventType[()] | None = None,
372
372
  on_unmount: EventType[()] | None = None,
373
373
  **props,
374
374
  ) -> ColorModeIconButton:
@@ -425,9 +425,8 @@ class ColorModeIconButton(IconButton):
425
425
  """
426
426
 
427
427
  class ColorModeSwitch(Switch):
428
- @overload
429
428
  @classmethod
430
- def create( # type: ignore
429
+ def create(
431
430
  cls,
432
431
  *children,
433
432
  as_child: Var[bool] | bool | None = None,
@@ -520,9 +519,9 @@ class ColorModeSwitch(Switch):
520
519
  custom_attrs: dict[str, Var | Any] | None = None,
521
520
  on_blur: EventType[()] | None = None,
522
521
  on_change: EventType[()] | EventType[bool] | None = None,
523
- on_click: EventType[()] | None = None,
524
- on_context_menu: EventType[()] | None = None,
525
- on_double_click: EventType[()] | None = None,
522
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
523
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
524
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
526
525
  on_focus: EventType[()] | None = None,
527
526
  on_mount: EventType[()] | None = None,
528
527
  on_mouse_down: EventType[()] | None = None,
@@ -533,6 +532,7 @@ class ColorModeSwitch(Switch):
533
532
  on_mouse_over: EventType[()] | None = None,
534
533
  on_mouse_up: EventType[()] | None = None,
535
534
  on_scroll: EventType[()] | None = None,
535
+ on_scroll_end: EventType[()] | None = None,
536
536
  on_unmount: EventType[()] | None = None,
537
537
  **props,
538
538
  ) -> ColorModeSwitch:
@@ -3,41 +3,78 @@
3
3
  # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
- from .alert_dialog import alert_dialog as alert_dialog
7
- from .aspect_ratio import aspect_ratio as aspect_ratio
8
- from .avatar import avatar as avatar
9
- from .badge import badge as badge
10
- from .button import button as button
11
- from .callout import callout as callout
12
- from .card import card as card
13
- from .checkbox import checkbox as checkbox
14
- from .checkbox_cards import checkbox_cards as checkbox_cards
15
- from .checkbox_group import checkbox_group as checkbox_group
16
- from .context_menu import context_menu as context_menu
17
- from .data_list import data_list as data_list
18
- from .dialog import dialog as dialog
19
- from .dropdown_menu import dropdown_menu as dropdown_menu
20
- from .dropdown_menu import menu as menu
21
- from .hover_card import hover_card as hover_card
22
- from .icon_button import icon_button as icon_button
23
- from .inset import inset as inset
24
- from .popover import popover as popover
25
- from .progress import progress as progress
26
- from .radio_cards import radio_cards as radio_cards
27
- from .radio_group import radio as radio
28
- from .radio_group import radio_group as radio_group
29
- from .scroll_area import scroll_area as scroll_area
30
- from .segmented_control import segmented_control as segmented_control
31
- from .select import select as select
32
- from .separator import divider as divider
33
- from .separator import separator as separator
34
- from .skeleton import skeleton as skeleton
35
- from .slider import slider as slider
36
- from .spinner import spinner as spinner
37
- from .switch import switch as switch
38
- from .table import table as table
39
- from .tabs import tabs as tabs
40
- from .text_area import text_area as text_area
41
- from .text_field import input as input
42
- from .text_field import text_field as text_field
43
- from .tooltip import tooltip as tooltip
6
+ from .alert_dialog import alert_dialog
7
+ from .aspect_ratio import aspect_ratio
8
+ from .avatar import avatar
9
+ from .badge import badge
10
+ from .button import button
11
+ from .callout import callout
12
+ from .card import card
13
+ from .checkbox import checkbox
14
+ from .checkbox_cards import checkbox_cards
15
+ from .checkbox_group import checkbox_group
16
+ from .context_menu import context_menu
17
+ from .data_list import data_list
18
+ from .dialog import dialog
19
+ from .dropdown_menu import dropdown_menu, menu
20
+ from .hover_card import hover_card
21
+ from .icon_button import icon_button
22
+ from .inset import inset
23
+ from .popover import popover
24
+ from .progress import progress
25
+ from .radio_cards import radio_cards
26
+ from .radio_group import radio, radio_group
27
+ from .scroll_area import scroll_area
28
+ from .segmented_control import segmented_control
29
+ from .select import select
30
+ from .separator import divider, separator
31
+ from .skeleton import skeleton
32
+ from .slider import slider
33
+ from .spinner import spinner
34
+ from .switch import switch
35
+ from .table import table
36
+ from .tabs import tabs
37
+ from .text_area import text_area
38
+ from .text_field import input, text_field
39
+ from .tooltip import tooltip
40
+
41
+ __all__ = [
42
+ "alert_dialog",
43
+ "aspect_ratio",
44
+ "avatar",
45
+ "badge",
46
+ "button",
47
+ "callout",
48
+ "card",
49
+ "checkbox",
50
+ "checkbox_cards",
51
+ "checkbox_group",
52
+ "context_menu",
53
+ "data_list",
54
+ "dialog",
55
+ "divider",
56
+ "dropdown_menu",
57
+ "hover_card",
58
+ "icon_button",
59
+ "input",
60
+ "inset",
61
+ "menu",
62
+ "popover",
63
+ "progress",
64
+ "radio",
65
+ "radio_cards",
66
+ "radio_group",
67
+ "scroll_area",
68
+ "segmented_control",
69
+ "select",
70
+ "separator",
71
+ "skeleton",
72
+ "slider",
73
+ "spinner",
74
+ "switch",
75
+ "table",
76
+ "tabs",
77
+ "text_area",
78
+ "text_field",
79
+ "tooltip",
80
+ ]