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
  # ------------------- DO NOT EDIT ----------------------
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
- from typing import Any, Dict, Literal, Optional, Union, overload
6
+ from typing import Any, Literal, Optional, overload
7
7
 
8
8
  from reflex.components.el.elements.typography import Div
9
9
  from reflex.event import EventType
@@ -16,220 +16,191 @@ class Html(Div):
16
16
  def create( # type: ignore
17
17
  cls,
18
18
  *children,
19
- dangerouslySetInnerHTML: Optional[
20
- Union[Dict[str, str], Var[Dict[str, str]]]
21
- ] = None,
22
- access_key: Optional[Union[Var[str], str]] = None,
23
- auto_capitalize: Optional[
24
- Union[
25
- Literal["characters", "none", "off", "on", "sentences", "words"],
26
- Var[Literal["characters", "none", "off", "on", "sentences", "words"]],
19
+ dangerouslySetInnerHTML: Var[dict[str, str]] | dict[str, str] | None = None,
20
+ access_key: Var[str] | str | None = None,
21
+ auto_capitalize: Literal[
22
+ "characters", "none", "off", "on", "sentences", "words"
23
+ ]
24
+ | Var[Literal["characters", "none", "off", "on", "sentences", "words"]]
25
+ | None = None,
26
+ content_editable: Literal["inherit", "plaintext-only", False, True]
27
+ | Var[Literal["inherit", "plaintext-only", False, True]]
28
+ | None = None,
29
+ context_menu: Var[str] | str | None = None,
30
+ dir: Var[str] | str | None = None,
31
+ draggable: Var[bool] | bool | None = None,
32
+ enter_key_hint: Literal[
33
+ "done", "enter", "go", "next", "previous", "search", "send"
34
+ ]
35
+ | Var[Literal["done", "enter", "go", "next", "previous", "search", "send"]]
36
+ | None = None,
37
+ hidden: Var[bool] | bool | None = None,
38
+ input_mode: Literal[
39
+ "decimal", "email", "none", "numeric", "search", "tel", "text", "url"
40
+ ]
41
+ | Var[
42
+ Literal[
43
+ "decimal", "email", "none", "numeric", "search", "tel", "text", "url"
27
44
  ]
28
- ] = None,
29
- content_editable: Optional[
30
- Union[
31
- Literal["inherit", "plaintext-only", False, True],
32
- Var[Literal["inherit", "plaintext-only", False, True]],
45
+ ]
46
+ | None = None,
47
+ item_prop: Var[str] | str | None = None,
48
+ lang: Var[str] | str | None = None,
49
+ role: Literal[
50
+ "alert",
51
+ "alertdialog",
52
+ "application",
53
+ "article",
54
+ "banner",
55
+ "button",
56
+ "cell",
57
+ "checkbox",
58
+ "columnheader",
59
+ "combobox",
60
+ "complementary",
61
+ "contentinfo",
62
+ "definition",
63
+ "dialog",
64
+ "directory",
65
+ "document",
66
+ "feed",
67
+ "figure",
68
+ "form",
69
+ "grid",
70
+ "gridcell",
71
+ "group",
72
+ "heading",
73
+ "img",
74
+ "link",
75
+ "list",
76
+ "listbox",
77
+ "listitem",
78
+ "log",
79
+ "main",
80
+ "marquee",
81
+ "math",
82
+ "menu",
83
+ "menubar",
84
+ "menuitem",
85
+ "menuitemcheckbox",
86
+ "menuitemradio",
87
+ "navigation",
88
+ "none",
89
+ "note",
90
+ "option",
91
+ "presentation",
92
+ "progressbar",
93
+ "radio",
94
+ "radiogroup",
95
+ "region",
96
+ "row",
97
+ "rowgroup",
98
+ "rowheader",
99
+ "scrollbar",
100
+ "search",
101
+ "searchbox",
102
+ "separator",
103
+ "slider",
104
+ "spinbutton",
105
+ "status",
106
+ "switch",
107
+ "tab",
108
+ "table",
109
+ "tablist",
110
+ "tabpanel",
111
+ "term",
112
+ "textbox",
113
+ "timer",
114
+ "toolbar",
115
+ "tooltip",
116
+ "tree",
117
+ "treegrid",
118
+ "treeitem",
119
+ ]
120
+ | Var[
121
+ Literal[
122
+ "alert",
123
+ "alertdialog",
124
+ "application",
125
+ "article",
126
+ "banner",
127
+ "button",
128
+ "cell",
129
+ "checkbox",
130
+ "columnheader",
131
+ "combobox",
132
+ "complementary",
133
+ "contentinfo",
134
+ "definition",
135
+ "dialog",
136
+ "directory",
137
+ "document",
138
+ "feed",
139
+ "figure",
140
+ "form",
141
+ "grid",
142
+ "gridcell",
143
+ "group",
144
+ "heading",
145
+ "img",
146
+ "link",
147
+ "list",
148
+ "listbox",
149
+ "listitem",
150
+ "log",
151
+ "main",
152
+ "marquee",
153
+ "math",
154
+ "menu",
155
+ "menubar",
156
+ "menuitem",
157
+ "menuitemcheckbox",
158
+ "menuitemradio",
159
+ "navigation",
160
+ "none",
161
+ "note",
162
+ "option",
163
+ "presentation",
164
+ "progressbar",
165
+ "radio",
166
+ "radiogroup",
167
+ "region",
168
+ "row",
169
+ "rowgroup",
170
+ "rowheader",
171
+ "scrollbar",
172
+ "search",
173
+ "searchbox",
174
+ "separator",
175
+ "slider",
176
+ "spinbutton",
177
+ "status",
178
+ "switch",
179
+ "tab",
180
+ "table",
181
+ "tablist",
182
+ "tabpanel",
183
+ "term",
184
+ "textbox",
185
+ "timer",
186
+ "toolbar",
187
+ "tooltip",
188
+ "tree",
189
+ "treegrid",
190
+ "treeitem",
33
191
  ]
34
- ] = None,
35
- context_menu: Optional[Union[Var[str], str]] = None,
36
- dir: Optional[Union[Var[str], str]] = None,
37
- draggable: Optional[Union[Var[bool], bool]] = None,
38
- enter_key_hint: Optional[
39
- Union[
40
- Literal["done", "enter", "go", "next", "previous", "search", "send"],
41
- Var[
42
- Literal["done", "enter", "go", "next", "previous", "search", "send"]
43
- ],
44
- ]
45
- ] = None,
46
- hidden: Optional[Union[Var[bool], bool]] = None,
47
- input_mode: Optional[
48
- Union[
49
- Literal[
50
- "decimal",
51
- "email",
52
- "none",
53
- "numeric",
54
- "search",
55
- "tel",
56
- "text",
57
- "url",
58
- ],
59
- Var[
60
- Literal[
61
- "decimal",
62
- "email",
63
- "none",
64
- "numeric",
65
- "search",
66
- "tel",
67
- "text",
68
- "url",
69
- ]
70
- ],
71
- ]
72
- ] = None,
73
- item_prop: Optional[Union[Var[str], str]] = None,
74
- lang: Optional[Union[Var[str], str]] = None,
75
- role: Optional[
76
- Union[
77
- Literal[
78
- "alert",
79
- "alertdialog",
80
- "application",
81
- "article",
82
- "banner",
83
- "button",
84
- "cell",
85
- "checkbox",
86
- "columnheader",
87
- "combobox",
88
- "complementary",
89
- "contentinfo",
90
- "definition",
91
- "dialog",
92
- "directory",
93
- "document",
94
- "feed",
95
- "figure",
96
- "form",
97
- "grid",
98
- "gridcell",
99
- "group",
100
- "heading",
101
- "img",
102
- "link",
103
- "list",
104
- "listbox",
105
- "listitem",
106
- "log",
107
- "main",
108
- "marquee",
109
- "math",
110
- "menu",
111
- "menubar",
112
- "menuitem",
113
- "menuitemcheckbox",
114
- "menuitemradio",
115
- "navigation",
116
- "none",
117
- "note",
118
- "option",
119
- "presentation",
120
- "progressbar",
121
- "radio",
122
- "radiogroup",
123
- "region",
124
- "row",
125
- "rowgroup",
126
- "rowheader",
127
- "scrollbar",
128
- "search",
129
- "searchbox",
130
- "separator",
131
- "slider",
132
- "spinbutton",
133
- "status",
134
- "switch",
135
- "tab",
136
- "table",
137
- "tablist",
138
- "tabpanel",
139
- "term",
140
- "textbox",
141
- "timer",
142
- "toolbar",
143
- "tooltip",
144
- "tree",
145
- "treegrid",
146
- "treeitem",
147
- ],
148
- Var[
149
- Literal[
150
- "alert",
151
- "alertdialog",
152
- "application",
153
- "article",
154
- "banner",
155
- "button",
156
- "cell",
157
- "checkbox",
158
- "columnheader",
159
- "combobox",
160
- "complementary",
161
- "contentinfo",
162
- "definition",
163
- "dialog",
164
- "directory",
165
- "document",
166
- "feed",
167
- "figure",
168
- "form",
169
- "grid",
170
- "gridcell",
171
- "group",
172
- "heading",
173
- "img",
174
- "link",
175
- "list",
176
- "listbox",
177
- "listitem",
178
- "log",
179
- "main",
180
- "marquee",
181
- "math",
182
- "menu",
183
- "menubar",
184
- "menuitem",
185
- "menuitemcheckbox",
186
- "menuitemradio",
187
- "navigation",
188
- "none",
189
- "note",
190
- "option",
191
- "presentation",
192
- "progressbar",
193
- "radio",
194
- "radiogroup",
195
- "region",
196
- "row",
197
- "rowgroup",
198
- "rowheader",
199
- "scrollbar",
200
- "search",
201
- "searchbox",
202
- "separator",
203
- "slider",
204
- "spinbutton",
205
- "status",
206
- "switch",
207
- "tab",
208
- "table",
209
- "tablist",
210
- "tabpanel",
211
- "term",
212
- "textbox",
213
- "timer",
214
- "toolbar",
215
- "tooltip",
216
- "tree",
217
- "treegrid",
218
- "treeitem",
219
- ]
220
- ],
221
- ]
222
- ] = None,
223
- slot: Optional[Union[Var[str], str]] = None,
224
- spell_check: Optional[Union[Var[bool], bool]] = None,
225
- tab_index: Optional[Union[Var[int], int]] = None,
226
- title: Optional[Union[Var[str], str]] = None,
227
- style: Optional[Style] = None,
228
- key: Optional[Any] = None,
229
- id: Optional[Any] = None,
230
- class_name: Optional[Any] = None,
231
- autofocus: Optional[bool] = None,
232
- custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
192
+ ]
193
+ | None = None,
194
+ slot: Var[str] | str | None = None,
195
+ spell_check: Var[bool] | bool | None = None,
196
+ tab_index: Var[int] | int | None = None,
197
+ title: Var[str] | str | None = None,
198
+ style: Style | None = None,
199
+ key: Any | None = None,
200
+ id: Any | None = None,
201
+ class_name: Any | None = None,
202
+ autofocus: bool | None = None,
203
+ custom_attrs: dict[str, Var | Any] | None = None,
233
204
  on_blur: Optional[EventType[()]] = None,
234
205
  on_click: Optional[EventType[()]] = None,
235
206
  on_context_menu: Optional[EventType[()]] = None,
@@ -1,13 +1,13 @@
1
1
  """rx.match."""
2
2
 
3
3
  import textwrap
4
- from typing import Any, Dict, List, Optional, Tuple, Union
4
+ from typing import Any, Dict, List
5
5
 
6
6
  from reflex.components.base import Fragment
7
7
  from reflex.components.component import BaseComponent, Component, MemoizationLeaf
8
8
  from reflex.components.tags import MatchTag, Tag
9
9
  from reflex.style import Style
10
- from reflex.utils import format, types
10
+ from reflex.utils import format
11
11
  from reflex.utils.exceptions import MatchTypeError
12
12
  from reflex.utils.imports import ImportDict
13
13
  from reflex.vars import VarData
@@ -21,13 +21,13 @@ class Match(MemoizationLeaf):
21
21
  cond: Var[Any]
22
22
 
23
23
  # The list of match cases to be matched.
24
- match_cases: List[Any] = []
24
+ match_cases: list[Any] = []
25
25
 
26
26
  # The catchall case to match.
27
27
  default: Any
28
28
 
29
29
  @classmethod
30
- def create(cls, cond: Any, *cases) -> Union[Component, Var]:
30
+ def create(cls, cond: Any, *cases) -> Component | Var:
31
31
  """Create a Match Component.
32
32
 
33
33
  Args:
@@ -46,7 +46,7 @@ class Match(MemoizationLeaf):
46
46
 
47
47
  cls._validate_return_types(match_cases)
48
48
 
49
- if default is None and types._issubclass(type(match_cases[0][-1]), Var):
49
+ if default is None and isinstance(match_cases[0][-1], Var):
50
50
  raise ValueError(
51
51
  "For cases with return types as Vars, a default case must be provided"
52
52
  )
@@ -75,9 +75,7 @@ class Match(MemoizationLeaf):
75
75
  return match_cond_var
76
76
 
77
77
  @classmethod
78
- def _process_cases(
79
- cls, cases: List
80
- ) -> Tuple[List, Optional[Union[Var, BaseComponent]]]:
78
+ def _process_cases(cls, cases: list) -> tuple[list, Var | BaseComponent | None]:
81
79
  """Process the list of match cases and the catchall default case.
82
80
 
83
81
  Args:
@@ -125,7 +123,7 @@ class Match(MemoizationLeaf):
125
123
  return case_element
126
124
 
127
125
  @classmethod
128
- def _process_match_cases(cls, cases: List) -> List[List[Var]]:
126
+ def _process_match_cases(cls, cases: List) -> list[list[Var]]:
129
127
  """Process the individual match cases.
130
128
 
131
129
  Args:
@@ -166,7 +164,7 @@ class Match(MemoizationLeaf):
166
164
  return match_cases
167
165
 
168
166
  @classmethod
169
- def _validate_return_types(cls, match_cases: List[List[Var]]) -> None:
167
+ def _validate_return_types(cls, match_cases: list[list[Var]]) -> None:
170
168
  """Validate that match cases have the same return types.
171
169
 
172
170
  Args:
@@ -184,7 +182,7 @@ class Match(MemoizationLeaf):
184
182
  return_type = Var
185
183
 
186
184
  for index, case in enumerate(match_cases):
187
- if not types._issubclass(type(case[-1]), return_type):
185
+ if not isinstance(case[-1], return_type):
188
186
  raise MatchTypeError(
189
187
  f"Match cases should have the same return types. Case {index} with return "
190
188
  f"value `{case[-1]._js_expr if isinstance(case[-1], Var) else textwrap.shorten(str(case[-1]), width=250)}`"
@@ -195,9 +193,9 @@ class Match(MemoizationLeaf):
195
193
  def _create_match_cond_var_or_component(
196
194
  cls,
197
195
  match_cond_var: Var,
198
- match_cases: List[List[Var]],
199
- default: Optional[Union[Var, BaseComponent]],
200
- ) -> Union[Component, Var]:
196
+ match_cases: list[list[Var]],
197
+ default: Var | BaseComponent | None,
198
+ ) -> Component | Var:
201
199
  """Create and return the match condition var or component.
202
200
 
203
201
  Args:
@@ -211,14 +209,12 @@ class Match(MemoizationLeaf):
211
209
  Raises:
212
210
  ValueError: If the return types are not vars when creating a match var for Var types.
213
211
  """
214
- if default is None and types._issubclass(
215
- type(match_cases[0][-1]), BaseComponent
216
- ):
212
+ if default is None and isinstance(match_cases[0][-1], BaseComponent):
217
213
  default = Fragment.create()
218
214
 
219
- if types._issubclass(type(match_cases[0][-1]), BaseComponent):
215
+ if isinstance(match_cases[0][-1], BaseComponent):
220
216
  return Fragment.create(
221
- cls(
217
+ cls._create(
222
218
  cond=match_cond_var,
223
219
  match_cases=match_cases,
224
220
  default=default,