reflex 0.5.5a2__py3-none-any.whl → 0.5.6a1__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 (262) hide show
  1. reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -1
  2. reflex/.templates/jinja/web/utils/context.js.jinja2 +2 -0
  3. reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +20 -2
  4. reflex/.templates/web/utils/helpers/paste.js +59 -0
  5. reflex/__init__.py +2 -0
  6. reflex/__init__.pyi +86 -87
  7. reflex/app.py +64 -126
  8. reflex/app_mixins/__init__.py +5 -0
  9. reflex/app_mixins/lifespan.py +57 -0
  10. reflex/app_mixins/middleware.py +93 -0
  11. reflex/app_mixins/mixin.py +14 -0
  12. reflex/compiler/compiler.py +6 -1
  13. reflex/components/__init__.pyi +0 -2
  14. reflex/components/base/__init__.pyi +1 -3
  15. reflex/components/base/app_wrap.pyi +21 -22
  16. reflex/components/base/body.pyi +21 -20
  17. reflex/components/base/document.pyi +85 -85
  18. reflex/components/base/fragment.pyi +21 -20
  19. reflex/components/base/head.pyi +37 -36
  20. reflex/components/base/link.pyi +37 -37
  21. reflex/components/base/meta.pyi +69 -70
  22. reflex/components/base/script.py +6 -2
  23. reflex/components/base/script.pyi +31 -27
  24. reflex/components/chakra/base.pyi +54 -56
  25. reflex/components/chakra/datadisplay/badge.pyi +21 -21
  26. reflex/components/chakra/datadisplay/code.pyi +21 -20
  27. reflex/components/chakra/datadisplay/divider.pyi +21 -22
  28. reflex/components/chakra/datadisplay/keyboard_key.pyi +21 -20
  29. reflex/components/chakra/datadisplay/list.pyi +69 -71
  30. reflex/components/chakra/datadisplay/stat.pyi +101 -102
  31. reflex/components/chakra/datadisplay/table.pyi +149 -153
  32. reflex/components/chakra/datadisplay/tag.pyi +85 -89
  33. reflex/components/chakra/disclosure/accordion.pyi +87 -93
  34. reflex/components/chakra/disclosure/tabs.pyi +85 -90
  35. reflex/components/chakra/disclosure/transition.pyi +104 -105
  36. reflex/components/chakra/disclosure/visuallyhidden.pyi +21 -20
  37. reflex/components/chakra/feedback/alert.pyi +69 -70
  38. reflex/components/chakra/feedback/circularprogress.pyi +38 -40
  39. reflex/components/chakra/feedback/progress.pyi +22 -23
  40. reflex/components/chakra/feedback/skeleton.pyi +53 -53
  41. reflex/components/chakra/feedback/spinner.pyi +21 -21
  42. reflex/components/chakra/forms/button.pyi +37 -42
  43. reflex/components/chakra/forms/checkbox.pyi +38 -39
  44. reflex/components/chakra/forms/colormodeswitch.pyi +72 -71
  45. reflex/components/chakra/forms/date_picker.pyi +24 -24
  46. reflex/components/chakra/forms/date_time_picker.pyi +24 -24
  47. reflex/components/chakra/forms/editable.pyi +73 -74
  48. reflex/components/chakra/forms/email.pyi +24 -24
  49. reflex/components/chakra/forms/form.pyi +112 -141
  50. reflex/components/chakra/forms/iconbutton.pyi +21 -22
  51. reflex/components/chakra/forms/input.pyi +104 -111
  52. reflex/components/chakra/forms/numberinput.pyi +87 -91
  53. reflex/components/chakra/forms/password.pyi +24 -24
  54. reflex/components/chakra/forms/pininput.pyi +39 -45
  55. reflex/components/chakra/forms/radio.pyi +38 -43
  56. reflex/components/chakra/forms/rangeslider.pyi +72 -76
  57. reflex/components/chakra/forms/select.pyi +39 -44
  58. reflex/components/chakra/forms/slider.pyi +88 -91
  59. reflex/components/chakra/forms/switch.pyi +22 -23
  60. reflex/components/chakra/forms/textarea.pyi +24 -27
  61. reflex/components/chakra/forms/time_picker.pyi +24 -24
  62. reflex/components/chakra/layout/aspect_ratio.pyi +21 -21
  63. reflex/components/chakra/layout/box.pyi +21 -22
  64. reflex/components/chakra/layout/card.pyi +69 -73
  65. reflex/components/chakra/layout/center.pyi +53 -52
  66. reflex/components/chakra/layout/container.pyi +21 -21
  67. reflex/components/chakra/layout/flex.pyi +23 -26
  68. reflex/components/chakra/layout/grid.pyi +53 -54
  69. reflex/components/chakra/layout/spacer.pyi +21 -20
  70. reflex/components/chakra/layout/stack.pyi +62 -60
  71. reflex/components/chakra/layout/wrap.pyi +37 -38
  72. reflex/components/chakra/media/avatar.pyi +54 -55
  73. reflex/components/chakra/media/icon.pyi +37 -38
  74. reflex/components/chakra/media/image.pyi +24 -26
  75. reflex/components/chakra/navigation/breadcrumb.pyi +69 -71
  76. reflex/components/chakra/navigation/link.pyi +20 -21
  77. reflex/components/chakra/navigation/linkoverlay.pyi +37 -37
  78. reflex/components/chakra/navigation/stepper.pyi +149 -151
  79. reflex/components/chakra/overlay/alertdialog.pyi +121 -124
  80. reflex/components/chakra/overlay/drawer.pyi +121 -126
  81. reflex/components/chakra/overlay/menu.pyi +135 -141
  82. reflex/components/chakra/overlay/modal.pyi +121 -124
  83. reflex/components/chakra/overlay/popover.pyi +151 -156
  84. reflex/components/chakra/overlay/tooltip.pyi +23 -24
  85. reflex/components/chakra/typography/heading.pyi +21 -21
  86. reflex/components/chakra/typography/highlight.pyi +21 -23
  87. reflex/components/chakra/typography/span.pyi +21 -21
  88. reflex/components/chakra/typography/text.pyi +21 -21
  89. reflex/components/component.py +6 -2
  90. reflex/components/core/__init__.py +2 -0
  91. reflex/components/core/__init__.pyi +9 -7
  92. reflex/components/core/banner.pyi +118 -146
  93. reflex/components/core/breakpoints.py +95 -0
  94. reflex/components/core/client_side_routing.pyi +37 -39
  95. reflex/components/core/clipboard.py +95 -0
  96. reflex/components/core/clipboard.pyi +102 -0
  97. reflex/components/core/debounce.pyi +23 -28
  98. reflex/components/core/html.pyi +38 -55
  99. reflex/components/core/upload.pyi +74 -91
  100. reflex/components/datadisplay/__init__.pyi +2 -3
  101. reflex/components/datadisplay/code.py +3 -3
  102. reflex/components/datadisplay/code.pyi +22 -31
  103. reflex/components/datadisplay/dataeditor.pyi +41 -45
  104. reflex/components/el/__init__.pyi +131 -135
  105. reflex/components/el/element.pyi +21 -20
  106. reflex/components/el/elements/__init__.pyi +131 -132
  107. reflex/components/el/elements/base.pyi +38 -55
  108. reflex/components/el/elements/forms.pyi +558 -878
  109. reflex/components/el/elements/inline.pyi +941 -1403
  110. reflex/components/el/elements/media.pyi +645 -994
  111. reflex/components/el/elements/metadata.pyi +186 -268
  112. reflex/components/el/elements/other.pyi +239 -353
  113. reflex/components/el/elements/scripts.pyi +113 -171
  114. reflex/components/el/elements/sectioning.pyi +500 -739
  115. reflex/components/el/elements/tables.pyi +355 -551
  116. reflex/components/el/elements/typography.pyi +510 -760
  117. reflex/components/gridjs/datatable.pyi +38 -42
  118. reflex/components/lucide/icon.pyi +37 -38
  119. reflex/components/markdown/markdown.pyi +23 -36
  120. reflex/components/moment/moment.pyi +23 -25
  121. reflex/components/next/base.pyi +21 -20
  122. reflex/components/next/image.pyi +25 -27
  123. reflex/components/next/link.pyi +21 -21
  124. reflex/components/next/video.pyi +22 -22
  125. reflex/components/plotly/plotly.pyi +42 -45
  126. reflex/components/radix/__init__.pyi +26 -30
  127. reflex/components/radix/primitives/__init__.pyi +0 -2
  128. reflex/components/radix/primitives/accordion.pyi +119 -127
  129. reflex/components/radix/primitives/base.pyi +37 -40
  130. reflex/components/radix/primitives/drawer.pyi +175 -179
  131. reflex/components/radix/primitives/form.pyi +250 -336
  132. reflex/components/radix/primitives/progress.pyi +92 -96
  133. reflex/components/radix/primitives/slider.pyi +87 -89
  134. reflex/components/radix/themes/__init__.pyi +0 -2
  135. reflex/components/radix/themes/base.pyi +118 -121
  136. reflex/components/radix/themes/color_mode.pyi +103 -117
  137. reflex/components/radix/themes/components/__init__.pyi +12 -14
  138. reflex/components/radix/themes/components/alert_dialog.py +2 -1
  139. reflex/components/radix/themes/components/alert_dialog.pyi +150 -157
  140. reflex/components/radix/themes/components/aspect_ratio.pyi +22 -22
  141. reflex/components/radix/themes/components/avatar.py +2 -1
  142. reflex/components/radix/themes/components/avatar.pyi +32 -23
  143. reflex/components/radix/themes/components/badge.py +2 -1
  144. reflex/components/radix/themes/components/badge.pyi +50 -57
  145. reflex/components/radix/themes/components/button.py +2 -1
  146. reflex/components/radix/themes/components/button.pyi +60 -79
  147. reflex/components/radix/themes/components/callout.py +2 -1
  148. reflex/components/radix/themes/components/callout.pyi +201 -258
  149. reflex/components/radix/themes/components/card.py +2 -1
  150. reflex/components/radix/themes/components/card.pyi +48 -56
  151. reflex/components/radix/themes/components/checkbox.py +2 -1
  152. reflex/components/radix/themes/components/checkbox.pyi +68 -62
  153. reflex/components/radix/themes/components/checkbox_cards.py +8 -3
  154. reflex/components/radix/themes/components/checkbox_cards.pyi +87 -44
  155. reflex/components/radix/themes/components/checkbox_group.py +2 -1
  156. reflex/components/radix/themes/components/checkbox_group.pyi +49 -40
  157. reflex/components/radix/themes/components/context_menu.py +2 -1
  158. reflex/components/radix/themes/components/context_menu.pyi +153 -147
  159. reflex/components/radix/themes/components/data_list.py +8 -7
  160. reflex/components/radix/themes/components/data_list.pyi +116 -78
  161. reflex/components/radix/themes/components/dialog.py +2 -1
  162. reflex/components/radix/themes/components/dialog.pyi +154 -161
  163. reflex/components/radix/themes/components/dropdown_menu.py +2 -1
  164. reflex/components/radix/themes/components/dropdown_menu.pyi +169 -163
  165. reflex/components/radix/themes/components/hover_card.py +2 -1
  166. reflex/components/radix/themes/components/hover_card.pyi +97 -107
  167. reflex/components/radix/themes/components/icon_button.py +2 -1
  168. reflex/components/radix/themes/components/icon_button.pyi +59 -82
  169. reflex/components/radix/themes/components/inset.py +10 -9
  170. reflex/components/radix/themes/components/inset.pyi +109 -61
  171. reflex/components/radix/themes/components/popover.py +2 -1
  172. reflex/components/radix/themes/components/popover.pyi +105 -112
  173. reflex/components/radix/themes/components/progress.py +2 -1
  174. reflex/components/radix/themes/components/progress.pyi +32 -24
  175. reflex/components/radix/themes/components/radio.py +2 -1
  176. reflex/components/radix/themes/components/radio.pyi +32 -23
  177. reflex/components/radix/themes/components/radio_cards.py +51 -3
  178. reflex/components/radix/themes/components/radio_cards.pyi +120 -44
  179. reflex/components/radix/themes/components/radio_group.py +5 -2
  180. reflex/components/radix/themes/components/radio_group.pyi +82 -77
  181. reflex/components/radix/themes/components/scroll_area.pyi +21 -21
  182. reflex/components/radix/themes/components/segmented_control.py +2 -1
  183. reflex/components/radix/themes/components/segmented_control.pyi +52 -46
  184. reflex/components/radix/themes/components/select.py +2 -1
  185. reflex/components/radix/themes/components/select.pyi +188 -164
  186. reflex/components/radix/themes/components/separator.py +5 -2
  187. reflex/components/radix/themes/components/separator.pyi +40 -24
  188. reflex/components/radix/themes/components/skeleton.py +7 -6
  189. reflex/components/radix/themes/components/skeleton.pyi +40 -26
  190. reflex/components/radix/themes/components/slider.py +2 -1
  191. reflex/components/radix/themes/components/slider.pyi +40 -31
  192. reflex/components/radix/themes/components/spinner.py +2 -1
  193. reflex/components/radix/themes/components/spinner.pyi +31 -22
  194. reflex/components/radix/themes/components/switch.py +2 -1
  195. reflex/components/radix/themes/components/switch.pyi +33 -25
  196. reflex/components/radix/themes/components/table.py +2 -1
  197. reflex/components/radix/themes/components/table.pyi +265 -404
  198. reflex/components/radix/themes/components/tabs.py +14 -1
  199. reflex/components/radix/themes/components/tabs.pyi +113 -92
  200. reflex/components/radix/themes/components/text_area.py +3 -2
  201. reflex/components/radix/themes/components/text_area.pyi +64 -66
  202. reflex/components/radix/themes/components/text_field.py +2 -1
  203. reflex/components/radix/themes/components/text_field.pyi +116 -140
  204. reflex/components/radix/themes/components/tooltip.pyi +32 -37
  205. reflex/components/radix/themes/layout/__init__.pyi +4 -7
  206. reflex/components/radix/themes/layout/base.py +10 -9
  207. reflex/components/radix/themes/layout/base.pyi +121 -31
  208. reflex/components/radix/themes/layout/box.pyi +39 -53
  209. reflex/components/radix/themes/layout/center.pyi +89 -58
  210. reflex/components/radix/themes/layout/container.py +4 -1
  211. reflex/components/radix/themes/layout/container.pyi +51 -58
  212. reflex/components/radix/themes/layout/flex.py +6 -5
  213. reflex/components/radix/themes/layout/flex.pyi +91 -61
  214. reflex/components/radix/themes/layout/grid.py +9 -8
  215. reflex/components/radix/themes/layout/grid.pyi +116 -64
  216. reflex/components/radix/themes/layout/list.pyi +173 -233
  217. reflex/components/radix/themes/layout/section.py +4 -1
  218. reflex/components/radix/themes/layout/section.pyi +50 -57
  219. reflex/components/radix/themes/layout/spacer.pyi +89 -58
  220. reflex/components/radix/themes/layout/stack.pyi +160 -160
  221. reflex/components/radix/themes/typography/__init__.pyi +0 -2
  222. reflex/components/radix/themes/typography/blockquote.py +3 -2
  223. reflex/components/radix/themes/typography/blockquote.pyi +58 -59
  224. reflex/components/radix/themes/typography/code.py +3 -2
  225. reflex/components/radix/themes/typography/code.pyi +57 -58
  226. reflex/components/radix/themes/typography/heading.py +5 -4
  227. reflex/components/radix/themes/typography/heading.pyi +71 -60
  228. reflex/components/radix/themes/typography/link.py +4 -3
  229. reflex/components/radix/themes/typography/link.pyi +74 -82
  230. reflex/components/radix/themes/typography/text.py +5 -4
  231. reflex/components/radix/themes/typography/text.pyi +330 -364
  232. reflex/components/react_player/audio.pyi +37 -36
  233. reflex/components/react_player/react_player.pyi +37 -38
  234. reflex/components/react_player/video.pyi +37 -36
  235. reflex/components/recharts/__init__.pyi +41 -42
  236. reflex/components/recharts/cartesian.pyi +384 -400
  237. reflex/components/recharts/charts.pyi +224 -231
  238. reflex/components/recharts/general.pyi +89 -96
  239. reflex/components/recharts/polar.pyi +97 -104
  240. reflex/components/recharts/recharts.pyi +37 -37
  241. reflex/components/sonner/toast.pyi +22 -27
  242. reflex/components/suneditor/editor.pyi +53 -58
  243. reflex/config.py +6 -0
  244. reflex/constants/event.py +1 -0
  245. reflex/experimental/layout.pyi +140 -194
  246. reflex/model.py +14 -2
  247. reflex/state.py +38 -45
  248. reflex/style.py +24 -13
  249. reflex/utils/codespaces.py +94 -0
  250. reflex/utils/compat.py +21 -0
  251. reflex/utils/exceptions.py +4 -0
  252. reflex/utils/format.py +25 -4
  253. reflex/utils/prerequisites.py +0 -13
  254. reflex/utils/pyi_generator.py +88 -61
  255. reflex/utils/types.py +83 -5
  256. reflex/vars.py +62 -5
  257. reflex/vars.pyi +23 -11
  258. {reflex-0.5.5a2.dist-info → reflex-0.5.6a1.dist-info}/METADATA +4 -5
  259. {reflex-0.5.5a2.dist-info → reflex-0.5.6a1.dist-info}/RECORD +262 -253
  260. {reflex-0.5.5a2.dist-info → reflex-0.5.6a1.dist-info}/LICENSE +0 -0
  261. {reflex-0.5.5a2.dist-info → reflex-0.5.6a1.dist-info}/WHEEL +0 -0
  262. {reflex-0.5.5a2.dist-info → reflex-0.5.6a1.dist-info}/entry_points.txt +0 -0
@@ -1,15 +1,16 @@
1
1
  """Stub file for reflex/components/radix/themes/layout/base.py"""
2
+
2
3
  # ------------------- DO NOT EDIT ----------------------
3
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
4
5
  # ------------------------------------------------------
6
+ from typing import Any, Callable, Dict, Literal, Optional, Union, overload
5
7
 
6
- from typing import Any, Dict, Literal, Optional, Union, overload
7
- from reflex.vars import Var, BaseVar, ComputedVar
8
- from reflex.event import EventChain, EventHandler, EventSpec
8
+ from reflex.components.core.breakpoints import Breakpoints
9
+ from reflex.event import EventHandler, EventSpec
9
10
  from reflex.style import Style
10
- from typing import Literal
11
- from reflex.vars import Var
12
- from ..base import CommonMarginProps, LiteralSpacing, RadixThemesComponent
11
+ from reflex.vars import BaseVar, Var
12
+
13
+ from ..base import CommonMarginProps, RadixThemesComponent
13
14
 
14
15
  LiteralBoolNumber = Literal["0", "1"]
15
16
 
@@ -21,48 +22,137 @@ class LayoutComponent(CommonMarginProps, RadixThemesComponent):
21
22
  *children,
22
23
  p: Optional[
23
24
  Union[
24
- Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
25
+ Var[
26
+ Union[
27
+ Breakpoints[
28
+ str,
29
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
30
+ ],
31
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
32
+ ]
33
+ ],
25
34
  Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
35
+ Breakpoints[
36
+ str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
37
+ ],
26
38
  ]
27
39
  ] = None,
28
40
  px: Optional[
29
41
  Union[
30
- Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
42
+ Var[
43
+ Union[
44
+ Breakpoints[
45
+ str,
46
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
47
+ ],
48
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
49
+ ]
50
+ ],
31
51
  Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
52
+ Breakpoints[
53
+ str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
54
+ ],
32
55
  ]
33
56
  ] = None,
34
57
  py: Optional[
35
58
  Union[
36
- Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
59
+ Var[
60
+ Union[
61
+ Breakpoints[
62
+ str,
63
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
64
+ ],
65
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
66
+ ]
67
+ ],
37
68
  Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
69
+ Breakpoints[
70
+ str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
71
+ ],
38
72
  ]
39
73
  ] = None,
40
74
  pt: Optional[
41
75
  Union[
42
- Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
76
+ Var[
77
+ Union[
78
+ Breakpoints[
79
+ str,
80
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
81
+ ],
82
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
83
+ ]
84
+ ],
43
85
  Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
86
+ Breakpoints[
87
+ str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
88
+ ],
44
89
  ]
45
90
  ] = None,
46
91
  pr: Optional[
47
92
  Union[
48
- Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
93
+ Var[
94
+ Union[
95
+ Breakpoints[
96
+ str,
97
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
98
+ ],
99
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
100
+ ]
101
+ ],
49
102
  Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
103
+ Breakpoints[
104
+ str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
105
+ ],
50
106
  ]
51
107
  ] = None,
