reflex 0.7.2a2__tar.gz → 0.7.3__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.7.3/.gitignore +21 -0
  2. {reflex-0.7.2a2 → reflex-0.7.3}/PKG-INFO +52 -59
  3. {reflex-0.7.2a2 → reflex-0.7.3}/README.md +13 -20
  4. reflex-0.7.3/pyproject.toml +164 -0
  5. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +6 -3
  6. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +1 -1
  7. reflex-0.7.3/reflex/.templates/web/components/shiki/code.js +39 -0
  8. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/postcss.config.js +1 -1
  9. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/utils/client_side_routing.js +18 -16
  10. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/utils/helpers/dataeditor.js +1 -1
  11. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/utils/helpers/range.js +30 -30
  12. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/utils/state.js +44 -22
  13. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/app_mixins/middleware.py +9 -10
  14. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/compiler/compiler.py +7 -0
  15. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/banner.py +1 -1
  16. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/foreach.py +3 -2
  17. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/logo.py +1 -1
  18. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/__init__.pyi +22 -0
  19. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/__init__.py +20 -1
  20. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/__init__.pyi +42 -1
  21. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/media.py +11 -0
  22. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/media.pyi +11 -0
  23. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/lucide/icon.py +8 -6
  24. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/lucide/icon.pyi +0 -1
  25. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/slider.py +2 -1
  26. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/config.py +13 -7
  27. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/custom_components/custom_components.py +23 -25
  28. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/event.py +7 -2
  29. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/istate/data.py +59 -7
  30. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/reflex.py +75 -32
  31. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/state.py +3 -3
  32. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/style.py +3 -3
  33. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/testing.py +4 -10
  34. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/exceptions.py +31 -1
  35. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/exec.py +4 -8
  36. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/export.py +2 -2
  37. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/prerequisites.py +3 -45
  38. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/pyi_generator.py +2 -2
  39. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/redir.py +3 -12
  40. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/vars/base.py +26 -3
  41. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/vars/number.py +22 -21
  42. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/vars/object.py +29 -0
  43. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/vars/sequence.py +37 -0
  44. reflex-0.7.2a2/pyproject.toml +0 -137
  45. reflex-0.7.2a2/reflex/.templates/web/components/shiki/code.js +0 -34
  46. {reflex-0.7.2a2 → reflex-0.7.3}/LICENSE +0 -0
  47. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  48. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  49. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/apps/blank/code/blank.py +0 -0
  50. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
  51. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
  52. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
  53. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
  54. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
  55. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
  56. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
  57. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
  58. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
  59. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
  60. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
  61. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
  62. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
  63. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
  64. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
  65. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
  66. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
  67. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
  68. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
  69. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
  70. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/.gitignore +0 -0
  71. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/jsconfig.json +0 -0
  72. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/next.config.js +0 -0
  73. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/styles/tailwind.css +0 -0
  74. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
  75. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/utils/helpers/paste.js +0 -0
  76. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
  77. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/__init__.py +0 -0
  78. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/__init__.pyi +0 -0
  79. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/__main__.py +0 -0
  80. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/admin.py +0 -0
  81. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/app.py +0 -0
  82. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/app_mixins/__init__.py +0 -0
  83. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/app_mixins/lifespan.py +0 -0
  84. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/app_mixins/mixin.py +0 -0
  85. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/app_module_for_backend.py +0 -0
  86. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/assets.py +0 -0
  87. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/base.py +0 -0
  88. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/compiler/__init__.py +0 -0
  89. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/compiler/templates.py +0 -0
  90. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/compiler/utils.py +0 -0
  91. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/__init__.py +0 -0
  92. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/__init__.pyi +0 -0
  93. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/__init__.py +0 -0
  94. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/__init__.pyi +0 -0
  95. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/app_wrap.py +0 -0
  96. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/app_wrap.pyi +0 -0
  97. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/bare.py +0 -0
  98. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/body.py +0 -0
  99. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/body.pyi +0 -0
  100. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/document.py +0 -0
  101. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/document.pyi +0 -0
  102. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/error_boundary.py +0 -0
  103. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/error_boundary.pyi +0 -0
  104. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/fragment.py +0 -0
  105. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/fragment.pyi +0 -0
  106. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/head.py +0 -0
  107. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/head.pyi +0 -0
  108. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/link.py +0 -0
  109. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/link.pyi +0 -0
  110. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/meta.py +0 -0
  111. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/meta.pyi +0 -0
  112. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/script.py +0 -0
  113. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/script.pyi +0 -0
  114. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/strict_mode.py +0 -0
  115. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/base/strict_mode.pyi +0 -0
  116. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/component.py +0 -0
  117. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/__init__.py +0 -0
  118. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/__init__.pyi +0 -0
  119. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/auto_scroll.py +0 -0
  120. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/auto_scroll.pyi +0 -0
  121. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/banner.pyi +0 -0
  122. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/breakpoints.py +0 -0
  123. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/client_side_routing.py +0 -0
  124. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/client_side_routing.pyi +0 -0
  125. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/clipboard.py +0 -0
  126. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/clipboard.pyi +0 -0
  127. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/colors.py +0 -0
  128. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/cond.py +0 -0
  129. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/debounce.py +0 -0
  130. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/debounce.pyi +0 -0
  131. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/html.py +0 -0
  132. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/html.pyi +0 -0
  133. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/layout/__init__.py +0 -0
  134. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/match.py +0 -0
  135. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/responsive.py +0 -0
  136. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/sticky.py +0 -0
  137. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/sticky.pyi +0 -0
  138. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/upload.py +0 -0
  139. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/core/upload.pyi +0 -0
  140. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/__init__.py +0 -0
  141. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/__init__.pyi +0 -0
  142. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/code.py +0 -0
  143. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/code.pyi +0 -0
  144. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/dataeditor.py +0 -0
  145. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/dataeditor.pyi +0 -0
  146. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/shiki_code_block.py +0 -0
  147. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
  148. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/dynamic.py +0 -0
  149. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/__init__.py +0 -0
  150. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/constants/__init__.py +0 -0
  151. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/constants/html.py +0 -0
  152. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/constants/react.py +0 -0
  153. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/constants/reflex.py +0 -0
  154. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/element.py +0 -0
  155. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/element.pyi +0 -0
  156. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/base.py +0 -0
  157. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/base.pyi +0 -0
  158. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/forms.py +0 -0
  159. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/forms.pyi +0 -0
  160. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/inline.py +0 -0
  161. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/inline.pyi +0 -0
  162. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/metadata.py +0 -0
  163. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/metadata.pyi +0 -0
  164. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/other.py +0 -0
  165. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/other.pyi +0 -0
  166. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/scripts.py +0 -0
  167. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/scripts.pyi +0 -0
  168. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/sectioning.py +0 -0
  169. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/sectioning.pyi +0 -0
  170. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/tables.py +0 -0
  171. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/tables.pyi +0 -0
  172. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/typography.py +0 -0
  173. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/el/elements/typography.pyi +0 -0
  174. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/gridjs/__init__.py +0 -0
  175. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/gridjs/datatable.py +0 -0
  176. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/gridjs/datatable.pyi +0 -0
  177. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/literals.py +0 -0
  178. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/lucide/__init__.py +0 -0
  179. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/markdown/__init__.py +0 -0
  180. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/markdown/markdown.py +0 -0
  181. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/markdown/markdown.pyi +0 -0
  182. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/moment/__init__.py +0 -0
  183. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/moment/moment.py +0 -0
  184. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/moment/moment.pyi +0 -0
  185. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/__init__.py +0 -0
  186. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/base.py +0 -0
  187. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/base.pyi +0 -0
  188. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/image.py +0 -0
  189. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/image.pyi +0 -0
  190. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/link.py +0 -0
  191. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/link.pyi +0 -0
  192. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/video.py +0 -0
  193. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/next/video.pyi +0 -0
  194. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/plotly/__init__.py +0 -0
  195. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/plotly/plotly.py +0 -0
  196. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/plotly/plotly.pyi +0 -0
  197. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/props.py +0 -0
  198. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/__init__.py +0 -0
  199. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/__init__.pyi +0 -0
  200. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/__init__.py +0 -0
  201. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/__init__.pyi +0 -0
  202. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/accordion.py +0 -0
  203. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/accordion.pyi +0 -0
  204. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/base.py +0 -0
  205. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/base.pyi +0 -0
  206. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/drawer.py +0 -0
  207. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/drawer.pyi +0 -0
  208. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/form.py +0 -0
  209. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/form.pyi +0 -0
  210. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/progress.py +0 -0
  211. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/progress.pyi +0 -0
  212. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/slider.py +0 -0
  213. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/primitives/slider.pyi +0 -0
  214. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/__init__.py +0 -0
  215. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/__init__.pyi +0 -0
  216. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/base.py +0 -0
  217. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/base.pyi +0 -0
  218. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/color_mode.py +0 -0
  219. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/color_mode.pyi +0 -0
  220. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/__init__.py +0 -0
  221. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/__init__.pyi +0 -0
  222. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  223. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
  224. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  225. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
  226. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/avatar.py +0 -0
  227. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/avatar.pyi +0 -0
  228. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/badge.py +0 -0
  229. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/badge.pyi +0 -0
  230. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/button.py +0 -0
  231. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/button.pyi +0 -0
  232. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/callout.py +0 -0
  233. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/callout.pyi +0 -0
  234. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/card.py +0 -0
  235. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/card.pyi +0 -0
  236. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/checkbox.py +0 -0
  237. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
  238. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
  239. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
  240. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
  241. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
  242. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/context_menu.py +0 -0
  243. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
  244. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/data_list.py +0 -0
  245. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/data_list.pyi +0 -0
  246. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/dialog.py +0 -0
  247. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/dialog.pyi +0 -0
  248. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  249. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
  250. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/hover_card.py +0 -0
  251. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
  252. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/icon_button.py +0 -0
  253. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
  254. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/inset.py +0 -0
  255. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/inset.pyi +0 -0
  256. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/popover.py +0 -0
  257. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/popover.pyi +0 -0
  258. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/progress.py +0 -0
  259. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/progress.pyi +0 -0
  260. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/radio.py +0 -0
  261. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/radio.pyi +0 -0
  262. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/radio_cards.py +0 -0
  263. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
  264. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/radio_group.py +0 -0
  265. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
  266. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  267. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
  268. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/segmented_control.py +0 -0
  269. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
  270. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/select.py +0 -0
  271. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/select.pyi +0 -0
  272. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/separator.py +0 -0
  273. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/separator.pyi +0 -0
  274. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/skeleton.py +0 -0
  275. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
  276. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/slider.pyi +0 -0
  277. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/spinner.py +0 -0
  278. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/spinner.pyi +0 -0
  279. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/switch.py +0 -0
  280. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/switch.pyi +0 -0
  281. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/table.py +0 -0
  282. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/table.pyi +0 -0
  283. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/tabs.py +0 -0
  284. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/tabs.pyi +0 -0
  285. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/text_area.py +0 -0
  286. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/text_area.pyi +0 -0
  287. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/text_field.py +0 -0
  288. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/text_field.pyi +0 -0
  289. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/tooltip.py +0 -0
  290. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
  291. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/__init__.py +0 -0
  292. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
  293. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/base.py +0 -0
  294. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/base.pyi +0 -0
  295. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/box.py +0 -0
  296. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/box.pyi +0 -0
  297. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/center.py +0 -0
  298. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/center.pyi +0 -0
  299. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/container.py +0 -0
  300. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/container.pyi +0 -0
  301. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/flex.py +0 -0
  302. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/flex.pyi +0 -0
  303. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/grid.py +0 -0
  304. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/grid.pyi +0 -0
  305. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/list.py +0 -0
  306. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/list.pyi +0 -0
  307. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/section.py +0 -0
  308. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/section.pyi +0 -0
  309. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/spacer.py +0 -0
  310. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
  311. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/stack.py +0 -0
  312. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/layout/stack.pyi +0 -0
  313. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/__init__.py +0 -0
  314. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
  315. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/base.py +0 -0
  316. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  317. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
  318. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/code.py +0 -0
  319. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/code.pyi +0 -0
  320. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/heading.py +0 -0
  321. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/heading.pyi +0 -0
  322. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/link.py +0 -0
  323. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/link.pyi +0 -0
  324. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/text.py +0 -0
  325. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/radix/themes/typography/text.pyi +0 -0
  326. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/react_player/__init__.py +0 -0
  327. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/react_player/audio.py +0 -0
  328. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/react_player/audio.pyi +0 -0
  329. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/react_player/react_player.py +0 -0
  330. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/react_player/react_player.pyi +0 -0
  331. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/react_player/video.py +0 -0
  332. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/react_player/video.pyi +0 -0
  333. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/__init__.py +0 -0
  334. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/__init__.pyi +0 -0
  335. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/cartesian.py +0 -0
  336. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/cartesian.pyi +0 -0
  337. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/charts.py +0 -0
  338. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/charts.pyi +0 -0
  339. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/general.py +0 -0
  340. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/general.pyi +0 -0
  341. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/polar.py +0 -0
  342. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/polar.pyi +0 -0
  343. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/recharts.py +0 -0
  344. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/recharts/recharts.pyi +0 -0
  345. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/sonner/__init__.py +0 -0
  346. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/sonner/toast.py +0 -0
  347. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/sonner/toast.pyi +0 -0
  348. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/suneditor/__init__.py +0 -0
  349. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/suneditor/editor.py +0 -0
  350. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/suneditor/editor.pyi +0 -0
  351. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/tags/__init__.py +0 -0
  352. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/tags/cond_tag.py +0 -0
  353. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/tags/iter_tag.py +0 -0
  354. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/tags/match_tag.py +0 -0
  355. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/tags/tag.py +0 -0
  356. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/components/tags/tagless.py +0 -0
  357. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/__init__.py +0 -0
  358. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/base.py +0 -0
  359. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/colors.py +0 -0
  360. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/compiler.py +0 -0
  361. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/config.py +0 -0
  362. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/custom_components.py +0 -0
  363. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/event.py +0 -0
  364. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/installer.py +0 -0
  365. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/route.py +0 -0
  366. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/state.py +0 -0
  367. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/style.py +0 -0
  368. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/constants/utils.py +0 -0
  369. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/custom_components/__init__.py +0 -0
  370. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/experimental/__init__.py +0 -0
  371. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/experimental/client_state.py +0 -0
  372. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/experimental/hooks.py +0 -0
  373. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/experimental/layout.py +0 -0
  374. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/experimental/layout.pyi +0 -0
  375. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/experimental/misc.py +0 -0
  376. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/istate/__init__.py +0 -0
  377. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/istate/dynamic.py +0 -0
  378. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/istate/proxy.py +0 -0
  379. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/istate/storage.py +0 -0
  380. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/istate/wrappers.py +0 -0
  381. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/middleware/__init__.py +0 -0
  382. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/middleware/hydrate_middleware.py +0 -0
  383. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/middleware/middleware.py +0 -0
  384. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/model.py +0 -0
  385. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/page.py +0 -0
  386. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/py.typed +0 -0
  387. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/route.py +0 -0
  388. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/__init__.py +0 -0
  389. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/build.py +0 -0
  390. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/codespaces.py +0 -0
  391. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/compat.py +0 -0
  392. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/console.py +0 -0
  393. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/decorator.py +0 -0
  394. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/format.py +0 -0
  395. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/imports.py +0 -0
  396. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/lazy_loader.py +0 -0
  397. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/net.py +0 -0
  398. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/path_ops.py +0 -0
  399. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/processes.py +0 -0
  400. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/registry.py +0 -0
  401. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/serializers.py +0 -0
  402. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/telemetry.py +0 -0
  403. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/utils/types.py +0 -0
  404. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/vars/__init__.py +0 -0
  405. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/vars/datetime.py +0 -0
  406. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/vars/dep_tracking.py +0 -0
  407. {reflex-0.7.2a2 → reflex-0.7.3}/reflex/vars/function.py +0 -0
@@ -0,0 +1,21 @@
1
+ **/.DS_Store
2
+ **/*.pyc
3
+ assets/external/*
4
+ dist/*
5
+ examples/
6
+ .web
7
+ .states
8
+ .idea
9
+ .vscode
10
+ .coverage
11
+ .coverage.*
12
+ .venv
13
+ venv
14
+ requirements.txt
15
+ .pyi_generator_last_run
16
+ .pyi_generator_diff
17
+ reflex.db
18
+ .codspeed
19
+ .env
20
+ .env.*
21
+ node_modules
@@ -1,12 +1,15 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.7.2a2
3
+ Version: 0.7.3
4
4
  Summary: Web apps in pure Python.
5
+ Project-URL: homepage, https://reflex.dev
6
+ Project-URL: repository, https://github.com/reflex-dev/reflex
7
+ Project-URL: documentation, https://reflex.dev/docs/getting-started/introduction
8
+ Author-email: Nikhil Rao <nikhil@reflex.dev>, Alek Petuskey <alek@reflex.dev>, Masen Furer <masen@reflex.dev>, Elijah Ahianyo <elijahahianyo@gmail.com>, Thomas Brandeho <thomas@reflex.dev>, Khaleel Al-Adhami <khaleel@reflex.dev>
9
+ Maintainer-email: Masen Furer <masen@reflex.dev>, Thomas Brandeho <thomas@reflex.dev>, Khaleel Al-Adhami <khaleel@reflex.dev>
5
10
  License: Apache-2.0
6
- Keywords: web,framework
7
- Author: Nikhil Rao
8
- Author-email: nikhil@reflex.dev
9
- Requires-Python: >=3.10,<4.0
11
+ License-File: LICENSE
12
+ Keywords: framework,web
10
13
  Classifier: Development Status :: 4 - Beta
11
14
  Classifier: License :: OSI Approved :: Apache Software License
12
15
  Classifier: Programming Language :: Python :: 3
@@ -14,41 +17,38 @@ Classifier: Programming Language :: Python :: 3.10
14
17
  Classifier: Programming Language :: Python :: 3.11
15
18
  Classifier: Programming Language :: Python :: 3.12
16
19
  Classifier: Programming Language :: Python :: 3.13
17
- Requires-Dist: alembic (>=1.11.1,<2.0)
18
- Requires-Dist: build (>=1.0.3,<2.0)
19
- Requires-Dist: charset-normalizer (>=3.3.2,<4.0)
20
- Requires-Dist: distro (>=1.8.0,<2.0) ; sys_platform == "linux"
21
- Requires-Dist: fastapi (>=0.96.0,!=0.111.0,!=0.111.1)
22
- Requires-Dist: gunicorn (>=20.1.0,<24.0)
23
- Requires-Dist: httpx (>=0.25.1,<1.0)
24
- Requires-Dist: jinja2 (>=3.1.2,<4.0)
25
- Requires-Dist: lazy_loader (>=0.4)
26
- Requires-Dist: packaging (>=23.1,<25.0)
27
- Requires-Dist: platformdirs (>=3.10.0,<5.0)
28
- Requires-Dist: psutil (>=5.9.4,<7.0)
29
- Requires-Dist: pydantic (>=1.10.21,<3.0)
30
- Requires-Dist: python-engineio (!=4.6.0)
31
- Requires-Dist: python-multipart (>=0.0.5,<0.1)
32
- Requires-Dist: python-socketio (>=5.7.0,<6.0)
33
- Requires-Dist: redis (>=4.3.5,<6.0)
34
- Requires-Dist: reflex-hosting-cli (>=0.1.29)
35
- Requires-Dist: rich (>=13.0.0,<14.0)
36
- Requires-Dist: setuptools (>=75.0)
37
- Requires-Dist: sqlmodel (>=0.0.14,<0.1)
38
- Requires-Dist: starlette-admin (>=0.11.0,<1.0)
39
- Requires-Dist: tomlkit (>=0.12.4,<1.0)
40
- Requires-Dist: twine (>=4.0.0,<7.0)
41
- Requires-Dist: typer (>=0.15.1,<1.0)
42
- Requires-Dist: typing_extensions (>=4.6.0)
43
- Requires-Dist: uvicorn (>=0.20.0)
44
- Requires-Dist: wheel (>=0.42.0,<1.0)
45
- Requires-Dist: wrapt (>=1.17.0,<2.0)
46
- Project-URL: Documentation, https://reflex.dev/docs/getting-started/introduction
47
- Project-URL: Homepage, https://reflex.dev
48
- Project-URL: Repository, https://github.com/reflex-dev/reflex
20
+ Requires-Python: <4.0,>=3.10
21
+ Requires-Dist: alembic<2.0,>=1.11.1
22
+ Requires-Dist: build<2.0,>=1.0.3
23
+ Requires-Dist: charset-normalizer<4.0,>=3.3.2
24
+ Requires-Dist: distro<2.0,>=1.8.0; platform_system == 'Linux'
25
+ Requires-Dist: fastapi!=0.111.0,!=0.111.1,>=0.96.0
26
+ Requires-Dist: gunicorn<24.0,>=20.1.0
27
+ Requires-Dist: httpx<1.0,>=0.25.1
28
+ Requires-Dist: jinja2<4.0,>=3.1.2
29
+ Requires-Dist: lazy-loader>=0.4
30
+ Requires-Dist: packaging<25.0,>=23.1
31
+ Requires-Dist: platformdirs<5.0,>=3.10.0
32
+ Requires-Dist: psutil<8.0,>=5.9.4
33
+ Requires-Dist: pydantic<3.0,>=1.10.21
34
+ Requires-Dist: python-engineio!=4.6.0
35
+ Requires-Dist: python-multipart<0.1,>=0.0.5
36
+ Requires-Dist: python-socketio<6.0,>=5.7.0
37
+ Requires-Dist: redis<6.0,>=4.3.5
38
+ Requires-Dist: reflex-hosting-cli>=0.1.29
39
+ Requires-Dist: rich<14.0,>=13.0.0
40
+ Requires-Dist: setuptools>=75.0
41
+ Requires-Dist: sqlmodel<0.1,>=0.0.14
42
+ Requires-Dist: starlette-admin<1.0,>=0.11.0
43
+ Requires-Dist: tomlkit<1.0,>=0.12.4
44
+ Requires-Dist: twine<7.0,>=4.0.0
45
+ Requires-Dist: typer<1.0,>=0.15.1
46
+ Requires-Dist: typing-extensions>=4.6.0
47
+ Requires-Dist: uvicorn>=0.20.0
48
+ Requires-Dist: wheel<1.0,>=0.42.0
49
+ Requires-Dist: wrapt<2.0,>=1.17.0
49
50
  Description-Content-Type: text/markdown
50
51
 
51
-
52
52
  <div align="center">
53
53
  <img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_dark.svg#gh-light-mode-only" alt="Reflex Logo" width="300px">
54
54
  <img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_light.svg#gh-dark-mode-only" alt="Reflex Logo" width="300px">
@@ -56,10 +56,12 @@ Description-Content-Type: text/markdown
56
56
  <hr>
57
57
 
58
58
  ### **✨ Performant, customizable web apps in pure Python. Deploy in seconds. ✨**
59
+
59
60
  [![PyPI version](https://badge.fury.io/py/reflex.svg)](https://badge.fury.io/py/reflex)
60
61
  ![versions](https://img.shields.io/pypi/pyversions/reflex.svg)
61
62
  [![Documentation](https://img.shields.io/badge/Documentation%20-Introduction%20-%20%23007ec6)](https://reflex.dev/docs/getting-started/introduction)
62
63
  [![Discord](https://img.shields.io/discord/1029853095527727165?color=%237289da&label=Discord)](https://discord.gg/T5WSbC2YtQ)
64
+
63
65
  </div>
64
66
 
65
67
  ---
@@ -73,9 +75,10 @@ Description-Content-Type: text/markdown
73
75
  Reflex is a library to build full-stack web apps in pure Python.
74
76
 
75
77
  Key features:
76
- * **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
77
- * **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
78
- * **Deploy Instantly** - After building, deploy your app with a [single command](https://reflex.dev/docs/hosting/deploy-quick-start/) or host it on your own server.
78
+
79
+ - **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
80
+ - **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
81
+ - **Deploy Instantly** - After building, deploy your app with a [single command](https://reflex.dev/docs/hosting/deploy-quick-start/) or host it on your own server.
79
82
 
80
83
  See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architecture/#the-reflex-architecture) to learn how Reflex works under the hood.
81
84
 
@@ -99,7 +102,7 @@ cd my_app_name
99
102
  reflex init
100
103
  ```
101
104
 
102
- This command initializes a template app in your new directory.
105
+ This command initializes a template app in your new directory.
103
106
 
104
107
  You can run this app in development mode:
105
108
 
@@ -111,7 +114,6 @@ You should see your app running at http://localhost:3000.
111
114
 
112
115
  Now you can modify the source code in `my_app_name/my_app_name.py`. Reflex has fast refreshes so you can see your changes instantly when you save your code.
113
116
 
114
-
115
117
  ## 🫧 Example App
116
118
 
117
119
  Let's go over an example: creating an image generation UI around [DALL·E](https://platform.openai.com/docs/guides/images/image-generation?context=node). For simplicity, we just call the [OpenAI API](https://platform.openai.com/docs/api-reference/authentication), but you could replace this with an ML model run locally.
@@ -126,8 +128,6 @@ Let's go over an example: creating an image generation UI around [DALL·E](https
126
128
 
127
129
  Here is the complete code to create this. This is all done in one Python file!
128
130
 
129
-
130
-
131
131
  ```python
132
132
  import reflex as rx
133
133
  import openai
@@ -167,7 +167,7 @@ def index():
167
167
  width="25em",
168
168
  ),
169
169
  rx.button(
170
- "Generate Image",
170
+ "Generate Image",
171
171
  on_click=State.get_image,
172
172
  width="25em",
173
173
  loading=State.processing
@@ -187,17 +187,12 @@ app = rx.App()
187
187
  app.add_page(index, title="Reflex:DALL-E")
188
188
  ```
189
189
 
190
-
191
-
192
-
193
-
194
190
  ## Let's break this down.
195
191
 
196
192
  <div align="center">
197
193
  <img src="docs/images/dalle_colored_code_example.png" alt="Explaining the differences between backend and frontend parts of the DALL-E app." width="900" />
198
194
  </div>
199
195
 
200
-
201
196
  ### **Reflex UI**
202
197
 
203
198
  Let's start with the UI.
@@ -275,11 +270,10 @@ You can create a multi-page app by adding more pages.
275
270
 
276
271
  <div align="center">
277
272
 
278
- 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Templates](https://reflex.dev/templates/) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start) &nbsp;
273
+ 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Templates](https://reflex.dev/templates/) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start) &nbsp;
279
274
 
280
275
  </div>
281
276
 
282
-
283
277
  ## ✅ Status
284
278
 
285
279
  Reflex launched in December 2022 with the name Pynecone.
@@ -292,14 +286,14 @@ Reflex has new releases and features coming every other week! Make sure to :star
292
286
 
293
287
  We welcome contributions of any size! Below are some good ways to get started in the Reflex community.
294
288
 
295
- - **Join Our Discord**: Our [Discord](https://discord.gg/T5WSbC2YtQ) is the best place to get help on your Reflex project and to discuss how you can contribute.
296
- - **GitHub Discussions**: A great way to talk about features you want added or things that are confusing/need clarification.
297
- - **GitHub Issues**: [Issues](https://github.com/reflex-dev/reflex/issues) are an excellent way to report bugs. Additionally, you can try and solve an existing issue and submit a PR.
289
+ - **Join Our Discord**: Our [Discord](https://discord.gg/T5WSbC2YtQ) is the best place to get help on your Reflex project and to discuss how you can contribute.
290
+ - **GitHub Discussions**: A great way to talk about features you want added or things that are confusing/need clarification.
291
+ - **GitHub Issues**: [Issues](https://github.com/reflex-dev/reflex/issues) are an excellent way to report bugs. Additionally, you can try and solve an existing issue and submit a PR.
298
292
 
299
293
  We are actively looking for contributors, no matter your skill level or experience. To contribute check out [CONTRIBUTING.md](https://github.com/reflex-dev/reflex/blob/main/CONTRIBUTING.md)
300
294
 
301
-
302
295
  ## All Thanks To Our Contributors:
296
+
303
297
  <a href="https://github.com/reflex-dev/reflex/graphs/contributors">
304
298
  <img src="https://contrib.rocks/image?repo=reflex-dev/reflex" />
305
299
  </a>
@@ -307,4 +301,3 @@ We are actively looking for contributors, no matter your skill level or experien
307
301
  ## License
308
302
 
309
303
  Reflex is open-source and licensed under the [Apache License 2.0](LICENSE).
310
-
@@ -1,4 +1,3 @@
1
-
2
1
  <div align="center">
3
2
  <img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_dark.svg#gh-light-mode-only" alt="Reflex Logo" width="300px">
4
3
  <img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_light.svg#gh-dark-mode-only" alt="Reflex Logo" width="300px">
@@ -6,10 +5,12 @@
6
5
  <hr>
7
6
 
8
7
  ### **✨ Performant, customizable web apps in pure Python. Deploy in seconds. ✨**
8
+
9
9
  [![PyPI version](https://badge.fury.io/py/reflex.svg)](https://badge.fury.io/py/reflex)
10
10
  ![versions](https://img.shields.io/pypi/pyversions/reflex.svg)
11
11
  [![Documentation](https://img.shields.io/badge/Documentation%20-Introduction%20-%20%23007ec6)](https://reflex.dev/docs/getting-started/introduction)
12
12
  [![Discord](https://img.shields.io/discord/1029853095527727165?color=%237289da&label=Discord)](https://discord.gg/T5WSbC2YtQ)
13
+
13
14
  </div>
14
15
 
15
16
  ---
@@ -23,9 +24,10 @@
23
24
  Reflex is a library to build full-stack web apps in pure Python.
24
25
 
25
26
  Key features:
26
- * **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
27
- * **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
28
- * **Deploy Instantly** - After building, deploy your app with a [single command](https://reflex.dev/docs/hosting/deploy-quick-start/) or host it on your own server.
27
+
28
+ - **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
29
+ - **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
30
+ - **Deploy Instantly** - After building, deploy your app with a [single command](https://reflex.dev/docs/hosting/deploy-quick-start/) or host it on your own server.
29
31
 
30
32
  See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architecture/#the-reflex-architecture) to learn how Reflex works under the hood.
31
33
 
@@ -49,7 +51,7 @@ cd my_app_name
49
51
  reflex init
50
52
  ```
51
53
 
52
- This command initializes a template app in your new directory.
54
+ This command initializes a template app in your new directory.
53
55
 
54
56
  You can run this app in development mode:
55
57
 
@@ -61,7 +63,6 @@ You should see your app running at http://localhost:3000.
61
63
 
62
64
  Now you can modify the source code in `my_app_name/my_app_name.py`. Reflex has fast refreshes so you can see your changes instantly when you save your code.
63
65
 
64
-
65
66
  ## 🫧 Example App
66
67
 
67
68
  Let's go over an example: creating an image generation UI around [DALL·E](https://platform.openai.com/docs/guides/images/image-generation?context=node). For simplicity, we just call the [OpenAI API](https://platform.openai.com/docs/api-reference/authentication), but you could replace this with an ML model run locally.
@@ -76,8 +77,6 @@ Let's go over an example: creating an image generation UI around [DALL·E](https
76
77
 
77
78
  Here is the complete code to create this. This is all done in one Python file!
78
79
 
79
-
80
-
81
80
  ```python
82
81
  import reflex as rx
83
82
  import openai
@@ -117,7 +116,7 @@ def index():
117
116
  width="25em",
118
117
  ),
119
118
  rx.button(
120
- "Generate Image",
119
+ "Generate Image",
121
120
  on_click=State.get_image,
122
121
  width="25em",
123
122
  loading=State.processing
@@ -137,17 +136,12 @@ app = rx.App()
137
136
  app.add_page(index, title="Reflex:DALL-E")
138
137
  ```
139
138
 
140
-
141
-
142
-
143
-
144
139
  ## Let's break this down.
145
140
 
146
141
  <div align="center">
147
142
  <img src="docs/images/dalle_colored_code_example.png" alt="Explaining the differences between backend and frontend parts of the DALL-E app." width="900" />
148
143
  </div>
149
144
 
150
-
151
145
  ### **Reflex UI**
152
146
 
153
147
  Let's start with the UI.
@@ -225,11 +219,10 @@ You can create a multi-page app by adding more pages.
225
219
 
226
220
  <div align="center">
227
221
 
228
- 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Templates](https://reflex.dev/templates/) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start) &nbsp;
222
+ 📑 [Docs](https://reflex.dev/docs/getting-started/introduction) &nbsp; | &nbsp; 🗞️ [Blog](https://reflex.dev/blog) &nbsp; | &nbsp; 📱 [Component Library](https://reflex.dev/docs/library) &nbsp; | &nbsp; 🖼️ [Templates](https://reflex.dev/templates/) &nbsp; | &nbsp; 🛸 [Deployment](https://reflex.dev/docs/hosting/deploy-quick-start) &nbsp;
229
223
 
230
224
  </div>
231
225
 
232
-
233
226
  ## ✅ Status
234
227
 
235
228
  Reflex launched in December 2022 with the name Pynecone.
@@ -242,14 +235,14 @@ Reflex has new releases and features coming every other week! Make sure to :star
242
235
 
243
236
  We welcome contributions of any size! Below are some good ways to get started in the Reflex community.
244
237
 
245
- - **Join Our Discord**: Our [Discord](https://discord.gg/T5WSbC2YtQ) is the best place to get help on your Reflex project and to discuss how you can contribute.
246
- - **GitHub Discussions**: A great way to talk about features you want added or things that are confusing/need clarification.
247
- - **GitHub Issues**: [Issues](https://github.com/reflex-dev/reflex/issues) are an excellent way to report bugs. Additionally, you can try and solve an existing issue and submit a PR.
238
+ - **Join Our Discord**: Our [Discord](https://discord.gg/T5WSbC2YtQ) is the best place to get help on your Reflex project and to discuss how you can contribute.
239
+ - **GitHub Discussions**: A great way to talk about features you want added or things that are confusing/need clarification.
240
+ - **GitHub Issues**: [Issues](https://github.com/reflex-dev/reflex/issues) are an excellent way to report bugs. Additionally, you can try and solve an existing issue and submit a PR.
248
241
 
249
242
  We are actively looking for contributors, no matter your skill level or experience. To contribute check out [CONTRIBUTING.md](https://github.com/reflex-dev/reflex/blob/main/CONTRIBUTING.md)
250
243
 
251
-
252
244
  ## All Thanks To Our Contributors:
245
+
253
246
  <a href="https://github.com/reflex-dev/reflex/graphs/contributors">
254
247
  <img src="https://contrib.rocks/image?repo=reflex-dev/reflex" />
255
248
  </a>
@@ -0,0 +1,164 @@
1
+ [project]
2
+ name = "reflex"
3
+ version = "0.7.3"
4
+ description = "Web apps in pure Python."
5
+ license = { text = "Apache-2.0" }
6
+ authors = [
7
+ { name = "Nikhil Rao", email = "nikhil@reflex.dev" },
8
+ { name = "Alek Petuskey", email = "alek@reflex.dev" },
9
+ { name = "Masen Furer", email = "masen@reflex.dev" },
10
+ { name = "Elijah Ahianyo", email = "elijahahianyo@gmail.com" },
11
+ { name = "Thomas Brandeho", email = "thomas@reflex.dev" },
12
+ { name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" },
13
+ ]
14
+ maintainers = [
15
+ { name = "Masen Furer", email = "masen@reflex.dev" },
16
+ { name = "Thomas Brandeho", email = "thomas@reflex.dev" },
17
+ { name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" },
18
+ ]
19
+ readme = "README.md"
20
+ keywords = ["web", "framework"]
21
+ requires-python = ">=3.10,<4.0"
22
+ dependencies = [
23
+ "alembic >=1.11.1,<2.0",
24
+ "build >=1.0.3,<2.0",
25
+ "charset-normalizer >=3.3.2,<4.0",
26
+ "distro >=1.8.0,<2.0; platform_system == 'Linux'",
27
+ "fastapi >=0.96.0,!=0.111.0,!=0.111.1",
28
+ "gunicorn >=20.1.0,<24.0",
29
+ "httpx >=0.25.1,<1.0",
30
+ "jinja2 >=3.1.2,<4.0",
31
+ "lazy_loader >=0.4",
32
+ "packaging >=23.1,<25.0",
33
+ "platformdirs >=3.10.0,<5.0",
34
+ "psutil >=5.9.4,<8.0",
35
+ "pydantic >=1.10.21,<3.0",
36
+ "python-engineio !=4.6.0",
37
+ "python-multipart >=0.0.5,<0.1",
38
+ "python-socketio >=5.7.0,<6.0",
39
+ "redis >=4.3.5,<6.0",
40
+ "reflex-hosting-cli >=0.1.29",
41
+ "rich >=13.0.0,<14.0",
42
+ "setuptools >=75.0",
43
+ "starlette-admin >=0.11.0,<1.0",
44
+ "sqlmodel >=0.0.14,<0.1",
45
+ "tomlkit >=0.12.4,<1.0",
46
+ "twine >=4.0.0,<7.0",
47
+ "typer >=0.15.1,<1.0",
48
+ "typing_extensions >=4.6.0",
49
+ "uvicorn >=0.20.0",
50
+ "wheel >=0.42.0,<1.0",
51
+ "wrapt >=1.17.0,<2.0",
52
+ ]
53
+ classifiers = [
54
+ "Development Status :: 4 - Beta",
55
+ "License :: OSI Approved :: Apache Software License",
56
+ "Programming Language :: Python :: 3",
57
+ "Programming Language :: Python :: 3.10",
58
+ "Programming Language :: Python :: 3.11",
59
+ "Programming Language :: Python :: 3.12",
60
+ "Programming Language :: Python :: 3.13",
61
+ ]
62
+
63
+
64
+ [project.urls]
65
+ homepage = "https://reflex.dev"
66
+ repository = "https://github.com/reflex-dev/reflex"
67
+ documentation = "https://reflex.dev/docs/getting-started/introduction"
68
+
69
+ [project.scripts]
70
+ reflex = "reflex.reflex:cli"
71
+
72
+ [build-system]
73
+ requires = ["hatchling"]
74
+ build-backend = "hatchling.build"
75
+
76
+ [tool.hatch.build]
77
+ include = ["reflex"]
78
+
79
+ [tool.pyright]
80
+ reportIncompatibleMethodOverride = false
81
+
82
+ [tool.ruff]
83
+ target-version = "py310"
84
+ output-format = "concise"
85
+ lint.isort.split-on-trailing-comma = false
86
+ lint.select = [
87
+ "ANN001",
88
+ "B",
89
+ "C4",
90
+ "D",
91
+ "E",
92
+ "ERA",
93
+ "F",
94
+ "FURB",
95
+ "I",
96
+ "N",
97
+ "PERF",
98
+ "PGH",
99
+ "PTH",
100
+ "RUF",
101
+ "SIM",
102
+ "T",
103
+ "TRY",
104
+ "W",
105
+ ]
106
+ lint.ignore = [
107
+ "B008",
108
+ "D205",
109
+ "E501",
110
+ "F403",
111
+ "SIM115",
112
+ "RUF006",
113
+ "RUF008",
114
+ "RUF012",
115
+ "TRY0",
116
+ ]
117
+ lint.pydocstyle.convention = "google"
118
+
119
+ [tool.ruff.lint.per-file-ignores]
120
+ "__init__.py" = ["F401"]
121
+ "tests/*.py" = ["ANN001", "D100", "D103", "D104", "B018", "PERF", "T", "N"]
122
+ "benchmarks/*.py" = ["ANN001", "D100", "D103", "D104", "B018", "PERF", "T", "N"]
123
+ "reflex/.templates/*.py" = ["D100", "D103", "D104"]
124
+ "*.pyi" = ["D301", "D415", "D417", "D418", "E742", "N", "PGH"]
125
+ "pyi_generator.py" = ["N802"]
126
+ "reflex/constants/*.py" = ["N"]
127
+ "*/blank.py" = ["I001"]
128
+
129
+ [tool.pytest.ini_options]
130
+ filterwarnings = "ignore:fields may not start with an underscore:RuntimeWarning"
131
+ asyncio_default_fixture_loop_scope = "function"
132
+ asyncio_mode = "auto"
133
+
134
+ [tool.codespell]
135
+ skip = "docs/*,*.html,examples/*, *.pyi, poetry.lock, uv.lock"
136
+ ignore-words-list = "te, TreeE"
137
+
138
+ [dependency-groups]
139
+ dev = [
140
+ "asynctest >=0.13.0,<1.0",
141
+ "darglint >=1.8.1,<2.0",
142
+ "dill >=0.3.8",
143
+ "granian[reload] >= 2.0.0",
144
+ "numpy >=2.2.3,<3.0",
145
+ "pandas >=2.1.1,<3.0",
146
+ "pillow >=10.0.0,<12.0",
147
+ "playwright >=1.46.0",
148
+ "plotly >=5.13.0,<6.0",
149
+ "pre-commit >=4.1.0,<5.0",
150
+ "psycopg[binary] >=3.2.6,<4.0",
151
+ "pyright >=1.1.396,<1.2",
152
+ "pytest >=7.1.2,<9.0",
153
+ "pytest-asyncio >=0.24.0",
154
+ "pytest-benchmark >=4.0.0,<6.0",
155
+ "pytest-codspeed >=3.1.2,<4.0.0",
156
+ "pytest-cov >=4.0.0,<7.0",
157
+ "pytest-mock >=3.10.0,<4.0",
158
+ "pytest-playwright >=0.5.1",
159
+ "pytest-retry >=1.7.0,<2.0",
160
+ "pytest-split >=0.10.0,<1.0",
161
+ "ruff ==0.9.10",
162
+ "selenium >=4.11.0,<5.0",
163
+ "toml >=0.10.2,<1.0",
164
+ ]
@@ -1,11 +1,14 @@
1
1
  {% extends "web/pages/base_page.js.jinja2" %}
2
2
  {% from "web/pages/macros.js.jinja2" import renderHooks %}
3
- {% block export %}
4
- {% for component in components %}
5
3
 
6
- {% for custom_code in component.custom_code %}
4
+ {% block declaration %}
5
+ {% for custom_code in custom_codes %}
7
6
  {{custom_code}}
8
7
  {% endfor %}
8
+ {% endblock %}
9
+
10
+ {% block export %}
11
+ {% for component in components %}
9
12
 
10
13
  export const {{component.name}} = memo(({ {{-component.props|join(", ")-}} }) => {
11
14
  {{ renderHooks(component.hooks) }}
@@ -11,7 +11,7 @@ export default function RadixThemesColorModeProvider({ children }) {
11
11
  const { theme, resolvedTheme, setTheme } = useTheme();
12
12
  const [rawColorMode, setRawColorMode] = useState(defaultColorMode);
13
13
  const [resolvedColorMode, setResolvedColorMode] = useState(
14
- defaultColorMode === "dark" ? "dark" : "light"
14
+ defaultColorMode === "dark" ? "dark" : "light",
15
15
  );
16
16
 
17
17
  useEffect(() => {
@@ -0,0 +1,39 @@
1
+ import { useEffect, useState } from "react";
2
+ import { codeToHtml } from "shiki";
3
+
4
+ /**
5
+ * Code component that uses Shiki to convert code to HTML and render it.
6
+ *
7
+ * @param code - The code to be highlighted.
8
+ * @param theme - The theme to be used for highlighting.
9
+ * @param language - The language of the code.
10
+ * @param transformers - The transformers to be applied to the code.
11
+ * @param decorations - The decorations to be applied to the code.
12
+ * @param divProps - Additional properties to be passed to the div element.
13
+ * @returns The rendered code block.
14
+ */
15
+ export function Code({
16
+ code,
17
+ theme,
18
+ language,
19
+ transformers,
20
+ decorations,
21
+ ...divProps
22
+ }) {
23
+ const [codeResult, setCodeResult] = useState("");
24
+ useEffect(() => {
25
+ async function fetchCode() {
26
+ const result = await codeToHtml(code, {
27
+ lang: language,
28
+ theme,
29
+ transformers,
30
+ decorations,
31
+ });
32
+ setCodeResult(result);
33
+ }
34
+ fetchCode();
35
+ }, [code, language, theme, transformers, decorations]);
36
+ return (
37
+ <div dangerouslySetInnerHTML={{ __html: codeResult }} {...divProps}></div>
38
+ );
39
+ }
@@ -4,4 +4,4 @@ module.exports = {
4
4
  tailwindcss: {},
5
5
  autoprefixer: {},
6
6
  },
7
- }
7
+ };
@@ -10,32 +10,34 @@ import { useRouter } from "next/router";
10
10
  * @returns {boolean} routeNotFound - true if the current route is an actual 404
11
11
  */
12
12
  export const useClientSideRouting = () => {
13
- const [routeNotFound, setRouteNotFound] = useState(false)
14
- const didRedirect = useRef(false)
15
- const router = useRouter()
13
+ const [routeNotFound, setRouteNotFound] = useState(false);
14
+ const didRedirect = useRef(false);
15
+ const router = useRouter();
16
16
  useEffect(() => {
17
17
  if (
18
18
  router.isReady &&
19
- !didRedirect.current // have not tried redirecting yet
19
+ !didRedirect.current // have not tried redirecting yet
20
20
  ) {
21
- didRedirect.current = true // never redirect twice to avoid "Hard Navigate" error
21
+ didRedirect.current = true; // never redirect twice to avoid "Hard Navigate" error
22
22
  // attempt to redirect to the route in the browser address bar once
23
- router.replace({
23
+ router
24
+ .replace({
24
25
  pathname: window.location.pathname,
25
26
  query: window.location.search.slice(1),
26
- }).then(()=>{
27
+ })
28
+ .then(() => {
27
29
  // Check if the current route is /404
28
- if (router.pathname === '/404') {
29
- setRouteNotFound(true); // Mark as an actual 404
30
- }
31
- })
32
- .catch((e) => {
33
- setRouteNotFound(true) // navigation failed, so this is a real 404
34
- })
30
+ if (router.pathname === "/404") {
31
+ setRouteNotFound(true); // Mark as an actual 404
32
+ }
33
+ })
34
+ .catch((e) => {
35
+ setRouteNotFound(true); // navigation failed, so this is a real 404
36
+ });
35
37
  }
36
38
  }, [router.isReady]);
37
39
 
38
40
  // Return the reactive bool, to avoid flashing 404 page until we know for sure
39
41
  // the route is not found.
40
- return routeNotFound
41
- }
42
+ return routeNotFound;
43
+ };
@@ -48,7 +48,7 @@ export function formatCell(value, column) {
48
48
  };
49
49
  default:
50
50
  console.log(
51
- "Warning: column.type is undefined for column.title=" + column.title
51
+ "Warning: column.type is undefined for column.title=" + column.title,
52
52
  );
53
53
  return {
54
54
  kind: GridCellKind.Text,