reflex 0.8.0a5__tar.gz → 0.8.0a6__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 (414) hide show
  1. {reflex-0.8.0a5 → reflex-0.8.0a6}/PKG-INFO +2 -2
  2. {reflex-0.8.0a5 → reflex-0.8.0a6}/pyproject.toml +3 -2
  3. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +1 -1
  4. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/utils/state.js +78 -31
  5. reflex-0.8.0a6/reflex/__init__.pyi +351 -0
  6. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/app.py +17 -7
  7. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/compiler/compiler.py +3 -1
  8. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/compiler/utils.py +28 -12
  9. reflex-0.8.0a6/reflex/components/__init__.pyi +39 -0
  10. reflex-0.8.0a6/reflex/components/base/__init__.pyi +35 -0
  11. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/app_wrap.pyi +2 -3
  12. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/body.pyi +2 -3
  13. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/document.pyi +7 -13
  14. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/error_boundary.pyi +2 -3
  15. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/fragment.pyi +2 -3
  16. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/link.pyi +3 -5
  17. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/meta.pyi +14 -18
  18. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/script.pyi +2 -3
  19. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/strict_mode.pyi +2 -3
  20. reflex-0.8.0a6/reflex/components/core/__init__.pyi +82 -0
  21. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/auto_scroll.pyi +2 -3
  22. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/banner.pyi +8 -14
  23. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/client_side_routing.pyi +2 -3
  24. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/clipboard.pyi +2 -3
  25. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/debounce.pyi +2 -3
  26. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/helmet.pyi +2 -3
  27. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/html.pyi +2 -3
  28. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/sticky.pyi +4 -7
  29. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/upload.pyi +5 -9
  30. reflex-0.8.0a6/reflex/components/datadisplay/__init__.pyi +18 -0
  31. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/datadisplay/code.pyi +2 -3
  32. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/datadisplay/dataeditor.pyi +33 -11
  33. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/datadisplay/shiki_code_block.pyi +3 -5
  34. reflex-0.8.0a6/reflex/components/el/__init__.pyi +511 -0
  35. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/element.pyi +2 -3
  36. reflex-0.8.0a6/reflex/components/el/elements/__init__.pyi +647 -0
  37. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/base.pyi +2 -3
  38. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/forms.pyi +77 -49
  39. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/inline.pyi +29 -57
  40. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/media.pyi +26 -51
  41. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/metadata.pyi +7 -13
  42. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/other.pyi +8 -15
  43. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/scripts.pyi +4 -7
  44. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/sectioning.pyi +16 -31
  45. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/tables.pyi +11 -21
  46. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/typography.pyi +16 -31
  47. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/gridjs/datatable.pyi +3 -5
  48. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/lucide/icon.pyi +4 -7
  49. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/markdown/markdown.pyi +2 -3
  50. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/moment/moment.py +1 -1
  51. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/moment/moment.pyi +2 -3
  52. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/plotly/plotly.pyi +31 -39
  53. reflex-0.8.0a6/reflex/components/radix/__init__.pyi +128 -0
  54. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/__init__.pyi +6 -4
  55. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/accordion.pyi +8 -15
  56. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/base.pyi +3 -5
  57. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/drawer.pyi +11 -21
  58. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/form.pyi +22 -22
  59. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/progress.pyi +5 -9
  60. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/slider.pyi +6 -11
  61. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/__init__.pyi +5 -6
  62. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/base.pyi +9 -17
  63. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/color_mode.pyi +4 -7
  64. reflex-0.8.0a6/reflex/components/radix/themes/components/__init__.pyi +80 -0
  65. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/alert_dialog.pyi +8 -15
  66. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/aspect_ratio.pyi +2 -3
  67. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/avatar.pyi +2 -3
  68. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/badge.pyi +2 -3
  69. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/button.pyi +2 -3
  70. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/callout.pyi +5 -9
  71. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/card.pyi +2 -3
  72. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/checkbox.pyi +3 -5
  73. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/checkbox_cards.pyi +3 -5
  74. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/checkbox_group.pyi +3 -5
  75. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/context_menu.pyi +14 -27
  76. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/data_list.pyi +5 -9
  77. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/dialog.pyi +7 -13
  78. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/dropdown_menu.pyi +9 -17
  79. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/hover_card.pyi +4 -7
  80. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/icon_button.pyi +2 -3
  81. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/inset.pyi +2 -3
  82. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/popover.pyi +5 -9
  83. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/progress.pyi +2 -3
  84. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/radio.pyi +2 -3
  85. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/radio_cards.pyi +3 -5
  86. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/radio_group.pyi +4 -7
  87. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/scroll_area.pyi +2 -3
  88. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/segmented_control.pyi +3 -5
  89. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/select.pyi +9 -17
  90. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/separator.pyi +2 -3
  91. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/skeleton.pyi +2 -3
  92. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/slider.pyi +12 -5
  93. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/spinner.pyi +2 -3
  94. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/switch.pyi +2 -3
  95. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/table.pyi +8 -15
  96. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/tabs.pyi +5 -9
  97. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/text_area.pyi +10 -5
  98. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/text_field.pyi +19 -9
  99. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/tooltip.pyi +2 -3
  100. reflex-0.8.0a6/reflex/components/radix/themes/layout/__init__.pyi +32 -0
  101. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/base.pyi +2 -3
  102. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/box.pyi +2 -3
  103. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/center.pyi +2 -3
  104. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/container.pyi +2 -3
  105. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/flex.pyi +2 -3
  106. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/grid.pyi +2 -3
  107. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/list.pyi +5 -9
  108. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/section.pyi +2 -3
  109. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/spacer.pyi +2 -3
  110. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/stack.pyi +4 -7
  111. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/__init__.pyi +7 -5
  112. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/blockquote.pyi +2 -3
  113. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/code.pyi +2 -3
  114. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/heading.pyi +2 -3
  115. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/link.pyi +3 -5
  116. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/text.pyi +7 -13
  117. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/react_player/audio.pyi +5 -4
  118. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/react_player/react_player.pyi +2 -3
  119. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/react_player/video.pyi +5 -4
  120. reflex-0.8.0a6/reflex/components/recharts/__init__.pyi +216 -0
  121. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/cartesian.py +0 -6
  122. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/cartesian.pyi +25 -48
  123. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/charts.pyi +13 -25
  124. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/general.pyi +7 -13
  125. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/polar.pyi +7 -13
  126. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/recharts.py +2 -2
  127. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/recharts.pyi +3 -5
  128. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/sonner/toast.py +1 -1
  129. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/sonner/toast.pyi +2 -3
  130. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/installer.py +7 -8
  131. reflex-0.8.0a6/reflex/istate/__init__.py +70 -0
  132. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/istate/manager.py +1 -0
  133. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/plugins/shared_tailwind.py +58 -1
  134. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/plugins/tailwind_v3.py +4 -4
  135. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/plugins/tailwind_v4.py +6 -5
  136. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/state.py +17 -12
  137. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/testing.py +2 -1
  138. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/exec.py +8 -3
  139. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/imports.py +5 -12
  140. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/prerequisites.py +1 -1
  141. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/processes.py +8 -41
  142. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/telemetry.py +0 -15
  143. reflex-0.8.0a5/reflex/__init__.pyi +0 -212
  144. reflex-0.8.0a5/reflex/components/__init__.pyi +0 -20
  145. reflex-0.8.0a5/reflex/components/base/__init__.pyi +0 -24
  146. reflex-0.8.0a5/reflex/components/core/__init__.pyi +0 -43
  147. reflex-0.8.0a5/reflex/components/datadisplay/__init__.pyi +0 -12
  148. reflex-0.8.0a5/reflex/components/el/__init__.pyi +0 -251
  149. reflex-0.8.0a5/reflex/components/el/elements/__init__.pyi +0 -388
  150. reflex-0.8.0a5/reflex/components/radix/__init__.pyi +0 -70
  151. reflex-0.8.0a5/reflex/components/radix/themes/components/__init__.pyi +0 -43
  152. reflex-0.8.0a5/reflex/components/radix/themes/layout/__init__.pyi +0 -19
  153. reflex-0.8.0a5/reflex/components/recharts/__init__.pyi +0 -108
  154. reflex-0.8.0a5/reflex/istate/__init__.py +0 -1
  155. {reflex-0.8.0a5 → reflex-0.8.0a6}/.gitignore +0 -0
  156. {reflex-0.8.0a5 → reflex-0.8.0a6}/LICENSE +0 -0
  157. {reflex-0.8.0a5 → reflex-0.8.0a6}/README.md +0 -0
  158. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  159. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  160. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/apps/blank/code/blank.py +0 -0
  161. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
  162. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
  163. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
  164. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
  165. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
  166. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
  167. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
  168. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
  169. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
  170. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
  171. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
  172. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
  173. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
  174. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
  175. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
  176. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
  177. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
  178. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
  179. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
  180. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/.gitignore +0 -0
  181. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/app/entry.client.js +0 -0
  182. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/app/routes.js +0 -0
  183. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
  184. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/components/shiki/code.js +0 -0
  185. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/jsconfig.json +0 -0
  186. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/postcss.config.js +0 -0
  187. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/react-router.config.js +0 -0
  188. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/styles/__reflex_style_reset.css +0 -0
  189. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/utils/client_side_routing.js +0 -0
  190. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
  191. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
  192. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/utils/helpers/paste.js +0 -0
  193. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/utils/helpers/range.js +0 -0
  194. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
  195. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/utils/react-theme.js +0 -0
  196. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/.templates/web/vite.config.js +0 -0
  197. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/__init__.py +0 -0
  198. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/__main__.py +0 -0
  199. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/admin.py +0 -0
  200. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/app_mixins/__init__.py +0 -0
  201. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/app_mixins/lifespan.py +0 -0
  202. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/app_mixins/middleware.py +0 -0
  203. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/app_mixins/mixin.py +0 -0
  204. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/assets.py +0 -0
  205. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/base.py +0 -0
  206. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/compiler/__init__.py +0 -0
  207. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/compiler/templates.py +0 -0
  208. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/__init__.py +0 -0
  209. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/__init__.py +0 -0
  210. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/app_wrap.py +0 -0
  211. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/bare.py +0 -0
  212. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/body.py +0 -0
  213. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/document.py +0 -0
  214. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/error_boundary.py +0 -0
  215. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/fragment.py +0 -0
  216. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/link.py +0 -0
  217. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/meta.py +0 -0
  218. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/script.py +0 -0
  219. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/base/strict_mode.py +0 -0
  220. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/component.py +0 -0
  221. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/__init__.py +0 -0
  222. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/auto_scroll.py +0 -0
  223. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/banner.py +0 -0
  224. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/breakpoints.py +0 -0
  225. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/client_side_routing.py +0 -0
  226. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/clipboard.py +0 -0
  227. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/colors.py +0 -0
  228. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/cond.py +0 -0
  229. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/debounce.py +0 -0
  230. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/foreach.py +0 -0
  231. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/helmet.py +0 -0
  232. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/html.py +0 -0
  233. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/layout/__init__.py +0 -0
  234. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/match.py +0 -0
  235. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/responsive.py +0 -0
  236. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/sticky.py +0 -0
  237. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/core/upload.py +0 -0
  238. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/datadisplay/__init__.py +0 -0
  239. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/datadisplay/code.py +0 -0
  240. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/datadisplay/dataeditor.py +0 -0
  241. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/datadisplay/logo.py +0 -0
  242. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/datadisplay/shiki_code_block.py +0 -0
  243. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/dynamic.py +0 -0
  244. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/__init__.py +0 -0
  245. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/constants/__init__.py +0 -0
  246. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/constants/html.py +0 -0
  247. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/constants/react.py +0 -0
  248. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/constants/reflex.py +0 -0
  249. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/element.py +0 -0
  250. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/__init__.py +0 -0
  251. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/base.py +0 -0
  252. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/forms.py +0 -0
  253. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/inline.py +0 -0
  254. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/media.py +0 -0
  255. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/metadata.py +0 -0
  256. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/other.py +0 -0
  257. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/scripts.py +0 -0
  258. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/sectioning.py +0 -0
  259. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/tables.py +0 -0
  260. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/el/elements/typography.py +0 -0
  261. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/field.py +0 -0
  262. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/gridjs/__init__.py +0 -0
  263. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/gridjs/datatable.py +0 -0
  264. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/literals.py +0 -0
  265. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/lucide/__init__.py +0 -0
  266. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/lucide/icon.py +0 -0
  267. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/markdown/__init__.py +0 -0
  268. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/markdown/markdown.py +0 -0
  269. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/moment/__init__.py +0 -0
  270. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/plotly/__init__.py +0 -0
  271. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/plotly/plotly.py +0 -0
  272. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/props.py +0 -0
  273. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/__init__.py +0 -0
  274. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/__init__.py +0 -0
  275. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/accordion.py +0 -0
  276. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/base.py +0 -0
  277. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/drawer.py +0 -0
  278. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/form.py +0 -0
  279. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/progress.py +0 -0
  280. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/primitives/slider.py +0 -0
  281. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/__init__.py +0 -0
  282. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/base.py +0 -0
  283. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/color_mode.py +0 -0
  284. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/__init__.py +0 -0
  285. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  286. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  287. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/avatar.py +0 -0
  288. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/badge.py +0 -0
  289. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/button.py +0 -0
  290. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/callout.py +0 -0
  291. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/card.py +0 -0
  292. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/checkbox.py +0 -0
  293. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
  294. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
  295. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/context_menu.py +0 -0
  296. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/data_list.py +0 -0
  297. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/dialog.py +0 -0
  298. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  299. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/hover_card.py +0 -0
  300. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/icon_button.py +0 -0
  301. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/inset.py +0 -0
  302. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/popover.py +0 -0
  303. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/progress.py +0 -0
  304. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/radio.py +0 -0
  305. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/radio_cards.py +0 -0
  306. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/radio_group.py +0 -0
  307. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  308. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/segmented_control.py +0 -0
  309. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/select.py +0 -0
  310. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/separator.py +0 -0
  311. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/skeleton.py +0 -0
  312. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/slider.py +0 -0
  313. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/spinner.py +0 -0
  314. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/switch.py +0 -0
  315. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/table.py +0 -0
  316. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/tabs.py +0 -0
  317. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/text_area.py +0 -0
  318. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/text_field.py +0 -0
  319. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/components/tooltip.py +0 -0
  320. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/__init__.py +0 -0
  321. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/base.py +0 -0
  322. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/box.py +0 -0
  323. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/center.py +0 -0
  324. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/container.py +0 -0
  325. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/flex.py +0 -0
  326. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/grid.py +0 -0
  327. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/list.py +0 -0
  328. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/section.py +0 -0
  329. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/spacer.py +0 -0
  330. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/layout/stack.py +0 -0
  331. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/__init__.py +0 -0
  332. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/base.py +0 -0
  333. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  334. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/code.py +0 -0
  335. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/heading.py +0 -0
  336. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/link.py +0 -0
  337. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/radix/themes/typography/text.py +0 -0
  338. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/react_player/__init__.py +0 -0
  339. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/react_player/audio.py +0 -0
  340. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/react_player/react_player.py +0 -0
  341. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/react_player/video.py +0 -0
  342. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/__init__.py +0 -0
  343. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/charts.py +0 -0
  344. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/general.py +0 -0
  345. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/recharts/polar.py +0 -0
  346. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/sonner/__init__.py +0 -0
  347. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/tags/__init__.py +0 -0
  348. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/tags/cond_tag.py +0 -0
  349. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/tags/iter_tag.py +0 -0
  350. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/tags/match_tag.py +0 -0
  351. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/tags/tag.py +0 -0
  352. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/components/tags/tagless.py +0 -0
  353. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/config.py +0 -0
  354. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/__init__.py +0 -0
  355. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/base.py +0 -0
  356. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/colors.py +0 -0
  357. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/compiler.py +0 -0
  358. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/config.py +0 -0
  359. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/custom_components.py +0 -0
  360. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/event.py +0 -0
  361. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/route.py +0 -0
  362. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/state.py +0 -0
  363. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/constants/utils.py +0 -0
  364. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/custom_components/__init__.py +0 -0
  365. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/custom_components/custom_components.py +0 -0
  366. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/environment.py +0 -0
  367. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/event.py +0 -0
  368. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/experimental/__init__.py +0 -0
  369. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/experimental/client_state.py +0 -0
  370. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/experimental/hooks.py +0 -0
  371. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/istate/data.py +0 -0
  372. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/istate/dynamic.py +0 -0
  373. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/istate/proxy.py +0 -0
  374. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/istate/storage.py +0 -0
  375. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/istate/wrappers.py +0 -0
  376. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/middleware/__init__.py +0 -0
  377. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/middleware/hydrate_middleware.py +0 -0
  378. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/middleware/middleware.py +0 -0
  379. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/model.py +0 -0
  380. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/page.py +0 -0
  381. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/plugins/__init__.py +0 -0
  382. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/plugins/base.py +0 -0
  383. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/plugins/sitemap.py +0 -0
  384. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/py.typed +0 -0
  385. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/reflex.py +0 -0
  386. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/route.py +0 -0
  387. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/style.py +0 -0
  388. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/__init__.py +0 -0
  389. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/build.py +0 -0
  390. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/codespaces.py +0 -0
  391. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/compat.py +0 -0
  392. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/console.py +0 -0
  393. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/decorator.py +0 -0
  394. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/exceptions.py +0 -0
  395. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/export.py +0 -0
  396. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/format.py +0 -0
  397. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/lazy_loader.py +0 -0
  398. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/misc.py +0 -0
  399. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/net.py +0 -0
  400. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/path_ops.py +0 -0
  401. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/pyi_generator.py +0 -0
  402. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/redir.py +0 -0
  403. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/registry.py +0 -0
  404. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/serializers.py +0 -0
  405. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/utils/types.py +0 -0
  406. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/vars/__init__.py +0 -0
  407. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/vars/base.py +0 -0
  408. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/vars/datetime.py +0 -0
  409. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/vars/dep_tracking.py +0 -0
  410. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/vars/function.py +0 -0
  411. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/vars/number.py +0 -0
  412. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/vars/object.py +0 -0
  413. {reflex-0.8.0a5 → reflex-0.8.0a6}/reflex/vars/sequence.py +0 -0
  414. {reflex-0.8.0a5 → reflex-0.8.0a6}/scripts/hatch_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.8.0a5
3
+ Version: 0.8.0a6
4
4
  Summary: Web apps in pure Python.
5
5
  Project-URL: homepage, https://reflex.dev
6
6
  Project-URL: repository, https://github.com/reflex-dev/reflex
@@ -26,7 +26,7 @@ Requires-Dist: httpx<1.0,>=0.28.0
26
26
  Requires-Dist: jinja2<4.0,>=3.1.2
27
27
  Requires-Dist: packaging<26,>=24.2
28
28
  Requires-Dist: platformdirs<5.0,>=4.3.7
29
- Requires-Dist: psutil<8.0,>=7.0.0
29
+ Requires-Dist: psutil<8.0,>=7.0.0; sys_platform == 'win32'
30
30
  Requires-Dist: pydantic<3.0,>=1.10.21
31
31
  Requires-Dist: python-multipart<1.0,>=0.0.20
32
32
  Requires-Dist: python-socketio<6.0,>=5.12.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "reflex"
3
- version = "0.8.0a5"
3
+ version = "0.8.0a6"
4
4
  description = "Web apps in pure Python."
5
5
  license.text = "Apache-2.0"
6
6
  authors = [
@@ -27,7 +27,7 @@ dependencies = [
27
27
  "jinja2 >=3.1.2,<4.0",
28
28
  "packaging >=24.2,<26",
29
29
  "platformdirs >=4.3.7,<5.0",
30
- "psutil >=7.0.0,<8.0",
30
+ "psutil >=7.0.0,<8.0; sys_platform == 'win32'",
31
31
  "pydantic >=1.10.21,<3.0",
32
32
  "python-socketio >=5.12.0,<6.0",
33
33
  "python-multipart >=0.0.20,<1.0",
@@ -165,6 +165,7 @@ dev = [
165
165
  "playwright >=1.51",
166
166
  "plotly >=6.0",
167
167
  "pre-commit ==4.2.0",
168
+ "psutil >=7.0.0",
168
169
  "psycopg[binary] >=3.2",
169
170
  "pyright >=1.1.400",
170
171
  "pytest >=8.3",
@@ -34,7 +34,7 @@ function AppWrap({children}) {
34
34
 
35
35
 
36
36
  export function Layout({children}) {
37
- React.useEffect(() => {
37
+ useEffect(() => {
38
38
  // Make contexts and state objects available globally for dynamic eval'd components
39
39
  let windowImports = {
40
40
  {% for library_alias, library_path in window_libraries %}
@@ -1,5 +1,4 @@
1
1
  // State management for Reflex web apps.
2
- import axios from "axios";
3
2
  import io from "socket.io-client";
4
3
  import JSON5 from "json5";
5
4
  import env from "$/env.json";
@@ -655,17 +654,6 @@ export const uploadFiles = async (
655
654
  };
656
655
 
657
656
  const controller = new AbortController();
658
- const config = {
659
- headers: {
660
- "Reflex-Client-Token": getToken(),
661
- "Reflex-Event-Handler": handler,
662
- },
663
- signal: controller.signal,
664
- onDownloadProgress: eventHandler,
665
- };
666
- if (on_upload_progress) {
667
- config["onUploadProgress"] = on_upload_progress;
668
- }
669
657
  const formdata = new FormData();
670
658
 
671
659
  // Add the token and handler to the file name.
@@ -676,26 +664,85 @@ export const uploadFiles = async (
676
664
  // Send the file to the server.
677
665
  refs[upload_ref_name] = controller;
678
666
 
679
- try {
680
- return await axios.post(getBackendURL(UPLOADURL), formdata, config);
681
- } catch (error) {
682
- if (error.response) {
683
- // The request was made and the server responded with a status code
684
- // that falls out of the range of 2xx
685
- console.log(error.response.data);
686
- } else if (error.request) {
687
- // The request was made but no response was received
688
- // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
689
- // http.ClientRequest in node.js
690
- console.log(error.request);
691
- } else {
692
- // Something happened in setting up the request that triggered an Error
693
- console.log(error.message);
667
+ return new Promise((resolve, reject) => {
668
+ const xhr = new XMLHttpRequest();
669
+
670
+ // Set up event handlers
671
+ xhr.onload = function () {
672
+ if (xhr.status >= 200 && xhr.status < 300) {
673
+ resolve({
674
+ data: xhr.responseText,
675
+ status: xhr.status,
676
+ statusText: xhr.statusText,
677
+ headers: {
678
+ get: (name) => xhr.getResponseHeader(name),
679
+ },
680
+ });
681
+ } else {
682
+ reject(new Error(`HTTP error! status: ${xhr.status}`));
683
+ }
684
+ };
685
+
686
+ xhr.onerror = function () {
687
+ reject(new Error("Network error"));
688
+ };
689
+
690
+ xhr.onabort = function () {
691
+ reject(new Error("Upload aborted"));
692
+ };
693
+
694
+ // Handle upload progress
695
+ if (on_upload_progress) {
696
+ xhr.upload.onprogress = function (event) {
697
+ if (event.lengthComputable) {
698
+ const progressEvent = {
699
+ loaded: event.loaded,
700
+ total: event.total,
701
+ progress: event.loaded / event.total,
702
+ };
703
+ on_upload_progress(progressEvent);
704
+ }
705
+ };
694
706
  }
695
- return false;
696
- } finally {
697
- delete refs[upload_ref_name];
698
- }
707
+
708
+ // Handle download progress with streaming response parsing
709
+ xhr.onprogress = function (event) {
710
+ if (eventHandler) {
711
+ const progressEvent = {
712
+ event: {
713
+ target: {
714
+ responseText: xhr.responseText,
715
+ },
716
+ },
717
+ progress: event.lengthComputable ? event.loaded / event.total : 0,
718
+ };
719
+ eventHandler(progressEvent);
720
+ }
721
+ };
722
+
723
+ // Handle abort controller
724
+ controller.signal.addEventListener("abort", () => {
725
+ xhr.abort();
726
+ });
727
+
728
+ // Configure and send request
729
+ xhr.open("POST", getBackendURL(UPLOADURL));
730
+ xhr.setRequestHeader("Reflex-Client-Token", getToken());
731
+ xhr.setRequestHeader("Reflex-Event-Handler", handler);
732
+
733
+ try {
734
+ xhr.send(formdata);
735
+ } catch (error) {
736
+ reject(error);
737
+ }
738
+ })
739
+ .catch((error) => {
740
+ console.log("Upload error:", error.message);
741
+ return false;
742
+ })
743
+ .finally(() => {
744
+ delete refs[upload_ref_name];
745
+ });
699
746
  };
700
747
 
701
748
  /**
@@ -0,0 +1,351 @@
1
+ """Stub file for reflex/__init__.py"""
2
+ # ------------------- DO NOT EDIT ----------------------
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
+ # ------------------------------------------------------
5
+
6
+ from reflex.utils import compat
7
+
8
+ from . import (
9
+ admin,
10
+ app,
11
+ base,
12
+ compiler,
13
+ components,
14
+ config,
15
+ model,
16
+ plugins,
17
+ style,
18
+ testing,
19
+ utils,
20
+ vars,
21
+ )
22
+ from .admin import AdminDash
23
+ from .app import App, UploadFile
24
+ from .assets import asset
25
+ from .base import Base
26
+ from .components import el, lucide, radix, recharts
27
+ from .components.base.fragment import Fragment, fragment
28
+ from .components.base.script import Script, script
29
+ from .components.component import Component, ComponentNamespace, NoSSRComponent, memo
30
+ from .components.core.auto_scroll import auto_scroll
31
+ from .components.core.banner import connection_banner, connection_modal
32
+ from .components.core.breakpoints import breakpoints
33
+ from .components.core.clipboard import clipboard
34
+ from .components.core.colors import color
35
+ from .components.core.cond import color_mode_cond, cond
36
+ from .components.core.debounce import debounce_input
37
+ from .components.core.foreach import foreach
38
+ from .components.core.html import html
39
+ from .components.core.match import match
40
+ from .components.core.responsive import (
41
+ desktop_only,
42
+ mobile_and_tablet,
43
+ mobile_only,
44
+ tablet_and_desktop,
45
+ tablet_only,
46
+ )
47
+ from .components.core.upload import (
48
+ cancel_upload,
49
+ clear_selected_files,
50
+ get_upload_dir,
51
+ get_upload_url,
52
+ selected_files,
53
+ upload,
54
+ )
55
+ from .components.datadisplay.code import code_block
56
+ from .components.datadisplay.dataeditor import data_editor, data_editor_theme
57
+ from .components.datadisplay.logo import logo
58
+ from .components.el.elements.media import image
59
+ from .components.gridjs import data_table
60
+ from .components.lucide import icon
61
+ from .components.markdown import markdown
62
+ from .components.moment import MomentDelta, moment
63
+ from .components.plotly import plotly
64
+ from .components.radix.primitives.accordion import accordion
65
+ from .components.radix.primitives.drawer import drawer
66
+ from .components.radix.primitives.form import form
67
+ from .components.radix.themes.base import theme, theme_panel
68
+ from .components.radix.themes.color_mode import color_mode
69
+ from .components.radix.themes.components.alert_dialog import alert_dialog
70
+ from .components.radix.themes.components.aspect_ratio import aspect_ratio
71
+ from .components.radix.themes.components.avatar import avatar
72
+ from .components.radix.themes.components.badge import badge
73
+ from .components.radix.themes.components.button import button
74
+ from .components.radix.themes.components.callout import callout
75
+ from .components.radix.themes.components.card import card
76
+ from .components.radix.themes.components.checkbox import checkbox
77
+ from .components.radix.themes.components.checkbox_cards import checkbox_cards
78
+ from .components.radix.themes.components.checkbox_group import checkbox_group
79
+ from .components.radix.themes.components.context_menu import context_menu
80
+ from .components.radix.themes.components.data_list import data_list
81
+ from .components.radix.themes.components.dialog import dialog
82
+ from .components.radix.themes.components.dropdown_menu import dropdown_menu, menu
83
+ from .components.radix.themes.components.hover_card import hover_card
84
+ from .components.radix.themes.components.icon_button import icon_button
85
+ from .components.radix.themes.components.inset import inset
86
+ from .components.radix.themes.components.popover import popover
87
+ from .components.radix.themes.components.progress import progress
88
+ from .components.radix.themes.components.radio_cards import radio_cards
89
+ from .components.radix.themes.components.radio_group import radio, radio_group
90
+ from .components.radix.themes.components.scroll_area import scroll_area
91
+ from .components.radix.themes.components.segmented_control import segmented_control
92
+ from .components.radix.themes.components.select import select
93
+ from .components.radix.themes.components.separator import divider, separator
94
+ from .components.radix.themes.components.skeleton import skeleton
95
+ from .components.radix.themes.components.slider import slider
96
+ from .components.radix.themes.components.spinner import spinner
97
+ from .components.radix.themes.components.switch import switch
98
+ from .components.radix.themes.components.table import table
99
+ from .components.radix.themes.components.tabs import tabs
100
+ from .components.radix.themes.components.text_area import text_area
101
+ from .components.radix.themes.components.text_field import input, text_field
102
+ from .components.radix.themes.components.tooltip import tooltip
103
+ from .components.radix.themes.layout.box import box
104
+ from .components.radix.themes.layout.center import center
105
+ from .components.radix.themes.layout.container import container
106
+ from .components.radix.themes.layout.flex import flex
107
+ from .components.radix.themes.layout.grid import grid
108
+ from .components.radix.themes.layout.list import list_item, ordered_list, unordered_list
109
+ from .components.radix.themes.layout.list import list_ns as list
110
+ from .components.radix.themes.layout.section import section
111
+ from .components.radix.themes.layout.spacer import spacer
112
+ from .components.radix.themes.layout.stack import hstack, stack, vstack
113
+ from .components.radix.themes.typography.blockquote import blockquote
114
+ from .components.radix.themes.typography.code import code
115
+ from .components.radix.themes.typography.heading import heading
116
+ from .components.radix.themes.typography.link import link
117
+ from .components.radix.themes.typography.text import text
118
+ from .components.react_player import audio, video
119
+ from .components.sonner.toast import toast
120
+ from .config import Config, DBConfig
121
+ from .constants import Env
122
+ from .constants.colors import Color
123
+ from .event import (
124
+ EventChain,
125
+ EventHandler,
126
+ call_function,
127
+ call_script,
128
+ clear_local_storage,
129
+ clear_session_storage,
130
+ console_log,
131
+ download,
132
+ noop,
133
+ prevent_default,
134
+ redirect,
135
+ remove_cookie,
136
+ remove_local_storage,
137
+ remove_session_storage,
138
+ run_script,
139
+ scroll_to,
140
+ set_clipboard,
141
+ set_focus,
142
+ set_value,
143
+ stop_propagation,
144
+ upload_files,
145
+ window_alert,
146
+ )
147
+ from .event import event as event
148
+ from .experimental import _x
149
+ from .istate.storage import Cookie, LocalStorage, SessionStorage
150
+ from .istate.wrappers import get_state
151
+ from .middleware import Middleware, middleware
152
+ from .model import Model, asession, session
153
+ from .page import page as page
154
+ from .state import ComponentState, State, dynamic, var
155
+ from .style import Style, toggle_color_mode
156
+ from .utils.imports import ImportDict, ImportVar
157
+ from .utils.misc import run_in_thread
158
+ from .utils.serializers import serializer
159
+ from .vars import Field, Var, field
160
+
161
+ del compat
162
+ RADIX_THEMES_MAPPING: dict
163
+ RADIX_THEMES_COMPONENTS_MAPPING: dict
164
+ RADIX_THEMES_LAYOUT_MAPPING: dict
165
+ RADIX_THEMES_TYPOGRAPHY_MAPPING: dict
166
+ RADIX_PRIMITIVES_MAPPING: dict
167
+ RADIX_PRIMITIVES_SHORTCUT_MAPPING: dict
168
+ COMPONENTS_CORE_MAPPING: dict
169
+ COMPONENTS_BASE_MAPPING: dict
170
+ RADIX_MAPPING: dict
171
+
172
+ __all__ = [
173
+ "AdminDash",
174
+ "App",
175
+ "Base",
176
+ "Color",
177
+ "Component",
178
+ "ComponentNamespace",
179
+ "ComponentState",
180
+ "Config",
181
+ "Cookie",
182
+ "DBConfig",
183
+ "Env",
184
+ "EventChain",
185
+ "EventHandler",
186
+ "Field",
187
+ "Fragment",
188
+ "ImportDict",
189
+ "ImportVar",
190
+ "LocalStorage",
191
+ "Middleware",
192
+ "Model",
193
+ "MomentDelta",
194
+ "NoSSRComponent",
195
+ "Script",
196
+ "SessionStorage",
197
+ "State",
198
+ "Style",
199
+ "UploadFile",
200
+ "Var",
201
+ "_x",
202
+ "accordion",
203
+ "admin",
204
+ "alert_dialog",
205
+ "app",
206
+ "asession",
207
+ "aspect_ratio",
208
+ "asset",
209
+ "audio",
210
+ "auto_scroll",
211
+ "avatar",
212
+ "badge",
213
+ "base",
214
+ "blockquote",
215
+ "box",
216
+ "breakpoints",
217
+ "button",
218
+ "call_function",
219
+ "call_script",
220
+ "callout",
221
+ "cancel_upload",
222
+ "card",
223
+ "center",
224
+ "checkbox",
225
+ "checkbox_cards",
226
+ "checkbox_group",
227
+ "clear_local_storage",
228
+ "clear_selected_files",
229
+ "clear_session_storage",
230
+ "clipboard",
231
+ "code",
232
+ "code_block",
233
+ "color",
234
+ "color_mode",
235
+ "color_mode_cond",
236
+ "compiler",
237
+ "components",
238
+ "cond",
239
+ "config",
240
+ "connection_banner",
241
+ "connection_modal",
242
+ "console_log",
243
+ "container",
244
+ "context_menu",
245
+ "data_editor",
246
+ "data_editor_theme",
247
+ "data_list",
248
+ "data_table",
249
+ "debounce_input",
250
+ "desktop_only",
251
+ "dialog",
252
+ "divider",
253
+ "download",
254
+ "drawer",
255
+ "dropdown_menu",
256
+ "dynamic",
257
+ "el",
258
+ "field",
259
+ "flex",
260
+ "foreach",
261
+ "form",
262
+ "fragment",
263
+ "get_state",
264
+ "get_upload_dir",
265
+ "get_upload_url",
266
+ "grid",
267
+ "heading",
268
+ "hover_card",
269
+ "hstack",
270
+ "html",
271
+ "icon",
272
+ "icon_button",
273
+ "image",
274
+ "input",
275
+ "inset",
276
+ "link",
277
+ "list",
278
+ "list_item",
279
+ "logo",
280
+ "lucide",
281
+ "markdown",
282
+ "match",
283
+ "memo",
284
+ "menu",
285
+ "middleware",
286
+ "mobile_and_tablet",
287
+ "mobile_only",
288
+ "model",
289
+ "moment",
290
+ "noop",
291
+ "ordered_list",
292
+ "plotly",
293
+ "plugins",
294
+ "popover",
295
+ "prevent_default",
296
+ "progress",
297
+ "radio",
298
+ "radio_cards",
299
+ "radio_group",
300
+ "radix",
301
+ "recharts",
302
+ "redirect",
303
+ "remove_cookie",
304
+ "remove_local_storage",
305
+ "remove_session_storage",
306
+ "run_in_thread",
307
+ "run_script",
308
+ "script",
309
+ "scroll_area",
310
+ "scroll_to",
311
+ "section",
312
+ "segmented_control",
313
+ "select",
314
+ "selected_files",
315
+ "separator",
316
+ "serializer",
317
+ "session",
318
+ "set_clipboard",
319
+ "set_focus",
320
+ "set_value",
321
+ "skeleton",
322
+ "slider",
323
+ "spacer",
324
+ "spinner",
325
+ "stack",
326
+ "stop_propagation",
327
+ "style",
328
+ "switch",
329
+ "table",
330
+ "tablet_and_desktop",
331
+ "tablet_only",
332
+ "tabs",
333
+ "testing",
334
+ "text",
335
+ "text_area",
336
+ "text_field",
337
+ "theme",
338
+ "theme_panel",
339
+ "toast",
340
+ "toggle_color_mode",
341
+ "tooltip",
342
+ "unordered_list",
343
+ "upload",
344
+ "upload_files",
345
+ "utils",
346
+ "var",
347
+ "vars",
348
+ "video",
349
+ "vstack",
350
+ "window_alert",
351
+ ]
@@ -13,7 +13,14 @@ import io
13
13
  import json
14
14
  import sys
15
15
  import traceback
16
- from collections.abc import AsyncIterator, Callable, Coroutine, Mapping, Sequence
16
+ from collections.abc import (
17
+ AsyncGenerator,
18
+ AsyncIterator,
19
+ Callable,
20
+ Coroutine,
21
+ Mapping,
22
+ Sequence,
23
+ )
17
24
  from datetime import datetime
18
25
  from pathlib import Path
19
26
  from timeit import default_timer as timer
@@ -864,7 +871,7 @@ class App(MiddlewareMixin, LifespanMixin):
864
871
  """
865
872
  from reflex.route import get_router
866
873
 
867
- return get_router(list(self._pages))
874
+ return get_router(list(self._unevaluated_pages))
868
875
 
869
876
  def get_load_events(self, path: str) -> list[IndividualEventType[()]]:
870
877
  """Get the load events for a route.
@@ -1677,7 +1684,7 @@ class App(MiddlewareMixin, LifespanMixin):
1677
1684
 
1678
1685
  async def process(
1679
1686
  app: App, event: Event, sid: str, headers: dict, client_ip: str
1680
- ) -> AsyncIterator[StateUpdate]:
1687
+ ) -> AsyncGenerator[StateUpdate]:
1681
1688
  """Process an event.
1682
1689
 
1683
1690
  Args:
@@ -2072,10 +2079,13 @@ class EventNamespace(AsyncNamespace):
2072
2079
  except (KeyError, IndexError):
2073
2080
  client_ip = environ.get("REMOTE_ADDR", "0.0.0.0")
2074
2081
 
2075
- # Process the events.
2076
- async for update in process(self.app, event, sid, headers, client_ip):
2077
- # Emit the update from processing the event.
2078
- await self.emit_update(update=update, sid=sid)
2082
+ async with contextlib.aclosing(
2083
+ process(self.app, event, sid, headers, client_ip)
2084
+ ) as updates_gen:
2085
+ # Process the events.
2086
+ async for update in updates_gen:
2087
+ # Emit the update from processing the event.
2088
+ await self.emit_update(update=update, sid=sid)
2079
2089
 
2080
2090
  async def on_ping(self, sid: str):
2081
2091
  """Event for testing the API endpoint.
@@ -37,7 +37,9 @@ def _apply_common_imports(
37
37
  imports: dict[str, list[ImportVar]],
38
38
  ):
39
39
  imports.setdefault("@emotion/react", []).append(ImportVar("jsx"))
40
- imports.setdefault("react", []).append(ImportVar("Fragment"))
40
+ imports.setdefault("react", []).extend(
41
+ [ImportVar("Fragment"), ImportVar("useEffect")],
42
+ )
41
43
 
42
44
 
43
45
  def _compile_document_root(root: Component) -> str:
@@ -359,21 +359,37 @@ def create_document_root(
359
359
  Returns:
360
360
  The document root.
361
361
  """
362
- head_components = [
363
- *(
364
- head_components
365
- or [
366
- # Default meta tags if user does not provide.
367
- Meta.create(char_set="utf-8"),
368
- Meta.create(
369
- name="viewport", content="width=device-width, initial-scale=1"
370
- ),
371
- ]
372
- ),
373
- # Always include the framework meta and link tags.
362
+ existing_meta_types = set()
363
+
364
+ for component in head_components or []:
365
+ if isinstance(component, Meta):
366
+ if component.char_set is not None: # pyright: ignore[reportAttributeAccessIssue]
367
+ existing_meta_types.add("char_set")
368
+ if (
369
+ (name := component.name) is not None # pyright: ignore[reportAttributeAccessIssue]
370
+ and name.equals(Var.create("viewport"))
371
+ ):
372
+ existing_meta_types.add("viewport")
373
+
374
+ # Always include the framework meta and link tags.
375
+ always_head_components = [
374
376
  ReactMeta.create(),
375
377
  Links.create(),
376
378
  ]
379
+ maybe_head_components = []
380
+ # Only include these if the user has not specified them.
381
+ if "char_set" not in existing_meta_types:
382
+ maybe_head_components.append(Meta.create(char_set="utf-8"))
383
+ if "viewport" not in existing_meta_types:
384
+ maybe_head_components.append(
385
+ Meta.create(name="viewport", content="width=device-width, initial-scale=1")
386
+ )
387
+
388
+ head_components = [
389
+ *(head_components or []),
390
+ *maybe_head_components,
391
+ *always_head_components,
392
+ ]
377
393
  return Html.create(
378
394
  Head.create(*head_components),
379
395
  Body.create(
@@ -0,0 +1,39 @@
1
+ """Stub file for reflex/components/__init__.py"""
2
+ # ------------------- DO NOT EDIT ----------------------
3
+ # This file was generated by `reflex/utils/pyi_generator.py`!
4
+ # ------------------------------------------------------
5
+
6
+ from . import (
7
+ base,
8
+ core,
9
+ datadisplay,
10
+ el,
11
+ gridjs,
12
+ lucide,
13
+ markdown,
14
+ moment,
15
+ plotly,
16
+ radix,
17
+ react_player,
18
+ recharts,
19
+ sonner,
20
+ )
21
+ from .component import Component, NoSSRComponent
22
+
23
+ __all__ = [
24
+ "Component",
25
+ "NoSSRComponent",
26
+ "base",
27
+ "core",
28
+ "datadisplay",
29
+ "el",
30
+ "gridjs",
31
+ "lucide",
32
+ "markdown",
33
+ "moment",
34
+ "plotly",
35
+ "radix",
36
+ "react_player",
37
+ "recharts",
38
+ "sonner",
39
+ ]