reflex 0.7.1a4__py3-none-any.whl → 0.7.2a1__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 (226) hide show
  1. reflex/.templates/jinja/web/utils/context.js.jinja2 +8 -8
  2. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +3 -3
  3. reflex/admin.py +1 -2
  4. reflex/app.py +46 -49
  5. reflex/app_mixins/lifespan.py +2 -2
  6. reflex/app_mixins/middleware.py +1 -2
  7. reflex/assets.py +1 -2
  8. reflex/base.py +2 -2
  9. reflex/compiler/compiler.py +51 -16
  10. reflex/compiler/utils.py +4 -13
  11. reflex/components/base/app_wrap.pyi +7 -7
  12. reflex/components/base/bare.py +3 -3
  13. reflex/components/base/body.pyi +7 -7
  14. reflex/components/base/document.py +1 -3
  15. reflex/components/base/document.pyi +32 -32
  16. reflex/components/base/error_boundary.py +2 -4
  17. reflex/components/base/error_boundary.pyi +11 -13
  18. reflex/components/base/fragment.pyi +7 -7
  19. reflex/components/base/head.pyi +13 -13
  20. reflex/components/base/link.pyi +22 -22
  21. reflex/components/base/meta.py +5 -7
  22. reflex/components/base/meta.pyi +40 -40
  23. reflex/components/base/script.pyi +11 -14
  24. reflex/components/base/strict_mode.pyi +7 -7
  25. reflex/components/component.py +188 -113
  26. reflex/components/core/auto_scroll.py +8 -1
  27. reflex/components/core/auto_scroll.pyi +183 -210
  28. reflex/components/core/banner.py +2 -4
  29. reflex/components/core/banner.pyi +390 -444
  30. reflex/components/core/breakpoints.py +5 -5
  31. reflex/components/core/client_side_routing.pyi +14 -14
  32. reflex/components/core/clipboard.py +4 -4
  33. reflex/components/core/clipboard.pyi +12 -14
  34. reflex/components/core/cond.py +17 -25
  35. reflex/components/core/debounce.py +3 -3
  36. reflex/components/core/debounce.pyi +14 -14
  37. reflex/components/core/foreach.py +7 -2
  38. reflex/components/core/html.py +1 -3
  39. reflex/components/core/html.pyi +184 -213
  40. reflex/components/core/match.py +15 -19
  41. reflex/components/core/sticky.pyi +930 -1078
  42. reflex/components/core/upload.py +4 -4
  43. reflex/components/core/upload.pyi +62 -62
  44. reflex/components/datadisplay/code.py +6 -6
  45. reflex/components/datadisplay/code.pyi +1159 -1165
  46. reflex/components/datadisplay/dataeditor.py +49 -49
  47. reflex/components/datadisplay/dataeditor.pyi +95 -123
  48. reflex/components/datadisplay/logo.py +1 -3
  49. reflex/components/datadisplay/shiki_code_block.py +8 -10
  50. reflex/components/datadisplay/shiki_code_block.pyi +1678 -1720
  51. reflex/components/el/element.pyi +7 -7
  52. reflex/components/el/elements/base.pyi +183 -210
  53. reflex/components/el/elements/forms.py +23 -23
  54. reflex/components/el/elements/forms.pyi +2571 -2933
  55. reflex/components/el/elements/inline.py +4 -4
  56. reflex/components/el/elements/inline.pyi +5191 -5953
  57. reflex/components/el/elements/media.py +47 -47
  58. reflex/components/el/elements/media.pyi +4802 -5500
  59. reflex/components/el/elements/metadata.py +1 -3
  60. reflex/components/el/elements/metadata.pyi +782 -896
  61. reflex/components/el/elements/other.pyi +1278 -1467
  62. reflex/components/el/elements/scripts.pyi +580 -667
  63. reflex/components/el/elements/sectioning.pyi +2761 -3166
  64. reflex/components/el/elements/tables.pyi +1840 -2119
  65. reflex/components/el/elements/typography.pyi +2772 -3179
  66. reflex/components/gridjs/datatable.py +7 -7
  67. reflex/components/gridjs/datatable.pyi +19 -19
  68. reflex/components/lucide/icon.pyi +21 -21
  69. reflex/components/markdown/markdown.py +2 -2
  70. reflex/components/markdown/markdown.pyi +9 -9
  71. reflex/components/moment/moment.py +11 -12
  72. reflex/components/moment/moment.pyi +44 -47
  73. reflex/components/next/base.pyi +7 -7
  74. reflex/components/next/image.py +3 -3
  75. reflex/components/next/image.pyi +19 -21
  76. reflex/components/next/link.pyi +9 -9
  77. reflex/components/next/video.py +1 -3
  78. reflex/components/next/video.pyi +9 -9
  79. reflex/components/plotly/plotly.py +22 -45
  80. reflex/components/plotly/plotly.pyi +164 -164
  81. reflex/components/radix/primitives/accordion.py +14 -14
  82. reflex/components/radix/primitives/accordion.pyi +439 -487
  83. reflex/components/radix/primitives/base.py +1 -3
  84. reflex/components/radix/primitives/base.pyi +15 -15
  85. reflex/components/radix/primitives/drawer.py +3 -3
  86. reflex/components/radix/primitives/drawer.pyi +110 -116
  87. reflex/components/radix/primitives/form.py +1 -1
  88. reflex/components/radix/primitives/form.pyi +668 -752
  89. reflex/components/radix/primitives/progress.py +6 -6
  90. reflex/components/radix/primitives/progress.pyi +225 -243
  91. reflex/components/radix/primitives/slider.py +6 -6
  92. reflex/components/radix/primitives/slider.pyi +52 -55
  93. reflex/components/radix/themes/base.py +3 -6
  94. reflex/components/radix/themes/base.pyi +197 -303
  95. reflex/components/radix/themes/color_mode.py +5 -5
  96. reflex/components/radix/themes/color_mode.pyi +366 -436
  97. reflex/components/radix/themes/components/alert_dialog.pyi +229 -262
  98. reflex/components/radix/themes/components/aspect_ratio.py +1 -3
  99. reflex/components/radix/themes/components/aspect_ratio.pyi +8 -8
  100. reflex/components/radix/themes/components/avatar.pyi +79 -94
  101. reflex/components/radix/themes/components/badge.pyi +252 -295
  102. reflex/components/radix/themes/components/button.pyi +269 -314
  103. reflex/components/radix/themes/components/callout.py +2 -2
  104. reflex/components/radix/themes/components/callout.pyi +1116 -1290
  105. reflex/components/radix/themes/components/card.pyi +194 -229
  106. reflex/components/radix/themes/components/checkbox.pyi +243 -278
  107. reflex/components/radix/themes/components/checkbox_cards.py +3 -7
  108. reflex/components/radix/themes/components/checkbox_cards.pyi +101 -135
  109. reflex/components/radix/themes/components/checkbox_group.py +2 -2
  110. reflex/components/radix/themes/components/checkbox_group.pyi +83 -96
  111. reflex/components/radix/themes/components/context_menu.py +18 -15
  112. reflex/components/radix/themes/components/context_menu.pyi +408 -458
  113. reflex/components/radix/themes/components/data_list.pyi +122 -147
  114. reflex/components/radix/themes/components/dialog.pyi +231 -264
  115. reflex/components/radix/themes/components/dropdown_menu.py +16 -13
  116. reflex/components/radix/themes/components/dropdown_menu.pyi +223 -246
  117. reflex/components/radix/themes/components/hover_card.py +2 -2
  118. reflex/components/radix/themes/components/hover_card.pyi +237 -282
  119. reflex/components/radix/themes/components/icon_button.pyi +269 -314
  120. reflex/components/radix/themes/components/inset.py +8 -8
  121. reflex/components/radix/themes/components/inset.pyi +232 -292
  122. reflex/components/radix/themes/components/popover.py +2 -2
  123. reflex/components/radix/themes/components/popover.pyi +229 -271
  124. reflex/components/radix/themes/components/progress.pyi +80 -96
  125. reflex/components/radix/themes/components/radio.pyi +73 -86
  126. reflex/components/radix/themes/components/radio_cards.py +4 -8
  127. reflex/components/radix/themes/components/radio_cards.pyi +117 -154
  128. reflex/components/radix/themes/components/radio_group.py +3 -3
  129. reflex/components/radix/themes/components/radio_group.pyi +250 -291
  130. reflex/components/radix/themes/components/scroll_area.pyi +14 -20
  131. reflex/components/radix/themes/components/segmented_control.py +6 -6
  132. reflex/components/radix/themes/components/segmented_control.pyi +89 -108
  133. reflex/components/radix/themes/components/select.py +7 -7
  134. reflex/components/radix/themes/components/select.pyi +376 -444
  135. reflex/components/radix/themes/components/separator.pyi +79 -93
  136. reflex/components/radix/themes/components/skeleton.pyi +32 -26
  137. reflex/components/radix/themes/components/slider.py +8 -8
  138. reflex/components/radix/themes/components/slider.pyi +99 -122
  139. reflex/components/radix/themes/components/spinner.pyi +12 -19
  140. reflex/components/radix/themes/components/switch.pyi +84 -99
  141. reflex/components/radix/themes/components/table.py +9 -9
  142. reflex/components/radix/themes/components/table.pyi +1440 -1794
  143. reflex/components/radix/themes/components/tabs.py +4 -4
  144. reflex/components/radix/themes/components/tabs.pyi +120 -132
  145. reflex/components/radix/themes/components/text_area.pyi +281 -331
  146. reflex/components/radix/themes/components/text_field.py +2 -2
  147. reflex/components/radix/themes/components/text_field.pyi +639 -734
  148. reflex/components/radix/themes/components/tooltip.py +6 -6
  149. reflex/components/radix/themes/components/tooltip.pyi +34 -43
  150. reflex/components/radix/themes/layout/base.pyi +85 -182
  151. reflex/components/radix/themes/layout/box.pyi +183 -210
  152. reflex/components/radix/themes/layout/center.pyi +225 -286
  153. reflex/components/radix/themes/layout/container.pyi +191 -224
  154. reflex/components/radix/themes/layout/flex.py +2 -2
  155. reflex/components/radix/themes/layout/flex.pyi +225 -286
  156. reflex/components/radix/themes/layout/grid.py +2 -2
  157. reflex/components/radix/themes/layout/grid.pyi +245 -315
  158. reflex/components/radix/themes/layout/list.py +2 -2
  159. reflex/components/radix/themes/layout/list.pyi +712 -815
  160. reflex/components/radix/themes/layout/section.pyi +187 -221
  161. reflex/components/radix/themes/layout/spacer.pyi +225 -286
  162. reflex/components/radix/themes/layout/stack.pyi +625 -768
  163. reflex/components/radix/themes/typography/blockquote.pyi +257 -299
  164. reflex/components/radix/themes/typography/code.pyi +259 -304
  165. reflex/components/radix/themes/typography/heading.pyi +272 -324
  166. reflex/components/radix/themes/typography/link.pyi +302 -358
  167. reflex/components/radix/themes/typography/text.pyi +1669 -1945
  168. reflex/components/react_player/audio.pyi +20 -22
  169. reflex/components/react_player/react_player.pyi +19 -19
  170. reflex/components/react_player/video.pyi +20 -22
  171. reflex/components/recharts/cartesian.py +100 -97
  172. reflex/components/recharts/cartesian.pyi +891 -1007
  173. reflex/components/recharts/charts.py +42 -42
  174. reflex/components/recharts/charts.pyi +212 -249
  175. reflex/components/recharts/general.py +22 -21
  176. reflex/components/recharts/general.pyi +198 -223
  177. reflex/components/recharts/polar.py +42 -45
  178. reflex/components/recharts/polar.pyi +254 -288
  179. reflex/components/recharts/recharts.pyi +13 -13
  180. reflex/components/sonner/toast.py +20 -20
  181. reflex/components/sonner/toast.pyi +58 -61
  182. reflex/components/suneditor/editor.py +9 -9
  183. reflex/components/suneditor/editor.pyi +78 -83
  184. reflex/components/tags/cond_tag.py +2 -2
  185. reflex/components/tags/iter_tag.py +10 -14
  186. reflex/components/tags/match_tag.py +2 -2
  187. reflex/components/tags/tag.py +10 -10
  188. reflex/config.py +36 -35
  189. reflex/constants/__init__.py +56 -53
  190. reflex/custom_components/custom_components.py +6 -7
  191. reflex/event.py +38 -42
  192. reflex/experimental/client_state.py +2 -4
  193. reflex/experimental/layout.py +2 -2
  194. reflex/experimental/layout.pyi +579 -663
  195. reflex/istate/data.py +4 -5
  196. reflex/middleware/hydrate_middleware.py +2 -2
  197. reflex/middleware/middleware.py +2 -2
  198. reflex/model.py +3 -5
  199. reflex/page.py +2 -2
  200. reflex/reflex.py +9 -10
  201. reflex/state.py +77 -49
  202. reflex/style.py +9 -3
  203. reflex/testing.py +21 -24
  204. reflex/utils/console.py +1 -1
  205. reflex/utils/decorator.py +26 -1
  206. reflex/utils/exec.py +6 -11
  207. reflex/utils/export.py +2 -3
  208. reflex/utils/format.py +4 -4
  209. reflex/utils/imports.py +12 -12
  210. reflex/utils/prerequisites.py +35 -84
  211. reflex/utils/processes.py +5 -5
  212. reflex/utils/pyi_generator.py +33 -22
  213. reflex/utils/serializers.py +60 -15
  214. reflex/utils/types.py +237 -56
  215. reflex/vars/base.py +122 -72
  216. reflex/vars/datetime.py +2 -2
  217. reflex/vars/function.py +52 -55
  218. reflex/vars/number.py +59 -5
  219. reflex/vars/object.py +57 -26
  220. reflex/vars/sequence.py +983 -958
  221. {reflex-0.7.1a4.dist-info → reflex-0.7.2a1.dist-info}/METADATA +3 -6
  222. reflex-0.7.2a1.dist-info/RECORD +405 -0
  223. {reflex-0.7.1a4.dist-info → reflex-0.7.2a1.dist-info}/WHEEL +1 -1
  224. reflex-0.7.1a4.dist-info/RECORD +0 -405
  225. {reflex-0.7.1a4.dist-info → reflex-0.7.2a1.dist-info}/LICENSE +0 -0
  226. {reflex-0.7.1a4.dist-info → reflex-0.7.2a1.dist-info}/entry_points.txt +0 -0
@@ -3,7 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from types import SimpleNamespace
6
- from typing import List, Literal, Tuple, Union
6
+ from typing import ClassVar, Literal, Sequence
7
7
 
8
8
  from reflex.components.core.breakpoints import Responsive
9
9
  from reflex.event import EventHandler
@@ -13,8 +13,8 @@ from ..base import LiteralAccentColor, RadixThemesComponent
13
13
 
14
14
 
15
15
  def on_value_change(
16
- value: Var[Union[str, List[str]]],
17
- ) -> Tuple[Var[Union[str, List[str]]]]:
16
+ value: Var[str | list[str]],
17
+ ) -> tuple[Var[str | list[str]]]:
18
18
  """Handle the on_value_change event.
19
19
 
20
20
  Args:
@@ -47,10 +47,10 @@ class SegmentedControlRoot(RadixThemesComponent):
47
47
  radius: Var[Literal["none", "small", "medium", "large", "full"]]
48
48
 
49
49
  # The default value of the segmented control.
50
- default_value: Var[Union[str, List[str]]]
50
+ default_value: Var[str | Sequence[str]]
51
51
 
52
52
  # The current value of the segmented control.
53
- value: Var[Union[str, List[str]]]
53
+ value: Var[str | Sequence[str]]
54
54
 
55
55
  # Handles the `onChange` event for the SegmentedControl component.
56
56
  on_change: EventHandler[on_value_change]
@@ -66,7 +66,7 @@ class SegmentedControlItem(RadixThemesComponent):
66
66
  # The value of the item.
67
67
  value: Var[str]
68
68
 
69
- _valid_parents: List[str] = ["SegmentedControlRoot"]
69
+ _valid_parents: ClassVar[list[str]] = ["SegmentedControlRoot"]
70
70
 
71
71
 
72
72
  class SegmentedControl(SimpleNamespace):
@@ -4,7 +4,7 @@
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
6
  from types import SimpleNamespace
7
- from typing import Any, Dict, List, Literal, Optional, Tuple, Union, overload
7
+ from typing import Any, Literal, Optional, Sequence, overload
8
8
 
9
9
  from reflex.components.core.breakpoints import Breakpoints
10
10
  from reflex.event import EventType
@@ -13,9 +13,7 @@ from reflex.vars.base import Var
13
13
 
14
14
  from ..base import RadixThemesComponent
15
15
 
16
- def on_value_change(
17
- value: Var[Union[str, List[str]]],
18
- ) -> Tuple[Var[Union[str, List[str]]]]: ...
16
+ def on_value_change(value: Var[str | list[str]]) -> tuple[Var[str | list[str]]]: ...
19
17
 
20
18
  class SegmentedControlRoot(RadixThemesComponent):
21
19
  @overload
@@ -23,105 +21,88 @@ class SegmentedControlRoot(RadixThemesComponent):
23
21
  def create( # type: ignore
24
22
  cls,
25
23
  *children,
26
- size: Optional[
27
- Union[
28
- Breakpoints[str, Literal["1", "2", "3"]],
29
- Literal["1", "2", "3"],
30
- Var[
31
- Union[
32
- Breakpoints[str, Literal["1", "2", "3"]], Literal["1", "2", "3"]
33
- ]
34
- ],
24
+ size: Breakpoints[str, Literal["1", "2", "3"]]
25
+ | Literal["1", "2", "3"]
26
+ | Var[Breakpoints[str, Literal["1", "2", "3"]] | Literal["1", "2", "3"]]
27
+ | None = None,
28
+ variant: Literal["classic", "surface"]
29
+ | Var[Literal["classic", "surface"]]
30
+ | None = None,
31
+ type: Literal["multiple", "single"]
32
+ | Var[Literal["multiple", "single"]]
33
+ | None = None,
34
+ color_scheme: Literal[
35
+ "amber",
36
+ "blue",
37
+ "bronze",
38
+ "brown",
39
+ "crimson",
40
+ "cyan",
41
+ "gold",
42
+ "grass",
43
+ "gray",
44
+ "green",
45
+ "indigo",
46
+ "iris",
47
+ "jade",
48
+ "lime",
49
+ "mint",
50
+ "orange",
51
+ "pink",
52
+ "plum",
53
+ "purple",
54
+ "red",
55
+ "ruby",
56
+ "sky",
57
+ "teal",
58
+ "tomato",
59
+ "violet",
60
+ "yellow",
61
+ ]
62
+ | Var[
63
+ Literal[
64
+ "amber",
65
+ "blue",
66
+ "bronze",
67
+ "brown",
68
+ "crimson",
69
+ "cyan",
70
+ "gold",
71
+ "grass",
72
+ "gray",
73
+ "green",
74
+ "indigo",
75
+ "iris",
76
+ "jade",
77
+ "lime",
78
+ "mint",
79
+ "orange",
80
+ "pink",
81
+ "plum",
82
+ "purple",
83
+ "red",
84
+ "ruby",
85
+ "sky",
86
+ "teal",
87
+ "tomato",
88
+ "violet",
89
+ "yellow",
35
90
  ]
36
- ] = None,
37
- variant: Optional[
38
- Union[Literal["classic", "surface"], Var[Literal["classic", "surface"]]]
39
- ] = None,
40
- type: Optional[
41
- Union[Literal["multiple", "single"], Var[Literal["multiple", "single"]]]
42
- ] = None,
43
- color_scheme: Optional[
44
- Union[
45
- Literal[
46
- "amber",
47
- "blue",
48
- "bronze",
49
- "brown",
50
- "crimson",
51
- "cyan",
52
- "gold",
53
- "grass",
54
- "gray",
55
- "green",
56
- "indigo",
57
- "iris",
58
- "jade",
59
- "lime",
60
- "mint",
61
- "orange",
62
- "pink",
63
- "plum",
64
- "purple",
65
- "red",
66
- "ruby",
67
- "sky",
68
- "teal",
69
- "tomato",
70
- "violet",
71
- "yellow",
72
- ],
73
- Var[
74
- Literal[
75
- "amber",
76
- "blue",
77
- "bronze",
78
- "brown",
79
- "crimson",
80
- "cyan",
81
- "gold",
82
- "grass",
83
- "gray",
84
- "green",
85
- "indigo",
86
- "iris",
87
- "jade",
88
- "lime",
89
- "mint",
90
- "orange",
91
- "pink",
92
- "plum",
93
- "purple",
94
- "red",
95
- "ruby",
96
- "sky",
97
- "teal",
98
- "tomato",
99
- "violet",
100
- "yellow",
101
- ]
102
- ],
103
- ]
104
- ] = None,
105
- radius: Optional[
106
- Union[
107
- Literal["full", "large", "medium", "none", "small"],
108
- Var[Literal["full", "large", "medium", "none", "small"]],
109
- ]
110
- ] = None,
111
- default_value: Optional[
112
- Union[List[str], Var[Union[List[str], str]], str]
113
- ] = None,
114
- value: Optional[Union[List[str], Var[Union[List[str], str]], str]] = None,
115
- style: Optional[Style] = None,
116
- key: Optional[Any] = None,
117
- id: Optional[Any] = None,
118
- class_name: Optional[Any] = None,
119
- autofocus: Optional[bool] = None,
120
- custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
91
+ ]
92
+ | None = None,
93
+ radius: Literal["full", "large", "medium", "none", "small"]
94
+ | Var[Literal["full", "large", "medium", "none", "small"]]
95
+ | None = None,
96
+ default_value: Sequence[str] | Var[Sequence[str] | str] | str | None = None,
97
+ value: Sequence[str] | Var[Sequence[str] | str] | str | None = None,
98
+ style: Style | None = None,
99
+ key: Any | None = None,
100
+ id: Any | None = None,
101
+ class_name: Any | None = None,
102
+ autofocus: bool | None = None,
103
+ custom_attrs: dict[str, Var | Any] | None = None,
121
104
  on_blur: Optional[EventType[()]] = None,
122
- on_change: Optional[
123
- Union[EventType[()], EventType[Union[str, List[str]]]]
124
- ] = None,
105
+ on_change: Optional[EventType[()] | EventType[str | list[str]]] = None,
125
106
  on_click: Optional[EventType[()]] = None,
126
107
  on_context_menu: Optional[EventType[()]] = None,
127
108
  on_double_click: Optional[EventType[()]] = None,
@@ -172,13 +153,13 @@ class SegmentedControlItem(RadixThemesComponent):
172
153
  def create( # type: ignore
173
154
  cls,
174
155
  *children,
175
- value: Optional[Union[Var[str], str]] = None,
176
- style: Optional[Style] = None,
177
- key: Optional[Any] = None,
178
- id: Optional[Any] = None,
179
- class_name: Optional[Any] = None,
180
- autofocus: Optional[bool] = None,
181
- custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
156
+ value: Var[str] | str | None = None,
157
+ style: Style | None = None,
158
+ key: Any | None = None,
159
+ id: Any | None = None,
160
+ class_name: Any | None = None,
161
+ autofocus: bool | None = None,
162
+ custom_attrs: dict[str, Var | Any] | None = None,
182
163
  on_blur: Optional[EventType[()]] = None,
183
164
  on_click: Optional[EventType[()]] = None,
184
165
  on_context_menu: Optional[EventType[()]] = None,
@@ -1,6 +1,6 @@
1
1
  """Interactive components provided by @radix-ui/themes."""
2
2
 
3
- from typing import List, Literal, Union
3
+ from typing import ClassVar, Literal, Sequence
4
4
 
5
5
  import reflex as rx
6
6
  from reflex.components.component import Component, ComponentNamespace
@@ -68,7 +68,7 @@ class SelectTrigger(RadixThemesComponent):
68
68
  # The placeholder of the select trigger
69
69
  placeholder: Var[str]
70
70
 
71
- _valid_parents: List[str] = ["SelectRoot"]
71
+ _valid_parents: ClassVar[list[str]] = ["SelectRoot"]
72
72
 
73
73
  _memoization_mode = MemoizationMode(recursive=False)
74
74
 
@@ -117,7 +117,7 @@ class SelectGroup(RadixThemesComponent):
117
117
 
118
118
  tag = "Select.Group"
119
119
 
120
- _valid_parents: List[str] = ["SelectContent"]
120
+ _valid_parents: ClassVar[list[str]] = ["SelectContent"]
121
121
 
122
122
 
123
123
  class SelectItem(RadixThemesComponent):
@@ -131,7 +131,7 @@ class SelectItem(RadixThemesComponent):
131
131
  # Whether the select item is disabled
132
132
  disabled: Var[bool]
133
133
 
134
- _valid_parents: List[str] = ["SelectGroup", "SelectContent"]
134
+ _valid_parents: ClassVar[list[str]] = ["SelectGroup", "SelectContent"]
135
135
 
136
136
 
137
137
  class SelectLabel(RadixThemesComponent):
@@ -139,7 +139,7 @@ class SelectLabel(RadixThemesComponent):
139
139
 
140
140
  tag = "Select.Label"
141
141
 
142
- _valid_parents: List[str] = ["SelectGroup"]
142
+ _valid_parents: ClassVar[list[str]] = ["SelectGroup"]
143
143
 
144
144
 
145
145
  class SelectSeparator(RadixThemesComponent):
@@ -152,7 +152,7 @@ class HighLevelSelect(SelectRoot):
152
152
  """High level wrapper for the Select component."""
153
153
 
154
154
  # The items of the select.
155
- items: Var[List[str]]
155
+ items: Var[Sequence[str]]
156
156
 
157
157
  # The placeholder of the select.
158
158
  placeholder: Var[str]
@@ -179,7 +179,7 @@ class HighLevelSelect(SelectRoot):
179
179
  position: Var[Literal["item-aligned", "popper"]]
180
180
 
181
181
  @classmethod
182
- def create(cls, items: Union[List[str], Var[List[str]]], **props) -> Component:
182
+ def create(cls, items: list[str] | Var[list[str]], **props) -> Component:
183
183
  """Create a select component.
184
184
 
185
185
  Args: