reflex 0.7.14a6__py3-none-any.whl → 0.8.0a1__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 (206) 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 +16 -10
  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/utils/context.js.jinja2 +25 -6
  7. reflex/.templates/web/app/entry.client.js +8 -0
  8. reflex/.templates/web/app/routes.js +10 -0
  9. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +12 -32
  10. reflex/.templates/web/postcss.config.js +1 -1
  11. reflex/.templates/web/react-router.config.js +6 -0
  12. reflex/.templates/web/utils/client_side_routing.js +21 -19
  13. reflex/.templates/web/utils/react-theme.js +89 -0
  14. reflex/.templates/web/utils/state.js +155 -67
  15. reflex/.templates/web/vite.config.js +32 -0
  16. reflex/__init__.py +1 -6
  17. reflex/__init__.pyi +0 -4
  18. reflex/app.py +52 -115
  19. reflex/base.py +1 -87
  20. reflex/compiler/compiler.py +40 -3
  21. reflex/compiler/utils.py +54 -28
  22. reflex/components/__init__.py +0 -2
  23. reflex/components/__init__.pyi +0 -3
  24. reflex/components/base/__init__.py +1 -5
  25. reflex/components/base/__init__.pyi +4 -6
  26. reflex/components/base/app_wrap.pyi +5 -4
  27. reflex/components/base/body.pyi +5 -4
  28. reflex/components/base/document.py +18 -14
  29. reflex/components/base/document.pyi +83 -27
  30. reflex/components/base/error_boundary.pyi +5 -4
  31. reflex/components/base/fragment.pyi +5 -4
  32. reflex/components/base/link.pyi +9 -7
  33. reflex/components/base/meta.pyi +17 -13
  34. reflex/components/base/script.py +60 -58
  35. reflex/components/base/script.pyi +246 -31
  36. reflex/components/base/strict_mode.pyi +5 -4
  37. reflex/components/component.py +109 -194
  38. reflex/components/core/__init__.py +1 -0
  39. reflex/components/core/__init__.pyi +1 -0
  40. reflex/components/core/auto_scroll.pyi +5 -4
  41. reflex/components/core/banner.pyi +25 -19
  42. reflex/components/core/client_side_routing.py +7 -6
  43. reflex/components/core/client_side_routing.pyi +6 -56
  44. reflex/components/core/clipboard.pyi +5 -4
  45. reflex/components/core/debounce.py +1 -0
  46. reflex/components/core/debounce.pyi +5 -4
  47. reflex/components/core/foreach.py +3 -2
  48. reflex/components/core/helmet.py +14 -0
  49. reflex/components/{next/base.pyi → core/helmet.pyi} +10 -7
  50. reflex/components/core/html.pyi +5 -4
  51. reflex/components/core/sticky.pyi +17 -13
  52. reflex/components/core/upload.py +2 -1
  53. reflex/components/core/upload.pyi +21 -16
  54. reflex/components/datadisplay/code.pyi +9 -7
  55. reflex/components/datadisplay/dataeditor.pyi +5 -4
  56. reflex/components/datadisplay/shiki_code_block.pyi +13 -10
  57. reflex/components/dynamic.py +4 -5
  58. reflex/components/el/element.pyi +5 -4
  59. reflex/components/el/elements/base.pyi +5 -4
  60. reflex/components/el/elements/forms.pyi +69 -52
  61. reflex/components/el/elements/inline.pyi +113 -85
  62. reflex/components/el/elements/media.pyi +105 -79
  63. reflex/components/el/elements/metadata.pyi +25 -19
  64. reflex/components/el/elements/other.pyi +29 -22
  65. reflex/components/el/elements/scripts.pyi +13 -10
  66. reflex/components/el/elements/sectioning.pyi +61 -46
  67. reflex/components/el/elements/tables.pyi +41 -31
  68. reflex/components/el/elements/typography.pyi +61 -46
  69. reflex/components/field.py +175 -0
  70. reflex/components/gridjs/datatable.py +2 -2
  71. reflex/components/gridjs/datatable.pyi +11 -9
  72. reflex/components/lucide/icon.py +6 -2
  73. reflex/components/lucide/icon.pyi +15 -10
  74. reflex/components/markdown/markdown.pyi +5 -4
  75. reflex/components/moment/moment.pyi +5 -4
  76. reflex/components/plotly/plotly.pyi +19 -10
  77. reflex/components/props.py +376 -27
  78. reflex/components/radix/primitives/accordion.py +8 -1
  79. reflex/components/radix/primitives/accordion.pyi +29 -22
  80. reflex/components/radix/primitives/base.pyi +9 -7
  81. reflex/components/radix/primitives/drawer.pyi +45 -34
  82. reflex/components/radix/primitives/form.pyi +41 -31
  83. reflex/components/radix/primitives/progress.pyi +21 -16
  84. reflex/components/radix/primitives/slider.pyi +21 -16
  85. reflex/components/radix/themes/base.py +3 -3
  86. reflex/components/radix/themes/base.pyi +33 -25
  87. reflex/components/radix/themes/color_mode.pyi +13 -10
  88. reflex/components/radix/themes/components/alert_dialog.pyi +29 -22
  89. reflex/components/radix/themes/components/aspect_ratio.pyi +5 -4
  90. reflex/components/radix/themes/components/avatar.pyi +5 -4
  91. reflex/components/radix/themes/components/badge.pyi +5 -4
  92. reflex/components/radix/themes/components/button.pyi +5 -4
  93. reflex/components/radix/themes/components/callout.pyi +21 -16
  94. reflex/components/radix/themes/components/card.pyi +5 -4
  95. reflex/components/radix/themes/components/checkbox.pyi +13 -10
  96. reflex/components/radix/themes/components/checkbox_cards.pyi +9 -7
  97. reflex/components/radix/themes/components/checkbox_group.pyi +9 -7
  98. reflex/components/radix/themes/components/context_menu.pyi +53 -40
  99. reflex/components/radix/themes/components/data_list.pyi +17 -13
  100. reflex/components/radix/themes/components/dialog.pyi +29 -22
  101. reflex/components/radix/themes/components/dropdown_menu.pyi +33 -25
  102. reflex/components/radix/themes/components/hover_card.pyi +17 -13
  103. reflex/components/radix/themes/components/icon_button.pyi +5 -4
  104. reflex/components/radix/themes/components/inset.pyi +5 -4
  105. reflex/components/radix/themes/components/popover.pyi +17 -13
  106. reflex/components/radix/themes/components/progress.pyi +5 -4
  107. reflex/components/radix/themes/components/radio.pyi +5 -4
  108. reflex/components/radix/themes/components/radio_cards.pyi +9 -7
  109. reflex/components/radix/themes/components/radio_group.pyi +17 -13
  110. reflex/components/radix/themes/components/scroll_area.pyi +5 -4
  111. reflex/components/radix/themes/components/segmented_control.pyi +9 -7
  112. reflex/components/radix/themes/components/select.pyi +37 -28
  113. reflex/components/radix/themes/components/separator.pyi +5 -4
  114. reflex/components/radix/themes/components/skeleton.pyi +5 -4
  115. reflex/components/radix/themes/components/slider.pyi +5 -4
  116. reflex/components/radix/themes/components/spinner.pyi +5 -4
  117. reflex/components/radix/themes/components/switch.pyi +5 -4
  118. reflex/components/radix/themes/components/table.pyi +29 -22
  119. reflex/components/radix/themes/components/tabs.pyi +21 -16
  120. reflex/components/radix/themes/components/text_area.pyi +5 -4
  121. reflex/components/radix/themes/components/text_field.pyi +13 -10
  122. reflex/components/radix/themes/components/tooltip.pyi +5 -4
  123. reflex/components/radix/themes/layout/base.pyi +5 -4
  124. reflex/components/radix/themes/layout/box.pyi +5 -4
  125. reflex/components/radix/themes/layout/center.pyi +5 -4
  126. reflex/components/radix/themes/layout/container.pyi +5 -4
  127. reflex/components/radix/themes/layout/flex.pyi +5 -4
  128. reflex/components/radix/themes/layout/grid.pyi +5 -4
  129. reflex/components/radix/themes/layout/list.pyi +21 -16
  130. reflex/components/radix/themes/layout/section.pyi +5 -4
  131. reflex/components/radix/themes/layout/spacer.pyi +5 -4
  132. reflex/components/radix/themes/layout/stack.pyi +13 -10
  133. reflex/components/radix/themes/typography/blockquote.pyi +5 -4
  134. reflex/components/radix/themes/typography/code.pyi +5 -4
  135. reflex/components/radix/themes/typography/heading.pyi +5 -4
  136. reflex/components/radix/themes/typography/link.py +42 -9
  137. reflex/components/radix/themes/typography/link.pyi +311 -6
  138. reflex/components/radix/themes/typography/text.pyi +29 -22
  139. reflex/components/react_player/audio.pyi +5 -4
  140. reflex/components/react_player/react_player.pyi +5 -4
  141. reflex/components/react_player/video.pyi +5 -4
  142. reflex/components/recharts/cartesian.py +2 -1
  143. reflex/components/recharts/cartesian.pyi +65 -46
  144. reflex/components/recharts/charts.py +4 -2
  145. reflex/components/recharts/charts.pyi +36 -24
  146. reflex/components/recharts/general.pyi +24 -18
  147. reflex/components/recharts/polar.py +8 -4
  148. reflex/components/recharts/polar.pyi +16 -10
  149. reflex/components/recharts/recharts.pyi +9 -7
  150. reflex/components/sonner/toast.py +2 -2
  151. reflex/components/sonner/toast.pyi +7 -6
  152. reflex/config.py +3 -77
  153. reflex/constants/__init__.py +1 -0
  154. reflex/constants/base.py +38 -8
  155. reflex/constants/compiler.py +4 -2
  156. reflex/constants/event.py +1 -0
  157. reflex/constants/installer.py +23 -16
  158. reflex/constants/state.py +2 -0
  159. reflex/custom_components/custom_components.py +0 -14
  160. reflex/environment.py +1 -1
  161. reflex/event.py +178 -81
  162. reflex/experimental/__init__.py +0 -30
  163. reflex/istate/proxy.py +5 -3
  164. reflex/page.py +0 -27
  165. reflex/plugins/__init__.py +3 -2
  166. reflex/plugins/base.py +5 -1
  167. reflex/plugins/shared_tailwind.py +158 -0
  168. reflex/plugins/sitemap.py +206 -0
  169. reflex/plugins/tailwind_v3.py +13 -106
  170. reflex/plugins/tailwind_v4.py +15 -108
  171. reflex/reflex.py +1 -0
  172. reflex/state.py +134 -140
  173. reflex/testing.py +57 -9
  174. reflex/utils/build.py +9 -69
  175. reflex/utils/exec.py +59 -161
  176. reflex/utils/export.py +1 -1
  177. reflex/utils/imports.py +0 -4
  178. reflex/utils/misc.py +28 -0
  179. reflex/utils/prerequisites.py +62 -59
  180. reflex/utils/processes.py +6 -6
  181. reflex/utils/pyi_generator.py +21 -9
  182. reflex/utils/serializers.py +14 -1
  183. reflex/utils/types.py +196 -61
  184. reflex/vars/__init__.py +2 -0
  185. reflex/vars/base.py +367 -134
  186. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/METADATA +12 -5
  187. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/RECORD +190 -197
  188. reflex/.templates/web/next.config.js +0 -7
  189. reflex/components/base/head.py +0 -20
  190. reflex/components/base/head.pyi +0 -116
  191. reflex/components/next/__init__.py +0 -10
  192. reflex/components/next/base.py +0 -7
  193. reflex/components/next/image.py +0 -117
  194. reflex/components/next/image.pyi +0 -94
  195. reflex/components/next/link.py +0 -20
  196. reflex/components/next/link.pyi +0 -67
  197. reflex/components/next/video.py +0 -38
  198. reflex/components/next/video.pyi +0 -68
  199. reflex/components/suneditor/__init__.py +0 -5
  200. reflex/components/suneditor/editor.py +0 -269
  201. reflex/components/suneditor/editor.pyi +0 -199
  202. reflex/experimental/layout.py +0 -254
  203. reflex/experimental/layout.pyi +0 -814
  204. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/WHEEL +0 -0
  205. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/entry_points.txt +0 -0
  206. {reflex-0.7.14a6.dist-info → reflex-0.8.0a1.dist-info}/licenses/LICENSE +0 -0
@@ -8,7 +8,7 @@ _SUBMODULES: set[str] = {"app_wrap", "bare"}
8
8
 
9
9
  _SUBMOD_ATTRS: dict[str, list[str]] = {
10
10
  "body": ["Body"],
11
- "document": ["DocumentHead", "Html", "Main", "NextScript"],
11
+ "document": ["Scripts", "Outlet", "ScrollRestoration", "Links", "Meta"],
12
12
  "fragment": [
13
13
  "Fragment",
14
14
  "fragment",
@@ -17,10 +17,6 @@ _SUBMOD_ATTRS: dict[str, list[str]] = {
17
17
  "ErrorBoundary",
18
18
  "error_boundary",
19
19
  ],
20
- "head": [
21
- "head",
22
- "Head",
23
- ],
24
20
  "link": ["RawLink", "ScriptTag"],
25
21
  "meta": ["Description", "Image", "Meta", "Title"],
26
22
  "script": ["Script", "script"],
@@ -6,16 +6,14 @@
6
6
  from . import app_wrap as app_wrap
7
7
  from . import bare as bare
8
8
  from .body import Body as Body
9
- from .document import DocumentHead as DocumentHead
10
- from .document import Html as Html
11
- from .document import Main as Main
12
- from .document import NextScript as NextScript
9
+ from .document import Links as Links
10
+ from .document import Outlet as Outlet
11
+ from .document import Scripts as Scripts
12
+ from .document import ScrollRestoration as ScrollRestoration
13
13
  from .error_boundary import ErrorBoundary as ErrorBoundary
14
14
  from .error_boundary import error_boundary as error_boundary
15
15
  from .fragment import Fragment as Fragment
16
16
  from .fragment import fragment as fragment
17
- from .head import Head as Head
18
- from .head import head as head
19
17
  from .link import RawLink as RawLink
20
18
  from .link import ScriptTag as ScriptTag
21
19
  from .meta import Description as Description
@@ -8,7 +8,7 @@ from typing import Any, overload
8
8
 
9
9
  from reflex.components.base.fragment import Fragment
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.vars.base import Var
13
13
 
14
14
  class AppWrap(Fragment):
@@ -29,9 +29,9 @@ class AppWrap(Fragment):
29
29
  autofocus: bool | None = None,
30
30
  custom_attrs: dict[str, Var | Any] | None = None,
31
31
  on_blur: EventType[()] | None = None,
32
- on_click: EventType[()] | None = None,
33
- on_context_menu: EventType[()] | None = None,
34
- on_double_click: EventType[()] | None = None,
32
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
33
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
34
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
35
35
  on_focus: EventType[()] | None = None,
36
36
  on_mount: EventType[()] | None = None,
37
37
  on_mouse_down: EventType[()] | None = None,
@@ -42,6 +42,7 @@ class AppWrap(Fragment):
42
42
  on_mouse_over: EventType[()] | None = None,
43
43
  on_mouse_up: EventType[()] | None = None,
44
44
  on_scroll: EventType[()] | None = None,
45
+ on_scroll_end: EventType[()] | None = None,
45
46
  on_unmount: EventType[()] | None = None,
46
47
  **props,
47
48
  ) -> AppWrap:
@@ -8,7 +8,7 @@ from typing import Any, Literal, overload
8
8
 
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 EventType, PointerEventInfo
12
12
  from reflex.vars.base import Var
13
13
 
14
14
  class Body(elements.Body):
@@ -207,9 +207,9 @@ class Body(elements.Body):
207
207
  autofocus: bool | None = None,
208
208
  custom_attrs: dict[str, Var | Any] | None = None,
209
209
  on_blur: EventType[()] | None = None,
210
- on_click: EventType[()] | None = None,
211
- on_context_menu: EventType[()] | None = None,
212
- on_double_click: EventType[()] | None = None,
210
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
211
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
212
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
213
213
  on_focus: EventType[()] | None = None,
214
214
  on_mount: EventType[()] | None = None,
215
215
  on_mouse_down: EventType[()] | None = None,
@@ -220,6 +220,7 @@ class Body(elements.Body):
220
220
  on_mouse_over: EventType[()] | None = None,
221
221
  on_mouse_up: EventType[()] | None = None,
222
222
  on_scroll: EventType[()] | None = None,
223
+ on_scroll_end: EventType[()] | None = None,
223
224
  on_unmount: EventType[()] | None = None,
224
225
  **props,
225
226
  ) -> Body:
@@ -3,33 +3,37 @@
3
3
  from reflex.components.component import Component
4
4
 
5
5
 
6
- class NextDocumentLib(Component):
6
+ class ReactRouterLib(Component):
7
7
  """Root document components."""
8
8
 
9
- library = "next/document"
9
+ library = "react-router"
10
10
 
11
11
 
12
- class Html(NextDocumentLib):
13
- """The document html."""
12
+ class Meta(ReactRouterLib):
13
+ """The document meta tags."""
14
14
 
15
- tag = "Html"
15
+ tag = "Meta"
16
16
 
17
- lang: str | None
18
17
 
18
+ class Links(ReactRouterLib):
19
+ """The document link tags."""
19
20
 
20
- class DocumentHead(NextDocumentLib):
21
- """The document head."""
21
+ tag = "Links"
22
22
 
23
- tag = "Head"
24
23
 
24
+ class ScrollRestoration(ReactRouterLib):
25
+ """The document scroll restoration."""
25
26
 
26
- class Main(NextDocumentLib):
27
- """The document main section."""
27
+ tag = "ScrollRestoration"
28
28
 
29
- tag = "Main"
30
29
 
30
+ class Outlet(ReactRouterLib):
31
+ """The document outlet."""
31
32
 
32
- class NextScript(NextDocumentLib):
33
+ tag = "Outlet"
34
+
35
+
36
+ class Scripts(ReactRouterLib):
33
37
  """The document main scripts."""
34
38
 
35
- tag = "NextScript"
39
+ tag = "Scripts"
@@ -8,10 +8,10 @@ from typing import Any, overload
8
8
 
9
9
  from reflex.components.component 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.vars.base import Var
13
13
 
14
- class NextDocumentLib(Component):
14
+ class ReactRouterLib(Component):
15
15
  @overload
16
16
  @classmethod
17
17
  def create( # type: ignore
@@ -29,9 +29,9 @@ class NextDocumentLib(Component):
29
29
  autofocus: bool | None = None,
30
30
  custom_attrs: dict[str, Var | Any] | None = None,
31
31
  on_blur: EventType[()] | None = None,
32
- on_click: EventType[()] | None = None,
33
- on_context_menu: EventType[()] | None = None,
34
- on_double_click: EventType[()] | None = None,
32
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
33
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
34
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
35
35
  on_focus: EventType[()] | None = None,
36
36
  on_mount: EventType[()] | None = None,
37
37
  on_mouse_down: EventType[()] | None = None,
@@ -42,9 +42,10 @@ class NextDocumentLib(Component):
42
42
  on_mouse_over: EventType[()] | None = None,
43
43
  on_mouse_up: EventType[()] | None = None,
44
44
  on_scroll: EventType[()] | None = None,
45
+ on_scroll_end: EventType[()] | None = None,
45
46
  on_unmount: EventType[()] | None = None,
46
47
  **props,
47
- ) -> NextDocumentLib:
48
+ ) -> ReactRouterLib:
48
49
  """Create the component.
49
50
 
50
51
  Args:
@@ -62,13 +63,12 @@ class NextDocumentLib(Component):
62
63
  The component.
63
64
  """
64
65
 
65
- class Html(NextDocumentLib):
66
+ class Meta(ReactRouterLib):
66
67
  @overload
67
68
  @classmethod
68
69
  def create( # type: ignore
69
70
  cls,
70
71
  *children,
71
- lang: str | None = None,
72
72
  style: Sequence[Mapping[str, Any]]
73
73
  | Mapping[str, Any]
74
74
  | Var[Mapping[str, Any]]
@@ -81,9 +81,9 @@ class Html(NextDocumentLib):
81
81
  autofocus: bool | None = None,
82
82
  custom_attrs: dict[str, Var | Any] | None = None,
83
83
  on_blur: EventType[()] | None = None,
84
- on_click: EventType[()] | None = None,
85
- on_context_menu: EventType[()] | None = None,
86
- on_double_click: EventType[()] | None = None,
84
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
85
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
86
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
87
87
  on_focus: EventType[()] | None = None,
88
88
  on_mount: EventType[()] | None = None,
89
89
  on_mouse_down: EventType[()] | None = None,
@@ -94,9 +94,10 @@ class Html(NextDocumentLib):
94
94
  on_mouse_over: EventType[()] | None = None,
95
95
  on_mouse_up: EventType[()] | None = None,
96
96
  on_scroll: EventType[()] | None = None,
97
+ on_scroll_end: EventType[()] | None = None,
97
98
  on_unmount: EventType[()] | None = None,
98
99
  **props,
99
- ) -> Html:
100
+ ) -> Meta:
100
101
  """Create the component.
101
102
 
102
103
  Args:
@@ -114,7 +115,7 @@ class Html(NextDocumentLib):
114
115
  The component.
115
116
  """
116
117
 
117
- class DocumentHead(NextDocumentLib):
118
+ class Links(ReactRouterLib):
118
119
  @overload
119
120
  @classmethod
120
121
  def create( # type: ignore
@@ -132,9 +133,9 @@ class DocumentHead(NextDocumentLib):
132
133
  autofocus: bool | None = None,
133
134
  custom_attrs: dict[str, Var | Any] | None = None,
134
135
  on_blur: EventType[()] | None = None,
135
- on_click: EventType[()] | None = None,
136
- on_context_menu: EventType[()] | None = None,
137
- on_double_click: EventType[()] | None = None,
136
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
137
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
138
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
138
139
  on_focus: EventType[()] | None = None,
139
140
  on_mount: EventType[()] | None = None,
140
141
  on_mouse_down: EventType[()] | None = None,
@@ -145,9 +146,10 @@ class DocumentHead(NextDocumentLib):
145
146
  on_mouse_over: EventType[()] | None = None,
146
147
  on_mouse_up: EventType[()] | None = None,
147
148
  on_scroll: EventType[()] | None = None,
149
+ on_scroll_end: EventType[()] | None = None,
148
150
  on_unmount: EventType[()] | None = None,
149
151
  **props,
150
- ) -> DocumentHead:
152
+ ) -> Links:
151
153
  """Create the component.
152
154
 
153
155
  Args:
@@ -165,7 +167,7 @@ class DocumentHead(NextDocumentLib):
165
167
  The component.
166
168
  """
167
169
 
168
- class Main(NextDocumentLib):
170
+ class ScrollRestoration(ReactRouterLib):
169
171
  @overload
170
172
  @classmethod
171
173
  def create( # type: ignore
@@ -183,9 +185,9 @@ class Main(NextDocumentLib):
183
185
  autofocus: bool | None = None,
184
186
  custom_attrs: dict[str, Var | Any] | None = None,
185
187
  on_blur: EventType[()] | None = None,
186
- on_click: EventType[()] | None = None,
187
- on_context_menu: EventType[()] | None = None,
188
- on_double_click: EventType[()] | None = None,
188
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
189
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
190
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
189
191
  on_focus: EventType[()] | None = None,
190
192
  on_mount: EventType[()] | None = None,
191
193
  on_mouse_down: EventType[()] | None = None,
@@ -196,9 +198,10 @@ class Main(NextDocumentLib):
196
198
  on_mouse_over: EventType[()] | None = None,
197
199
  on_mouse_up: EventType[()] | None = None,
198
200
  on_scroll: EventType[()] | None = None,
201
+ on_scroll_end: EventType[()] | None = None,
199
202
  on_unmount: EventType[()] | None = None,
200
203
  **props,
201
- ) -> Main:
204
+ ) -> ScrollRestoration:
202
205
  """Create the component.
203
206
 
204
207
  Args:
@@ -216,7 +219,7 @@ class Main(NextDocumentLib):
216
219
  The component.
217
220
  """
218
221
 
219
- class NextScript(NextDocumentLib):
222
+ class Outlet(ReactRouterLib):
220
223
  @overload
221
224
  @classmethod
222
225
  def create( # type: ignore
@@ -234,9 +237,9 @@ class NextScript(NextDocumentLib):
234
237
  autofocus: bool | None = None,
235
238
  custom_attrs: dict[str, Var | Any] | None = None,
236
239
  on_blur: EventType[()] | None = None,
237
- on_click: EventType[()] | None = None,
238
- on_context_menu: EventType[()] | None = None,
239
- on_double_click: EventType[()] | None = None,
240
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
241
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
242
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
240
243
  on_focus: EventType[()] | None = None,
241
244
  on_mount: EventType[()] | None = None,
242
245
  on_mouse_down: EventType[()] | None = None,
@@ -247,9 +250,62 @@ class NextScript(NextDocumentLib):
247
250
  on_mouse_over: EventType[()] | None = None,
248
251
  on_mouse_up: EventType[()] | None = None,
249
252
  on_scroll: EventType[()] | None = None,
253
+ on_scroll_end: EventType[()] | None = None,
250
254
  on_unmount: EventType[()] | None = None,
251
255
  **props,
252
- ) -> NextScript:
256
+ ) -> Outlet:
257
+ """Create the component.
258
+
259
+ Args:
260
+ *children: The children of the component.
261
+ style: The style of the component.
262
+ key: A unique key for the component.
263
+ id: The id for the component.
264
+ ref: The Var to pass as the ref to the component.
265
+ class_name: The class name for the component.
266
+ autofocus: Whether the component should take the focus once the page is loaded
267
+ custom_attrs: custom attribute
268
+ **props: The props of the component.
269
+
270
+ Returns:
271
+ The component.
272
+ """
273
+
274
+ class Scripts(ReactRouterLib):
275
+ @overload
276
+ @classmethod
277
+ def create( # type: ignore
278
+ cls,
279
+ *children,
280
+ style: Sequence[Mapping[str, Any]]
281
+ | Mapping[str, Any]
282
+ | Var[Mapping[str, Any]]
283
+ | Breakpoints
284
+ | None = None,
285
+ key: Any | None = None,
286
+ id: Any | None = None,
287
+ ref: Var | None = None,
288
+ class_name: Any | None = None,
289
+ autofocus: bool | None = None,
290
+ custom_attrs: dict[str, Var | Any] | None = None,
291
+ on_blur: EventType[()] | None = None,
292
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
293
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
294
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
295
+ on_focus: EventType[()] | None = None,
296
+ on_mount: EventType[()] | None = None,
297
+ on_mouse_down: EventType[()] | None = None,
298
+ on_mouse_enter: EventType[()] | None = None,
299
+ on_mouse_leave: EventType[()] | None = None,
300
+ on_mouse_move: EventType[()] | None = None,
301
+ on_mouse_out: EventType[()] | None = None,
302
+ on_mouse_over: EventType[()] | None = None,
303
+ on_mouse_up: EventType[()] | None = None,
304
+ on_scroll: EventType[()] | None = None,
305
+ on_scroll_end: EventType[()] | None = None,
306
+ on_unmount: EventType[()] | None = None,
307
+ **props,
308
+ ) -> Scripts:
253
309
  """Create the component.
254
310
 
255
311
  Args:
@@ -8,7 +8,7 @@ from typing import Any, overload
8
8
 
9
9
  from reflex.components.component 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.vars.base import Var
13
13
  from reflex.vars.object import ObjectVar
14
14
 
@@ -35,9 +35,9 @@ class ErrorBoundary(Component):
35
35
  autofocus: bool | None = None,
36
36
  custom_attrs: dict[str, Var | Any] | None = None,
37
37
  on_blur: EventType[()] | None = None,
38
- on_click: EventType[()] | None = None,
39
- on_context_menu: EventType[()] | None = None,
40
- on_double_click: EventType[()] | None = None,
38
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
39
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
40
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
41
41
  on_error: EventType[()] | EventType[str] | EventType[str, str] | None = None,
42
42
  on_focus: EventType[()] | None = None,
43
43
  on_mount: EventType[()] | None = None,
@@ -49,6 +49,7 @@ class ErrorBoundary(Component):
49
49
  on_mouse_over: EventType[()] | None = None,
50
50
  on_mouse_up: EventType[()] | None = None,
51
51
  on_scroll: EventType[()] | None = None,
52
+ on_scroll_end: EventType[()] | None = None,
52
53
  on_unmount: EventType[()] | None = None,
53
54
  **props,
54
55
  ) -> ErrorBoundary:
@@ -8,7 +8,7 @@ from typing import Any, overload
8
8
 
9
9
  from reflex.components.component 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.vars.base import Var
13
13
 
14
14
  class Fragment(Component):
@@ -29,9 +29,9 @@ class Fragment(Component):
29
29
  autofocus: bool | None = None,
30
30
  custom_attrs: dict[str, Var | Any] | None = None,
31
31
  on_blur: EventType[()] | None = None,
32
- on_click: EventType[()] | None = None,
33
- on_context_menu: EventType[()] | None = None,
34
- on_double_click: EventType[()] | None = None,
32
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
33
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
34
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
35
35
  on_focus: EventType[()] | None = None,
36
36
  on_mount: EventType[()] | None = None,
37
37
  on_mouse_down: EventType[()] | None = None,
@@ -42,6 +42,7 @@ class Fragment(Component):
42
42
  on_mouse_over: EventType[()] | None = None,
43
43
  on_mouse_up: EventType[()] | None = None,
44
44
  on_scroll: EventType[()] | None = None,
45
+ on_scroll_end: EventType[()] | None = None,
45
46
  on_unmount: EventType[()] | None = None,
46
47
  **props,
47
48
  ) -> Fragment:
@@ -8,7 +8,7 @@ from typing import Any, Literal, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.components.el.elements.base import BaseHTML
11
- from reflex.event import EventType
11
+ from reflex.event import EventType, PointerEventInfo
12
12
  from reflex.vars.base import Var
13
13
 
14
14
  class RawLink(BaseHTML):
@@ -209,9 +209,9 @@ class RawLink(BaseHTML):
209
209
  autofocus: bool | None = None,
210
210
  custom_attrs: dict[str, Var | Any] | None = None,
211
211
  on_blur: EventType[()] | None = None,
212
- on_click: EventType[()] | None = None,
213
- on_context_menu: EventType[()] | None = None,
214
- on_double_click: EventType[()] | None = None,
212
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
213
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
214
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
215
215
  on_focus: EventType[()] | None = None,
216
216
  on_mount: EventType[()] | None = None,
217
217
  on_mouse_down: EventType[()] | None = None,
@@ -222,6 +222,7 @@ class RawLink(BaseHTML):
222
222
  on_mouse_over: EventType[()] | None = None,
223
223
  on_mouse_up: EventType[()] | None = None,
224
224
  on_scroll: EventType[()] | None = None,
225
+ on_scroll_end: EventType[()] | None = None,
225
226
  on_unmount: EventType[()] | None = None,
226
227
  **props,
227
228
  ) -> RawLink:
@@ -463,9 +464,9 @@ class ScriptTag(BaseHTML):
463
464
  autofocus: bool | None = None,
464
465
  custom_attrs: dict[str, Var | Any] | None = None,
465
466
  on_blur: EventType[()] | None = None,
466
- on_click: EventType[()] | None = None,
467
- on_context_menu: EventType[()] | None = None,
468
- on_double_click: EventType[()] | None = None,
467
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
468
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
469
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
469
470
  on_focus: EventType[()] | None = None,
470
471
  on_mount: EventType[()] | None = None,
471
472
  on_mouse_down: EventType[()] | None = None,
@@ -476,6 +477,7 @@ class ScriptTag(BaseHTML):
476
477
  on_mouse_over: EventType[()] | None = None,
477
478
  on_mouse_up: EventType[()] | None = None,
478
479
  on_scroll: EventType[()] | None = None,
480
+ on_scroll_end: EventType[()] | None = None,
479
481
  on_unmount: EventType[()] | None = None,
480
482
  **props,
481
483
  ) -> ScriptTag:
@@ -8,7 +8,7 @@ from typing import Any, Literal, overload
8
8
 
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 EventType, PointerEventInfo
12
12
  from reflex.vars.base import Var
13
13
 
14
14
  class Title(elements.Title):
@@ -30,9 +30,9 @@ class Title(elements.Title):
30
30
  autofocus: bool | None = None,
31
31
  custom_attrs: dict[str, Var | Any] | None = None,
32
32
  on_blur: EventType[()] | None = None,
33
- on_click: EventType[()] | None = None,
34
- on_context_menu: EventType[()] | None = None,
35
- on_double_click: EventType[()] | None = None,
33
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
34
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
35
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
36
36
  on_focus: EventType[()] | None = None,
37
37
  on_mount: EventType[()] | None = None,
38
38
  on_mouse_down: EventType[()] | None = None,
@@ -43,6 +43,7 @@ class Title(elements.Title):
43
43
  on_mouse_over: EventType[()] | None = None,
44
44
  on_mouse_up: EventType[()] | None = None,
45
45
  on_scroll: EventType[()] | None = None,
46
+ on_scroll_end: EventType[()] | None = None,
46
47
  on_unmount: EventType[()] | None = None,
47
48
  **props,
48
49
  ) -> Title:
@@ -264,9 +265,9 @@ class Meta(elements.Meta):
264
265
  autofocus: bool | None = None,
265
266
  custom_attrs: dict[str, Var | Any] | None = None,
266
267
  on_blur: EventType[()] | None = None,
267
- on_click: EventType[()] | None = None,
268
- on_context_menu: EventType[()] | None = None,
269
- on_double_click: EventType[()] | None = None,
268
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
269
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
270
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
270
271
  on_focus: EventType[()] | None = None,
271
272
  on_mount: EventType[()] | None = None,
272
273
  on_mouse_down: EventType[()] | None = None,
@@ -277,6 +278,7 @@ class Meta(elements.Meta):
277
278
  on_mouse_over: EventType[()] | None = None,
278
279
  on_mouse_up: EventType[()] | None = None,
279
280
  on_scroll: EventType[()] | None = None,
281
+ on_scroll_end: EventType[()] | None = None,
280
282
  on_unmount: EventType[()] | None = None,
281
283
  **props,
282
284
  ) -> Meta:
@@ -518,9 +520,9 @@ class Description(elements.Meta):
518
520
  autofocus: bool | None = None,
519
521
  custom_attrs: dict[str, Var | Any] | None = None,
520
522
  on_blur: EventType[()] | None = None,
521
- on_click: EventType[()] | None = None,
522
- on_context_menu: EventType[()] | None = None,
523
- on_double_click: EventType[()] | None = None,
523
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
524
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
525
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
524
526
  on_focus: EventType[()] | None = None,
525
527
  on_mount: EventType[()] | None = None,
526
528
  on_mouse_down: EventType[()] | None = None,
@@ -531,6 +533,7 @@ class Description(elements.Meta):
531
533
  on_mouse_over: EventType[()] | None = None,
532
534
  on_mouse_up: EventType[()] | None = None,
533
535
  on_scroll: EventType[()] | None = None,
536
+ on_scroll_end: EventType[()] | None = None,
534
537
  on_unmount: EventType[()] | None = None,
535
538
  **props,
536
539
  ) -> Description:
@@ -772,9 +775,9 @@ class Image(elements.Meta):
772
775
  autofocus: bool | None = None,
773
776
  custom_attrs: dict[str, Var | Any] | None = None,
774
777
  on_blur: EventType[()] | None = None,
775
- on_click: EventType[()] | None = None,
776
- on_context_menu: EventType[()] | None = None,
777
- on_double_click: EventType[()] | None = None,
778
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
779
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
780
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
778
781
  on_focus: EventType[()] | None = None,
779
782
  on_mount: EventType[()] | None = None,
780
783
  on_mouse_down: EventType[()] | None = None,
@@ -785,6 +788,7 @@ class Image(elements.Meta):
785
788
  on_mouse_over: EventType[()] | None = None,
786
789
  on_mouse_up: EventType[()] | None = None,
787
790
  on_scroll: EventType[()] | None = None,
791
+ on_scroll_end: EventType[()] | None = None,
788
792
  on_unmount: EventType[()] | None = None,
789
793
  **props,
790
794
  ) -> Image: