reflex 0.8.6a0__tar.gz → 0.8.6a1__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 (407) hide show
  1. {reflex-0.8.6a0 → reflex-0.8.6a1}/PKG-INFO +1 -1
  2. {reflex-0.8.6a0 → reflex-0.8.6a1}/pyproject.toml +1 -1
  3. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app.py +12 -0
  4. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/error_boundary.py +2 -0
  5. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/manager.py +2 -1
  6. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/__init__.py +2 -0
  7. reflex-0.8.6a1/reflex/plugins/_screenshot.py +144 -0
  8. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/base.py +14 -1
  9. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/state.py +1 -1
  10. {reflex-0.8.6a0 → reflex-0.8.6a1}/.gitignore +0 -0
  11. {reflex-0.8.6a0 → reflex-0.8.6a1}/LICENSE +0 -0
  12. {reflex-0.8.6a0 → reflex-0.8.6a1}/README.md +0 -0
  13. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  14. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  15. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
  16. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
  17. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
  18. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
  19. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
  20. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
  21. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
  22. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
  23. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
  24. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
  25. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
  26. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
  27. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
  28. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
  29. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
  30. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
  31. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
  32. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
  33. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
  34. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
  35. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
  36. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/vite.config.js.jinja2 +0 -0
  37. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/.gitignore +0 -0
  38. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/app/entry.client.js +0 -0
  39. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/app/routes.js +0 -0
  40. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
  41. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/components/shiki/code.js +0 -0
  42. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/jsconfig.json +0 -0
  43. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/postcss.config.js +0 -0
  44. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/react-router.config.js +0 -0
  45. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/styles/__reflex_style_reset.css +0 -0
  46. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
  47. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
  48. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
  49. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/paste.js +0 -0
  50. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/range.js +0 -0
  51. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
  52. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/react-theme.js +0 -0
  53. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/state.js +0 -0
  54. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/vite-plugin-safari-cachebust.js +0 -0
  55. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/__init__.py +0 -0
  56. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/__init__.pyi +0 -0
  57. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/__main__.py +0 -0
  58. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/admin.py +0 -0
  59. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app_mixins/__init__.py +0 -0
  60. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app_mixins/lifespan.py +0 -0
  61. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app_mixins/middleware.py +0 -0
  62. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app_mixins/mixin.py +0 -0
  63. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/assets.py +0 -0
  64. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/base.py +0 -0
  65. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/compiler/__init__.py +0 -0
  66. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/compiler/compiler.py +0 -0
  67. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/compiler/templates.py +0 -0
  68. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/compiler/utils.py +0 -0
  69. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/__init__.py +0 -0
  70. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/__init__.pyi +0 -0
  71. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/__init__.py +0 -0
  72. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/__init__.pyi +0 -0
  73. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/app_wrap.py +0 -0
  74. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/app_wrap.pyi +0 -0
  75. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/bare.py +0 -0
  76. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/body.py +0 -0
  77. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/body.pyi +0 -0
  78. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/document.py +0 -0
  79. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/document.pyi +0 -0
  80. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/error_boundary.pyi +0 -0
  81. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/fragment.py +0 -0
  82. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/fragment.pyi +0 -0
  83. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/link.py +0 -0
  84. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/link.pyi +0 -0
  85. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/meta.py +0 -0
  86. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/meta.pyi +0 -0
  87. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/script.py +0 -0
  88. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/script.pyi +0 -0
  89. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/strict_mode.py +0 -0
  90. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/strict_mode.pyi +0 -0
  91. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/component.py +0 -0
  92. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/__init__.py +0 -0
  93. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/__init__.pyi +0 -0
  94. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/auto_scroll.py +0 -0
  95. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/auto_scroll.pyi +0 -0
  96. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/banner.py +0 -0
  97. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/banner.pyi +0 -0
  98. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/breakpoints.py +0 -0
  99. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/client_side_routing.py +0 -0
  100. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/client_side_routing.pyi +0 -0
  101. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/clipboard.py +0 -0
  102. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/clipboard.pyi +0 -0
  103. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/colors.py +0 -0
  104. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/cond.py +0 -0
  105. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/debounce.py +0 -0
  106. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/debounce.pyi +0 -0
  107. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/foreach.py +0 -0
  108. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/helmet.py +0 -0
  109. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/helmet.pyi +0 -0
  110. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/html.py +0 -0
  111. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/html.pyi +0 -0
  112. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/layout/__init__.py +0 -0
  113. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/match.py +0 -0
  114. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/responsive.py +0 -0
  115. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/sticky.py +0 -0
  116. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/sticky.pyi +0 -0
  117. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/upload.py +0 -0
  118. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/upload.pyi +0 -0
  119. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/window_events.py +0 -0
  120. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/window_events.pyi +0 -0
  121. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/__init__.py +0 -0
  122. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/__init__.pyi +0 -0
  123. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/code.py +0 -0
  124. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/code.pyi +0 -0
  125. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/dataeditor.py +0 -0
  126. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/dataeditor.pyi +0 -0
  127. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/logo.py +0 -0
  128. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/shiki_code_block.py +0 -0
  129. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
  130. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/dynamic.py +0 -0
  131. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/__init__.py +0 -0
  132. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/__init__.pyi +0 -0
  133. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/element.py +0 -0
  134. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/element.pyi +0 -0
  135. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/__init__.py +0 -0
  136. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/__init__.pyi +0 -0
  137. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/base.py +0 -0
  138. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/base.pyi +0 -0
  139. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/forms.py +0 -0
  140. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/forms.pyi +0 -0
  141. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/inline.py +0 -0
  142. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/inline.pyi +0 -0
  143. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/media.py +0 -0
  144. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/media.pyi +0 -0
  145. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/metadata.py +0 -0
  146. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/metadata.pyi +0 -0
  147. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/other.py +0 -0
  148. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/other.pyi +0 -0
  149. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/scripts.py +0 -0
  150. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/scripts.pyi +0 -0
  151. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/sectioning.py +0 -0
  152. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/sectioning.pyi +0 -0
  153. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/tables.py +0 -0
  154. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/tables.pyi +0 -0
  155. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/typography.py +0 -0
  156. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/typography.pyi +0 -0
  157. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/field.py +0 -0
  158. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/gridjs/__init__.py +0 -0
  159. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/gridjs/datatable.py +0 -0
  160. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/gridjs/datatable.pyi +0 -0
  161. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/literals.py +0 -0
  162. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/lucide/__init__.py +0 -0
  163. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/lucide/icon.py +0 -0
  164. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/lucide/icon.pyi +0 -0
  165. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/markdown/__init__.py +0 -0
  166. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/markdown/markdown.py +0 -0
  167. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/markdown/markdown.pyi +0 -0
  168. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/moment/__init__.py +0 -0
  169. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/moment/moment.py +0 -0
  170. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/moment/moment.pyi +0 -0
  171. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/plotly/__init__.py +0 -0
  172. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/plotly/plotly.py +0 -0
  173. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/plotly/plotly.pyi +0 -0
  174. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/props.py +0 -0
  175. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/__init__.py +0 -0
  176. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/__init__.pyi +0 -0
  177. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/__init__.py +0 -0
  178. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/__init__.pyi +0 -0
  179. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/accordion.py +0 -0
  180. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/accordion.pyi +0 -0
  181. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/base.py +0 -0
  182. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/base.pyi +0 -0
  183. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/drawer.py +0 -0
  184. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/drawer.pyi +0 -0
  185. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/form.py +0 -0
  186. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/form.pyi +0 -0
  187. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/progress.py +0 -0
  188. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/progress.pyi +0 -0
  189. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/slider.py +0 -0
  190. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/slider.pyi +0 -0
  191. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/__init__.py +0 -0
  192. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/__init__.pyi +0 -0
  193. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/base.py +0 -0
  194. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/base.pyi +0 -0
  195. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/color_mode.py +0 -0
  196. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/color_mode.pyi +0 -0
  197. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/__init__.py +0 -0
  198. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/__init__.pyi +0 -0
  199. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  200. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
  201. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  202. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
  203. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/avatar.py +0 -0
  204. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/avatar.pyi +0 -0
  205. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/badge.py +0 -0
  206. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/badge.pyi +0 -0
  207. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/button.py +0 -0
  208. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/button.pyi +0 -0
  209. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/callout.py +0 -0
  210. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/callout.pyi +0 -0
  211. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/card.py +0 -0
  212. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/card.pyi +0 -0
  213. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox.py +0 -0
  214. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
  215. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
  216. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
  217. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
  218. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
  219. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/context_menu.py +0 -0
  220. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
  221. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/data_list.py +0 -0
  222. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/data_list.pyi +0 -0
  223. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/dialog.py +0 -0
  224. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/dialog.pyi +0 -0
  225. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  226. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
  227. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/hover_card.py +0 -0
  228. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
  229. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/icon_button.py +0 -0
  230. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
  231. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/inset.py +0 -0
  232. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/inset.pyi +0 -0
  233. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/popover.py +0 -0
  234. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/popover.pyi +0 -0
  235. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/progress.py +0 -0
  236. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/progress.pyi +0 -0
  237. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio.py +0 -0
  238. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio.pyi +0 -0
  239. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
  240. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
  241. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio_group.py +0 -0
  242. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
  243. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  244. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
  245. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/segmented_control.py +0 -0
  246. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
  247. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/select.py +0 -0
  248. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/select.pyi +0 -0
  249. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/separator.py +0 -0
  250. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/separator.pyi +0 -0
  251. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/skeleton.py +0 -0
  252. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
  253. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/slider.py +0 -0
  254. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/slider.pyi +0 -0
  255. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/spinner.py +0 -0
  256. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/spinner.pyi +0 -0
  257. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/switch.py +0 -0
  258. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/switch.pyi +0 -0
  259. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/table.py +0 -0
  260. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/table.pyi +0 -0
  261. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/tabs.py +0 -0
  262. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/tabs.pyi +0 -0
  263. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/text_area.py +0 -0
  264. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/text_area.pyi +0 -0
  265. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/text_field.py +0 -0
  266. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/text_field.pyi +0 -0
  267. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/tooltip.py +0 -0
  268. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
  269. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/__init__.py +0 -0
  270. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
  271. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/base.py +0 -0
  272. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/base.pyi +0 -0
  273. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/box.py +0 -0
  274. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/box.pyi +0 -0
  275. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/center.py +0 -0
  276. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/center.pyi +0 -0
  277. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/container.py +0 -0
  278. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/container.pyi +0 -0
  279. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/flex.py +0 -0
  280. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/flex.pyi +0 -0
  281. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/grid.py +0 -0
  282. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/grid.pyi +0 -0
  283. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/list.py +0 -0
  284. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/list.pyi +0 -0
  285. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/section.py +0 -0
  286. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/section.pyi +0 -0
  287. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/spacer.py +0 -0
  288. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
  289. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/stack.py +0 -0
  290. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/stack.pyi +0 -0
  291. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/__init__.py +0 -0
  292. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
  293. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/base.py +0 -0
  294. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  295. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
  296. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/code.py +0 -0
  297. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/code.pyi +0 -0
  298. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/heading.py +0 -0
  299. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/heading.pyi +0 -0
  300. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/link.py +0 -0
  301. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/link.pyi +0 -0
  302. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/text.py +0 -0
  303. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/text.pyi +0 -0
  304. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/__init__.py +0 -0
  305. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/audio.py +0 -0
  306. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/audio.pyi +0 -0
  307. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/react_player.py +0 -0
  308. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/react_player.pyi +0 -0
  309. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/video.py +0 -0
  310. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/video.pyi +0 -0
  311. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_router/__init__.py +0 -0
  312. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_router/dom.py +0 -0
  313. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_router/dom.pyi +0 -0
  314. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/__init__.py +0 -0
  315. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/__init__.pyi +0 -0
  316. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/cartesian.py +0 -0
  317. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/cartesian.pyi +0 -0
  318. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/charts.py +0 -0
  319. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/charts.pyi +0 -0
  320. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/general.py +0 -0
  321. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/general.pyi +0 -0
  322. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/polar.py +0 -0
  323. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/polar.pyi +0 -0
  324. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/recharts.py +0 -0
  325. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/recharts.pyi +0 -0
  326. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/sonner/__init__.py +0 -0
  327. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/sonner/toast.py +0 -0
  328. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/sonner/toast.pyi +0 -0
  329. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/__init__.py +0 -0
  330. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/cond_tag.py +0 -0
  331. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/iter_tag.py +0 -0
  332. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/match_tag.py +0 -0
  333. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/tag.py +0 -0
  334. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/tagless.py +0 -0
  335. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/config.py +0 -0
  336. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/__init__.py +0 -0
  337. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/base.py +0 -0
  338. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/colors.py +0 -0
  339. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/compiler.py +0 -0
  340. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/config.py +0 -0
  341. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/custom_components.py +0 -0
  342. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/event.py +0 -0
  343. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/installer.py +0 -0
  344. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/route.py +0 -0
  345. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/state.py +0 -0
  346. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/utils.py +0 -0
  347. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/custom_components/__init__.py +0 -0
  348. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/custom_components/custom_components.py +0 -0
  349. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/environment.py +0 -0
  350. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/event.py +0 -0
  351. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/experimental/__init__.py +0 -0
  352. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/experimental/client_state.py +0 -0
  353. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/experimental/hooks.py +0 -0
  354. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/__init__.py +0 -0
  355. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/data.py +0 -0
  356. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/dynamic.py +0 -0
  357. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/proxy.py +0 -0
  358. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/storage.py +0 -0
  359. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/wrappers.py +0 -0
  360. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/middleware/__init__.py +0 -0
  361. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/middleware/hydrate_middleware.py +0 -0
  362. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/middleware/middleware.py +0 -0
  363. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/model.py +0 -0
  364. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/page.py +0 -0
  365. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/shared_tailwind.py +0 -0
  366. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/sitemap.py +0 -0
  367. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/tailwind_v3.py +0 -0
  368. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/tailwind_v4.py +0 -0
  369. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/py.typed +0 -0
  370. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/reflex.py +0 -0
  371. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/route.py +0 -0
  372. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/style.py +0 -0
  373. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/testing.py +0 -0
  374. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/__init__.py +0 -0
  375. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/build.py +0 -0
  376. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/codespaces.py +0 -0
  377. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/compat.py +0 -0
  378. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/console.py +0 -0
  379. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/decorator.py +0 -0
  380. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/exceptions.py +0 -0
  381. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/exec.py +0 -0
  382. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/export.py +0 -0
  383. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/format.py +0 -0
  384. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/imports.py +0 -0
  385. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/lazy_loader.py +0 -0
  386. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/misc.py +0 -0
  387. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/monitoring.py +0 -0
  388. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/net.py +0 -0
  389. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/path_ops.py +0 -0
  390. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/prerequisites.py +0 -0
  391. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/processes.py +0 -0
  392. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/pyi_generator.py +0 -0
  393. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/redir.py +0 -0
  394. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/registry.py +0 -0
  395. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/serializers.py +0 -0
  396. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/telemetry.py +0 -0
  397. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/token_manager.py +0 -0
  398. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/types.py +0 -0
  399. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/__init__.py +0 -0
  400. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/base.py +0 -0
  401. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/datetime.py +0 -0
  402. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/dep_tracking.py +0 -0
  403. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/function.py +0 -0
  404. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/number.py +0 -0
  405. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/object.py +0 -0
  406. {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/sequence.py +0 -0
  407. {reflex-0.8.6a0 → reflex-0.8.6a1}/scripts/hatch_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.8.6a0
3
+ Version: 0.8.6a1
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "reflex"
3
- version = "0.8.6a0"
3
+ version = "0.8.6a1"
4
4
  description = "Web apps in pure Python."
5
5
  license.text = "Apache-2.0"
6
6
  authors = [
@@ -604,6 +604,11 @@ class App(MiddlewareMixin, LifespanMixin):
604
604
 
605
605
  self._compile(prerender_routes=is_prod_mode())
606
606
 
607
+ config = get_config()
608
+
609
+ for plugin in config.plugins:
610
+ plugin.post_compile(app=self)
611
+
607
612
  # We will not be making more vars, so we can clear the global cache to free up memory.
608
613
  GLOBAL_CACHE.clear()
609
614
 
@@ -1926,6 +1931,13 @@ def upload(app: App):
1926
1931
  )
1927
1932
  )
1928
1933
 
1934
+ for file in files:
1935
+ if not isinstance(file, StarletteUploadFile):
1936
+ raise UploadValueError(
1937
+ "Uploaded file is not an UploadFile." + str(file)
1938
+ )
1939
+ await file.close()
1940
+
1929
1941
  event = Event(
1930
1942
  token=token,
1931
1943
  name=handler,
@@ -136,6 +136,8 @@ class ErrorBoundary(Component):
136
136
  height="100%",
137
137
  width="100%",
138
138
  position="absolute",
139
+ background_color="#fff",
140
+ color="#000",
139
141
  display="flex",
140
142
  align_items="center",
141
143
  justify_content="center",
@@ -143,6 +143,8 @@ class StateManagerMemory(StateManager):
143
143
  token: The token to set the state for.
144
144
  state: The state to set.
145
145
  """
146
+ token = _split_substate_key(token)[0]
147
+ self.states[token] = state
146
148
 
147
149
  @override
148
150
  @contextlib.asynccontextmanager
@@ -165,7 +167,6 @@ class StateManagerMemory(StateManager):
165
167
  async with self._states_locks[token]:
166
168
  state = await self.get_state(token)
167
169
  yield state
168
- await self.set_state(token, state)
169
170
 
170
171
 
171
172
  def _default_token_expiration() -> int:
@@ -1,5 +1,6 @@
1
1
  """Reflex Plugin System."""
2
2
 
3
+ from ._screenshot import ScreenshotPlugin as _ScreenshotPlugin
3
4
  from .base import CommonContext, Plugin, PreCompileContext
4
5
  from .sitemap import SitemapPlugin
5
6
  from .tailwind_v3 import TailwindV3Plugin
@@ -12,4 +13,5 @@ __all__ = [
12
13
  "SitemapPlugin",
13
14
  "TailwindV3Plugin",
14
15
  "TailwindV4Plugin",
16
+ "_ScreenshotPlugin",
15
17
  ]
@@ -0,0 +1,144 @@
1
+ """Plugin to enable screenshot functionality."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from reflex.plugins.base import Plugin as BasePlugin
6
+
7
+ if TYPE_CHECKING:
8
+ from starlette.requests import Request
9
+ from starlette.responses import Response
10
+ from typing_extensions import Unpack
11
+
12
+ from reflex.app import App
13
+ from reflex.plugins.base import PostCompileContext
14
+ from reflex.state import BaseState
15
+
16
+ ACTIVE_CONNECTIONS = "/_active_connections"
17
+ CLONE_STATE = "/_clone_state"
18
+
19
+
20
+ def _deep_copy(state: "BaseState") -> "BaseState":
21
+ """Create a deep copy of the state.
22
+
23
+ Args:
24
+ state: The state to copy.
25
+
26
+ Returns:
27
+ A deep copy of the state.
28
+ """
29
+ import copy
30
+
31
+ copy_of_state = copy.deepcopy(state)
32
+
33
+ def copy_substate(substate: "BaseState") -> "BaseState":
34
+ substate_copy = _deep_copy(substate)
35
+
36
+ substate_copy.parent_state = copy_of_state
37
+
38
+ return substate_copy
39
+
40
+ copy_of_state.substates = {
41
+ substate_name: copy_substate(substate)
42
+ for substate_name, substate in state.substates.items()
43
+ }
44
+
45
+ return copy_of_state
46
+
47
+
48
+ class ScreenshotPlugin(BasePlugin):
49
+ """Plugin to handle screenshot functionality."""
50
+
51
+ def post_compile(self, **context: "Unpack[PostCompileContext]") -> None:
52
+ """Called after the compilation of the plugin.
53
+
54
+ Args:
55
+ context: The context for the plugin.
56
+ """
57
+ app = context["app"]
58
+ self._add_active_connections_endpoint(app)
59
+ self._add_clone_state_endpoint(app)
60
+
61
+ @staticmethod
62
+ def _add_active_connections_endpoint(app: "App") -> None:
63
+ """Add an endpoint to the app that returns the active connections.
64
+
65
+ Args:
66
+ app: The application instance to which the endpoint will be added.
67
+ """
68
+ if not app._api:
69
+ return
70
+
71
+ async def active_connections(_request: "Request") -> "Response":
72
+ from starlette.responses import JSONResponse
73
+
74
+ if not app.event_namespace:
75
+ return JSONResponse({})
76
+
77
+ return JSONResponse(app.event_namespace.token_to_sid)
78
+
79
+ app._api.add_route(
80
+ ACTIVE_CONNECTIONS,
81
+ active_connections,
82
+ methods=["GET"],
83
+ )
84
+
85
+ @staticmethod
86
+ def _add_clone_state_endpoint(app: "App") -> None:
87
+ """Add an endpoint to the app that clones the current state.
88
+
89
+ Args:
90
+ app: The application instance to which the endpoint will be added.
91
+ """
92
+ if not app._api:
93
+ return
94
+
95
+ async def clone_state(request: "Request") -> "Response":
96
+ import uuid
97
+
98
+ from starlette.responses import JSONResponse
99
+
100
+ from reflex.state import _substate_key
101
+
102
+ if not app.event_namespace:
103
+ return JSONResponse({})
104
+
105
+ token_to_clone = await request.json()
106
+
107
+ if not isinstance(token_to_clone, str):
108
+ return JSONResponse(
109
+ {"error": "Token to clone must be a string."}, status_code=400
110
+ )
111
+
112
+ old_state = await app.state_manager.get_state(token_to_clone)
113
+
114
+ new_state = _deep_copy(old_state)
115
+
116
+ new_token = uuid.uuid4().hex
117
+
118
+ all_states = [new_state]
119
+
120
+ found_new = True
121
+
122
+ while found_new:
123
+ found_new = False
124
+
125
+ for state in all_states:
126
+ for substate in state.substates.values():
127
+ substate._was_touched = True
128
+
129
+ if substate not in all_states:
130
+ all_states.append(substate)
131
+
132
+ found_new = True
133
+
134
+ await app.state_manager.set_state(
135
+ _substate_key(new_token, new_state), new_state
136
+ )
137
+
138
+ return JSONResponse(new_token)
139
+
140
+ app._api.add_route(
141
+ CLONE_STATE,
142
+ clone_state,
143
+ methods=["POST"],
144
+ )
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING, ParamSpec, Protocol, TypedDict
7
7
  from typing_extensions import Unpack
8
8
 
9
9
  if TYPE_CHECKING:
10
- from reflex.app import UnevaluatedPage
10
+ from reflex.app import App, UnevaluatedPage
11
11
 
12
12
 
13
13
  class CommonContext(TypedDict):
@@ -44,6 +44,12 @@ class PreCompileContext(CommonContext):
44
44
  unevaluated_pages: Sequence["UnevaluatedPage"]
45
45
 
46
46
 
47
+ class PostCompileContext(CommonContext):
48
+ """Context for post-compile hooks."""
49
+
50
+ app: "App"
51
+
52
+
47
53
  class Plugin:
48
54
  """Base class for all plugins."""
49
55
 
@@ -104,6 +110,13 @@ class Plugin:
104
110
  context: The context for the plugin.
105
111
  """
106
112
 
113
+ def post_compile(self, **context: Unpack[PostCompileContext]) -> None:
114
+ """Called after the compilation of the plugin.
115
+
116
+ Args:
117
+ context: The context for the plugin.
118
+ """
119
+
107
120
  def __repr__(self):
108
121
  """Return a string representation of the plugin.
109
122
 
@@ -509,7 +509,7 @@ class BaseState(EvenMoreBasicBaseState):
509
509
 
510
510
  new_backend_vars = {
511
511
  name: value
512
- for name, value in cls.__dict__.items()
512
+ for name, value in list(cls.__dict__.items())
513
513
  if types.is_backend_base_variable(name, cls)
514
514
  }
515
515
  # Add annotated backend vars that may not have a default value.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes