reflex 0.4.5a1__py3-none-any.whl → 0.4.6__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 (199) hide show
  1. reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +5 -15
  2. reflex/.templates/jinja/web/pages/index.js.jinja2 +4 -0
  3. reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +4 -0
  4. reflex/.templates/web/utils/state.js +3 -0
  5. reflex/__init__.py +12 -2
  6. reflex/__init__.pyi +4 -0
  7. reflex/app.py +23 -3
  8. reflex/base.py +16 -4
  9. reflex/compiler/compiler.py +1 -0
  10. reflex/compiler/utils.py +11 -2
  11. reflex/components/base/app_wrap.pyi +1 -1
  12. reflex/components/base/bare.py +3 -4
  13. reflex/components/base/body.pyi +1 -1
  14. reflex/components/base/document.pyi +1 -1
  15. reflex/components/base/fragment.pyi +1 -1
  16. reflex/components/base/head.pyi +1 -1
  17. reflex/components/base/link.pyi +1 -1
  18. reflex/components/base/meta.pyi +1 -1
  19. reflex/components/base/script.pyi +1 -1
  20. reflex/components/chakra/base.pyi +1 -1
  21. reflex/components/chakra/datadisplay/badge.pyi +1 -1
  22. reflex/components/chakra/datadisplay/code.pyi +1 -1
  23. reflex/components/chakra/datadisplay/divider.pyi +1 -1
  24. reflex/components/chakra/datadisplay/keyboard_key.pyi +1 -1
  25. reflex/components/chakra/datadisplay/list.pyi +1 -1
  26. reflex/components/chakra/datadisplay/stat.pyi +1 -1
  27. reflex/components/chakra/datadisplay/table.pyi +1 -1
  28. reflex/components/chakra/datadisplay/tag.pyi +1 -1
  29. reflex/components/chakra/disclosure/accordion.pyi +1 -1
  30. reflex/components/chakra/disclosure/tabs.pyi +1 -1
  31. reflex/components/chakra/disclosure/transition.pyi +1 -1
  32. reflex/components/chakra/disclosure/visuallyhidden.pyi +1 -1
  33. reflex/components/chakra/feedback/alert.pyi +1 -1
  34. reflex/components/chakra/feedback/circularprogress.pyi +1 -1
  35. reflex/components/chakra/feedback/progress.pyi +1 -1
  36. reflex/components/chakra/feedback/skeleton.pyi +1 -1
  37. reflex/components/chakra/feedback/spinner.pyi +1 -1
  38. reflex/components/chakra/forms/button.pyi +1 -1
  39. reflex/components/chakra/forms/checkbox.pyi +1 -1
  40. reflex/components/chakra/forms/colormodeswitch.pyi +1 -1
  41. reflex/components/chakra/forms/date_picker.pyi +1 -1
  42. reflex/components/chakra/forms/date_time_picker.pyi +1 -1
  43. reflex/components/chakra/forms/editable.pyi +1 -1
  44. reflex/components/chakra/forms/email.pyi +1 -1
  45. reflex/components/chakra/forms/form.pyi +1 -1
  46. reflex/components/chakra/forms/iconbutton.pyi +1 -1
  47. reflex/components/chakra/forms/input.pyi +1 -1
  48. reflex/components/chakra/forms/numberinput.pyi +1 -1
  49. reflex/components/chakra/forms/password.pyi +1 -1
  50. reflex/components/chakra/forms/pininput.pyi +1 -1
  51. reflex/components/chakra/forms/radio.pyi +1 -1
  52. reflex/components/chakra/forms/rangeslider.pyi +1 -1
  53. reflex/components/chakra/forms/select.pyi +1 -1
  54. reflex/components/chakra/forms/slider.pyi +1 -1
  55. reflex/components/chakra/forms/switch.pyi +1 -1
  56. reflex/components/chakra/forms/textarea.pyi +1 -1
  57. reflex/components/chakra/forms/time_picker.pyi +1 -1
  58. reflex/components/chakra/layout/aspect_ratio.pyi +1 -1
  59. reflex/components/chakra/layout/box.pyi +1 -1
  60. reflex/components/chakra/layout/card.pyi +1 -1
  61. reflex/components/chakra/layout/center.pyi +1 -1
  62. reflex/components/chakra/layout/container.pyi +1 -1
  63. reflex/components/chakra/layout/flex.pyi +1 -1
  64. reflex/components/chakra/layout/grid.pyi +1 -1
  65. reflex/components/chakra/layout/spacer.pyi +1 -1
  66. reflex/components/chakra/layout/stack.pyi +1 -1
  67. reflex/components/chakra/layout/wrap.pyi +1 -1
  68. reflex/components/chakra/media/avatar.pyi +1 -1
  69. reflex/components/chakra/media/icon.pyi +1 -1
  70. reflex/components/chakra/media/image.pyi +1 -1
  71. reflex/components/chakra/navigation/breadcrumb.pyi +1 -1
  72. reflex/components/chakra/navigation/link.pyi +1 -1
  73. reflex/components/chakra/navigation/linkoverlay.pyi +1 -1
  74. reflex/components/chakra/navigation/stepper.pyi +1 -1
  75. reflex/components/chakra/overlay/alertdialog.pyi +1 -1
  76. reflex/components/chakra/overlay/drawer.pyi +1 -1
  77. reflex/components/chakra/overlay/menu.pyi +1 -1
  78. reflex/components/chakra/overlay/modal.pyi +1 -1
  79. reflex/components/chakra/overlay/popover.pyi +1 -1
  80. reflex/components/chakra/overlay/tooltip.pyi +1 -1
  81. reflex/components/chakra/typography/heading.pyi +1 -1
  82. reflex/components/chakra/typography/highlight.pyi +1 -1
  83. reflex/components/chakra/typography/span.pyi +1 -1
  84. reflex/components/chakra/typography/text.pyi +1 -1
  85. reflex/components/component.py +82 -30
  86. reflex/components/core/banner.py +1 -2
  87. reflex/components/core/banner.pyi +1 -2
  88. reflex/components/core/client_side_routing.pyi +1 -1
  89. reflex/components/core/cond.py +1 -1
  90. reflex/components/core/debounce.pyi +1 -1
  91. reflex/components/core/html.pyi +1 -1
  92. reflex/components/core/responsive.py +1 -1
  93. reflex/components/core/upload.pyi +1 -1
  94. reflex/components/datadisplay/code.py +17 -9
  95. reflex/components/datadisplay/code.pyi +3 -1
  96. reflex/components/datadisplay/dataeditor.pyi +1 -1
  97. reflex/components/el/element.pyi +1 -1
  98. reflex/components/el/elements/base.pyi +1 -1
  99. reflex/components/el/elements/forms.py +78 -1
  100. reflex/components/el/elements/forms.pyi +10 -2
  101. reflex/components/el/elements/inline.pyi +1 -1
  102. reflex/components/el/elements/media.pyi +1 -1
  103. reflex/components/el/elements/metadata.pyi +1 -1
  104. reflex/components/el/elements/other.pyi +1 -1
  105. reflex/components/el/elements/scripts.pyi +1 -1
  106. reflex/components/el/elements/sectioning.pyi +1 -1
  107. reflex/components/el/elements/tables.pyi +1 -1
  108. reflex/components/el/elements/typography.pyi +1 -1
  109. reflex/components/gridjs/datatable.pyi +1 -1
  110. reflex/components/lucide/icon.py +275 -115
  111. reflex/components/lucide/icon.pyi +259 -114
  112. reflex/components/markdown/markdown.pyi +1 -1
  113. reflex/components/moment/moment.pyi +1 -1
  114. reflex/components/next/base.pyi +1 -1
  115. reflex/components/next/image.pyi +1 -1
  116. reflex/components/next/link.pyi +1 -1
  117. reflex/components/next/video.pyi +1 -1
  118. reflex/components/plotly/plotly.pyi +1 -1
  119. reflex/components/radix/primitives/accordion.pyi +1 -1
  120. reflex/components/radix/primitives/base.pyi +1 -1
  121. reflex/components/radix/primitives/drawer.pyi +1 -1
  122. reflex/components/radix/primitives/form.pyi +1 -1
  123. reflex/components/radix/primitives/progress.pyi +1 -1
  124. reflex/components/radix/primitives/slider.pyi +1 -1
  125. reflex/components/radix/themes/base.pyi +1 -1
  126. reflex/components/radix/themes/color_mode.pyi +1 -1
  127. reflex/components/radix/themes/components/alert_dialog.pyi +1 -1
  128. reflex/components/radix/themes/components/aspect_ratio.pyi +1 -1
  129. reflex/components/radix/themes/components/avatar.pyi +1 -1
  130. reflex/components/radix/themes/components/badge.pyi +1 -1
  131. reflex/components/radix/themes/components/button.pyi +1 -1
  132. reflex/components/radix/themes/components/callout.pyi +1 -1
  133. reflex/components/radix/themes/components/card.pyi +1 -1
  134. reflex/components/radix/themes/components/checkbox.pyi +1 -1
  135. reflex/components/radix/themes/components/context_menu.pyi +1 -1
  136. reflex/components/radix/themes/components/dialog.pyi +1 -1
  137. reflex/components/radix/themes/components/dropdown_menu.pyi +1 -1
  138. reflex/components/radix/themes/components/hover_card.pyi +1 -1
  139. reflex/components/radix/themes/components/icon_button.pyi +1 -1
  140. reflex/components/radix/themes/components/inset.pyi +1 -1
  141. reflex/components/radix/themes/components/popover.pyi +1 -1
  142. reflex/components/radix/themes/components/radio_group.pyi +1 -1
  143. reflex/components/radix/themes/components/scroll_area.pyi +1 -1
  144. reflex/components/radix/themes/components/select.py +4 -1
  145. reflex/components/radix/themes/components/select.pyi +5 -1
  146. reflex/components/radix/themes/components/separator.pyi +1 -1
  147. reflex/components/radix/themes/components/slider.pyi +1 -1
  148. reflex/components/radix/themes/components/switch.pyi +1 -1
  149. reflex/components/radix/themes/components/table.pyi +1 -1
  150. reflex/components/radix/themes/components/tabs.pyi +1 -1
  151. reflex/components/radix/themes/components/text_area.pyi +5 -1
  152. reflex/components/radix/themes/components/text_field.pyi +1 -1
  153. reflex/components/radix/themes/components/tooltip.pyi +1 -1
  154. reflex/components/radix/themes/layout/__init__.py +5 -4
  155. reflex/components/radix/themes/layout/base.pyi +1 -1
  156. reflex/components/radix/themes/layout/box.pyi +1 -1
  157. reflex/components/radix/themes/layout/center.pyi +1 -1
  158. reflex/components/radix/themes/layout/container.pyi +1 -1
  159. reflex/components/radix/themes/layout/flex.pyi +1 -1
  160. reflex/components/radix/themes/layout/grid.pyi +1 -1
  161. reflex/components/radix/themes/layout/list.py +21 -13
  162. reflex/components/radix/themes/layout/list.pyi +139 -481
  163. reflex/components/radix/themes/layout/section.pyi +1 -1
  164. reflex/components/radix/themes/layout/spacer.pyi +1 -1
  165. reflex/components/radix/themes/layout/stack.pyi +1 -1
  166. reflex/components/radix/themes/typography/blockquote.pyi +1 -1
  167. reflex/components/radix/themes/typography/code.pyi +1 -1
  168. reflex/components/radix/themes/typography/heading.pyi +1 -1
  169. reflex/components/radix/themes/typography/link.pyi +1 -1
  170. reflex/components/radix/themes/typography/text.pyi +1 -1
  171. reflex/components/react_player/audio.pyi +1 -1
  172. reflex/components/react_player/react_player.pyi +1 -1
  173. reflex/components/react_player/video.pyi +1 -1
  174. reflex/components/recharts/cartesian.pyi +1 -1
  175. reflex/components/recharts/charts.pyi +1 -1
  176. reflex/components/recharts/general.pyi +1 -1
  177. reflex/components/recharts/polar.pyi +1 -1
  178. reflex/components/recharts/recharts.pyi +1 -1
  179. reflex/components/suneditor/editor.pyi +1 -1
  180. reflex/config.py +12 -2
  181. reflex/custom_components/custom_components.py +305 -21
  182. reflex/event.py +36 -46
  183. reflex/reflex.py +19 -13
  184. reflex/state.py +184 -39
  185. reflex/testing.py +15 -11
  186. reflex/utils/console.py +15 -7
  187. reflex/utils/exec.py +9 -0
  188. reflex/utils/prerequisites.py +12 -1
  189. reflex/utils/processes.py +8 -25
  190. reflex/utils/pyi_generator.py +842 -0
  191. reflex/utils/telemetry.py +18 -1
  192. reflex/utils/types.py +14 -2
  193. reflex/vars.py +33 -3
  194. {reflex-0.4.5a1.dist-info → reflex-0.4.6.dist-info}/METADATA +31 -29
  195. {reflex-0.4.5a1.dist-info → reflex-0.4.6.dist-info}/RECORD +198 -198
  196. reflex/page.pyi +0 -17
  197. {reflex-0.4.5a1.dist-info → reflex-0.4.6.dist-info}/LICENSE +0 -0
  198. {reflex-0.4.5a1.dist-info → reflex-0.4.6.dist-info}/WHEEL +0 -0
  199. {reflex-0.4.5a1.dist-info → reflex-0.4.6.dist-info}/entry_points.txt +0 -0
@@ -4,15 +4,12 @@ from typing import Iterable, Literal, Optional, Union
4
4
 
5
5
  from reflex.components.component import Component, ComponentNamespace
6
6
  from reflex.components.core.foreach import Foreach
7
- from reflex.components.el.elements.typography import Li
7
+ from reflex.components.el.elements.typography import Li, Ol, Ul
8
8
  from reflex.components.lucide.icon import Icon
9
9
  from reflex.components.radix.themes.typography.text import Text
10
10
  from reflex.style import Style
11
11
  from reflex.vars import Var
12
12
 
13
- from .base import LayoutComponent
14
- from .flex import Flex
15
-
16
13
  LiteralListStyleTypeUnordered = Literal[
17
14
  "none",
18
15
  "disc",
@@ -38,9 +35,11 @@ LiteralListStyleTypeOrdered = Literal[
38
35
  ]
39
36
 
40
37
 
41
- class BaseList(Flex, LayoutComponent):
38
+ class BaseList(Component):
42
39
  """Base class for ordered and unordered lists."""
43
40
 
41
+ tag = "ul"
42
+
44
43
  # The style of the list. Default to "none".
45
44
  list_style_type: Var[
46
45
  Union[LiteralListStyleTypeUnordered, LiteralListStyleTypeOrdered]
@@ -70,10 +69,9 @@ class BaseList(Flex, LayoutComponent):
70
69
  children = [Foreach.create(items, ListItem.create)]
71
70
  else:
72
71
  children = [ListItem.create(item) for item in items]
73
- # props["list_style_type"] = list_style_type
72
+ props["list_style_position"] = "outside"
74
73
  props["direction"] = "column"
75
74
  style = props.setdefault("style", {})
76
- style["list_style_position"] = "outside"
77
75
  style["list_style_type"] = list_style_type
78
76
  if "gap" in props:
79
77
  style["gap"] = props["gap"]
@@ -83,15 +81,17 @@ class BaseList(Flex, LayoutComponent):
83
81
  self.style = Style(
84
82
  {
85
83
  "direction": "column",
86
- "list_style_position": "outside",
84
+ "list_style_position": "inside",
87
85
  **self.style,
88
86
  }
89
87
  )
90
88
 
91
89
 
92
- class UnorderedList(BaseList):
90
+ class UnorderedList(BaseList, Ul):
93
91
  """Display an unordered list."""
94
92
 
93
+ tag = "ul"
94
+
95
95
  @classmethod
96
96
  def create(
97
97
  cls,
@@ -112,14 +112,17 @@ class UnorderedList(BaseList):
112
112
  The list component.
113
113
 
114
114
  """
115
+ props["margin_left"] = props.get("margin_left", "1.5rem")
115
116
  return super().create(
116
117
  *children, items=items, list_style_type=list_style_type, **props
117
118
  )
118
119
 
119
120
 
120
- class OrderedList(BaseList):
121
+ class OrderedList(BaseList, Ol):
121
122
  """Display an ordered list."""
122
123
 
124
+ tag = "ol"
125
+
123
126
  @classmethod
124
127
  def create(
125
128
  cls,
@@ -140,6 +143,7 @@ class OrderedList(BaseList):
140
143
  The list component.
141
144
 
142
145
  """
146
+ props["margin_left"] = props.get("margin_left", "1.5rem")
143
147
  return super().create(
144
148
  *children, items=items, list_style_type=list_style_type, **props
145
149
  )
@@ -171,6 +175,10 @@ class ListItem(Li):
171
175
  class List(ComponentNamespace):
172
176
  """List components."""
173
177
 
174
- item = ListItem.create
175
- ordered = OrderedList.create
176
- unordered = UnorderedList.create
178
+ item = staticmethod(ListItem.create)
179
+ ordered = staticmethod(OrderedList.create)
180
+ unordered = staticmethod(UnorderedList.create)
181
+ __call__ = staticmethod(BaseList.create)
182
+
183
+
184
+ list_ns = List()