52
108
  pb: Optional[
53
109
  Union[
54
- Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
110
+ Var[
111
+ Union[
112
+ Breakpoints[
113
+ str,
114
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
115
+ ],
116
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
117
+ ]
118
+ ],
55
119
  Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
120
+ Breakpoints[
121
+ str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
122
+ ],
56
123
  ]
57
124
  ] = None,
58
125
  pl: Optional[
59
126
  Union[
60
- Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
127
+ Var[
128
+ Union[
129
+ Breakpoints[
130
+ str,
131
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
132
+ ],
133
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
134
+ ]
135
+ ],
61
136
  Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
137
+ Breakpoints[
138
+ str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
139
+ ],
140
+ ]
141
+ ] = None,
142
+ flex_shrink: Optional[
143
+ Union[
144
+ Var[Union[Breakpoints[str, Literal["0", "1"]], Literal["0", "1"]]],
145
+ Literal["0", "1"],
146
+ Breakpoints[str, Literal["0", "1"]],
147
+ ]
148
+ ] = None,
149
+ flex_grow: Optional[
150
+ Union[
151
+ Var[Union[Breakpoints[str, Literal["0", "1"]], Literal["0", "1"]]],
152
+ Literal["0", "1"],
153
+ Breakpoints[str, Literal["0", "1"]],
62
154
  ]
63
155
  ] = None,
64
- flex_shrink: Optional[Union[Var[Literal["0", "1"]], Literal["0", "1"]]] = None,
65
- flex_grow: Optional[Union[Var[Literal["0", "1"]], Literal["0", "1"]]] = None,
66
156
  m: Optional[
67
157
  Union[
68
158
  Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
@@ -112,51 +202,51 @@ class LayoutComponent(CommonMarginProps, RadixThemesComponent):
112
202
  autofocus: Optional[bool] = None,
113
203
  custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
114
204
  on_blur: Optional[
115
- Union[EventHandler, EventSpec, list, function, BaseVar]
205
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
116
206
  ] = None,
117
207
  on_click: Optional[
118
- Union[EventHandler, EventSpec, list, function, BaseVar]
208
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
119
209
  ] = None,
120
210
  on_context_menu: Optional[
121
- Union[EventHandler, EventSpec, list, function, BaseVar]
211
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
122
212
  ] = None,
123
213
  on_double_click: Optional[
124
- Union[EventHandler, EventSpec, list, function, BaseVar]
214
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
125
215
  ] = None,
126
216
  on_focus: Optional[
127
- Union[EventHandler, EventSpec, list, function, BaseVar]
217
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
128
218
  ] = None,
129
219
  on_mount: Optional[
130
- Union[EventHandler, EventSpec, list, function, BaseVar]
220
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
131
221
  ] = None,
132
222
  on_mouse_down: Optional[
133
- Union[EventHandler, EventSpec, list, function, BaseVar]
223
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
134
224
  ] = None,
135
225
  on_mouse_enter: Optional[
136
- Union[EventHandler, EventSpec, list, function, BaseVar]
226
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
137
227
  ] = None,
138
228
  on_mouse_leave: Optional[
139
- Union[EventHandler, EventSpec, list, function, BaseVar]
229
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
140
230
  ] = None,
141
231
  on_mouse_move: Optional[
142
- Union[EventHandler, EventSpec, list, function, BaseVar]
232
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
143
233
  ] = None,
144
234
  on_mouse_out: Optional[
145
- Union[EventHandler, EventSpec, list, function, BaseVar]
235
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
146
236
  ] = None,
147
237
  on_mouse_over: Optional[
148
- Union[EventHandler, EventSpec, list, function, BaseVar]
238
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
149
239
  ] = None,
150
240
  on_mouse_up: Optional[
151
- Union[EventHandler, EventSpec, list, function, BaseVar]
241
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
152
242
  ] = None,
153
243
  on_scroll: Optional[
154
- Union[EventHandler, EventSpec, list, function, BaseVar]
244
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
155
245
  ] = None,
156
246
  on_unmount: Optional[
157
- Union[EventHandler, EventSpec, list, function, BaseVar]
247
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
158
248
  ] = None,
159
- **props
249
+ **props,
160
250
  ) -> "LayoutComponent":
161
251
  """Create a new component instance.
162
252
 
@@ -1,13 +1,15 @@
1
1
  """Stub file for reflex/components/radix/themes/layout/box.py"""
2
+
2
3
  # ------------------- DO NOT EDIT ----------------------
3
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
4
5
  # ------------------------------------------------------
6
+ from typing import Any, Callable, Dict, Optional, Union, overload
5
7
 
6
- from typing import Any, Dict, Literal, Optional, Union, overload
7
- from reflex.vars import Var, BaseVar, ComputedVar
8
- from reflex.event import EventChain, EventHandler, EventSpec
9
- from reflex.style import Style
10
8
  from reflex.components.el import elements
9
+ from reflex.event import EventHandler, EventSpec
10
+ from reflex.style import Style
11
+ from reflex.vars import BaseVar, Var
12
+
11
13
  from ..base import RadixThemesComponent
12
14
 
13
15
  class Box(elements.Div, RadixThemesComponent):
@@ -16,46 +18,30 @@ class Box(elements.Div, RadixThemesComponent):
16
18
  def create( # type: ignore
17
19
  cls,
18
20
  *children,
19
- access_key: Optional[
20
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
21
- ] = None,
21
+ access_key: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
22
22
  auto_capitalize: Optional[
23
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
23
+ Union[Var[Union[bool, int, str]], str, int, bool]
24
24
  ] = None,
25
25
  content_editable: Optional[
26
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
26
+ Union[Var[Union[bool, int, str]], str, int, bool]
27
27
  ] = None,
28
28
  context_menu: Optional[
29
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
30
- ] = None,
31
- dir: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
32
- draggable: Optional[
33
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
29
+ Union[Var[Union[bool, int, str]], str, int, bool]
34
30
  ] = None,
31
+ dir: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
32
+ draggable: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
35
33
  enter_key_hint: Optional[
36
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
37
- ] = None,
38
- hidden: Optional[
39
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
40
- ] = None,
41
- input_mode: Optional[
42
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
43
- ] = None,
44
- item_prop: Optional[
45
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
46
- ] = None,
47
- lang: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
48
- role: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
49
- slot: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
50
- spell_check: Optional[
51
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
52
- ] = None,
53
- tab_index: Optional[
54
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
55
- ] = None,
56
- title: Optional[
57
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
58
- ] = None,
34
+ Union[Var[Union[bool, int, str]], str, int, bool]
35
+ ] = None,
36
+ hidden: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
37
+ input_mode: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
38
+ item_prop: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
39
+ lang: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
40
+ role: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
41
+ slot: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
42
+ spell_check: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
43
+ tab_index: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
44
+ title: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
59
45
  style: Optional[Style] = None,
60
46
  key: Optional[Any] = None,
61
47
  id: Optional[Any] = None,
@@ -63,51 +49,51 @@ class Box(elements.Div, RadixThemesComponent):
63
49
  autofocus: Optional[bool] = None,
64
50
  custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
65
51
  on_blur: Optional[
66
- Union[EventHandler, EventSpec, list, function, BaseVar]
52
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
67
53
  ] = None,
68
54
  on_click: Optional[
69
- Union[EventHandler, EventSpec, list, function, BaseVar]
55
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
70
56
  ] = None,
71
57
  on_context_menu: Optional[
72
- Union[EventHandler, EventSpec, list, function, BaseVar]
58
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
73
59
  ] = None,
74
60
  on_double_click: Optional[
75
- Union[EventHandler, EventSpec, list, function, BaseVar]
61
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
76
62
  ] = None,
77
63
  on_focus: Optional[
78
- Union[EventHandler, EventSpec, list, function, BaseVar]
64
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
79
65
  ] = None,
80
66
  on_mount: Optional[
81
- Union[EventHandler, EventSpec, list, function, BaseVar]
67
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
82
68
  ] = None,
83
69
  on_mouse_down: Optional[
84
- Union[EventHandler, EventSpec, list, function, BaseVar]
70
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
85
71
  ] = None,
86
72
  on_mouse_enter: Optional[
87
- Union[EventHandler, EventSpec, list, function, BaseVar]
73
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
88
74
  ] = None,
89
75
  on_mouse_leave: Optional[
90
- Union[EventHandler, EventSpec, list, function, BaseVar]
76
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
91
77
  ] = None,
92
78
  on_mouse_move: Optional[
93
- Union[EventHandler, EventSpec, list, function, BaseVar]
79
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
94
80
  ] = None,
95
81
  on_mouse_out: Optional[
96
- Union[EventHandler, EventSpec, list, function, BaseVar]
82
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
97
83
  ] = None,
98
84
  on_mouse_over: Optional[
99
- Union[EventHandler, EventSpec, list, function, BaseVar]
85
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
100
86
  ] = None,
101
87
  on_mouse_up: Optional[
102
- Union[EventHandler, EventSpec, list, function, BaseVar]
88
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
103
89
  ] = None,
104
90
  on_scroll: Optional[
105
- Union[EventHandler, EventSpec, list, function, BaseVar]
91
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
106
92
  ] = None,
107
93
  on_unmount: Optional[
108
- Union[EventHandler, EventSpec, list, function, BaseVar]
94
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
109
95
  ] = None,
110
- **props
96
+ **props,
111
97
  ) -> "Box":
112
98
  """Create a new component instance.
113
99
 
@@ -1,13 +1,15 @@
1
1
  """Stub file for reflex/components/radix/themes/layout/center.py"""
2
+
2
3
  # ------------------- DO NOT EDIT ----------------------
3
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
4
5
  # ------------------------------------------------------
6
+ from typing import Any, Callable, Dict, Literal, Optional, Union, overload
5
7
 
6
- from typing import Any, Dict, Literal, Optional, Union, overload
7
- from reflex.vars import Var, BaseVar, ComputedVar
8
- from reflex.event import EventChain, EventHandler, EventSpec
8
+ from reflex.components.core.breakpoints import Breakpoints
9
+ from reflex.event import EventHandler, EventSpec
9
10
  from reflex.style import Style
10
- from typing import Any
11
+ from reflex.vars import BaseVar, Var
12
+
11
13
  from .flex import Flex
12
14
 
13
15
  class Center(Flex):
@@ -20,74 +22,103 @@ class Center(Flex):
20
22
  as_child: Optional[Union[Var[bool], bool]] = None,
21
23
  direction: Optional[
22
24
  Union[
23
- Var[Literal["row", "column", "row-reverse", "column-reverse"]],
25
+ Var[
26
+ Union[
27
+ Breakpoints[
28
+ str,
29
+ Literal["row", "column", "row-reverse", "column-reverse"],
30
+ ],
31
+ Literal["row", "column", "row-reverse", "column-reverse"],
32
+ ]
33
+ ],
24
34
  Literal["row", "column", "row-reverse", "column-reverse"],
35
+ Breakpoints[
36
+ str, Literal["row", "column", "row-reverse", "column-reverse"]
37
+ ],
25
38
  ]
26
39
  ] = None,
27
40
  align: Optional[
28
41
  Union[
29
- Var[Literal["start", "center", "end", "baseline", "stretch"]],
42
+ Var[
43
+ Union[
44
+ Breakpoints[
45
+ str,
46
+ Literal["start", "center", "end", "baseline", "stretch"],
47
+ ],
48
+ Literal["start", "center", "end", "baseline", "stretch"],
49
+ ]
50
+ ],
30
51
  Literal["start", "center", "end", "baseline", "stretch"],
52
+ Breakpoints[
53
+ str, Literal["start", "center", "end", "baseline", "stretch"]
54
+ ],
31
55
  ]
32
56
  ] = None,
33
57
  justify: Optional[
34
58
  Union[
35
- Var[Literal["start", "center", "end", "between"]],
59
+ Var[
60
+ Union[
61
+ Breakpoints[str, Literal["start", "center", "end", "between"]],
62
+ Literal["start", "center", "end", "between"],
63
+ ]
64
+ ],
36
65
  Literal["start", "center", "end", "between"],
66
+ Breakpoints[str, Literal["start", "center", "end", "between"]],
37
67
  ]
38
68
  ] = None,
39
69
  wrap: Optional[
40
70
  Union[
41
- Var[Literal["nowrap", "wrap", "wrap-reverse"]],
71
+ Var[
72
+ Union[
73
+ Breakpoints[str, Literal["nowrap", "wrap", "wrap-reverse"]],
74
+ Literal["nowrap", "wrap", "wrap-reverse"],
75
+ ]
76
+ ],
42
77
  Literal["nowrap", "wrap", "wrap-reverse"],
78
+ Breakpoints[str, Literal["nowrap", "wrap", "wrap-reverse"]],
43
79
  ]
44
80
  ] = None,
45
81
  spacing: Optional[
46
82
  Union[
47
- Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
83
+ Var[
84
+ Union[
85
+ Breakpoints[
86
+ str,
87
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
88
+ ],
89
+ Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
90
+ ]
91
+ ],
48
92
  Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
93
+ Breakpoints[
94
+ str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
95
+ ],
49
96
  ]
50
97
  ] = None,
51
- access_key: Optional[
52
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
53
- ] = None,
98
+ access_key: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
54
99
  auto_capitalize: Optional[
55
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
100
+ Union[Var[Union[bool, int, str]], str, int, bool]
56
101
  ] = None,
57
102
  content_editable: Optional[
58
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
103
+ Union[Var[Union[bool, int, str]], str, int, bool]
59
104
  ] = None,
60
105
  context_menu: Optional[
61
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
62
- ] = None,
63
- dir: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
64
- draggable: Optional[
65
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
106
+ Union[Var[Union[bool, int, str]], str, int, bool]
66
107
  ] = None,
108
+ dir: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
109
+ draggable: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
67
110
  enter_key_hint: Optional[
68
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
69
- ] = None,
70
- hidden: Optional[
71
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
72
- ] = None,
73
- input_mode: Optional[
74
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
75
- ] = None,
76
- item_prop: Optional[
77
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
78
- ] = None,
79
- lang: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
80
- role: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
81
- slot: Optional[Union[Var[Union[str, int, bool]], Union[str, int, bool]]] = None,
82
- spell_check: Optional[
83
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
84
- ] = None,
85
- tab_index: Optional[
86
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
87
- ] = None,
88
- title: Optional[
89
- Union[Var[Union[str, int, bool]], Union[str, int, bool]]
90
- ] = None,
111
+ Union[Var[Union[bool, int, str]], str, int, bool]
112
+ ] = None,
113
+ hidden: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
114
+ input_mode: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
115
+ item_prop: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
116
+ lang: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
117
+ role: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
118
+ slot: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
119
+ spell_check: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
120
+ tab_index: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
121
+ title: Optional[Union[Var[Union[bool, int, str]], str, int, bool]] = None,
91
122
  style: Optional[Style] = None,
92
123
  key: Optional[Any] = None,
93
124
  id: Optional[Any] = None,
@@ -95,51 +126,51 @@ class Center(Flex):
95
126
  autofocus: Optional[bool] = None,
96
127
  custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
97
128
  on_blur: Optional[
98
- Union[EventHandler, EventSpec, list, function, BaseVar]
129
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
99
130
  ] = None,
100
131
  on_click: Optional[
101
- Union[EventHandler, EventSpec, list, function, BaseVar]
132
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
102
133
  ] = None,
103
134
  on_context_menu: Optional[
104
- Union[EventHandler, EventSpec, list, function, BaseVar]
135
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
105
136
  ] = None,
106
137
  on_double_click: Optional[
107
- Union[EventHandler, EventSpec, list, function, BaseVar]
138
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
108
139
  ] = None,
109
140
  on_focus: Optional[
110
- Union[EventHandler, EventSpec, list, function, BaseVar]
141
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
111
142
  ] = None,
112
143
  on_mount: Optional[
113
- Union[EventHandler, EventSpec, list, function, BaseVar]
144
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
114
145
  ] = None,
115
146
  on_mouse_down: Optional[
116
- Union[EventHandler, EventSpec, list, function, BaseVar]
147
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
117
148
  ] = None,
118
149
  on_mouse_enter: Optional[
119
- Union[EventHandler, EventSpec, list, function, BaseVar]
150
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
120
151
  ] = None,
121
152
  on_mouse_leave: Optional[
122
- Union[EventHandler, EventSpec, list, function, BaseVar]
153
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
123
154
  ] = None,
124
155
  on_mouse_move: Optional[
125
- Union[EventHandler, EventSpec, list, function, BaseVar]
156
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
126
157
  ] = None,
127
158
  on_mouse_out: Optional[
128
- Union[EventHandler, EventSpec, list, function, BaseVar]
159
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
129
160
  ] = None,
130
161
  on_mouse_over: Optional[
131
- Union[EventHandler, EventSpec, list, function, BaseVar]
162
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
132
163
  ] = None,
133
164
  on_mouse_up: Optional[
134
- Union[EventHandler, EventSpec, list, function, BaseVar]
165
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
135
166
  ] = None,
136
167
  on_scroll: Optional[
137
- Union[EventHandler, EventSpec, list, function, BaseVar]
168
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
138
169
  ] = None,
139
170
  on_unmount: Optional[
140
- Union[EventHandler, EventSpec, list, function, BaseVar]
171
+ Union[EventHandler, EventSpec, list, Callable, BaseVar]
141
172
  ] = None,
142
- **props
173
+ **props,
143
174
  ) -> "Center":
144
175
  """Create a new component instance.
145
176
 
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  from typing import Literal
6
6
 
7
+ from reflex.components.core.breakpoints import Responsive
7
8
  from reflex.components.el import elements
8
9
  from reflex.style import STACK_CHILDREN_FULL_WIDTH
9
10
  from reflex.vars import Var
@@ -22,7 +23,9 @@ class Container(elements.Div, RadixThemesComponent):
22
23
  tag = "Container"
23
24
 
24
25
  # The size of the container: "1" - "4" (default "3")
25
- size: Var[LiteralContainerSize] = Var.create_safe("3", _var_is_string=True)
26
+ size: Var[Responsive[LiteralContainerSize]] = Var.create_safe(
27
+ "3", _var_is_string=True
28
+ )
26
29
 
27
30
  @classmethod
28
31
  def create(