reflex 0.4.5a1__tar.gz → 0.4.6__tar.gz

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 (525) hide show
  1. {reflex-0.4.5a1 → reflex-0.4.6}/PKG-INFO +31 -29
  2. {reflex-0.4.5a1 → reflex-0.4.6}/README.md +1 -1
  3. reflex-0.4.6/pyproject.toml +112 -0
  4. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +5 -15
  5. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/index.js.jinja2 +4 -0
  6. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +4 -0
  7. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/utils/state.js +3 -0
  8. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/__init__.py +12 -2
  9. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/__init__.pyi +4 -0
  10. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/app.py +23 -3
  11. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/base.py +16 -4
  12. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/compiler/compiler.py +1 -0
  13. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/compiler/utils.py +11 -2
  14. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/app_wrap.pyi +1 -1
  15. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/bare.py +3 -4
  16. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/body.pyi +1 -1
  17. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/document.pyi +1 -1
  18. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/fragment.pyi +1 -1
  19. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/head.pyi +1 -1
  20. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/link.pyi +1 -1
  21. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/meta.pyi +1 -1
  22. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/script.pyi +1 -1
  23. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/base.pyi +1 -1
  24. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/badge.pyi +1 -1
  25. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/code.pyi +1 -1
  26. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/divider.pyi +1 -1
  27. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/keyboard_key.pyi +1 -1
  28. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/list.pyi +1 -1
  29. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/stat.pyi +1 -1
  30. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/table.pyi +1 -1
  31. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/tag.pyi +1 -1
  32. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/accordion.pyi +1 -1
  33. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/tabs.pyi +1 -1
  34. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/transition.pyi +1 -1
  35. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/visuallyhidden.pyi +1 -1
  36. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/alert.pyi +1 -1
  37. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/circularprogress.pyi +1 -1
  38. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/progress.pyi +1 -1
  39. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/skeleton.pyi +1 -1
  40. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/spinner.pyi +1 -1
  41. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/button.pyi +1 -1
  42. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/checkbox.pyi +1 -1
  43. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/colormodeswitch.pyi +1 -1
  44. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/date_picker.pyi +1 -1
  45. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/date_time_picker.pyi +1 -1
  46. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/editable.pyi +1 -1
  47. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/email.pyi +1 -1
  48. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/form.pyi +1 -1
  49. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/iconbutton.pyi +1 -1
  50. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/input.pyi +1 -1
  51. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/numberinput.pyi +1 -1
  52. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/password.pyi +1 -1
  53. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/pininput.pyi +1 -1
  54. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/radio.pyi +1 -1
  55. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/rangeslider.pyi +1 -1
  56. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/select.pyi +1 -1
  57. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/slider.pyi +1 -1
  58. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/switch.pyi +1 -1
  59. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/textarea.pyi +1 -1
  60. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/time_picker.pyi +1 -1
  61. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/aspect_ratio.pyi +1 -1
  62. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/box.pyi +1 -1
  63. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/card.pyi +1 -1
  64. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/center.pyi +1 -1
  65. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/container.pyi +1 -1
  66. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/flex.pyi +1 -1
  67. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/grid.pyi +1 -1
  68. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/spacer.pyi +1 -1
  69. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/stack.pyi +1 -1
  70. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/wrap.pyi +1 -1
  71. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/media/avatar.pyi +1 -1
  72. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/media/icon.pyi +1 -1
  73. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/media/image.pyi +1 -1
  74. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/breadcrumb.pyi +1 -1
  75. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/link.pyi +1 -1
  76. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/linkoverlay.pyi +1 -1
  77. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/stepper.pyi +1 -1
  78. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/alertdialog.pyi +1 -1
  79. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/drawer.pyi +1 -1
  80. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/menu.pyi +1 -1
  81. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/modal.pyi +1 -1
  82. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/popover.pyi +1 -1
  83. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/tooltip.pyi +1 -1
  84. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/heading.pyi +1 -1
  85. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/highlight.pyi +1 -1
  86. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/span.pyi +1 -1
  87. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/text.pyi +1 -1
  88. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/component.py +82 -30
  89. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/banner.py +1 -2
  90. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/banner.pyi +1 -2
  91. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/client_side_routing.pyi +1 -1
  92. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/cond.py +1 -1
  93. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/debounce.pyi +1 -1
  94. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/html.pyi +1 -1
  95. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/responsive.py +1 -1
  96. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/upload.pyi +1 -1
  97. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/datadisplay/code.py +17 -9
  98. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/datadisplay/code.pyi +3 -1
  99. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/datadisplay/dataeditor.pyi +1 -1
  100. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/element.pyi +1 -1
  101. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/base.pyi +1 -1
  102. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/forms.py +78 -1
  103. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/forms.pyi +10 -2
  104. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/inline.pyi +1 -1
  105. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/media.pyi +1 -1
  106. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/metadata.pyi +1 -1
  107. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/other.pyi +1 -1
  108. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/scripts.pyi +1 -1
  109. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/sectioning.pyi +1 -1
  110. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/tables.pyi +1 -1
  111. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/typography.pyi +1 -1
  112. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/gridjs/datatable.pyi +1 -1
  113. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/lucide/icon.py +275 -115
  114. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/lucide/icon.pyi +259 -114
  115. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/markdown/markdown.pyi +1 -1
  116. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/moment/moment.pyi +1 -1
  117. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/base.pyi +1 -1
  118. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/image.pyi +1 -1
  119. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/link.pyi +1 -1
  120. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/video.pyi +1 -1
  121. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/plotly/plotly.pyi +1 -1
  122. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/accordion.pyi +1 -1
  123. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/base.pyi +1 -1
  124. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/drawer.pyi +1 -1
  125. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/form.pyi +1 -1
  126. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/progress.pyi +1 -1
  127. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/slider.pyi +1 -1
  128. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/base.pyi +1 -1
  129. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/color_mode.pyi +1 -1
  130. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/alert_dialog.pyi +1 -1
  131. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/aspect_ratio.pyi +1 -1
  132. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/avatar.pyi +1 -1
  133. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/badge.pyi +1 -1
  134. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/button.pyi +1 -1
  135. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/callout.pyi +1 -1
  136. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/card.pyi +1 -1
  137. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/checkbox.pyi +1 -1
  138. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/context_menu.pyi +1 -1
  139. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/dialog.pyi +1 -1
  140. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/dropdown_menu.pyi +1 -1
  141. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/hover_card.pyi +1 -1
  142. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/icon_button.pyi +1 -1
  143. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/inset.pyi +1 -1
  144. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/popover.pyi +1 -1
  145. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/radio_group.pyi +1 -1
  146. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/scroll_area.pyi +1 -1
  147. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/select.py +4 -1
  148. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/select.pyi +5 -1
  149. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/separator.pyi +1 -1
  150. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/slider.pyi +1 -1
  151. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/switch.pyi +1 -1
  152. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/table.pyi +1 -1
  153. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/tabs.pyi +1 -1
  154. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/text_area.pyi +5 -1
  155. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/text_field.pyi +1 -1
  156. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/tooltip.pyi +1 -1
  157. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/__init__.py +5 -4
  158. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/base.pyi +1 -1
  159. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/box.pyi +1 -1
  160. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/center.pyi +1 -1
  161. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/container.pyi +1 -1
  162. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/flex.pyi +1 -1
  163. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/grid.pyi +1 -1
  164. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/list.py +21 -13
  165. reflex-0.4.6/reflex/components/radix/themes/layout/list.pyi +721 -0
  166. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/section.pyi +1 -1
  167. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/spacer.pyi +1 -1
  168. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/stack.pyi +1 -1
  169. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/blockquote.pyi +1 -1
  170. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/code.pyi +1 -1
  171. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/heading.pyi +1 -1
  172. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/link.pyi +1 -1
  173. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/text.pyi +1 -1
  174. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/react_player/audio.pyi +1 -1
  175. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/react_player/react_player.pyi +1 -1
  176. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/react_player/video.pyi +1 -1
  177. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/cartesian.pyi +1 -1
  178. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/charts.pyi +1 -1
  179. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/general.pyi +1 -1
  180. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/polar.pyi +1 -1
  181. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/recharts.pyi +1 -1
  182. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/suneditor/editor.pyi +1 -1
  183. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/config.py +12 -2
  184. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/custom_components/custom_components.py +305 -21
  185. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/event.py +36 -46
  186. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/reflex.py +19 -13
  187. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/state.py +184 -39
  188. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/testing.py +15 -11
  189. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/console.py +15 -7
  190. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/exec.py +9 -0
  191. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/prerequisites.py +12 -1
  192. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/processes.py +8 -25
  193. reflex-0.4.6/reflex/utils/pyi_generator.py +842 -0
  194. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/telemetry.py +18 -1
  195. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/types.py +14 -2
  196. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/vars.py +33 -3
  197. reflex-0.4.5a1/pyproject.toml +0 -111
  198. reflex-0.4.5a1/reflex/components/radix/themes/layout/list.pyi +0 -1063
  199. reflex-0.4.5a1/reflex/page.pyi +0 -17
  200. {reflex-0.4.5a1 → reflex-0.4.6}/LICENSE +0 -0
  201. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  202. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  203. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/blank/code/blank.py +0 -0
  204. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/.gitignore +0 -0
  205. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
  206. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/assets/github.svg +0 -0
  207. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/assets/icon.svg +0 -0
  208. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/assets/logo.svg +0 -0
  209. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/assets/paneleft.svg +0 -0
  210. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/__init__.py +0 -0
  211. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/demo.py +0 -0
  212. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/pages/__init__.py +0 -0
  213. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -0
  214. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/pages/datatable.py +0 -0
  215. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/pages/forms.py +0 -0
  216. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/pages/graphing.py +0 -0
  217. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/pages/home.py +0 -0
  218. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/sidebar.py +0 -0
  219. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/state.py +0 -0
  220. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/states/form_state.py +0 -0
  221. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/states/pie_state.py +0 -0
  222. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/styles.py +0 -0
  223. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
  224. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -0
  225. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -0
  226. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -0
  227. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -0
  228. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -0
  229. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -0
  230. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/state.py +0 -0
  231. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/demo/code/webui/styles.py +0 -0
  232. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/README.md +0 -0
  233. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/assets/favicon.ico +0 -0
  234. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/assets/github.svg +0 -0
  235. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/assets/logo.svg +0 -0
  236. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/assets/paneleft.svg +0 -0
  237. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/assets/reflex_black.svg +0 -0
  238. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/assets/reflex_white.svg +0 -0
  239. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/__init__.py +0 -0
  240. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/components/__init__.py +0 -0
  241. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/components/sidebar.py +0 -0
  242. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/pages/__init__.py +0 -0
  243. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/pages/dashboard.py +0 -0
  244. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/pages/index.py +0 -0
  245. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/pages/settings.py +0 -0
  246. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/sidebar.py +0 -0
  247. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/styles.py +0 -0
  248. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/templates/__init__.py +0 -0
  249. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/apps/sidebar/code/templates/template.py +0 -0
  250. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
  251. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
  252. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
  253. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
  254. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
  255. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
  256. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
  257. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
  258. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
  259. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
  260. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
  261. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
  262. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
  263. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
  264. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
  265. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
  266. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
  267. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/.gitignore +0 -0
  268. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -0
  269. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
  270. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/jsconfig.json +0 -0
  271. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/next.config.js +0 -0
  272. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/postcss.config.js +0 -0
  273. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/styles/tailwind.css +0 -0
  274. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/utils/client_side_routing.js +0 -0
  275. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
  276. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/.templates/web/utils/helpers/range.js +0 -0
  277. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/__main__.py +0 -0
  278. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/admin.py +0 -0
  279. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/app.pyi +0 -0
  280. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/app_module_for_backend.py +0 -0
  281. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/compiler/__init__.py +0 -0
  282. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/compiler/templates.py +0 -0
  283. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/__init__.py +0 -0
  284. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/__init__.py +0 -0
  285. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/app_wrap.py +0 -0
  286. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/body.py +0 -0
  287. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/document.py +0 -0
  288. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/fragment.py +0 -0
  289. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/head.py +0 -0
  290. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/link.py +0 -0
  291. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/meta.py +0 -0
  292. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/base/script.py +0 -0
  293. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/__init__.py +0 -0
  294. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/base.py +0 -0
  295. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/__init__.py +0 -0
  296. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/badge.py +0 -0
  297. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/code.py +0 -0
  298. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/divider.py +0 -0
  299. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/keyboard_key.py +0 -0
  300. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/list.py +0 -0
  301. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/stat.py +0 -0
  302. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/table.py +0 -0
  303. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/datadisplay/tag.py +0 -0
  304. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/__init__.py +0 -0
  305. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/accordion.py +0 -0
  306. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/tabs.py +0 -0
  307. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/transition.py +0 -0
  308. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/disclosure/visuallyhidden.py +0 -0
  309. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/__init__.py +0 -0
  310. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/alert.py +0 -0
  311. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/circularprogress.py +0 -0
  312. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/progress.py +0 -0
  313. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/skeleton.py +0 -0
  314. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/feedback/spinner.py +0 -0
  315. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/__init__.py +0 -0
  316. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/button.py +0 -0
  317. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/checkbox.py +0 -0
  318. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/colormodeswitch.py +0 -0
  319. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/date_picker.py +0 -0
  320. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/date_time_picker.py +0 -0
  321. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/editable.py +0 -0
  322. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/email.py +0 -0
  323. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/form.py +0 -0
  324. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/iconbutton.py +0 -0
  325. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/input.py +0 -0
  326. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/multiselect.py +0 -0
  327. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/numberinput.py +0 -0
  328. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/password.py +0 -0
  329. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/pininput.py +0 -0
  330. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/radio.py +0 -0
  331. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/rangeslider.py +0 -0
  332. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/select.py +0 -0
  333. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/slider.py +0 -0
  334. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/switch.py +0 -0
  335. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/textarea.py +0 -0
  336. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/forms/time_picker.py +0 -0
  337. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/__init__.py +0 -0
  338. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/aspect_ratio.py +0 -0
  339. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/box.py +0 -0
  340. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/card.py +0 -0
  341. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/center.py +0 -0
  342. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/container.py +0 -0
  343. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/flex.py +0 -0
  344. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/grid.py +0 -0
  345. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/spacer.py +0 -0
  346. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/stack.py +0 -0
  347. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/layout/wrap.py +0 -0
  348. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/media/__init__.py +0 -0
  349. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/media/avatar.py +0 -0
  350. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/media/icon.py +0 -0
  351. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/media/image.py +0 -0
  352. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/__init__.py +0 -0
  353. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/breadcrumb.py +0 -0
  354. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/link.py +0 -0
  355. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/linkoverlay.py +0 -0
  356. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/navigation/stepper.py +0 -0
  357. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/__init__.py +0 -0
  358. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/alertdialog.py +0 -0
  359. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/drawer.py +0 -0
  360. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/menu.py +0 -0
  361. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/modal.py +0 -0
  362. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/popover.py +0 -0
  363. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/overlay/tooltip.py +0 -0
  364. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/__init__.py +0 -0
  365. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/heading.py +0 -0
  366. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/highlight.py +0 -0
  367. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/span.py +0 -0
  368. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/chakra/typography/text.py +0 -0
  369. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/__init__.py +0 -0
  370. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/client_side_routing.py +0 -0
  371. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/colors.py +0 -0
  372. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/debounce.py +0 -0
  373. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/foreach.py +0 -0
  374. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/html.py +0 -0
  375. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/layout/__init__.py +0 -0
  376. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/match.py +0 -0
  377. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/core/upload.py +0 -0
  378. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/datadisplay/__init__.py +0 -0
  379. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/datadisplay/dataeditor.py +0 -0
  380. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/__init__.py +0 -0
  381. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/constants/__init__.py +0 -0
  382. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/constants/html.py +0 -0
  383. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/constants/react.py +0 -0
  384. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/constants/reflex.py +0 -0
  385. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/element.py +0 -0
  386. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/__init__.py +0 -0
  387. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/base.py +0 -0
  388. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/inline.py +0 -0
  389. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/media.py +0 -0
  390. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/metadata.py +0 -0
  391. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/other.py +0 -0
  392. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/scripts.py +0 -0
  393. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/sectioning.py +0 -0
  394. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/tables.py +0 -0
  395. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/el/elements/typography.py +0 -0
  396. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/gridjs/__init__.py +0 -0
  397. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/gridjs/datatable.py +0 -0
  398. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/literals.py +0 -0
  399. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/lucide/__init__.py +0 -0
  400. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/markdown/__init__.py +0 -0
  401. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/markdown/markdown.py +0 -0
  402. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/media/__init__.py +0 -0
  403. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/media/icon.py +0 -0
  404. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/moment/__init__.py +0 -0
  405. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/moment/moment.py +0 -0
  406. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/__init__.py +0 -0
  407. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/base.py +0 -0
  408. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/image.py +0 -0
  409. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/link.py +0 -0
  410. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/next/video.py +0 -0
  411. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/plotly/__init__.py +0 -0
  412. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/plotly/plotly.py +0 -0
  413. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/__init__.py +0 -0
  414. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/__init__.py +0 -0
  415. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/accordion.py +0 -0
  416. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/base.py +0 -0
  417. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/drawer.py +0 -0
  418. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/form.py +0 -0
  419. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/progress.py +0 -0
  420. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/primitives/slider.py +0 -0
  421. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/__init__.py +0 -0
  422. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/base.py +0 -0
  423. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/color_mode.py +0 -0
  424. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/__init__.py +0 -0
  425. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  426. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/alertdialog.pyi +0 -0
  427. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  428. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/aspectratio.pyi +0 -0
  429. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/avatar.py +0 -0
  430. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/badge.py +0 -0
  431. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/button.py +0 -0
  432. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/callout.py +0 -0
  433. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/card.py +0 -0
  434. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/checkbox.py +0 -0
  435. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/context_menu.py +0 -0
  436. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/contextmenu.pyi +0 -0
  437. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/dialog.py +0 -0
  438. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  439. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/dropdownmenu.pyi +0 -0
  440. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/hover_card.py +0 -0
  441. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/hovercard.pyi +0 -0
  442. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/icon_button.py +0 -0
  443. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/iconbutton.pyi +0 -0
  444. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/inset.py +0 -0
  445. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/popover.py +0 -0
  446. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/radio_group.py +0 -0
  447. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/radiogroup.pyi +0 -0
  448. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  449. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/scrollarea.pyi +0 -0
  450. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/separator.py +0 -0
  451. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/slider.py +0 -0
  452. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/switch.py +0 -0
  453. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/table.py +0 -0
  454. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/tabs.py +0 -0
  455. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/text_area.py +0 -0
  456. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/text_field.py +0 -0
  457. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/textfield.pyi +0 -0
  458. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/components/tooltip.py +0 -0
  459. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/base.py +0 -0
  460. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/box.py +0 -0
  461. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/center.py +0 -0
  462. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/container.py +0 -0
  463. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/flex.py +0 -0
  464. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/grid.py +0 -0
  465. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/section.py +0 -0
  466. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/spacer.py +0 -0
  467. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/layout/stack.py +0 -0
  468. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/__init__.py +0 -0
  469. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/base.py +0 -0
  470. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  471. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/code.py +0 -0
  472. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/em.pyi +0 -0
  473. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/heading.py +0 -0
  474. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/kbd.pyi +0 -0
  475. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/link.py +0 -0
  476. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/quote.pyi +0 -0
  477. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/strong.pyi +0 -0
  478. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/radix/themes/typography/text.py +0 -0
  479. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/react_player/__init__.py +0 -0
  480. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/react_player/audio.py +0 -0
  481. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/react_player/react_player.py +0 -0
  482. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/react_player/video.py +0 -0
  483. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/__init__.py +0 -0
  484. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/cartesian.py +0 -0
  485. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/charts.py +0 -0
  486. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/general.py +0 -0
  487. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/polar.py +0 -0
  488. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/recharts/recharts.py +0 -0
  489. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/suneditor/__init__.py +0 -0
  490. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/suneditor/editor.py +0 -0
  491. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/tags/__init__.py +0 -0
  492. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/tags/cond_tag.py +0 -0
  493. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/tags/iter_tag.py +0 -0
  494. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/tags/match_tag.py +0 -0
  495. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/tags/tag.py +0 -0
  496. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/components/tags/tagless.py +0 -0
  497. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/config.pyi +0 -0
  498. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/__init__.py +0 -0
  499. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/base.py +0 -0
  500. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/colors.py +0 -0
  501. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/compiler.py +0 -0
  502. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/config.py +0 -0
  503. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/custom_components.py +0 -0
  504. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/event.py +0 -0
  505. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/installer.py +0 -0
  506. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/route.py +0 -0
  507. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/constants/style.py +0 -0
  508. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/custom_components/__init__.py +0 -0
  509. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/middleware/__init__.py +0 -0
  510. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/middleware/hydrate_middleware.py +0 -0
  511. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/middleware/middleware.py +0 -0
  512. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/model.py +0 -0
  513. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/page.py +0 -0
  514. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/route.py +0 -0
  515. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/style.py +0 -0
  516. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/__init__.py +0 -0
  517. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/build.py +0 -0
  518. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/exceptions.py +0 -0
  519. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/export.py +0 -0
  520. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/format.py +0 -0
  521. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/imports.py +0 -0
  522. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/path_ops.py +0 -0
  523. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/serializers.py +0 -0
  524. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/utils/watch.py +0 -0
  525. {reflex-0.4.5a1 → reflex-0.4.6}/reflex/vars.pyi +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.4.5a1
3
+ Version: 0.4.6
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
@@ -15,36 +15,38 @@ Classifier: Programming Language :: Python :: 3.8
15
15
  Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
- Requires-Dist: alembic (>=1.11.1,<2.0.0)
19
- Requires-Dist: build (>=1.0.3,<2.0.0)
20
- Requires-Dist: charset-normalizer (>=3.3.2,<4.0.0)
21
- Requires-Dist: cloudpickle (>=2.2.1,<3.0.0)
22
- Requires-Dist: distro (>=1.8.0,<2.0.0) ; sys_platform == "linux"
23
- Requires-Dist: fastapi (>=0.96.0,<0.97.0)
24
- Requires-Dist: gunicorn (>=20.1.0,<21.0.0)
25
- Requires-Dist: httpx (>=0.25.1)
26
- Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
27
- Requires-Dist: packaging (>=23.1,<24.0)
28
- Requires-Dist: platformdirs (>=3.10.0,<4.0.0)
29
- Requires-Dist: psutil (>=5.9.4,<6.0.0)
30
- Requires-Dist: pydantic (>=1.10.2,<2.0.0)
18
+ Requires-Dist: alembic (>=1.11.1,<2.0)
19
+ Requires-Dist: build (>=1.0.3,<2.0)
20
+ Requires-Dist: charset-normalizer (>=3.3.2,<4.0)
21
+ Requires-Dist: dill (>=0.3.8,<0.4)
22
+ Requires-Dist: distro (>=1.8.0,<2.0) ; sys_platform == "linux"
23
+ Requires-Dist: fastapi (>=0.96.0,<1.0)
24
+ Requires-Dist: gunicorn (>=20.1.0,<22.0)
25
+ Requires-Dist: httpx (>=0.25.1,<1.0)
26
+ Requires-Dist: jinja2 (>=3.1.2,<4.0)
27
+ Requires-Dist: packaging (>=23.1,<25.0)
28
+ Requires-Dist: platformdirs (>=3.10.0,<5.0)
29
+ Requires-Dist: psutil (>=5.9.4,<6.0)
30
+ Requires-Dist: pydantic (>=1.10.2,<3.0)
31
31
  Requires-Dist: python-engineio (!=4.6.0)
32
- Requires-Dist: python-multipart (>=0.0.5,<0.0.6)
33
- Requires-Dist: python-socketio (>=5.7.0,<6.0.0)
34
- Requires-Dist: redis (>=4.3.5,<5.0.0)
35
- Requires-Dist: reflex-hosting-cli (>=0.1.2)
36
- Requires-Dist: rich (>=13.0.0,<14.0.0)
37
- Requires-Dist: setuptools (>=69.1.1,<70.0.0)
38
- Requires-Dist: sqlmodel (>=0.0.14,<0.0.15)
39
- Requires-Dist: starlette-admin (>=0.9.0,<0.10.0)
40
- Requires-Dist: typer (>=0.4.2,<1)
32
+ Requires-Dist: python-multipart (>=0.0.5,<0.1)
33
+ Requires-Dist: python-socketio (>=5.7.0,<6.0)
34
+ Requires-Dist: redis (>=4.3.5,<6.0)
35
+ Requires-Dist: reflex-hosting-cli (>=0.1.2,<2.0)
36
+ Requires-Dist: rich (>=13.0.0,<14.0)
37
+ Requires-Dist: setuptools (>=69.1.1,<70.0)
38
+ Requires-Dist: sqlmodel (>=0.0.14,<0.1)
39
+ Requires-Dist: starlette-admin (>=0.11.0,<1.0)
40
+ Requires-Dist: tomlkit (>=0.12.4,<1.0)
41
+ Requires-Dist: twine (>=4.0.0,<6.0)
42
+ Requires-Dist: typer (>=0.4.2,<1.0)
41
43
  Requires-Dist: uvicorn (>=0.20.0,<0.21.0) ; python_version < "3.12"
42
44
  Requires-Dist: uvicorn (>=0.24.0,<0.25.0) ; python_version >= "3.12"
43
- Requires-Dist: watchdog (>=2.3.1,<3.0.0)
44
- Requires-Dist: watchfiles (>=0.19.0,<0.20.0)
45
- Requires-Dist: wheel (>=0.42.0,<0.43.0)
46
- Requires-Dist: wrapt (>=1.11.0,<2.0.0) ; python_version < "3.11"
47
- Requires-Dist: wrapt (>=1.14.0,<2.0.0) ; python_version >= "3.11"
45
+ Requires-Dist: watchdog (>=2.3.1,<5.0)
46
+ Requires-Dist: watchfiles (>=0.19.0,<1.0)
47
+ Requires-Dist: wheel (>=0.42.0,<1.0)
48
+ Requires-Dist: wrapt (>=1.11.0,<2.0) ; python_version < "3.11"
49
+ Requires-Dist: wrapt (>=1.14.0,<2.0) ; python_version >= "3.11"
48
50
  Project-URL: Documentation, https://reflex.dev/docs/getting-started/introduction
49
51
  Project-URL: Repository, https://github.com/reflex-dev/reflex
50
52
  Description-Content-Type: text/markdown
@@ -256,7 +258,7 @@ You can create a multi-page app by adding more pages.
256
258
 
257
259
  <div align="center">
258
260
 
259
- 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Gallery](https://reflex.dev/docs/gallery) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy) &nbsp;
261
+ 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Gallery](https://reflex.dev/docs/gallery) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start) &nbsp;
260
262
 
261
263
  </div>
262
264
 
@@ -205,7 +205,7 @@ You can create a multi-page app by adding more pages.
205
205
 
206
206
  <div align="center">
207
207
 
208
- 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Gallery](https://reflex.dev/docs/gallery) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy) &nbsp;
208
+ 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Gallery](https://reflex.dev/docs/gallery) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start) &nbsp;
209
209
 
210
210
  </div>
211
211
 
@@ -0,0 +1,112 @@
1
+ [tool.poetry]
2
+ name = "reflex"
3
+ version = "0.4.6"
4
+ description = "Web apps in pure Python."
5
+ license = "Apache-2.0"
6
+ authors = [
7
+ "Nikhil Rao <nikhil@reflex.dev>",
8
+ "Alek Petuskey <alek@reflex.dev>",
9
+ "Masen Furer <masen@reflex.dev>",
10
+ "Elijah Ahianyo <elijah@reflex.dev>",
11
+ "Thomas Brandého <thomas@reflex.dev>",
12
+ ]
13
+ readme = "README.md"
14
+ homepage = "https://reflex.dev"
15
+ repository = "https://github.com/reflex-dev/reflex"
16
+ documentation = "https://reflex.dev/docs/getting-started/introduction"
17
+ keywords = [
18
+ "web",
19
+ "framework",
20
+ ]
21
+ classifiers = [
22
+ "Development Status :: 4 - Beta",
23
+ ]
24
+ packages = [
25
+ {include = "reflex"}
26
+ ]
27
+
28
+ [tool.poetry.dependencies]
29
+ python = "^3.8"
30
+ dill = ">=0.3.8,<0.4"
31
+ fastapi = ">=0.96.0,<1.0"
32
+ gunicorn = ">=20.1.0,<22.0"
33
+ jinja2 = ">=3.1.2,<4.0"
34
+ psutil = ">=5.9.4,<6.0"
35
+ pydantic = ">=1.10.2,<3.0"
36
+ python-multipart = ">=0.0.5,<0.1"
37
+ python-socketio = ">=5.7.0,<6.0"
38
+ redis = ">=4.3.5,<6.0"
39
+ rich = ">=13.0.0,<14.0"
40
+ sqlmodel = ">=0.0.14,<0.1"
41
+ typer = ">=0.4.2,<1.0"
42
+ uvicorn = [
43
+ {version = "^0.24.0", python = ">=3.12"},
44
+ {version = "^0.20.0", python = "<3.12"},
45
+ ]
46
+ watchdog = ">=2.3.1,<5.0"
47
+ watchfiles = ">=0.19.0,<1.0"
48
+ starlette-admin = ">=0.11.0,<1.0"
49
+ alembic = ">=1.11.1,<2.0"
50
+ platformdirs = ">=3.10.0,<5.0"
51
+ distro = {version = ">=1.8.0,<2.0", platform = "linux"}
52
+ python-engineio = "!=4.6.0"
53
+ wrapt = [
54
+ {version = ">=1.14.0,<2.0", python = ">=3.11"},
55
+ {version = ">=1.11.0,<2.0", python = "<3.11"},
56
+ ]
57
+ packaging = ">=23.1,<25.0"
58
+ reflex-hosting-cli = ">=0.1.2,<2.0"
59
+ charset-normalizer = ">=3.3.2,<4.0"
60
+ wheel = ">=0.42.0,<1.0"
61
+ build = ">=1.0.3,<2.0"
62
+ setuptools = ">=69.1.1,<70.0"
63
+ httpx = ">=0.25.1,<1.0"
64
+ twine = ">=4.0.0,<6.0"
65
+ tomlkit = ">=0.12.4,<1.0"
66
+
67
+ [tool.poetry.group.dev.dependencies]
68
+ pytest = ">=7.1.2,<8.0"
69
+ pytest-mock = ">=3.10.0,<4.0"
70
+ pyright = ">=1.1.229,<1.1.335"
71
+ darglint = ">=1.8.1,<2.0"
72
+ toml = ">=0.10.2,<1.0"
73
+ pytest-asyncio = ">=0.20.1,<0.22.0" # https://github.com/pytest-dev/pytest-asyncio/issues/706
74
+ pytest-cov = ">=4.0.0,<5.0"
75
+ black = "^22.10.0,<23.0"
76
+ ruff = "^0.0.244,<0.1.0"
77
+ pandas = [
78
+ {version = ">=2.1.1,<3.0", python = ">=3.9,<3.13"},
79
+ {version = ">=1.5.3,<2.0", python = ">=3.8,<3.9"},
80
+ ]
81
+ pillow = [
82
+ {version = ">=10.0.0,<11.0", python = ">=3.8,<4.0"}
83
+ ]
84
+ plotly = ">=5.13.0,<6.0"
85
+ asynctest = ">=0.13.0,<1.0"
86
+ pre-commit = {version = ">=3.2.1", python = ">=3.8,<4.0"}
87
+ selenium = ">=4.11.0,<5.0"
88
+ pytest-benchmark = ">=4.0.0,<5.0"
89
+
90
+ [tool.poetry.scripts]
91
+ reflex = "reflex.reflex:cli"
92
+
93
+ [build-system]
94
+ requires = ["poetry-core>=1.5.1"]
95
+ build-backend = "poetry.core.masonry.api"
96
+
97
+ [tool.pyright]
98
+
99
+ [tool.ruff]
100
+
101
+ select = ["B", "D", "E", "F", "I", "SIM", "W"]
102
+
103
+ ignore = ["B008", "D203", "D205", "D213", "D401", "D406", "D407", "E501", "F403", "F405", "F541"]
104
+
105
+ target-version = "py37"
106
+
107
+ [tool.ruff.per-file-ignores]
108
+
109
+ "__init__.py" = ["F401"]
110
+ "tests/*.py" = ["D100", "D103", "D104"]
111
+ "reflex/.templates/*.py" = ["D100", "D103", "D104"]
112
+ "*.pyi" = ["ALL"]
@@ -1,8 +1,5 @@
1
1
  [build-system]
2
- requires = [
3
- "setuptools",
4
- "wheel",
5
- ]
2
+ requires = ["setuptools", "wheel"]
6
3
  build-backend = "setuptools.build_meta"
7
4
 
8
5
  [project]
@@ -12,21 +9,14 @@ description = "Reflex custom component {{ module_name }}"
12
9
  readme = "README.md"
13
10
  license = { text = "Apache-2.0" }
14
11
  requires-python = ">=3.8"
15
- authors = [{ name = "Your Name", email = "YOUREMAIL@domain.com" }]
16
- keywords = [
17
- "reflex",
18
- "reflex-custom-components"]
12
+ authors = [{ name = "", email = "YOUREMAIL@domain.com" }]
13
+ keywords = ["reflex", "reflex-custom-components"]
19
14
 
20
- dependencies = [
21
- "reflex>=0.4.2"
22
- ]
15
+ dependencies = ["reflex>=0.4.2"]
23
16
 
24
- classifiers = [
25
- "Development Status :: 4 - Beta",
26
- ]
17
+ classifiers = ["Development Status :: 4 - Beta"]
27
18
 
28
19
  [project.urls]
29
- Homepage = "https://github.com"
30
20
 
31
21
  [project.optional-dependencies]
32
22
  dev = ["build", "twine"]
@@ -8,6 +8,10 @@
8
8
 
9
9
  {% block export %}
10
10
  export default function Component() {
11
+ {% for ref_hook in ref_hooks %}
12
+ {{ ref_hook }}
13
+ {% endfor %}
14
+
11
15
  {% for hook in hooks %}
12
16
  {{ hook }}
13
17
  {% endfor %}
@@ -1,6 +1,10 @@
1
1
  {% import 'web/pages/utils.js.jinja2' as utils %}
2
2
 
3
3
  export function {{tag_name}} () {
4
+ {% for ref_hook in component.get_ref_hooks() %}
5
+ {{ ref_hook }}
6
+ {% endfor %}
7
+
4
8
  {% for hook in component.get_hooks_internal() %}
5
9
  {{ hook }}
6
10
  {% endfor %}
@@ -646,9 +646,12 @@ export const useEventLoop = (
646
646
 
647
647
  // Route after the initial page hydration.
648
648
  useEffect(() => {
649
+ const change_start = () => dispatch["state"]({is_hydrated: false})
649
650
  const change_complete = () => addEvents(onLoadInternalEvent());
651
+ router.events.on("routeChangeStart", change_start);
650
652
  router.events.on("routeChangeComplete", change_complete);
651
653
  return () => {
654
+ router.events.off("routeChangeStart", change_start);
652
655
  router.events.off("routeChangeComplete", change_complete);
653
656
  };
654
657
  }, [router]);
@@ -104,6 +104,7 @@ _ALL_COMPONENTS = [
104
104
  "EditorOptions",
105
105
  "icon",
106
106
  "markdown",
107
+ "list",
107
108
  "list_item",
108
109
  "unordered_list",
109
110
  "ordered_list",
@@ -130,6 +131,7 @@ _MAPPING = {
130
131
  "reflex.event": [
131
132
  "event",
132
133
  "EventChain",
134
+ "EventHandler",
133
135
  "background",
134
136
  "call_script",
135
137
  "clear_local_storage",
@@ -141,6 +143,7 @@ _MAPPING = {
141
143
  "remove_local_storage",
142
144
  "set_clipboard",
143
145
  "set_focus",
146
+ "scroll_to",
144
147
  "set_value",
145
148
  "stop_propagation",
146
149
  "upload_files",
@@ -150,7 +153,14 @@ _MAPPING = {
150
153
  "reflex.model": ["model", "session", "Model"],
151
154
  "reflex.page": ["page"],
152
155
  "reflex.route": ["route"],
153
- "reflex.state": ["state", "var", "Cookie", "LocalStorage", "State"],
156
+ "reflex.state": [
157
+ "state",
158
+ "var",
159
+ "Cookie",
160
+ "LocalStorage",
161
+ "ComponentState",
162
+ "State",
163
+ ],
154
164
  "reflex.style": ["style", "toggle_color_mode"],
155
165
  "reflex.testing": ["testing"],
156
166
  "reflex.utils": ["utils"],
@@ -187,7 +197,7 @@ def _removeprefix(text, prefix):
187
197
  return text[text.startswith(prefix) and len(prefix) :]
188
198
 
189
199
 
190
- __all__ = [_removeprefix(mod, "reflex.") for mod in _MAPPING]
200
+ __all__ = (_removeprefix(mod, "reflex.") for mod in _MAPPING)
191
201
 
192
202
 
193
203
  def __getattr__(name: str) -> Type:
@@ -90,6 +90,7 @@ from reflex.components import EditorButtonList as EditorButtonList
90
90
  from reflex.components import EditorOptions as EditorOptions
91
91
  from reflex.components import icon as icon
92
92
  from reflex.components import markdown as markdown
93
+ from reflex.components import list as list
93
94
  from reflex.components import list_item as list_item
94
95
  from reflex.components import unordered_list as unordered_list
95
96
  from reflex.components import ordered_list as ordered_list
@@ -112,6 +113,7 @@ from reflex import constants as constants
112
113
  from reflex.constants import Env as Env
113
114
  from reflex import event as event
114
115
  from reflex.event import EventChain as EventChain
116
+ from reflex.event import EventHandler as EventHandler
115
117
  from reflex.event import background as background
116
118
  from reflex.event import call_script as call_script
117
119
  from reflex.event import clear_local_storage as clear_local_storage
@@ -123,6 +125,7 @@ from reflex.event import remove_cookie as remove_cookie
123
125
  from reflex.event import remove_local_storage as remove_local_storage
124
126
  from reflex.event import set_clipboard as set_clipboard
125
127
  from reflex.event import set_focus as set_focus
128
+ from reflex.event import scroll_to as scroll_to
126
129
  from reflex.event import set_value as set_value
127
130
  from reflex.event import stop_propagation as stop_propagation
128
131
  from reflex.event import upload_files as upload_files
@@ -138,6 +141,7 @@ from reflex import state as state
138
141
  from reflex.state import var as var
139
142
  from reflex.state import Cookie as Cookie
140
143
  from reflex.state import LocalStorage as LocalStorage
144
+ from reflex.state import ComponentState as ComponentState
141
145
  from reflex.state import State as State
142
146
  from reflex import style as style
143
147
  from reflex.style import toggle_color_mode as toggle_color_mode
@@ -7,6 +7,7 @@ import concurrent.futures
7
7
  import contextlib
8
8
  import copy
9
9
  import functools
10
+ import io
10
11
  import multiprocessing
11
12
  import os
12
13
  import platform
@@ -77,7 +78,7 @@ from reflex.state import (
77
78
  code_uses_state_contexts,
78
79
  )
79
80
  from reflex.utils import console, exceptions, format, prerequisites, types
80
- from reflex.utils.exec import is_testing_env
81
+ from reflex.utils.exec import is_testing_env, should_skip_compile
81
82
  from reflex.utils.imports import ImportVar
82
83
 
83
84
  # Define custom types.
@@ -672,7 +673,7 @@ class App(Base):
672
673
  Whether the app should be compiled.
673
674
  """
674
675
  # Check the environment variable.
675
- if os.environ.get(constants.SKIP_COMPILE_ENV_VAR) == "yes":
676
+ if should_skip_compile():
676
677
  return False
677
678
 
678
679
  # Check the nocompile file.
@@ -1155,10 +1156,29 @@ def upload(app: App):
1155
1156
  "List[rx.UploadFile]"
1156
1157
  )
1157
1158
 
1159
+ # Make a copy of the files as they are closed after the request.
1160
+ # This behaviour changed from fastapi 0.103.0 to 0.103.1 as the
1161
+ # AsyncExitStack was removed from the request scope and is now
1162
+ # part of the routing function which closes this before the
1163
+ # event is handled.
1164
+ file_copies = []
1165
+ for file in files:
1166
+ content_copy = io.BytesIO()
1167
+ content_copy.write(await file.read())
1168
+ content_copy.seek(0)
1169
+ file_copies.append(
1170
+ UploadFile(
1171
+ file=content_copy,
1172
+ filename=file.filename,
1173
+ size=file.size,
1174
+ headers=file.headers,
1175
+ )
1176
+ )
1177
+
1158
1178
  event = Event(
1159
1179
  token=token,
1160
1180
  name=handler,
1161
- payload={handler_upload_param[0]: files},
1181
+ payload={handler_upload_param[0]: file_copies},
1162
1182
  )
1163
1183
 
1164
1184
  async def _ndjson_updates():
@@ -2,11 +2,23 @@
2
2
  from __future__ import annotations
3
3
 
4
4
  import os
5
- from typing import Any, List, Type
5
+ from typing import TYPE_CHECKING, Any, List, Type
6
+
7
+ try:
8
+ # TODO The type checking guard can be removed once
9
+ # reflex-hosting-cli tools are compatible with pydantic v2
10
+
11
+ if not TYPE_CHECKING:
12
+ import pydantic.v1 as pydantic
13
+ from pydantic.v1 import BaseModel
14
+ from pydantic.v1.fields import ModelField
15
+ else:
16
+ raise ModuleNotFoundError
17
+ except ModuleNotFoundError:
18
+ import pydantic
19
+ from pydantic import BaseModel
20
+ from pydantic.fields import ModelField
6
21
 
7
- import pydantic
8
- from pydantic import BaseModel
9
- from pydantic.fields import ModelField
10
22
 
11
23
  from reflex import constants
12
24
 
@@ -119,6 +119,7 @@ def _compile_page(
119
119
  imports=imports,
120
120
  dynamic_imports=component.get_dynamic_imports(),
121
121
  custom_codes=component.get_custom_code(),
122
+ ref_hooks=component.get_ref_hooks(),
122
123
  hooks=component.get_hooks_internal() | component.get_hooks(),
123
124
  render=component.render(),
124
125
  **kwargs,
@@ -3,10 +3,19 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import os
6
- from typing import Any, Callable, Dict, Optional, Type, Union
6
+ from typing import TYPE_CHECKING, Any, Callable, Dict, Optional, Type, Union
7
7
  from urllib.parse import urlparse
8
8
 
9
- from pydantic.fields import ModelField
9
+ try:
10
+ # TODO The type checking guard can be removed once
11
+ # reflex-hosting-cli tools are compatible with pydantic v2
12
+
13
+ if not TYPE_CHECKING:
14
+ import pydantic.v1.fields as ModelField
15
+ else:
16
+ raise ModuleNotFoundError
17
+ except ModuleNotFoundError:
18
+ from pydantic.fields import ModelField
10
19
 
11
20
  from reflex import constants
12
21
  from reflex.components.base import (
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/base/app_wrap.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,4 +1,5 @@
1
1
  """A bare component."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
5
  from typing import Any, Iterator
@@ -27,7 +28,7 @@ class Bare(Component):
27
28
  if isinstance(contents, Var) and contents._var_data:
28
29
  contents = contents.to(str)
29
30
  else:
30
- contents = str(contents)
31
+ contents = str(contents) if contents is not None else ""
31
32
  return cls(contents=contents) # type: ignore
32
33
 
33
34
  def _render(self) -> Tag:
@@ -42,6 +43,4 @@ class Bare(Component):
42
43
  Yields:
43
44
  The contents if it is a Var, otherwise nothing.
44
45
  """
45
- if isinstance(self.contents, Var):
46
- # Fast path for Bare text components.
47
- yield self.contents
46
+ yield self.contents
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/base/body.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/base/document.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/base/fragment.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/base/head.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/base/link.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/base/meta.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/base/script.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/chakra/base.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/chakra/datadisplay/badge.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/chakra/datadisplay/code.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/chakra/datadisplay/divider.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/chakra/datadisplay/keyboard_key.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/chakra/datadisplay/list.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/chakra/datadisplay/stat.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload
@@ -1,6 +1,6 @@
1
1
  """Stub file for reflex/components/chakra/datadisplay/table.py"""
2
2
  # ------------------- DO NOT EDIT ----------------------
3
- # This file was generated by `scripts/pyi_generator.py`!
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
4
  # ------------------------------------------------------
5
5
 
6
6
  from typing import Any, Dict, Literal, Optional, Union, overload