reflex 0.7.7a2__py3-none-any.whl → 0.7.8__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 (185) hide show
  1. reflex/.templates/web/utils/state.js +26 -16
  2. reflex/admin.py +1 -1
  3. reflex/app.py +6 -17
  4. reflex/app_mixins/lifespan.py +1 -1
  5. reflex/base.py +2 -2
  6. reflex/compiler/compiler.py +8 -7
  7. reflex/compiler/utils.py +6 -5
  8. reflex/components/base/app_wrap.pyi +18 -17
  9. reflex/components/base/bare.py +2 -1
  10. reflex/components/base/body.pyi +18 -17
  11. reflex/components/base/document.pyi +82 -81
  12. reflex/components/base/error_boundary.pyi +19 -18
  13. reflex/components/base/fragment.pyi +18 -17
  14. reflex/components/base/head.pyi +34 -33
  15. reflex/components/base/link.pyi +34 -33
  16. reflex/components/base/meta.pyi +66 -65
  17. reflex/components/base/script.pyi +21 -20
  18. reflex/components/base/strict_mode.pyi +18 -17
  19. reflex/components/component.py +20 -36
  20. reflex/components/core/auto_scroll.pyi +18 -17
  21. reflex/components/core/banner.pyi +98 -97
  22. reflex/components/core/breakpoints.py +1 -1
  23. reflex/components/core/client_side_routing.pyi +34 -33
  24. reflex/components/core/clipboard.py +1 -1
  25. reflex/components/core/clipboard.pyi +19 -18
  26. reflex/components/core/cond.py +2 -2
  27. reflex/components/core/debounce.py +3 -3
  28. reflex/components/core/debounce.pyi +20 -19
  29. reflex/components/core/foreach.py +2 -1
  30. reflex/components/core/html.pyi +18 -17
  31. reflex/components/core/match.py +2 -2
  32. reflex/components/core/sticky.pyi +66 -65
  33. reflex/components/core/upload.py +7 -10
  34. reflex/components/core/upload.pyi +86 -85
  35. reflex/components/datadisplay/code.pyi +34 -33
  36. reflex/components/datadisplay/dataeditor.py +3 -2
  37. reflex/components/datadisplay/dataeditor.pyi +35 -68
  38. reflex/components/datadisplay/shiki_code_block.pyi +50 -49
  39. reflex/components/el/element.pyi +18 -17
  40. reflex/components/el/elements/base.pyi +18 -17
  41. reflex/components/el/elements/forms.py +2 -1
  42. reflex/components/el/elements/forms.pyi +290 -332
  43. reflex/components/el/elements/inline.pyi +450 -449
  44. reflex/components/el/elements/media.pyi +402 -401
  45. reflex/components/el/elements/metadata.pyi +98 -97
  46. reflex/components/el/elements/other.pyi +114 -113
  47. reflex/components/el/elements/scripts.pyi +50 -49
  48. reflex/components/el/elements/sectioning.pyi +242 -241
  49. reflex/components/el/elements/tables.pyi +162 -161
  50. reflex/components/el/elements/typography.pyi +242 -241
  51. reflex/components/gridjs/datatable.py +3 -2
  52. reflex/components/gridjs/datatable.pyi +35 -34
  53. reflex/components/lucide/icon.pyi +50 -49
  54. reflex/components/markdown/markdown.py +2 -1
  55. reflex/components/markdown/markdown.pyi +18 -17
  56. reflex/components/moment/moment.pyi +19 -18
  57. reflex/components/next/base.pyi +18 -17
  58. reflex/components/next/image.pyi +20 -19
  59. reflex/components/next/link.pyi +18 -17
  60. reflex/components/next/video.pyi +18 -17
  61. reflex/components/plotly/plotly.py +3 -3
  62. reflex/components/plotly/plotly.pyi +326 -325
  63. reflex/components/radix/primitives/accordion.py +2 -1
  64. reflex/components/radix/primitives/accordion.pyi +115 -114
  65. reflex/components/radix/primitives/base.pyi +34 -33
  66. reflex/components/radix/primitives/drawer.py +2 -1
  67. reflex/components/radix/primitives/drawer.pyi +187 -186
  68. reflex/components/radix/primitives/form.pyi +168 -182
  69. reflex/components/radix/primitives/progress.pyi +82 -81
  70. reflex/components/radix/primitives/slider.py +2 -1
  71. reflex/components/radix/primitives/slider.pyi +84 -83
  72. reflex/components/radix/themes/base.pyi +130 -129
  73. reflex/components/radix/themes/color_mode.pyi +51 -50
  74. reflex/components/radix/themes/components/alert_dialog.pyi +118 -117
  75. reflex/components/radix/themes/components/aspect_ratio.pyi +18 -17
  76. reflex/components/radix/themes/components/avatar.pyi +18 -17
  77. reflex/components/radix/themes/components/badge.pyi +18 -17
  78. reflex/components/radix/themes/components/button.pyi +18 -17
  79. reflex/components/radix/themes/components/callout.pyi +82 -81
  80. reflex/components/radix/themes/components/card.pyi +18 -17
  81. reflex/components/radix/themes/components/checkbox.pyi +53 -52
  82. reflex/components/radix/themes/components/checkbox_cards.pyi +34 -33
  83. reflex/components/radix/themes/components/checkbox_group.py +2 -1
  84. reflex/components/radix/themes/components/checkbox_group.pyi +34 -33
  85. reflex/components/radix/themes/components/context_menu.pyi +225 -224
  86. reflex/components/radix/themes/components/data_list.pyi +66 -65
  87. reflex/components/radix/themes/components/dialog.pyi +121 -120
  88. reflex/components/radix/themes/components/dropdown_menu.pyi +142 -141
  89. reflex/components/radix/themes/components/hover_card.pyi +68 -67
  90. reflex/components/radix/themes/components/icon_button.pyi +18 -17
  91. reflex/components/radix/themes/components/inset.pyi +18 -17
  92. reflex/components/radix/themes/components/popover.pyi +73 -72
  93. reflex/components/radix/themes/components/progress.pyi +18 -17
  94. reflex/components/radix/themes/components/radio.pyi +18 -17
  95. reflex/components/radix/themes/components/radio_cards.pyi +35 -34
  96. reflex/components/radix/themes/components/radio_group.py +2 -1
  97. reflex/components/radix/themes/components/radio_group.pyi +67 -66
  98. reflex/components/radix/themes/components/scroll_area.pyi +18 -17
  99. reflex/components/radix/themes/components/segmented_control.py +2 -1
  100. reflex/components/radix/themes/components/segmented_control.pyi +35 -34
  101. reflex/components/radix/themes/components/select.py +2 -1
  102. reflex/components/radix/themes/components/select.pyi +155 -154
  103. reflex/components/radix/themes/components/separator.pyi +18 -17
  104. reflex/components/radix/themes/components/skeleton.pyi +18 -17
  105. reflex/components/radix/themes/components/slider.py +2 -1
  106. reflex/components/radix/themes/components/slider.pyi +20 -31
  107. reflex/components/radix/themes/components/spinner.pyi +18 -17
  108. reflex/components/radix/themes/components/switch.pyi +19 -18
  109. reflex/components/radix/themes/components/table.pyi +114 -113
  110. reflex/components/radix/themes/components/tabs.pyi +84 -83
  111. reflex/components/radix/themes/components/text_area.pyi +21 -24
  112. reflex/components/radix/themes/components/text_field.pyi +56 -63
  113. reflex/components/radix/themes/components/tooltip.py +2 -2
  114. reflex/components/radix/themes/components/tooltip.pyi +21 -20
  115. reflex/components/radix/themes/layout/base.pyi +18 -17
  116. reflex/components/radix/themes/layout/box.pyi +18 -17
  117. reflex/components/radix/themes/layout/center.pyi +18 -17
  118. reflex/components/radix/themes/layout/container.pyi +18 -17
  119. reflex/components/radix/themes/layout/flex.pyi +18 -17
  120. reflex/components/radix/themes/layout/grid.pyi +18 -17
  121. reflex/components/radix/themes/layout/list.py +2 -1
  122. reflex/components/radix/themes/layout/list.pyi +82 -81
  123. reflex/components/radix/themes/layout/section.pyi +18 -17
  124. reflex/components/radix/themes/layout/spacer.pyi +18 -17
  125. reflex/components/radix/themes/layout/stack.pyi +50 -49
  126. reflex/components/radix/themes/typography/blockquote.pyi +18 -17
  127. reflex/components/radix/themes/typography/code.pyi +18 -17
  128. reflex/components/radix/themes/typography/heading.pyi +18 -17
  129. reflex/components/radix/themes/typography/link.pyi +18 -17
  130. reflex/components/radix/themes/typography/text.pyi +114 -113
  131. reflex/components/react_player/audio.pyi +34 -36
  132. reflex/components/react_player/react_player.pyi +34 -33
  133. reflex/components/react_player/video.pyi +34 -36
  134. reflex/components/recharts/cartesian.py +7 -6
  135. reflex/components/recharts/cartesian.pyi +302 -301
  136. reflex/components/recharts/charts.py +2 -1
  137. reflex/components/recharts/charts.pyi +177 -176
  138. reflex/components/recharts/general.py +3 -2
  139. reflex/components/recharts/general.pyi +99 -98
  140. reflex/components/recharts/polar.py +9 -8
  141. reflex/components/recharts/polar.pyi +62 -61
  142. reflex/components/recharts/recharts.pyi +34 -33
  143. reflex/components/sonner/toast.pyi +19 -18
  144. reflex/components/suneditor/editor.py +22 -24
  145. reflex/components/suneditor/editor.pyi +27 -28
  146. reflex/components/tags/cond_tag.py +3 -3
  147. reflex/components/tags/iter_tag.py +2 -1
  148. reflex/components/tags/tag.py +3 -2
  149. reflex/config.py +27 -17
  150. reflex/constants/installer.py +4 -4
  151. reflex/constants/route.py +2 -3
  152. reflex/constants/utils.py +4 -3
  153. reflex/event.py +56 -28
  154. reflex/experimental/client_state.py +3 -2
  155. reflex/experimental/layout.pyi +84 -83
  156. reflex/istate/data.py +1 -1
  157. reflex/istate/storage.py +2 -2
  158. reflex/model.py +3 -3
  159. reflex/page.py +3 -2
  160. reflex/state.py +56 -57
  161. reflex/style.py +3 -2
  162. reflex/testing.py +12 -21
  163. reflex/utils/codespaces.py +14 -15
  164. reflex/utils/decorator.py +2 -1
  165. reflex/utils/exec.py +1 -1
  166. reflex/utils/format.py +2 -2
  167. reflex/utils/imports.py +6 -8
  168. reflex/utils/misc.py +2 -1
  169. reflex/utils/net.py +2 -1
  170. reflex/utils/prerequisites.py +12 -5
  171. reflex/utils/processes.py +6 -5
  172. reflex/utils/pyi_generator.py +6 -5
  173. reflex/utils/serializers.py +13 -25
  174. reflex/utils/types.py +34 -46
  175. reflex/vars/base.py +60 -56
  176. reflex/vars/dep_tracking.py +4 -4
  177. reflex/vars/function.py +13 -36
  178. reflex/vars/number.py +5 -17
  179. reflex/vars/object.py +9 -16
  180. reflex/vars/sequence.py +11 -23
  181. {reflex-0.7.7a2.dist-info → reflex-0.7.8.dist-info}/METADATA +1 -1
  182. {reflex-0.7.7a2.dist-info → reflex-0.7.8.dist-info}/RECORD +185 -185
  183. {reflex-0.7.7a2.dist-info → reflex-0.7.8.dist-info}/WHEEL +0 -0
  184. {reflex-0.7.7a2.dist-info → reflex-0.7.8.dist-info}/entry_points.txt +0 -0
  185. {reflex-0.7.7a2.dist-info → reflex-0.7.8.dist-info}/licenses/LICENSE +0 -0
@@ -260,11 +260,15 @@ export const applyEvent = async (event, socket) => {
260
260
  try {
261
261
  const eval_result = event.payload.function();
262
262
  if (event.payload.callback) {
263
- if (!!eval_result && typeof eval_result.then === "function") {
264
- event.payload.callback(await eval_result);
265
- } else {
266
- event.payload.callback(eval_result);
267
- }
263
+ const final_result =
264
+ !!eval_result && typeof eval_result.then === "function"
265
+ ? await eval_result
266
+ : eval_result;
267
+ const callback =
268
+ typeof event.payload.callback === "string"
269
+ ? eval(event.payload.callback)
270
+ : event.payload.callback;
271
+ callback(final_result);
268
272
  }
269
273
  } catch (e) {
270
274
  console.log("_call_function", e);
@@ -283,11 +287,15 @@ export const applyEvent = async (event, socket) => {
283
287
  : eval(event.payload.function)();
284
288
 
285
289
  if (event.payload.callback) {
286
- if (!!eval_result && typeof eval_result.then === "function") {
287
- eval(event.payload.callback)(await eval_result);
288
- } else {
289
- eval(event.payload.callback)(eval_result);
290
- }
290
+ const final_result =
291
+ !!eval_result && typeof eval_result.then === "function"
292
+ ? await eval_result
293
+ : eval_result;
294
+ const callback =
295
+ typeof event.payload.callback === "string"
296
+ ? eval(event.payload.callback)
297
+ : event.payload.callback;
298
+ callback(final_result);
291
299
  }
292
300
  } catch (e) {
293
301
  console.log("_call_script", e);
@@ -364,7 +372,7 @@ export const queueEvents = async (events, socket, prepend) => {
364
372
  ),
365
373
  ];
366
374
  }
367
- event_queue.push(...events);
375
+ event_queue.push(...events.filter((e) => e !== undefined && e !== null));
368
376
  await processEvent(socket.current);
369
377
  };
370
378
 
@@ -750,11 +758,13 @@ export const useEventLoop = (
750
758
 
751
759
  // Function to add new events to the event queue.
752
760
  const addEvents = (events, args, event_actions) => {
761
+ const _events = events.filter((e) => e !== undefined && e !== null);
762
+
753
763
  if (!(args instanceof Array)) {
754
764
  args = [args];
755
765
  }
756
766
 
757
- event_actions = events.reduce(
767
+ event_actions = _events.reduce(
758
768
  (acc, e) => ({ ...acc, ...e.event_actions }),
759
769
  event_actions ?? {},
760
770
  );
@@ -767,7 +777,7 @@ export const useEventLoop = (
767
777
  if (event_actions?.stopPropagation && _e?.stopPropagation) {
768
778
  _e.stopPropagation();
769
779
  }
770
- const combined_name = events.map((e) => e.name).join("+++");
780
+ const combined_name = _events.map((e) => e.name).join("+++");
771
781
  if (event_actions?.temporal) {
772
782
  if (!socket.current || !socket.current.connected) {
773
783
  return; // don't queue when the backend is not connected
@@ -783,11 +793,11 @@ export const useEventLoop = (
783
793
  // If debounce is used, queue the events after some delay
784
794
  debounce(
785
795
  combined_name,
786
- () => queueEvents(events, socket),
796
+ () => queueEvents(_events, socket),
787
797
  event_actions.debounce,
788
798
  );
789
799
  } else {
790
- queueEvents(events, socket);
800
+ queueEvents(_events, socket);
791
801
  }
792
802
  };
793
803
 
@@ -954,7 +964,7 @@ export const isTrue = (val) => {
954
964
  * @returns True if the value is not null or undefined, false otherwise.
955
965
  */
956
966
  export const isNotNullOrUndefined = (val) => {
957
- return val ?? undefined !== undefined;
967
+ return (val ?? undefined) !== undefined;
958
968
  };
959
969
 
960
970
  /**
reflex/admin.py CHANGED
@@ -15,4 +15,4 @@ class AdminDash:
15
15
 
16
16
  models: list = field(default_factory=list)
17
17
  view_overrides: dict = field(default_factory=dict)
18
- admin: "Admin | None" = None
18
+ admin: Admin | None = None
reflex/app.py CHANGED
@@ -13,23 +13,12 @@ import io
13
13
  import json
14
14
  import sys
15
15
  import traceback
16
+ from collections.abc import AsyncIterator, Callable, Coroutine, MutableMapping
16
17
  from datetime import datetime
17
18
  from pathlib import Path
18
19
  from timeit import default_timer as timer
19
20
  from types import SimpleNamespace
20
- from typing import (
21
- TYPE_CHECKING,
22
- Any,
23
- AsyncIterator,
24
- BinaryIO,
25
- Callable,
26
- Coroutine,
27
- Dict,
28
- MutableMapping,
29
- Type,
30
- get_args,
31
- get_type_hints,
32
- )
21
+ from typing import TYPE_CHECKING, Any, BinaryIO, get_args, get_type_hints
33
22
 
34
23
  from fastapi import FastAPI, HTTPException, Request
35
24
  from fastapi import UploadFile as FastAPIUploadFile
@@ -373,13 +362,13 @@ class App(MiddlewareMixin, LifespanMixin):
373
362
  _pages: dict[str, Component] = dataclasses.field(default_factory=dict)
374
363
 
375
364
  # A mapping of pages which created states as they were being evaluated.
376
- _stateful_pages: Dict[str, None] = dataclasses.field(default_factory=dict)
365
+ _stateful_pages: dict[str, None] = dataclasses.field(default_factory=dict)
377
366
 
378
367
  # The backend API object.
379
368
  _api: FastAPI | None = None
380
369
 
381
370
  # The state class to use for the app.
382
- _state: Type[BaseState] | None = None
371
+ _state: type[BaseState] | None = None
383
372
 
384
373
  # Class to manage many client states.
385
374
  _state_manager: StateManager | None = None
@@ -1036,7 +1025,7 @@ class App(MiddlewareMixin, LifespanMixin):
1036
1025
  for render, kwargs in DECORATED_PAGES[get_config().app_name]:
1037
1026
  self.add_page(render, **kwargs)
1038
1027
 
1039
- def _validate_var_dependencies(self, state: Type[BaseState] | None = None) -> None:
1028
+ def _validate_var_dependencies(self, state: type[BaseState] | None = None) -> None:
1040
1029
  """Validate the dependencies of the vars in the app.
1041
1030
 
1042
1031
  Args:
@@ -1591,7 +1580,7 @@ class App(MiddlewareMixin, LifespanMixin):
1591
1580
 
1592
1581
 
1593
1582
  async def process(
1594
- app: App, event: Event, sid: str, headers: Dict, client_ip: str
1583
+ app: App, event: Event, sid: str, headers: dict, client_ip: str
1595
1584
  ) -> AsyncIterator[StateUpdate]:
1596
1585
  """Process an event.
1597
1586
 
@@ -7,7 +7,7 @@ import contextlib
7
7
  import dataclasses
8
8
  import functools
9
9
  import inspect
10
- from typing import Callable, Coroutine
10
+ from collections.abc import Callable, Coroutine
11
11
 
12
12
  from fastapi import FastAPI
13
13
 
reflex/base.py CHANGED
@@ -3,14 +3,14 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import os
6
- from typing import TYPE_CHECKING, Any, Type
6
+ from typing import TYPE_CHECKING, Any
7
7
 
8
8
  import pydantic.v1.main as pydantic_main
9
9
  from pydantic.v1 import BaseModel
10
10
  from pydantic.v1.fields import ModelField
11
11
 
12
12
 
13
- def validate_field_name(bases: list[Type["BaseModel"]], field_name: str) -> None:
13
+ def validate_field_name(bases: list[type[BaseModel]], field_name: str) -> None:
14
14
  """Ensure that the field's name does not shadow an existing attribute of the model.
15
15
 
16
16
  Args:
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from collections.abc import Iterable, Sequence
5
6
  from datetime import datetime
6
7
  from pathlib import Path
7
- from typing import TYPE_CHECKING, Iterable, Sequence, Type
8
+ from typing import TYPE_CHECKING
8
9
 
9
10
  from reflex import constants
10
11
  from reflex.compiler import templates, utils
@@ -97,7 +98,7 @@ def _compile_theme(theme: str) -> str:
97
98
  return templates.THEME.render(theme=theme)
98
99
 
99
100
 
100
- def _compile_contexts(state: Type[BaseState] | None, theme: Component | None) -> str:
101
+ def _compile_contexts(state: type[BaseState] | None, theme: Component | None) -> str:
101
102
  """Compile the initial state and contexts.
102
103
 
103
104
  Args:
@@ -132,7 +133,7 @@ def _compile_contexts(state: Type[BaseState] | None, theme: Component | None) ->
132
133
 
133
134
  def _compile_page(
134
135
  component: BaseComponent,
135
- state: Type[BaseState] | None,
136
+ state: type[BaseState] | None,
136
137
  ) -> str:
137
138
  """Compile the component given the app state.
138
139
 
@@ -516,7 +517,7 @@ def compile_theme(style: ComponentStyle) -> tuple[str, str]:
516
517
 
517
518
 
518
519
  def compile_contexts(
519
- state: Type[BaseState] | None,
520
+ state: type[BaseState] | None,
520
521
  theme: Component | None,
521
522
  ) -> tuple[str, str]:
522
523
  """Compile the initial state / context.
@@ -535,7 +536,7 @@ def compile_contexts(
535
536
 
536
537
 
537
538
  def compile_page(
538
- path: str, component: BaseComponent, state: Type[BaseState] | None
539
+ path: str, component: BaseComponent, state: type[BaseState] | None
539
540
  ) -> tuple[str, str]:
540
541
  """Compile a single page.
541
542
 
@@ -739,7 +740,7 @@ def into_component(component: Component | ComponentCallable) -> Component:
739
740
  def compile_unevaluated_page(
740
741
  route: str,
741
742
  page: UnevaluatedPage,
742
- state: Type[BaseState] | None = None,
743
+ state: type[BaseState] | None = None,
743
744
  style: ComponentStyle | None = None,
744
745
  theme: Component | None = None,
745
746
  ) -> tuple[Component, bool]:
@@ -829,7 +830,7 @@ class ExecutorSafeFunctions:
829
830
 
830
831
  COMPONENTS: dict[str, BaseComponent] = {}
831
832
  UNCOMPILED_PAGES: dict[str, UnevaluatedPage] = {}
832
- STATE: Type[BaseState] | None = None
833
+ STATE: type[BaseState] | None = None
833
834
 
834
835
  @classmethod
835
836
  def compile_page(cls, route: str) -> tuple[str, str]:
reflex/compiler/utils.py CHANGED
@@ -5,9 +5,10 @@ from __future__ import annotations
5
5
  import asyncio
6
6
  import concurrent.futures
7
7
  import traceback
8
+ from collections.abc import Sequence
8
9
  from datetime import datetime
9
10
  from pathlib import Path
10
- from typing import Any, Sequence, Type
11
+ from typing import Any
11
12
  from urllib.parse import urlparse
12
13
 
13
14
  from pydantic.v1.fields import ModelField
@@ -178,7 +179,7 @@ def save_error(error: Exception) -> str:
178
179
  return str(log_path)
179
180
 
180
181
 
181
- def compile_state(state: Type[BaseState]) -> dict:
182
+ def compile_state(state: type[BaseState]) -> dict:
182
183
  """Compile the state of the app.
183
184
 
184
185
  Args:
@@ -211,7 +212,7 @@ def compile_state(state: Type[BaseState]) -> dict:
211
212
  def _compile_client_storage_field(
212
213
  field: ModelField,
213
214
  ) -> tuple[
214
- Type[Cookie] | Type[LocalStorage] | Type[SessionStorage] | None,
215
+ type[Cookie] | type[LocalStorage] | type[SessionStorage] | None,
215
216
  dict[str, Any] | None,
216
217
  ]:
217
218
  """Compile the given cookie, local_storage or session_storage field.
@@ -234,7 +235,7 @@ def _compile_client_storage_field(
234
235
 
235
236
 
236
237
  def _compile_client_storage_recursive(
237
- state: Type[BaseState],
238
+ state: type[BaseState],
238
239
  ) -> tuple[dict[str, dict], dict[str, dict], dict[str, dict]]:
239
240
  """Compile the client-side storage for the given state recursively.
240
241
 
@@ -279,7 +280,7 @@ def _compile_client_storage_recursive(
279
280
  return cookies, local_storage, session_storage
280
281
 
281
282
 
282
- def compile_client_storage(state: Type[BaseState]) -> dict[str, dict]:
283
+ def compile_client_storage(state: type[BaseState]) -> dict[str, dict]:
283
284
  """Compile the client-side storage for the given state.
284
285
 
285
286
  Args:
@@ -3,7 +3,8 @@
3
3
  # ------------------- DO NOT EDIT ----------------------
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
- from typing import Any, Mapping, Optional, Sequence, overload
6
+ from collections.abc import Mapping, Sequence
7
+ from typing import Any, overload
7
8
 
8
9
  from reflex.components.base.fragment import Fragment
9
10
  from reflex.components.core.breakpoints import Breakpoints
@@ -26,23 +27,23 @@ class AppWrap(Fragment):
26
27
  class_name: Any | None = None,
27
28
  autofocus: bool | None = None,
28
29
  custom_attrs: dict[str, Var | Any] | None = None,
29
- on_blur: Optional[EventType[()]] = None,
30
- on_click: Optional[EventType[()]] = None,
31
- on_context_menu: Optional[EventType[()]] = None,
32
- on_double_click: Optional[EventType[()]] = None,
33
- on_focus: Optional[EventType[()]] = None,
34
- on_mount: Optional[EventType[()]] = None,
35
- on_mouse_down: Optional[EventType[()]] = None,
36
- on_mouse_enter: Optional[EventType[()]] = None,
37
- on_mouse_leave: Optional[EventType[()]] = None,
38
- on_mouse_move: Optional[EventType[()]] = None,
39
- on_mouse_out: Optional[EventType[()]] = None,
40
- on_mouse_over: Optional[EventType[()]] = None,
41
- on_mouse_up: Optional[EventType[()]] = None,
42
- on_scroll: Optional[EventType[()]] = None,
43
- on_unmount: Optional[EventType[()]] = None,
30
+ on_blur: EventType[()] | None = None,
31
+ on_click: EventType[()] | None = None,
32
+ on_context_menu: EventType[()] | None = None,
33
+ on_double_click: EventType[()] | None = None,
34
+ on_focus: EventType[()] | None = None,
35
+ on_mount: EventType[()] | None = None,
36
+ on_mouse_down: EventType[()] | None = None,
37
+ on_mouse_enter: EventType[()] | None = None,
38
+ on_mouse_leave: EventType[()] | None = None,
39
+ on_mouse_move: EventType[()] | None = None,
40
+ on_mouse_out: EventType[()] | None = None,
41
+ on_mouse_over: EventType[()] | None = None,
42
+ on_mouse_up: EventType[()] | None = None,
43
+ on_scroll: EventType[()] | None = None,
44
+ on_unmount: EventType[()] | None = None,
44
45
  **props,
45
- ) -> "AppWrap":
46
+ ) -> AppWrap:
46
47
  """Create a new AppWrap component.
47
48
 
48
49
  Returns:
@@ -2,7 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Any, Iterator, Sequence
5
+ from collections.abc import Iterator, Sequence
6
+ from typing import Any
6
7
 
7
8
  from reflex.components.component import BaseComponent, Component, ComponentStyle
8
9
  from reflex.components.tags import Tag
@@ -3,7 +3,8 @@
3
3
  # ------------------- DO NOT EDIT ----------------------
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
- from typing import Any, Mapping, Optional, Sequence, overload
6
+ from collections.abc import Mapping, Sequence
7
+ from typing import Any, overload
7
8
 
8
9
  from reflex.components.component import Component
9
10
  from reflex.components.core.breakpoints import Breakpoints
@@ -26,23 +27,23 @@ class Body(Component):
26
27
  class_name: Any | None = None,
27
28
  autofocus: bool | None = None,
28
29
  custom_attrs: dict[str, Var | Any] | None = None,
29
- on_blur: Optional[EventType[()]] = None,
30
- on_click: Optional[EventType[()]] = None,
31
- on_context_menu: Optional[EventType[()]] = None,
32
- on_double_click: Optional[EventType[()]] = None,
33
- on_focus: Optional[EventType[()]] = None,
34
- on_mount: Optional[EventType[()]] = None,
35
- on_mouse_down: Optional[EventType[()]] = None,
36
- on_mouse_enter: Optional[EventType[()]] = None,
37
- on_mouse_leave: Optional[EventType[()]] = None,
38
- on_mouse_move: Optional[EventType[()]] = None,
39
- on_mouse_out: Optional[EventType[()]] = None,
40
- on_mouse_over: Optional[EventType[()]] = None,
41
- on_mouse_up: Optional[EventType[()]] = None,
42
- on_scroll: Optional[EventType[()]] = None,
43
- on_unmount: Optional[EventType[()]] = None,
30
+ on_blur: EventType[()] | None = None,
31
+ on_click: EventType[()] | None = None,
32
+ on_context_menu: EventType[()] | None = None,
33
+ on_double_click: EventType[()] | None = None,
34
+ on_focus: EventType[()] | None = None,
35
+ on_mount: EventType[()] | None = None,
36
+ on_mouse_down: EventType[()] | None = None,
37
+ on_mouse_enter: EventType[()] | None = None,
38
+ on_mouse_leave: EventType[()] | None = None,
39
+ on_mouse_move: EventType[()] | None = None,
40
+ on_mouse_out: EventType[()] | None = None,
41
+ on_mouse_over: EventType[()] | None = None,
42
+ on_mouse_up: EventType[()] | None = None,
43
+ on_scroll: EventType[()] | None = None,
44
+ on_unmount: EventType[()] | None = None,
44
45
  **props,
45
- ) -> "Body":
46
+ ) -> Body:
46
47
  """Create the component.
47
48
 
48
49
  Args:
@@ -3,7 +3,8 @@
3
3
  # ------------------- DO NOT EDIT ----------------------
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
- from typing import Any, Mapping, Optional, Sequence, overload
6
+ from collections.abc import Mapping, Sequence
7
+ from typing import Any, overload
7
8
 
8
9
  from reflex.components.component import Component
9
10
  from reflex.components.core.breakpoints import Breakpoints
@@ -26,23 +27,23 @@ class NextDocumentLib(Component):
26
27
  class_name: Any | None = None,
27
28
  autofocus: bool | None = None,
28
29
  custom_attrs: dict[str, Var | Any] | None = None,
29
- on_blur: Optional[EventType[()]] = None,
30
- on_click: Optional[EventType[()]] = None,
31
- on_context_menu: Optional[EventType[()]] = None,
32
- on_double_click: Optional[EventType[()]] = None,
33
- on_focus: Optional[EventType[()]] = None,
34
- on_mount: Optional[EventType[()]] = None,
35
- on_mouse_down: Optional[EventType[()]] = None,
36
- on_mouse_enter: Optional[EventType[()]] = None,
37
- on_mouse_leave: Optional[EventType[()]] = None,
38
- on_mouse_move: Optional[EventType[()]] = None,
39
- on_mouse_out: Optional[EventType[()]] = None,
40
- on_mouse_over: Optional[EventType[()]] = None,
41
- on_mouse_up: Optional[EventType[()]] = None,
42
- on_scroll: Optional[EventType[()]] = None,
43
- on_unmount: Optional[EventType[()]] = None,
30
+ on_blur: EventType[()] | None = None,
31
+ on_click: EventType[()] | None = None,
32
+ on_context_menu: EventType[()] | None = None,
33
+ on_double_click: EventType[()] | None = None,
34
+ on_focus: EventType[()] | None = None,
35
+ on_mount: EventType[()] | None = None,
36
+ on_mouse_down: EventType[()] | None = None,
37
+ on_mouse_enter: EventType[()] | None = None,
38
+ on_mouse_leave: EventType[()] | None = None,
39
+ on_mouse_move: EventType[()] | None = None,
40
+ on_mouse_out: EventType[()] | None = None,
41
+ on_mouse_over: EventType[()] | None = None,
42
+ on_mouse_up: EventType[()] | None = None,
43
+ on_scroll: EventType[()] | None = None,
44
+ on_unmount: EventType[()] | None = None,
44
45
  **props,
45
- ) -> "NextDocumentLib":
46
+ ) -> NextDocumentLib:
46
47
  """Create the component.
47
48
 
48
49
  Args:
@@ -77,23 +78,23 @@ class Html(NextDocumentLib):
77
78
  class_name: Any | None = None,
78
79
  autofocus: bool | None = None,
79
80
  custom_attrs: dict[str, Var | Any] | None = None,
80
- on_blur: Optional[EventType[()]] = None,
81
- on_click: Optional[EventType[()]] = None,
82
- on_context_menu: Optional[EventType[()]] = None,
83
- on_double_click: Optional[EventType[()]] = None,
84
- on_focus: Optional[EventType[()]] = None,
85
- on_mount: Optional[EventType[()]] = None,
86
- on_mouse_down: Optional[EventType[()]] = None,
87
- on_mouse_enter: Optional[EventType[()]] = None,
88
- on_mouse_leave: Optional[EventType[()]] = None,
89
- on_mouse_move: Optional[EventType[()]] = None,
90
- on_mouse_out: Optional[EventType[()]] = None,
91
- on_mouse_over: Optional[EventType[()]] = None,
92
- on_mouse_up: Optional[EventType[()]] = None,
93
- on_scroll: Optional[EventType[()]] = None,
94
- on_unmount: Optional[EventType[()]] = None,
81
+ on_blur: EventType[()] | None = None,
82
+ on_click: EventType[()] | None = None,
83
+ on_context_menu: EventType[()] | None = None,
84
+ on_double_click: EventType[()] | None = None,
85
+ on_focus: EventType[()] | None = None,
86
+ on_mount: EventType[()] | None = None,
87
+ on_mouse_down: EventType[()] | None = None,
88
+ on_mouse_enter: EventType[()] | None = None,
89
+ on_mouse_leave: EventType[()] | None = None,
90
+ on_mouse_move: EventType[()] | None = None,
91
+ on_mouse_out: EventType[()] | None = None,
92
+ on_mouse_over: EventType[()] | None = None,
93
+ on_mouse_up: EventType[()] | None = None,
94
+ on_scroll: EventType[()] | None = None,
95
+ on_unmount: EventType[()] | None = None,
95
96
  **props,
96
- ) -> "Html":
97
+ ) -> Html:
97
98
  """Create the component.
98
99
 
99
100
  Args:
@@ -127,23 +128,23 @@ class DocumentHead(NextDocumentLib):
127
128
  class_name: Any | None = None,
128
129
  autofocus: bool | None = None,
129
130
  custom_attrs: dict[str, Var | Any] | None = None,
130
- on_blur: Optional[EventType[()]] = None,
131
- on_click: Optional[EventType[()]] = None,
132
- on_context_menu: Optional[EventType[()]] = None,
133
- on_double_click: Optional[EventType[()]] = None,
134
- on_focus: Optional[EventType[()]] = None,
135
- on_mount: Optional[EventType[()]] = None,
136
- on_mouse_down: Optional[EventType[()]] = None,
137
- on_mouse_enter: Optional[EventType[()]] = None,
138
- on_mouse_leave: Optional[EventType[()]] = None,
139
- on_mouse_move: Optional[EventType[()]] = None,
140
- on_mouse_out: Optional[EventType[()]] = None,
141
- on_mouse_over: Optional[EventType[()]] = None,
142
- on_mouse_up: Optional[EventType[()]] = None,
143
- on_scroll: Optional[EventType[()]] = None,
144
- on_unmount: Optional[EventType[()]] = None,
131
+ on_blur: EventType[()] | None = None,
132
+ on_click: EventType[()] | None = None,
133
+ on_context_menu: EventType[()] | None = None,
134
+ on_double_click: EventType[()] | None = None,
135
+ on_focus: EventType[()] | None = None,
136
+ on_mount: EventType[()] | None = None,
137
+ on_mouse_down: EventType[()] | None = None,
138
+ on_mouse_enter: EventType[()] | None = None,
139
+ on_mouse_leave: EventType[()] | None = None,
140
+ on_mouse_move: EventType[()] | None = None,
141
+ on_mouse_out: EventType[()] | None = None,
142
+ on_mouse_over: EventType[()] | None = None,
143
+ on_mouse_up: EventType[()] | None = None,
144
+ on_scroll: EventType[()] | None = None,
145
+ on_unmount: EventType[()] | None = None,
145
146
  **props,
146
- ) -> "DocumentHead":
147
+ ) -> DocumentHead:
147
148
  """Create the component.
148
149
 
149
150
  Args:
@@ -177,23 +178,23 @@ class Main(NextDocumentLib):
177
178
  class_name: Any | None = None,
178
179
  autofocus: bool | None = None,
179
180
  custom_attrs: dict[str, Var | Any] | None = None,
180
- on_blur: Optional[EventType[()]] = None,
181
- on_click: Optional[EventType[()]] = None,
182
- on_context_menu: Optional[EventType[()]] = None,
183
- on_double_click: Optional[EventType[()]] = None,
184
- on_focus: Optional[EventType[()]] = None,
185
- on_mount: Optional[EventType[()]] = None,
186
- on_mouse_down: Optional[EventType[()]] = None,
187
- on_mouse_enter: Optional[EventType[()]] = None,
188
- on_mouse_leave: Optional[EventType[()]] = None,
189
- on_mouse_move: Optional[EventType[()]] = None,
190
- on_mouse_out: Optional[EventType[()]] = None,
191
- on_mouse_over: Optional[EventType[()]] = None,
192
- on_mouse_up: Optional[EventType[()]] = None,
193
- on_scroll: Optional[EventType[()]] = None,
194
- on_unmount: Optional[EventType[()]] = None,
181
+ on_blur: EventType[()] | None = None,
182
+ on_click: EventType[()] | None = None,
183
+ on_context_menu: EventType[()] | None = None,
184
+ on_double_click: EventType[()] | None = None,
185
+ on_focus: EventType[()] | None = None,
186
+ on_mount: EventType[()] | None = None,
187
+ on_mouse_down: EventType[()] | None = None,
188
+ on_mouse_enter: EventType[()] | None = None,
189
+ on_mouse_leave: EventType[()] | None = None,
190
+ on_mouse_move: EventType[()] | None = None,
191
+ on_mouse_out: EventType[()] | None = None,
192
+ on_mouse_over: EventType[()] | None = None,
193
+ on_mouse_up: EventType[()] | None = None,
194
+ on_scroll: EventType[()] | None = None,
195
+ on_unmount: EventType[()] | None = None,
195
196
  **props,
196
- ) -> "Main":
197
+ ) -> Main:
197
198
  """Create the component.
198
199
 
199
200
  Args:
@@ -227,23 +228,23 @@ class NextScript(NextDocumentLib):
227
228
  class_name: Any | None = None,
228
229
  autofocus: bool | None = None,
229
230
  custom_attrs: dict[str, Var | Any] | None = None,
230
- on_blur: Optional[EventType[()]] = None,
231
- on_click: Optional[EventType[()]] = None,
232
- on_context_menu: Optional[EventType[()]] = None,
233
- on_double_click: Optional[EventType[()]] = None,
234
- on_focus: Optional[EventType[()]] = None,
235
- on_mount: Optional[EventType[()]] = None,
236
- on_mouse_down: Optional[EventType[()]] = None,
237
- on_mouse_enter: Optional[EventType[()]] = None,
238
- on_mouse_leave: Optional[EventType[()]] = None,
239
- on_mouse_move: Optional[EventType[()]] = None,
240
- on_mouse_out: Optional[EventType[()]] = None,
241
- on_mouse_over: Optional[EventType[()]] = None,
242
- on_mouse_up: Optional[EventType[()]] = None,
243
- on_scroll: Optional[EventType[()]] = None,
244
- on_unmount: Optional[EventType[()]] = None,
231
+ on_blur: EventType[()] | None = None,
232
+ on_click: EventType[()] | None = None,
233
+ on_context_menu: EventType[()] | None = None,
234
+ on_double_click: EventType[()] | None = None,
235
+ on_focus: EventType[()] | None = None,
236
+ on_mount: EventType[()] | None = None,
237
+ on_mouse_down: EventType[()] | None = None,
238
+ on_mouse_enter: EventType[()] | None = None,
239
+ on_mouse_leave: EventType[()] | None = None,
240
+ on_mouse_move: EventType[()] | None = None,
241
+ on_mouse_out: EventType[()] | None = None,
242
+ on_mouse_over: EventType[()] | None = None,
243
+ on_mouse_up: EventType[()] | None = None,
244
+ on_scroll: EventType[()] | None = None,
245
+ on_unmount: EventType[()] | None = None,
245
246
  **props,
246
- ) -> "NextScript":
247
+ ) -> NextScript:
247
248
  """Create the component.
248
249
 
249
250
  Args: