reflex 0.5.2__py3-none-any.whl → 0.5.3__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 (166) hide show
  1. reflex/.templates/web/postcss.config.js +1 -0
  2. reflex/.templates/web/styles/tailwind.css +4 -1
  3. reflex/__init__.py +298 -204
  4. reflex/__init__.pyi +196 -157
  5. reflex/app.py +13 -2
  6. reflex/compiler/compiler.py +1 -1
  7. reflex/components/__init__.py +31 -17
  8. reflex/components/__init__.pyi +26 -0
  9. reflex/components/base/__init__.py +25 -9
  10. reflex/components/base/__init__.pyi +26 -0
  11. reflex/components/base/fragment.py +3 -0
  12. reflex/components/base/fragment.pyi +2 -0
  13. reflex/components/base/head.py +3 -0
  14. reflex/components/base/head.pyi +2 -0
  15. reflex/components/base/script.py +3 -0
  16. reflex/components/base/script.pyi +2 -0
  17. reflex/components/core/__init__.py +51 -37
  18. reflex/components/core/__init__.pyi +39 -0
  19. reflex/components/core/banner.py +7 -1
  20. reflex/components/core/banner.pyi +6 -1
  21. reflex/components/core/debounce.py +3 -0
  22. reflex/components/core/debounce.pyi +2 -0
  23. reflex/components/core/foreach.py +3 -0
  24. reflex/components/core/html.py +4 -1
  25. reflex/components/core/html.pyi +2 -0
  26. reflex/components/core/match.py +3 -0
  27. reflex/components/core/responsive.py +1 -1
  28. reflex/components/core/upload.py +5 -2
  29. reflex/components/core/upload.pyi +4 -2
  30. reflex/components/datadisplay/__init__.py +17 -8
  31. reflex/components/datadisplay/__init__.pyi +14 -0
  32. reflex/components/datadisplay/code.py +3 -0
  33. reflex/components/datadisplay/code.pyi +2 -0
  34. reflex/components/datadisplay/dataeditor.py +4 -0
  35. reflex/components/datadisplay/dataeditor.pyi +3 -0
  36. reflex/components/el/__init__.py +15 -1
  37. reflex/components/el/__init__.pyi +228 -0
  38. reflex/components/el/elements/__init__.py +129 -220
  39. reflex/components/el/elements/__init__.pyi +342 -0
  40. reflex/components/el/elements/forms.py +15 -0
  41. reflex/components/el/elements/forms.pyi +14 -0
  42. reflex/components/el/elements/inline.py +30 -0
  43. reflex/components/el/elements/inline.pyi +29 -0
  44. reflex/components/el/elements/media.py +16 -0
  45. reflex/components/el/elements/media.pyi +15 -0
  46. reflex/components/el/elements/metadata.py +7 -0
  47. reflex/components/el/elements/metadata.pyi +6 -0
  48. reflex/components/el/elements/other.py +9 -0
  49. reflex/components/el/elements/other.pyi +8 -0
  50. reflex/components/el/elements/scripts.py +5 -0
  51. reflex/components/el/elements/scripts.pyi +4 -0
  52. reflex/components/el/elements/sectioning.py +17 -0
  53. reflex/components/el/elements/sectioning.pyi +16 -0
  54. reflex/components/el/elements/tables.py +12 -0
  55. reflex/components/el/elements/tables.pyi +11 -0
  56. reflex/components/el/elements/typography.py +16 -0
  57. reflex/components/el/elements/typography.pyi +15 -0
  58. reflex/components/moment/__init__.py +1 -1
  59. reflex/components/plotly/plotly.py +185 -7
  60. reflex/components/plotly/plotly.pyi +62 -4
  61. reflex/components/radix/__init__.py +14 -2
  62. reflex/components/radix/__init__.pyi +73 -0
  63. reflex/components/radix/primitives/__init__.py +13 -5
  64. reflex/components/radix/primitives/__init__.pyi +11 -0
  65. reflex/components/radix/themes/__init__.py +20 -6
  66. reflex/components/radix/themes/__init__.pyi +13 -0
  67. reflex/components/radix/themes/base.py +26 -20
  68. reflex/components/radix/themes/base.pyi +4 -1
  69. reflex/components/radix/themes/color_mode.py +3 -1
  70. reflex/components/radix/themes/color_mode.pyi +3 -1
  71. reflex/components/radix/themes/components/__init__.py +11 -79
  72. reflex/components/radix/themes/components/__init__.pyi +44 -0
  73. reflex/components/radix/themes/components/alert_dialog.py +2 -2
  74. reflex/components/radix/themes/components/alert_dialog.pyi +2 -2
  75. reflex/components/radix/themes/components/badge.py +2 -2
  76. reflex/components/radix/themes/components/badge.pyi +2 -2
  77. reflex/components/radix/themes/components/button.py +2 -2
  78. reflex/components/radix/themes/components/button.pyi +2 -2
  79. reflex/components/radix/themes/components/callout.py +4 -4
  80. reflex/components/radix/themes/components/callout.pyi +4 -4
  81. reflex/components/radix/themes/components/card.py +2 -2
  82. reflex/components/radix/themes/components/card.pyi +2 -2
  83. reflex/components/radix/themes/components/dialog.py +2 -2
  84. reflex/components/radix/themes/components/dialog.pyi +2 -2
  85. reflex/components/radix/themes/components/hover_card.py +2 -2
  86. reflex/components/radix/themes/components/hover_card.pyi +2 -2
  87. reflex/components/radix/themes/components/icon_button.py +2 -2
  88. reflex/components/radix/themes/components/icon_button.pyi +2 -2
  89. reflex/components/radix/themes/components/inset.py +2 -2
  90. reflex/components/radix/themes/components/inset.pyi +2 -2
  91. reflex/components/radix/themes/components/popover.py +2 -2
  92. reflex/components/radix/themes/components/popover.pyi +2 -2
  93. reflex/components/radix/themes/components/table.py +8 -8
  94. reflex/components/radix/themes/components/table.pyi +8 -8
  95. reflex/components/radix/themes/components/text_area.py +11 -2
  96. reflex/components/radix/themes/components/text_area.pyi +18 -3
  97. reflex/components/radix/themes/components/text_field.py +3 -3
  98. reflex/components/radix/themes/components/text_field.pyi +3 -3
  99. reflex/components/radix/themes/layout/__init__.py +12 -38
  100. reflex/components/radix/themes/layout/__init__.pyi +21 -0
  101. reflex/components/radix/themes/layout/box.py +5 -2
  102. reflex/components/radix/themes/layout/box.pyi +4 -2
  103. reflex/components/radix/themes/layout/center.py +3 -0
  104. reflex/components/radix/themes/layout/center.pyi +2 -0
  105. reflex/components/radix/themes/layout/container.py +5 -2
  106. reflex/components/radix/themes/layout/container.pyi +4 -2
  107. reflex/components/radix/themes/layout/flex.py +5 -2
  108. reflex/components/radix/themes/layout/flex.pyi +4 -2
  109. reflex/components/radix/themes/layout/grid.py +5 -2
  110. reflex/components/radix/themes/layout/grid.pyi +4 -2
  111. reflex/components/radix/themes/layout/list.py +14 -0
  112. reflex/components/radix/themes/layout/list.pyi +3 -0
  113. reflex/components/radix/themes/layout/section.py +7 -4
  114. reflex/components/radix/themes/layout/section.pyi +5 -3
  115. reflex/components/radix/themes/layout/spacer.py +3 -0
  116. reflex/components/radix/themes/layout/spacer.pyi +2 -0
  117. reflex/components/radix/themes/layout/stack.py +5 -0
  118. reflex/components/radix/themes/layout/stack.pyi +4 -0
  119. reflex/components/radix/themes/typography/__init__.py +11 -16
  120. reflex/components/radix/themes/typography/__init__.pyi +12 -0
  121. reflex/components/radix/themes/typography/blockquote.py +5 -2
  122. reflex/components/radix/themes/typography/blockquote.pyi +4 -2
  123. reflex/components/radix/themes/typography/code.py +5 -2
  124. reflex/components/radix/themes/typography/code.pyi +4 -2
  125. reflex/components/radix/themes/typography/heading.py +5 -2
  126. reflex/components/radix/themes/typography/heading.pyi +4 -2
  127. reflex/components/radix/themes/typography/link.py +3 -0
  128. reflex/components/radix/themes/typography/link.pyi +2 -0
  129. reflex/components/radix/themes/typography/text.py +6 -6
  130. reflex/components/radix/themes/typography/text.pyi +6 -6
  131. reflex/components/recharts/__init__.py +114 -104
  132. reflex/components/recharts/__init__.pyi +106 -0
  133. reflex/components/recharts/cartesian.py +17 -0
  134. reflex/components/recharts/cartesian.pyi +16 -0
  135. reflex/components/recharts/charts.py +12 -0
  136. reflex/components/recharts/charts.pyi +11 -0
  137. reflex/components/recharts/general.py +7 -0
  138. reflex/components/recharts/general.pyi +6 -0
  139. reflex/components/recharts/polar.py +11 -0
  140. reflex/components/recharts/polar.pyi +9 -0
  141. reflex/config.py +3 -0
  142. reflex/constants/__init__.py +0 -2
  143. reflex/constants/base.py +5 -1
  144. reflex/constants/installer.py +2 -1
  145. reflex/experimental/__init__.py +2 -0
  146. reflex/experimental/assets.py +56 -0
  147. reflex/experimental/client_state.py +4 -2
  148. reflex/experimental/hooks.py +8 -6
  149. reflex/experimental/layout.py +3 -1
  150. reflex/state.py +54 -4
  151. reflex/utils/exec.py +8 -0
  152. reflex/utils/format.py +8 -4
  153. reflex/utils/lazy_loader.py +33 -0
  154. reflex/utils/prerequisites.py +1 -14
  155. reflex/utils/pyi_generator.py +71 -20
  156. reflex/utils/serializers.py +9 -4
  157. reflex/utils/types.py +3 -1
  158. reflex/vars.py +92 -6
  159. reflex/vars.pyi +16 -0
  160. {reflex-0.5.2.dist-info → reflex-0.5.3.dist-info}/METADATA +2 -1
  161. {reflex-0.5.2.dist-info → reflex-0.5.3.dist-info}/RECORD +164 -151
  162. reflex/config.pyi +0 -112
  163. reflex/constants/base.pyi +0 -94
  164. {reflex-0.5.2.dist-info → reflex-0.5.3.dist-info}/LICENSE +0 -0
  165. {reflex-0.5.2.dist-info → reflex-0.5.3.dist-info}/WHEEL +0 -0
  166. {reflex-0.5.2.dist-info → reflex-0.5.3.dist-info}/entry_points.txt +0 -0
@@ -1,227 +1,136 @@
1
1
  """Element classes."""
2
- from .forms import (
3
- Button,
4
- Fieldset,
5
- Form,
6
- Input,
7
- Label,
8
- Legend,
9
- Meter,
10
- Optgroup,
11
- Option,
12
- Output,
13
- Progress,
14
- Select,
15
- Textarea,
16
- )
17
- from .inline import (
18
- A,
19
- Abbr,
20
- B,
21
- Bdi,
22
- Bdo,
23
- Br,
24
- Cite,
25
- Code,
26
- Data,
27
- Dfn,
28
- Em,
29
- I,
30
- Kbd,
31
- Mark,
32
- Q,
33
- Rp,
34
- Rt,
35
- Ruby,
36
- S,
37
- Samp,
38
- Small,
39
- Span,
40
- Strong,
41
- Sub,
42
- Sup,
43
- Time,
44
- U,
45
- Wbr,
46
- )
47
- from .media import (
48
- Area,
49
- Audio,
50
- Embed,
51
- Iframe,
52
- Img,
53
- Map,
54
- Object,
55
- Path,
56
- Picture,
57
- Portal,
58
- Source,
59
- Svg,
60
- Track,
61
- Video,
62
- )
63
- from .metadata import Base, Head, Link, Meta, Title
64
- from .other import Details, Dialog, Html, Math, Slot, Summary, Template
65
- from .scripts import Canvas, Noscript, Script
66
- from .sectioning import (
67
- H1,
68
- H2,
69
- H3,
70
- H4,
71
- H5,
72
- H6,
73
- Address,
74
- Article,
75
- Aside,
76
- Body,
77
- Footer,
78
- Header,
79
- Main,
80
- Nav,
81
- Section,
82
- )
83
- from .tables import Caption, Col, Colgroup, Table, Tbody, Td, Tfoot, Th, Thead, Tr
84
- from .typography import (
85
- Blockquote,
86
- Dd,
87
- Del,
88
- Div,
89
- Dl,
90
- Dt,
91
- Figcaption,
92
- Hr,
93
- Ins,
94
- Li,
95
- Ol,
96
- P,
97
- Pre,
98
- Ul,
99
- )
2
+ from __future__ import annotations
100
3
 
101
- # Forms
102
- button = Button.create
103
- fieldset = Fieldset.create
104
- form = Form.create
105
- input = Input.create
106
- label = Label.create
107
- legend = Legend.create
108
- meter = Meter.create
109
- optgroup = Optgroup.create
110
- option = Option.create
111
- output = Output.create
112
- progress = Progress.create
113
- select = Select.create
114
- textarea = Textarea.create
4
+ from reflex.utils import lazy_loader
115
5
 
116
- # Tables
117
- caption = Caption.create
118
- col = Col.create
119
- colgroup = Colgroup.create
120
- table = Table.create
121
- tbody = Tbody.create
122
- td = Td.create
123
- tfoot = Tfoot.create
124
- th = Th.create
125
- thead = Thead.create
126
- tr = Tr.create
6
+ _MAPPING = {
7
+ "forms": [
8
+ "button",
9
+ "fieldset",
10
+ "form",
11
+ "input",
12
+ "label",
13
+ "legend",
14
+ "meter",
15
+ "optgroup",
16
+ "option",
17
+ "output",
18
+ "progress",
19
+ "select",
20
+ "textarea",
21
+ ],
22
+ "inline": [
23
+ "a",
24
+ "abbr",
25
+ "b",
26
+ "bdi",
27
+ "bdo",
28
+ "br",
29
+ "cite",
30
+ "code",
31
+ "data",
32
+ "dfn",
33
+ "em",
34
+ "i",
35
+ "kbd",
36
+ "mark",
37
+ "q",
38
+ "rp",
39
+ "rt",
40
+ "ruby",
41
+ "s",
42
+ "samp",
43
+ "small",
44
+ "span",
45
+ "strong",
46
+ "sub",
47
+ "sup",
48
+ "time",
49
+ "u",
50
+ "wbr",
51
+ ],
52
+ "media": [
53
+ "area",
54
+ "audio",
55
+ "img",
56
+ "image",
57
+ "map",
58
+ "track",
59
+ "video",
60
+ "embed",
61
+ "iframe",
62
+ "object",
63
+ "picture",
64
+ "portal",
65
+ "source",
66
+ "svg",
67
+ "path",
68
+ ],
69
+ "metadata": [
70
+ "base",
71
+ "head",
72
+ "link",
73
+ "meta",
74
+ "title",
75
+ ],
76
+ "other": ["details", "dialog", "summary", "slot", "template", "math", "html"],
77
+ "scripts": ["canvas", "noscript", "script"],
78
+ "sectioning": [
79
+ "address",
80
+ "article",
81
+ "aside",
82
+ "body",
83
+ "header",
84
+ "footer",
85
+ "h1",
86
+ "h2",
87
+ "h3",
88
+ "h4",
89
+ "h5",
90
+ "h6",
91
+ "main",
92
+ "nav",
93
+ "section",
94
+ ],
95
+ "tables": [
96
+ "caption",
97
+ "col",
98
+ "colgroup",
99
+ "table",
100
+ "td",
101
+ "tfoot",
102
+ "th",
103
+ "thead",
104
+ "tr",
105
+ "tbody",
106
+ ],
107
+ "typography": [
108
+ "blockquote",
109
+ "dd",
110
+ "div",
111
+ "dl",
112
+ "dt",
113
+ "figcaption",
114
+ "hr",
115
+ "ol",
116
+ "li",
117
+ "p",
118
+ "pre",
119
+ "ul",
120
+ "ins",
121
+ "del_",
122
+ "Del",
123
+ ],
124
+ }
127
125
 
128
- # Media
129
- area = Area.create
130
- audio = Audio.create
131
- img = Img.create
132
- map = Map.create
133
- track = Track.create
134
- video = Video.create
135
- embed = Embed.create
136
- iframe = Iframe.create
137
- object = Object.create
138
- picture = Picture.create
139
- portal = Portal.create
140
- source = Source.create
141
- svg = Svg.create
142
- path = Path.create
143
126
 
144
- # Sectioning
145
- address = Address.create
146
- article = Article.create
147
- aside = Aside.create
148
- body = Body.create
149
- header = Header.create
150
- footer = Footer.create
127
+ EXCLUDE = ["del_", "Del", "image"]
128
+ for _, v in _MAPPING.items():
129
+ v.extend([mod.capitalize() for mod in v if mod not in EXCLUDE])
151
130
 
152
- # Typography
153
- blockquote = Blockquote.create
154
- dd = Dd.create
155
- div = Div.create
156
- dl = Dl.create
157
- dt = Dt.create
158
- figcaption = Figcaption.create
159
- hr = Hr.create
160
- li = Li.create
161
- ol = Ol.create
162
- p = P.create
163
- pre = Pre.create
164
- ul = Ul.create
165
- ins = Ins.create
166
- del_ = Del.create # 'del' is a reserved keyword in Python
167
- h1 = H1.create
168
- h2 = H2.create
169
- h3 = H3.create
170
- h4 = H4.create
171
- h5 = H5.create
172
- h6 = H6.create
173
- main = Main.create
174
- nav = Nav.create
175
- section = Section.create
131
+ _SUBMOD_ATTRS: dict[str, list[str]] = _MAPPING
176
132
 
177
- # Inline
178
- a = A.create
179
- abbr = Abbr.create
180
- b = B.create
181
- bdi = Bdi.create
182
- bdo = Bdo.create
183
- br = Br.create
184
- cite = Cite.create
185
- code = Code.create
186
- data = Data.create
187
- dfn = Dfn.create
188
- em = Em.create
189
- i = I.create
190
- kbd = Kbd.create
191
- mark = Mark.create
192
- q = Q.create
193
- rp = Rp.create
194
- rt = Rt.create
195
- ruby = Ruby.create
196
- s = S.create
197
- samp = Samp.create
198
- small = Small.create
199
- span = Span.create
200
- strong = Strong.create
201
- sub = Sub.create
202
- sup = Sup.create
203
- time = Time.create
204
- u = U.create
205
- wbr = Wbr.create
206
-
207
- # Metadata
208
- base = Base.create
209
- head = Head.create
210
- link = Link.create
211
- meta = Meta.create
212
- title = Title.create
213
-
214
- # Scripts
215
- canvas = Canvas.create
216
- noscript = Noscript.create
217
- script = Script.create
218
-
219
- # Other
220
- details = Details.create
221
- dialog = Dialog.create
222
- summary = Summary.create
223
- slot = Slot.create
224
- template = Template.create
225
- svg = Svg.create
226
- math = Math.create
227
- html = Html.create
133
+ __getattr__, __dir__, __all__ = lazy_loader.attach(
134
+ __name__,
135
+ submod_attrs=_SUBMOD_ATTRS,
136
+ )
@@ -0,0 +1,342 @@
1
+ """Stub file for reflex/components/el/elements/__init__.py"""
2
+ # ------------------- DO NOT EDIT ----------------------
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
+ # ------------------------------------------------------
5
+
6
+ from .forms import button as button
7
+ from .forms import fieldset as fieldset
8
+ from .forms import form as form
9
+ from .forms import input as input
10
+ from .forms import label as label
11
+ from .forms import legend as legend
12
+ from .forms import meter as meter
13
+ from .forms import optgroup as optgroup
14
+ from .forms import option as option
15
+ from .forms import output as output
16
+ from .forms import progress as progress
17
+ from .forms import select as select
18
+ from .forms import textarea as textarea
19
+ from .forms import Button as Button
20
+ from .forms import Fieldset as Fieldset
21
+ from .forms import Form as Form
22
+ from .forms import Input as Input
23
+ from .forms import Label as Label
24
+ from .forms import Legend as Legend
25
+ from .forms import Meter as Meter
26
+ from .forms import Optgroup as Optgroup
27
+ from .forms import Option as Option
28
+ from .forms import Output as Output
29
+ from .forms import Progress as Progress
30
+ from .forms import Select as Select
31
+ from .forms import Textarea as Textarea
32
+ from .inline import a as a
33
+ from .inline import abbr as abbr
34
+ from .inline import b as b
35
+ from .inline import bdi as bdi
36
+ from .inline import bdo as bdo
37
+ from .inline import br as br
38
+ from .inline import cite as cite
39
+ from .inline import code as code
40
+ from .inline import data as data
41
+ from .inline import dfn as dfn
42
+ from .inline import em as em
43
+ from .inline import i as i
44
+ from .inline import kbd as kbd
45
+ from .inline import mark as mark
46
+ from .inline import q as q
47
+ from .inline import rp as rp
48
+ from .inline import rt as rt
49
+ from .inline import ruby as ruby
50
+ from .inline import s as s
51
+ from .inline import samp as samp
52
+ from .inline import small as small
53
+ from .inline import span as span
54
+ from .inline import strong as strong
55
+ from .inline import sub as sub
56
+ from .inline import sup as sup
57
+ from .inline import time as time
58
+ from .inline import u as u
59
+ from .inline import wbr as wbr
60
+ from .inline import A as A
61
+ from .inline import Abbr as Abbr
62
+ from .inline import B as B
63
+ from .inline import Bdi as Bdi
64
+ from .inline import Bdo as Bdo
65
+ from .inline import Br as Br
66
+ from .inline import Cite as Cite
67
+ from .inline import Code as Code
68
+ from .inline import Data as Data
69
+ from .inline import Dfn as Dfn
70
+ from .inline import Em as Em
71
+ from .inline import I as I
72
+ from .inline import Kbd as Kbd
73
+ from .inline import Mark as Mark
74
+ from .inline import Q as Q
75
+ from .inline import Rp as Rp
76
+ from .inline import Rt as Rt
77
+ from .inline import Ruby as Ruby
78
+ from .inline import S as S
79
+ from .inline import Samp as Samp
80
+ from .inline import Small as Small
81
+ from .inline import Span as Span
82
+ from .inline import Strong as Strong
83
+ from .inline import Sub as Sub
84
+ from .inline import Sup as Sup
85
+ from .inline import Time as Time
86
+ from .inline import U as U
87
+ from .inline import Wbr as Wbr
88
+ from .media import area as area
89
+ from .media import audio as audio
90
+ from .media import img as img
91
+ from .media import image as image
92
+ from .media import map as map
93
+ from .media import track as track
94
+ from .media import video as video
95
+ from .media import embed as embed
96
+ from .media import iframe as iframe
97
+ from .media import object as object
98
+ from .media import picture as picture
99
+ from .media import portal as portal
100
+ from .media import source as source
101
+ from .media import svg as svg
102
+ from .media import path as path
103
+ from .media import Area as Area
104
+ from .media import Audio as Audio
105
+ from .media import Img as Img
106
+ from .media import Map as Map
107
+ from .media import Track as Track
108
+ from .media import Video as Video
109
+ from .media import Embed as Embed
110
+ from .media import Iframe as Iframe
111
+ from .media import Object as Object
112
+ from .media import Picture as Picture
113
+ from .media import Portal as Portal
114
+ from .media import Source as Source
115
+ from .media import Svg as Svg
116
+ from .media import Path as Path
117
+ from .metadata import base as base
118
+ from .metadata import head as head
119
+ from .metadata import link as link
120
+ from .metadata import meta as meta
121
+ from .metadata import title as title
122
+ from .metadata import Base as Base
123
+ from .metadata import Head as Head
124
+ from .metadata import Link as Link
125
+ from .metadata import Meta as Meta
126
+ from .metadata import Title as Title
127
+ from .other import details as details
128
+ from .other import dialog as dialog
129
+ from .other import summary as summary
130
+ from .other import slot as slot
131
+ from .other import template as template
132
+ from .other import math as math
133
+ from .other import html as html
134
+ from .other import Details as Details
135
+ from .other import Dialog as Dialog
136
+ from .other import Summary as Summary
137
+ from .other import Slot as Slot
138
+ from .other import Template as Template
139
+ from .other import Math as Math
140
+ from .other import Html as Html
141
+ from .scripts import canvas as canvas
142
+ from .scripts import noscript as noscript
143
+ from .scripts import script as script
144
+ from .scripts import Canvas as Canvas
145
+ from .scripts import Noscript as Noscript
146
+ from .scripts import Script as Script
147
+ from .sectioning import address as address
148
+ from .sectioning import article as article
149
+ from .sectioning import aside as aside
150
+ from .sectioning import body as body
151
+ from .sectioning import header as header
152
+ from .sectioning import footer as footer
153
+ from .sectioning import h1 as h1
154
+ from .sectioning import h2 as h2
155
+ from .sectioning import h3 as h3
156
+ from .sectioning import h4 as h4
157
+ from .sectioning import h5 as h5
158
+ from .sectioning import h6 as h6
159
+ from .sectioning import main as main
160
+ from .sectioning import nav as nav
161
+ from .sectioning import section as section
162
+ from .sectioning import Address as Address
163
+ from .sectioning import Article as Article
164
+ from .sectioning import Aside as Aside
165
+ from .sectioning import Body as Body
166
+ from .sectioning import Header as Header
167
+ from .sectioning import Footer as Footer
168
+ from .sectioning import H1 as H1
169
+ from .sectioning import H2 as H2
170
+ from .sectioning import H3 as H3
171
+ from .sectioning import H4 as H4
172
+ from .sectioning import H5 as H5
173
+ from .sectioning import H6 as H6
174
+ from .sectioning import Main as Main
175
+ from .sectioning import Nav as Nav
176
+ from .sectioning import Section as Section
177
+ from .tables import caption as caption
178
+ from .tables import col as col
179
+ from .tables import colgroup as colgroup
180
+ from .tables import table as table
181
+ from .tables import td as td
182
+ from .tables import tfoot as tfoot
183
+ from .tables import th as th
184
+ from .tables import thead as thead
185
+ from .tables import tr as tr
186
+ from .tables import tbody as tbody
187
+ from .tables import Caption as Caption
188
+ from .tables import Col as Col
189
+ from .tables import Colgroup as Colgroup
190
+ from .tables import Table as Table
191
+ from .tables import Td as Td
192
+ from .tables import Tfoot as Tfoot
193
+ from .tables import Th as Th
194
+ from .tables import Thead as Thead
195
+ from .tables import Tr as Tr
196
+ from .tables import Tbody as Tbody
197
+ from .typography import blockquote as blockquote
198
+ from .typography import dd as dd
199
+ from .typography import div as div
200
+ from .typography import dl as dl
201
+ from .typography import dt as dt
202
+ from .typography import figcaption as figcaption
203
+ from .typography import hr as hr
204
+ from .typography import ol as ol
205
+ from .typography import li as li
206
+ from .typography import p as p
207
+ from .typography import pre as pre
208
+ from .typography import ul as ul
209
+ from .typography import ins as ins
210
+ from .typography import del_ as del_
211
+ from .typography import Del as Del
212
+ from .typography import Blockquote as Blockquote
213
+ from .typography import Dd as Dd
214
+ from .typography import Div as Div
215
+ from .typography import Dl as Dl
216
+ from .typography import Dt as Dt
217
+ from .typography import Figcaption as Figcaption
218
+ from .typography import Hr as Hr
219
+ from .typography import Ol as Ol
220
+ from .typography import Li as Li
221
+ from .typography import P as P
222
+ from .typography import Pre as Pre
223
+ from .typography import Ul as Ul
224
+ from .typography import Ins as Ins
225
+ from reflex.utils import lazy_loader
226
+
227
+ _MAPPING = {
228
+ "forms": [
229
+ "button",
230
+ "fieldset",
231
+ "form",
232
+ "input",
233
+ "label",
234
+ "legend",
235
+ "meter",
236
+ "optgroup",
237
+ "option",
238
+ "output",
239
+ "progress",
240
+ "select",
241
+ "textarea",
242
+ ],
243
+ "inline": [
244
+ "a",
245
+ "abbr",
246
+ "b",
247
+ "bdi",
248
+ "bdo",
249
+ "br",
250
+ "cite",
251
+ "code",
252
+ "data",
253
+ "dfn",
254
+ "em",
255
+ "i",
256
+ "kbd",
257
+ "mark",
258
+ "q",
259
+ "rp",
260
+ "rt",
261
+ "ruby",
262
+ "s",
263
+ "samp",
264
+ "small",
265
+ "span",
266
+ "strong",
267
+ "sub",
268
+ "sup",
269
+ "time",
270
+ "u",
271
+ "wbr",
272
+ ],
273
+ "media": [
274
+ "area",
275
+ "audio",
276
+ "img",
277
+ "image",
278
+ "map",
279
+ "track",
280
+ "video",
281
+ "embed",
282
+ "iframe",
283
+ "object",
284
+ "picture",
285
+ "portal",
286
+ "source",
287
+ "svg",
288
+ "path",
289
+ ],
290
+ "metadata": ["base", "head", "link", "meta", "title"],
291
+ "other": ["details", "dialog", "summary", "slot", "template", "math", "html"],
292
+ "scripts": ["canvas", "noscript", "script"],
293
+ "sectioning": [
294
+ "address",
295
+ "article",
296
+ "aside",
297
+ "body",
298
+ "header",
299
+ "footer",
300
+ "h1",
301
+ "h2",
302
+ "h3",
303
+ "h4",
304
+ "h5",
305
+ "h6",
306
+ "main",
307
+ "nav",
308
+ "section",
309
+ ],
310
+ "tables": [
311
+ "caption",
312
+ "col",
313
+ "colgroup",
314
+ "table",
315
+ "td",
316
+ "tfoot",
317
+ "th",
318
+ "thead",
319
+ "tr",
320
+ "tbody",
321
+ ],
322
+ "typography": [
323
+ "blockquote",
324
+ "dd",
325
+ "div",
326
+ "dl",
327
+ "dt",
328
+ "figcaption",
329
+ "hr",
330
+ "ol",
331
+ "li",
332
+ "p",
333
+ "pre",
334
+ "ul",
335
+ "ins",
336
+ "del_",
337
+ "Del",
338
+ ],
339
+ }
340
+ EXCLUDE = ["del_", "Del", "image"]
341
+ for _, v in _MAPPING.items():
342
+ v.extend([mod.capitalize() for mod in v if mod not in EXCLUDE])
@@ -650,3 +650,18 @@ class Textarea(BaseHTML):
650
650
  EventTriggers.ON_KEY_DOWN: lambda e0: [e0.key],
651
651
  EventTriggers.ON_KEY_UP: lambda e0: [e0.key],
652
652
  }
653
+
654
+
655
+ button = Button.create
656
+ fieldset = Fieldset.create
657
+ form = Form.create
658
+ input = Input.create
659
+ label = Label.create
660
+ legend = Legend.create
661
+ meter = Meter.create
662
+ optgroup = Optgroup.create
663
+ option = Option.create
664
+ output = Output.create
665
+ progress = Progress.create
666
+ select = Select.create
667
+ textarea = Textarea.create