reflex 0.7.0a2__tar.gz → 0.7.0a4__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 (402) hide show
  1. {reflex-0.7.0a2 → reflex-0.7.0a4}/PKG-INFO +1 -1
  2. {reflex-0.7.0a2 → reflex-0.7.0a4}/pyproject.toml +1 -1
  3. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/app.py +45 -21
  4. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/compiler/utils.py +22 -12
  5. reflex-0.7.0a4/reflex/components/plotly/__init__.py +32 -0
  6. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/plotly/plotly.py +235 -0
  7. reflex-0.7.0a4/reflex/components/plotly/plotly.pyi +908 -0
  8. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/custom_components/custom_components.py +10 -4
  9. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/event.py +7 -24
  10. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/console.py +19 -0
  11. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/imports.py +3 -0
  12. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/path_ops.py +30 -0
  13. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/vars/base.py +46 -4
  14. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/vars/object.py +13 -4
  15. reflex-0.7.0a2/reflex/components/plotly/__init__.py +0 -5
  16. reflex-0.7.0a2/reflex/components/plotly/plotly.pyi +0 -143
  17. {reflex-0.7.0a2 → reflex-0.7.0a4}/LICENSE +0 -0
  18. {reflex-0.7.0a2 → reflex-0.7.0a4}/README.md +0 -0
  19. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  20. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  21. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/apps/blank/code/blank.py +0 -0
  22. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
  23. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
  24. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
  25. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
  26. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
  27. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
  28. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
  29. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
  30. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
  31. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
  32. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
  33. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
  34. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
  35. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
  36. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
  37. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
  38. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
  39. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
  40. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
  41. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
  42. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
  43. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/.gitignore +0 -0
  44. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
  45. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/components/shiki/code.js +0 -0
  46. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/jsconfig.json +0 -0
  47. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/next.config.js +0 -0
  48. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/postcss.config.js +0 -0
  49. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/styles/tailwind.css +0 -0
  50. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/utils/client_side_routing.js +0 -0
  51. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
  52. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
  53. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/utils/helpers/paste.js +0 -0
  54. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/utils/helpers/range.js +0 -0
  55. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
  56. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/.templates/web/utils/state.js +0 -0
  57. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/__init__.py +0 -0
  58. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/__init__.pyi +0 -0
  59. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/__main__.py +0 -0
  60. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/admin.py +0 -0
  61. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/app_mixins/__init__.py +0 -0
  62. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/app_mixins/lifespan.py +0 -0
  63. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/app_mixins/middleware.py +0 -0
  64. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/app_mixins/mixin.py +0 -0
  65. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/app_module_for_backend.py +0 -0
  66. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/assets.py +0 -0
  67. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/base.py +0 -0
  68. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/compiler/__init__.py +0 -0
  69. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/compiler/compiler.py +0 -0
  70. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/compiler/templates.py +0 -0
  71. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/__init__.py +0 -0
  72. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/__init__.pyi +0 -0
  73. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/__init__.py +0 -0
  74. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/__init__.pyi +0 -0
  75. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/app_wrap.py +0 -0
  76. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/app_wrap.pyi +0 -0
  77. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/bare.py +0 -0
  78. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/body.py +0 -0
  79. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/body.pyi +0 -0
  80. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/document.py +0 -0
  81. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/document.pyi +0 -0
  82. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/error_boundary.py +0 -0
  83. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/error_boundary.pyi +0 -0
  84. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/fragment.py +0 -0
  85. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/fragment.pyi +0 -0
  86. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/head.py +0 -0
  87. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/head.pyi +0 -0
  88. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/link.py +0 -0
  89. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/link.pyi +0 -0
  90. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/meta.py +0 -0
  91. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/meta.pyi +0 -0
  92. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/script.py +0 -0
  93. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/script.pyi +0 -0
  94. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/strict_mode.py +0 -0
  95. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/base/strict_mode.pyi +0 -0
  96. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/component.py +0 -0
  97. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/__init__.py +0 -0
  98. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/__init__.pyi +0 -0
  99. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/banner.py +0 -0
  100. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/banner.pyi +0 -0
  101. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/breakpoints.py +0 -0
  102. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/client_side_routing.py +0 -0
  103. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/client_side_routing.pyi +0 -0
  104. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/clipboard.py +0 -0
  105. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/clipboard.pyi +0 -0
  106. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/colors.py +0 -0
  107. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/cond.py +0 -0
  108. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/debounce.py +0 -0
  109. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/debounce.pyi +0 -0
  110. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/foreach.py +0 -0
  111. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/html.py +0 -0
  112. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/html.pyi +0 -0
  113. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/layout/__init__.py +0 -0
  114. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/match.py +0 -0
  115. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/responsive.py +0 -0
  116. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/sticky.py +0 -0
  117. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/sticky.pyi +0 -0
  118. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/upload.py +0 -0
  119. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/core/upload.pyi +0 -0
  120. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/__init__.py +0 -0
  121. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/__init__.pyi +0 -0
  122. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/code.py +0 -0
  123. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/code.pyi +0 -0
  124. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/dataeditor.py +0 -0
  125. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/dataeditor.pyi +0 -0
  126. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/logo.py +0 -0
  127. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/shiki_code_block.py +0 -0
  128. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
  129. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/dynamic.py +0 -0
  130. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/__init__.py +0 -0
  131. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/__init__.pyi +0 -0
  132. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/constants/__init__.py +0 -0
  133. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/constants/html.py +0 -0
  134. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/constants/react.py +0 -0
  135. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/constants/reflex.py +0 -0
  136. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/element.py +0 -0
  137. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/element.pyi +0 -0
  138. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/__init__.py +0 -0
  139. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/__init__.pyi +0 -0
  140. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/base.py +0 -0
  141. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/base.pyi +0 -0
  142. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/forms.py +0 -0
  143. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/forms.pyi +0 -0
  144. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/inline.py +0 -0
  145. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/inline.pyi +0 -0
  146. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/media.py +0 -0
  147. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/media.pyi +0 -0
  148. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/metadata.py +0 -0
  149. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/metadata.pyi +0 -0
  150. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/other.py +0 -0
  151. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/other.pyi +0 -0
  152. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/scripts.py +0 -0
  153. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/scripts.pyi +0 -0
  154. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/sectioning.py +0 -0
  155. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/sectioning.pyi +0 -0
  156. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/tables.py +0 -0
  157. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/tables.pyi +0 -0
  158. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/typography.py +0 -0
  159. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/el/elements/typography.pyi +0 -0
  160. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/gridjs/__init__.py +0 -0
  161. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/gridjs/datatable.py +0 -0
  162. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/gridjs/datatable.pyi +0 -0
  163. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/literals.py +0 -0
  164. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/lucide/__init__.py +0 -0
  165. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/lucide/icon.py +0 -0
  166. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/lucide/icon.pyi +0 -0
  167. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/markdown/__init__.py +0 -0
  168. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/markdown/markdown.py +0 -0
  169. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/markdown/markdown.pyi +0 -0
  170. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/moment/__init__.py +0 -0
  171. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/moment/moment.py +0 -0
  172. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/moment/moment.pyi +0 -0
  173. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/__init__.py +0 -0
  174. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/base.py +0 -0
  175. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/base.pyi +0 -0
  176. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/image.py +0 -0
  177. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/image.pyi +0 -0
  178. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/link.py +0 -0
  179. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/link.pyi +0 -0
  180. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/video.py +0 -0
  181. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/next/video.pyi +0 -0
  182. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/props.py +0 -0
  183. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/__init__.py +0 -0
  184. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/__init__.pyi +0 -0
  185. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/__init__.py +0 -0
  186. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/__init__.pyi +0 -0
  187. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/accordion.py +0 -0
  188. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/accordion.pyi +0 -0
  189. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/base.py +0 -0
  190. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/base.pyi +0 -0
  191. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/drawer.py +0 -0
  192. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/drawer.pyi +0 -0
  193. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/form.py +0 -0
  194. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/form.pyi +0 -0
  195. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/progress.py +0 -0
  196. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/progress.pyi +0 -0
  197. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/slider.py +0 -0
  198. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/primitives/slider.pyi +0 -0
  199. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/__init__.py +0 -0
  200. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/__init__.pyi +0 -0
  201. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/base.py +0 -0
  202. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/base.pyi +0 -0
  203. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/color_mode.py +0 -0
  204. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/color_mode.pyi +0 -0
  205. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/__init__.py +0 -0
  206. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/__init__.pyi +0 -0
  207. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  208. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
  209. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  210. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
  211. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/avatar.py +0 -0
  212. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/avatar.pyi +0 -0
  213. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/badge.py +0 -0
  214. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/badge.pyi +0 -0
  215. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/button.py +0 -0
  216. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/button.pyi +0 -0
  217. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/callout.py +0 -0
  218. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/callout.pyi +0 -0
  219. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/card.py +0 -0
  220. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/card.pyi +0 -0
  221. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/checkbox.py +0 -0
  222. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
  223. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
  224. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
  225. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
  226. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
  227. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/context_menu.py +0 -0
  228. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
  229. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/data_list.py +0 -0
  230. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/data_list.pyi +0 -0
  231. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/dialog.py +0 -0
  232. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/dialog.pyi +0 -0
  233. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  234. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
  235. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/hover_card.py +0 -0
  236. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
  237. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/icon_button.py +0 -0
  238. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
  239. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/inset.py +0 -0
  240. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/inset.pyi +0 -0
  241. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/popover.py +0 -0
  242. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/popover.pyi +0 -0
  243. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/progress.py +0 -0
  244. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/progress.pyi +0 -0
  245. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/radio.py +0 -0
  246. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/radio.pyi +0 -0
  247. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/radio_cards.py +0 -0
  248. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
  249. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/radio_group.py +0 -0
  250. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
  251. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  252. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
  253. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/segmented_control.py +0 -0
  254. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
  255. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/select.py +0 -0
  256. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/select.pyi +0 -0
  257. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/separator.py +0 -0
  258. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/separator.pyi +0 -0
  259. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/skeleton.py +0 -0
  260. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
  261. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/slider.py +0 -0
  262. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/slider.pyi +0 -0
  263. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/spinner.py +0 -0
  264. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/spinner.pyi +0 -0
  265. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/switch.py +0 -0
  266. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/switch.pyi +0 -0
  267. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/table.py +0 -0
  268. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/table.pyi +0 -0
  269. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/tabs.py +0 -0
  270. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/tabs.pyi +0 -0
  271. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/text_area.py +0 -0
  272. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/text_area.pyi +0 -0
  273. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/text_field.py +0 -0
  274. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/text_field.pyi +0 -0
  275. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/tooltip.py +0 -0
  276. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
  277. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/__init__.py +0 -0
  278. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
  279. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/base.py +0 -0
  280. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/base.pyi +0 -0
  281. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/box.py +0 -0
  282. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/box.pyi +0 -0
  283. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/center.py +0 -0
  284. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/center.pyi +0 -0
  285. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/container.py +0 -0
  286. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/container.pyi +0 -0
  287. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/flex.py +0 -0
  288. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/flex.pyi +0 -0
  289. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/grid.py +0 -0
  290. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/grid.pyi +0 -0
  291. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/list.py +0 -0
  292. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/list.pyi +0 -0
  293. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/section.py +0 -0
  294. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/section.pyi +0 -0
  295. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/spacer.py +0 -0
  296. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
  297. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/stack.py +0 -0
  298. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/layout/stack.pyi +0 -0
  299. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/__init__.py +0 -0
  300. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
  301. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/base.py +0 -0
  302. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  303. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
  304. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/code.py +0 -0
  305. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/code.pyi +0 -0
  306. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/heading.py +0 -0
  307. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/heading.pyi +0 -0
  308. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/link.py +0 -0
  309. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/link.pyi +0 -0
  310. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/text.py +0 -0
  311. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/radix/themes/typography/text.pyi +0 -0
  312. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/react_player/__init__.py +0 -0
  313. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/react_player/audio.py +0 -0
  314. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/react_player/audio.pyi +0 -0
  315. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/react_player/react_player.py +0 -0
  316. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/react_player/react_player.pyi +0 -0
  317. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/react_player/video.py +0 -0
  318. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/react_player/video.pyi +0 -0
  319. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/__init__.py +0 -0
  320. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/__init__.pyi +0 -0
  321. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/cartesian.py +0 -0
  322. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/cartesian.pyi +0 -0
  323. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/charts.py +0 -0
  324. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/charts.pyi +0 -0
  325. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/general.py +0 -0
  326. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/general.pyi +0 -0
  327. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/polar.py +0 -0
  328. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/polar.pyi +0 -0
  329. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/recharts.py +0 -0
  330. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/recharts/recharts.pyi +0 -0
  331. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/sonner/__init__.py +0 -0
  332. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/sonner/toast.py +0 -0
  333. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/sonner/toast.pyi +0 -0
  334. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/suneditor/__init__.py +0 -0
  335. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/suneditor/editor.py +0 -0
  336. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/suneditor/editor.pyi +0 -0
  337. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/tags/__init__.py +0 -0
  338. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/tags/cond_tag.py +0 -0
  339. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/tags/iter_tag.py +0 -0
  340. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/tags/match_tag.py +0 -0
  341. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/tags/tag.py +0 -0
  342. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/components/tags/tagless.py +0 -0
  343. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/config.py +0 -0
  344. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/__init__.py +0 -0
  345. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/base.py +0 -0
  346. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/colors.py +0 -0
  347. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/compiler.py +0 -0
  348. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/config.py +0 -0
  349. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/custom_components.py +0 -0
  350. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/event.py +0 -0
  351. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/installer.py +0 -0
  352. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/route.py +0 -0
  353. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/state.py +0 -0
  354. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/style.py +0 -0
  355. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/constants/utils.py +0 -0
  356. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/custom_components/__init__.py +0 -0
  357. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/experimental/__init__.py +0 -0
  358. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/experimental/client_state.py +0 -0
  359. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/experimental/hooks.py +0 -0
  360. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/experimental/layout.py +0 -0
  361. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/experimental/layout.pyi +0 -0
  362. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/experimental/misc.py +0 -0
  363. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/istate/__init__.py +0 -0
  364. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/istate/data.py +0 -0
  365. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/istate/dynamic.py +0 -0
  366. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/istate/proxy.py +0 -0
  367. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/istate/storage.py +0 -0
  368. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/istate/wrappers.py +0 -0
  369. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/middleware/__init__.py +0 -0
  370. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/middleware/hydrate_middleware.py +0 -0
  371. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/middleware/middleware.py +0 -0
  372. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/model.py +0 -0
  373. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/page.py +0 -0
  374. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/reflex.py +0 -0
  375. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/route.py +0 -0
  376. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/state.py +0 -0
  377. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/style.py +0 -0
  378. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/testing.py +0 -0
  379. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/__init__.py +0 -0
  380. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/build.py +0 -0
  381. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/codespaces.py +0 -0
  382. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/compat.py +0 -0
  383. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/exceptions.py +0 -0
  384. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/exec.py +0 -0
  385. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/export.py +0 -0
  386. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/format.py +0 -0
  387. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/lazy_loader.py +0 -0
  388. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/net.py +0 -0
  389. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/prerequisites.py +0 -0
  390. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/processes.py +0 -0
  391. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/pyi_generator.py +0 -0
  392. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/redir.py +0 -0
  393. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/registry.py +0 -0
  394. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/serializers.py +0 -0
  395. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/telemetry.py +0 -0
  396. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/utils/types.py +0 -0
  397. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/vars/__init__.py +0 -0
  398. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/vars/datetime.py +0 -0
  399. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/vars/dep_tracking.py +0 -0
  400. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/vars/function.py +0 -0
  401. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/vars/number.py +0 -0
  402. {reflex-0.7.0a2 → reflex-0.7.0a4}/reflex/vars/sequence.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: reflex
3
- Version: 0.7.0a2
3
+ Version: 0.7.0a4
4
4
  Summary: Web apps in pure Python.
5
5
  License: Apache-2.0
6
6
  Keywords: web,framework
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "reflex"
3
- version = "0.7.0a2"
3
+ version = "0.7.0a4"
4
4
  description = "Web apps in pure Python."
5
5
  license = "Apache-2.0"
6
6
  authors = [
@@ -99,7 +99,15 @@ from reflex.state import (
99
99
  _substate_key,
100
100
  code_uses_state_contexts,
101
101
  )
102
- from reflex.utils import codespaces, console, exceptions, format, prerequisites, types
102
+ from reflex.utils import (
103
+ codespaces,
104
+ console,
105
+ exceptions,
106
+ format,
107
+ path_ops,
108
+ prerequisites,
109
+ types,
110
+ )
103
111
  from reflex.utils.exec import is_prod_mode, is_testing_env
104
112
  from reflex.utils.imports import ImportVar
105
113
 
@@ -974,9 +982,10 @@ class App(MiddlewareMixin, LifespanMixin):
974
982
  should_compile = self._should_compile()
975
983
 
976
984
  if not should_compile:
977
- for route in self._unevaluated_pages:
978
- console.debug(f"Evaluating page: {route}")
979
- self._compile_page(route, save_page=should_compile)
985
+ with console.timing("Evaluate Pages (Backend)"):
986
+ for route in self._unevaluated_pages:
987
+ console.debug(f"Evaluating page: {route}")
988
+ self._compile_page(route, save_page=should_compile)
980
989
 
981
990
  # Add the optional endpoints (_upload)
982
991
  self._add_optional_endpoints()
@@ -1002,10 +1011,11 @@ class App(MiddlewareMixin, LifespanMixin):
1002
1011
  + adhoc_steps_without_executor,
1003
1012
  )
1004
1013
 
1005
- for route in self._unevaluated_pages:
1006
- console.debug(f"Evaluating page: {route}")
1007
- self._compile_page(route, save_page=should_compile)
1008
- progress.advance(task)
1014
+ with console.timing("Evaluate Pages (Frontend)"):
1015
+ for route in self._unevaluated_pages:
1016
+ console.debug(f"Evaluating page: {route}")
1017
+ self._compile_page(route, save_page=should_compile)
1018
+ progress.advance(task)
1009
1019
 
1010
1020
  # Add the optional endpoints (_upload)
1011
1021
  self._add_optional_endpoints()
@@ -1040,13 +1050,13 @@ class App(MiddlewareMixin, LifespanMixin):
1040
1050
  custom_components |= component._get_all_custom_components()
1041
1051
 
1042
1052
  # Perform auto-memoization of stateful components.
1043
- (
1044
- stateful_components_path,
1045
- stateful_components_code,
1046
- page_components,
1047
- ) = compiler.compile_stateful_components(self._pages.values())
1048
-
1049
- progress.advance(task)
1053
+ with console.timing("Auto-memoize StatefulComponents"):
1054
+ (
1055
+ stateful_components_path,
1056
+ stateful_components_code,
1057
+ page_components,
1058
+ ) = compiler.compile_stateful_components(self._pages.values())
1059
+ progress.advance(task)
1050
1060
 
1051
1061
  # Catch "static" apps (that do not define a rx.State subclass) which are trying to access rx.State.
1052
1062
  if code_uses_state_contexts(stateful_components_code) and self._state is None:
@@ -1069,6 +1079,17 @@ class App(MiddlewareMixin, LifespanMixin):
1069
1079
 
1070
1080
  progress.advance(task)
1071
1081
 
1082
+ # Copy the assets.
1083
+ assets_src = Path.cwd() / constants.Dirs.APP_ASSETS
1084
+ if assets_src.is_dir():
1085
+ with console.timing("Copy assets"):
1086
+ path_ops.update_directory_tree(
1087
+ src=assets_src,
1088
+ dest=(
1089
+ Path.cwd() / prerequisites.get_web_dir() / constants.Dirs.PUBLIC
1090
+ ),
1091
+ )
1092
+
1072
1093
  # Use a forking process pool, if possible. Much faster, especially for large sites.
1073
1094
  # Fallback to ThreadPoolExecutor as something that will always work.
1074
1095
  executor = None
@@ -1121,9 +1142,10 @@ class App(MiddlewareMixin, LifespanMixin):
1121
1142
  _submit_work(compiler.remove_tailwind_from_postcss)
1122
1143
 
1123
1144
  # Wait for all compilation tasks to complete.
1124
- for future in concurrent.futures.as_completed(result_futures):
1125
- compile_results.append(future.result())
1126
- progress.advance(task)
1145
+ with console.timing("Compile to Javascript"):
1146
+ for future in concurrent.futures.as_completed(result_futures):
1147
+ compile_results.append(future.result())
1148
+ progress.advance(task)
1127
1149
 
1128
1150
  app_root = self._app_root(app_wrappers=app_wrappers)
1129
1151
 
@@ -1158,7 +1180,8 @@ class App(MiddlewareMixin, LifespanMixin):
1158
1180
  progress.stop()
1159
1181
 
1160
1182
  # Install frontend packages.
1161
- self._get_frontend_packages(all_imports)
1183
+ with console.timing("Install Frontend Packages"):
1184
+ self._get_frontend_packages(all_imports)
1162
1185
 
1163
1186
  # Setup the next.config.js
1164
1187
  transpile_packages = [
@@ -1184,8 +1207,9 @@ class App(MiddlewareMixin, LifespanMixin):
1184
1207
  # Remove pages that are no longer in the app.
1185
1208
  p.unlink()
1186
1209
 
1187
- for output_path, code in compile_results:
1188
- compiler_utils.write_page(output_path, code)
1210
+ with console.timing("Write to Disk"):
1211
+ for output_path, code in compile_results:
1212
+ compiler_utils.write_page(output_path, code)
1189
1213
 
1190
1214
  @contextlib.asynccontextmanager
1191
1215
  async def modify_state(self, token: str) -> AsyncIterator[BaseState]:
@@ -119,24 +119,34 @@ def compile_imports(import_dict: ParsedImportDict) -> list[dict]:
119
119
  validate_imports(collapsed_import_dict)
120
120
  import_dicts = []
121
121
  for lib, fields in collapsed_import_dict.items():
122
- default, rest = compile_import_statement(fields)
123
-
124
122
  # prevent lib from being rendered on the page if all imports are non rendered kind
125
123
  if not any(f.render for f in fields):
126
124
  continue
127
125
 
128
- if not lib:
129
- if default:
130
- raise ValueError("No default field allowed for empty library.")
131
- if rest is None or len(rest) == 0:
132
- raise ValueError("No fields to import.")
133
- import_dicts.extend(get_import_dict(module) for module in sorted(rest))
134
- continue
126
+ lib_paths: dict[str, list[ImportVar]] = {}
127
+
128
+ for field in fields:
129
+ lib_paths.setdefault(field.package_path, []).append(field)
135
130
 
136
- # remove the version before rendering the package imports
137
- lib = format.format_library_name(lib)
131
+ compiled = {
132
+ path: compile_import_statement(fields) for path, fields in lib_paths.items()
133
+ }
134
+
135
+ for path, (default, rest) in compiled.items():
136
+ if not lib:
137
+ if default:
138
+ raise ValueError("No default field allowed for empty library.")
139
+ if rest is None or len(rest) == 0:
140
+ raise ValueError("No fields to import.")
141
+ import_dicts.extend(get_import_dict(module) for module in sorted(rest))
142
+ continue
143
+
144
+ # remove the version before rendering the package imports
145
+ formatted_lib = format.format_library_name(lib) + (
146
+ path if path != "/" else ""
147
+ )
138
148
 
139
- import_dicts.append(get_import_dict(lib, default, rest))
149
+ import_dicts.append(get_import_dict(formatted_lib, default, rest))
140
150
  return import_dicts
141
151
 
142
152
 
@@ -0,0 +1,32 @@
1
+ """Plotly components."""
2
+
3
+ from reflex.components.component import ComponentNamespace
4
+
5
+ from .plotly import (
6
+ Plotly,
7
+ PlotlyBasic,
8
+ PlotlyCartesian,
9
+ PlotlyFinance,
10
+ PlotlyGeo,
11
+ PlotlyGl2d,
12
+ PlotlyGl3d,
13
+ PlotlyMapbox,
14
+ PlotlyStrict,
15
+ )
16
+
17
+
18
+ class PlotlyNamespace(ComponentNamespace):
19
+ """Plotly namespace."""
20
+
21
+ __call__ = Plotly.create
22
+ basic = PlotlyBasic.create
23
+ cartesian = PlotlyCartesian.create
24
+ geo = PlotlyGeo.create
25
+ gl2d = PlotlyGl2d.create
26
+ gl3d = PlotlyGl3d.create
27
+ finance = PlotlyFinance.create
28
+ mapbox = PlotlyMapbox.create
29
+ strict = PlotlyStrict.create
30
+
31
+
32
+ plotly = PlotlyNamespace()
@@ -10,6 +10,7 @@ from reflex.components.component import Component, NoSSRComponent
10
10
  from reflex.components.core.cond import color_mode_cond
11
11
  from reflex.event import EventHandler, no_args_event_spec
12
12
  from reflex.utils import console
13
+ from reflex.utils.imports import ImportDict, ImportVar
13
14
  from reflex.vars.base import LiteralVar, Var
14
15
 
15
16
  try:
@@ -278,3 +279,237 @@ const extractPoints = (points) => {
278
279
  # Spread the figure dict over props, nothing to merge.
279
280
  tag.special_props.append(Var(_js_expr=f"{{...{figure!s}}}"))
280
281
  return tag
282
+
283
+
284
+ CREATE_PLOTLY_COMPONENT: ImportDict = {
285
+ "react-plotly.js": [
286
+ ImportVar(
287
+ tag="createPlotlyComponent",
288
+ is_default=True,
289
+ package_path="/factory",
290
+ ),
291
+ ]
292
+ }
293
+
294
+
295
+ def dynamic_plotly_import(name: str, package: str) -> str:
296
+ """Create a dynamic import for a plotly component.
297
+
298
+ Args:
299
+ name: The name of the component.
300
+ package: The package path of the component.
301
+
302
+ Returns:
303
+ The dynamic import for the plotly component.
304
+ """
305
+ return f"""
306
+ const {name} = dynamic(() => import('{package}').then(mod => createPlotlyComponent(mod)), {{ssr: false}})
307
+ """
308
+
309
+
310
+ class PlotlyBasic(Plotly):
311
+ """Display a basic plotly graph."""
312
+
313
+ tag: str = "BasicPlotlyPlot"
314
+
315
+ library = "react-plotly.js@2.6.0"
316
+
317
+ lib_dependencies: list[str] = ["plotly.js-basic-dist-min@3.0.0"]
318
+
319
+ def add_imports(self) -> ImportDict | list[ImportDict]:
320
+ """Add imports for the plotly basic component.
321
+
322
+ Returns:
323
+ The imports for the plotly basic component.
324
+ """
325
+ return CREATE_PLOTLY_COMPONENT
326
+
327
+ def _get_dynamic_imports(self) -> str:
328
+ """Get the dynamic imports for the plotly basic component.
329
+
330
+ Returns:
331
+ The dynamic imports for the plotly basic component.
332
+ """
333
+ return dynamic_plotly_import(self.tag, "plotly.js-basic-dist-min")
334
+
335
+
336
+ class PlotlyCartesian(Plotly):
337
+ """Display a plotly cartesian graph."""
338
+
339
+ tag: str = "CartesianPlotlyPlot"
340
+
341
+ library = "react-plotly.js@2.6.0"
342
+
343
+ lib_dependencies: list[str] = ["plotly.js-cartesian-dist-min@3.0.0"]
344
+
345
+ def add_imports(self) -> ImportDict | list[ImportDict]:
346
+ """Add imports for the plotly cartesian component.
347
+
348
+ Returns:
349
+ The imports for the plotly cartesian component.
350
+ """
351
+ return CREATE_PLOTLY_COMPONENT
352
+
353
+ def _get_dynamic_imports(self) -> str:
354
+ """Get the dynamic imports for the plotly cartesian component.
355
+
356
+ Returns:
357
+ The dynamic imports for the plotly cartesian component.
358
+ """
359
+ return dynamic_plotly_import(self.tag, "plotly.js-cartesian-dist-min")
360
+
361
+
362
+ class PlotlyGeo(Plotly):
363
+ """Display a plotly geo graph."""
364
+
365
+ tag: str = "GeoPlotlyPlot"
366
+
367
+ library = "react-plotly.js@2.6.0"
368
+
369
+ lib_dependencies: list[str] = ["plotly.js-geo-dist-min@3.0.0"]
370
+
371
+ def add_imports(self) -> ImportDict | list[ImportDict]:
372
+ """Add imports for the plotly geo component.
373
+
374
+ Returns:
375
+ The imports for the plotly geo component.
376
+ """
377
+ return CREATE_PLOTLY_COMPONENT
378
+
379
+ def _get_dynamic_imports(self) -> str:
380
+ """Get the dynamic imports for the plotly geo component.
381
+
382
+ Returns:
383
+ The dynamic imports for the plotly geo component.
384
+ """
385
+ return dynamic_plotly_import(self.tag, "plotly.js-geo-dist-min")
386
+
387
+
388
+ class PlotlyGl3d(Plotly):
389
+ """Display a plotly 3d graph."""
390
+
391
+ tag: str = "Gl3dPlotlyPlot"
392
+
393
+ library = "react-plotly.js@2.6.0"
394
+
395
+ lib_dependencies: list[str] = ["plotly.js-gl3d-dist-min@3.0.0"]
396
+
397
+ def add_imports(self) -> ImportDict | list[ImportDict]:
398
+ """Add imports for the plotly 3d component.
399
+
400
+ Returns:
401
+ The imports for the plotly 3d component.
402
+ """
403
+ return CREATE_PLOTLY_COMPONENT
404
+
405
+ def _get_dynamic_imports(self) -> str:
406
+ """Get the dynamic imports for the plotly 3d component.
407
+
408
+ Returns:
409
+ The dynamic imports for the plotly 3d component.
410
+ """
411
+ return dynamic_plotly_import(self.tag, "plotly.js-gl3d-dist-min")
412
+
413
+
414
+ class PlotlyGl2d(Plotly):
415
+ """Display a plotly 2d graph."""
416
+
417
+ tag: str = "Gl2dPlotlyPlot"
418
+
419
+ library = "react-plotly.js@2.6.0"
420
+
421
+ lib_dependencies: list[str] = ["plotly.js-gl2d-dist-min@3.0.0"]
422
+
423
+ def add_imports(self) -> ImportDict | list[ImportDict]:
424
+ """Add imports for the plotly 2d component.
425
+
426
+ Returns:
427
+ The imports for the plotly 2d component.
428
+ """
429
+ return CREATE_PLOTLY_COMPONENT
430
+
431
+ def _get_dynamic_imports(self) -> str:
432
+ """Get the dynamic imports for the plotly 2d component.
433
+
434
+ Returns:
435
+ The dynamic imports for the plotly 2d component.
436
+ """
437
+ return dynamic_plotly_import(self.tag, "plotly.js-gl2d-dist-min")
438
+
439
+
440
+ class PlotlyMapbox(Plotly):
441
+ """Display a plotly mapbox graph."""
442
+
443
+ tag: str = "MapboxPlotlyPlot"
444
+
445
+ library = "react-plotly.js@2.6.0"
446
+
447
+ lib_dependencies: list[str] = ["plotly.js-mapbox-dist-min@3.0.0"]
448
+
449
+ def add_imports(self) -> ImportDict | list[ImportDict]:
450
+ """Add imports for the plotly mapbox component.
451
+
452
+ Returns:
453
+ The imports for the plotly mapbox component.
454
+ """
455
+ return CREATE_PLOTLY_COMPONENT
456
+
457
+ def _get_dynamic_imports(self) -> str:
458
+ """Get the dynamic imports for the plotly mapbox component.
459
+
460
+ Returns:
461
+ The dynamic imports for the plotly mapbox component.
462
+ """
463
+ return dynamic_plotly_import(self.tag, "plotly.js-mapbox-dist-min")
464
+
465
+
466
+ class PlotlyFinance(Plotly):
467
+ """Display a plotly finance graph."""
468
+
469
+ tag: str = "FinancePlotlyPlot"
470
+
471
+ library = "react-plotly.js@2.6.0"
472
+
473
+ lib_dependencies: list[str] = ["plotly.js-finance-dist-min@3.0.0"]
474
+
475
+ def add_imports(self) -> ImportDict | list[ImportDict]:
476
+ """Add imports for the plotly finance component.
477
+
478
+ Returns:
479
+ The imports for the plotly finance component.
480
+ """
481
+ return CREATE_PLOTLY_COMPONENT
482
+
483
+ def _get_dynamic_imports(self) -> str:
484
+ """Get the dynamic imports for the plotly finance component.
485
+
486
+ Returns:
487
+ The dynamic imports for the plotly finance component.
488
+ """
489
+ return dynamic_plotly_import(self.tag, "plotly.js-finance-dist-min")
490
+
491
+
492
+ class PlotlyStrict(Plotly):
493
+ """Display a plotly strict graph."""
494
+
495
+ tag: str = "StrictPlotlyPlot"
496
+
497
+ library = "react-plotly.js@2.6.0"
498
+
499
+ lib_dependencies: list[str] = ["plotly.js-strict-dist-min@3.0.0"]
500
+
501
+ def add_imports(self) -> ImportDict | list[ImportDict]:
502
+ """Add imports for the plotly strict component.
503
+
504
+ Returns:
505
+ The imports for the plotly strict component.
506
+ """
507
+ return CREATE_PLOTLY_COMPONENT
508
+
509
+ def _get_dynamic_imports(self) -> str:
510
+ """Get the dynamic imports for the plotly strict component.
511
+
512
+ Returns:
513
+ The dynamic imports for the plotly strict component.
514
+ """
515
+ return dynamic_plotly_import(self.tag, "plotly.js-strict-dist-min")