reflex 0.7.13a1__py3-none-any.whl → 0.7.14__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 (263) hide show
  1. reflex/.templates/apps/blank/code/blank.py +0 -2
  2. reflex/app.py +100 -92
  3. reflex/app_mixins/lifespan.py +2 -3
  4. reflex/app_mixins/middleware.py +1 -0
  5. reflex/app_mixins/mixin.py +0 -1
  6. reflex/assets.py +7 -4
  7. reflex/base.py +3 -2
  8. reflex/compiler/compiler.py +79 -65
  9. reflex/compiler/utils.py +8 -6
  10. reflex/components/base/app_wrap.pyi +0 -1
  11. reflex/components/base/bare.py +22 -12
  12. reflex/components/base/body.pyi +0 -1
  13. reflex/components/base/document.pyi +0 -5
  14. reflex/components/base/error_boundary.pyi +0 -1
  15. reflex/components/base/fragment.pyi +0 -1
  16. reflex/components/base/head.pyi +0 -2
  17. reflex/components/base/link.pyi +0 -2
  18. reflex/components/base/meta.py +2 -1
  19. reflex/components/base/meta.pyi +0 -4
  20. reflex/components/base/script.py +2 -1
  21. reflex/components/base/script.pyi +0 -1
  22. reflex/components/base/strict_mode.pyi +0 -1
  23. reflex/components/component.py +85 -45
  24. reflex/components/core/auto_scroll.pyi +0 -1
  25. reflex/components/core/banner.py +1 -1
  26. reflex/components/core/banner.pyi +0 -6
  27. reflex/components/core/breakpoints.py +9 -11
  28. reflex/components/core/client_side_routing.pyi +0 -2
  29. reflex/components/core/clipboard.pyi +0 -1
  30. reflex/components/core/colors.py +10 -7
  31. reflex/components/core/cond.py +4 -2
  32. reflex/components/core/debounce.py +5 -3
  33. reflex/components/core/debounce.pyi +0 -1
  34. reflex/components/core/foreach.py +8 -6
  35. reflex/components/core/html.py +3 -3
  36. reflex/components/core/html.pyi +0 -1
  37. reflex/components/core/match.py +19 -17
  38. reflex/components/core/sticky.pyi +0 -4
  39. reflex/components/core/upload.py +1 -1
  40. reflex/components/core/upload.pyi +0 -5
  41. reflex/components/datadisplay/code.py +1 -2
  42. reflex/components/datadisplay/code.pyi +0 -2
  43. reflex/components/datadisplay/dataeditor.py +7 -10
  44. reflex/components/datadisplay/dataeditor.pyi +0 -1
  45. reflex/components/datadisplay/logo.py +3 -4
  46. reflex/components/datadisplay/shiki_code_block.py +8 -11
  47. reflex/components/datadisplay/shiki_code_block.pyi +0 -3
  48. reflex/components/dynamic.py +2 -3
  49. reflex/components/el/__init__.pyi +2 -0
  50. reflex/components/el/element.pyi +0 -1
  51. reflex/components/el/elements/__init__.py +1 -0
  52. reflex/components/el/elements/__init__.pyi +3 -0
  53. reflex/components/el/elements/base.pyi +0 -1
  54. reflex/components/el/elements/forms.py +14 -15
  55. reflex/components/el/elements/forms.pyi +15 -32
  56. reflex/components/el/elements/inline.pyi +0 -28
  57. reflex/components/el/elements/media.py +26 -0
  58. reflex/components/el/elements/media.pyi +259 -25
  59. reflex/components/el/elements/metadata.py +0 -1
  60. reflex/components/el/elements/metadata.pyi +0 -6
  61. reflex/components/el/elements/other.pyi +0 -7
  62. reflex/components/el/elements/scripts.pyi +0 -3
  63. reflex/components/el/elements/sectioning.pyi +0 -15
  64. reflex/components/el/elements/tables.pyi +0 -10
  65. reflex/components/el/elements/typography.pyi +0 -15
  66. reflex/components/gridjs/datatable.py +10 -13
  67. reflex/components/gridjs/datatable.pyi +0 -2
  68. reflex/components/lucide/icon.py +10 -9
  69. reflex/components/lucide/icon.pyi +0 -3
  70. reflex/components/markdown/markdown.py +6 -8
  71. reflex/components/markdown/markdown.pyi +0 -1
  72. reflex/components/moment/moment.pyi +0 -1
  73. reflex/components/next/base.py +0 -2
  74. reflex/components/next/base.pyi +0 -3
  75. reflex/components/next/image.pyi +0 -1
  76. reflex/components/next/link.pyi +0 -1
  77. reflex/components/next/video.pyi +0 -1
  78. reflex/components/plotly/plotly.pyi +0 -9
  79. reflex/components/props.py +4 -3
  80. reflex/components/radix/primitives/accordion.py +1 -1
  81. reflex/components/radix/primitives/accordion.pyi +0 -7
  82. reflex/components/radix/primitives/base.py +1 -3
  83. reflex/components/radix/primitives/base.pyi +0 -2
  84. reflex/components/radix/primitives/drawer.py +1 -1
  85. reflex/components/radix/primitives/drawer.pyi +0 -11
  86. reflex/components/radix/primitives/form.py +5 -9
  87. reflex/components/radix/primitives/form.pyi +0 -12
  88. reflex/components/radix/primitives/progress.py +1 -1
  89. reflex/components/radix/primitives/progress.pyi +0 -5
  90. reflex/components/radix/primitives/slider.py +1 -1
  91. reflex/components/radix/primitives/slider.pyi +0 -5
  92. reflex/components/radix/themes/base.pyi +0 -8
  93. reflex/components/radix/themes/color_mode.pyi +0 -3
  94. reflex/components/radix/themes/components/alert_dialog.py +4 -2
  95. reflex/components/radix/themes/components/alert_dialog.pyi +4 -9
  96. reflex/components/radix/themes/components/aspect_ratio.py +1 -2
  97. reflex/components/radix/themes/components/aspect_ratio.pyi +1 -3
  98. reflex/components/radix/themes/components/avatar.py +5 -2
  99. reflex/components/radix/themes/components/avatar.pyi +1 -3
  100. reflex/components/radix/themes/components/badge.py +5 -2
  101. reflex/components/radix/themes/components/badge.pyi +1 -3
  102. reflex/components/radix/themes/components/button.py +2 -3
  103. reflex/components/radix/themes/components/button.pyi +1 -3
  104. reflex/components/radix/themes/components/callout.py +1 -2
  105. reflex/components/radix/themes/components/callout.pyi +1 -7
  106. reflex/components/radix/themes/components/card.py +1 -2
  107. reflex/components/radix/themes/components/card.pyi +1 -3
  108. reflex/components/radix/themes/components/checkbox.py +7 -4
  109. reflex/components/radix/themes/components/checkbox.pyi +1 -5
  110. reflex/components/radix/themes/components/checkbox_cards.py +1 -2
  111. reflex/components/radix/themes/components/checkbox_cards.pyi +1 -4
  112. reflex/components/radix/themes/components/checkbox_group.py +1 -2
  113. reflex/components/radix/themes/components/checkbox_group.pyi +1 -4
  114. reflex/components/radix/themes/components/context_menu.py +1 -1
  115. reflex/components/radix/themes/components/context_menu.pyi +1 -14
  116. reflex/components/radix/themes/components/data_list.py +1 -2
  117. reflex/components/radix/themes/components/data_list.pyi +1 -6
  118. reflex/components/radix/themes/components/dialog.py +4 -2
  119. reflex/components/radix/themes/components/dialog.pyi +4 -9
  120. reflex/components/radix/themes/components/dropdown_menu.py +5 -2
  121. reflex/components/radix/themes/components/dropdown_menu.pyi +4 -10
  122. reflex/components/radix/themes/components/hover_card.py +4 -2
  123. reflex/components/radix/themes/components/hover_card.pyi +4 -6
  124. reflex/components/radix/themes/components/icon_button.py +7 -8
  125. reflex/components/radix/themes/components/icon_button.pyi +1 -3
  126. reflex/components/radix/themes/components/inset.py +1 -2
  127. reflex/components/radix/themes/components/inset.pyi +1 -3
  128. reflex/components/radix/themes/components/popover.py +4 -2
  129. reflex/components/radix/themes/components/popover.pyi +4 -6
  130. reflex/components/radix/themes/components/progress.py +1 -2
  131. reflex/components/radix/themes/components/progress.pyi +1 -3
  132. reflex/components/radix/themes/components/radio.py +1 -2
  133. reflex/components/radix/themes/components/radio.pyi +1 -3
  134. reflex/components/radix/themes/components/radio_cards.py +1 -2
  135. reflex/components/radix/themes/components/radio_cards.pyi +1 -4
  136. reflex/components/radix/themes/components/radio_group.py +7 -5
  137. reflex/components/radix/themes/components/radio_group.pyi +1 -6
  138. reflex/components/radix/themes/components/scroll_area.py +1 -2
  139. reflex/components/radix/themes/components/scroll_area.pyi +1 -3
  140. reflex/components/radix/themes/components/segmented_control.py +1 -2
  141. reflex/components/radix/themes/components/segmented_control.pyi +1 -4
  142. reflex/components/radix/themes/components/select.py +5 -2
  143. reflex/components/radix/themes/components/select.pyi +1 -11
  144. reflex/components/radix/themes/components/separator.py +1 -2
  145. reflex/components/radix/themes/components/separator.pyi +1 -3
  146. reflex/components/radix/themes/components/skeleton.py +1 -2
  147. reflex/components/radix/themes/components/skeleton.pyi +1 -3
  148. reflex/components/radix/themes/components/slider.py +1 -2
  149. reflex/components/radix/themes/components/slider.pyi +1 -3
  150. reflex/components/radix/themes/components/spinner.py +1 -2
  151. reflex/components/radix/themes/components/spinner.pyi +1 -3
  152. reflex/components/radix/themes/components/switch.py +1 -2
  153. reflex/components/radix/themes/components/switch.pyi +1 -3
  154. reflex/components/radix/themes/components/table.py +1 -2
  155. reflex/components/radix/themes/components/table.pyi +1 -9
  156. reflex/components/radix/themes/components/tabs.py +1 -2
  157. reflex/components/radix/themes/components/tabs.pyi +1 -7
  158. reflex/components/radix/themes/components/text_area.py +5 -2
  159. reflex/components/radix/themes/components/text_area.pyi +2 -4
  160. reflex/components/radix/themes/components/text_field.py +5 -2
  161. reflex/components/radix/themes/components/text_field.pyi +1 -5
  162. reflex/components/radix/themes/components/tooltip.py +1 -2
  163. reflex/components/radix/themes/components/tooltip.pyi +1 -3
  164. reflex/components/radix/themes/layout/base.py +5 -2
  165. reflex/components/radix/themes/layout/base.pyi +5 -3
  166. reflex/components/radix/themes/layout/box.py +1 -2
  167. reflex/components/radix/themes/layout/box.pyi +1 -3
  168. reflex/components/radix/themes/layout/center.pyi +0 -1
  169. reflex/components/radix/themes/layout/container.py +1 -2
  170. reflex/components/radix/themes/layout/container.pyi +1 -3
  171. reflex/components/radix/themes/layout/flex.py +6 -2
  172. reflex/components/radix/themes/layout/flex.pyi +1 -3
  173. reflex/components/radix/themes/layout/grid.py +6 -2
  174. reflex/components/radix/themes/layout/grid.pyi +1 -3
  175. reflex/components/radix/themes/layout/list.py +2 -1
  176. reflex/components/radix/themes/layout/list.pyi +0 -5
  177. reflex/components/radix/themes/layout/section.py +1 -2
  178. reflex/components/radix/themes/layout/section.pyi +1 -3
  179. reflex/components/radix/themes/layout/spacer.pyi +0 -1
  180. reflex/components/radix/themes/layout/stack.py +1 -1
  181. reflex/components/radix/themes/layout/stack.pyi +0 -3
  182. reflex/components/radix/themes/typography/blockquote.py +1 -1
  183. reflex/components/radix/themes/typography/blockquote.pyi +1 -3
  184. reflex/components/radix/themes/typography/code.py +5 -1
  185. reflex/components/radix/themes/typography/code.pyi +1 -3
  186. reflex/components/radix/themes/typography/heading.py +1 -1
  187. reflex/components/radix/themes/typography/heading.pyi +1 -3
  188. reflex/components/radix/themes/typography/link.py +3 -2
  189. reflex/components/radix/themes/typography/link.pyi +1 -3
  190. reflex/components/radix/themes/typography/text.py +1 -1
  191. reflex/components/radix/themes/typography/text.pyi +1 -9
  192. reflex/components/react_player/audio.py +0 -2
  193. reflex/components/react_player/audio.pyi +0 -3
  194. reflex/components/react_player/react_player.pyi +0 -1
  195. reflex/components/react_player/video.py +0 -2
  196. reflex/components/react_player/video.pyi +0 -3
  197. reflex/components/recharts/__init__.py +1 -1
  198. reflex/components/recharts/__init__.pyi +1 -1
  199. reflex/components/recharts/cartesian.py +20 -25
  200. reflex/components/recharts/cartesian.pyi +20 -37
  201. reflex/components/recharts/charts.py +2 -1
  202. reflex/components/recharts/charts.pyi +0 -12
  203. reflex/components/recharts/general.pyi +0 -6
  204. reflex/components/recharts/polar.py +5 -4
  205. reflex/components/recharts/polar.pyi +4 -10
  206. reflex/components/recharts/recharts.py +12 -10
  207. reflex/components/recharts/recharts.pyi +10 -11
  208. reflex/components/sonner/toast.py +2 -2
  209. reflex/components/sonner/toast.pyi +0 -2
  210. reflex/components/suneditor/editor.py +2 -1
  211. reflex/components/suneditor/editor.pyi +0 -1
  212. reflex/components/tags/iter_tag.py +4 -2
  213. reflex/config.py +41 -615
  214. reflex/constants/base.py +6 -6
  215. reflex/constants/compiler.py +8 -6
  216. reflex/constants/installer.py +25 -16
  217. reflex/custom_components/custom_components.py +1 -2
  218. reflex/environment.py +606 -0
  219. reflex/event.py +58 -60
  220. reflex/experimental/__init__.py +2 -2
  221. reflex/experimental/client_state.py +9 -4
  222. reflex/experimental/layout.pyi +0 -5
  223. reflex/istate/manager.py +17 -20
  224. reflex/istate/proxy.py +19 -12
  225. reflex/model.py +8 -5
  226. reflex/plugins/base.py +8 -0
  227. reflex/plugins/tailwind_v3.py +8 -0
  228. reflex/plugins/tailwind_v4.py +9 -0
  229. reflex/reflex.py +11 -12
  230. reflex/route.py +7 -9
  231. reflex/state.py +67 -71
  232. reflex/style.py +3 -1
  233. reflex/testing.py +49 -30
  234. reflex/utils/build.py +2 -1
  235. reflex/utils/console.py +70 -17
  236. reflex/utils/exec.py +113 -39
  237. reflex/utils/export.py +2 -1
  238. reflex/utils/format.py +21 -24
  239. reflex/utils/imports.py +4 -3
  240. reflex/utils/lazy_loader.py +3 -3
  241. reflex/utils/misc.py +2 -1
  242. reflex/utils/net.py +2 -2
  243. reflex/utils/path_ops.py +4 -2
  244. reflex/utils/prerequisites.py +69 -39
  245. reflex/utils/processes.py +5 -7
  246. reflex/utils/pyi_generator.py +46 -41
  247. reflex/utils/redir.py +1 -1
  248. reflex/utils/registry.py +1 -1
  249. reflex/utils/serializers.py +4 -4
  250. reflex/utils/telemetry.py +36 -3
  251. reflex/utils/types.py +16 -13
  252. reflex/vars/base.py +96 -109
  253. reflex/vars/datetime.py +2 -1
  254. reflex/vars/dep_tracking.py +19 -28
  255. reflex/vars/number.py +6 -7
  256. reflex/vars/object.py +5 -6
  257. reflex/vars/sequence.py +11 -11
  258. {reflex-0.7.13a1.dist-info → reflex-0.7.14.dist-info}/METADATA +1 -1
  259. reflex-0.7.14.dist-info/RECORD +408 -0
  260. reflex-0.7.13a1.dist-info/RECORD +0 -407
  261. {reflex-0.7.13a1.dist-info → reflex-0.7.14.dist-info}/WHEEL +0 -0
  262. {reflex-0.7.13a1.dist-info → reflex-0.7.14.dist-info}/entry_points.txt +0 -0
  263. {reflex-0.7.13a1.dist-info → reflex-0.7.14.dist-info}/licenses/LICENSE +0 -0
