reflex 0.7.1a4__py3-none-any.whl → 0.7.2__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 (227) 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/.templates/web/utils/state.js +18 -18
  4. reflex/admin.py +1 -2
  5. reflex/app.py +46 -49
  6. reflex/app_mixins/lifespan.py +2 -2
  7. reflex/app_mixins/middleware.py +1 -2
  8. reflex/assets.py +1 -2
  9. reflex/base.py +2 -2
  10. reflex/compiler/compiler.py +51 -16
  11. reflex/compiler/utils.py +4 -13
  12. reflex/components/base/app_wrap.pyi +7 -7
  13. reflex/components/base/bare.py +3 -3
  14. reflex/components/base/body.pyi +7 -7
  15. reflex/components/base/document.py +1 -3
  16. reflex/components/base/document.pyi +32 -32
  17. reflex/components/base/error_boundary.py +2 -4
  18. reflex/components/base/error_boundary.pyi +11 -13
  19. reflex/components/base/fragment.pyi +7 -7
  20. reflex/components/base/head.pyi +13 -13
  21. reflex/components/base/link.pyi +22 -22
  22. reflex/components/base/meta.py +5 -7
  23. reflex/components/base/meta.pyi +40 -40
  24. reflex/components/base/script.pyi +11 -14
  25. reflex/components/base/strict_mode.pyi +7 -7
  26. reflex/components/component.py +188 -113
  27. reflex/components/core/auto_scroll.py +8 -1
  28. reflex/components/core/auto_scroll.pyi +183 -210
  29. reflex/components/core/banner.py +2 -4
  30. reflex/components/core/banner.pyi +390 -444
  31. reflex/components/core/breakpoints.py +5 -5
  32. reflex/components/core/client_side_routing.pyi +14 -14
  33. reflex/components/core/clipboard.py +4 -4
  34. reflex/components/core/clipboard.pyi +12 -14
  35. reflex/components/core/cond.py +17 -25
  36. reflex/components/core/debounce.py +3 -3
  37. reflex/components/core/debounce.pyi +14 -14
  38. reflex/components/core/foreach.py +7 -2
  39. reflex/components/core/html.py +1 -3
  40. reflex/components/core/html.pyi +184 -213
  41. reflex/components/core/match.py +15 -19
  42. reflex/components/core/sticky.pyi +930 -1078
  43. reflex/components/core/upload.py +4 -4
  44. reflex/components/core/upload.pyi +62 -62
  45. reflex/components/datadisplay/code.py +6 -6
  46. reflex/components/datadisplay/code.pyi +1159 -1165
  47. reflex/components/datadisplay/dataeditor.py +49 -49
  48. reflex/components/datadisplay/dataeditor.pyi +95 -123
  49. reflex/components/datadisplay/logo.py +1 -3
  50. reflex/components/datadisplay/shiki_code_block.py +8 -10
  51. reflex/components/datadisplay/shiki_code_block.pyi +1678 -1720
  52. reflex/components/el/element.pyi +7 -7
  53. reflex/components/el/elements/base.pyi +183 -210
  54. reflex/components/el/elements/forms.py +24 -24
  55. reflex/components/el/elements/forms.pyi +2572 -2934
  56. reflex/components/el/elements/inline.py +4 -4
  57. reflex/components/el/elements/inline.pyi +5191 -5953
  58. reflex/components/el/elements/media.py +47 -47
  59. reflex/components/el/elements/media.pyi +4802 -5500
  60. reflex/components/el/elements/metadata.py +1 -3
  61. reflex/components/el/elements/metadata.pyi +782 -896
  62. reflex/components/el/elements/other.pyi +1278 -1467
  63. reflex/components/el/elements/scripts.pyi +580 -667
  64. reflex/components/el/elements/sectioning.pyi +2761 -3166
  65. reflex/components/el/elements/tables.pyi +1840 -2119
  66. reflex/components/el/elements/typography.pyi +2772 -3179
  67. reflex/components/gridjs/datatable.py +7 -7
  68. reflex/components/gridjs/datatable.pyi +19 -19
  69. reflex/components/lucide/icon.pyi +21 -21
  70. reflex/components/markdown/markdown.py +2 -2
  71. reflex/components/markdown/markdown.pyi +9 -9
  72. reflex/components/moment/moment.py +11 -12
  73. reflex/components/moment/moment.pyi +44 -47
  74. reflex/components/next/base.pyi +7 -7
  75. reflex/components/next/image.py +3 -3
  76. reflex/components/next/image.pyi +19 -21
  77. reflex/components/next/link.pyi +9 -9
  78. reflex/components/next/video.py +1 -3
  79. reflex/components/next/video.pyi +9 -9
  80. reflex/components/plotly/plotly.py +22 -45
  81. reflex/components/plotly/plotly.pyi +164 -164
  82. reflex/components/radix/primitives/accordion.py +14 -14
  83. reflex/components/radix/primitives/accordion.pyi +439 -487
  84. reflex/components/radix/primitives/base.py +1 -3
  85. reflex/components/radix/primitives/base.pyi +15 -15
  86. reflex/components/radix/primitives/drawer.py +3 -3
  87. reflex/components/radix/primitives/drawer.pyi +110 -116
  88. reflex/components/radix/primitives/form.py +1 -1
  89. reflex/components/radix/primitives/form.pyi +668 -752
  90. reflex/components/radix/primitives/progress.py +6 -6
  91. reflex/components/radix/primitives/progress.pyi +225 -243
  92. reflex/components/radix/primitives/slider.py +6 -6
  93. reflex/components/radix/primitives/slider.pyi +52 -55
  94. reflex/components/radix/themes/base.py +3 -6
  95. reflex/components/radix/themes/base.pyi +197 -303
  96. reflex/components/radix/themes/color_mode.py +5 -5
  97. reflex/components/radix/themes/color_mode.pyi +366 -436
  98. reflex/components/radix/themes/components/alert_dialog.pyi +229 -262
  99. reflex/components/radix/themes/components/aspect_ratio.py +1 -3
  100. reflex/components/radix/themes/components/aspect_ratio.pyi +8 -8
  101. reflex/components/radix/themes/components/avatar.pyi +79 -94
  102. reflex/components/radix/themes/components/badge.pyi +252 -295
  103. reflex/components/radix/themes/components/button.pyi +269 -314
  104. reflex/components/radix/themes/components/callout.py +2 -2
  105. reflex/components/radix/themes/components/callout.pyi +1116 -1290
  106. reflex/components/radix/themes/components/card.pyi +194 -229
  107. reflex/components/radix/themes/components/checkbox.pyi +243 -278
  108. reflex/components/radix/themes/components/checkbox_cards.py +3 -7
  109. reflex/components/radix/themes/components/checkbox_cards.pyi +101 -135
  110. reflex/components/radix/themes/components/checkbox_group.py +2 -2
  111. reflex/components/radix/themes/components/checkbox_group.pyi +83 -96
  112. reflex/components/radix/themes/components/context_menu.py +18 -15
  113. reflex/components/radix/themes/components/context_menu.pyi +408 -458
  114. reflex/components/radix/themes/components/data_list.pyi +122 -147
  115. reflex/components/radix/themes/components/dialog.pyi +231 -264
  116. reflex/components/radix/themes/components/dropdown_menu.py +16 -13
  117. reflex/components/radix/themes/components/dropdown_menu.pyi +223 -246
  118. reflex/components/radix/themes/components/hover_card.py +2 -2
  119. reflex/components/radix/themes/components/hover_card.pyi +237 -282
  120. reflex/components/radix/themes/components/icon_button.pyi +269 -314
  121. reflex/components/radix/themes/components/inset.py +8 -8
  122. reflex/components/radix/themes/components/inset.pyi +232 -292
  123. reflex/components/radix/themes/components/popover.py +2 -2
  124. reflex/components/radix/themes/components/popover.pyi +229 -271
  125. reflex/components/radix/themes/components/progress.pyi +80 -96
  126. reflex/components/radix/themes/components/radio.pyi +73 -86
  127. reflex/components/radix/themes/components/radio_cards.py +4 -8
  128. reflex/components/radix/themes/components/radio_cards.pyi +117 -154
  129. reflex/components/radix/themes/components/radio_group.py +3 -3
  130. reflex/components/radix/themes/components/radio_group.pyi +250 -291
  131. reflex/components/radix/themes/components/scroll_area.pyi +14 -20
  132. reflex/components/radix/themes/components/segmented_control.py +6 -6
  133. reflex/components/radix/themes/components/segmented_control.pyi +89 -108
  134. reflex/components/radix/themes/components/select.py +7 -7
  135. reflex/components/radix/themes/components/select.pyi +376 -444
  136. reflex/components/radix/themes/components/separator.pyi +79 -93
  137. reflex/components/radix/themes/components/skeleton.pyi +32 -26
  138. reflex/components/radix/themes/components/slider.py +8 -8
  139. reflex/components/radix/themes/components/slider.pyi +99 -122
  140. reflex/components/radix/themes/components/spinner.pyi +12 -19
  141. reflex/components/radix/themes/components/switch.pyi +84 -99
  142. reflex/components/radix/themes/components/table.py +9 -9
  143. reflex/components/radix/themes/components/table.pyi +1440 -1794
  144. reflex/components/radix/themes/components/tabs.py +4 -4
  145. reflex/components/radix/themes/components/tabs.pyi +120 -132
  146. reflex/components/radix/themes/components/text_area.pyi +281 -331
  147. reflex/components/radix/themes/components/text_field.py +2 -2
  148. reflex/components/radix/themes/components/text_field.pyi +639 -734
  149. reflex/components/radix/themes/components/tooltip.py +6 -6
  150. reflex/components/radix/themes/components/tooltip.pyi +34 -43
  151. reflex/components/radix/themes/layout/base.pyi +85 -182
  152. reflex/components/radix/themes/layout/box.pyi +183 -210
  153. reflex/components/radix/themes/layout/center.pyi +225 -286
  154. reflex/components/radix/themes/layout/container.pyi +191 -224
  155. reflex/components/radix/themes/layout/flex.py +2 -2
  156. reflex/components/radix/themes/layout/flex.pyi +225 -286
  157. reflex/components/radix/themes/layout/grid.py +2 -2
  158. reflex/components/radix/themes/layout/grid.pyi +245 -315
  159. reflex/components/radix/themes/layout/list.py +2 -2
  160. reflex/components/radix/themes/layout/list.pyi +712 -815
  161. reflex/components/radix/themes/layout/section.pyi +187 -221
  162. reflex/components/radix/themes/layout/spacer.pyi +225 -286
  163. reflex/components/radix/themes/layout/stack.pyi +625 -768
  164. reflex/components/radix/themes/typography/blockquote.pyi +257 -299
  165. reflex/components/radix/themes/typography/code.pyi +259 -304
  166. reflex/components/radix/themes/typography/heading.pyi +272 -324
  167. reflex/components/radix/themes/typography/link.pyi +302 -358
  168. reflex/components/radix/themes/typography/text.pyi +1669 -1945
  169. reflex/components/react_player/audio.pyi +20 -22
  170. reflex/components/react_player/react_player.pyi +19 -19
  171. reflex/components/react_player/video.pyi +20 -22
  172. reflex/components/recharts/cartesian.py +100 -97
  173. reflex/components/recharts/cartesian.pyi +891 -1007
  174. reflex/components/recharts/charts.py +42 -42
  175. reflex/components/recharts/charts.pyi +212 -249
  176. reflex/components/recharts/general.py +22 -21
  177. reflex/components/recharts/general.pyi +198 -223
  178. reflex/components/recharts/polar.py +42 -45
  179. reflex/components/recharts/polar.pyi +254 -288
  180. reflex/components/recharts/recharts.pyi +13 -13
  181. reflex/components/sonner/toast.py +20 -20
  182. reflex/components/sonner/toast.pyi +58 -61
  183. reflex/components/suneditor/editor.py +9 -9
  184. reflex/components/suneditor/editor.pyi +78 -83
  185. reflex/components/tags/cond_tag.py +2 -2
  186. reflex/components/tags/iter_tag.py +10 -14
  187. reflex/components/tags/match_tag.py +2 -2
  188. reflex/components/tags/tag.py +10 -10
  189. reflex/config.py +36 -35
  190. reflex/constants/__init__.py +56 -53
  191. reflex/custom_components/custom_components.py +6 -7
  192. reflex/event.py +38 -42
  193. reflex/experimental/client_state.py +2 -4
  194. reflex/experimental/layout.py +2 -2
  195. reflex/experimental/layout.pyi +579 -663
  196. reflex/istate/data.py +4 -5
  197. reflex/middleware/hydrate_middleware.py +2 -2
  198. reflex/middleware/middleware.py +2 -2
  199. reflex/model.py +3 -5
  200. reflex/page.py +2 -2
  201. reflex/reflex.py +9 -10
  202. reflex/state.py +77 -49
  203. reflex/style.py +11 -5
  204. reflex/testing.py +21 -24
  205. reflex/utils/console.py +1 -1
  206. reflex/utils/decorator.py +26 -1
  207. reflex/utils/exec.py +6 -11
  208. reflex/utils/export.py +2 -3
  209. reflex/utils/format.py +4 -4
  210. reflex/utils/imports.py +12 -12
  211. reflex/utils/prerequisites.py +35 -84
  212. reflex/utils/processes.py +5 -5
  213. reflex/utils/pyi_generator.py +33 -22
  214. reflex/utils/serializers.py +60 -15
  215. reflex/utils/types.py +237 -56
  216. reflex/vars/base.py +122 -72
  217. reflex/vars/datetime.py +2 -2
  218. reflex/vars/function.py +52 -55
  219. reflex/vars/number.py +59 -5
  220. reflex/vars/object.py +57 -26
  221. reflex/vars/sequence.py +983 -958
  222. {reflex-0.7.1a4.dist-info → reflex-0.7.2.dist-info}/METADATA +3 -6
  223. reflex-0.7.2.dist-info/RECORD +405 -0
  224. {reflex-0.7.1a4.dist-info → reflex-0.7.2.dist-info}/WHEEL +1 -1
  225. reflex-0.7.1a4.dist-info/RECORD +0 -405
  226. {reflex-0.7.1a4.dist-info → reflex-0.7.2.dist-info}/LICENSE +0 -0
  227. {reflex-0.7.1a4.dist-info → reflex-0.7.2.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: