reflex 0.8.0a4__py3-none-any.whl → 0.8.0a6__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 (163) hide show
  1. reflex/.templates/jinja/web/pages/_app.js.jinja2 +1 -1
  2. reflex/.templates/jinja/web/styles/styles.css.jinja2 +1 -0
  3. reflex/.templates/web/app/routes.js +3 -3
  4. reflex/.templates/web/utils/client_side_routing.js +1 -1
  5. reflex/.templates/web/utils/state.js +110 -52
  6. reflex/__init__.pyi +327 -188
  7. reflex/app.py +50 -48
  8. reflex/compiler/compiler.py +6 -2
  9. reflex/compiler/utils.py +32 -14
  10. reflex/components/__init__.pyi +34 -15
  11. reflex/components/base/__init__.pyi +30 -19
  12. reflex/components/base/app_wrap.pyi +2 -3
  13. reflex/components/base/body.pyi +2 -3
  14. reflex/components/base/document.pyi +7 -13
  15. reflex/components/base/error_boundary.pyi +2 -3
  16. reflex/components/base/fragment.pyi +2 -3
  17. reflex/components/base/link.pyi +3 -5
  18. reflex/components/base/meta.py +4 -15
  19. reflex/components/base/meta.pyi +14 -18
  20. reflex/components/base/script.pyi +2 -3
  21. reflex/components/base/strict_mode.pyi +2 -3
  22. reflex/components/core/__init__.pyi +77 -38
  23. reflex/components/core/auto_scroll.pyi +2 -3
  24. reflex/components/core/banner.pyi +8 -14
  25. reflex/components/core/client_side_routing.pyi +2 -3
  26. reflex/components/core/clipboard.pyi +2 -3
  27. reflex/components/core/debounce.pyi +2 -3
  28. reflex/components/core/foreach.py +2 -2
  29. reflex/components/core/helmet.pyi +2 -3
  30. reflex/components/core/html.pyi +2 -3
  31. reflex/components/core/match.py +3 -3
  32. reflex/components/core/sticky.pyi +4 -7
  33. reflex/components/core/upload.py +2 -1
  34. reflex/components/core/upload.pyi +5 -9
  35. reflex/components/datadisplay/__init__.pyi +13 -7
  36. reflex/components/datadisplay/code.py +12 -7
  37. reflex/components/datadisplay/code.pyi +2 -3
  38. reflex/components/datadisplay/dataeditor.pyi +33 -11
  39. reflex/components/datadisplay/shiki_code_block.py +5 -3
  40. reflex/components/datadisplay/shiki_code_block.pyi +3 -5
  41. reflex/components/el/__init__.pyi +506 -246
  42. reflex/components/el/element.pyi +2 -3
  43. reflex/components/el/elements/__init__.pyi +504 -245
  44. reflex/components/el/elements/base.pyi +2 -3
  45. reflex/components/el/elements/forms.pyi +77 -49
  46. reflex/components/el/elements/inline.pyi +29 -57
  47. reflex/components/el/elements/media.pyi +26 -51
  48. reflex/components/el/elements/metadata.pyi +7 -13
  49. reflex/components/el/elements/other.pyi +8 -15
  50. reflex/components/el/elements/scripts.pyi +4 -7
  51. reflex/components/el/elements/sectioning.pyi +16 -31
  52. reflex/components/el/elements/tables.pyi +11 -21
  53. reflex/components/el/elements/typography.pyi +16 -31
  54. reflex/components/gridjs/datatable.pyi +3 -5
  55. reflex/components/lucide/icon.pyi +4 -7
  56. reflex/components/markdown/markdown.py +5 -3
  57. reflex/components/markdown/markdown.pyi +2 -3
  58. reflex/components/moment/moment.py +1 -1
  59. reflex/components/moment/moment.pyi +2 -3
  60. reflex/components/plotly/plotly.py +12 -6
  61. reflex/components/plotly/plotly.pyi +31 -39
  62. reflex/components/radix/__init__.pyi +123 -65
  63. reflex/components/radix/primitives/__init__.pyi +6 -4
  64. reflex/components/radix/primitives/accordion.pyi +8 -15
  65. reflex/components/radix/primitives/base.pyi +3 -5
  66. reflex/components/radix/primitives/drawer.pyi +11 -21
  67. reflex/components/radix/primitives/form.pyi +22 -22
  68. reflex/components/radix/primitives/progress.pyi +5 -9
  69. reflex/components/radix/primitives/slider.pyi +6 -11
  70. reflex/components/radix/themes/__init__.pyi +5 -6
  71. reflex/components/radix/themes/base.pyi +9 -17
  72. reflex/components/radix/themes/color_mode.py +5 -6
  73. reflex/components/radix/themes/color_mode.pyi +4 -7
  74. reflex/components/radix/themes/components/__init__.pyi +75 -38
  75. reflex/components/radix/themes/components/alert_dialog.pyi +8 -15
  76. reflex/components/radix/themes/components/aspect_ratio.pyi +2 -3
  77. reflex/components/radix/themes/components/avatar.pyi +2 -3
  78. reflex/components/radix/themes/components/badge.pyi +2 -3
  79. reflex/components/radix/themes/components/button.pyi +2 -3
  80. reflex/components/radix/themes/components/callout.pyi +5 -9
  81. reflex/components/radix/themes/components/card.pyi +2 -3
  82. reflex/components/radix/themes/components/checkbox.pyi +3 -5
  83. reflex/components/radix/themes/components/checkbox_cards.pyi +3 -5
  84. reflex/components/radix/themes/components/checkbox_group.pyi +3 -5
  85. reflex/components/radix/themes/components/context_menu.pyi +14 -27
  86. reflex/components/radix/themes/components/data_list.pyi +5 -9
  87. reflex/components/radix/themes/components/dialog.pyi +7 -13
  88. reflex/components/radix/themes/components/dropdown_menu.pyi +9 -17
  89. reflex/components/radix/themes/components/hover_card.pyi +4 -7
  90. reflex/components/radix/themes/components/icon_button.pyi +2 -3
  91. reflex/components/radix/themes/components/inset.pyi +2 -3
  92. reflex/components/radix/themes/components/popover.pyi +5 -9
  93. reflex/components/radix/themes/components/progress.pyi +2 -3
  94. reflex/components/radix/themes/components/radio.pyi +2 -3
  95. reflex/components/radix/themes/components/radio_cards.pyi +3 -5
  96. reflex/components/radix/themes/components/radio_group.pyi +4 -7
  97. reflex/components/radix/themes/components/scroll_area.pyi +2 -3
  98. reflex/components/radix/themes/components/segmented_control.pyi +3 -5
  99. reflex/components/radix/themes/components/select.pyi +9 -17
  100. reflex/components/radix/themes/components/separator.pyi +2 -3
  101. reflex/components/radix/themes/components/skeleton.pyi +2 -3
  102. reflex/components/radix/themes/components/slider.pyi +12 -5
  103. reflex/components/radix/themes/components/spinner.pyi +2 -3
  104. reflex/components/radix/themes/components/switch.pyi +2 -3
  105. reflex/components/radix/themes/components/table.pyi +8 -15
  106. reflex/components/radix/themes/components/tabs.pyi +5 -9
  107. reflex/components/radix/themes/components/text_area.pyi +10 -5
  108. reflex/components/radix/themes/components/text_field.pyi +19 -9
  109. reflex/components/radix/themes/components/tooltip.pyi +2 -3
  110. reflex/components/radix/themes/layout/__init__.pyi +27 -14
  111. reflex/components/radix/themes/layout/base.pyi +2 -3
  112. reflex/components/radix/themes/layout/box.pyi +2 -3
  113. reflex/components/radix/themes/layout/center.pyi +2 -3
  114. reflex/components/radix/themes/layout/container.pyi +2 -3
  115. reflex/components/radix/themes/layout/flex.pyi +2 -3
  116. reflex/components/radix/themes/layout/grid.pyi +2 -3
  117. reflex/components/radix/themes/layout/list.pyi +5 -9
  118. reflex/components/radix/themes/layout/section.pyi +2 -3
  119. reflex/components/radix/themes/layout/spacer.pyi +2 -3
  120. reflex/components/radix/themes/layout/stack.pyi +4 -7
  121. reflex/components/radix/themes/typography/__init__.pyi +7 -5
  122. reflex/components/radix/themes/typography/blockquote.pyi +2 -3
  123. reflex/components/radix/themes/typography/code.pyi +2 -3
  124. reflex/components/radix/themes/typography/heading.pyi +2 -3
  125. reflex/components/radix/themes/typography/link.pyi +3 -5
  126. reflex/components/radix/themes/typography/text.pyi +7 -13
  127. reflex/components/react_player/audio.pyi +5 -4
  128. reflex/components/react_player/react_player.pyi +2 -3
  129. reflex/components/react_player/video.pyi +5 -4
  130. reflex/components/recharts/__init__.pyi +208 -100
  131. reflex/components/recharts/cartesian.py +8 -7
  132. reflex/components/recharts/cartesian.pyi +25 -48
  133. reflex/components/recharts/charts.pyi +13 -25
  134. reflex/components/recharts/general.pyi +7 -13
  135. reflex/components/recharts/polar.pyi +7 -13
  136. reflex/components/recharts/recharts.py +2 -2
  137. reflex/components/recharts/recharts.pyi +3 -5
  138. reflex/components/sonner/toast.py +1 -1
  139. reflex/components/sonner/toast.pyi +2 -3
  140. reflex/constants/installer.py +7 -8
  141. reflex/constants/route.py +13 -6
  142. reflex/istate/__init__.py +69 -0
  143. reflex/istate/manager.py +1 -0
  144. reflex/plugins/shared_tailwind.py +58 -1
  145. reflex/plugins/tailwind_v3.py +4 -4
  146. reflex/plugins/tailwind_v4.py +6 -5
  147. reflex/route.py +159 -71
  148. reflex/state.py +38 -16
  149. reflex/testing.py +2 -1
  150. reflex/utils/exec.py +18 -13
  151. reflex/utils/format.py +1 -5
  152. reflex/utils/imports.py +5 -12
  153. reflex/utils/misc.py +40 -0
  154. reflex/utils/prerequisites.py +7 -12
  155. reflex/utils/processes.py +8 -41
  156. reflex/utils/pyi_generator.py +23 -40
  157. reflex/utils/telemetry.py +0 -15
  158. reflex/utils/types.py +1 -1
  159. {reflex-0.8.0a4.dist-info → reflex-0.8.0a6.dist-info}/METADATA +3 -3
  160. {reflex-0.8.0a4.dist-info → reflex-0.8.0a6.dist-info}/RECORD +163 -163
  161. {reflex-0.8.0a4.dist-info → reflex-0.8.0a6.dist-info}/WHEEL +0 -0
  162. {reflex-0.8.0a4.dist-info → reflex-0.8.0a6.dist-info}/entry_points.txt +0 -0
  163. {reflex-0.8.0a4.dist-info → reflex-0.8.0a6.dist-info}/licenses/LICENSE +0 -0
@@ -4,7 +4,7 @@
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.event import EventType, PointerEventInfo
@@ -13,9 +13,8 @@ from reflex.vars.base import Var
13
13
  from .base import BaseHTML
14
14
 
15
15
  class Caption(BaseHTML):
16
- @overload
17
16
  @classmethod
18
- def create( # type: ignore
17
+ def create(
19
18
  cls,
20
19
  *children,
21
20
  access_key: Var[str] | str | None = None,
@@ -259,9 +258,8 @@ class Caption(BaseHTML):
259
258
  """
260
259
 
261
260
  class Col(BaseHTML):
262
- @overload
263
261
  @classmethod
264
- def create( # type: ignore
262
+ def create(
265
263
  cls,
266
264
  *children,
267
265
  span: Var[int] | int | None = None,
@@ -507,9 +505,8 @@ class Col(BaseHTML):
507
505
  """
508
506
 
509
507
  class Colgroup(BaseHTML):
510
- @overload
511
508
  @classmethod
512
- def create( # type: ignore
509
+ def create(
513
510
  cls,
514
511
  *children,
515
512
  span: Var[int] | int | None = None,
@@ -755,9 +752,8 @@ class Colgroup(BaseHTML):
755
752
  """
756
753
 
757
754
  class Table(BaseHTML):
758
- @overload
759
755
  @classmethod
760
- def create( # type: ignore
756
+ def create(
761
757
  cls,
762
758
  *children,
763
759
  align: Literal["center", "left", "right"]
@@ -1007,9 +1003,8 @@ class Table(BaseHTML):
1007
1003
  """
1008
1004
 
1009
1005
  class Tbody(BaseHTML):
1010
- @overload
1011
1006
  @classmethod
1012
- def create( # type: ignore
1007
+ def create(
1013
1008
  cls,
1014
1009
  *children,
1015
1010
  access_key: Var[str] | str | None = None,
@@ -1253,9 +1248,8 @@ class Tbody(BaseHTML):
1253
1248
  """
1254
1249
 
1255
1250
  class Td(BaseHTML):
1256
- @overload
1257
1251
  @classmethod
1258
- def create( # type: ignore
1252
+ def create(
1259
1253
  cls,
1260
1254
  *children,
1261
1255
  align: Literal["center", "char", "justify", "left", "right"]
@@ -1509,9 +1503,8 @@ class Td(BaseHTML):
1509
1503
  """
1510
1504
 
1511
1505
  class Tfoot(BaseHTML):
1512
- @overload
1513
1506
  @classmethod
1514
- def create( # type: ignore
1507
+ def create(
1515
1508
  cls,
1516
1509
  *children,
1517
1510
  access_key: Var[str] | str | None = None,
@@ -1755,9 +1748,8 @@ class Tfoot(BaseHTML):
1755
1748
  """
1756
1749
 
1757
1750
  class Th(BaseHTML):
1758
- @overload
1759
1751
  @classmethod
1760
- def create( # type: ignore
1752
+ def create(
1761
1753
  cls,
1762
1754
  *children,
1763
1755
  align: Literal["center", "char", "justify", "left", "right"]
@@ -2013,9 +2005,8 @@ class Th(BaseHTML):
2013
2005
  """
2014
2006
 
2015
2007
  class Thead(BaseHTML):
2016
- @overload
2017
2008
  @classmethod
2018
- def create( # type: ignore
2009
+ def create(
2019
2010
  cls,
2020
2011
  *children,
2021
2012
  access_key: Var[str] | str | None = None,
@@ -2259,9 +2250,8 @@ class Thead(BaseHTML):
2259
2250
  """
2260
2251
 
2261
2252
  class Tr(BaseHTML):
2262
- @overload
2263
2253
  @classmethod
2264
- def create( # type: ignore
2254
+ def create(
2265
2255
  cls,
2266
2256
  *children,
2267
2257
  access_key: Var[str] | str | None = None,
@@ -4,7 +4,7 @@
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.event import EventType, PointerEventInfo
@@ -13,9 +13,8 @@ from reflex.vars.base import Var
13
13
  from .base import BaseHTML
14
14
 
15
15
  class Blockquote(BaseHTML):
16
- @overload
17
16
  @classmethod
18
- def create( # type: ignore
17
+ def create(
19
18
  cls,
20
19
  *children,
21
20
  cite: Var[str] | str | None = None,
@@ -261,9 +260,8 @@ class Blockquote(BaseHTML):
261
260
  """
262
261
 
263
262
  class Dd(BaseHTML):
264
- @overload
265
263
  @classmethod
266
- def create( # type: ignore
264
+ def create(
267
265
  cls,
268
266
  *children,
269
267
  access_key: Var[str] | str | None = None,
@@ -507,9 +505,8 @@ class Dd(BaseHTML):
507
505
  """
508
506
 
509
507
  class Div(BaseHTML):
510
- @overload
511
508
  @classmethod
512
- def create( # type: ignore
509
+ def create(
513
510
  cls,
514
511
  *children,
515
512
  access_key: Var[str] | str | None = None,
@@ -753,9 +750,8 @@ class Div(BaseHTML):
753
750
  """
754
751
 
755
752
  class Dl(BaseHTML):
756
- @overload
757
753
  @classmethod
758
- def create( # type: ignore
754
+ def create(
759
755
  cls,
760
756
  *children,
761
757
  access_key: Var[str] | str | None = None,
@@ -999,9 +995,8 @@ class Dl(BaseHTML):
999
995
  """
1000
996
 
1001
997
  class Dt(BaseHTML):
1002
- @overload
1003
998
  @classmethod
1004
- def create( # type: ignore
999
+ def create(
1005
1000
  cls,
1006
1001
  *children,
1007
1002
  access_key: Var[str] | str | None = None,
@@ -1245,9 +1240,8 @@ class Dt(BaseHTML):
1245
1240
  """
1246
1241
 
1247
1242
  class Figcaption(BaseHTML):
1248
- @overload
1249
1243
  @classmethod
1250
- def create( # type: ignore
1244
+ def create(
1251
1245
  cls,
1252
1246
  *children,
1253
1247
  access_key: Var[str] | str | None = None,
@@ -1491,9 +1485,8 @@ class Figcaption(BaseHTML):
1491
1485
  """
1492
1486
 
1493
1487
  class Hr(BaseHTML):
1494
- @overload
1495
1488
  @classmethod
1496
- def create( # type: ignore
1489
+ def create(
1497
1490
  cls,
1498
1491
  *children,
1499
1492
  access_key: Var[str] | str | None = None,
@@ -1737,9 +1730,8 @@ class Hr(BaseHTML):
1737
1730
  """
1738
1731
 
1739
1732
  class Li(BaseHTML):
1740
- @overload
1741
1733
  @classmethod
1742
- def create( # type: ignore
1734
+ def create(
1743
1735
  cls,
1744
1736
  *children,
1745
1737
  access_key: Var[str] | str | None = None,
@@ -1983,9 +1975,8 @@ class Li(BaseHTML):
1983
1975
  """
1984
1976
 
1985
1977
  class Menu(BaseHTML):
1986
- @overload
1987
1978
  @classmethod
1988
- def create( # type: ignore
1979
+ def create(
1989
1980
  cls,
1990
1981
  *children,
1991
1982
  type: Var[str] | str | None = None,
@@ -2231,9 +2222,8 @@ class Menu(BaseHTML):
2231
2222
  """
2232
2223
 
2233
2224
  class Ol(BaseHTML):
2234
- @overload
2235
2225
  @classmethod
2236
- def create( # type: ignore
2226
+ def create(
2237
2227
  cls,
2238
2228
  *children,
2239
2229
  reversed: Var[bool] | bool | None = None,
@@ -2485,9 +2475,8 @@ class Ol(BaseHTML):
2485
2475
  """
2486
2476
 
2487
2477
  class P(BaseHTML):
2488
- @overload
2489
2478
  @classmethod
2490
- def create( # type: ignore
2479
+ def create(
2491
2480
  cls,
2492
2481
  *children,
2493
2482
  access_key: Var[str] | str | None = None,
@@ -2731,9 +2720,8 @@ class P(BaseHTML):
2731
2720
  """
2732
2721
 
2733
2722
  class Pre(BaseHTML):
2734
- @overload
2735
2723
  @classmethod
2736
- def create( # type: ignore
2724
+ def create(
2737
2725
  cls,
2738
2726
  *children,
2739
2727
  access_key: Var[str] | str | None = None,
@@ -2977,9 +2965,8 @@ class Pre(BaseHTML):
2977
2965
  """
2978
2966
 
2979
2967
  class Ul(BaseHTML):
2980
- @overload
2981
2968
  @classmethod
2982
- def create( # type: ignore
2969
+ def create(
2983
2970
  cls,
2984
2971
  *children,
2985
2972
  access_key: Var[str] | str | None = None,
@@ -3223,9 +3210,8 @@ class Ul(BaseHTML):
3223
3210
  """
3224
3211
 
3225
3212
  class Ins(BaseHTML):
3226
- @overload
3227
3213
  @classmethod
3228
- def create( # type: ignore
3214
+ def create(
3229
3215
  cls,
3230
3216
  *children,
3231
3217
  cite: Var[str] | str | None = None,
@@ -3473,9 +3459,8 @@ class Ins(BaseHTML):
3473
3459
  """
3474
3460
 
3475
3461
  class Del(BaseHTML):
3476
- @overload
3477
3462
  @classmethod
3478
- def create( # type: ignore
3463
+ def create(
3479
3464
  cls,
3480
3465
  *children,
3481
3466
  cite: Var[str] | str | None = None,
@@ -4,7 +4,7 @@
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, overload
7
+ from typing import Any
8
8
 
9
9
  from reflex.components.component import NoSSRComponent
10
10
  from reflex.components.core.breakpoints import Breakpoints
@@ -13,9 +13,8 @@ from reflex.utils.imports import ImportDict
13
13
  from reflex.vars.base import Var
14
14
 
15
15
  class Gridjs(NoSSRComponent):
16
- @overload
17
16
  @classmethod
18
- def create( # type: ignore
17
+ def create(
19
18
  cls,
20
19
  *children,
21
20
  style: Sequence[Mapping[str, Any]]
@@ -65,9 +64,8 @@ class Gridjs(NoSSRComponent):
65
64
  """
66
65
 
67
66
  class DataTable(Gridjs):
68
- @overload
69
67
  @classmethod
70
- def create( # type: ignore
68
+ def create(
71
69
  cls,
72
70
  *children,
73
71
  data: Any | None = None,
@@ -4,7 +4,7 @@
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, overload
7
+ from typing import Any
8
8
 
9
9
  from reflex.components.component import Component
10
10
  from reflex.components.core.breakpoints import Breakpoints
@@ -14,9 +14,8 @@ from reflex.vars.base import Var
14
14
  LUCIDE_LIBRARY = "lucide-react@0.511.0"
15
15
 
16
16
  class LucideIconComponent(Component):
17
- @overload
18
17
  @classmethod
19
- def create( # type: ignore
18
+ def create(
20
19
  cls,
21
20
  *children,
22
21
  style: Sequence[Mapping[str, Any]]
@@ -66,9 +65,8 @@ class LucideIconComponent(Component):
66
65
  """
67
66
 
68
67
  class Icon(LucideIconComponent):
69
- @overload
70
68
  @classmethod
71
- def create( # type: ignore
69
+ def create(
72
70
  cls,
73
71
  *children,
74
72
  size: Var[int] | int | None = None,
@@ -126,9 +124,8 @@ class Icon(LucideIconComponent):
126
124
  """
127
125
 
128
126
  class DynamicIcon(LucideIconComponent):
129
- @overload
130
127
  @classmethod
131
- def create( # type: ignore
128
+ def create(
132
129
  cls,
133
130
  *children,
134
131
  name: Var[str] | str | None = None,
@@ -9,7 +9,7 @@ from functools import lru_cache
9
9
  from hashlib import md5
10
10
  from typing import Any
11
11
 
12
- from reflex.components.component import BaseComponent, Component, CustomComponent
12
+ from reflex.components.component import BaseComponent, Component, CustomComponent, field
13
13
  from reflex.components.tags.tag import Tag
14
14
  from reflex.utils.imports import ImportDict, ImportVar
15
15
  from reflex.vars.base import LiteralVar, Var, VarData
@@ -150,10 +150,12 @@ class Markdown(Component):
150
150
  is_default = True
151
151
 
152
152
  # The component map from a tag to a lambda that creates a component.
153
- component_map: dict[str, Any] = {}
153
+ component_map: dict[str, Any] = field(
154
+ default_factory=dict, is_javascript_property=False
155
+ )
154
156
 
155
157
  # The hash of the component map, generated at create() time.
156
- component_map_hash: str = ""
158
+ component_map_hash: str = field(default="", is_javascript_property=False)
157
159
 
158
160
  @classmethod
159
161
  def create(cls, *children, **props) -> Component:
@@ -6,7 +6,7 @@
6
6
  import dataclasses
7
7
  from collections.abc import Callable, Mapping, Sequence
8
8
  from functools import lru_cache
9
- from typing import Any, overload
9
+ from typing import Any
10
10
 
11
11
  from reflex.components.component import Component
12
12
  from reflex.components.core.breakpoints import Breakpoints
@@ -48,9 +48,8 @@ class MarkdownComponentMap:
48
48
  def get_fn_body(cls) -> Var: ...
49
49
 
50
50
  class Markdown(Component):
51
- @overload
52
51
  @classmethod
53
- def create( # type: ignore
52
+ def create(
54
53
  cls,
55
54
  *children,
56
55
  component_map: dict[str, Any] | None = None,
@@ -30,7 +30,7 @@ class Moment(NoSSRComponent):
30
30
  tag: str | None = "Moment"
31
31
  is_default = True
32
32
  library: str | None = "react-moment@1.1.3"
33
- lib_dependencies: list[str] = ["moment"]
33
+ lib_dependencies: list[str] = ["moment@2.30.1"]
34
34
 
35
35
  # How often the date update (how often time update / 0 to disable).
36
36
  interval: Var[int]
@@ -6,7 +6,7 @@
6
6
  import dataclasses
7
7
  from collections.abc import Mapping, Sequence
8
8
  from datetime import date, datetime, time, timedelta
9
- from typing import Any, overload
9
+ from typing import Any
10
10
 
11
11
  from reflex.components.component import NoSSRComponent
12
12
  from reflex.components.core.breakpoints import Breakpoints
@@ -28,9 +28,8 @@ class MomentDelta:
28
28
 
29
29
  class Moment(NoSSRComponent):
30
30
  def add_imports(self) -> ImportDict: ...
31
- @overload
32
31
  @classmethod
33
- def create( # type: ignore
32
+ def create(
34
33
  cls,
35
34
  *children,
36
35
  interval: Var[int] | int | None = None,
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Any, TypedDict, TypeVar
5
+ from typing import TYPE_CHECKING, Any, TypedDict, TypeVar
6
6
 
7
7
  from reflex.components.component import Component, NoSSRComponent
8
8
  from reflex.components.core.cond import color_mode_cond
@@ -17,8 +17,9 @@ try:
17
17
 
18
18
  except ImportError:
19
19
  console.warn("Plotly is not installed. Please run `pip install plotly`.")
20
- Figure = Any
21
- Template = Any
20
+ if not TYPE_CHECKING:
21
+ Figure = Any
22
+ Template = Any
22
23
 
23
24
 
24
25
  def _event_points_data_signature(e0: Var) -> tuple[Var[list[Point]]]:
@@ -78,13 +79,13 @@ class Plotly(NoSSRComponent):
78
79
  is_default = True
79
80
 
80
81
  # The figure to display. This can be a plotly figure or a plotly data json.
81
- data: Var[Figure] # pyright: ignore [reportInvalidTypeForm]
82
+ data: Var[Figure]
82
83
 
83
84
  # The layout of the graph.
84
85
  layout: Var[dict]
85
86
 
86
87
  # The template for visual appearance of the graph.
87
- template: Var[Template] # pyright: ignore [reportInvalidTypeForm]
88
+ template: Var[Template]
88
89
 
89
90
  # The config of the graph.
90
91
  config: Var[dict]
@@ -213,6 +214,7 @@ const extractPoints = (points) => {
213
214
  Returns:
214
215
  The Plotly component.
215
216
  """
217
+ from plotly.graph_objs.layout import Template
216
218
  from plotly.io import templates
217
219
 
218
220
  responsive_template = color_mode_cond(
@@ -277,8 +279,12 @@ def dynamic_plotly_import(name: str, package: str) -> str:
277
279
  Returns:
278
280
  The dynamic import for the plotly component.
279
281
  """
282
+ library_import = f"import('{package}')"
283
+ mod_import = ".then((mod) => ({ default: createPlotlyComponent(mod) }))"
280
284
  return f"""
281
- const {name} = dynamic(() => import('{package}').then(mod => createPlotlyComponent(mod)), {{ssr: false}})
285
+ const {name} = ClientSide(lazy(() =>
286
+ {library_import}{mod_import}
287
+ ))
282
288
  """
283
289
 
284
290
 
@@ -4,7 +4,7 @@
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, TypedDict, TypeVar, overload
7
+ from typing import TYPE_CHECKING, Any, TypedDict, TypeVar
8
8
 
9
9
  from reflex.components.component import NoSSRComponent
10
10
  from reflex.components.core.breakpoints import Breakpoints
@@ -18,8 +18,9 @@ try:
18
18
  from plotly.graph_objs.layout import Template
19
19
  except ImportError:
20
20
  console.warn("Plotly is not installed. Please run `pip install plotly`.")
21
- Figure = Any
22
- Template = Any
21
+ if not TYPE_CHECKING:
22
+ Figure = Any
23
+ Template = Any
23
24
  T = TypeVar("T")
24
25
  ItemOrList = T | list[T]
25
26
 
@@ -48,14 +49,13 @@ class Point(TypedDict):
48
49
  class Plotly(NoSSRComponent):
49
50
  def add_imports(self) -> dict[str, str]: ...
50
51
  def add_custom_code(self) -> list[str]: ...
51
- @overload
52
52
  @classmethod
53
- def create( # type: ignore
53
+ def create(
54
54
  cls,
55
55
  *children,
56
- data: Figure | Var[Figure] | None = None, # type: ignore
56
+ data: Figure | Var[Figure] | None = None,
57
57
  layout: Var[dict] | dict | None = None,
58
- template: Template | Var[Template] | None = None, # type: ignore
58
+ template: Template | Var[Template] | None = None,
59
59
  config: Var[dict] | dict | None = None,
60
60
  use_resize_handler: Var[bool] | bool | None = None,
61
61
  style: Sequence[Mapping[str, Any]]
@@ -153,14 +153,13 @@ def dynamic_plotly_import(name: str, package: str) -> str: ...
153
153
 
154
154
  class PlotlyBasic(Plotly):
155
155
  def add_imports(self) -> ImportDict | list[ImportDict]: ...
156
- @overload
157
156
  @classmethod
158
- def create( # type: ignore
157
+ def create(
159
158
  cls,
160
159
  *children,
161
- data: Figure | Var[Figure] | None = None, # type: ignore
160
+ data: Figure | Var[Figure] | None = None,
162
161
  layout: Var[dict] | dict | None = None,
163
- template: Template | Var[Template] | None = None, # type: ignore
162
+ template: Template | Var[Template] | None = None,
164
163
  config: Var[dict] | dict | None = None,
165
164
  use_resize_handler: Var[bool] | bool | None = None,
166
165
  style: Sequence[Mapping[str, Any]]
@@ -254,14 +253,13 @@ class PlotlyBasic(Plotly):
254
253
 
255
254
  class PlotlyCartesian(Plotly):
256
255
  def add_imports(self) -> ImportDict | list[ImportDict]: ...
257
- @overload
258
256
  @classmethod
259
- def create( # type: ignore
257
+ def create(
260
258
  cls,
261
259
  *children,
262
- data: Figure | Var[Figure] | None = None, # type: ignore
260
+ data: Figure | Var[Figure] | None = None,
263
261
  layout: Var[dict] | dict | None = None,
264
- template: Template | Var[Template] | None = None, # type: ignore
262
+ template: Template | Var[Template] | None = None,
265
263
  config: Var[dict] | dict | None = None,
266
264
  use_resize_handler: Var[bool] | bool | None = None,
267
265
  style: Sequence[Mapping[str, Any]]
@@ -355,14 +353,13 @@ class PlotlyCartesian(Plotly):
355
353
 
356
354
  class PlotlyGeo(Plotly):
357
355
  def add_imports(self) -> ImportDict | list[ImportDict]: ...
358
- @overload
359
356
  @classmethod
360
- def create( # type: ignore
357
+ def create(
361
358
  cls,
362
359
  *children,
363
- data: Figure | Var[Figure] | None = None, # type: ignore
360
+ data: Figure | Var[Figure] | None = None,
364
361
  layout: Var[dict] | dict | None = None,
365
- template: Template | Var[Template] | None = None, # type: ignore
362
+ template: Template | Var[Template] | None = None,
366
363
  config: Var[dict] | dict | None = None,
367
364
  use_resize_handler: Var[bool] | bool | None = None,
368
365
  style: Sequence[Mapping[str, Any]]
@@ -456,14 +453,13 @@ class PlotlyGeo(Plotly):
456
453
 
457
454
  class PlotlyGl3d(Plotly):
458
455
  def add_imports(self) -> ImportDict | list[ImportDict]: ...
459
- @overload
460
456
  @classmethod
461
- def create( # type: ignore
457
+ def create(
462
458
  cls,
463
459
  *children,
464
- data: Figure | Var[Figure] | None = None, # type: ignore
460
+ data: Figure | Var[Figure] | None = None,
465
461
  layout: Var[dict] | dict | None = None,
466
- template: Template | Var[Template] | None = None, # type: ignore
462
+ template: Template | Var[Template] | None = None,
467
463
  config: Var[dict] | dict | None = None,
468
464
  use_resize_handler: Var[bool] | bool | None = None,
469
465
  style: Sequence[Mapping[str, Any]]
@@ -557,14 +553,13 @@ class PlotlyGl3d(Plotly):
557
553
 
558
554
  class PlotlyGl2d(Plotly):
559
555
  def add_imports(self) -> ImportDict | list[ImportDict]: ...
560
- @overload
561
556
  @classmethod
562
- def create( # type: ignore
557
+ def create(
563
558
  cls,
564
559
  *children,
565
- data: Figure | Var[Figure] | None = None, # type: ignore
560
+ data: Figure | Var[Figure] | None = None,
566
561
  layout: Var[dict] | dict | None = None,
567
- template: Template | Var[Template] | None = None, # type: ignore
562
+ template: Template | Var[Template] | None = None,
568
563
  config: Var[dict] | dict | None = None,
569
564
  use_resize_handler: Var[bool] | bool | None = None,
570
565
  style: Sequence[Mapping[str, Any]]
@@ -658,14 +653,13 @@ class PlotlyGl2d(Plotly):
658
653
 
659
654
  class PlotlyMapbox(Plotly):
660
655
  def add_imports(self) -> ImportDict | list[ImportDict]: ...
661
- @overload
662
656
  @classmethod
663
- def create( # type: ignore
657
+ def create(
664
658
  cls,
665
659
  *children,
666
- data: Figure | Var[Figure] | None = None, # type: ignore
660
+ data: Figure | Var[Figure] | None = None,
667
661
  layout: Var[dict] | dict | None = None,
668
- template: Template | Var[Template] | None = None, # type: ignore
662
+ template: Template | Var[Template] | None = None,
669
663
  config: Var[dict] | dict | None = None,
670
664
  use_resize_handler: Var[bool] | bool | None = None,
671
665
  style: Sequence[Mapping[str, Any]]
@@ -759,14 +753,13 @@ class PlotlyMapbox(Plotly):
759
753
 
760
754
  class PlotlyFinance(Plotly):
761
755
  def add_imports(self) -> ImportDict | list[ImportDict]: ...
762
- @overload
763
756
  @classmethod
764
- def create( # type: ignore
757
+ def create(
765
758
  cls,
766
759
  *children,
767
- data: Figure | Var[Figure] | None = None, # type: ignore
760
+ data: Figure | Var[Figure] | None = None,
768
761
  layout: Var[dict] | dict | None = None,
769
- template: Template | Var[Template] | None = None, # type: ignore
762
+ template: Template | Var[Template] | None = None,
770
763
  config: Var[dict] | dict | None = None,
771
764
  use_resize_handler: Var[bool] | bool | None = None,
772
765
  style: Sequence[Mapping[str, Any]]
@@ -860,14 +853,13 @@ class PlotlyFinance(Plotly):
860
853
 
861
854
  class PlotlyStrict(Plotly):
862
855
  def add_imports(self) -> ImportDict | list[ImportDict]: ...
863
- @overload
864
856
  @classmethod
865
- def create( # type: ignore
857
+ def create(
866
858
  cls,
867
859
  *children,
868
- data: Figure | Var[Figure] | None = None, # type: ignore
860
+ data: Figure | Var[Figure] | None = None,
869
861
  layout: Var[dict] | dict | None = None,
870
- template: Template | Var[Template] | None = None, # type: ignore
862
+ template: Template | Var[Template] | None = None,
871
863
  config: Var[dict] | dict | None = None,
872
864
  use_resize_handler: Var[bool] | bool | None = None,
873
865
  style: Sequence[Mapping[str, Any]]