@@ -290,7 +290,6 @@ class Button(BaseHTML):
290
290
  Returns:
291
291
  The component.
292
292
  """
293
- ...
294
293
 
295
294
  class Datalist(BaseHTML):
296
295
  @overload
@@ -536,7 +535,6 @@ class Datalist(BaseHTML):
536
535
  Returns:
537
536
  The component.
538
537
  """
539
- ...
540
538
 
541
539
  class Fieldset(Element):
542
540
  @overload
@@ -594,7 +592,6 @@ class Fieldset(Element):
594
592
  Returns:
595
593
  The component.
596
594
  """
597
- ...
598
595
 
599
596
  def on_submit_event_spec() -> tuple[Var[dict[str, Any]]]: ...
600
597
  def on_submit_string_event_spec() -> tuple[Var[dict[str, str]]]: ...
@@ -867,7 +864,6 @@ class Form(BaseHTML):
867
864
  Returns:
868
865
  The form component.
869
866
  """
870
- ...
871
867
 
872
868
  def add_imports(self) -> ImportDict: ...
873
869
  def add_hooks(self) -> list[str]: ...
@@ -931,7 +927,7 @@ class BaseInput(BaseHTML):
931
927
  placeholder: Var[str] | str | None = None,
932
928
  read_only: Var[bool] | bool | None = None,
933
929
  required: Var[bool] | bool | None = None,
934
- size: Var[float | int] | float | int | None = None,
930
+ size: Var[float | int | str] | float | int | str | None = None,
935
931
  src: Var[str] | str | None = None,
936
932
  step: Var[float | int | str] | float | int | str | None = None,
937
933
  type: Literal[
@@ -1259,7 +1255,6 @@ class BaseInput(BaseHTML):
1259
1255
  Returns:
1260
1256
  The component.
1261
1257
  """
1262
- ...
1263
1258
 
1264
1259
  class CheckboxInput(BaseInput):
1265
1260
  @overload
@@ -1295,7 +1290,7 @@ class CheckboxInput(BaseInput):
1295
1290
  placeholder: Var[str] | str | None = None,
1296
1291
  read_only: Var[bool] | bool | None = None,
1297
1292
  required: Var[bool] | bool | None = None,
1298
- size: Var[float | int] | float | int | None = None,
1293
+ size: Var[float | int | str] | float | int | str | None = None,
1299
1294
  src: Var[str] | str | None = None,
1300
1295
  step: Var[float | int | str] | float | int | str | None = None,
1301
1296
  type: Literal[
@@ -1627,7 +1622,6 @@ class CheckboxInput(BaseInput):
1627
1622
  Returns:
1628
1623
  The component.
1629
1624
  """
1630
- ...
1631
1625
 
1632
1626
  class ValueNumberInput(BaseInput):
1633
1627
  @overload
@@ -1663,7 +1657,7 @@ class ValueNumberInput(BaseInput):
1663
1657
  placeholder: Var[str] | str | None = None,
1664
1658
  read_only: Var[bool] | bool | None = None,
1665
1659
  required: Var[bool] | bool | None = None,
1666
- size: Var[float | int] | float | int | None = None,
1660
+ size: Var[float | int | str] | float | int | str | None = None,
1667
1661
  src: Var[str] | str | None = None,
1668
1662
  step: Var[float | int | str] | float | int | str | None = None,
1669
1663
  type: Literal[
@@ -1995,7 +1989,6 @@ class ValueNumberInput(BaseInput):
1995
1989
  Returns:
1996
1990
  The component.
1997
1991
  """
1998
- ...
1999
1992
 
2000
1993
  class Input(BaseInput):
2001
1994
  @overload
@@ -2031,7 +2024,7 @@ class Input(BaseInput):
2031
2024
  placeholder: Var[str] | str | None = None,
2032
2025
  read_only: Var[bool] | bool | None = None,
2033
2026
  required: Var[bool] | bool | None = None,
2034
- size: Var[float | int] | float | int | None = None,
2027
+ size: Var[float | int | str] | float | int | str | None = None,
2035
2028
  src: Var[str] | str | None = None,
2036
2029
  step: Var[float | int | str] | float | int | str | None = None,
2037
2030
  type: Literal[
@@ -2363,7 +2356,6 @@ class Input(BaseInput):
2363
2356
  Returns:
2364
2357
  The component.
2365
2358
  """
2366
- ...
2367
2359
 
2368
2360
  class Label(BaseHTML):
2369
2361
  @overload
@@ -2613,7 +2605,6 @@ class Label(BaseHTML):
2613
2605
  Returns:
2614
2606
  The component.
2615
2607
  """
2616
- ...
2617
2608
 
2618
2609
  class Legend(BaseHTML):
2619
2610
  @overload
@@ -2859,7 +2850,6 @@ class Legend(BaseHTML):
2859
2850
  Returns:
2860
2851
  The component.
2861
2852
  """
2862
- ...
2863
2853
 
2864
2854
  class Meter(BaseHTML):
2865
2855
  @overload
@@ -2868,12 +2858,12 @@ class Meter(BaseHTML):
2868
2858
  cls,
2869
2859
  *children,
2870
2860
  form: Var[str] | str | None = None,
2871
- high: Var[float | int] | float | int | None = None,
2872
- low: Var[float | int] | float | int | None = None,
2873
- max: Var[float | int] | float | int | None = None,
2874
- min: Var[float | int] | float | int | None = None,
2875
- optimum: Var[float | int] | float | int | None = None,
2876
- value: Var[float | int] | float | int | None = None,
2861
+ high: Var[float | int | str] | float | int | str | None = None,
2862
+ low: Var[float | int | str] | float | int | str | None = None,
2863
+ max: Var[float | int | str] | float | int | str | None = None,
2864
+ min: Var[float | int | str] | float | int | str | None = None,
2865
+ optimum: Var[float | int | str] | float | int | str | None = None,
2866
+ value: Var[float | int | str] | float | int | str | None = None,
2877
2867
  access_key: Var[str] | str | None = None,
2878
2868
  auto_capitalize: Literal[
2879
2869
  "characters", "none", "off", "on", "sentences", "words"
@@ -3119,7 +3109,6 @@ class Meter(BaseHTML):
3119
3109
  Returns:
3120
3110
  The component.
3121
3111
  """
3122
- ...
3123
3112
 
3124
3113
  class Optgroup(BaseHTML):
3125
3114
  @overload
@@ -3369,7 +3358,6 @@ class Optgroup(BaseHTML):
3369
3358
  Returns:
3370
3359
  The component.
3371
3360
  """
3372
- ...
3373
3361
 
3374
3362
  class Option(BaseHTML):
3375
3363
  @overload
@@ -3623,7 +3611,6 @@ class Option(BaseHTML):
3623
3611
  Returns:
3624
3612
  The component.
3625
3613
  """
3626
- ...
3627
3614
 
3628
3615
  class Output(BaseHTML):
3629
3616
  @overload
@@ -3875,7 +3862,6 @@ class Output(BaseHTML):
3875
3862
  Returns:
3876
3863
  The component.
3877
3864
  """
3878
- ...
3879
3865
 
3880
3866
  class Progress(BaseHTML):
3881
3867
  @overload
@@ -4127,7 +4113,6 @@ class Progress(BaseHTML):
4127
4113
  Returns:
4128
4114
  The component.
4129
4115
  """
4130
- ...
4131
4116
 
4132
4117
  class Select(BaseHTML):
4133
4118
  @overload
@@ -4142,7 +4127,7 @@ class Select(BaseHTML):
4142
4127
  multiple: Var[bool] | bool | None = None,
4143
4128
  name: Var[str] | str | None = None,
4144
4129
  required: Var[bool] | bool | None = None,
4145
- size: Var[int] | int | None = None,
4130
+ size: Var[int | str] | int | str | None = None,
4146
4131
  value: Var[str] | str | None = None,
4147
4132
  default_value: Var[str] | str | None = None,
4148
4133
  access_key: Var[str] | str | None = None,
@@ -4395,7 +4380,6 @@ class Select(BaseHTML):
4395
4380
  Returns:
4396
4381
  The component.
4397
4382
  """
4398
- ...
4399
4383
 
4400
4384
  AUTO_HEIGHT_JS = '\nconst autoHeightOnInput = (e, is_enabled) => {\n if (is_enabled) {\n const el = e.target;\n el.style.overflowY = "scroll";\n el.style.height = "auto";\n el.style.height = (e.target.scrollHeight) + "px";\n if (el.form && !el.form.data_resize_on_reset) {\n el.form.addEventListener("reset", () => window.setTimeout(() => autoHeightOnInput(e, is_enabled), 0))\n el.form.data_resize_on_reset = true;\n }\n }\n}\n'
4401
4385
  ENTER_KEY_SUBMIT_JS = "\nconst enterKeySubmitOnKeyDown = (e, is_enabled) => {\n if (is_enabled && e.which === 13 && !e.shiftKey) {\n e.preventDefault();\n if (!e.repeat) {\n if (e.target.form) {\n e.target.form.requestSubmit();\n }\n }\n }\n}\n"
@@ -4409,19 +4393,19 @@ class Textarea(BaseHTML):
4409
4393
  auto_complete: Var[str] | str | None = None,
4410
4394
  auto_focus: Var[bool] | bool | None = None,
4411
4395
  auto_height: Var[bool] | bool | None = None,
4412
- cols: Var[int] | int | None = None,
4396
+ cols: Var[int | str] | int | str | None = None,
4413
4397
  default_value: Var[str] | str | None = None,
4414
4398
  dirname: Var[str] | str | None = None,
4415
4399
  disabled: Var[bool] | bool | None = None,
4416
4400
  enter_key_submit: Var[bool] | bool | None = None,
4417
4401
  form: Var[str] | str | None = None,
4418
- max_length: Var[int] | int | None = None,
4419
- min_length: Var[int] | int | None = None,
4402
+ max_length: Var[int | str] | int | str | None = None,
4403
+ min_length: Var[int | str] | int | str | None = None,
4420
4404
  name: Var[str] | str | None = None,
4421
4405
  placeholder: Var[str] | str | None = None,
4422
4406
  read_only: Var[bool] | bool | None = None,
4423
4407
  required: Var[bool] | bool | None = None,
4424
- rows: Var[int] | int | None = None,
4408
+ rows: Var[int | str] | int | str | None = None,
4425
4409
  value: Var[str] | str | None = None,
4426
4410
  wrap: Var[str] | str | None = None,
4427
4411
  access_key: Var[str] | str | None = None,
@@ -4691,7 +4675,6 @@ class Textarea(BaseHTML):
4691
4675
  Raises:
4692
4676
  ValueError: when `enter_key_submit` is combined with `on_key_down`.
4693
4677
  """
4694
- ...
4695
4678
 
4696
4679
  button = Button.create
4697
4680
  datalist = Datalist.create
@@ -311,7 +311,6 @@ class A(BaseHTML):
311
311
  Returns:
312
312
  The component.
313
313
  """
314
- ...
315
314
 
316
315
  class Abbr(BaseHTML):
317
316
  @overload
@@ -557,7 +556,6 @@ class Abbr(BaseHTML):
557
556
  Returns:
558
557
  The component.
559
558
  """
560
- ...
561
559
 
562
560
  class B(BaseHTML):
563
561
  @overload
@@ -803,7 +801,6 @@ class B(BaseHTML):
803
801
  Returns:
804
802
  The component.
805
803
  """
806
- ...
807
804
 
808
805
  class Bdi(BaseHTML):
809
806
  @overload
@@ -1049,7 +1046,6 @@ class Bdi(BaseHTML):
1049
1046
  Returns:
1050
1047
  The component.
1051
1048
  """
1052
- ...
1053
1049
 
1054
1050
  class Bdo(BaseHTML):
1055
1051
  @overload
@@ -1295,7 +1291,6 @@ class Bdo(BaseHTML):
1295
1291
  Returns:
1296
1292
  The component.
1297
1293
  """
1298
- ...
1299
1294
 
1300
1295
  class Br(BaseHTML):
1301
1296
  @overload
@@ -1541,7 +1536,6 @@ class Br(BaseHTML):
1541
1536
  Returns:
1542
1537
  The component.
1543
1538
  """
1544
- ...
1545
1539
 
1546
1540
  class Cite(BaseHTML):
1547
1541
  @overload
@@ -1787,7 +1781,6 @@ class Cite(BaseHTML):
1787
1781
  Returns:
1788
1782
  The component.
1789
1783
  """
1790
- ...
1791
1784
 
1792
1785
  class Code(BaseHTML):
1793
1786
  @overload
@@ -2033,7 +2026,6 @@ class Code(BaseHTML):
2033
2026
  Returns:
2034
2027
  The component.
2035
2028
  """
2036
- ...
2037
2029
 
2038
2030
  class Data(BaseHTML):
2039
2031
  @overload
@@ -2281,7 +2273,6 @@ class Data(BaseHTML):
2281
2273
  Returns:
2282
2274
  The component.
2283
2275
  """
2284
- ...
2285
2276
 
2286
2277
  class Dfn(BaseHTML):
2287
2278
  @overload
@@ -2527,7 +2518,6 @@ class Dfn(BaseHTML):
2527
2518
  Returns:
2528
2519
  The component.
2529
2520
  """
2530
- ...
2531
2521
 
2532
2522
  class Em(BaseHTML):
2533
2523
  @overload
@@ -2773,7 +2763,6 @@ class Em(BaseHTML):
2773
2763
  Returns:
2774
2764
  The component.
2775
2765
  """
2776
- ...
2777
2766
 
2778
2767
  class I(BaseHTML):
2779
2768
  @overload
@@ -3019,7 +3008,6 @@ class I(BaseHTML):
3019
3008
  Returns:
3020
3009
  The component.
3021
3010
  """
3022
- ...
3023
3011
 
3024
3012
  class Kbd(BaseHTML):
3025
3013
  @overload
@@ -3265,7 +3253,6 @@ class Kbd(BaseHTML):
3265
3253
  Returns:
3266
3254
  The component.
3267
3255
  """
3268
- ...
3269
3256
 
3270
3257
  class Mark(BaseHTML):
3271
3258
  @overload
@@ -3511,7 +3498,6 @@ class Mark(BaseHTML):
3511
3498
  Returns:
3512
3499
  The component.
3513
3500
  """
3514
- ...
3515
3501
 
3516
3502
  class Q(BaseHTML):
3517
3503
  @overload
@@ -3759,7 +3745,6 @@ class Q(BaseHTML):
3759
3745
  Returns:
3760
3746
  The component.
3761
3747
  """
3762
- ...
3763
3748
 
3764
3749
  class Rp(BaseHTML):
3765
3750
  @overload
@@ -4005,7 +3990,6 @@ class Rp(BaseHTML):
4005
3990
  Returns:
4006
3991
  The component.
4007
3992
  """
4008
- ...
4009
3993
 
4010
3994
  class Rt(BaseHTML):
4011
3995
  @overload
@@ -4251,7 +4235,6 @@ class Rt(BaseHTML):
4251
4235
  Returns:
4252
4236
  The component.
4253
4237
  """
4254
- ...
4255
4238
 
4256
4239
  class Ruby(BaseHTML):
4257
4240
  @overload
@@ -4497,7 +4480,6 @@ class Ruby(BaseHTML):
4497
4480
  Returns:
4498
4481
  The component.
4499
4482
  """
4500
- ...
4501
4483
 
4502
4484
  class S(BaseHTML):
4503
4485
  @overload
@@ -4743,7 +4725,6 @@ class S(BaseHTML):
4743
4725
  Returns:
4744
4726
  The component.
4745
4727
  """
4746
- ...
4747
4728
 
4748
4729
  class Samp(BaseHTML):
4749
4730
  @overload
@@ -4989,7 +4970,6 @@ class Samp(BaseHTML):
4989
4970
  Returns:
4990
4971
  The component.
4991
4972
  """
4992
- ...
4993
4973
 
4994
4974
  class Small(BaseHTML):
4995
4975
  @overload
@@ -5235,7 +5215,6 @@ class Small(BaseHTML):
5235
5215
  Returns:
5236
5216
  The component.
5237
5217
  """
5238
- ...
5239
5218
 
5240
5219
  class Span(BaseHTML):
5241
5220
  @overload
@@ -5481,7 +5460,6 @@ class Span(BaseHTML):
5481
5460
  Returns:
5482
5461
  The component.
5483
5462
  """
5484
- ...
5485
5463
 
5486
5464
  class Strong(BaseHTML):
5487
5465
  @overload
@@ -5727,7 +5705,6 @@ class Strong(BaseHTML):
5727
5705
  Returns:
5728
5706
  The component.
5729
5707
  """
5730
- ...
5731
5708
 
5732
5709
  class Sub(BaseHTML):
5733
5710
  @overload
@@ -5973,7 +5950,6 @@ class Sub(BaseHTML):
5973
5950
  Returns:
5974
5951
  The component.
5975
5952
  """
5976
- ...
5977
5953
 
5978
5954
  class Sup(BaseHTML):
5979
5955
  @overload
@@ -6219,7 +6195,6 @@ class Sup(BaseHTML):
6219
6195
  Returns:
6220
6196
  The component.
6221
6197
  """
6222
- ...
6223
6198
 
6224
6199
  class Time(BaseHTML):
6225
6200
  @overload
@@ -6467,7 +6442,6 @@ class Time(BaseHTML):
6467
6442
  Returns:
6468
6443
  The component.
6469
6444
  """
6470
- ...
6471
6445
 
6472
6446
  class U(BaseHTML):
6473
6447
  @overload
@@ -6713,7 +6687,6 @@ class U(BaseHTML):
6713
6687
  Returns:
6714
6688
  The component.
6715
6689
  """
6716
- ...
6717
6690
 
6718
6691
  class Wbr(BaseHTML):
6719
6692
  @overload
@@ -6959,7 +6932,6 @@ class Wbr(BaseHTML):
6959
6932
  Returns:
6960
6933
  The component.
6961
6934
  """
6962
- ...
6963
6935
 
6964
6936
  a = A.create
6965
6937
  abbr = Abbr.create
@@ -484,6 +484,30 @@ class Path(BaseHTML):
484
484
  d: Var[str | int | float]
485
485
 
486
486
 
487
+ class G(BaseHTML):
488
+ """The SVG g component, used to group other SVG elements."""
489
+
490
+ tag = "g"
491
+
492
+ # The fill color of the group.
493
+ fill: Var[str | Color]
494
+
495
+ # The fill opacity of the group.
496
+ fill_opacity: Var[str | int | float]
497
+
498
+ # The stroke color of the group.
499
+ stroke: Var[str | Color]
500
+
501
+ # The stroke opacity of the group.
502
+ stroke_opacity: Var[str | int | float]
503
+
504
+ # The stroke width of the group.
505
+ stroke_width: Var[str | int | float]
506
+
507
+ # The transform applied to the group.
508
+ transform: Var[str]
509
+
510
+
487
511
  class SVG(ComponentNamespace):
488
512
  """SVG component namespace."""
489
513
 
@@ -498,6 +522,7 @@ class SVG(ComponentNamespace):
498
522
  linear_gradient = staticmethod(LinearGradient.create)
499
523
  radial_gradient = staticmethod(RadialGradient.create)
500
524
  defs = staticmethod(Defs.create)
525
+ g = staticmethod(G.create)
501
526
  __call__ = staticmethod(Svg.create)
502
527
 
503
528
 
@@ -512,6 +537,7 @@ stop = Stop.create
512
537
  linear_gradient = LinearGradient.create
513
538
  radial_gradient = RadialGradient.create
514
539
  defs = Defs.create
540
+ g = G.create
515
541
  area = Area.create
516
542
  audio = Audio.create
517
543
  image = img = Img.create